Method and apparatus for tagged deletion of user online history

An approach is provided for deleting a user's online data across different services and platforms based on contextual selection criteria. The deletion manager determines at least one request to delete data associated with at least one user, the request specifying at least in part one or more contextual parameters. The deletion manager determines one or more data records associated with the at least one user from one or more services, one or more applications, or a combination thereof. The deletion manager causes, at least in part, a deletion of the one or more data records based, at least in part, on whether the data at least substantially meet the one or more contextual parameters.

BACKGROUND

Service providers and device manufacturers (e.g., wireless, cellular, etc.) are continually challenged to deliver value and convenience to consumers by, for example, providing compelling network services. One area of interest has been the development of online services and platforms that enable users to more effectively share content, personal information, comments, etc. (i.e., online data) with friends, colleagues, and the public at large on the Web. More specifically, this type of sharing can include, at least in part, real-time updates (e.g., posting a current location or status on a social networking service) and more static updates (e.g., posting a comment or opinion on a blog or message board). In addition, users are joining a growing number of social networking services and/or blogs with different content and friends among the networks. Consequently, unless specifically prohibited or blocked, much of the information that a user shares is unknowingly available to various third parties and can be readily used to profile a particular user. When most users learn how accessible their online data is to third parties, including metadata associated with each post (e.g., a time and a location of the post), they often want to delete parts or all of that data from the Web (i.e., be more in control of which parts of their web history remains available and visible to others). However, interacting and deleting personal content, information, comments, etc. from each and every social networking service and/or blog (assuming that a user can remember all of his or her memberships) is cumbersome and time consuming and, therefore, reduces the overall user experience. Accordingly, service providers and device manufacturers face significant technical challenges in providing a centralized service that enables a user to effectively and efficiently delete online data associated with the user across different online services and platforms.

SOME EXAMPLE EMBODIMENTS

Therefore, there is a need for an approach for deleting a user's online data across different services and platforms based on contextual selection criteria.

According to one embodiment, a method comprises determining at least one request to delete data associated with at least one user, the request specifying at least in part one or more contextual parameters. The method also comprises determining one or more data records associated with the at least one user from one or more services, one or more applications, or a combination thereof. The method further comprises causing, at least in part, a deletion of the one or more data records based, at least in part, on whether the data at least substantially meet the one or more contextual parameters.

According to another embodiment, an apparatus comprises at least one processor, and at least one memory including computer program code for one or more computer programs, the at least one memory and the computer program code configured to, with the at least one processor, cause, at least in part, the apparatus to determine at least one request to delete data associated with at least one user, the request specifying at least in part one or more contextual parameters. The apparatus is also caused to determine one or more data records associated with the at least one user from one or more services, one or more applications, or a combination thereof. The apparatus further causes, at least in part, a deletion of the one or more data records based, at least in part, on whether the data at least substantially meet the one or more contextual parameters.

According to another embodiment, a computer-readable storage medium carries one or more sequences of one or more instructions which, when executed by one or more processors, cause, at least in part, an apparatus to determine at least one request to delete data associated with at least one user, the request specifying at least in part one or more contextual parameters. The apparatus is also caused to determine one or more data records associated with the at least one user from one or more services, one or more applications, or a combination thereof. The apparatus further causes, at least in part, a deletion of the one or more data records based, at least in part, on whether the data at least substantially meet the one or more contextual parameters.

According to another embodiment, an apparatus comprises means for determining at least one request to delete data associated with at least one user, the request specifying at least in part one or more contextual parameters. The apparatus also comprises means for determining one or more data records associated with the at least one user from one or more services, one or more applications, or a combination thereof. The apparatus further comprises means for causing, at least in part, a deletion of the one or more data records based, at least in part, on whether the data at least substantially meet the one or more contextual parameters.

For various example embodiments, the following is applicable: An apparatus comprising means for performing the method of any of the originally filed claims.

DESCRIPTION OF SOME EMBODIMENTS

Examples of a method, apparatus, and computer program for deleting a user's online data across different services and platforms based on contextual selection criteria are disclosed. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the invention. It is apparent, however, to one skilled in the art that the embodiments of the invention may be practiced without these specific details or with an equivalent arrangement. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the embodiments of the invention.

FIG. 1is a diagram of a system capable of deleting a user's online data across different services and platforms based on contextual selection criteria, according to one embodiment. As previously discussed, one area of interest has been the development of online services and platforms that can enable users to more effectively share content, personal information, and/or comments, etc. (i.e., online data) with friends, colleagues, and the public at large on the Web. More specifically, this type of sharing can be in real-time (e.g., posting a current location or status on a social networking service) or more static (e.g., posting a comment or opinion on a blog or message board). Moreover, users are joining a growing number of social networking services and blogs with different content and friends among the networks. As a result, unless specifically prohibited or blocked, much of the online data that a user shares is readily available to third parties (e.g., an employer) and can be unknowingly used to profile a particular user (e.g., someone applying for a job). When most users learn how accessible their online data is to third parties, including metadata associated with each post (e.g., a time and a location of the post), they want to delete parts or all of that data from the Web (i.e., be more in control of which parts of their web history remains available and visible to others). Moreover, over time, a user's interests often change and/or mature and what a user may have considered “cool” in college, for example, he or she may not consider “cool” later as an adult. However, interacting and deleting personal content, information, and/or comments, etc. from each and every social networking service and/or blog associated with a user (assuming that the user can remember all of his or her memberships) is cumbersome and, therefore, reduces the overall user experience. Therefore, service providers and device manufacturers significant technical challenges in providing a centralized service that enables a user to effectively and efficiently delete online data associated with the user across different services and platforms.

To address this problem, a system100ofFIG. 1introduces the capability to delete a user's online data across different services and platforms based on contextual selection criteria. In one embodiment, the system100first processes and/or facilitates a processing of sensor information associated with one or more devices (e.g., a mobile phone or a tablet) associated with at least one user to cause, at least in part, a generation of contextual metadata (e.g., a time, a location, an activity, a keyword, a surrounding environment including nearby people, etc.). By way of example, the system100can generate time-based contextual metadata based, at least in part, on a device clock; location-based contextual metadata based, at least in part, on a global positioning system (GPS) receiver, for example; activity-based contextual metadata based, at least in part, on an accelerometer; contextual metadata based, at least in part, on nearby contacts (e.g., one or more Bluetooth® profiles cross-referenced by the system100against user profiles on one or more social networking services) as well as one or more keywords, etc. More specifically, the system100generates the contextual metadata in an automated fashion so that the at least one user does not have to provide contextual information (e.g., an activity) for each and every data record or post. Then, in one embodiment, the system100causes, at least in part, at least one mapping between the one or more data records and the corresponding contextual metadata based, at least in part, on the sensor information (e.g., GPS). In particular, the system100maps or “tags” the contextual metadata to the one or more data records because it is contemplated that the one or more data records are not stored by the system100, but rather are maintained by the one or more services (e.g. a social networking service).

In one or more embodiments, the system100causes, a local storage of the contextual metadata at (1) the one or more devices; (2) at least one server not associated with the one or more services, the one or more applications (e.g., a social networking service application), or a combination thereof; or (3) a combination thereof. For example, the server may be maintained by a trusted (cloud-based) service provider that acts as an agent on behalf of the at least one user. More specifically, by maintaining the contextual metadata separate and apart from the one or more data records stored by the one or more services, the one or more service providers are unaware of the associated contextual metadata. As a result, the system100can better protect the privacy sensitive contextual metadata and the privacy of at least one user. This is important because users are generally reluctant to share contextual metadata associated with their mobile devices (e.g., a mobile phone) with the one or more services for fear of misuse and/or mismanagement.

