Isolating client application requests for device services through an object-oriented service stack system
First Claim
1. A computer program product for enabling the provision of device system services to a client application executing on a computer system having a memory, for a device connected to the computer system via a communication means, the computer program product including a computer-useable means for storing therein computer-readable code comprising:
- (a) program code for a plurality of service classes each defining a service object having means for communicating according to an interface protocol defined thereby;
(b) program code for a plurality of service maker classes each defining a service maker object having means for creating in the memory a corresponding service object defined by one of the service classes; and
(c) program code for providing to the client application an interface reference object corresponding to the device, including program code for receiving from the client application a top interface protocol defining the device system services for the device;
program code for creating in the memory a stack description identifying a bottom service for communicating with the device, a top service for communicating with the client application according to the top interface protocol, and an intermediate service for communicating over the communication means with the top and bottom services according to their predefined interface protocols;
program code for making from the stack description a service stack in the memory and for returning to the client application a reference to the service stack so that the client application can use the service stack to communicate with the device by way of the top service, including program code for iterating through the stack description and creating in the memory, for each of the services identified in the stack definition, a corresponding service maker object from one of the service maker classes; and
program code for polymorphically activating each of the service maker objects to create a corresponding service object from one of the service classes, thereby forming the service stack having a top service object in communication with an intermediate service object, which is also in communication with a bottom service object.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system for providing services in an object-oriented system. The method and system are in the form of an interface reference framework of objects, which create services, in response to requests. Clients request services which are created in response to the requests. In response to the request, the framework first develops a description of the service. The description is in the form of a stack of descriptions of services. From the stack descriptions the actual services are created by maker objects.
-
Citations
11 Claims
-
1. A computer program product for enabling the provision of device system services to a client application executing on a computer system having a memory, for a device connected to the computer system via a communication means, the computer program product including a computer-useable means for storing therein computer-readable code comprising:
-
(a) program code for a plurality of service classes each defining a service object having means for communicating according to an interface protocol defined thereby;
(b) program code for a plurality of service maker classes each defining a service maker object having means for creating in the memory a corresponding service object defined by one of the service classes; and
(c) program code for providing to the client application an interface reference object corresponding to the device, including program code for receiving from the client application a top interface protocol defining the device system services for the device;
program code for creating in the memory a stack description identifying a bottom service for communicating with the device, a top service for communicating with the client application according to the top interface protocol, and an intermediate service for communicating over the communication means with the top and bottom services according to their predefined interface protocols;
program code for making from the stack description a service stack in the memory and for returning to the client application a reference to the service stack so that the client application can use the service stack to communicate with the device by way of the top service, including program code for iterating through the stack description and creating in the memory, for each of the services identified in the stack definition, a corresponding service maker object from one of the service maker classes; and
program code for polymorphically activating each of the service maker objects to create a corresponding service object from one of the service classes, thereby forming the service stack having a top service object in communication with an intermediate service object, which is also in communication with a bottom service object. - View Dependent Claims (2, 3, 4, 5)
(c1) program code for a hardware interface reference class defining an interface reference object corresponding to a device connected locally to the computer system;
(c2) program code for a network interface reference class defining an interface reference object corresponding to a device connected remotely to the computer system; and
(c3) program code for dynamically selecting, according to whether the device is locally or remotely connected, from the hardware interface reference class and network interface reference class to create an interface reference object therefrom during the execution of the client application.
-
-
3. The computer program product of claim 1 wherein the interface reference object includes program code for specifying the bottom service.
-
4. The computer program product of claim 1 wherein the interface reference object includes program code for accessing a configuration framework to specify the bottom service.
-
5. The computer program product of claim 1 further comprising:
-
program code for dynamically locating services from within the computer system according to at least one query parameter;
wherein the program code for creating in the memory a stack description uses the top interface protocol and the bottom service as query parameters for dynamically locating the intermediate service.
-
-
6. A method for enabling the provision of device system services to a client application executing on a computer system having an operating system and a memory, for a device connected to the computer system via a communication means, the method comprising the steps of:
-
(a) providing class libraries for retention in the storage of the computer from which (1) one or more service objects may be instantiated, each having means for communicating according to an interface protocol defined thereby, (2) a service maker object may be instantiated having means for creating in the memory a corresponding one of the service objects, and (3) an interface reference object may be instantiated that corresponds to the device, including means for receiving from the client application a top interface protocol defining the device system services for the device, means for creating in the memory a stack description identifying a bottom service for communicating with the device, a top service for communicating with the client application according to the top interface protocol, and an intermediate service for communicating over the communication means with the top and bottom services according to their predefined interface protocols, and means for making from the stack description a service stack in the memory and for returning to the client application a reference to the service stack so that the client application can use the service stack to communicate with the device by way of the top service; and
(b) providing a run-time environment to (1) support the instantiation of the service, service maker and interface reference objects, and (2) selectively cause the transfer by the operating system of service information through the service stack between the client application and the device. - View Dependent Claims (7, 8, 9, 10, 11)
means for iterating through the stack description and creating in the memory, for each of the services identified in the stack definition, a corresponding service maker object; and
means for polymorphically activating each of the service maker objects to create a corresponding service object, thereby forming the service stack having a top service object in communication with an intermediate service object, which is also in communication with a bottom service object.
-
-
8. The method of claim 6 wherein the class libraries further comprise:
-
a hardware interface reference class defining an interface reference object corresponding to a device connected locally to the computer system;
a network interface reference class defining an interface reference object corresponding to a device connected remotely to the computer system; and
means for dynamically selecting, according to whether the device is locally or remotely connected, from the hardware interface reference class and network interface reference class to create an interface reference object therefrom during the execution of the client application.
-
-
9. The method of claim 6 wherein the interface reference object includes means for specifying the bottom service.
-
10. The method of claim 6 wherein the interface reference object includes means for accessing a configuration framework to specify the bottom service.
-
11. The method of claim 6 further comprising:
-
means for dynamically locating services from within the computer system according to at least one query parameter;
wherein the means for creating in the memory a stack description uses the top interface protocol and the bottom service as query parameters for dynamically locating the intermediate service.
-
Specification