SELF-ADAPTING SOFTWARE SYSTEM
First Claim
1. A method for controlling deployment of a software system in a computing device, comprising:
- receiving, by the computing device, a core part of the software system, wherein payloads of system extensions of the software system are omitted from the received core part, the core part including basic components and metadata describing the system extensions;
receiving, by the computing device, a request to execute a system action that requires at least one system extension of the software system;
determining, by the computing device, if the required system extension is installed in the computing device;
if the required system extension is determined not to be installed in the computing device, downloading, by the computing device, the required system extension from an external source; and
performing, by the computing device, the requested system action using the downloaded system extension.
2 Assignments
0 Petitions
Accused Products
Abstract
A software system, such as an operating system, that has multiple parts can be deployed to a computing device incrementally, rather than all at once. The software system self-adapts to the user'"'"'s needs by installing and removing system extensions automatically without user intervention. A core part of the software system is deployed in the computing device, and system extensions are delivered to the computing device when needed. The software system is aware of the system extensions, so they appear to be part of the system, even though they have not yet been downloaded. The system extensions can be delivered to the computing system on demand or over time during idle times of the computing device. Unused system extensions can be removed from the computing device, and can be downloaded again when next needed.
-
Citations
20 Claims
-
1. A method for controlling deployment of a software system in a computing device, comprising:
-
receiving, by the computing device, a core part of the software system, wherein payloads of system extensions of the software system are omitted from the received core part, the core part including basic components and metadata describing the system extensions; receiving, by the computing device, a request to execute a system action that requires at least one system extension of the software system; determining, by the computing device, if the required system extension is installed in the computing device; if the required system extension is determined not to be installed in the computing device, downloading, by the computing device, the required system extension from an external source; and performing, by the computing device, the requested system action using the downloaded system extension. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computing device comprising:
-
a processor and a storage device encoded with computer-executable instructions that, when executed by the processor, perform a method for controlling deployment of a software system to the computing device, the instructions configured to; receive a core part of the software system, wherein payloads of system extensions of the software system are omitted from the received core part, the core part including basic components and metadata describing the system extensions; receive a request to execute a system action that requires at least one system extension of the software system; determine if the required system extension is installed in the computing device; if the required system extension is determined not to be installed in the computing device, download the required system extension from an external source; and perform the requested system action using the downloaded system extension. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A computer-readable storage medium encoded with computer-executable instructions that, when executed by a processor, perform a method for controlling deployment of a software system to a computing device, the method comprising:
-
receiving, by the computing device, a request to execute a system action of the software system; determining if all parts of the software system required to execute the requested system action are installed in the computing device; and if one or more parts of the software system required to execute the requested system action are determined not to be installed in the computing device, downloading the one or more required parts of the software system from an external source. - View Dependent Claims (18, 19, 20)
-
Specification