IP Library Granted Patent US 9,647,897
Granted Patent B2
US 9,647,897 · App. 14/464,572 · Granted May 9, 2017

Dynamic grouping of managed devices

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 9,647,897
App. No.
14/464,572
Granted
May 9, 2017
Kind
B2
Abstract

A particular method includes generating, at a server configured to access inventory data associated with one or more managed devices, a graphical user interface (GUI) that is operable to define grouping criteria for one or more dynamic groups of managed devices. The method also includes receiving, at the server via the GUI, first grouping criteria and data identifying an action to be performed with respect to managed devices that satisfy the first grouping criteria. The first grouping criteria is based on at least second grouping criteria and a logical operator. The method further includes determining, at the server based on the inventory data, a group of managed devices that satisfy the first grouping criteria. The method includes initiating, by the server, transmission of a push notification regarding the action to each managed device in the group of managed devices.

Claims (61)

1. A method comprising:

generating, at a server, a graphical user interface (GUI) to define grouping criteria for one or more dynamic groups of managed devices;

receiving, at the server via the GUI, first grouping criteria and a first group identifier, wherein the first grouping criteria is used by the server to determine a first set of managed devices to include in a first dynamic group having the first group identifier;

after receiving the first grouping criteria at the server, receiving second grouping criteria and a second group identifier at the server via the GUI, wherein the second grouping criteria is used by the server to determine a second set of managed devices to include in a second dynamic group having the second group identifier, wherein the second grouping criteria includes:

a first criterion including the first group identifier; and

a second criterion indicating that inclusion of a particular managed device in the second dynamic group is conditioned on the particular managed device being included in the first dynamic group and satisfying the second criterion;

receiving, at the server via the GUI, a selection of an action to be queued with respect to managed devices of the second dynamic group;

in response to receiving the selection:

determining the second set of managed devices based on the second grouping criteria;

initiating, by the server, transmission of a push notification regarding the action to each managed device in the second set of managed devices, wherein the push notification is configured to initiate a check-in event that causes each managed device in the second set of managed devices to send a corresponding check-in request to the server; and

in response to receiving a particular check-in request from the particular managed device of the second dynamic group, sending a command to the particular managed device to perform the action; and

in response to detecting a change in the first set, automatically updating the second set of managed devices based on the second grouping criteria.

2. The method of claim 1 , wherein the first set includes a managed computer, a managed mobile device, or a combination thereof.

3. The method of claim 1 , wherein the second grouping criteria further includes at least one criterion that is distinct from the first group identifier.

4. The method of claim 1 , wherein the GUI includes a count of active groups and includes an option to clone grouping criteria, wherein selection of the option with respect to the first grouping criteria automatically generates third grouping criteria that is identical to the first grouping criteria.

5. The method of claim 1 , wherein updating the second set includes adding or removing a managed device from the second set of managed devices to generate an updated second set of managed devices.

6. The method of claim 5 , further comprising initiating transmission of a second push notification associated with the second dynamic group to each managed device in the updated second set.

7. The method of claim 1 , wherein the action comprises installing an application at each of the managed devices of the second dynamic group, adjusting a configuration setting at each of the managed devices of the second dynamic group, providing content to each of the managed devices of the second dynamic group, sending a message to each of the managed devices of the second dynamic group, or any combination thereof.

8. The method of claim 1 , further comprising storing, at the server, data identifying the managed devices included in the second dynamic group.

9. The method of claim 8 , further comprising:

receiving updated inventory information from the particular managed device;

updating inventory data associated with the particular managed device based on the updated inventory information; and

when the updated inventory information results in addition of the particular managed device to the second dynamic group or removal of the particular managed device from the second dynamic group, updating the data.

10. The method of claim 1 , wherein the second grouping criteria includes at least one logical operator comprising an open parenthesis operator, a close parenthesis operator, or a combination thereof.

11. The method of claim 1 , wherein the second grouping criteria includes at least one logical operator comprising a HAS operator, a DOES NOT HAVE operator, a MEMBER OF operator, a NOT MEMBER OF operator, or any combination thereof.

12. The method of claim 1 , further comprising:

receiving, at the server via the GUI, a delete command identifying the first dynamic group; and

in response to the delete command and based on the second grouping criteria including the first group identifier, displaying a prompt via the GUI, wherein the prompt requests user input regarding deletion of the second dynamic group or modification of the second grouping criteria.

13. The method of claim 1 , wherein the second criterion includes a threshold battery charge level.

14. The method of claim 1 , wherein the second criterion indicates that membership in the second set is conditioned on a location of a managed device.

15. An apparatus comprising:

a processor; and

a memory configured to store instructions that, when executed by the processor, cause the processor to perform operations comprising:

generating, at a server, a graphical user interface (GUI) to define grouping criteria for one or more dynamic groups of managed devices;

