BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to authentication and access to data in data stores substantially in real-time, and to service activation, including simplified provisioning and multiple data store authentication.

2. Description of Related Art

Conventionally, a user purchasing services associated with a device needs to register with a service provider to provide specific information about the user. The service provider often has a customer service center that assists the user with registration for various services associated with the wireless device. For instance, the customer service center can record personal information about the user in order to provide wireless Internet services. The service provider typically requires billing information from the user in order to identify the user and collect monies from the user for the services being provided.

When the user activates various services, the service provider may program various databases with the user's personal information, as well as information associated with the device the user is using to access the services. This process may be referred to as “provisioning.” Often, the user spends time on the phone with a representative of the service provider in order to provide the information the service provider requires in order to program the various databases. Alternatively, the user may spend time on a device associated with the user in order to provide the requisite information for the provisioning. In exchange for providing the information to the service provider, the user obtains access to certain resources made available by the service provider.

Other common-place factors in the mobile device world make repeated authentication experiences even more inconvenient. The need to access more than one account (e.g., personal and work e-mail), limited time to access an account (e.g., only a few minutes before a lengthy meeting), and the need to have access to new data in near real-time further evidence the difficulties encountered with repeated authentication. Notwithstanding, few users or enterprises are willing to surrender data security (i.e., no user or device authentication wherein anyone could conceivably access the account or data store given knowledge of the existence of that account or data store) for the sake of convenience. As such, there is a need in the art for authenticating access to multiple data stores while maintaining certain security precautions offered by user or device authentication.

Collecting the user's personal information and storing the information in the databases is frequently done in order to maintain security and ensure that each user pays for the resources being requested. However, users often resent the time it takes to register for access to the resources. Further, users may register many times with the same service provider for different resources available via the service provider. Numerous minutes or hours spent entering information required by the service provider may deter users from subscribing to the various resources offered by the service provider. There is, therefore, a need for a system and method for simplified provisioning.

SUMMARY OF THE INVENTION

An exemplary embodiment of the present invention provides a system for authenticating access to multiple data stores. The exemplary embodiment may include a server, which is coupled to a network. A client device may communicate with the server via the network. Various client devices may be used in this embodiment including cellular telephones, personal digital assistants, or a personal computer. The server may be configured to authenticate access to a plurality of data stores coupled to the server. The data stores may each include a connection management application configured to inform the server of the presence of new data or a change to existing data at the one or more data stores. The server may be configured to authenticate access to the one or more data stores and forward the new data or changed existing data from the one or more data stores to the mobile or client device. This forwarding of data may occur substantially in real-time. In one example, the data stores may be associated with an electronic mail server provider.

A further embodiment of the system may also include a short message service (SMS) center. The SMS center may be configured to transmit an SMS message to the mobile device at the instruction of the server upon the server having been informed of the presence of new data or a change to existing data at the one or more data stores. The SMS message transmitted to the mobile device may cause the mobile device to initiate a synchronization operation whereby the server authenticates access to the one or more data stores and forwards the new data or changed existing data from the one or more data stores to the mobile device.

Yet another embodiment of the system includes an Internet Protocol (IP) connection manager configured to manage an IP connection between the server and the mobile device. The IP connection may be used for and/or to initiate a synchronization operation whereby the server authenticates access to the one or more data stores and forwards the new data or the changed existing data from the one or more data stores to the mobile device.

In some instances, an SMS center may transmit an SMS message to the mobile device at the instruction of the server upon the server being informed of the presence of new data or a change to existing data at the one or more data stores prior to the IP connection manager opening an IP connection between the server and the mobile device. The SMS message transmitted to the mobile device may cause the mobile device to accept the IP connection being established by the IP connection manager and between the server and the mobile device, whereby the synchronization operation occurs asynchronously and in the background of other mobile device operations. By utilizing an SMS message to ‘wake up’ the mobile device and accept the IP connection, it may not be necessary to maintain an ongoing IP connection, which may drain battery resources or incur network bandwidth charges in some mobile devices.

In some embodiments of the aforementioned system, the server may only authenticate access to specific data stores of the one or more data stores. The specific data stores may be the one or more data stores having new data or changed existing data as indicated by the connection management application. Alternatively, the specific data stores may be those manually identified by a user of the mobile device for a particular synchronization operation. In yet another implementation, the server may only authenticate access to those data stores identified by a synchronization profile for all synchronization operations, the synchronization profile having been created by a user of the mobile device.

Authentication to the plurality of data stores may occur by utilizing data provided to the server by the client device. Authentication may also occur by comparing the data provided to the server by the client device with information at the plurality of data stores, which may have been provided by the client device during a previous authentication encounter.

In some embodiments, the server may be further configured to authenticate the client device prior to the server authenticating access to the plurality of data stores. Authentication of the client device may, for example, include the user of information identifying the client device or a token, which comprises a unique string of data. Alternatively, the server may be further configured to authenticate a user of the client prior to the server authenticating access to the plurality of data stores. Authentication may include use of a user name or a user name in further combination with a password.