In one embodiment, the system100next determines at least one request to delete data associated with at least one user, the request specifying at least in part the one or more contextual parameters. More specifically, the request may be based, at least in part, on one or more physical inputs (e.g., typing on a virtual keyboard), one or more audio inputs (e.g., voice recognition), one or more gestural inputs (e.g., a swiping motion, a tapping, a long press, etc.), etc. Moreover, the data associated with the at least one user includes, at least part, both data posted explicitly by the at least one user as well as data posted by a friend or a stranger, for example, but that may refer to the at least one user (e.g., a “tagged” photograph). As previously discussed, it is contemplated that most users are unpleasantly surprised when they learn the amount of information that can be inferred about them based on a simple web search. And, when they do become aware, they generally want to delete parts or all of their web data (i.e., be more in control of which parts of their web history remains available and visible on the Web). In addition, as previously discussed, a user's priorities and perceptions often evolve over time. For example, what a user may have considered “cool” as an adolescent, he or she may not consider “cool” later as an adult (e.g., when applying for a job). Further, it is contemplated that users may also wish to delete one or more data records to organize their digital lives (e.g., delete data from a website that a user no longer uses or visits). Accordingly, in one embodiment, the at least one user is able to specify to the system100user-friendly deletion criteria based, at least in part, on the one or more contextual parameters, the contextual metadata, or a combination thereof.

