Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A method comprising: storing recipes in a repository, wherein each of the recipes describe the bits that make up applications and the minimum operating system included in a software appliance; receiving, by a processor, a request describing a role, the request comprising a unique user identifier; identifying, by the processor, a first software appliance that comprises an application to perform the role and a minimum operating system for the application; building the first software appliance by retrieving, based on a first recipe for the first software appliance, bits of the applications and the bits of the minimum operating system for the first software appliance; appending the unique user identification and a unique serial number to the first software appliance; storing the unique user identification and the unique serial number associated with the first software appliance; determining update bits of a binary image to update the first software appliance; adding the update bits of the binary image to the first software appliance; identifying an instance of the first software appliance in view of the stored unique serial number and the stored unique user identification; providing the identified instance of the first software appliance to a system associated with the unique user identification; and updating the identified instance of the first software appliance in view of the stored unique serial number and the stored unique user identification.
The system creates customized software packages (appliances). Recipes define the application software and minimal operating system needed. A request specifying a role (desired function) and a unique user ID is received. The system identifies a software appliance containing the required application and OS. It then builds the appliance by retrieving the necessary software bits based on the appliance's recipe. A unique user ID and serial number are added to the appliance for tracking. Update bits are determined and added for future updates. Using the serial number and user ID, the system identifies and provides the correct appliance instance to the user's system and updates it as needed.
2. The method of claim 1 , wherein identifying the software appliance comprises: locating a software appliance in a repository, the software appliance comprising the application capable of performing the role and the minimum operating system to provide an execution platform for the application capable of performing the role.
When identifying a suitable software appliance based on a role request including a unique user ID, the system searches a repository for an appliance that includes both an application capable of performing the role specified in the request and the minimum operating system needed to run that application. The software appliance provides an execution platform for the application.
3. The method of claim 2 , wherein identifying the software appliance comprises: locating the application capable of performing the role in a repository; locating a portion of an operating system to provide the execution platform for the application in the repository; and combining the located application and the located portion of the operating system to form the software appliance.
To identify the software appliance, the system locates an application capable of performing the role in a repository, and then finds the necessary portion of the operating system required to support and run that application, also in a repository. These components—the application and the minimal OS portion—are then combined to create the final software appliance.
4. The method of claim 2 , wherein the software appliance is a binary image of data embodying the software appliance.
The described software appliance is a single binary image. This binary image contains all the data required to represent and execute the application and its minimal operating system, forming a self-contained software unit.
5. The method of claim 4 , wherein providing the software appliance comprises: storing the binary image in a repository; and providing a link to a location of the binary image in the repository.
The system delivers the software appliance by storing the created binary image in a repository. Then, it provides the user with a link pointing to the location of that binary image within the repository, enabling the user's system to download and use the appliance.
6. The method of claim 4 , wherein providing the software appliance comprises transmitting the binary image to the system associated with the user initiating of the request.
Instead of providing a link, the system directly transmits the binary image of the software appliance to the user's system that initiated the request for the application.
7. The method of claim 4 , wherein providing the software appliance comprises storing the binary image on a computer readable medium.
The software appliance binary image is stored on a non-volatile computer-readable medium, such as a hard drive, SSD, or USB drive, for persistent storage and later use.
8. An apparatus comprising: a memory; a processor coupled to the memory; a repository to store recipes, wherein each of the recipes describe the bits that make up applications and the minimum operating system included in a software appliance; a program interface executable from the memory by the processor and receives a request describing a role, the request comprising a unique user identifier; the repository to store a first software appliance that comprises an application to perform the role and a minimum operating system for the application; and a control module executable from the memory by the processor and coupled to the program interface and the repository, the control module to: build the first software appliance by retrieving, based on a first recipe for the first software appliance, bits of the applications and the bits of the minimum operating system for the first software appliance; append the unique user identification and a unique serial number to the first software appliance; store the unique user identification and the unique serial number associated with the first software appliance; determine update bits of a binary image to update the first software appliance; add the update bits of the binary image to the first software appliance; identify an instance of the first software appliance in view of the stored unique serial number and the stored unique user identification; provide the identified instance of the first software appliance to a system associated with the unique user identification; and update the identified instance of the first software appliance in view of the stored unique serial number and the stored unique user identification.
The system consists of a memory, a processor, and a repository containing recipes that describe the application software and minimal OS components of software appliances. A program interface receives role-based requests with unique user IDs. A control module retrieves application and OS bits based on a recipe to build the software appliance. It adds a unique user ID and serial number to the appliance, stores this information, and determines/adds update bits. The control module then identifies and provides the correct appliance instance to the user and updates it as needed, using the stored serial number and user ID.
9. The apparatus of claim 8 , wherein the control module to retrieve identifying information of the user initiating the request.
The control module from the apparatus that builds software applicances based on user role requests also retrieves identifying information of the user making the request. This allows for further personalization or access control.
10. The apparatus of claim 9 , further comprising: a building module executable from the memory by the processor and coupled to the control module, the building module to build the software appliance comprising the application to perform the role and the minimum operating system to provide an execution platform for the application.
The apparatus for providing software appliances further includes a building module. This module constructs the software appliance by combining the application needed to perform the requested role with the minimum operating system necessary to provide an execution environment for that application. The building module works with the control module that handles user requests and appliance updates.
11. The apparatus of claim 8 , wherein the program interface provides a link to a location of a binary image of data embodying the software appliance in a repository.
The program interface of the software appliance apparatus provides users with a direct link to a binary image representing the software appliance stored in a repository.
12. The apparatus of claim 8 , wherein the program interface transmits a binary image of data embodying the software appliance to the system associated with the user initiating the request.
The program interface of the software appliance apparatus directly transmits a binary image of the software appliance to the user's system that initiated the request.
13. A system comprising: a memory; a processor coupled to the memory; and a web service portal executable from the memory by the processor; a repository to store recipes, wherein each of the recipes describe the bits that make up applications and the minimum operating system included in a software appliance; a program interface executable from the memory by the processor and coupled to the web service portal to receive a request describing a role, the request comprising a unique user identifier; the repository coupled to the web service portal to store a first software appliance that comprises an application to perform the role and a minimum operating system for the application; and a control module executable from the memory by the processor and coupled to the web service portal, the program interface and the repository, the control module to: build the first software appliance by retrieving, based on a first recipe for the first software appliance, bits of the applications and the bits of the minimum operating system for the first software appliance; append the unique user identification and a unique serial number to the first software appliance; store the unique user identification and the unique serial number associated with the first software appliance; determine update bits of a binary image to update the first software appliance; add the update bits of the binary image to the first software appliance; identify an instance of the first software appliance in view of the stored unique serial number and the stored unique user identification; provide the identified instance of the first software appliance to a system associated with the unique user identification; and update the identified instance of the first software appliance in view of the stored unique serial number and the stored unique user identification.
A system containing memory, a processor, and a web service portal provides role-based software appliances. A repository stores recipes for application and OS components. A program interface, coupled to the web service portal, receives requests with user IDs. The repository stores appliances. A control module builds appliances by retrieving application and OS bits based on recipes, adds user ID and serial number, stores this information, determines/adds update bits, identifies and provides the correct appliance instance to the user, and updates it as needed.
14. The system of claim 13 , wherein the control module to retrieve identifying information of the user initiating the request.
The control module of the software appliance system also retrieves identifying information of the user who made the request.
15. The system of claim 14 , further comprising: a building module executable from the memory by the processor and coupled to the control module, the building module to build the software appliance that comprises the application to perform the role and the minimum operating system to provide an execution platform for the application, wherein the building module to append the identifying information of the user initiating the request to a software appliance.
The software appliance system includes a building module that builds the software appliance by combining the application needed to perform the requested role with the minimal operating system needed for execution. The building module also appends the user's identifying information to the software appliance for tracking and personalization.
16. The system of claim 13 , the program interface to provide a link to a location of a binary image of data embodying the software appliance in a repository.
The program interface of the software appliance system provides a link to the binary image of the software appliance in the repository.
17. The system of claim 13 , the program interface to transmit a binary image of data embodying the software appliance to a system initiating the request.
The program interface of the software appliance system directly transmits the binary image of the software appliance to the system that initiated the request.
18. A non-transitory computer-readable storage medium including instructions that, when executed by a processor, cause the processor to execute operations comprising: storing recipes in a repository, wherein each of the recipes describe the bits that make up applications and the minimum operating system included in a software appliance; receiving, by a processor, a request describing a role, the request comprising a unique user identifier; identifying, by the processor, a first software appliance that comprises an application to perform the role and a minimum operating system for the application; building the first software appliance by retrieving, based on a first recipe for the first software appliance, bits of the applications and the bits of the minimum operating system for the first software appliance; appending the unique user identification and a unique serial number to the first software appliance; storing the unique user identification and the unique serial number associated with the first software appliance; determining update bits of a binary image to update the first software appliance; adding the update bits of the binary image to the first software appliance; identifying an instance of the software appliance in view of the stored unique serial number and the stored unique user identifier associated with the first software appliance; providing the identified instance of the first software appliance to a system associated with the unique user identification; and updating the identified instance of the first software appliance in view of the stored unique serial number and the stored user identifier identification.
A non-transitory computer-readable medium stores instructions for creating and delivering software appliances. The instructions cause the processor to store recipes defining application software and minimal OS, receive role-based requests with user IDs, identify a suitable appliance, build it from recipe-defined bits, add a user ID and serial number, store this info, determine/add update bits, identify the correct appliance instance, and provide/update it to the user's system using the stored serial number and user ID.
19. The non-transitory computer-readable storage medium of claim 18 , wherein identifying the software appliance comprises: locating a software appliance in a repository, the software appliance comprising the application capable of performing the role and the minimum operating system to provide an execution platform for the application capable of performing the role.
When the instructions identify a suitable software appliance based on a role request including a unique user ID, the instructions cause the system to locate an appliance in a repository that includes both the application capable of performing the role and the minimum operating system needed to run that application. The software appliance provides an execution platform for the application.
20. The non-transitory computer-readable storage medium of claim 18 , wherein identifying the software appliance comprises: locating the application capable of performing the role in a repository; locating a portion of an operating system to provide the execution platform for the application in the repository; and combining the located application and the located portion of the operating system to form the software appliance.
The instructions cause the system to identify an application capable of performing the requested role within the repository. The instructions also search for a portion of an operating system needed to provide an execution platform for the identified application, also within the repository. The instructions then combine the located application and operating system portion to form the complete software appliance.
21. The method of claim 1 , further comprising upgrading the software appliance by one of replacing the software appliance with a complete image or adding update bits to the software appliance on a binary-difference basis.
The software appliance can be upgraded in one of two ways: either by replacing the entire software appliance with a completely new binary image, or by adding update bits to the existing software appliance using a binary-difference technique, which updates only the changed portions of the appliance.
Unknown
December 30, 2014
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.