# US 11,115,269 B1 · System and method for updating an application for a population of computers

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,115,269 B1
- Document ID: US11115269B1
- Status: Granted
- Kind: B1
- Application number: 16/949,451
- Filed: 2020-10-29
- Granted: 2021-09-07
- Earliest claimed: 2020-10-20
- Assignees: Metactix LLC
- Applicants: Metactix LLC
- Inventors: Phil Thompson; Michael Theis; Justin Kogge; David Sethi; Neil Sethi
- Web page: https://patentgrep.com/patent/US11115269B1

## CPC

- H04L 41/0813: characterised by the conditions triggering a change of settings
- H04L 41/082: the condition being updates or upgrades of network functionality
- H04L 67/303: Terminal profiles
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system and method for managing a population of devices and in particular, software updates and version control of applications across the population includes permitting a first device to receive an update from a publisher and generating an update manifest that is propagated to other devices in the population. Applications within a population of devices are selectively disabled and enabled to prevent multiple update versions of the same application across the population.

## Claims

### Claim 1

A method of updating an application for a population of devices using a centralized controller, the controller performing steps comprising:
receiving, at the controller, a first notice that an update is pending for an application from a first device of a population of devices, wherein the population of devices includes devices associated with a game center;
instructing each device of the population of devices to disable the application;
permitting the update for the application to proceed on the first device, wherein the update is received by the first device from a publisher separate from the controller;
receiving, at the controller, a second notice that the update is complete for the application from the first device;
after receiving the second notice, instructing the first device to enable the application;
instructing the first device to publish the update for exchange with other devices of the population of devices, such that the other devices of the population acquire the update; and
sending an instruction to re-enable the application for each device of the population of devices after receiving notification that the update is complete for said device.

### Claim 2 (depends on 1)

The method of claim 1, wherein the population of devices is a subset of devices associated with the game center.

### Claim 3 (depends on 1)

The method of claim 1, wherein each of the devices of the population has a profile accessible by the controller, wherein the profile includes an identification of applications used by the device.

### Claim 4 (depends on 3)

The method of claim 3, wherein the population of devices includes those devices for which the profile associated with the device includes an identification of the application for which the update is pending.

### Claim 5 (depends on 1)

The method of claim 1, wherein the step of instructing each device of the population of devices to disable the application further includes sending an instruction to each device that causes each device to disable the application from operating on the device.

### Claim 6 (depends on 1)

The method of claim 1, wherein the step of permitting the update for the application to proceed on the first device further includes instructing the first device to communicate with the publisher of the application to receive the update from the publisher.

### Claim 7 (depends on 6)

The method of claim 6, wherein upon receipt of the update from the publisher, the first device installs the update for the application.

### Claim 8 (depends on 3)

The method of claim 3 further comprising:
after permitting the update for the application to proceed on the first device, updating the profile of the first device to reflect the update of the application.

### Claim 9 (depends on 1)

The method of claim 1, wherein the controller and the population of devices are in separate locations.

### Claim 10 (depends on 1)

The method of claim 1, wherein the devices exchange the update via a peer-to-peer exchange.

### Claim 11 (depends on 1)

The method of claim 1 further comprising: for each of the other devices,
in response to receiving, at the controller, a notice that the update is complete for the application from such device, instructing such device to publish the update for peer-to-peer exchange with the other devices.

### Claim 12 (depends on 11)

The method of claim 11, further comprising: after receiving the notice that the update is complete for the application from such device, updating a profile of such device to reflect the update of the application.

### Claim 13 (depends on 1)

The method of claim 1 wherein, the step of instructing the first device to enable the application further includes instructing the first device to publish an update manifest generated by the first device based on result of the update applied to the application, wherein the update manifest comprises files and instructions for modifying the application to conform with the update.

### Claim 14 (depends on 13)

The method of claim 13, wherein the update manifest is created by a comparison of a directory listing of the application prior to the update with the directory listing of the application after the update.

### Claim 15 (depends on 1)

The method of claim 1, wherein the first notice is received by the controller following an update required notification received by the application in response to a user attempting to invoke the application on the first device.

### Claim 16 (depends on 1)

The method of claim 1 further comprising: sending an instruction to the first device to cause the application to request an update from the publisher when the first device is in an idle state.

### Claim 17 (depends on 1)

The method of claim 1, wherein the first notice is received by the controller after the first device contacted the publisher to update an application during an idle state of the first device.

### Claim 18

A system for updating an application for a population of devices, the system comprising a centralized controller having at least one memory to store instructions, and at least one processor, communicatively coupled to the at least one memory, that executes or facilitates execution of the instructions, wherein the instructions program the controller to:
receive, at the controller, a first notice that an update is pending for an application from a first device of a population of devices, wherein the population of devices includes devices associated with a game center;
instruct each device of the population of devices to disable the application;
permit the update for the application to proceed on the first device, wherein the update is received by the first device from a publisher separate from the controller;
receive, at the controller, a second notice that the update is complete for the application from the first device;
after receiving the second notice, instruct the first device to enable the application;
instruct the first device to publish the update for exchange with the other devices of the population of devices, such that the other devices of the population acquire the update; and
send an instruction to re-enable the application for each device of the population of devices after receiving notification that the update is complete for said device.

### Claim 19 (depends on 18)

The system according to claim 18 further comprising a client configured to be installed on each of the devices of the population, wherein the client is configured to generate an update manifest including comprises files and instructions for modifying the application to conform with the update.

### Claim 20 (depends on 19)

The system according to claim 19, wherein the client is further configured to distribute the update manifest to other devices of the population via a peer-to-peer exchange.
