System and method for providing a production upgrade of components within a multiprotocol gateway
First Claim
1. A method for providing a production upgrade of a component in a multiprotocol gateway, from an older version of the component, to a new version which includes modified functionality relative to the older version, the method comprising:
- providing a multiprotocol gateway which executes on one or more processors, and which includes a plurality of components;
receiving a first request to the multiprotocol gateway, wherein the first request is directed to a particular component;
directing the first request to an older version of the component;
upgrading the component, by deploying a new version of the component alongside the older version within the gateway, and by providing a schema accessible to both versions, wherein the schema defines a structure of state information which is associated with the older version and consumed by the new version, so that the state information is simultaneously accessible by both versions, wherein the new version adds new attributes to the schema;
enforcing a service level agreement across multiple versions of a plug-in associated with the component, wherein a shared state is maintained across the multiple versions;
receiving a second request to the gateway, wherein the second request is received after the new version of the component has been deployed and while the older version of the component remains operational;
routing the second request to the new version of the component and continuing to receive new traffic to the gateway uninterrupted; and
retiring the older version of the component when existing sessions using the older version are completed.
1 Assignment
0 Petitions
Accused Products
Abstract
A production upgrade is described for a multiprotocol gateway. This upgrade allows various modules and components within the gateway to be upgraded independently without impacting traffic flow in the gateway. The upgrade can be performed by deploying a new version of the module alongside an older version of the same module. New client requests can then be directed to the new version, while requests requiring the older module can be continued to be serviced by the prior version. A distinction is made between stateless and stateful conversation during the upgrade of various components. For stateful conversations, request traffic can be versioned according to the session to which each request belongs. A highly available state storage scheme allows new versions of the module to consume state information used by the older versions. For stateless conversations, all new requests can be immediately routed to the new version of the module.
183 Citations
19 Claims
-
1. A method for providing a production upgrade of a component in a multiprotocol gateway, from an older version of the component, to a new version which includes modified functionality relative to the older version, the method comprising:
-
providing a multiprotocol gateway which executes on one or more processors, and which includes a plurality of components; receiving a first request to the multiprotocol gateway, wherein the first request is directed to a particular component; directing the first request to an older version of the component; upgrading the component, by deploying a new version of the component alongside the older version within the gateway, and by providing a schema accessible to both versions, wherein the schema defines a structure of state information which is associated with the older version and consumed by the new version, so that the state information is simultaneously accessible by both versions, wherein the new version adds new attributes to the schema; enforcing a service level agreement across multiple versions of a plug-in associated with the component, wherein a shared state is maintained across the multiple versions; receiving a second request to the gateway, wherein the second request is received after the new version of the component has been deployed and while the older version of the component remains operational; routing the second request to the new version of the component and continuing to receive new traffic to the gateway uninterrupted; and retiring the older version of the component when existing sessions using the older version are completed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for providing a production upgrade in a multiprotocol gateway, the system comprising:
-
one or more processors; a multiprotocol gateway which executes on the one or more processors, and which includes a plurality of components; an older version of a component deployed to process telecommunications requests in the gateway; a new version of the component deployed alongside the older version within the gateway, wherein the new version includes modified functionality with respect to the older version, and wherein the new version processes one or more new telecommunication requests contemporaneously with the older version such that traffic is continued to be received to the gateway uninterrupted; a schema accessible to both versions, wherein the schema defines a structure of state information which is associated with the older version and, consumed by the new version, so that the state information is simultaneously accessible by both versions, wherein the new version adds new attributes to the schema, wherein the older version of the component is retired when existing sessions using the older version are completed; a plug-in associated with the component, wherein the plug-in includes multiple versions, wherein a service level agreement is enforced, and a shared state is maintained across the multiple versions; and wherein the gateway determines whether a request is associated with an existing session and routes the request to the older version of the component if the request is associated with the existing session, and otherwise routes the request to the new version of the component. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer-readable storage medium carrying one or more sequences of instructions for providing production upgrades of an older version of a component to a new version in a telecommunication processing environment, which instructions, when executed by one or more processors, cause the one or more processors to carry out the steps comprising:
-
providing a multiprotocol gateway which includes a plurality of components; receiving a first request to the multiprotocol gateway, wherein the first request is directed to a particular component; directing the first request to an older version of the component; upgrading the component, by deploying a new version of the component alongside the older version within the gateway, and by providing a schema accessible to both versions, wherein the schema defines a structure of state information which is associated with the older version and consumed by the new version, so that the state information is simultaneously accessible by both versions, wherein the new version adds new attributes to the schema; enforcing a service level agreement across multiple versions of a plug-in associated with the component, wherein a shared state is maintained across the multiple versions; receiving a second request to the gateway after the new version of the component has been deployed and while the older version of the component remains operational; routing the second request to the new version of the component and continuing to receive new traffic to the gateway uninterrupted; and retiring the older version of the component when existing sessions using the older version are completed.
-
Specification