Extendable provisioning mechanism for a service gateway
First Claim
1. A service gateway operable to(i) connect at least one local client to an external network;
- and(ii) hold at least one service module for providing a corresponding service, wherein the service gateway includes a control mechanism configured to respond to a request for a first service provided by a service module not present at the service gateway by sending one or more messages to an external source until a response from the external source identifies a first service module within the gateway that is capable of providing the first service;
wherein the response received from the external source identifies a proposed service and includes an input stream comprising an encoded version of the first service module, wherein the proposed service is a service required to decode the encoded version of the first service module;
wherein the service gateway further comprises a record that identifies service modules that are held by the service gateway, the record including a pointer to each of the service modules, wherein the control mechanism is operable to react to a received request that identifies a first service module by;
accessing the record to determine if the first service module is held by the service gateway;
using the associated pointer included in the record to cause the first service module to provide a corresponding service if the first service module is held by the service gateway; and
if the first service module is not held by the service gateway, recursively requesting support from an external source until the record indicates that the first service module is held by the service gateway;
wherein requesting support from an external source comprises;
sending a message to the external source until a response from the external source identifies a first service module; and
reacting to a response from the external source that includes an input stream comprising an encoded version of the first service module and identifies a second service module, wherein the second service module is required to decode the encoded version of the first service module by;
if the second service module is held by the service gateway, decoding the first service module; and
if the second service module is not held by the service gateway;
requesting support from the external source until a response from the external source identifies a second service module that is held by the service gateway.
3 Assignments
0 Petitions
Accused Products
Abstract
A service gateway connects at least one local client to an external network. The service gateway is operable to hold at least one service module for providing a corresponding service and to maintain a record identifying each service module held by the service gateway with an associated pointer to that service module. The service gateway includes a control mechanism providing a number of functions. The control mechanism is operable in response to a request for a service provided by a service module not present at the service gateway, to send a message to an external source for resolving the absence of a service module at the gateway in one or more iterations until a response from the external service identifies information including a service module held by the gateway that enables resolution of the absent service module(s). The service gateway is thus arranged to provide an iterative, or recursive, process for repeatedly seeking a further service until the necessary software and/or data is available at the service gateway to satisfy the original service request.
39 Citations
29 Claims
-
1. A service gateway operable to
(i) connect at least one local client to an external network; - and
(ii) hold at least one service module for providing a corresponding service, wherein the service gateway includes a control mechanism configured to respond to a request for a first service provided by a service module not present at the service gateway by sending one or more messages to an external source until a response from the external source identifies a first service module within the gateway that is capable of providing the first service; wherein the response received from the external source identifies a proposed service and includes an input stream comprising an encoded version of the first service module, wherein the proposed service is a service required to decode the encoded version of the first service module; wherein the service gateway further comprises a record that identifies service modules that are held by the service gateway, the record including a pointer to each of the service modules, wherein the control mechanism is operable to react to a received request that identifies a first service module by; accessing the record to determine if the first service module is held by the service gateway; using the associated pointer included in the record to cause the first service module to provide a corresponding service if the first service module is held by the service gateway; and if the first service module is not held by the service gateway, recursively requesting support from an external source until the record indicates that the first service module is held by the service gateway; wherein requesting support from an external source comprises; sending a message to the external source until a response from the external source identifies a first service module; and reacting to a response from the external source that includes an input stream comprising an encoded version of the first service module and identifies a second service module, wherein the second service module is required to decode the encoded version of the first service module by; if the second service module is held by the service gateway, decoding the first service module; and if the second service module is not held by the service gateway; requesting support from the external source until a response from the external source identifies a second service module that is held by the service gateway. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
- and
-
12. A computer program comprising program code on a storage medium, operable in a service gateway computer, the service gateway computer being operable to connect at least one local client to an external network, the program code being operable:
-
to support at least one service module at the service gateway for providing a corresponding service; and to respond to a request for a first service provided by a service module not present at the service gateway by sending one or more messages to an external source until a response from the external source identifies a first service module within the gateway that is capable of providing the first service; wherein the response received from the external source identifies a proposed service and includes an input stream comprising an encoded version of the first service module, wherein the proposed service is a service required to decode the encoded version of the first service module; maintain a record that identifies each service module held by the service gateway, the record including an associated pointer to each of the service modules;
react to a received request that identifies a first service module by;accessing the record to determine if the first service module is held by the service gateway; using the associated pointer included in the record to cause the first service module to provide a corresponding service if the first service module is held by the service gateway; and if the first service module is not held by the service gateway, recursively requesting support from an external source until the record indicates that the first service module is held by the service gateway; wherein requesting support from an external source comprises;
sending a message to the external source until a response from the external source identifies a first service module; andreacting to a response from the external source that includes an input stream comprising an encoded version of the first service module and identifies a second service module wherein the second service module is required to decode the encoded version of the first service module by; if the second service module is held by the service gateway, decoding the first service module; and if the second service module is not held by the service gateway; requesting support from the external source until a response from the external source identifies a second service module that is held by the service gateway. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A method of servicing at least one local client connected to an external network via a service gateway, the method comprising:
-
holding at least one service module at the gateway for providing a corresponding service; responding to a request for a first service provided by a service module not present at the service gateway by sending one or more messages to an external source until a response from the external source identifies a first service module within the gateway that is capable of providing the first service; wherein the response received from the external source identifies a proposed service and includes an input stream comprising an encoded version of the first service module, wherein the proposed service is a service required to decode the encoded version of the first service module; maintaining a record in the service gateway that identifies each service module held by the service gateway, the record including an associated pointer to each of the service modules; reacting to a request that identifies a first service module by; accessing the record to determine if the first service module is held by the service gateway; using the associated pointer included in the record to cause the first service module to provide a corresponding service if the first service module is held by the service gateway; and if the first service module is not held by the service gateway, recursively requesting support from an external source until the record indicates that the first service module is held by the service gateway; wherein requesting support from an external source comprises; sending a message to the external source until a response from the external source identifies a first service module; and reacting to a response from the external source that includes an input stream comprising an encoded version of the first service module and identifies a second service module, wherein the second service module is required to decode the encoded version of the first service module by; if the second service module is held by the service gateway, decoding the first service module; and if the second service module is not held by the service gateway; requesting support from the external source until a response from the external source identifies a second service module that is held by the service gateway. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29)
-
Specification