IP Library › Granted Patent US 8,266,260
Granted Patent B2
US 8,266,260 · App. 12/001,378 · Granted Sep 11, 2012

Method and system for updating the software of multiple network nodes

Assignee: Sharp Laboratories of America, Inc.
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 8,266,260
App. No.
12/001,378
Granted
Sep 11, 2012
Kind
B2
Abstract

A method and system for updating a group of network nodes, such as a group of MFPs, with replacement software in a manner that improves network performance and the predictability of a completion time for installation of the replacement software involves throttling distribution of a software update package to avoid resource oversubscription while time-bounding distribution so that installation of the software update on all of the network nodes can be completed by a certain time and, in some embodiments, further involves determining a start time for distribution of the software update package based at least in part on a scheduled installation time selected by a network administrator, which provides a high degree of confidence that installation of the software update across the entire group of network nodes will be completed around a scheduled time (e.g. during “off hours”) notwithstanding the staggered distribution of the software update package.

Claims (24)

1. A software update server, comprising:

a network interface;

a memory; and

a processor communicatively coupled with the network interface and the memory, wherein under control of the processor an effective network bandwidth is determined based at least in part on information received via the network interface, a maximum number of threads in each of at least one set of parallel threads over which a software update package stored in the memory will be distributed via the network interface is determined based at least in part on the effective network bandwidth, a distribution time required to distribute the software update package to a group of network nodes to be updated over sets of the parallel threads is determined based at least in part on a size of the software update package, a preconfigured amount of bandwidth allocated per thread, a number of network nodes to be updated and the maximum number of threads in a set, and a start time for distribution of the software update package to the group of network nodes over the sets of the parallel threads is determined based at least in part on a difference between a scheduled installation time and the required distribution time, and wherein the software update package is distributed via the network interface in accordance with the start time.

2. The server of claim 1 , wherein the maximum number of threads is further determined under control of the processor based at least in part on an amount of the effective network bandwidth allocated for software updates.

3. The server of claim 1 , wherein upon arrival of the start time and under control of the processor the software update package is distributed via the network interface to a first subgroup of network nodes within the group over a first set of parallel threads, wherein the first set of parallel threads has the determined maximum number of threads.

4. The server of claim 3 , wherein in response to event notifications received from the first subgroup of network nodes via the network interface and under control of the processor the software update package is distributed via the network interface to a second subgroup of network nodes within the group over a second set of parallel threads, wherein the second set of parallel threads has the determined maximum number of threads.

5. The server of claim 1 , wherein upon arrival of the scheduled installation time and under control of the processor installation commands are distributed via the network interface to at least a subgroup of network nodes within the group over parallel threads.

6. The server of claim 1 , wherein the network nodes are multifunction printers (MFPs).

7. The server of claim 1 , wherein the required distribution time is computed according to E=(F/T)*[Quotient(N/n)+1], where E is the required distribution time, F is the size of the software update package, T is the preconfigured amount of bandwidth allocated per thread, N is the number network nodes to be updated and n is the maximum number of threads in a set.

8. The server of claim 1 , wherein the start time is computed according to S=I−(E+K), were S is the start time, I is the scheduled installation time, E is the required distribution time and K is a time constant.

9. A method for updating a group of network nodes with replacement software, comprising the steps of:

automatically determining by a software update server an effective network bandwidth; and

automatically determining by the software update server a maximum number of threads in each of at least one set of parallel threads over which a software update package will be distributed based at least in part on the effective network bandwidth;

automatically determining by the software update server a distribution time required to distribute the software update package to a group of network nodes to be updated over sets of the parallel threads based at least in part on a size of the software update package, a preconfigured amount of bandwidth allocated per thread, a number of network nodes to be updated and the maximum number of threads in a set;

automatically determining by the software update server a start time for distribution of the software update package to the group of network nodes over the sets of the parallel threads based at least in part on a difference between a scheduled installation time and the required distribution time; and

distributing by the software update server the software update package in accordance with the start time.

10. The method of claim 9 , wherein the distributing step comprises distributing by the software update server the software update package to a first subgroup of network nodes within the group over a first set of parallel threads, wherein the first set of parallel threads has the determined maximum number of threads.

11. The method of claim 10 , further comprising the steps of:

receiving by the software update server event notifications from the first subgroup of network nodes indicative of successful distribution; and

distributing by the software update server the software update package to a second subgroup of network nodes within the group over a second set of parallel threads, wherein the second set of parallel threads has the determined maximum number of parallel threads.

12. The method of claim 10 , further comprising the step of distributing by the software update server installation commands to at least a subgroup of network nodes within the group over parallel threads.

13. The method of claim 9 , wherein the required distribution time is computed according to E=(F/T)*[Quotient(N/n)+1], where E is the required distribution time, F is the size of the software update package, T is the preconfigured amount of bandwidth allocated per thread, N is the number network nodes to be updated and n is the maximum number of threads in a set.

14. The method of claim 9 , wherein the start time is computed according to S=I−(E+K), were S is the start time, I is the scheduled installation time, E is the required distribution time and K is a time constant.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2012
From: SHARP LABORATORIES OF AMERICA INC.
To: SHARP KABUSHIKI KAISHA
Reel/Frame 029298/0648 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2007
From: PATHAK, RABINDRA; MURDOCK, JOSEPH B.
To: SHARP LABORATORIES OF AMERICA, INC.
Reel/Frame 020283/0275 →
Continuity (1)
Related Publication 20090150878A1 · Jun 11, 2009