Systems and methods for simplified provisioning

Information

  • Patent Grant
  • 7796742
  • Patent Number
    7,796,742
  • Date Filed
    Thursday, April 21, 2005
    19 years ago
  • Date Issued
    Tuesday, September 14, 2010
    14 years ago
Abstract
A system and method for simplified provisioning is provided. The method comprises storing information associated with a user during a non-provisioning event. The information is utilized to pre-fill a registration related to a provisioning event. One or more communications are forwarded to the user requesting information to complete the registration for the provisioning event based on the information stored.
Description
BACKGROUND OF THE INVENTION

1. Field of the Invention


The present invention relates generally to service activation, and more particularly to systems and methods for simplified provisioning.


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.


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.


Therefore, there is a need for a system and method for simplified provisioning.


SUMMARY OF THE INVENTION

The present invention provides a system and method for simplified provisioning. In a system according to one embodiment, a server for storing information associated with a user during a non-provisioning event and for forwarding one or more communications to the user related to a provisioning event based on the information stored is provided.


In a method according to another embodiment, information associated with a user during a non-provisioning event is stored. The information is utilized to pre-fill a registration related to a provisioning event. One or more communications are forwarded to the user requesting information to complete the registration for the provisioning event based on the information stored.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 shows an exemplary environment for providing simplified provisioning in accordance with one embodiment;



FIG. 2 shows a schematic diagram of an exemplary provisioning module in accordance with one embodiment;



FIG. 3 shows a flow diagram of an exemplary process for providing simplified provisioning in accordance with one embodiment; and



FIG. 4 shows a detailed process for providing simplified provisioning in accordance with one embodiment





DESCRIPTION OF EXEMPLARY EMBODIMENTS

Referring to FIG. 1, an exemplary environment for providing simplified provisioning in accordance with one embodiment is shown. A client 102 communicates with a server 106 via a network 104. The client 102 may include any type of device, such as a cellular telephone, a personal digital assistant (PDA), a personal computer, etc.


Any type of provisioning may be provided according to various embodiments. For instance, the provisioning may include an event registering a user in response to a user request for services, a communication to the user offering services, a communication to the user including activation data, a communication to the user with a uniform resource locator (URL) where the user can obtain additional information regarding services, and so on (“provisioning event”). Any type of provisioning event is within the scope of one embodiment.


Similarly, any type of services provided by a service provider managing the provisioning events is possible. For instance, the service provider may provide internet services, application services, wireless services, and so on.


A provisioning module 108 may be coupled to the server 106 for providing provisioning event related services. In one embodiment, the provisioning module 108 is included as a component of the server 106. In another embodiment, the provisioning module 108 provides provisioning event related processing for various servers.


The server 106 may include or otherwise have access to one or more storage mediums 110. Any type of storage medium 110 may be employed according to various embodiments. In FIG. 1., the server 106 is coupled to the storage medium(s) 110 for storing and accessing information included in the storage medium(s) 110.


In an exemplary embodiment, the client 102 contacts the server 106 via the network 104 in order to request and/or access services provided by a service provider associated with the server 106. For example, a user at the client 102 may wish to subscribe to email services available by the service provider. The server 106 requests information about the user at the client 102, or about the client 102, itself before allowing the user to access services. In order to verify that the client 102 is genuine, the server 106 may access the storage medium(s) 110 to match data provided by the client 102 with information the server 106 stored in the storage medium(s) 110 as a result of prior encounters with the client 102.


Any manner of collecting information associated with the user and/or the device 102 associated with the user may be employed. The server 106 may collect the information from previous encounters with the device 102, from other service providers associated with the user and/or the device 102, and/or from any sources providing information about the user and/or the device 102.


The server 106 utilizes the provisioning module 108 to provide specified services and configurations for those services to the user at the client 102. The provisioning module 108 may verify information associated with the client 102 in one embodiment. The provisioning module 108 may have access to the storage medium(s) 110 via the server 106 or via a direct connection to the storage medium(s) 110.


