IP Library Granted Patent US 10,503,448
Granted Patent B1
US 10,503,448 · App. 16/177,370 · Granted Dec 10, 2019

Printer software distribution system

Inventors: Ankur Chhabra (Pleasanton, CA); Oleksandr Osadchyy (Concord, CA)
Assignee: KYOCERA DOCUMENT SOLUTIONS INC.
G06F3/123G06F3/1203G06F3/1232G06F3/1288G06F8/63G06F16/951
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,503,448
App. No.
16/177,370
Granted
Dec 10, 2019
Kind
B1
Abstract

The present disclosure relates to a method of arranging a cluster of printers that are able to run a customized container image based on the requirements of the applications in the container and the characteristics of the printers in the network. The method includes receiving a container image of software configured to be executed on printers. The method also includes determining and receiving a response to a query for printer characteristics using the server. Additionally, the method includes determining image-eligible micro-services that are configured to execute on a set of selected image-eligible printers selected based on a comparison of the response information with the container-eligible characteristics. Moreover, the method includes determining that the container image is configured to execute image-eligible micro-services. The method further includes, sending the container image to the image-eligible printers and executing the printer management application on the image-eligible printers.

Claims (76)

1. A method, comprising:

receiving, at a server, a container image of software configured to be executed on one or more printers, wherein the software comprises one or more micro-services that make up a printer management application, and wherein the container image is associated with one or more container-eligible characteristics associated with executing the software;

determining a query for printer characteristics using the server, the printer characteristics comprising one or more characteristics related to printer functionality and one or more characteristics related to printer hardware and/or software configuration;

receiving, at the server, one or more responses to the query, the one or more responses comprising response information about the printer characteristics;

determining, at the server, one or more image-eligible micro-services that are configured to execute on a set of image-eligible printers selected based on a comparison of the response information with the container-eligible characteristics;

determining, at the server, that the container image is configured to execute one or more image-eligible micro-services based on the one or more image-eligible micro-services;

sending, from the server, the container image to the set of image-eligible printers; and

executing the printer management application of the container image on at least one image-eligible printer of the set of image-eligible printers.

2. The method of claim 1 , wherein executing the printer management application comprises:

determining whether a first image-eligible printer of the set of image-eligible printers is not idle; and

after determining that the first image-eligible printer is not idle, delaying execution of the printer management application by the first image-eligible printer until the first image-eligible printer becomes idle.

3. The method of claim 1 , wherein the one or more characteristics related to printer hardware and/or software configuration comprises one or more characteristics related to a printer firmware version, a printer software, and/or a printer operating system.

4. The method of claim 1 , wherein the one or more characteristics related to printer hardware and/or software configuration comprises one or more characteristics related to: a printer color printing capability, a scanning capability, a document box capability, a printer memory size, a printer finishing device, a printer touch screen and/or display, and/or a printer paper capacity.

5. The method of claim 1 , wherein the one or more characteristics related to printer functionality comprises one or more characteristics related to: a printing functionality, a scanning functionality, a display functionality, a data communication functionality, a maintenance functionality, and/or a data storage functionality characteristic.

6. The method of claim 1 , further comprising:

after sending the container image to the set of image-eligible printers, cooperatively performing a task on two or more of the set of image-eligible printers by executing a micro-service provided by the container image on each of the two or more of the set of image-eligible printers.

7. The method of claim 1 , further comprising:

running multiple instances of a micro-service within the container image on one or more image-eligible printers of the set of image-eligible printers.

8. The method of claim 1 , further comprising:

disabling multiple instances of a micro-service within the container image on one or more image-eligible printers of the set of image-eligible printers.

9. The method of claim 1 , wherein receiving the one or more responses to the query comprises:

sending the query for printer characteristics to a database storing information about the printer characteristics, and

after sending the query for printer characteristics from the server to the database, receiving the one or more responses to the query from the database.

10. The method of claim 1 , wherein sending the container image to the set of image-eligible printers comprises:

sending the container image to the set of image-eligible printers, wherein the container image comprises a container image run flag;

after sending the container image, determining whether the container image run flag is set at a particular image-eligible printer of the set of image-eligible printers; and

after determining that the container image run flag is set, executing the container image on the particular image-eligible printer.

11. The method of claim 1 , further comprising:

receiving, at the server, a request to execute a particular image-eligible micro-service of the one or more image-eligible micro-services;

selecting, by the server, a cluster of image-eligible printers to execute the particular image-eligible micro-service, the cluster selected from the set of image-eligible printers;

managing, by the server, communication related to the particular image-eligible micro-service on the cluster of image-eligible printers;

determining, by the server, execution of one or more instances of the particular image-eligible micro-service on the cluster of image-eligible printers by determining a number of instances of the one or more micro-services are executed on the cluster of image-eligible printers which image-eligible printers of the cluster execute the one or more instances of the particular image-eligible micro-service; and

