IP Library Granted Patent US 10,572,248
Granted Patent B2
US 10,572,248 · App. 14/824,979 · Granted Feb 25, 2020

Groups of endpoints and targeting of releases and packages to endpoints

Inventors: Spencer Leavitt George Quin (Kitchener, CA); Thomas Owen Parry (Cambridge, CA); Yuhui Liu (Waterloo, CA); Bradley Alfred Fach (Cambridge, CA)
Assignee: BLACKBERRY LIMITED
G06F8/71G06F8/60G06F8/61G06F8/654
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,572,248
App. No.
14/824,979
Granted
Feb 25, 2020
Kind
B2
Abstract

Data structures are stored in an endpoint data store. Each data structure represents an endpoint having one or more components, each component having one or more arbitrary properties. Multiple groups of endpoints are identified by name and defined by group criteria expressed in terms of the one or more arbitrary properties of the one or more components of the endpoints that are members of the group. For each group, the group criteria of the group is stored in a data store in association with the name of the group. Packages and releases may be targeted to endpoints in various manners.

Claims (34)

1. An endpoint management method comprising:

in a computing device:

storing data structures in an endpoint data store, each data structure representing an endpoint having one or more components, each component having one or more arbitrary properties, each component being an upgradeable entity that has at least one package installed or installable thereon;

defining multiple groups of endpoints, each group identified by its name and defined by its group criteria expressed in terms of the one or more arbitrary properties of the one or more components of the endpoints that are members of the group, wherein each arbitrary property is represented by a respective property tuple consisting of a key, a value, a source identifier, and a timestamp, wherein the source identifier identifies a source of the key and the value, and wherein the timestamp represents a time at which the property tuple was stored in the computing device;

for each group, storing in a group data store group data comprising the group criteria of the group in association with the name of the group; and

targeting a release of one or more packages to endpoints that belong to two or more of the multiple groups by defining a deployment for the release that identifies the two or more of the multiple groups by name and that assigns priorities to the identified two or more of the multiple groups; and

in an endpoint that belongs to the two or more of the multiple groups:

installing a particular package of the release on a component of the endpoint, and

controlling functionality of the endpoint using the component on which the particular package is installed.

2. The endpoint management method as recited in claim 1 , the method further comprising:

associating the release with a filter expressed in terms of the one or more arbitrary properties of the one or more components of the endpoints that are targeted.

3. The endpoint management method as recited in claim 1 , wherein representations of the arbitrary properties within the data structures are aggregated from multiple sources.

4. The endpoint management method as recited in claim 1 , wherein the group criteria of one of the multiple groups includes existence of a particular property.

5. The endpoint management method as recited in claim 1 , wherein the group criteria of one of the multiple groups includes absence of a particular property.

6. The endpoint management method as recited in claim 1 , wherein the group criteria of one of the multiple groups includes a comparison of a particular property to a value.

7. The endpoint management method as recited in claim 1 , wherein the group criteria of one of the multiple groups includes endpoint membership in another group.

8. The endpoint management method as recited in claim 1 , wherein any packages installed on the components are represented in the data structures.

9. An endpoint management system comprising:

a computing device operable to:

store data structures in an endpoint data store, each data structure representing an endpoint having one or more components, each component having one or more arbitrary properties, each component being an upgradeable entity that has at least one package installed or installable thereon;

define multiple groups of endpoints, each group identified by its name and defined by its group criteria expressed in terms of the one or more arbitrary properties of the one or more components of the endpoints that are members of the group, wherein each arbitrary property is represented by a respective property tuple consisting of a key, a value, a source identifier, and a timestamp, wherein the source identifier identifies a source of the key and the value, and wherein the timestamp represents a time at which the property tuple was stored in the computing device;

for each group, store in a group data store group data comprising the group criteria of the group in association with the name of the group; and

target a release of one or more packages to endpoints that belong to two or more of the multiple groups by defining a deployment for the release that identifies the two or more of the multiple groups by name and that assigns priorities to the identified two or more of the multiple groups; and

an endpoint that belongs to the two or more of the multiple groups, the endpoint operable to:

install a particular package of the release on a component of the endpoint, and

control functionality of the endpoint using the component on which the particular package is installed.

10. The endpoint management system as recited in claim 9 , wherein the computing device is operable to:

associate the release with a filter expressed in terms of the one or more arbitrary properties of the one or more components of the endpoints that are targeted.

11. The endpoint management system as recited in claim 9 , wherein representations of the arbitrary properties within the data structures are aggregated from multiple sources.

12. The endpoint management system as recited in claim 9 , wherein the group criteria of one of the multiple groups includes existence of a particular property.

13. The endpoint management system as recited in claim 9 , wherein the group criteria of one of the multiple groups includes absence of a particular property.

14. The endpoint management system as recited in claim 9 , wherein the group criteria of one of the multiple groups includes a comparison of a particular property to a value.

15. The endpoint management system as recited in claim 9 , wherein the group criteria of one of the multiple groups includes endpoint membership in another group.

16. The endpoint management system as recited in claim 9 , wherein any packages installed on the components are represented in the data structures.

Assignments (3)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064271/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2016
From: FACH, BRADLEY ALFRED; PARRY, THOMAS OWEN; QUIN, SPENCER LEAVITT GEORGE; LIU, YUHUI
To: BLACKBERRY LIMITED
Reel/Frame 038834/0537 →
Continuity (1)
Related Publication 20170046150A1 · Feb 16, 2017