IP Library Granted Patent US 8,250,566
Granted Patent B2
US 8,250,566 · App. 12/202,518 · Granted Aug 21, 2012

Automated software upgrade and distribution

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,250,566
App. No.
12/202,518
Granted
Aug 21, 2012
Kind
B2
Abstract

A method for an automated upgrade of hardware devices of a specialized network, such as wireless communication devices or automated teller machines, with new software programs is described. The upgrade is performed over the network and is controlled by a control center of the network. The control center has an access to a software program repository for storing new programs. The automated upgrade is performed by selecting suitable new software programs from the repository, each of the programs being associated with a validity time window and a threshold hardware profile, performing corresponding checks of upgrade time windows and hardware profiles of the hardware devices being upgraded, and downloading the new software programs to the memory medium of the hardware devices being upgraded.

Claims (71)

1. A method for upgrading a hardware device (HD) with a software program (SP), wherein the HD has a storage medium for storing the SP, and wherein the HD is a part of an HD network that includes a plurality of hardware devices (HDs) and a control center having:

an HD information database including a plurality of HD records corresponding to the HDs of the network, wherein each HD record contains a hardware profile, a revision of a presently stored SP, an “upgrade-mode” flag, and a “software out-of-date” indicator, wherein said hardware profile contains a first model, a first vendor, and a first hardware revision; and

an SP repository for storing software programs (SPs), wherein the SP repository includes a plurality of SP records, wherein each SP record contains an SP, a revision of said SP, a validity time window of said SP, and a threshold hardware profile of an HD compatible with said SP, wherein said threshold hardware profile contains a second model, a second vendor, and a second hardware revision;

wherein the method comprises the steps of:

(a) determining that the HD is eligible for an automatic upgrade, in dependence upon a state of the “upgrade-mode” flag stored in a corresponding HD record of the HD information database;

(b) selecting the SP to upgrade the HD with, by:

i) selecting at least one SP record within the SP repository, having the second model and the second vendor of its threshold hardware profile matched to the first model and the first vendor, respectively, of the HD record corresponding to the HD being upgraded;

ii) out of those selected in i), selecting at least one SP record having the second hardware revision of the respective threshold hardware profile, which is earlier than the first hardware revision of the HD record corresponding to the HD being upgraded;

iii) out of those selected in ii), selecting the record with the latest SP revision;

iv) determining that the SP revision of the record selected in iii) is later than the revision of the presently stored SP of the HD record corresponding to the HD being upgraded; and

v) selecting the SP of the SP record selected in iii) as the SP to upgrade the HD with;

(c) determining that the current time is within a time window when an upgrade is allowed;

(d) determining that the HD is in a state that is appropriate for an upgrade to be performed;

(e) upon completion of steps (a) through (d), downloading the SP selected in step (b) to the storage medium of the HD.

2. A method of claim 1 , further comprising the steps of

(f) determining if the SP has been successfully downloaded to the storage medium of the HD, and

(g) if the SP has not been successfully downloaded, doing one of, or both of, the following: assigning a value to the “upgrade mode” flag disallowing an automatic upgrade; and bringing the “software out-of-date” indicator to a state indicating that the SP, stored in the storage medium of the HD, is out of date.

3. A method of claim 2 , wherein:

step (g) is performed by the control center;

step (f) is performed by the HD; and

step (f) further includes sending a confirmation message from the HD to the control center over the HD network, if the downloading was successful.

4. A method of claim 1 , wherein step (a) further comprises a conditional step of

(a1) determining that the state of the “software out-of-date” indicator stored in the corresponding HD record indicates that the SP stored in the storage medium of the HD is out of date,

wherein the conditional step (a1) is performed only if the state of the “upgrade-mode” flag indicates that the step (a1) needs to be performed.

5. A method of claim 4 , wherein the “software out-of-date” indicator of each HD record of the HD information database comprises a “software out-of-date” alarm having two states: “software is out of date” and “software is up to date”.

6. A method of claim 1 , wherein steps (a) to (e) are performed by the control center.

7. A method of claim 6 , wherein the HD can only be upgraded during a service time window corresponding to the HD, and wherein the time window when the upgrade is allowed is within the service time window of the HD.

8. A method of claim 6 , wherein step (d) is performed by sending a request from the control center to the HD over the HD network, and receiving a message from the HD to the control center over the HD network, wherein the message confirms that the HD is in a state that is appropriate for an upgrade to be performed.

9. A method of claim 6 , further comprising repeating steps (a) to (e) at predetermined time intervals.

10. A method of claim 6 , further comprising performing steps (a) to (e) for every HD having a corresponding HD record in the HD information database.

11. A method of claim 6 , wherein step (b) is performed by querying the software repository with input data containing the vendor of the HD being upgraded, the model of the HD being upgraded, the hardware revision of the HD being upgraded, and the current SP revision of an SP stored in the storage medium of the HD being upgraded.

12. A method of claim 11 , wherein the time window when the upgrade is allowed is within the validity time window of the SP record corresponding to the SP selected at step (b).

13. A method of claim 11 , wherein the HD can only be upgraded during a service time window corresponding to the HD, and wherein the time window when the upgrade is allowed is within the service time window of the HD and within the validity time window of the SP record corresponding to the SP selected at step (b).

14. A hardware device (HD) network comprising:

a plurality of hardware devices (HDs) each having a storage medium for storing a software program (SP); and

a control center having:

an HD information database including a plurality of HD records corresponding to the HDs of the network, wherein each HD record contains a hardware profile, a revision of a presently stored SP, an “upgrade-mode” flag, and a “software out-of-date” indicator, wherein said hardware profile contains a first model, a first vendor, and a first hardware revision; and

an SP repository for storing software programs (SPs), wherein the SP repository includes a plurality of SP records, wherein each SP record contains an SP, a revision of said SP, a validity time window of said SP, and a threshold hardware profile of an HD compatible with said SP, wherein said threshold hardware profile contains a second model, a second vendor, and a second hardware revision;

wherein the control center is configured to upgrade a selected one of the HDs of the network with an SP by:

(a) determining that the HD is eligible for an automatic upgrade, in dependence upon a state of the “upgrade-mode” flag stored in a corresponding HD record of the HD information database;

(b) selecting the SP to upgrade the HD with, by:

i) selecting at least one SP record within the SP repository, having the second model and the second vendor of its threshold hardware profile matched to the first model and the first vendor, respectively, of the HD record corresponding to the HD being upgraded;

ii) out of those selected in i), selecting at least one SP record having the second hardware revision of the respective threshold hardware profile, which is earlier than the first hardware revision of the HD record corresponding to the HD being upgraded;

iii) out of those selected in ii), selecting the record with the latest SP revision;

iv) determining that the SP revision of the record selected in iii) is later than the revision of the presently stored SP of the HD record corresponding to the HD being upgraded; and

v) selecting the SP of the SP record selected in iii) as the SP to upgrade the HD with;

(c) determining that the current time is within a time window when an upgrade is allowed;

(d) determining that the HD is in a state that is appropriate for an upgrade to be performed;

(e) upon completion of steps (a) through (d), downloading the SP selected in step (b) to the storage medium of the HD.

15. A HD network of claim 14 , wherein the HDs have a flash memory, and wherein the SP is stored in said flash memory as the result of the upgrade.

16. A HD network of claim 14 , wherein the HD network is selected from a group consisting of: a wireless communications network; an automated teller machines network; a digital subscriber line modem network; a digital cable television network; and a fiberoptic network.

17. A HD network of claim 14 , wherein the SP supports a functionality available to a selected sub-group of the HDs of the network, and

wherein said functionality was unavailable before the upgrade.

18. A HD network of claim 17 , wherein said sub-group is selected by comparing hardware profiles of the HDs of the network to a threshold hardware profile associated with the SP.