releasing, by the server, the cluster of image-eligible printers.

12. The method of claim 11 , wherein the particular image-eligible micro-service comprises a firmware upgrade micro-service, and wherein the method further comprises:

cooperatively executing a firmware upgrade on the cluster of image-eligible printers using the firmware upgrade micro-service;

determining whether each image-eligible printer of the cluster of image-eligible printers has executed the firmware upgrade micro-service; and

after determining that each image-eligible printer of the cluster of image-eligible printers has executed the firmware upgrade micro-service, deleting the firmware upgrade micro-service from the cluster of image-eligible printers.

13. The method of claim 1 , wherein the method further comprises:

after sending the container image to a first image-eligible printer of the set of image-eligible printers, downloading a standalone micro-service to the first image-eligible printer, wherein the standalone micro-service is compatible with the container image,

integrating the standalone micro-service with the container image; and

communicating to the set of image-eligible printers that the standalone micro-service is available.

14. The method of claim 1 , wherein the method further comprises:

after sending the container image to a first image-eligible printer of the set of image-eligible printers, determining whether the first image-eligible printer hosting the container image exceeds a threshold level of resource usage;

after determining that the first image-eligible printer hosting the container image exceeds the threshold level of resource usage, determining a least-recently-used micro-service within the container image based on a usage time for each micro-service by the first image-eligible printer; and

deleting the least-recently-used micro-service from the printer management application.

15. The method of claim 1 , wherein the method further comprises:

after sending the container image to a first image-eligible printer of the set of image-eligible printers, determining whether the first image-eligible printer hosting the container image is running low on resources; and

after determining that the first image-eligible printer hosting the container image is running low on resources:

determining a least-used micro-service of the one or more image-eligible micro-services that has been least used, and

disabling the least-used micro-service of the printer management application, wherein disabling the least-used micro-service releases run time memory and other operating system resources used by the least-used micro-service.

16. A server, comprising:

one or more processors; and

one or more non-transitory computer-readable storage media configured to store computer-readable instructions that, when executed by the one or more processors, cause the server to perform tasks comprising:

receiving a container image of software configured to be executed on one or more printers, wherein the software comprises one or more micro-services that make up a printer management application, and wherein the container image is associated with one or more container-eligible characteristics associated with executing the software;

determining a query for printer characteristics, the printer characteristics comprising one or more characteristics related to printer functionality and one or more characteristics related to printer hardware and/or software configuration;

receiving one or more responses to the query, the one or more responses comprising response information about the printer characteristics;

determining one or more image-eligible micro-services that are configured to execute on a set of image-eligible printers selected based on a comparison of the response information with the container-eligible characteristics;

determining that the container image is configured to execute one or more image-eligible micro-services based on the one or more image-eligible micro-services;

sending the container image to the set of image-eligible printers; and

executing the printer management application of the container image on at least one image-eligible printer of the set of image-eligible printers.

17. The server of claim 16 , wherein the one or more characteristics related to printer hardware and/or software configuration comprises one or more characteristics related to a printer firmware version, a printer software version, and/or a printer operating system.

18. The server of claim 16 , wherein receiving the one or more responses to the query comprises:

sending the query for printer characteristics from the server to the set of image-eligible printers, and

after sending the query for printer characteristics from the server to the set of image-eligible printers, receiving the one or more responses to the query from the set of image-eligible printers.

19. The server of claim 16 , wherein sending the container image to the set of image-eligible printers comprises:

determining whether a container image run flag is set;

after determining that the container image run flag is set, enabling the container image for immediate execution after sending; and

sending the enabled container image to the set of image-eligible printers.

20. An article of manufacture comprising one or more non-transitory computer-readable storage media storing at least computer-readable instructions that, when executed by one or more processors of a server, cause the server to perform tasks comprising:

receiving a container image of software configured to be executed on one or more printers, wherein the software comprises one or more micro-services that make up a printer management application, and wherein the container image is associated with one or more container-eligible characteristics associated with executing the software;

determining a query for printer characteristics, the printer characteristics comprising one or more characteristics related to printer functionality and one or more characteristics related to printer hardware and/or software configuration;

receiving one or more responses to the query, the one or more responses comprising response information about the printer characteristics;

determining one or more image-eligible micro-services that are configured to execute on a set of image-eligible printers selected based on a comparison of the response information with the container-eligible characteristics;

determining that the container image is configured to execute one or more image-eligible micro-services based on the one or more image-eligible micro-services;

sending the container image to the set of image-eligible printers; and

initiating execution of the printer management application of the container image on at least one image-eligible printer of the set of image-eligible printers.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2018
From: CHHABRA, ANKUR; OSADCHYY, OLEKSANDR
To: KYOCERA DOCUMENT SOLUTIONS INC.
Reel/Frame 047375/0419 →
Cited By (1)
US 12,379,978