identifying first grouping criteria and a first group identifier received via the GUI, wherein the first grouping criteria is used by the processor to determine a first set of managed devices to include in a first dynamic group having the first group identifier;

after receiving the first grouping criteria, receiving second grouping criteria and a second group identifier via the GUI, wherein the second grouping criteria is used by the processor to determine a second set of managed devices to include in a second dynamic group having the second group identifier, and wherein the second grouping criteria includes:

a first criterion including the first group identifier; and

a second criterion indicating that inclusion of a particular managed device in the second dynamic group is conditioned on the particular managed device being included in the first dynamic group and satisfying the second criterion;

identifying a selection, received via the GUI, of an action to be queued with respect to managed devices of the second dynamic group;

in response to receiving the selection:

determining the second set of managed devices based on the second grouping criteria;

initiating transmission of a push notification regarding the action to each managed device in the second set of managed devices wherein the lush notification is configured to initiate a check-in event that causes each managed device in the second set of managed devices to send a corresponding check-in request to the server; and

in response to receiving a particular check-in request from the particular managed device of the second dynamic group, initiating transmission of a command to the particular managed device to perform the action; and

in response to detecting a change in the first set, automatically updating the second set of managed devices based on the second grouping criteria.

16. The apparatus of claim 15 , wherein the memory is further configured to store inventory data.

17. A computer-readable storage device storing instructions that, when executed by a processor, cause the processor to perform operations comprising:

generating, at a server configured to access inventory data associated with one or more managed devices, a graphical user interface (GUI) to define grouping criteria for one or more dynamic groups of managed devices;

identifying, at the server, first grouping criteria and a first group identifier received via the GUI, wherein the first grouping criteria is used by the server to determine a first set of managed devices to include in a first dynamic group having the first group identifier;

after receiving the first grouping criteria at the server, receiving second grouping criteria and a second group identifier at the server via the GUI, wherein the second grouping criteria is used by the server to determine a second set of managed devices to include in a second dynamic group having the second group identifier, wherein the second grouping criteria includes:

a first criterion including the first group identifier; and

a second criterion indicating that that inclusion of a particular managed device in the second dynamic group is conditioned on the particular managed device being included in the first dynamic group and satisfying the second criterion;

identifying a selection, received via the GUI, of an action to be queued with respect to managed devices or users of the second dynamic group;

in response to receiving the selection:

determining the second set of managed devices based on the second grouping criteria;

initiating, by the server, transmission of a push notification regarding the action to each managed device in the second set of managed devices, wherein the push notification is configured to initiate a check-in event that causes each managed device in the second set of managed devices to send a corresponding check-in request to the server; and

in response to receiving a particular check-in request from the particular managed device of the second dynamic group, initiating transmission of a command to the articular managed device to perform the action; and

in response to detecting a change in the first set, automatically updating the second set of managed devices based on the second grouping criteria.

18. The computer-readable storage device of claim 17 , wherein the GUI identifies a subset of frequently used grouping criteria.

19. The computer-readable storage device of claim 17 , wherein the GUI includes:

an option to clone the first dynamic group by copying the first grouping criteria to a third dynamic group without reentry of the first grouping criteria for the third dynamic group; and

a count of active groups.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Mar 3, 2026
From: JAMF SOFTWARE, LLC
To: BLUE OWL CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 075025/0447 →
RELEASE OF SECURITY INTEREST Recorded Jan 30, 2026
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: JAMF SOFTWARE, LLC; WANDERA, INC.
Reel/Frame 073647/0447 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT R/F 053320/0496 Recorded May 3, 2024
From: JPMORGAN CHASE BANK, N.A.
To: JAMF SOFTWARE, LLC
Reel/Frame 067309/0366 →
SECURITY INTEREST Recorded May 3, 2024
From: JAMF SOFTWARE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 067304/0042 →
SECURITY INTEREST Recorded Jul 27, 2020
From: JAMF SOFTWARE, LLC
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 053320/0496 →
RELEASE OF SECURITY INTEREST Recorded Jul 27, 2020
From: GOLUB CAPITAL MARKETS LLC
To: JAMF SOFTWARE, LLC
Reel/Frame 053319/0689 →
PATENT SECURITY AGREEMENT Recorded Nov 14, 2017
From: JAMF SOFTWARE, LLC
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 044751/0193 →
CHANGE OF ADDRESS OF ASSIGNEE Recorded Mar 24, 2017
From: JAMF SOFTWARE, LLC
To: JAMF SOFTWARE, LLC
Reel/Frame 042084/0891 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2014
From: HALMSTAD, RICHARD ZACHARY; HENGELS, BRYAN CHRISTOPHER; ANDERSON, MATTHEW JOHN; YOHNK, RYAN BRENT
To: JAMF SOFTWARE, LLC
Reel/Frame 033576/0895 →