Turning now to FIG. 2, a schematic diagram of an exemplary provisioning module 108 in accordance with one embodiment is shown. The provisioning module 108 may provide users with accounts, the appropriate access to those accounts, all the rights associated with those accounts, all of the resources necessary to manage the accounts, and so forth. Provisioning may be utilized to refer to service activation and may also involve programming various databases, such as the storage medium(s) 110, with the user's information, as discussed herein. Although the server 106 may be identified as performing various functions, any of the functions may be performed by the provisioning module 108 and/or components thereof.


The provisioning module 108 may include an identification component 202. The identification component 202 may perform various tasks related to identifying the client 102 and/or the user associated with the client 102. The identification component 202 may assign an identifier to the client 102 and/or information associated with the user at the client 102 when the client 102 is connected to the server 106. The identification component 202 may store the information in the storage medium(s) 110 according to the identifier the identification component 202 associates with the information.


In one embodiment, the identification component 202 assigns a unique identifier, such as a number string, to the client 102 and stores the information associated with the client 102 according to the unique identifier. The identification component 202 may then forward the unique identifier to the client 102 as a communication, or part of a communication, so that the client 102 can provide the unique identifier when the client 102 connects to the server 106 on another occasion.


In another embodiment, a phone number associated with the client 102 is utilized by the identification component 202 to store information associated with the client 102. Accordingly, when the client 102 makes further contact with the server 106, the phone number may be used to access the information stored according to the phone number. The user may provide the phone number associated with the client 102 and/or the client 102 may provide the phone number to the server 106 when initial access to the server 106 is gained by the client 102.


The identification component 202 may also compare information provided by the user of the client 102 with information stored in the storage medium(s) 110 related to the client 102. The comparison may be performed in order to verify that the user of the client 102 is the same user of the client 102 about which the server 106 captured information during a previous encounter. The comparison may also be performed to ensure that the client 102 information in the storage medium(s) 110 is accurate.


For instance, if the phone number is utilized as the identifier and the phone number provided by the user at the client 102 in response to a query is different from the phone number in the storage medium(s) 110, the user may have entered the phone number incorrectly, the original information gathered at the server 106 may have been entered incorrectly, and so on. The information from the storage medium(s) 110 and the client 102 may be compared for any reason. As discussed herein, the server 106 may collect the information associated with the user and/or the client 102 during previous encounters with the client 102 and/or from any other sources.


A registration component 204 may also be included with the provisioning module 108. The registration component 204 can utilize information from the storage medium(s) 110 to “pre-fill”, or to otherwise fill in information associated with, a registration for the user associated with the client 102. The server 106 captures information about the user when the client 102 accesses the server 106 initially and/or from any other source, as discussed herein.


For example, when the client 102 logs onto the server 106 to check email, the server 106 may capture the phone number of the client 102, the username of the user associated with the client 102, or any other information associated with the client 102. The information is stored in the storage medium(s) 110 according to a unique identifier assigned by the identification component 202, according to the phone number associated with the client 102, or according to any other method. When the client 102 logs onto the server 106 again in order to request instant messaging services, for example, the registration component 204 accesses the information in the storage medium(s) 110 in order to complete a registration for the user at the client 102 requesting the services.


The registration component 204 can then query the user for any information needed for registration that is not included in the information in the storage medium(s) 110. In one embodiment, information associated with the user and the client 102 is collected by the server 106 from other sources, rather than from a previous encounter the client 102 had with the server 106, as discussed herein. For instance, another service provider may forward information associated with the client 102, the server 106 may access information about the client 102 on available databases utilizing the phone number or other information about the client 102, and so forth. Any manner of gathering information about the client 102 to pre-fill the registration for services is within the scope of an embodiment.


The registration component 204 can register the user at the client 102 for any services offered by the service provider associated with the server 106, or otherwise. In one embodiment, the registration component 204 can pre-fill information related to services being requested by the user other than identification information. For instance, the server 106 may store information related to user preferences in the storage medium(s) 110. When the user requests services, the registration component 204 may utilize the user preferences information to pre-fill feature selections associated with the requested services. For example, the registration component 204 may pre-select calendar features for the user according to user preferences captured by the server 106 about user activity related to other services, whether those services are offered by the service provider or not.


