Context service system
First Claim
Patent Images
1. A context service system, comprising:
- a data aggregator component receiving context data from a plurality of different types of external data sources, comprising a plurality of files, a plurality of applications, a plurality of mobile devices, and one or more cellular networks, that provide context data in different formats and including a first type of external data source that provides user specific context information indicative of a user'"'"'s identity, and schedule, and a second type of external data source that provides device context data indicative of a type of external computing device used by the user, and a type of application used by the computing device used by the user, the data aggregator component arranging the context data in a generalized format;
a data store receiving the context data in the generalized format from the aggregator component and storing the context data; and
a computer processor, being a functional component of the system and activated by the data aggregator component to facilitate implementation of the data provider component;
wherein the data aggregator component comprises;
a programming interface having exposed methods invoked to receive the context data and store the context data in the data store; and
a data provider component receiving a data add request from one or more of the external data sources, the data add request including corresponding device context data, the data provider component invoking a method from among the exposed methods on the programming interface based on the data add request, selecting one or more external devices indicated by the device context data that corresponds to the data add request, and customizing the selected external devices with the context data in the generalized format to register the one or more selected external devices to the user and configure the one or more external devices for the user;
wherein the data add request identifies context data to be stored and wherein the data provider component receives the context data to be stored and generates a context object representing the context data to be stored in the generalized format;
wherein the data provider component invokes the method on the programming interface to provide the context object to the programming interface; and
wherein the data aggregator component is a first data aggregator component in the system and the system further comprises a second data aggregator component, a local cache, and a local find service, wherein the second data aggregator component is in communicative connection with the first data aggregator component, wherein the local find service is configured to receive a data add request from one or more of the external data sources, to invoke a method from among the exposed methods on a second programming interface comprised in the second data aggregator component based on the data add request, wherein the second data aggregator component first seeks the context information based on the data add request on the local cache, and if the context information is not found on the local cache, then the second data aggregator component seeks the context information based on the data add request from the first data aggregator component, and customizes the selected external devices with the context data in the generalized format.
2 Assignments
0 Petitions
Accused Products
Abstract
The present system aggregates information from a plurality of different context sources. The present system also makes that aggregated information available to requesting components by abstracting it into a generalized form. Thus, the developer of a context-aware application need only know how to interact with the context service of the present invention, rather than knowing how to interact with each and every one of the context sources.
42 Citations
23 Claims
-
1. A context service system, comprising:
-
a data aggregator component receiving context data from a plurality of different types of external data sources, comprising a plurality of files, a plurality of applications, a plurality of mobile devices, and one or more cellular networks, that provide context data in different formats and including a first type of external data source that provides user specific context information indicative of a user'"'"'s identity, and schedule, and a second type of external data source that provides device context data indicative of a type of external computing device used by the user, and a type of application used by the computing device used by the user, the data aggregator component arranging the context data in a generalized format; a data store receiving the context data in the generalized format from the aggregator component and storing the context data; and a computer processor, being a functional component of the system and activated by the data aggregator component to facilitate implementation of the data provider component; wherein the data aggregator component comprises; a programming interface having exposed methods invoked to receive the context data and store the context data in the data store; and a data provider component receiving a data add request from one or more of the external data sources, the data add request including corresponding device context data, the data provider component invoking a method from among the exposed methods on the programming interface based on the data add request, selecting one or more external devices indicated by the device context data that corresponds to the data add request, and customizing the selected external devices with the context data in the generalized format to register the one or more selected external devices to the user and configure the one or more external devices for the user; wherein the data add request identifies context data to be stored and wherein the data provider component receives the context data to be stored and generates a context object representing the context data to be stored in the generalized format; wherein the data provider component invokes the method on the programming interface to provide the context object to the programming interface; and wherein the data aggregator component is a first data aggregator component in the system and the system further comprises a second data aggregator component, a local cache, and a local find service, wherein the second data aggregator component is in communicative connection with the first data aggregator component, wherein the local find service is configured to receive a data add request from one or more of the external data sources, to invoke a method from among the exposed methods on a second programming interface comprised in the second data aggregator component based on the data add request, wherein the second data aggregator component first seeks the context information based on the data add request on the local cache, and if the context information is not found on the local cache, then the second data aggregator component seeks the context information based on the data add request from the first data aggregator component, and customizes the selected external devices with the context data in the generalized format. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method of providing context data to a requesting application, comprising:
-
aggregating, with a computer processor, context data using a first data aggregator component from a plurality of different remote data sources, comprising a plurality of files, a plurality of applications, a plurality of mobile devices, and one or more cellular networks, that provide context data in different formats from one another over a network connection, the context data defining a physical location of a user and user qualification information indicative of the user'"'"'s training, and device information indicative of an application running on a mobile device assigned to the user, wherein a second data aggregator component is in communicative connection with the first data aggregator component and includes an associated local cache and local find server; abstracting the aggregated data into a generalized format; receiving a context data request from the requesting application, the context data request itself including context data; selecting, with the processor, one or more external devices indicated by the context data that corresponds to the context data request; providing the one or more selected external devices with access to the abstracted aggregated data; customizing the one or more selected external devices with the abstracted aggregated data; receiving a data add request at the local find service from one or more of the external devices; invoking a method from among exposed methods on a programming interface comprised in the second data aggregator component based on the data add request; and seeking context information based on the data add request on the local cache, and if the context information is not found on the local cache, then the second data aggregator component seeks the context information based on the data add request from the first data aggregator component, and customizes the selected external devices with the context data in the generalized format. - View Dependent Claims (20, 21, 22, 23)
-
Specification