IP Library Granted Patent US 11,797,640
Granted Patent B2
US 11,797,640 · App. 16/567,994 · Granted Oct 24, 2023

System and method for automatic fleet partitioning

Inventors: Bret M. Anno (Mundelein, IL); Leo T. Lowy (Lake Villa, IL); Ryan E. Brock (Cary, IL)
Assignee: Zebra Technologies Corporation
G06F16/972G06F8/61G06F16/9035G06F16/90328G06F16/986G06F40/211H04L67/01
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 11,797,640
App. No.
16/567,994
Granted
Oct 24, 2023
Kind
B2
Abstract

A system for automatic fleet partitioning includes client devices and a device management server having tag definition and tag assignment repositories. The server receives and stores, in the tag definition repository, definitions with tag assignment criteria; and for each client device: obtains a client identifier and attribute set; for each tag assignment criterion satisfied by the attribute set, associates a corresponding tag name with the client identifier in the tag assignment repository; and for each tag assignment criterion not satisfied by the attribute set, disassociates the corresponding tag name with the client device identifier. The server receives a command to transmit control data to a subset of the client devices associated with a selected tag name; retrieves, from the tag assignment repository, the client identifiers associated with the selected tag name; and transmits the control data to the subset of the client devices.

Claims (67)

1. A system for automatic client device fleet partitioning, comprising:

a plurality of client devices;

a device management server connectable to the client devices and having a tag definition repository, a tag assignment repository and a processor configured to:

receive a plurality of tag definitions, each including a tag assignment criterion, for storage in the tag definition repository;

for each of the plurality of client devices, obtain a client identifier and a client attribute set for the respective client device and, for each client device:

(i) determine whether the client attribute set satisfies the tag assignment criterion of each tag definition;

(ii) for each tag assignment criterion satisfied by the client attribute set, associate a corresponding tag name with the client identifier in the tag assignment repository; and

(iii) for each tag assignment criterion not satisfied by the client attribute set, disassociate the corresponding tag name with the client device identifier in the tag assignment repository;

receive one or more commands to transmit control data to subsets of the client devices associated with selected tag names, wherein control data includes different actions to be completed by different ones of the subsets of the client devices and wherein the control data includes different software to be installed for the different ones of the subsets of client devices and different operational settings for the different ones of the subsets of client devices;

retrieve, from the tag assignment repository, one or more of the client identifiers associated with the selected tag name; and

transmit the control data to the different ones of the subsets of the client devices based on the one or more retrieved client identifiers associated with the different ones of the subsets.

2. The system of claim 1 , wherein the processor is further configured to generate the tag name, based on the client attribute set, according to a dynamic tag name definition in the tag definition.

3. The system of claim 1 , wherein the processor is configured to obtain the client attribute sets by transmitting requests to the client devices.

4. The system of claim 1 , wherein the processor is configured, in order to associate the corresponding tag name with the client device identifier in the tag assignment repository, to:

when the corresponding tag name is not currently associated with the client device identifier, insert the corresponding tag name in the tag assignment repository.

5. The system of claim 1 , wherein the processor is configured, in order to disassociate the corresponding tag name with the client device identifier in the tag assignment repository, to:

when the corresponding tag name is currently associated with the client device identifier, remove the corresponding tag name from the tag assignment repository.

6. The system of claim 1 , wherein the processor is further configured to:

receive updated tag definitions for storage in the tag definition repository; and

responsive to receiving the updated tag definitions, repeat (i) to (iii) for each client device.

7. The system of claim 1 , wherein the tag assignment criterion includes a statement defining a search pattern.

8. The system of claim 1 , wherein the processor is configured to receive the tag definitions via at least one of a tag definition creation interface, and a file containing the tag definitions according to a predetermined syntax.

9. A method of automatic client device fleet partitioning, comprising:

receiving a plurality of tag definitions, each including a tag assignment criterion, for storage in a tag definition repository of a device management server;

for each of the plurality of client devices, obtaining a client identifier and a client attribute set for the respective client device and, for each client device:

(i) determining whether the client attribute set satisfies the tag assignment criterion of each tag definition;

(ii) for each tag assignment criterion satisfied by the client attribute set, associating a corresponding tag name with the client identifier in a tag assignment repository of the device management server; and

(iii) for each tag assignment criterion not satisfied by the client attribute set, disassociating the corresponding tag name with the client device identifier in the tag assignment repository;

receiving one or more commands to transmit control data to subsets of the client devices associated with selected tag names, wherein control data includes different actions to be completed by different ones of the subsets of the client devices and wherein the control data includes different software to be installed for the different ones of the subsets of client devices and different operational settings for the different ones of the subsets of client devices;

