Patent ID: 9092243
Filing Date: 2015-07-28
Classification: G06F

Abstract:
1. A method comprising: receiving from a user a request for a custom software appliance, the request specifying functionality of the custom software appliance; searching, by a processor, a repository, in view of the functionality, for a pre-built software appliance, a recipe among the plurality of recipes, and one or more software components, wherein the pre-built software appliance comprises a plurality of bits of a binary image described by the plurality of recipes; building, by the processor, the custom software appliance in view of the pre-built software appliance, the recipe, and the one or more software components, wherein the custom software appliance comprises identifying information of the user; storing the custom software appliance in the repository, wherein the custom appliance comprises a plurality of bits of a binary image described by the plurality of recipes; providing, by the processor, an interface for the custom software appliance, the custom software appliance comprising a management tool, an application to perform a function and a portion of an operating system to provide an execution platform for the application, and wherein the management tool provides the interface to receive a management request to cause the management tool to manage the application, and the portion of the operating system, wherein the management tool is embedded within the custom software appliance, the management tool comprising a hardware interface to retrieve at least one of information, settings or parameters from hardware of a computing device running the custom software appliance and a component interface to connect to the application and the portion of the operating system; and managing, by the processor, the custom software appliance, wherein the managing comprises updating the custom software appliance, wherein the updating comprises determining a plurality of incremental update bits of the binary image representing the custom software appliance that are used to update the custom software appliance and adding the plurality of incremental update bits to the custom software appliance on a bit-level binary-difference basis, and wherein the determining the plurality of incremental update bits comprises: