There is a growing popularity of social networking websites and applications which share personal information among users. While a computer user may be interested in the offerings of one or more applications which permit sharing of personal information, that user may have reservations about allowing an application provider unabridged access to the user's personal information. Safety and privacy concerns may act to dissuade a potential consumer of such applications from using a particular application requiring user personal information, especially in the case where the personal data requiring application (hereinafter “personal applications”) is offered by a provider with which the consumer is unfamiliar.
Developers of applications may have their own reservations about expending the effort required to produce quality applications. Developers are often burdened by the complexity in designing applications which are capable of safeguarding personal information. It would be desirable to provide a system for aggregating and disseminating personal information which permits responses to personal information requests originating from a personal application server, the system addressing end user privacy concerns by controlling and limiting access to end user personal information by the personal application server without significantly diminishing the usability of the application. Such a system should facilitate the development and maintenance of personal applications by addressing issues of complexity in interacting with heterogeneous data sources.
The invention herein provides a computer-implemented method of aggregating and disseminating personal data. The method includes establishing a user account for a user, wherein establishing the user account includes receiving identifying information of the user from the user. A user identifier is associated with the user account. A request for the user identifier is received from a remote application server, and an identifier request authorization is received from the user or the remote application server to provide the user identifier to the remote application server. The user identifier is provided to the remote application server in response to receiving the identifier request authorization. Personal data of a user associated with the user identifier is received from the user. A request for the personal data of the user associated with the user identifier is received from the remote application server. A data request authorization is received from the user to provide the user personal data, and the user personal data is provided to the remote application server in response to receiving the data request authorization.
The invention further provides a system for aggregating and disseminating user personal data including a computing device including a memory comprising instructions operable to enable the computing device to perform a procedure. The procedure includes establishing a user account for a user, wherein establishing the user account includes receiving identifying information of the user from the user. A user identifier is associated with the user account. A request for the user identifier is received from a remote application server, and an identifier request authorization is received from the user or the remote application server to provide the user identifier to the remote application server. The user identifier is provided to the remote application server in response to receiving the identifier request authorization. Personal data of a user associated with the user identifier is received from the user. A request for the personal data of the user associated with the user identifier is received from the remote application server. A data request authorization is received from the user to provide the user personal data, and the user personal data is provided to the remote application server in response to receiving the data request authorization.
The invention further provides a system for aggregating and disseminating user personal data including a computing device, the computing device including a software architecture. The architecture includes a first application program interface (API) configured to associate a user identifier with a user account, receive from a remote application server a request for the user identifier, receive from at least one of a user and the remote application server an identifier request authorization, and provide the user identifier to the remote application server in response to receiving the identifier request authorization. The architecture further includes a second API configured to receive user personal data of a user associated with the user identifier from a remote telecommunication carrier server, receive from the remote application server a request for the user personal data, receive a data request authorization from the user, and provide the user personal data to the remote application server in response to receiving the data request authorization.
The foregoing Summary as well as the following detailed description will be readily understood in conjunction with the appended drawings which illustrate preferred embodiments of the invention. In the drawings:
The preferred embodiments of the present invention are described below with reference to the drawing figures where like numerals represent like elements throughout.
Referring to
The management API 18 is configured to establish a user account using identifying information of a user. The personal data server 12 is configured to receive the identifying information through the management API 18 from a user client 30, such as a personal computer, mobile telephone device, or global positioning system (GPS) enabled device, via a network connection, which network connection is preferably an Internet network connection. The identifying information preferably includes at least the name of the user, an email address of a user, a telephone number associated with a user's mobile device, and a telecommunication carrier identifier associated with the user's mobile device used to establish a connection with the telecommunication carrier. The management API 18 preferably provides an interface through a client application running on the user client 30, which client application is preferably a web client, WAPclient, Java ME™ client, BREW™ client, SMS client or other suitable client. Alternatively, the personal data server 12 may be configured to receive the identifying information from the user client 30 through an interface provided by the user discovery API 14. The personal data server 12 associates a user identifier, which is preferably randomly generated, with the user account via a privacy engine 20.
The personal data server 12 is configured to receive from a remote personal application server 40 via the user discovery API 14 a request for the user identifier. The personal application server 40 is connected to the user clients 30 via a network and receives from the user clients 30 requests for services related to management and transfer of personal data. The services provided by the personal application server 40 preferably include providing personal information regarding a user of a mobile device 60 or other user client 30 to a another user or users of one or more other mobile devices 60 or user clients 30 based on preferences provided by the user. Services which support sharing of personal information among different users may include, or be delivered through applications compatible with or integral with, web-based social networking applications such as Facebook™, Yelp™, MySpace™, and Friendster™, or alternatively, through stand alone web-based or non-web-based applications.
The personal data server 12 is configured to receive via the user discovery API 14 an identifier request authorization, which, depending on the application provided by the personal application server 40 and the preference of the user, is received from either the user through the user client 30 or from the personal application server 40. In the case where the user provides the identifier request authorization, the connection between the personal application server 40 and the user client 30 is redirected to the user discovery API 14 by the personal application server 40, and after the personal data server 12 receives the identifier request authorization from the user client 30, the connection is redirected by the personal data server 12 back to the personal application server 40. In the case where the personal application server 40 provides the identifier request authorization, the identifier request authorization is preferably provided in the form of an element of known personal information from the user including but not limited to one or more of an email address, a physical address, and a telephone number associated with the user client 30. The personal data server 12 is configured to provide via the user discovery API 14 the user identifier to the personal application server 40 in response to receiving the identifier request authorization.
The personal data server 12 is configured to receive from a user client 30, which may be provided via a mobile device 60 or non-mobile device or system, via the personal data API 14, personal information of a user associated with the user identifier. The personal data server 12 is preferably configured to receive user personal information of the mobile device 60 or other user client 30 via TCP/IP communication protocol or through any suitable protocol through a telecommunication network. The a mobile device 60 or other user client 30 may further provide personal information to the personal data server 12 via a local client, for example a web, WAP, Java ME™, BREW™, SMS client on the mobile device 60.
The personal data server 12 is further configured to receive from the personal application server 40 via the personal data API 16 a request for the user personal data of the user mobile device 60 associated with the pre-determined user identifier. Prior to providing the user's personal data to the personal application server 40, a personal data request authorization must be received by the personal data server 12 via the personal data API 16 from the user through the user client 30, which as indicated above is preferably provided integral with the mobile device 60. To receive the personal data request authorization, the connection between the personal application server 40 and the user client 30 is redirected to the personal data API 16 by the personal application server 40. After the personal data server 12 receives the personal data request authorization from the user client 30, the connection is redirected by the personal data server 12 back to the personal application server 40. The personal data server 12 is configured to provide the user personal data to the personal application server 40 in response to receiving the personal data request authorization from the user client 30, and if personal data request authorization is not provided, no user personal information of the user is provided to the personal application server 40. The personal data request authorization may be received from the user client 30 as an authorization to provide user personal data at a specified level of detail or precision, one time, a predetermined number of times, for a specified time interval, until the authorization is revoked via the user client 30, or until any predetermined condition is met.
The personal data server 12 is configured to receive through the management API 18 an indication from the user of during which times the user personal data can be provided. Implementing the privacy engine 20, the personal data server 12 generates a database having a rules set based on the indication of the user. After receipt of the personal data request authorization from the user client 30, the personal data server 12 provides the user personal data to the personal application server 40 during the times indicated by the user as set forth in the rules set maintained by the privacy engine 20, and refrains from providing the user personal data to the personal application server 40 at all other times. Further, the personal data server 12 preferably can receive an indication from the user of a number of times or duration of time the user personal data may be provided to the personal application server 40 after receiving the personal data request authorization and prior to receiving an additional personal data request authorization. Alternatively, the personal data server 12 can receive an indication from the user that the user personal data may be provided to the personal application server 40 until such time as the user revokes authorization for the personal application server 40 to receive personal data.
The personal data server 12 is further configured to receive through the personal data API 16 indications from the personal application server 40 of at which times, with what frequency, and under what conditions the personal application server 40 requires the user personal data. The personal data server 12 provides the user personal data to the personal application server 40 at the times indicated, at the frequency indicated, and under the conditions specified by the personal application server 40 when or to the extent that such times, frequency, or conditions are not conflicting with indications received from the user. Accordingly, the personal data server 12 is configured to provide the user personal data to the personal application server 40 based on one or more indications from the personal application server 40 and one or more indications of the user. Preferably, the personal data server 12 provides the user personal data to the personal application server 40 in conformance with the one or more indications from the personal application server 40 to the extent that the one or more indications from the personal application server 40 do not conflict with the one or more indications of the user. As an example, if the personal application server 40 is running an application which requires for proper functionality to receive personal data generally continuously without reauthorizations after an initial user authorization, and the user requires reauthorization by the user each time personal data is requested by an personal application server 40 regardless of user preference, then the application cannot function and personal application server 40 can notify the user client 30 accordingly.
The personal data server 12 is configured to receive from the personal application servers 40 identifying information and to transmit the identifying information of the personal application servers 40 to the telecommunication carrier server 50. The identifying information of the personal application servers 40 preferably includes a publisher name or names of an application or applications running on the personal application servers 40. Alternatively, the identifying information can include any suitable information, including information useful for determining a level trustworthiness of the personal application servers 40. The personal data server 12 is further configured to transmit to the user through a user client 30 indications received from the personal application servers 40 of at which times, with what frequency, at what level of detail and under what conditions each of the personal application servers 40 require the user personal data. Based on the identifying information and/or the indications received from a particular personal application server 40, the user via a user client 30 can transmit to the personal data server 12 indications of at which times, with what frequency, at what level of detail and under what conditions user personal data can be provided to the particular personal application server 40 or a particular application running on the particular personal application server 40. In such a manner, a user can for different personal application servers 40 provide different indications of at which times, with what frequency, at what level of detail and under what conditions personal data can be provided. For example, a personal application server 40 considered to be trusted may be permitted to receive more detailed personal data of the user than a personal application server 40 considered to be non-trusted based on the identifying information of the personal application server 40.
The personal data server 12 preferably transmits to each personal application server 40 indications received from the user of at which times, with what frequency, under what conditions, and at what level of detail personal data can be provided to each personal application server 40. A personal application server 40 is therefore able to communicate to a user whether an application running on the personal application server 40 is compatible with the indications of the user associated with the user's client 30, for example whether the indications of the user are too restrictive to permit an application to function properly. Alternatively, the personal data server 12 can communicate to a user whether an application running on the personal application server 40 is compatible with the indications of the user with the user's client 30.
The personal data server 12 is further configured to receive from the personal application server 40 via the personal data API 16 a request for an authorization to provide the user personal data to a peer. The peer is preferably another user who uses the user personal data for interaction with an application running on the personal application server 60. Such application may include for example a game which requires users to exchange personal information in the process of playing the game. A permission is received by the personal data server 12 via the personal data API 16 from the user through the user client 30 to provide the user personal data to the peer. In response to the received permission, the personal data server 12 provides to the remote application server 40 the authorization to provide the user personal data to the peer.
Referring to
The personal data preferably includes an indication of a determined action and a duration or frequency of the determined action. The personal data can further include user age, gender, health and economic status, user web browsing history information, user data exchange history information. The method further alternatively includes receiving from another user a request for the user personal data and an indication of transferred value, and providing the user personal data to the another user via the remote application server in response to receiving the indication of transferred value and the request from the another user, in such manner the user can sell his or her personal data in view of such indication of transferred value.
The method further alternatively includes receiving from the user an indication of a plurality of users which are permitted to receive the user personal data via the remote application server and receiving from another user not included in the plurality of users a request for the user personal data, denying access of the another user to the user personal data, and transmitting a notification to the user of the request from the another user for the user personal data. In such manner the user can be notified of users who request personal data but who are not so authorized.
Referring to
In the case where user authorization is not required as a prerequisite for providing the user identifier to the personal application server 40, for example in instances where a user has already provided identifying information to the personal application server 40, steps 202, 206, 208, 212, 214, 216 and 220 are omitted. In such case, the personal application server 40 preferably provides an application-specific access token in the step 222 which includes identifying information previously provided to the personal application server 40 by the user in order to retrieve the user's user identifier.
Referring to
Referring to
The personal data server 12 through the management API 18 transmits a request to the supervisory client 430 to provide the permission for a particular personal application server 40 in response to receiving the identifier request authorization from the user client 30 or the personal application server 40, or in response to receiving the personal data request authorization from the user client 30. Alternatively, the personal data server 12 transmits the request to the supervisory client 430 to provide the permission in response to receiving any suitable indication from the user client 30 that the supervised user desires to provide user personal data to a particular personal application server 40. In this manner, a parent or other person or entity in a supervisory role over a supervised user may exercise control over which personal application servers 40 have access to the supervised user's personal data, and consequently, what types of personal applications the supervised user may use. Preferably, after the personal data server 12 receives the identifier request authorization, personal data request authorization or other suitable indication from the user client 30 that the user desires to provide personal data to a particular personal application server 40, the personal data API 16 enters a pending status until such time as the permission is received from the supervisory client 430. If the permission is not received from the supervisory client 430 within a predetermined period of time or if an indication is received from the supervisory client 430 that a permission is denied, the personal data server 12 ceases acceptance of a permission from the supervisory client 430 and transmits an indication of a denial to the user client 30 via the management API 18. The supervisory user through the supervisory client 430 is preferably required to provide login credentials to the management API 18 prior to providing the permission or providing an indication that an indication is denied.
While the preferred embodiments of the invention have been described in detail above, the invention is not limited to the specific embodiments described above, which should be considered as merely exemplary. Further modifications and extensions of the present invention may be developed, and all such modifications are deemed to be within the scope of the present invention as defined by the appended claims.
This application claims the benefit of U.S. provisional application No. 61/217,321, filed Jun. 1, 2009, which is incorporated by reference as if fully set forth.
Number | Date | Country | |
---|---|---|---|
61217321 | Jun 2009 | US |