Apparatus and method of semantic service correlation system
First Claim
1. A computer implemented method of service correlation, comprising the steps, performed by a computer in a semantic service mediation system, of:
- receiving a service request that provides one or more input parameters and indicates expected output parameters, wherein the one or more input parameters and the expected output parameters include objects according to an object-oriented ontology, wherein an object is defined as an instance of a class;
searching a service repository of available services to identify a candidate service interface set as being a key-based attribute-dependence correlation service interface set that satisfies the service request received in the receiving step, wherein the candidate service interface set is a plurality of service interfaces corresponding to some of the available services in the service repository, wherein the searching step is performed based only on input and output parameters of service interfaces without describing pre- and post-conditions of individual services, and wherein the searching step includes, for the candidate service interface set,querying whether for all input parameters for the candidate service interface set, each input parameter is either included in the one or more input parameters provided by the service request or else is provided as an output of a service interface in the candidate service interface set,querying whether all of the output parameters expected by the service request are provided by the candidate service interface set, includingquerying whether one or more output parameters expected by the service request are not provided by any individual service interface of the candidate service interface set, andquerying whether outputs of the plurality of service interfaces contain a complete dependence set for each of the one or more expected output parameters that are not provided by any individual service interface, wherein the complete dependence set is a collection of depended classes used together to arithmetically calculate a value for an output parameter,querying whether the plurality of service interfaces forming the candidate service interface set each require an input parameter that is an object of a key class, includingselecting, from classes corresponding to the one or more input parameters of the service request, one class for designation as the key class, andfor each service interface in the candidate service interface set, comparing each input parameter of each service interface for a match to the designated key class at least until a match is found or all input parameters of each service interface have been compared,querying whether each of the plurality of service interfaces forming the candidate service interface set contributes a unique output parameter either for the expected output parameters expected by the service request or for the complete dependence set, andidentifying the candidate service interface set as being the key-based attribute dependence correlation service interface set if and only if all of the querying steps return true,wherein a service interface indicates one or more input parameters required by a corresponding service and indicates one or more output parameters provided by the corresponding service, andwherein each service interface of the plurality of service interfaces is alone insufficient to satisfy the service request received in the receiving step;
generating a microflow from the plurality of service interfaces forming the key-based attribute-dependence correlation service interface set; and
executing the microflow generated in the generating step to invoke services from the available services in the service repository to satisfy the service request.
2 Assignments
0 Petitions
Accused Products
Abstract
A correlation-based service mediator consists of Semantic Query Generator, Service Query Manager, Service Invocation Flow Generator, Service Invocation Manager, Expression Interpreter and Service Invocation Result Cache. The Semantic Query Generator converts service request to Semantic Query based on input/output parameters in the service request. The Service Query Manager interfaces with an Ontology Engine, passing query results to Service Invocation Flow Generator, which creates service invocation flow definition based on passed query results. The Service Invocation Manager executes flow definitions. It also manages a service invocation result cache, so that invocation results can be saved and reused for later service request. When the execution results are not available in cache, the Service Invocation Manager invokes service according to flow definition. When attribute dependent functions are invoked Expression Interpreter compute the execution results. The service mediator possesses two major functionalities: service matching and service invocation.
19 Citations
9 Claims
-
1. A computer implemented method of service correlation, comprising the steps, performed by a computer in a semantic service mediation system, of:
-
receiving a service request that provides one or more input parameters and indicates expected output parameters, wherein the one or more input parameters and the expected output parameters include objects according to an object-oriented ontology, wherein an object is defined as an instance of a class; searching a service repository of available services to identify a candidate service interface set as being a key-based attribute-dependence correlation service interface set that satisfies the service request received in the receiving step, wherein the candidate service interface set is a plurality of service interfaces corresponding to some of the available services in the service repository, wherein the searching step is performed based only on input and output parameters of service interfaces without describing pre- and post-conditions of individual services, and wherein the searching step includes, for the candidate service interface set, querying whether for all input parameters for the candidate service interface set, each input parameter is either included in the one or more input parameters provided by the service request or else is provided as an output of a service interface in the candidate service interface set, querying whether all of the output parameters expected by the service request are provided by the candidate service interface set, including querying whether one or more output parameters expected by the service request are not provided by any individual service interface of the candidate service interface set, and querying whether outputs of the plurality of service interfaces contain a complete dependence set for each of the one or more expected output parameters that are not provided by any individual service interface, wherein the complete dependence set is a collection of depended classes used together to arithmetically calculate a value for an output parameter, querying whether the plurality of service interfaces forming the candidate service interface set each require an input parameter that is an object of a key class, including selecting, from classes corresponding to the one or more input parameters of the service request, one class for designation as the key class, and for each service interface in the candidate service interface set, comparing each input parameter of each service interface for a match to the designated key class at least until a match is found or all input parameters of each service interface have been compared, querying whether each of the plurality of service interfaces forming the candidate service interface set contributes a unique output parameter either for the expected output parameters expected by the service request or for the complete dependence set, and identifying the candidate service interface set as being the key-based attribute dependence correlation service interface set if and only if all of the querying steps return true, wherein a service interface indicates one or more input parameters required by a corresponding service and indicates one or more output parameters provided by the corresponding service, and wherein each service interface of the plurality of service interfaces is alone insufficient to satisfy the service request received in the receiving step; generating a microflow from the plurality of service interfaces forming the key-based attribute-dependence correlation service interface set; and executing the microflow generated in the generating step to invoke services from the available services in the service repository to satisfy the service request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
Specification