Systems and methods for dynamic component versioning
First Claim
1. A system to manage versions of a software component, comprising:
- at least one version of the software component, wherein the software component includes at least one external interface and at least one internal logic and/or storage;
a container capable of deploying the at least one version of the software component; and
a dispatcher capable of at least one of;
accepting a request from a client for the service of the software component;
determining which version of the software component to instantiate;
creating an instance of that version of the software component to serve the client; and
maintaining the instance running during a session of the service request.
2 Assignments
0 Petitions
Accused Products
Abstract
The deployment and management of differing versions of software components can be simplified. External interfaces of the component can remain constant in behavior while the internal logic, and possibly internal storage, can change between versions. Such a version management system can be transparent to the client programs, since interfaces can remain backwards compatible between component versions. This transparency can greatly reduce the risks of unpredictable behavior or system failure. A system can maintain each version of a software component, and can use a dispatch technique to determine and instantiate the currently active version whenever a client requests a service from the software component during a session. Old instances, possibly of other versions, can be maintained as long as required on the server. Such systems can apply to stateful and stateless components, using synchronous or asynchronous communications, and which may communicate over networks and may use web services type protocols. This description is not intended to be a complete description of, or limit the scope of, the invention. Other features, aspects, and objects of the invention can be obtained from a review of the specification, the figures, and the claims.
-
Citations
42 Claims
-
1. A system to manage versions of a software component, comprising:
-
at least one version of the software component, wherein the software component includes at least one external interface and at least one internal logic and/or storage;
a container capable of deploying the at least one version of the software component; and
a dispatcher capable of at least one of;
accepting a request from a client for the service of the software component;
determining which version of the software component to instantiate;
creating an instance of that version of the software component to serve the client; and
maintaining the instance running during a session of the service request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method to manage versions of a software component, comprising:
-
deploying at least one version of the software component, wherein the software component includes at least one external interface and at least one internal logic and/or storage;
accepting a request from a client for the service of the software component;
determining which version of the software component to instantiate;
creating an instance of that version of the software component to serve the client; and
maintaining the instance running during a session of the service request. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A machine readable medium having instructions stored thereon that when executed by a processor cause a system to:
-
deploy at least one version of the software component, wherein the software component includes at least one external interface and at least one internal logic and/or storage;
accept a request from a client for the service of the software component;
determine which version of the software component to instantiate;
create an instance of that version of the software component to serve the client; and
maintain the instance running during a session of the service request. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A system to manage versions of a software component, comprising:
-
means for deploying at least one version of the software component, wherein the software component includes at least one external interface and at least one internal logic and/or storage;
means for accepting a request from a client for the service of the software component;
means for determining which version of the software component to instantiate;
means for creating an instance of that version of the software component to serve the client; and
means for maintaining the instance running during a session of the service request.
-
-
42. A computer data signal embodied in a transmission medium, comprising:
-
a code segment including instructions to deploy at least one version of the software component, wherein the software component includes at least one external interface and at least one internal logic and/or storage;
a code segment including instructions to accept a request from a client for the service of the software component;
a code segment including instructions to determine which version of the software component to instantiate;
a code segment including instructions to create an instance of that version of the software component to serve the client; and
a code segment including instructions to maintain the instance running during a session of the service request.
-
Specification