19. A computer-readable medium for use in a hardware network comprising:

a plurality of hardware devices (HDs) each having a storage medium for storing a software program (SP); and

a control center having:

an HD information database including a plurality of HD records corresponding to the HDs of the network, wherein each HD record contains a hardware profile, a revision of a presently stored SP, an “upgrade-mode” flag, and a “software out-of-date” indicator, wherein said hardware profile contains a first model, a first vendor, and a first hardware revision; and

an SP repository for storing software programs (SPs), wherein the SP repository includes a plurality of SP records, wherein each SP record contains an SP, a revision of said SP, a validity time window of said SP, and a threshold hardware profile of an HD compatible with said SP, wherein said threshold hardware profile contains a second model, a second vendor, and a second hardware revision;

wherein in operation, contents of the computer-readable medium cause the control center to upgrade a selected one of the HDs of the network by:

(a) determining that the HD is eligible for an automatic upgrade, in dependence upon a state of the “upgrade-mode” flag stored in a corresponding HD record of the HD information database;

(b) selecting the SP to upgrade the HD with, by:

i) selecting at least one SP record within the SP repository, having the second model and the second vendor of its threshold hardware profile matched to the first model and the first vendor, respectively, of the HD record corresponding to the HD being upgraded;

ii) out of those selected in i), selecting at least one SP record having the second hardware revision of the respective threshold hardware profile, which is earlier than the first hardware revision of the HD record corresponding to the HD being upgraded;

iii) out of those selected in ii), selecting the record with the latest SP revision;

iv) determining that the SP revision of the record selected in iii) is later than the revision of the presently stored SP of the HD record corresponding to the HD being upgraded; and

v) selecting the SP of the SP record selected in iii) as the SP to upgrade the HD with;

(c) determining that the current time is within a time window when an upgrade is allowed;

(d) determining that the HD is in a state that is appropriate for an upgrade to be performed;

(e) upon completion of steps (a) through (d), downloading the SP selected in step (b) to the storage medium of the HD.

20. A computer-readable medium of claim 19 , wherein the HD network is selected from a group consisting of: a wireless communications network; an automated teller machines network; a digital subscriber line modem network; a digital cable television network; and a fiberoptic network.

Assignments (8)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 73189/0873 Recorded May 28, 2026
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: INERTIAL LABS, INC.; VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC
Reel/Frame 075642/0381 →
SECURITY INTEREST Recorded Nov 14, 2025
From: VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC; INERTIAL LABS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 073571/0137 →
SECURITY AGREEMENT Recorded Oct 21, 2025
From: INERTIAL LABS, INC.; VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 073189/0873 →
TERMINATIONS OF SECURITY INTEREST AT REEL 052729, FRAME 0321 Recorded Jan 5, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: VIAVI SOLUTIONS INC.; RPC PHOTONICS, INC.
Reel/Frame 058666/0639 →
SECURITY INTEREST Recorded May 21, 2020
From: VIAVI SOLUTIONS INC.; 3Z TELECOM, INC.; ACTERNA LLC; ACTERNA WG INTERNATIONAL HOLDINGS LLC; VIAVI SOLUTIONS LLC; JDSU ACTERNA HOLDINGS LLC; OPTICAL COATING LABORATORY, LLC; RPC PHOTONICS, INC.; TTC INTERNATIONAL HOLDINGS, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 052729/0321 →
CHANGE OF NAME Recorded Nov 6, 2015
From: JDS UNIPHASE CORPORATION
To: VIAVI SOLUTIONS INC.
Reel/Frame 037057/0627 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2013
From: ACTERNA LLC
To: JDS UNIPHASE CORPORATION
Reel/Frame 030968/0139 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2008
From: ZUSMAN, MARK
To: ACTERNA LLC
Reel/Frame 021467/0752 →
Continuity (2)
Provisional Application 60975623 · Sep 27, 2007
Related Publication 20090089775A1 · Apr 2, 2009