In one embodiment, the system100can determine both syntactic location information (e.g., GPS coordinates) and semantic location information (e.g., “office,” “home,” “school,” etc.). By way of example, the system100can enable the at least one user to delete one or more data records while engaged in a particular activity or referring to a specific activity (e.g., a soccer game). In addition, the system100can also enable the at least one user to delete one or more data records when the at least one user is nearby specific people (e.g., someone contained within the user's contacts) or when the at least one user was with a particular individual (e.g., an ex-husband or ex-wife). Further, the system100can enable the at least one user to combine one or more contextual parameters and/or keywords to cause, at least in part, the deletion of the corresponding data records (e.g., “August” and “office”).

In one or more embodiments, the system100next determines one or more credentials associated with the at least one user, the one or more devices, or a combination thereof. By way of the example, the one or more credentials may include, at least in part, a login, a username, a password, etc. Moreover, in one embodiment, it is contemplated that at the start of the system100, the at least one user may be required to input his or her one or more credentials for each of the one or more applicable services in a database, for example. In one embodiment, the system100then processes and/or facilitates a processing of the one or more credentials to determine the one or more data records, the one or more services (e.g., a social networking service), the one or more applications (e.g., a social networking application), or a combination thereof. For example, the system100can match the one or more stored credentials with the one or more corresponding services to determine the one or more data records associated with the at least one user.

In one embodiment, once the system100determines the one or more credentials and the applicable one or more services, the system100can process and/or facilitate a processing of the request to cause, at least in part, a transmission of the request to the one or more corresponding services, the one or more corresponding applications, or a combination thereof. In particular, in one embodiment, it is contemplated that the system100can transform the deletion request to a service provider specific deletion request and can invoke one or more provider specific deletion application programming interfaces (APIs). Further, in one embodiment, the system100functions as a centralized interface (e.g., a user interface (UI)/user experience (UX)) to enable the at least one user to delete the one or more data records associated with the at least one user across one or more applicable services. Consequently, the at least user does not have to open each particular service client (e.g., a social network client) to delete the one or more data records associated with the at least one user.

In one or more embodiments, after the system100gains access to the one or more services, the one or more applications, or a combination thereof, the system100determines the one or more data records associated with the at least one user from the one or more services, the one or more applications, or a combination thereof. By way of example, the one or more data records may include both real-time updates (e.g., current location posts or status information) and/or more static updates (e.g., comments or opinions posted on a blog or message board). Moreover, as previously discussed, the one or more data records may include, at least in part, any public information about the at least one user accessible online irrespective of the device (e.g., a mobile phone, a tablet, a laptop, etc.), the platform (e.g., an operating system), the application (e.g., a mobile social network application), etc. used to post the one or more data records and irrespective of the provider who holds or stores the one or more data records (e.g., a cellphone carrier, a device original equipment manufacturer (OEM), a social networking service, a web search provider, a mapping platform provider, etc.).

In one embodiment, the system100next processes and/or facilitates a processing of the one or more data records to determine contextual metadata associated with the one or more data records, wherein the deletion is further based, at least in part, on the contextual metadata. As previously discussed, the contextual metadata may include, at least in part, a time period, a location, an activity, a keyword, a surrounding environment including nearby people, etc. In particular, in one embodiment, the system100can determine the mapped contextual metadata based, at least in part, on the at least one mapping between the one or more data records and the corresponding contextual metadata. Moreover, it is contemplated that the contextual metadata enables the at least one user, the system100, or a combination thereof to quickly filter the ubiquitous online data records in a user-friendly manner.

In one or more embodiments, the system100then causes, at least in part, a deletion of the one or more data records based, at least in part, on whether the data at least substantially meets the one or more contextual parameters. In one example use case, if the one or more contextual parameters include a specific time and a specific location, for example, then the system100can cause, at least in part, the deletion of the one or more data records associated with the at least one user that reference that specific time, that specific location, or a combination thereof. Moreover, the system100can cause, at least in part, both a physical deletion of the one or more data records as well as a removal of one or more associations between the at least one user and the one or more relevant data records.

In one embodiment, the system100causes, at least in part, one or more modifications of the one or more data records based, at least in part, on the at least one request, wherein the deletion includes, at least in part, the one or more modifications. For example, the system100can cause, at least in part, a deletion of one or more data records based, at least in part, on a modification of a privacy setting or a visibility level (e.g., family only), a transmission of a privacy violation report to the one or more applicable services (e.g., when the at least one user did not post the data himself or herself, but the data still is associated with the at least one user such as a “tagged” photograph), a manipulation of the content (e.g., blurring someone's face in a picture to hide his or her identity), etc.

In one or more embodiments, the system100can also process and/or facilitate a processing of the request, the one or more contextual parameters, or a combination thereof to determine one or more related contextual parameters (i.e., reverse tagging the one or more contextual parameters). More specifically, once the system100determines the one or more contextual parameters specified by the at least one user, the system100can reverse map the one or more contextual parameters to determine one or more data records associated with the one or more related contextual parameters. For example, a request to delete one or more data records corresponding to location “L” can be reversed mapped or reverse tagged by the system100to also include one or more data records corresponding to one or more related contextual parameters regarding the time (t) period time “t1-t2,” assuming that the system100can determine that the at least one user was in location “L” during the time period “t1-t2.” In one embodiment, the system100can then cause, at least in part, at least one other deletion based, at least in part, on the one or more related contextual parameters (e.g., location “L” and time period “t1-t2”). Consequently, the system100can then cause, at least in part, at least one other deletion of the one or more data records corresponding to the time period “t1-t2” based, at least in part, on the initial request to delete the one or more data records corresponding to location “L”.

In one embodiment, the system100can also determine one or more search results based, at least in part, on the request, the one or more contextual parameters, the contextual metadata, or a combination thereof. In particular, it is contemplated that the at least one user can input one or more contextual parameters in a user interface element, for example, to determine the one or more corresponding data records on the one or more applicable services. In certain embodiments, the system100can then cause, at least in part, a presentation of the one or more search results in the at least one user interface element (e.g., a display of a mobile phone or a tablet).

As shown inFIG. 1, the system100comprises one or more user equipment (UE)101a-101m(e.g., mobile phones and/or tablets) (also collectively referred to as UEs101) having connectivity to a deletion platform103via a communication network105. The UEs101include or have access to one or more applications107a-107m(also collectively referred to as applications107). By way of example, the applications107may include social networking applications, web browsing applications, word processing applications, mapping and/or navigation applications, media applications, etc. Moreover, the UEs101also include one or more sensors109a-109m(e.g., a GPS receiver, an accelerometer, a Bluetooth® antenna, etc.). In addition, the UEs101include a deletion manager111that has substantially similar capabilities as the deletion platform103and, therefore, is interchangeable with the deletion platform103.

In one embodiment, the deletion platform103/deletion manager111may include or be associated with at least one contextual metadata database113. In one example embodiment, the deletion platform103may exist in whole or in part within a UE101, or independently, and the contextual metadata database113may exist in whole or in part within a UE101, the deletion manager111, or independently. The contextual metadata database113may include contextual metadata associated with the at least one user, the one or more devices, or a combination thereof. The contextual metadata database113may also include one or more metadata mappings between the one or more data records associated with at least one user and the corresponding contextual metadata. Further, the contextual metadata database113also may include one or more credentials associated with the at least one user, the one or more devices, or a combination thereof.

The UEs101are also connected to a services platform115via the communication network105. The services platform115includes one or more services117a-117n(also collectively referred to as services117). The services117may include a wide variety of content provisioning services for the applications107. By way of example, the services117may include social networking services, blogging services, mass messaging services, cloud-based storage services, photo manipulation services, location-based services, media services, etc. The UEs101, the services platform115, the services117also have connectivity to one or more content providers119a-119p(also collectively referred to as content providers119) via the connection network105. The content providers119also may provision a wide variety of content (e.g., “tagged” media) to the components of the system100.

In certain embodiments, the deletion platform103and/or one or more of the applications107may utilize location-based technologies (e.g., GPS, cellular triangulation, Assisted GPS (A-GPS), etc.) to determine the location of the UEs101. For example, a UE101may include a GPS receiver to obtain geographic coordinates from satellites121to determine its current location. In one embodiment, the deletion manager111may cause, at least part a generation of the contextual metadata (e.g., location information) based, at least in part, on a position relative to a UE101.

In one embodiment, the deletion platform103/deletion manager111first processes and/or facilitates a processing of sensor information associated with a UE101(e.g., from the sensors109) associated with at least one user to cause, at least in part, a generation of contextual metadata (e.g., a time, a location, an activity, a keyword, a nearby person, etc.). While the deletion platform103and the deletion manager111are interchangeable, the various embodiments of the present invention disclosed herein mainly reference the deletion manager111for the sake of explanation. By way of example, the deletion manager111can generate time-based contextual metadata based, at least in part, on a device clock; location-based contextual metadata based, at least in part, on a GPS receiver, for example, activity-based contextual metadata based, at least in part, on an accelerometer; nearby contacts based, at least in part, on Bluetooth® (e.g., one or more Bluetooth® profiles cross-referenced by the deletion manager111against one or more user profiles on one or more social networking services), etc. In particular, the deletion manager111generates the contextual metadata in an automated fashion so that the at least one user does not have to provide contextual information (e.g., a time period) for each and every data record or post associated with the at least one user. Thereafter, in one embodiment, the deletion manager111causes, at least in part, at least one mapping between the one or more data records and the corresponding contextual metadata based, at least in part, on the sensors information.

In one or more embodiments, the deletion manager111causes, at least in part, a local storage of the contextual metadata at (1) the UEs101(e.g., in the contextual metadata database113); at least one server not associated with the one or more services117(e.g., a social networking service), the applications107(e.g., a social networking service application), or a combination thereof; or (3) a combination thereof. More specifically, by maintaining the contextual metadata separate and apart from the one or more data records stored by the services117, the services117are unaware of the associated contextual metadata. Consequently, the deletion manager111can better protect the privacy sensitive contextual metadata and the privacy of the at least one user.

In one embodiment, the deletion manager111next determines at least one request to delete data associated with at least one user, the request specifying at least in part the one or more contextual parameters. In particular, the data associated with the at least one user includes, at least in part, both data posted explicitly by the at least one user as well as data posted by a friend or a stranger, for example, that may refer to the at least one user (e.g., a “tagged” photograph). Moreover, in one embodiment, the deletion manager111can determine both syntactic location information (e.g., GPS coordinates) and semantic location information (e.g., “office,” “home,” “school,” etc.). In addition, the deletion manager111can enable the at least one user to delete one or more data records while engaged in a particular activity or referring to a specific activity (e.g., a football game). Moreover, the deletion manager111can also enable the at least one user to delete one or more data records when the at least one user is nearby specific people or when the at least one user was with a particular individual. Further, the deletion manager111can enable the at least one user to combine one or more contextual parameters and/or keywords to cause, at least in part, the deletion of the corresponding data records.

In one or more embodiments, the deletion manager111then determines one or more credentials associated with the at least one user, the UEs101, or a combination thereof. In particular, in one embodiment, it is contemplated that at the initial start of the deletion manager111, the at least one user may be required to input his or her one or more credentials for each of the one or more applicable services117in the contextual metadata database113, for example. In one embodiment, the deletion manager111next processes and/or facilitates a processing of the one or more credentials to determine the one or more data records, the one or more services117(e.g., a social networking service), the one or more applications107(e.g., a social networking application), or a combination thereof. By way of example, the deletion manager111can match the one or more credentials stored in the contextual metadata database113, for example, with the one or more corresponding services117to determine the one or more data records associated with the at least one user.

In one embodiment, once the deletion manager111determines the one or more credentials and the applicable services117, the deletion manager111can process and/or facilitate a processing of the request to cause, at least in part, a transmission of the request to the one or more applicable services117, the one or more applicable applications107, or a combination thereof. In particular, in one embodiment, it is contemplated that the deletion manager111can transform the deletion request to a service provider specific deletion request and can invoke one or more provider specific deletion APIs. Further, in one embodiment, the deletion manager111can function as a centralized interface to enable at least one user to delete the one or more data records associated with the at least one user across the respective services117.

In one or more embodiments, after the deletion manager111gains access to the one or more services117(e.g., a social networking service), the one or more applications107(e.g., a social networking application), or a combination thereof, the deletion manager111determines the one or more data records associated with the at least one user from the one or more services117, the one or more applications107, or a combination thereof. As previously discussed, the one or more data records may include, at least in part, any public information about the at least one user accessible online irrespective of the type of UE101(e.g., a mobile phone), the platform (e.g., an operating system), the application107(e.g., a mobile social network application), etc. used to post the one or more data records and irrespective of the provider (e.g., a service117or a content provider119) that holds or stores the one or more data records (e.g., a cellphone carrier, a device OEM, a social networking service, a web search provider, a mapping platform provider, etc.).

In one embodiment, the deletion manager111next processes and/or facilitates a processing of the one or more data records to determine contextual metadata associated with the one or more data records, wherein the deletion is further based, at least in part, on the contextual metadata. In particular, in one embodiment, the deletion manager111can determine the contextual metadata based, at least in part, on the at least one mapping between the one or more data records and the corresponding metadata. Further, it is contemplated that the mapped contextual metadata can enable the at least one user, the deletion manager111, or a combination thereof to quickly filter the ubiquitous online data records in a user-friendly manner.

In one or more embodiments, the deletion manager111then causes, at least in part, a deletion of the one or more data records based, at least in part, on whether the data at least substantially meet the one or more contextual parameters. In one example use case, if the one or more contextual parameters include a specific time and a specific location, for example, then the deletion manager11can cause, at least in part, the deletion of the one or more data records associated with the at least one user that reference that specific time, that specific location, or a combination thereof. Moreover, the deletion manager111can cause, at least in part, both a physical deletion of the one or more data records as well as a removal of one or more associations between the at least one user and the one or more data records. In particular, in one embodiment, the deletion manager111causes, at least in part, one or more modifications of the one or more data records based, at least in part, on the at least one request, wherein the deletion includes, at least in part, the one or more modifications. By way of example, the deletion manager111can cause, at least in part, a deletion of one or more records based, at least in part, on a modification of a privacy setting or a visibility level, a transmission of a privacy violation report to the one or more applicable services117, a manipulation of the content, etc.

In one embodiment, the deletion manager111can also process and/or facilitate a processing of the request, the one or more contextual parameters, or a combination thereof to determine one or more related contextual parameters (i.e., reverse tagging the one or more contextual parameters). In particular, once the deletion manager111determines the one or more contextual parameters specified by the at least one user, the deletion manager111can reverse map the one or more contextual parameters to determine one or more data records associated with the one or more related contextual parameters. In one embodiment, the deletion manager111can also determine one or more search results based, at least in part, on the request, the one or more contextual parameters, the contextual metadata, or a combination thereof. More specifically, it is contemplated that the at least one user can input one or more contextual parameters in a user interface element of a UE101, for example, to determine the one or more corresponding data records on the one or more applicable services117. In one or more embodiments, the deletion manager111can then cause, at least in part, a presentation of the one or more search results in the at least one user interface element (e.g., a display of a mobile phone or a tablet).

FIG. 2is a diagram of the components of a deletion platform103/deletion manager111, according to one embodiment. Again, while the deletion platform103and the deletion manager111are interchangeable, the various embodiments of the present invention disclosed herein mainly reference the deletion manager111for the sake of explanation. By way of example, the deletion manager111includes one or more components for deleting a user's online data across different services and platforms based on contextual selection criteria. It is contemplated that the functions of these components may be combined in one or more components or performed by other components of equivalent functionality. In this embodiment, the deletion manager111includes a control logic201, a communication module203, a context module205, a mapping module207, a storage module209, a user interface (UI) module211, a data collection module213, an analyzer module215, a deletion module217.

The control logic201oversees tasks, including tasks performed by the communication module203, the context module205, the mapping module207, the storage module209, the UI module211, the data collection module213, the analyzer module215, the deletion module217. For example, although the other modules may perform the actual task, the control logic201may determine when and how those tasks are performed or otherwise direct the other modules to perform the task.

The communication module203is used for communication between the UEs101, the deletion platform103, the applications107, the sensors109, the deletion manager111, the contextual metadata database113, the services platform115, the services117, the content providers119, and the satellites121. The communication module203may also be used to communicate commands, requests, data, etc. In one embodiment, the communication module203, in connection with the UI module211, may also be used to process and/or facilitate a processing of a request to cause, at least in part, a transmission of the request to the one or more services, the one or more applications, or a combination thereof. In particular, in one embodiment, the communication module203can transform the deletion request to a service provider specific deletion request and can invoke one or more provider specific deletion application programming interfaces (APIs). The communication module203also may be used in connection with the UI module211to cause, at least in part, a presentation of the one or more search results in at least one user interface element (e.g., a display of a mobile device).

The context module205is used to process and/or facilitate a processing of sensor information associated with the one or more devices associated with the at least one user to cause, at least in part, a generation of the contextual metadata. For example, the context module205can generate time-based contextual metadata based, at least in part, on a device clock; location-based contextual metadata based, at least in part, on a GPS receiver; activity-based information based, at least in part, on an accelerometer; contextual metadata based, at least in part, on nearby contacts (e.g., one or more Bluetooth® profiles cross-referenced by the analyzer module215against one or more user profiles on the one or more services) as well as one or more keywords, etc.

In one embodiment, the mapping module207is used to cause, at least in part, at least one mapping between the one or more data records and the corresponding contextual metadata based, at least in part, on the sensor information. More specifically, the mapping module207may be used to map or tag the contextual metadata to the one or more data records because it is contemplated that the one or more data posts are not stored by the deletion manager111, but rather are maintained by the one or more services (e.g., a social networking service).

The storage module209is used to cause, at least in part, a local storage of the contextual metadata at (1) the one or more devices; (2) at least one server not associated with the one or more services, the one or more applications, or a combination thereof; or (3) a combination thereof. For example, the contextual metadata may be maintained by a trusted (cloud-based) service provider that acts as an agent on behalf of the at least one user. In addition, the storage module209may be used to maintain the storage of the contextual metadata, the one or more metadata mappings, or a combination thereof in the contextual metadata database113. Further, the storage module209also may be used to manage the storage of the one or more credentials associated with the at least one user, the one or more devices, or a combination thereof also stored in the contextual metadata database113.

In one embodiment, the user interface (UI) module211is used to determine at least one request to delete data associated with at least one user, the request specifying at least in part one or more contextual parameters. By way of example, the request may be based, at least in part, on one or more physical inputs (e.g., typing on a virtual keyboard), one or more audio inputs (e.g., voice recognition), one or more gestural inputs (e.g., a swiping motion, a tapping, a long press, etc.), or a combination thereof. As previously discussed, the UI module211, in connection with the communication module203, also may be used to process and/or facilitate a processing of the request as well as cause, at least in part, a presentation of the one or more search results in at least one user interface element.

The data collection module213is used to determine one or more credentials associated with at least one user, the one or more devices, or a combination thereof. More specifically, the one or more credentials may include, at least in part, a login, a username, a password, etc. Moreover, in one embodiment, it is contemplated that during the start of the deletion manager111, the at least one user may be required to enter his or her one or more credentials associated with the one or more applicable services in a database, for example. The data collection module213may also be used to determine one or more data records associated with the at least one user from the one or more services (e.g., a social networking service), the one or more applications (e.g., a social networking application), or a combination thereof. By way of example, the data collection module213can determine both real-time updates (e.g., current location posts or status information) and/or more static updates (e.g., posting a comment or opinion on a blog or message board). The data collection module213also may be used to determine one or more search results based, at least in part, on the request, the one or more contextual parameters, the contextual metadata, or a combination thereof. In particular, it is contemplated that if the at least one user inputs one or more contextual parameters using the at least one user interface element, for example, then the data collection module213can determine the one or more corresponding data records on the one or more services (e.g., a social networking service).

In one embodiment, the analyzer module215is used to process and/or facilitate a processing of the one or more credentials to determine the one or more data records, the one or more services, the one or more applications, or a combination thereof. For example, the analyzer module215can match the one or more stored credentials and the one or more corresponding services to determine one or more data records associated with the at least one user. The analyzer module215may also be used to process and/or facilitate a processing of the one or more data records to determine contextual metadata associated with the one or more data records. Moreover, the analyzer module215can determine the contextual metadata based, at least in part, on the at least one mapping between the one or more data records and the contextual metadata. In addition, the analyzer module215also may be used to process and/or facilitate a processing of the request, the one or more contextual parameters, or a combination thereof to determine one or more related contextual parameters. In particular, once the analyzer module215determines the one or more contextual parameters specified by the at least one user, the analyzer module215can reverse map or reverse tag the one or more contextual parameters to determine one or more corresponding data records associated with the one or more related contextual parameters.

The deletion module217is used to cause, at least in part, a deletion of the one or more data records based, at least in part, on whether the data at least substantially meet the one or more contextual parameters. In one example use case, if the one or more contextual parameters include a specific time and a specific location, for example, then the deletion module217can cause, at least in part, the deletion of the one or more data records associated with the at least one user that reference that specific time, that specific location, or a combination thereof. Moreover, the deletion module217can cause, at least in part, both a physical deletion of the one or more data records as well as the removal of one or more associations between the at least one user and the one or more data records. In one embodiment, the deletion module217may also be used to cause, at least in part, one or more modifications of the one or more data records based, at least in part, on the at least one request, wherein the deletion, the at least one other deletion, or a combination thereof includes, at least in part, the one or more modifications. For example, the deletion module217can delete the one or more data records based, at least in part, on a modification of a privacy setting or a visibility level, a transmission of a privacy violation report to the one or more applicable services, a manipulation of the content, etc. The deletion module217also may cause, at least in part, at least one other deletion based, at least in part, on the one or more related contextual parameters. As previously discussed, the analyzer module215may determine one or more related contextual parameters (e.g., location “L” and time period “t1-t2”) based, at least in part, a reverse mapping or reverse tagging process. More specifically, the deletion module217can then cause the deletion of the one or more data records corresponding to time period “t1-t2” based, at least in part, on the request to delete the one or more data records corresponding to location “L”.

FIGS. 3 and 4are flowcharts of processes for deleting a user's online data across different services and platforms based on contextual selection criteria, according to one embodiment. In particular,FIG. 3depicts a process300of determining one or more relevant data records associated with at least one user. In one embodiment, the deletion platform103/deletion manager111performs the process300and is implemented in, for instance, a chip set including a processor and a memory as shown inFIG. 9. In step301, the deletion manager111processes and/or facilitates a processing of sensor information associated with one or more devices associated with the at least one user to cause, at least in part, a generation of the contextual metadata. By way of example, the deletion manager111can generate time-based contextual metadata based, at least in part, on a device clock; location-based contextual metadata based, at least in part, on a GPS receiver, for example; activity-based contextual metadata based, at least in part, on an accelerometer; contextual metadata based, at least in part, on nearby contacts (e.g., one or more Bluetooth® profiles cross-referenced by the deletion manager111against user profiles on one or more social networking services) as well as one or more keywords, etc. In particular, the deletion manager111generates the contextual metadata in an automated fashion so that the at least one user does not have to provide contextual information (e.g., a location) for each and every data record or post associated with the at least one user.

In step303, the deletion manager111causes, at least in part, at least one mapping between the one or more data records and the corresponding contextual metadata based, at least in part, on the sensor information. In one example use case, the deletion manager111maps or “tags” the contextual metadata to the one or more data records because it is contemplated that the one or more data records are not stored by the deletion manager111, but rather are maintained by the one or more services (e.g., a social networking service).

In step305, the deletion manager111causes, at least in part, a local storage of the contextual metadata at (1) the one or more devices; (2) at least one server not associated with the one or more services, the one or more applications, or a combination thereof; or (3) a combination thereof. By way of example, the server may be maintained by a trusted (cloud-based) service provider that acts as an agent on behalf of the at least on one user. In particular, by maintaining the contextual metadata separate and apart from the one or more data records stored by the one or more services, the one or more service providers are unaware of the associated contextual metadata. Consequently, the deletion manager111can better protect the privacy sensitive contextual metadata and the privacy of the at least one user. As previously discussed, this is important because users are generally reluctant to share contextual metadata associated with their mobile devices (e.g., a mobile phone or a tablet) with the one or more services for fear of misuse and/or mismanagement of the contextual metadata.

In step307, the deletion manager111determines at least one request to delete data associated with at least one user, the request specifying at least in part one or more contextual parameters. In particular, the request may be based, at least in part, on one or more physical inputs (e.g., typing on a virtual keyboard), one or more audio inputs (e.g., voice recognition), one or more gestural inputs (e.g., a swiping motion, a tapping, a long press, etc.), etc. In addition, the data associated with the at least one user includes, at least in part, both data posted explicitly by the at least one user as well as data posted by a friend or a stranger, for example, that refers to the at least one user (e.g., a “tagged” photograph). Moreover, in one embodiment, the deletion manager111can determine both syntactic location information (e.g., GPS coordinates) and semantic location information (e.g., “office,” “home,” “school,” etc.). For example, the deletion manager111can enable the at least one user to delete one or more data records while engaged in a particular activity or referring to a specific activity (e.g., family reunion). In addition, the deletion manager111can enable the at least one user to delete one or more data records when the at least one user is nearby specific people (e.g., someone listed within the user's contacts) or when the at least one user was with a particular individual (e.g., a former friend). Further, the deletion manager111can enable the at least one user to combine one or more contextual parameters and/or keywords to cause, at least in part, the deletion of the corresponding data records (e.g., “August” and “office”).

In step307, the deletion manager111determines one or more credentials associated with the at least one user, the one or more devices, or a combination thereof based, at least in part, on the request. In one example use case, the one or more credentials may include, at least in part, a login, a username, a password, etc. Moreover, in certain embodiments, it is contemplated that at the start of the deletion manager111, the at least one user may be required to input his or her one or more credentials for each of the one or more applicable services in a database, for example. Then in step309, the deletion manager111processes and/or facilitates a processing of the one or more credentials to determine the one or more data records, the one or more services, the one or more applications, or a combination thereof. By way of example, the one or more services may include, at least in part, one or more social networking services that the at least one user is a member of or belongs to and the one or more applications may include, at least in part, one or more social networking applications. In addition, the deletion manager111can match the one or more credentials stored in a local database (e.g., the contextual metadata database113) with the one or more corresponding services to determine the one or more data records associated with the at least one user.

In step311, the deletion manager111processes and/or facilitates a processing of the request to cause, at least in part, a transmission of the request to the one or more services, the one or more applications, or a combination thereof. By way of example, in one embodiment, it is contemplated that the deletion manager111can transform the deletion request to a service provider specific deletion request and can invoke one or more provider specific deletion APIs. Further, in one embodiment, the deletion manager111can function as a centralized interface (e.g., a UI/UX) to enable the at least one user to delete of the one or more data records associated with the at least one user across one or more respective services. As a result, the at least one user is not required to open each particular service client (e.g. a social network client) to delete the one or more relative data records.

In step313, once the deletion manager111gains access to the one or more services, the one or more applications, or a combination thereof, the deletion manager111determines one or more data records associated with the at least one user from one or more services, one or more applications, or a combination thereof. By way of example, the one or more data records may include both real-time updates (e.g., current location posts or status information) and/or more static updates (e.g., comments or opinions posted on a blog or a message board). In addition, as previously discussed, the one or more data records may include, at least in part, any public information about the at least one user accessible online irrespective of the device (e.g., a mobile phone, a tablet, a laptop, etc.), the platform (e.g., an operating system), the application (e.g., a mobile social network application), etc. used to post the one or more data records and irrespective of the provider who holds or stores the one or more data records (e.g., a cellphone carrier, a device OEM, a social networking service, a web search provider, a mapping platform provider, etc.).

In step315, the deletion manager111processes and/or facilitates a processing of the one or more data records to determine contextual metadata associated with the one or more data records, wherein the deletion is further based, at least in part, on the contextual metadata. In one example use case, the contextual metadata may include, at least in part, a time period, a location, an activity, a keyword, a surrounding environment including nearby people, etc. More specifically, in one embodiment, the deletion manager111can determine the contextual metadata based, at least in part, on the at least one mapping between the one or more data records and the corresponding contextual metadata. Further, it is contemplated that the mapped contextual metadata enables the at least one user, the deletion manager111, or a combination thereof to quickly filter the ubiquitous online data records in a user-friendly manner.

FIG. 4depicts a process400of deleting one or more data records associated with at least one user and presenting one or more search results. In one embodiment, the deletion platform103/deletion manager111performs the process400and is implemented in, for instance, a chip set including a processor and a memory as shown inFIG. 9. In step401, the deletion manager111causes, at least in part, a deletion of the one or more data records based, at least in part, on whether the data at least substantially meet the one or more contextual parameters. In one example use case, if the one or more contextual parameters include a specific time and a specific location, for example, then the deletion manager111can cause, at least in part, the deletion of the one or more data records associated with the at least one user that reference that specific time, that specific location, or a combination thereof. Moreover, the deletion manager111can cause both a physical deletion of the one or more data records as well as a removal of one or more associations between the at least one user and the one or more data records.

In step403, the deletion manager111causes, at least in part, one or more modifications of the one or more data records based, at least in part, on the at least one request, wherein the deletion, the at least one other deletion, or a combination thereof includes, at least in part, the one or more modifications. By way of example, the deletion manager111can cause, at least in part, a deletion of the one or more data records based, at least in part, on a modification of a privacy setting or a visibility level (e.g. family only), a transmission of a privacy violation report to the one or more applicable services (e.g., when the at least one user did not post the data himself or herself, but the data still is associated with the at least one user such as a “tagged” photograph), a manipulation of the content (e.g., blurring someone's face in a picture to hide his or her identity), etc.

In step405, the deletion manager111optionally processes and/or facilitates a processing of the request, the one or more contextual parameters, or a combination thereof to determine one or more related contextual parameters. In particular, once the deletion manager111determines the one or more contextual parameters specified by the at least one user, the deletion manager111can reverse map the one or more contextual parameters to determine one or more data records associated with the one or more related contextual parameters. By way of example, a request to delete one or more data records corresponding to location “L” can be reversed mapped or reversed tagged by the deletion manager111to also include one or more data records corresponding to related contextual metadata regarding the time period “t1-t2,” assuming that the deletion manager111can determine that the at least one user was in location “L” during the time period “t1-t2.” Then in step407, the deletion manager111causes, at least in part, at least one other deletion based, at least in part, on the one or more related contextual parameters. For example, the one or more related contextual parameters in this example use case may include, at least in part, location “L” and time period “t1-t2.” As a result, the deletion manager111can then cause, at least in part, at least one other deletion of the one or more data records corresponding to the time period “t1-t2” based, at least in part, on the initial request to delete the one or more data records corresponding to location “L”.

In step409, the deletion manager111optionally determines one or more search results based, at least in part, on the request, the one or more contextual parameters, the contextual metadata, or a combination thereof. By way of example, it is contemplated that the at least one user can input one or more contextual parameters in a user interface element, for example, to determine the one or more corresponding data records on one or more applicable services. Then in step411, the deletion manager111can cause, at least in part, a presentation of the one or more search results in at least one user interface element. For example, the deletion manager111can present the one or more search results in a display of a mobile phone or a tablet.

FIGS. 5 and 6are diagrams of example data flows utilized in the processes ofFIGS. 3 and 4, according to various embodiments. As shown,FIG. 5illustrates an embodiment of the deletion platform103/deletion manager111contained within a simplified user interface501. As previously discussed, while the deletion platform103and the deletion manager111ofFIGS. 5 and 6are interchangeable, the various embodiments of the present invention disclosed herein mainly reference the deletion manager111for the sake of explanation. As shown, the example user interfaces501and601ofFIG. 6include one or more user interface elements and/or functionalities created and/or modified based, at least in part, on information, data, and/or signals resulting from the processes (e.g., processes300and400) described with respect toFIGS. 3 and 4.

In one embodiment, the deletion manager111determines a request to delete data associated with at least one user, the request specifying at least in part one or more contextual parameters. For example, in this example use case, the one or more contextual parameters include, at least in part, a time period503and/or one or more keywords505. In particular, the deletion manager111may determine the request based, at least in part, on one or more physical inputs (e.g., typing on a virtual keyboard), one or more audio inputs (e.g., voice recognition), one or more gestural inputs (e.g., a swiping motion, a tapping, a long press, etc.), etc. as depicted by arrow517In one or more embodiments, once the deletion manager111determines one or more credentials associated with the at least one user, the one or more devices (e.g., interface501), or a combination thereof, the deletion manager111can process and/or facilitate a processing of the one or more credentials (e.g., a login and a password) to determine one or more data records, one or more services, one or more applications, or a combination thereof. In this example use case, the one or more service include, at least in part, social network507, social network509, social network511, social network513, and social network515.

In one embodiment, once the deletion manager111determines the one or more credentials and the applicable one or more services (e.g., social networks507-515), the deletion manager111processes and/or facilitates a processing of the request to cause, at least in part, a transmission of the request to the one or more services, the one or more applications, or a combination thereof as depicted by arrow519. In one or more embodiments, after the deletion manager111gains access to the one or more services (e.g., social networks507-515), the deletion manager111determines the one or more one or more data records associated with the at least one user from the one or more services (e.g., social networks507-515), the one more applications (e.g., a social networking application), or a combination thereof. By way of example, the one or more data records may include both real-time updates (e.g., current location posts or status information) and/or more static updates (e.g., comments or opinions posted on a blog or message board).

In one embodiment, the deletion manager111next processes and/or facilitates a processing of the one or more data records to determine contextual metadata associated with the one or more data records, wherein the deletion is further based, at least in part, on the contextual metadata. As previously discussed, the contextual metadata in this example use case includes, at least in part a time period and/or one or more keywords corresponding to the contextual parameters503and505, respectively. In particular, in one embodiment, the deletion manager111can determine the contextual metadata based, at least in part, on the at least one mapping between the one or more data records and the corresponding contextual metadata. In one or more embodiments, the deletion manager111then causes, at least in part, a deletion of the one or more corresponding data records as depicted by arrow521based, at least in part, on whether the data at least substantially meet the one or more contextual parameters (e.g., contextual parameters503and505). However, it is contemplated that in an exemplary embodiment, the deletion manager111should allow the at least one user to specify the one or more contextual parameters based, at least in part, on more than just a time period503and/or one or more keywords505.

As shown,FIG. 6illustrates an embodiment of the deletion platform103/deletion manager111contained within a user interface601and based, at least in part, on an extended deletion manager111architecture and a number of contextual parameters in contrast to the embodiment of the deletion manager111depicted inFIG. 5. In particular, the deletion manager111ofFIG. 6includes, at least in part, a contextual intelligence module603, a tag manager605, and a control logic module607. In one embodiment, the deletion manager111first processes and/or facilitates a processing of sensor information associated with one or more devices (e.g., interface601) associated with the at least one user to cause, at least in part, a generation of contextual metadata. In particular, in this example use case, the context intelligence module603is responsible for continuously monitoring the one or more sensors of the device (not shown for illustrative purposes) keeping track of the at least one user's context. In one embodiment, the tag manager605can generate time-based contextual metadata, location-based contextual metadata, activity-based contextual metadata, contextual metadata based, at least in part, on nearby contacts as well as one or more keywords, etc. In one embodiment, the control logic module607like the control logic201, oversees tasks, including tasks performed by the contextual intelligence module603and the tag manager605. For example, although the other modules may perform the actual task, the control logic module607may determine when and how those tasks are performed or otherwise direct the other modules to perform the task.

In one embodiment, the deletion manager111then causes, at least in part, at least one mapping between the one or more data records produced by the user content generation UI/UX609, for example, and the corresponding contextual metadata based, at least in part, on the sensor information determined by the contextual intelligence module603. In particular, in one embodiment, the tag manager605maps or “tags” the contextual metadata to the one or more data records because it is contemplated that the one or more data records are not stored by the deletion manager111, but rather are maintained by the one or more services (e.g., a social networking service).

In one or more embodiments, the deletion manager111causes, a local storage of the contextual metadata in a database (e.g., the tags storage611). As previously discussed, by maintaining the contextual metadata separate and apart from the one or more data records stored by the one or more services (e.g., in the tags storage611), the one or more service providers are unaware of the associated contextual metadata. As a result, the deletion manager111can better protect the privacy sensitive contextual metadata and the privacy of the at least one user. In one embodiment, the deletion manager111next determines at least one request to delete data associated with the at least one user, the request specifying at least in part the one or more contextual parameters. For example, in this example use case, the contextual parameters include, at least in part, nearby contacts613, time period615, keywords617, activity619, and location621. By way of example, the deletion manager111ofFIG. 6can enable the at least one user to delete one or more data records produced by the user content generation UI/UX609while engaged in a particular activity619or referring to a specific activity619(e.g., a soccer game). Moreover, the deletion manager111can also enable the at least one user to delete one or more data records when the at least one user is nearby specific people613(e.g., someone listed in the user's contacts623) or when the at least one user was with a particular individual (e.g., a time period615). Further, the deletion manager111can enable the at least one user to combine one or more contextual parameters (e.g., contextual parameters613,615,619, and621) and/or keywords617to cause, at least in part, the deletion of the corresponding data records (e.g., “August” and “office”).

In one or more embodiments, the deletion manager111next determines one or more credentials associated with the at least one user, the one or more devices (e.g., interface601), or a combination thereof. In particular, in one embodiment, it is contemplated that at the initial start of the deletion manager111, the at least one user may be required to input his or her one or more credentials for each of the one or more services in a database (e.g., the tags storage611), for example. In this example use case, the one or more applicable services include, at least in part, social network507, social network509, social network511, social network513, and social network515. In one embodiment, once the deletion manager111determines the one or more credentials and the applicable one or more services (e.g., services507-515), the deletion manager111can process and/or facilitate a processing of the request as depicted by arrow625to cause, at least in part, a transmission of the request to the one or more corresponding services (e.g., services507-515), the one or more corresponding applications, or a combination thereof as depicted by arrow627.

In one or more embodiments, after the deletion manager111gains access to the one or more services (e.g., services507-515), the one or more applications (e.g., a social network application), or a combination thereof, the deletion manager111determines the one or more data records associated with the at least one user (e.g., generated by the user content generation UI/UX609) from the one or more services (e.g., services507-515), the one or more applications, or a combination thereof. As previously discussed, the one or more data records may include both real-time updates and/or more static updates. In one or more embodiments, the deletion manager111next processes and/or facilitates a processing of the one or more data records to determine contextual metadata associated with the one or more data records, wherein the deletion is further based, at least in part, on the contextual metadata. As previously discussed, the contextual metadata is mapped to the one or more data records by the tag manager605and in one embodiment, the deletion manager111can determine the contextual metadata based, at least in part, on the at least one mapping between the one or more data records and the corresponding contextual metadata.

In one or more embodiments, the deletion manager111then causes, at least in part, a deletion of the one or more data records as depicted by arrow629based, at least in part, on whether the data at least substantially meet the one or more contextual parameters (e.g., contextual parameters613-621. In one example use case, if the one or more contextual parameters (e.g., contextual parameters613-621) include a specific time period615and a specific location621, for example, then the deletion manager111can cause, at least in part, the deletion of the one or more data records associated with the at least one user that reference that specific time period615, that specific location621, or a combination thereof. Moreover, the deletion manager111can cause, at least in part, both a physical deletion of the one or more data records as well as a removal of one or more associations between the at least one user and the one or more data records.

In one embodiment, the tag manager605can also process and/or facilitate a processing of the request625, the one or more contextual parameters (e.g., contextual parameters613-621), or a combination thereof to determine one or more related contextual parameters (i.e., reverse tagging the one or more contextual parameters). More specifically, once the deletion manager111determines the one or more contextual parameters specified by the at least one user (e.g., one or more contextual parameters613-621), the tag manager605can reverse map the one or more contextual parameters to determine and to delete one or more data records associated with the one or more related contextual parameters.

FIG. 7is a diagram of a user interface utilized in the process ofFIG. 4, according to various embodiments. As shown, the example user interface ofFIG. 7includes one or more user interface elements and/or functionalities created and/or modified based, at least in part, on information, data, and/or signals resulting from the process (e.g., process400) described with respect toFIG. 4. More specifically,FIG. 7illustrates a user interface701depicting an advanced search criteria of a social networking service507. In one embodiment, the system100can determine one or more search results (e.g., “abcd,” “efgh,” “abcd efgh lmn,” and “rstuv”) based, at least in part, on the request, the one or more context parameters (e.g., context parameters613-621). More specifically, in one embodiment, it is contemplated that the at least one use can input one or more contextual parameters (e.g., activity619) in a user interface element703, for example, to determine the one or more corresponding data records (e.g., “abcd” and “abcd efgh lmn”) stored at the one or more applicable services (e.g., social network509). In certain embodiments, the system100can then cause, at least in part, a presentation of the one or more search results in the at least one user interface element703.

The processes described herein for deleting a user's online data across different services and platforms based on contextual selection criteria may be advantageously implemented via software, hardware, firmware or a combination of software and/or firmware and/or hardware. For example, the processes described herein, may be advantageously implemented via processor(s), Digital Signal Processing (DSP) chip, an Application Specific Integrated Circuit (ASIC), Field Programmable Gate Arrays (FPGAs), etc. Such exemplary hardware for performing the described functions is detailed below.

A bus810includes one or more parallel conductors of information so that information is transferred quickly among devices coupled to the bus810. One or more processors802for processing information are coupled with the bus810.

Computer system800also includes a memory804coupled to bus810. The memory804, such as a random access memory (RAM) or any other dynamic storage device, stores information including processor instructions for deleting a user's online data across different services and platforms based on contextual selection criteria. Dynamic memory allows information stored therein to be changed by the computer system800. RAM allows a unit of information stored at a location called a memory address to be stored and retrieved independently of information at neighboring addresses. The memory804is also used by the processor802to store temporary values during execution of processor instructions. The computer system800also includes a read only memory (ROM)806or any other static storage device coupled to the bus810for storing static information, including instructions, that is not changed by the computer system800. Some memory is composed of volatile storage that loses the information stored thereon when power is lost. Also coupled to bus810is a non-volatile (persistent) storage device808, such as a magnetic disk, optical disk or flash card, for storing information, including instructions, that persists even when the computer system800is turned off or otherwise loses power.

Information, including instructions for deleting a user's online data across different services and platforms based on contextual selection criteria, is provided to the bus810for use by the processor from an external input device812, such as a keyboard containing alphanumeric keys operated by a human user, a microphone, an Infrared (IR) remote control, a joystick, a game pad, a stylus pen, a touch screen, or a sensor. A sensor detects conditions in its vicinity and transforms those detections into physical expression compatible with the measurable phenomenon used to represent information in computer system800. Other external devices coupled to bus810, used primarily for interacting with humans, include a display device814, such as a cathode ray tube (CRT), a liquid crystal display (LCD), a light emitting diode (LED) display, an organic LED (OLED) display, a plasma screen, or a printer for presenting text or images, and a pointing device816, such as a mouse, a trackball, cursor direction keys, or a motion sensor, for controlling a position of a small cursor image presented on the display814and issuing commands associated with graphical elements presented on the display814. In some embodiments, for example, in embodiments in which the computer system800performs all functions automatically without human input, one or more of external input device812, display device814and pointing device816is omitted.

In the illustrated embodiment, special purpose hardware, such as an application specific integrated circuit (ASIC)820, is coupled to bus810. The special purpose hardware is configured to perform operations not performed by processor802quickly enough for special purposes. Examples of ASICs include graphics accelerator cards for generating images for display814, cryptographic boards for encrypting and decrypting messages sent over a network, speech recognition, and interfaces to special external devices, such as robotic arms and medical scanning equipment that repeatedly perform some complex sequence of operations that are more efficiently implemented in hardware.

Network link878typically provides information communication using transmission media through one or more networks to other devices that use or process the information. For example, network link878may provide a connection through local network880to a host computer882or to equipment884operated by an Internet Service Provider (ISP). ISP equipment884in turn provides data communication services through the public, world-wide packet-switching communication network of networks now commonly referred to as the Internet890.

A computer called a server host892connected to the Internet hosts a process that provides a service in response to information received over the Internet. For example, server host892hosts a process that provides information representing video data for presentation at display814. It is contemplated that the components of system800can be deployed in various configurations within other computer systems, e.g., host882and server892.

At least some embodiments of the invention are related to the use of computer system800for implementing some or all of the techniques described herein. According to one embodiment of the invention, those techniques are performed by computer system800in response to processor802executing one or more sequences of one or more processor instructions contained in memory804. Such instructions, also called computer instructions, software and program code, may be read into memory804from another computer-readable medium such as storage device808or network link878. Execution of the sequences of instructions contained in memory804causes processor802to perform one or more of the method steps described herein. In alternative embodiments, hardware, such as ASIC820, may be used in place of or in combination with software to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware and software, unless otherwise explicitly stated herein.

The signals transmitted over network link878and other networks through communications interface870, carry information to and from computer system800. Computer system800can send and receive information, including program code, through the networks880,890among others, through network link878and communications interface870. In an example using the Internet890, a server host892transmits program code for a particular application, requested by a message sent from computer800, through Internet890, ISP equipment884, local network880and communications interface870. The received code may be executed by processor802as it is received, or may be stored in memory804or in storage device808or any other non-volatile storage for later execution, or both. In this manner, computer system800may obtain application program code in the form of signals on a carrier wave.

Various forms of computer readable media may be involved in carrying one or more sequence of instructions or data or both to processor802for execution. For example, instructions and data may initially be carried on a magnetic disk of a remote computer such as host882. The remote computer loads the instructions and data into its dynamic memory and sends the instructions and data over a telephone line using a modem. A modem local to the computer system800receives the instructions and data on a telephone line and uses an infra-red transmitter to convert the instructions and data to a signal on an infra-red carrier wave serving as the network link878. An infrared detector serving as communications interface870receives the instructions and data carried in the infrared signal and places information representing the instructions and data onto bus810. Bus810carries the information to memory804from which processor802retrieves and executes the instructions using some of the data sent with the instructions. The instructions and data received in memory804may optionally be stored on storage device808, either before or after execution by the processor802.

In one embodiment, the chip set or chip900includes merely one or more processors and some software and/or firmware supporting and/or relating to and/or for the one or more processors.

The processor903and accompanying components have connectivity to the memory905via the bus901. The memory905includes both dynamic memory (e.g., RAM, magnetic disk, writable optical disk, etc.) and static memory (e.g., ROM, CD-ROM, etc.) for storing executable instructions that when executed perform the inventive steps described herein to delete a user's online data across different services and platforms based on contextual selection criteria. The memory905also stores the data associated with or generated by the execution of the inventive steps.

Pertinent internal components of the telephone include a Main Control Unit (MCU)1003, a Digital Signal Processor (DSP)1005, and a receiver/transmitter unit including a microphone gain control unit and a speaker gain control unit. A main display unit1007provides a display to the user in support of various applications and mobile terminal functions that perform or support the steps of deleting a user's online data across different services and platforms based on contextual selection criteria. The display1007includes display circuitry configured to display at least a portion of a user interface of the mobile terminal (e.g., mobile telephone). Additionally, the display1007and display circuitry are configured to facilitate user control of at least some functions of the mobile terminal. An audio function circuitry1009includes a microphone1011and microphone amplifier that amplifies the speech signal output from the microphone1011. The amplified speech signal output from the microphone1011is fed to a coder/decoder (CODEC)1013.

A radio section1015amplifies power and converts frequency in order to communicate with a base station, which is included in a mobile communication system, via antenna1017. The power amplifier (PA)1019and the transmitter/modulation circuitry are operationally responsive to the MCU1003, with an output from the PA1019coupled to the duplexer1021or circulator or antenna switch, as known in the art. The PA1019also couples to a battery interface and power control unit1020.

The encoded signals are then routed to an equalizer1025for compensation of any frequency-dependent impairments that occur during transmission though the air such as phase and amplitude distortion. After equalizing the bit stream, the modulator1027combines the signal with a RF signal generated in the RF interface1029. The modulator1027generates a sine wave by way of frequency or phase modulation. In order to prepare the signal for transmission, an up-converter1031combines the sine wave output from the modulator1027with another sine wave generated by a synthesizer1033to achieve the desired frequency of transmission. The signal is then sent through a PA1019to increase the signal to an appropriate power level. In practical systems, the PA1019acts as a variable gain amplifier whose gain is controlled by the DSP1005from information received from a network base station. The signal is then filtered within the duplexer1021and optionally sent to an antenna coupler1035to match impedances to provide maximum power transfer. Finally, the signal is transmitted via antenna1017to a local base station. An automatic gain control (AGC) can be supplied to control the gain of the final stages of the receiver. The signals may be forwarded from there to a remote telephone which may be another cellular telephone, any other mobile phone or a land-line connected to a Public Switched Telephone Network (PSTN), or other telephony networks.

Voice signals transmitted to the mobile terminal1001are received via antenna1017and immediately amplified by a low noise amplifier (LNA)1037. A down-converter1039lowers the carrier frequency while the demodulator1041strips away the RF leaving only a digital bit stream. The signal then goes through the equalizer1025and is processed by the DSP1005. A Digital to Analog Converter (DAC)1043converts the signal and the resulting output is transmitted to the user through the speaker1045, all under control of a Main Control Unit (MCU)1003which can be implemented as a Central Processing Unit (CPU).

The MCU1003receives various signals including input signals from the keyboard1047. The keyboard1047and/or the MCU1003in combination with other user input components (e.g., the microphone1011) comprise a user interface circuitry for managing user input. The MCU1003runs a user interface software to facilitate user control of at least some functions of the mobile terminal1001to delete a user's online data across different services and platforms based on contextual selection criteria. The MCU1003also delivers a display command and a switch command to the display1007and to the speech output switching controller, respectively. Further, the MCU1003exchanges information with the DSP1005and can access an optionally incorporated SIM card1049and a memory1051. In addition, the MCU1003executes various control functions required of the terminal. The DSP1005may, depending upon the implementation, perform any of a variety of conventional digital processing functions on the voice signals. Additionally, DSP1005determines the background noise level of the local environment from the signals detected by microphone1011and sets the gain of microphone1011to a level selected to compensate for the natural tendency of the user of the mobile terminal1001.

An optionally incorporated SIM card1049carries, for instance, important information, such as the cellular phone number, the carrier supplying service, subscription details, and security information. The SIM card1049serves primarily to identify the mobile terminal1001on a radio network. The card1049also contains a memory for storing a personal telephone number registry, text messages, and user specific mobile terminal settings.