In another exemplary embodiment of the present invention, a computing device for authenticating access to multiple data stores is provided. The computing device may include a communications interface for exchanging information over a network; an identification module for identifying a client device or user thereof based on information provided by the client device, the information may be provided by the client device without intervention; and a registration module for accessing multiple data stores and authenticating access to the multiple data stores by the client device or user thereof. The communications interface may also receive information from the multiple data stores following authentication and may further forward received information to the client device. The communications interface may allow for the device to communicate with an SMS center or an IP connection manager in order to inform a mobile device of the presence of new data or a change to existing data at one or more of the multiple data stores and the need to initiate a synchronization operation.

In some embodiments, a method for authenticating access to multiple data stores is provided, wherein an indication of the existence of new data or a change to existing data at one or more of the multiple data stores is received. A mobile device is then informed of the existence of new data or a change to existing data at one or more of the multiple data stores. A request from the mobile device for access to at least one of the one or more multiple data stores is received and the mobile device is queried. The query to the mobile device is for (at least) an identifier associated with stored information for accessing the one or more of the multiple data stores. The one or more of the multiple data stores are then accessed if the identifier received from the mobile device corresponds to the information associated with accessing the one or more of the multiple data stores.

In a further embodiment, information at the one or more of the multiple data stores is forwarded to the mobile device. Forwarding of this information may occur substantially in real-time. The forwarded information may be electronic mail. Data at the one or more of the multiple data stores may have been previously filtered and an indication of the existence of new data or changed existing data at the data store may be sent only when the filtered data corresponds to a particular configuration of the filter (e.g., desired data warranting the generation of an indication of new or changed existing data).

The mobile device may been informed of the existence of new data or a change to existing data at the one or more of the multiple data stores may occur through the issuance of an SMS message trigger. The mobile device may also be informed through the issuance of an IP trigger followed by establishment of an IP connection. The IP connection may, in some embodiments, occur following the issuance of an SMS trigger. Upon the mobile device being informed of the existence of the data via one of the aforementioned triggers (e.g., SMS. IP, or a combination of SMS and IP), a synchronization operation may commence.

The identification module of the computing device may identify the client device based on a client identifier. The client identifier may include a unique string of data (a token), which may have been previously assigned to the client device by the identification module. The client identifier, in another embodiment, may include a telephone number or, alternatively, a user name associated with a user of the device.

The identification module, in some embodiments of the present invention, may compare the aforementioned client identifier with information at one or more of the multiple data stores. The information at the multiple data stores may include information provided by the client device during a previous authentication operation. The registration module may also query the user of the client device for information required for accessing the multiple data stores if that information is not currently present.

An exemplary embodiment of the present invention provides a method for authenticating access to multiple data stores. In the exemplary method, a request is received from a client device to access a data store. Information associated with accessing the data store is stored and an identifier is assigned to the client device, that identifier being associated with the stored information. When a subsequent request for access to the data store is received, a query is made with respect to the identifier and if the identifier corresponds to the stored information for accessing the aforementioned data store, the data store is accessed.

In another embodiment of the aforementioned method, a client device may request access to a second data store. Information associated with accessing the second data store may be stored and further associated with the identifier initially associated with information concerning the access of the first data store. Upon receipt of a subsequent request for access to the second data store, if the assigned identifier corresponds to the information associated with accessing the second data store, access is granted to that data store. The information accessed at the first and second data store may be forwarded to the client device. That information may be electronic mail.

In yet another exemplary method for authenticating access to multiple data stores, a client device request for access to a data store is received. The client device may then be queried for an identifier associated with stored information for accessing the data store. If the assigned identifier corresponds to the information associated with accessing the data store, then the store may be accessed. The method may further include the steps of accessing a further data store if the assigned identifier corresponds to information associated with accessing the further data store. The information at the data stores may then be forwarded to the client device. The information may be electronic-mail.

An embodiment of the present invention provides for a computer-readable medium having embodied thereon a program executable by a processor to perform a method for authenticating access to multiple data stores. The method may include receiving a client device request for access to a data store; storing information associated with accessing the data store; assigning an identifier to the client device, wherein the identifier is associated with the stored information for accessing the data store; receiving a subsequent request for access to the data store; querying the client device for the assigned identifier; and accessing the data store if the assigned identifier corresponds to the information associated with accessing the data store.

The computer-readable medium may further include a program executable to receive a client device request for access to a second data store; store information associated with accessing the second data store; associate the stored information for accessing the second data store with the previously assigned identifier; receive a subsequent request for access to the second data store; and access the second data store if the assigned identifier corresponds to the information associated with accessing the second data store.

In yet another embodiment of the present invention, a computer-readable medium is provided for authenticating access to multiple data stores. The method may include receiving a client device request for access to a data store; querying the client device for an identifier associated with stored information for accessing the data store; accessing the data store if the assigned identifier corresponds to the information associated with accessing the data store; and accessing a second data store if the assigned identifier corresponds to information associated with accessing the second data store. The computer-readable medium may further include program instructions for forwarding information at the data stores to the client device, wherein the forwarded information is electronic mail.

