IP Library Granted Patent US 10,552,134
Granted Patent B2
US 10,552,134 · App. 15/149,351 · Granted Feb 4, 2020

Method, device, and program storage device for autonomous software life cycle management

Inventors: Ghulam Ali Baloch (Albany, NY); Bradford Wayne Miller (Malta, NY); Chung Hee Hwang (Malta, NY); Viktor Holovashchenko (Clifton Park, NY)
Assignee: GENERAL ELECTRIC COMPAY
G06F8/61G06F8/60G06F8/656G06F11/368G06F11/3664G06F11/3672G06F11/3409G06F2201/865
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,552,134
App. No.
15/149,351
Granted
Feb 4, 2020
Kind
B2
Abstract

A method of searching for and installing a software product on a device is provided. One or more capabilities needed by the device to be served by a software product are determined. The one or more capabilities needed by the device are communicated from a software life cycle management agent on the device to a yellow pages agent outside the device, the communicating comprising formulating a request comprising a list of the capabilities encoded in a description language that defines the capabilities semantically. Then locations of one or more software products matching the one or more capabilities needed by the device may be received from the yellow pages agent. One of the one or more software products to install may be selected based on automatically evaluated criteria. Then the selected software product may be downloaded using its received location, and the selected software product may be installed on the device.

Claims (48)

1. A method comprising:

communicating a request from a software lifecycle management agent to one or more yellow pages agents outside a device for one or more software products that provide one or more capabilities needed by the device, wherein the request includes instructions to select the one or more software products, and wherein the instructions include a pre-determined threshold number of one or more capabilities that match the one or more capabilities needed by the device, and the selection via the instructions is based on the one or more software products including the threshold number, wherein yellow pages agents are modules operative to organize available software based on at least one of a category and capability;

receiving locations of one or more software products matching the one or more capabilities needed by the device from the one or more yellow pages agents;

downloading one of the one or more software products using its received location; and installing the selected software product on the device.

2. The method of claim 1 , further comprising scanning the device to determine hardware capabilities of the device.

3. The method of claim 1 , further comprising scanning the device to determine an operating system installed on the device.

4. The method of claim 1 , wherein the installing the selected software product on the device further includes:

installing the selected software product in a sandbox on the device;

performing testing of the selected software product in the sandbox; and

determining, based on the testing, whether to complete installation of the selected software product on the device.

5. The method of claim 1 , wherein the installing is performed only after an analysis of:

current resource utilization in the system.

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

storing information about the software product in a software inventory database.

7. The method of claim 6 , wherein the information includes an Open Service Gateway Initiative (OSGi) container.

8. A device comprising:

a sandbox; and

a software testing agent,

a software life cycle management agent executing on one or more hardware processors of the device, the software life cycle management agent configured to:

communicate a request from a software lifecycle management agent to one or more yellow pages agents outside the device for one or more software products that provide one or more capabilities needed by the device, wherein the request includes instructions to select the one or more software products based on the one or more software products that include a threshold number of one or more capabilities that match the one or more capabilities needed by the device, wherein yellow pages agents are modules operative to organize available software based on at least one of a category and capability;

receive locations of one or more software products matching the one or more capabilities needed by the device from the one or more yellow pages agents;

download one of the one or more software products using its received location;

install the selected software product in the sandbox and request the software testing agent to test the selected software product,

wherein the software testing agent is configured to test the selected software product in the sandbox, and

wherein the software life cycle management agent is further configured to determine, based on the testing, whether to complete installation of the selected software product on the device; and

install the selected software product on the device, wherein installing the selected software product on the device further includes:

installing the selected software product in a sandbox on the device;

performing testing of the selected software product in the sandbox to determine at least one of:

resource utilization compared to a preset threshold,

a performance level compared to a performance threshold; and

determining, based on the testing, whether to complete installation of the selected software product on the device.

9. The device of claim 8 , wherein the installing is performed only after an analysis of current resource utilization in the system.

10. The device of claim 8 , wherein the installing further comprises: storing information about the software product in a software inventory database.

11. The device of claim 10 , wherein the information includes an Open Service Gateway Initiative (OSGi) container.

12. A non-transitory machine-readable storage medium comprising instructions, which when implemented by one or more machines, cause the one or more machines to perform operations comprising:

communicating a request from a software lifecycle management agent to one or more yellow pages agents outside a device for one or more software products that provide one or more capabilities needed by the device, wherein the request includes instructions to select the one or more software products, and wherein the instructions include a pre-determined threshold number of one or more capabilities that match the one or more capabilities needed by the device, and the selection via the instructions is based on the one or more software products including the threshold number, wherein yellow pages agents are modules operative to organize available software based on at least one of a category and a capability;

receiving locations of one or more software products matching the one or more capabilities needed by the device from the one or more yellow pages agents;

downloading one of the one or more software products using its received location; and installing the selected software product on the device.

13. The non-transitory machine-readable storage medium of claim 12 , wherein the operations farther comprise scanning the device to determine hardware capabilities of the device.

14. The non-transitory machine-readable storage medium of claim 12 , wherein the operations further comprise scanning the device to determine an operating system installed on the device.

15. The non-transitory machine-readable storage medium of claim 12 , wherein the installing the selected software product on the device further includes:

installing the selected software product in a sandbox on the device;

performing testing of the selected software product in the sandbox; and

determining, based on the testing, whether to complete installation of the selected software product on the device.

16. The non-transitory machine-readable storage medium of claim 12 , wherein the installing is performed only after an analysis of current resource utilization in the system.

17. The non-transitory machine-readable storage medium of claim 12 , wherein the installing further comprises:

storing information about the software product in a software inventory database.

18. The non-transitory machine-readable storage medium of claim 17 , wherein the information includes an Open Service Gateway Initiative (OSGi) container.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2023
From: GENERAL ELECTRIC COMPANY
To: GE DIGITAL HOLDINGS LLC
Reel/Frame 065612/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2016
From: BALOCH, GHULAM ALI; MILLER, BRADFORD WAYNE; HWANG, CHUNG HEE; HOLOVASHCHENKO, VIKTOR
To: GENERAL ELECTRIC COMPANY
Reel/Frame 038513/0226 →
Continuity (2)
Continuation 14468022 · Aug 25, 2014
Related Publication 20160253163A1 · Sep 1, 2016