Systems and methods for dynamic component versioning
First Claim
1. A computer-implemented system to manage versions of a software component, comprising:
- a microprocessor;
at least one version of the software component, wherein the software component includesat 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;
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;
maintaining the instance running during a session of the service request while maintaining instances of different versions of the software component alive at the same time; and
determining an active version that is associated with the software component with a pluggable mechanism.
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.
223 Citations
39 Claims
-
1. A computer-implemented system to manage versions of a software component, comprising:
-
a microprocessor; 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; 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; maintaining the instance running during a session of the service request while maintaining instances of different versions of the software component alive at the same time; and determining an active version that is associated with the software component with a pluggable mechanism. - 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; maintaining the instance running during a session of the service request while maintaining instances of different versions of the software component alive at the same time; and determining an active version that is associated with the software component with a pluggable mechanism. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A machine readable storage 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; maintain the instance running during a session of the service request while maintaining instances of different versions of the software component alive at the same time; and determine an active version that is associated with the software component with a pluggable mechanism. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A computer-implemented system to manage versions of a software component, comprising:
-
a microprocessor; 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; means for maintaining the instance running during a session of the service request while maintaining instances of different versions of the software component alive at the same time; and
means for determining an active version that is associated with the software component with a pluggable mechanism.
-
Specification