retrieving, from the tag assignment repository, one or more of the client identifiers associated with the selected tag name; and

transmitting the control data to the different ones of the subsets of the client devices based on the one or more retrieved client identifiers associated with the different ones of the subsets.

10. The method of claim 9 , further comprising generating the tag name, based on the client attribute set, according to a dynamic tag name definition in the tag definition.

11. The method of claim 9 , further comprising obtaining the client attribute sets by transmitting requests to the client devices.

12. The method of claim 9 , further comprising associating the corresponding tag name with the client device identifier in the tag assignment repository by:

when the corresponding tag name is not currently associated with the client device identifier, inserting the corresponding tag name in the tag assignment repository.

13. The method of claim 9 , further comprising disassociating the corresponding tag name with the client device identifier in the tag assignment repository by:

when the corresponding tag name is currently associated with the client device identifier, removing the corresponding tag name from the tag assignment repository.

14. The method of claim 9 , further comprising:

receiving updated tag definitions for storage in the tag definition repository; and

responsive to receiving the updated tag definitions, repeating (i) to (iii) for each client device.

15. The method of claim 9 , wherein the tag assignment criterion includes a statement defining a search pattern.

16. The method of claim 9 , further comprising receiving the tag definitions via at least one of a tag definition creation interface, and a file containing the tag definitions according to a predetermined syntax.

17. A device management server, comprising:

a communications interface connectable to a plurality of client devices via a network;

a memory storing a tag definition repository and a tag assignment repository; and

a processor connected with the communications interface and the memory, the processor configured to:

receive a plurality of tag definitions, each including a tag assignment criterion, for storage in the tag definition repository;

for each of the plurality of client devices, obtain a client identifiers and a client attribute sets for the respective client device and, for each client device:

(i) determine whether the client attribute set satisfies the tag assignment criterion of each tag definition;

(ii) for each tag assignment criterion satisfied by the client attribute set, associate a corresponding tag name with the client identifier in the tag assignment repository; and

(iii) for each tag assignment criterion not satisfied by the client attribute set, disassociate the corresponding tag name with the client device identifier in the tag assignment repository;

receive one or more commands to transmit control data to subsets of the client devices associated with selected tag names, wherein control data includes different actions to be completed by different ones of the subsets of the client devices and wherein the control data includes different software to be installed for the different ones of the subsets of client devices and different operational settings for the different ones of the subsets of client devices;

retrieve, from the tag assignment repository, one or more of the client identifiers associated with the selected tag name; and

transmit the control data to the different ones of the subsets of the client devices based on the one or more retrieved client identifiers associated with the different ones of the subsets.

18. A system for automatic client device fleet partitioning, comprising:

a plurality of client devices; and

a device management server connectable to the client devices and having a processor configured to:

partition the plurality of client devices into different subsets according to client identifiers and client attributes received from the plurality of client devices; and

transmit first control data to the plurality of client devices in a selected first one of the subsets based on the client identifiers of the plurality of client devices included in the selected first one of the subsets,

wherein the plurality of client devices in the selected first one of the subsets are responsive to the first control data to execute a first operation specified by the first control data.

19. The system of claim 18 , where the processor is configured to:

transmit second control data to the plurality of client devices in a selected second one of the subsets based on the client identifiers of the plurality of client devices included in the selected second one of the subsets,

wherein the plurality of client devices in the selected second one of the subsets are responsive to the second control data to execute a second operation specified by the second control data, the second operation being different than the first operation.

20. The system of claim 19 , wherein the processor is configured to:

autonomously re-partition at least one of the plurality of client devices from the selected first one of the subsets to the second one of the subsets according to a change in the client attributes of the at least one of the plurality of client device; and

transmit the second control data to the at least one of the plurality of client devices based on the client identifier of the at least one of the plurality of client devices,

wherein the at least one of the plurality of client devices ceases the first operation and is responsive to the second control data to execute the second operation specified by the second control data.

Assignments (3)
RELEASE OF SECURITY INTEREST - 364 - DAY Recorded Mar 5, 2021
From: JPMORGAN CHASE BANK, N.A.
To: ZEBRA TECHNOLOGIES CORPORATION; LASER BAND, LLC; TEMPTIME CORPORATION
Reel/Frame 056036/0590 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2020
From: ANNO, BRET M.; LOWY, LEO T.; BROCK, RYAN E.
To: ZEBRA TECHNOLOGIES CORPORATION
Reel/Frame 054573/0566 →
SECURITY INTEREST Recorded Sep 1, 2020
From: ZEBRA TECHNOLOGIES CORPORATION; LASER BAND, LLC; TEMPTIME CORPORATION
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 053841/0212 →
Cited By (1)
US 12,554,479