A billing component 206 may be included with the provisioning module 108. The billing component 206 can track user activity of the services provided by the service provider. Accordingly, the billing component 206 can determine when to bill the user for the services being provided. The registration component 204 can provide user information to the billing component 206 that may be needed regarding where to bill the user, such as an email address, for instance.


An application generator 208 may be included with the provisioning module 108 for configuring the application and/or services requested by the user for the device 102 associated with the user. The application generator 208 can also create the application for the user including any features the user desires. Any type of application generator 208 may be provided.


In one embodiment, the application generator 208 may utilize provisioning templates to create the profiles for configuring various devices, such as the client 102 (FIG. 1) associated with the user. For instance, the templates may provide the parameters for creating a particular application. The user can also specify customizations to the application, which can be used to modify the template for the application by the application generator 208. In other words, the provisioning templates can provide parameters for configuring various devices for the services as well as customizing the actual service features.


A communications interface 210 may also be provided with the provisioning module 108. The communications interface 210 receives communications from the user and/or the server 106 and processes the input utilizing the components discussed herein.


Although the provisioning module 108 is described as including various components, the provisioning module 108 may include more components or fewer components than those listed and still fall within the scope of an embodiment of the invention. For example, the provisioning module 108 may also include business rules for building the applications, a customer service component for managing applications and errors, a protocol configuration component for managing a variety of protocols associated with various devices, and so forth.



FIG. 3 shows a flow diagram of an exemplary process for providing simplified provisioning in accordance with one embodiment. At step 302, information associated with a user during a non-provisioning event is stored. As discussed herein, the information may be stored in the storage medium(s) 110. The server 106 collects information about the user and the client 102 associated with the user when contact is made with the server 106 at a time when provisioning is not occurring. In one embodiment, as discussed herein, the server may collect information related to the user and the client 102 from another source, rather than from the client 102, which also may constitute a non-provisioning event.


In one embodiment, the information related to the user and the client 102 may be collected during one or more previous provisioning events. For instance, the server 106 may store information associated with the user and the client 102 during previous provisioning events in order to avoid or limit querying the user for the same information during future provisioning events.


The information may be stored according to a phone number associated with the device 102 and/or according to a unique identifier assigned to the device 102. For example, the server 106 may assign a unique identifier to the information collected from the device 102 when the device 102 is connected to the server 106. In order to associate the unique identifier to the device 102 for recognition during future contact with the server 106, a text message, for example, can be sent to the device 102 with the unique identifier. The unique identifier may then be sent back to the server 106 to identify the device 102 if the phone number, for example, cannot be accessed by the server 106. As discussed herein, in one embodiment, the server 106 receives information about the user and/or the client 102 from a third party source and stores the information according to the phone number and/or a unique identifier.


At step 304, the information is utilized to pre-fill a registration related to a provisioning event. The information collected by the server 106 from the client 102 during a previous contact with the server 106 and/or from another source (e.g., phone network) is utilized to complete as much of a registration as possible without user input. Accordingly, the user at the client 102 is not required to provide information that the server 106 can access itself.


At step 306, one or more communications are forwarded to the user. The one or more communications are based on the information stored and request information to complete the registration for the provisioning event. In one embodiment, the information requested to complete the registration includes a user query to verify that the information used to complete the registration is correct. The information requested may include a user query to provide a password to complete the registration process, in another embodiment.


By using the information collected by the server 106 during a non-provisioning event that occurred prior to a current provisioning event to complete a registration, or a portion of the registration, the user at the client 102 can provide less information than required if no information about the user was accessible or utilized to pre-fill the registration. Accordingly, the user at the client 102 is provided with simplified provisioning.


Turning now to FIG. 4, a detailed process for providing simplified provisioning in accordance with one embodiment is shown. At step 402, information associated with a user is stored. As discussed herein, the information may be stored by the server 106 to one or more storage mediums, such as the storage medium(s) 110 discussed in FIG. 1.


An identifier is assigned to the information at step 404. The identifier may be assigned to the information in order to locate the information in the storage medium(s) 110, in order to compare the information with other information provided by the user during future contacts with the server 106, and so on. The identifier may be assigned to the information for any reason. As discussed herein, the identifier may be a phone number associated with a device of the user, such as the device 102 discussed in FIG. 1, a unique identifier assigned by the identification component 202 of the provisioning module 108 associated with the server 106, and/or any other type of identifier.


At step 406, the user is queried for identification during a provisioning event. The identification sought from the user may be confirmation of the identifier used to store the information at step 404, such as the phone number and/or the unique identifier. The identification sought, however, may be any type of information from the user. For example, a “username” may be sought in order to match the username associated with the user with the username stored in the storage medium(s) 110.


At step 408, the information is accessed in order to match the identification from the user with the identifier associated with the information in response to receiving the identification from the user. The provisioning module 108 accesses the information in the storage medium(s) 110, directly or via the server 106, associated with the user and compares that information with the identification received from the user in response to the query.


By locating the information in the storage medium(s) 110 that was previously collected, the information can be utilized to register the user during the provisioning event at step 410. The information can complete the registration or a portion of the registration associated with the services for which the provisioning event is taking place. By completing the registration or a portion of the registration with information existing about the user and the user device, such as the device 102 discussed in FIG. 1, the user is only required to provide data for the registration not included in the information from the storage medium(s) 110. Thus, the user experiences a streamlined provisioning process.


In one embodiment, as discussed herein, the information is utilized to complete the registration and the user is queried to verify that the information utilized is correct. In another embodiment, the user is queried to verify the accuracy of the information utilized according to a length of time between the provisioning event and when the information was collected. For instance, if the information was collected by the server 106 less than one month prior to the provisioning event, the server 106 may not seek verification from the user that the information is still accurate.


At step 412, the use is queried for a password in order to complete the provisioning event. The password may help to ensure that an intended user receives services. For instance, the server 106 may forward the communication regarding services to a user that did not request the services or requested the services using another user's information. Provisioning related information may erroneously reach users for a variety of reasons. The user is queried for the password in order to verify that the user matches the intended user. For instance, if the provisioning information is sent to a “user b” rather than the intended “user a”, “user b” will likely not know the “user a” password and resultantly will not be able to receive the services intended to go to the “user a.”


The provisioning event is completed in response to receiving the password at step 414. The password is compared with a password in the storage medium(s) 110. Provided the password matches the password known for the particular user, the provisioning event may be completed. In one embodiment, the server 106 accesses another database with user password information in order to confirm that the password provided is correct. Any method of verifying the password may be employed.


As discussed herein, the information from the storage medium(s) 110 may be sufficient for completing the registration for the service provider. However, the service provider may require additional information to complete the registration. For instance, the information about the user and/or the client 102 associated with the user the server 106 originally captured may not provide enough information about the user and/or the client 102 required for the registration for the services associated with the provisioning event. Accordingly, more information may be collected from the user. As part of the simplified provisioning process described in FIG. 4, or any other exemplary provisioning process, the user may be queried for additional information to complete the registration.


In one embodiment, the server 106 stores information associated with the user during the client 102 connection with the server sometime prior to the provisioning event. Using the provisioning templates, discussed in FIG. 2 in connection with the application generator 208, the server 106 may collect other information about the user from third party databases in order to complete registration for provisioning for many of the service provider's services based on the provisioning templates. Any type of method for gathering information about the user and/or the device 102 associated with the user for simplifying provisioning is within the scope of various embodiments.


While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. For example, any of the elements associated with the provisioning module may employ any of the desired functionality set forth hereinabove. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described exemplary embodiments.

Claims
  • 1. A method for provisioning a computing device with a service, the method comprising: storing information associated with a user of the computing device in a memory of a server, wherein the stored information is a phone number associated with a device of the user, and stored during a non-provisioning event;executing instructions stored in memory, wherein execution of the instructions by a processor determines that the stored information requires additional information to provision the computing device with the service;querying the user for additional information not included in the memory of the server, wherein the additional information is required to provision the computing device with the service;querying the user to verify the phone number provided during a non-provisioning event before forwarding one or more communications associated with provisioning the computing device; andforwarding one or more communications from the server to the computing device, the one or more communications based on the stored information from the non-provisioning event and the additional information required to provision the computing device with the service.
  • 2. The method of claim 1, further comprising requesting password information from the user.
  • 3. The method of claim 1, wherein the information is stored on the server according to an assigned unique identifier.
  • 4. The method of claim 1, further comprising utilizing the information to register the user for provisioning.
  • 5. The method of claim 1, further comprising pre-filling information associated with the user, wherein the pre-filled information is previously collected by the server and stored in the memory of the server.
  • 6. A system for provisioning a computing device to provide a service, the system comprising: a memory to store information associated with a user of the computing device, wherein the stored information is a phone number associated with a device of the user, the phone number stored during a non-provisioning event;a processor to execute instructions stored in memory to: determine that the stored information includes information required to provision the computing device with the service,query the user for additional information not included in memory and required to provision the computing device with the service, andquery the user to verify the phone number before forwarding one or more communications associated with provisioning the computing device; andan interface to forward one or more communications to the computing device, the one more communications based on the stored information required to provision the computing device with the service.
  • 7. The system of claim 6, further comprising requesting password information from the user.
  • 8. The system of claim 6, wherein the information is stored on the server according to an assigned unique identifier.
  • 9. The system of claim 6, further comprising utilizing the information to register the user for provisioning.
  • 10. The system of claim 6, further comprising pre-filling information associated with the user, wherein the pre-filled information is previously collected by the server and stored in the memory of the server.
  • 11. A computer-readable storage medium having embodied thereon a program, the program being executable by a processor to perform a method, the method comprising: storing information associated with a user of the computing device in a memory of a server, wherein the stored information is a phone number associated with a device of the user, and stored during a non-provisioning event;determining that the stored information requires additional information to provision the computing device with the service;querying the user for additional information not included in the memory of the server, wherein the additional information is required to provision the computing device with the service;querying the user to verify the phone number provided during a non-provisioning event before forwarding one or more communications associated with provisioning the computing device; andforwarding one or more communications to the computing device the one or more communications based on the stored information from the non-provisioning event and the additional information required to provision the computing device with the service.
  • 12. The computer-readable storage medium of claim 11, further comprising requesting password information from the user.
  • 13. The computer-readable storage medium of claim 11, wherein the information is stored on the server according to an assigned unique identifier.
  • 14. The computer-readable storage medium of claim 11, further comprising utilizing the information to register the user for provisioning.
  • 15. The computer-readable storage medium of claim 11, further comprising pre-filling information associated with the user, wherein the pre-filled information is previously collected by the server and stored in the memory of the server.
US Referenced Citations (103)
Number Name Date Kind
4831582 Miller et al. May 1989 A
4875159 Cary et al. Oct 1989 A
4897781 Chang et al. Jan 1990 A
5263157 Janis Nov 1993 A
5386564 Shearer et al. Jan 1995 A
5392390 Crozier Feb 1995 A
5559800 Mousseau et al. Sep 1996 A
5572643 Judson Nov 1996 A
5581749 Hossain et al. Dec 1996 A
5600834 Howard Feb 1997 A
5613012 Hoffman et al. Mar 1997 A
5623601 Vu Apr 1997 A
5627658 Connors et al. May 1997 A
5630081 Rybicki et al. May 1997 A
5634053 Noble et al. May 1997 A
5647002 Brunson Jul 1997 A
5652884 Palevich Jul 1997 A
5666553 Crozier Sep 1997 A
5680542 Mulchandani et al. Oct 1997 A
5682524 Freund et al. Oct 1997 A
5684990 Boothby Nov 1997 A
5701423 Crozier Dec 1997 A
5704029 Wright, Jr. Dec 1997 A
5706502 Foley et al. Jan 1998 A
5710918 Lagarde et al. Jan 1998 A
5713019 Keaten Jan 1998 A
5715403 Stefik Feb 1998 A
5717925 Harper et al. Feb 1998 A
5721908 Lagarde et al. Feb 1998 A
5721914 DeVries Feb 1998 A
5727202 Kucala Mar 1998 A
5729735 Meyering Mar 1998 A
5745360 Leone et al. Apr 1998 A
5752246 Rogers et al. May 1998 A
5757916 MacDoran et al. May 1998 A
5758150 Bell et al. May 1998 A
5758354 Huang et al. May 1998 A
5765171 Gehani et al. Jun 1998 A
5778346 Frid-Neilsen et al. Jul 1998 A
5785355 Main Jul 1998 A
5787441 Beckhardt Jul 1998 A
5790425 Wagle Aug 1998 A
5790790 Smith Aug 1998 A
5799318 Cardinal et al. Aug 1998 A
5802312 Lazardis et al. Sep 1998 A
5832483 Barker Nov 1998 A
5857201 Wright, Jr. et al. Jan 1999 A
5862223 Walker et al. Jan 1999 A
5870759 Bauer et al. Feb 1999 A
5898780 Liu et al. Apr 1999 A
5909689 Van Ryzin Jun 1999 A
5943676 Boothby Aug 1999 A
5961590 Mendez Oct 1999 A
5968131 Mendez et al. Oct 1999 A
6006274 Hawkins et al. Dec 1999 A
6023708 Mendez et al. Feb 2000 A
6044381 Boothby et al. Mar 2000 A
6085192 Mendez et al. Jul 2000 A
6119171 Alkhatib Sep 2000 A
6131096 Ng et al. Oct 2000 A
6131116 Riggins et al. Oct 2000 A
6138124 Beckhardt Oct 2000 A
6141664 Boothby Oct 2000 A
6151606 Mendez Nov 2000 A
6170014 Darago et al. Jan 2001 B1
6212529 Boothby et al. Apr 2001 B1
6223187 Boothby et al. Apr 2001 B1
6233341 Riggins May 2001 B1
6324542 Wright, Jr. et al. Nov 2001 B1
6430602 Kay et al. Aug 2002 B1
6535892 LaRue et al. Mar 2003 B1
6615253 Bowman-Amuah Sep 2003 B1
6625621 Tan et al. Sep 2003 B2
6671757 Multer et al. Dec 2003 B1
6708221 Mendez et al. Mar 2004 B1
6799190 Boothby Sep 2004 B1
6886030 Easterbrook Apr 2005 B1
6965917 Aloni Nov 2005 B1
6987734 Hundemer Jan 2006 B2
7100821 Rasti Sep 2006 B2
7149780 Quine et al. Dec 2006 B2
7240095 Lewis Jul 2007 B1
7373386 Gardner et al. May 2008 B2
20010034225 Gupte Oct 2001 A1
20030084165 Kjellberg May 2003 A1
20040006630 Friend et al. Jan 2004 A1
20040049599 Friend et al. Mar 2004 A1
20040054739 Friend et al. Mar 2004 A1
20040082346 Skytt et al. Apr 2004 A1
20040128375 Rockwell Jul 2004 A1
20040133626 Herrero et al. Jul 2004 A1
20040167966 Lee et al. Aug 2004 A1
20040268148 Karjala et al. Dec 2004 A1
20050010694 Ma et al. Jan 2005 A1
20050055578 Wright et al. Mar 2005 A1
20050094625 Bouat May 2005 A1
20060031365 Kay et al. Feb 2006 A1
20060069687 Cui Mar 2006 A1
20060149843 Rhoads et al. Jul 2006 A1
20060165226 Ernst et al. Jul 2006 A1
20060168043 Eisenberger et al. Jul 2006 A1
20060190984 Heard et al. Aug 2006 A1
20070118620 Cartmell et al. May 2007 A1
Foreign Referenced Citations (7)
Number Date Country
1422899 May 2004 EP
9824257 Jun 1998 WO
0130130 May 2001 WO
2004045171 May 2004 WO
03098890 Nov 2004 WO
2005015925 Feb 2005 WO
2005020108 Mar 2005 WO