Web services data aggregation system and method
First Claim
1. A system for collecting and accessing data related to Web Services, the system comprising:
- a program storage medium storing instructions;
a processor executing the instructions, the instructions comprisingat least one registry that stores descriptions of services;
a candidate selection module that receives service criteria from a service requester, accesses the descriptions of services, and provides a list of candidate services that match the service criteria;
a dispatch module that receives the list of candidate services and invokes each service contained therein; and
a data aggregation module that receives a plurality of result objects provided by the candidate services, each result object comprising a field name, a field type, a value, and a target name, examines an element type of each element within each result object schema, counts the element type with a type count, aggregates the result objects provided by the invoked services into a composite schema comprising each target name of each result in response to receiving at least a specified number of result objects with a match of first data types, maps the element to the composite schema with a label of the element type appended with the type count for the target name, builds service result objects conforming to the composite schema, maps each value to the service result objects, aggregates metadata comprising service location and invocation timestamps, and creates a list of each value with a pointer to the results object of the value if the examined value is previously unknown by examining each value within each result object and comparing each examined value with known values.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for collecting and reviewing data related to web services receives service criteria from a service requester, selects candidate services that match the service criteria, invokes the selected candidate services, and aggregates results provided by the candidate services. In conjunction with aggregating results, the method and system builds service result objects conforming to a composite schema constructed from the various result schemas. To increase the utility of the aggregated results, metadata such as an invocation timestamp are also attached to each service result object. Result values are inspected and enumerated within a results table that may be used to determine which service result objects contain a particular result value.
-
Citations
12 Claims
-
1. A system for collecting and accessing data related to Web Services, the system comprising:
-
a program storage medium storing instructions; a processor executing the instructions, the instructions comprising at least one registry that stores descriptions of services; a candidate selection module that receives service criteria from a service requester, accesses the descriptions of services, and provides a list of candidate services that match the service criteria; a dispatch module that receives the list of candidate services and invokes each service contained therein; and a data aggregation module that receives a plurality of result objects provided by the candidate services, each result object comprising a field name, a field type, a value, and a target name, examines an element type of each element within each result object schema, counts the element type with a type count, aggregates the result objects provided by the invoked services into a composite schema comprising each target name of each result in response to receiving at least a specified number of result objects with a match of first data types, maps the element to the composite schema with a label of the element type appended with the type count for the target name, builds service result objects conforming to the composite schema, maps each value to the service result objects, aggregates metadata comprising service location and invocation timestamps, and creates a list of each value with a pointer to the results object of the value if the examined value is previously unknown by examining each value within each result object and comparing each examined value with known values.
-
-
2. A method for collecting and accessing data related to Web Services, the method comprising:
-
receiving, by use of a processor, service criteria from a service requester; accessing descriptions of services; providing a list of candidate services that match the service criteria; selecting candidate services that match the service criteria; invoking the candidate services; receiving a plurality of result objects provided by the candidate services, each result object comprising a field name, a field type, a value, and a target name; aggregating result objects provided by the candidate services into a composite schema comprising each target name of each result in response to receiving at least a specified number of result objects with a match of first data types by examining an element type of each element within each result object schema, counting the element type with a type count, mapping the element to the composite schema with a label of the element type appended with the type count for the target name, building service result objects conforming to the composite schema, and mapping each value to the service result objects, aggregating metadata comprising service location and invocation timestamps; and creating a list of each value with a pointer to the results object of the value if the examined value is previously unknown by examining each value within each result object and comparing each examined value with known values. - View Dependent Claims (3, 4, 5, 6, 7)
-
-
8. An apparatus for collecting and accessing data related to Web Services, the apparatus comprising:
-
a program storage medium storing instructions; a processor executing the instructions, the instructions comprising means for storing descriptions of services; means for receiving service criteria from a service requester, accessing the descriptions of services, and providing a list of candidate services that match the service criteria; means for receiving the list of candidate services and invoking each service contained therein; and means for receiving a plurality of result objects provided by the candidate services, each result object comprising a field name, a field type, a value, and a target name, examining an element type of each element within each result object schema, counting the element type with a type count, aggregating the result objects provided by the invoked services into a composite schema comprising each target name of each result in response to receiving at least a specified number of result objects with a match of first data types, mapping the element to the composite schema with a label of the element type appended with the type count for the target name, building service result objects conforming to the composite schema, mapping each value to the service result objects, aggregating metadata comprising service location and invocation timestamps, and creating a list of each value with a pointer to the results object of the value if the examined value is previously unknown by examining each value within each result object and comparing each examined value with known values.
-
-
9. An article of manufacture comprising a program storage medium readable by a processor and storing one or more instructions executed by processor to perform a method for collecting and accessing data related to Web Services, the method comprising:
-
receiving, by use of the processor, service criteria from a service requester; accessing descriptions of services; providing a list of candidate services that match the service criteria; selecting candidate services that match the service criteria; invoking the candidate services; receiving a plurality of result objects provided by the candidate services, each result object comprising a field name, a field type, a value, and a target name; aggregating result objects provided by the candidate services into a composite schema comprising each target name of each result in response to receiving at least a specified number of result objects with a match of first data types by examining an element type of each element within each result object schema, counting the element type with a type count, mapping the element to the composite schema with a label of the element type appended with the type count for the target name, building service result objects conforming to the composite schema, and mapping each value to the service result objects, aggregating metadata comprising service location and invocation timestamps; and creating a list of each value with a pointer to the results object of the value if the examined value is previously unknown by examining each value within each result object and comparing each examined value with known values. - View Dependent Claims (10, 11)
-
-
12. A method for aggregating data from individual sources, the method comprising:
-
receiving, by use of a processor, service criteria from a service requester, wherein the service criteria comprises name-value pairs; accessing descriptions of services; providing a list of candidate services that match the service criteria; selecting candidate services that match the service criteria; invoking the candidate services; receiving a plurality of result objects provided by the candidate services, each result object comprising a field name, a field type, a value, and a target name; aggregating result objects provided by the candidate services into a composite schema comprising each target name of each result in response to receiving at least a specified number of result objects with a match of first data types by examining an element type of each element within each result object schema, counting the element type with a type count, mapping the element to the composite schema with a label of the element type appended with the type count for the target name, building service result objects conforming to the composite schema, and mapping each value to the service result objects, aggregating metadata comprising service location and invocation timestamps; and creating a list of each value with a pointer to the results object of the value if the examined value is previously unknown by examining each value within each result object and comparing each examined value with known values.
-
Specification