Network-based processing of data requests for contact information

Information

  • Patent Grant
  • 11222045
  • Patent Number
    11,222,045
  • Date Filed
    Friday, June 10, 2016
    7 years ago
  • Date Issued
    Tuesday, January 11, 2022
    2 years ago
Abstract
A system, method and computer-readable media for managing contact information via a network-based interface. A network resource transmits a data request to a contact information processing service. The contact information processing service processes the data request in accordance with the parameters included in the data request and information maintained by the contact information processing service. Examples of the processing facilitated by the contact information processing service include contact identification routines, contact verification routines, group-based information routines, and communication information routines. The contact information processing service returns the results to the requesting network resource.
Description
BACKGROUND

Generally described, telecommunication devices and communication networks facilitate the collection and exchange of information. Utilizing a communication network and relevant communication protocols, a telecommunication device can engage in audio or data communications with other telecommunication devices, such as voice calls, video calls, messaging (e.g., short message service (“SMS”) or multimedia messaging service (“MMS”)), content streaming, instant messaging, resource browsing (e.g., Web browsing), and the like.


To facilitate communications, telecommunication devices can be associated with software and hardware components that allow the telecommunication device to maintain contact information, such as telephone numbers, email addresses, messaging addresses, etc., utilized to establish and engage in communications via available communication channels. Typically, such contact information is maintained as contact information in which all known contact information for an identified entity, such as user, can be presented to a telecommunication device user. For example, a telecommunication device may present a user interface in which the contact information associated with a selected individual is presented in a list-based format. In another example, a telecommunication device with voice calling functionality may maintain a “last call list” that keeps track of telephone numbers of the most recent incoming or outgoing calls from the telecommunication device.


Although contact management user interfaces and software can facilitate the input and management of contact information for a larger set of contacts, typical contact management approaches can become deficient as the set of entities associated with a user grows. In one example, typical call list approaches are limited in the number of contacts identified in the user interfaces (e.g., the last 4 numbers called). Accordingly, such approaches can become deficient as the number of incoming or outgoing communications (e.g., voice calls) increases because potentially desired contacts are removed from the display based on order of the most recent incoming or outgoing communications.


In another example, typical contact management approaches relate to the presentation of the entire set of contacts that are associated with a user, such as in alphabetical order. As the number of contacts maintained in the telecommunication device, or on behalf of the telecommunication device, users may have increased difficulty in identifying the contact information of specific entities. Additionally, for each contact, the typical contact management approach identifies all known contact information (e.g., phone numbers, IM aliases, email addresses, etc.) without regard to a desired, or preferred, communication method. Additionally, the typical contact management approach does not take into account the manner in which the contact was selected in presenting contact information.


In addition to the management of contact information accessible by a telecommunication device, current approaches to manage applications, or other executable components, on telecommunication device can be inefficient in relation to the incorporation of contacts. One approach to managing applications or other executable components relates to user interface in which the set of available application or executable components are presented in a desktop metaphor. In a typical desktop metaphor, each available application or executable component is represented on the user interface by a selectable display object that causes the initiation, or execution of the display object. For example, a user can initiate an email application by selecting a representative display object from the user interface. In another example, a user can interact with social networking services by selecting an executable component that generates an interface for posting information or displaying information. In such a desktop metaphor, the initiation and selection of applications or executable components are independent on the grouping of users. For example, assume a user that is a member of sports team wishes to access a game schedule, post pictures from a previous game to the other team members, and communicate a private message to the other team members. Under the typical desktop metaphor approach, such an individual would be required to independently access each corresponding application (e.g., a calendaring application, a sharing application and a messaging application) by selecting each application from the presentation of all available applications. Additionally, the user would further be required to utilize the interfaces presented by each selected application to control the receipt of information transmitted (e.g., an email distribution list and a sharing application distribution list). Accordingly, such approaches do not efficiently facilitate group-based interaction.





BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing aspects and many of the attendant advantages of the present disclosure will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:



FIG. 1 is a block diagram illustrative of a telecommunication device user information environment including a contact information processing service and a number of network resources;



FIGS. 2A-2D are block diagrams of the contact information environment of FIG. 1 illustrating the interaction between a contact information processing service and a network resources for providing the network various information;



FIG. 3 is a flow diagram of an illustrative of a contact identification routine implemented by a contact information processing service responsive to a data request;



FIG. 4 is a flow diagram of an illustrative of a contact verification routine implemented by a contact information processing service responsive to a data request;



FIG. 5 is a flow diagram of an illustrative of a group-based information identification routine implemented by a contact information processing service responsive to a data request; and



FIG. 6 is a flow diagram of an illustrative of a communication identification routine implemented by a contact information processing service responsive to a data request.





DETAILED DESCRIPTION

Generally described, aspects of the present disclosure relate to the management of information associated with a telecommunication device user. In an illustrative embodiment, a contact information processing service makes information associated with a telecommunication device user available to network resources. The information associated the telecommunication device user can include contact information, group-based information, and communication information. The information associated with the telecommunication device user, or user account, can be information maintained by, or otherwise accessible to, the contact information processing service. Additionally, some portion of the information may be maintained on the telecommunication device and accessible by the contact information processing service. Specifically, the contact information processing service facilitates access to the information associated with at telecommunication user via an application protocol interface (“API”). In accordance with an API, a network resource can request aspects of information associated with a telecommunications device user, or request processing in accordance with the information associated with a telecommunication device user.


As previously described, in an illustrative embodiment, contact information can include any information, such as telephone numbers, email addresses, messaging addresses, etc., utilized to establish and engage in communications. The contact information can include a set of information associated with one or more identifiable entities. Additionally, the identification of contacts (and the corresponding contact information) may be provided by multiple data sources, such as address books, data files, network sources, etc. Contact information may also include information defining access rights, privacy filters, etc. that can specify how information associated with the contact may be provided to other entities. Contact information can further include login/password information that provides access to other information about the contact that is maintained, or otherwise provided, by a third party network resource (e.g., a social networking network resource). Still further, contact information can include information regarding a user's preferences for communication activities, which can be further defined according to user context.


In an illustrative embodiment, the group-based information displays correspond to a collection of display objects representative of either contacts associated with a user or applications or other executable components that are executable, or otherwise accessible, via a telecommunication device. The group-based information displays can be logically organized according to subject matter organizational criteria. The subject matter organizational criteria can include, for example, organization or other affiliates criteria, event-based or activity based criteria, topic-based criteria, and the like. By accessing group-based information displays generated on a display, telecommunication device users can initiate one or more actions by the selection or manipulation of display objects corresponding to applications or executable components.


Illustratively, communication categories correspond to a logical organization of one or more communication activities that can be initiated, or cause to be initiated, by the telecommunication device. The communication categories do not correspond to the communication activities. Rather, they represent a collection of specific communication activities that are intended to achieve types of communication. Examples of communication categories can include, but are not limited to, sharing, calling, messaging, posting, broadcasting, and the like.


Although aspects of the present disclosure will be described with regard to an illustrative telecommunication device user environment and component interactions, communication protocols, flow diagrams and user interfaces, one skilled in the relevant art will appreciate that the disclosed embodiments are illustrative in nature and should not be construed as limiting. Specifically, although the term telecommunication device is used in this document, the term represents any type of device having a component for communicating with one or more other devices via one or more communication paths. Such communication paths can include wireless communication paths (via infra-red, RF, optical, terrestrial, or satellite communication media) and wired communication paths. Additionally, although the present disclosure references a telecommunication device, one skilled in the relevant art will appreciate that a telecommunication device may also be referred to as a wireless computing device, a mobile communication device, or a computing device. Accordingly, reference to a telecommunication device should not be interpreted as including any particular functionality or operation not described in the present disclosure. Still further, although the present disclosure is described with regard to specific methodologies and frameworks for processing data requests, the present disclosure should not be construed to require combination of the disclosed embodiments or any specific variation unless such combination or variation is expressly identified.


With reference now to FIG. 1, a block diagram illustrative of a telecommunication device user environment 100 will be described. The telecommunication device user environment 100 can include a contact information processing service 102. In an illustrative embodiment, the contact information processing service 102 may be utilized to provide, or otherwise be responsive to, data requests for information provided by network resources, as will be described below. As illustrated in FIG. 1, the contact information processing service 102 can include a network resource interface component 104 for obtaining data requests from network resources 110. The contact information processing service 102 can also include a data request processing component 106 for processing data requests submitted by various network resources. In an illustrative embodiment, the data request processing component 106 processes the data requests in accordance with information maintained in a data store 108. While the data store 108 is depicted in FIG. 1 as being local to the contact information processing service 102, those skilled in the art will appreciate that the data store 108 may be remote to the contact information processing service 102 or may be a network based service itself.


One skilled in the relevant art will appreciate that the contact information processing service 102 may correspond to a number of computer devices, such as server computing devices. Accordingly, while the contact information processing service 102 is depicted in FIG. 1 as implemented by a single computing device in the telecommunication environment 100, this is illustrative only. The contact information processing service 102 may be embodied in a plurality of computing devices, each executing an instance of the communication service. A server or other computing device implementing the contact information processing service 102 may include memory, processing unit(s), and computer readable medium drive(s), all of which may communicate with one another by way of a communication bus. The network interface may provide connectivity over the network 112 and/or other networks or computer systems. The processing unit(s) may communicate to and from memory containing program instructions that the processing unit(s) executes in order to operate the contact information processing service 102. The memory generally includes RAM, ROM, and/or other persistent and auxiliary memory.


Additionally, the network resource interface component 104 and the data request processing component 108 may be implemented in a single computing device or across multiple computing devices. One skilled in the relevant art will also appreciate that the contact information processing service 102 may include any one of a number of additional hardware and software components that would be utilized in the illustrative computerized network environment to carry out the illustrative functions of the service 102 or any of the individually identified components.


With continued reference to FIG. 1, the telecommunication device user environment 100 includes a number of network resources 110 that can correspond to any one of a variety of devices or applications that submit data requests to the contact information processing service 102 via the communication network 114. Examples of network resources including Web pages or other nodes on a network that are operative to issues data requests, software applications including network interfaces for issuing data requests, and the like. Network resources 110 may be hosted on a wide variety of devices or components that are capable of initiating, receiving or facilitating communications over a communication network including, but not limited to, personal computing devices, electronic book readers (e.g., e-book readers), hand held computing devices, integrated components for inclusion in computing devices, home electronics, appliances, vehicles, machinery, landline telephones, network-based telephones (e.g., voice over IP (“VoIP”), cordless telephones, cellular telephones, smart phones, modems, personal digital assistants, laptop computers, gaming devices, media devices, and the like. Additionally, the communication network 114 can include the Internet, intranets, private networks and point to point networks, are generally referred to as the “network.” Finally, the telecommunication device user environment 100 can include network data sources 112 for providing external information, such as location data, contact data, and other supplemental data, to the contact information processing service 102. The contact information processing service 102 incorporate, directly or indirectly, the external information in the information responsive to the data request.


As previously described, in accordance with an aspect of the present disclosure, a network resource 110 can generate data requests to the contact information processing service 102 by utilizing one or more APIs defined, or otherwise provided by, the contact information processing service 102. Illustratively, a set of APIs can incorporate one or more data structures in which specific information, such as an entity identifier, is passed as a parameter to the contact information processing service 102. Additionally, the set of APIs can incorporate data structures in which information responsive to a data request is passed to the network resource 110 issuing the data request. Based on the information included in the data request and the information maintained in the data store 108, the contact information processing service 102 processes the data request to generate responsive information to the requesting network resource 110. The contact information processing service 102 then transmits the response information to the network resource 110.


With reference now to FIGS. 2A-2D, illustrative interactions with the components of the telecommunication device user environment 100 will be described. Although the present disclosure will be described with regard to interactions between a network resource 110 and a contact information processing service 102 via a communication network 114, one skilled in the relevant art will appreciate that such interaction may be practiced between alternative components in the telecommunication device user environment 100 or in conjunction with additional components. Additionally, although FIGS. 2A-2D individually illustrate single interactions between a network resource 110 and the contact information processing service 102, the illustrated interactions should not be construed as requiring any particular combination of interactions or an order for multiple interactions. Still further, additional or alternative sequences of interactions are not precluded. Accordingly, the illustrated interaction in FIGS. 2A-2D should not be construed as limiting.


With reference to FIG. 2A, an illustrative interaction between a network resource 110 and the contact information processing service 102 for obtaining an identification of a subset of contacts associated with an identified entity, or set of entities, will be described. The network resource 110 initiates the data request by transmitting a request to the network resource that includes entity information. For example, the network resource 110 can utilize an API in which the entity information is passed as a parameter. Illustratively, the entity information may be passed in the API utilizing a variety of information including name, phone number, nicknames, temporary identifiers, unique identifiers (e.g., global unique identifiers “GUID”), group identifiers, and the like.


Based on the entity information included in the data request, the contact information processing service 102 processes the data request. In one embodiment, the contact information processing service 102 can identify a subset of contact information for each identified entity. The identified contact information does not have to include all possible contact information associated with the identified entity, such as in an address book. Rather, contact information processing service 102 can apply the contact filter information to a subset of the available contact information. The contact filter information can correspond to filter information provided by a user or a mobile service provider. For example, the set of contacts can be filtered based on contacts identified with a particular service level, communication preference, rate plan, etc. The contact filter information can further include keywords, tags or other criteria that can be applied to user profile information to find matching or substantially matching contacts (e.g. contacts associating with keywords, labels or tags). The contact information processing service 102 can then return the identified contact information as identifiers that can be accessed by the network resource 110. Alternatively, the identified contact information can include at least a portion of the contact information in the response.


Illustratively, the subset of contacts may be determined in a number of ways. In one example, the contact information processing service 102 can determine the subset of contacts based on a manual designation by a user associated with a telecommunications device, or other computing device. In another example, the contact information processing service 102 can determine automatically determine the subset of contacts. The automatic determination can be based a various factors, such as user context information, historical information (e.g., frequency of communication), profile matching, etc.


In another embodiment, the data request can include two or more specified entities. In this embodiment, the contact information processing service 102 identifies the subset of contacts for each identified entity in the manner described above. Additionally, the contact information processing service 102 can then further group, or otherwise process, the contact information to generate a group set of contact information. For example, the contact information processing service 102 may identify all common contacts for a set of specified entities. In another example, the contact information processing service 102 may identify all contacts not in common among the set of entities. In still a further example, the contact information processing service 102 can also identify, or provide, other information about the multiple entities, such as groups in common, communication categories in common, communication activities in common, preferences in common, and the like. One skilled in the relevant art will appreciate that any one of a variety of filtering/processing criteria may also be applied. The contact information processing service 102 can then return the processed contact information from the set of entities as identifiers that can be accessed by the network resource 110.


With reference to FIG. 2B, an illustrative interaction between a network resource 110 and the contact information processing service 102 for obtaining verification that an identified contact is associated with an identified entity, or set of entities, will be described. The network resource 110 initiates the data request by transmitting a request to the network resource that includes entity information. For example, the network resource 110 can utilize an API in which the entity information and a contact identifier are passed as parameters.


Based on the entity information and the contact information included in the data request, the contact information processing service 102 processes the data request. In one embodiment, the contact information processing service 102 can verify whether the identified contact is associated with a subset of contact information for the identified entity. As previously described, the set of contacts do not have to include all possible contact information associated with the identified entity, such as in an address book. Rather, contact information processing service 102 can apply the contact filter information to a subset of the available contact information. The contact information processing service 102 can then return an indication of whether the contact was found, or was otherwise associated with the contact information, for the specified entity.


In another embodiment, the data request can include a request to provide additional information associated with the identified contact if the contact is determined to be within the subset of contacts associated with the specified entity. For example, assume that a specified entity is associated with more than one subset of contacts (e.g., a subset of contacts corresponding to a “home” identifier and a subset of contacts corresponding to “work” identifier). Accordingly, the contact information processing service 102 can identify which particular subset, or subsets, found for the submitted contact. In another example, assume that contacts are associated with different rates plans/service plans that represent a communication cost to a telecommunications device user. Accordingly, the contact information processing service 102 can identify which cost plan or service plan that has been associated with the contact. Additionally, the contact information processing service 102 can return an estimated communication cost based on historical user information for the specified contact, sets of contacts, or all contacts. In still another example, the contact information processing service 102 can identify communication preference information or communication history specified for the particular contact. In yet another example, the contact information processing service 102 can identify privacy information or subscription for the contact that specifies what type of information the contact is willing to provide (e.g., sharing phone numbers or personal contact information) and what type of information the contact will process (e.g., specify whether to provide the contact with social networking data feeds).


With reference to FIG. 2C, an illustrative interaction between a network resource 110 and the contact information processing service 102 for obtaining group-based information based on group information will be described. The network resource 110 initiates the data request by transmitting a request to the network resource that includes group information. For example, the network resource 110 can utilize an API in which the entity information or communication category information are passed as parameters. As previously described, the group-based information can be incorporated into group-based information displays that correspond to a collection of display objects representative of either contacts associated with a user or applications or other executable components that are executable, or otherwise accessible, via a device, such as a telecommunication device.


Based on the group information included in the data request, the contact information processing service 102 processes the data request. In one embodiment, the contact information processing service 102 can determine organizational criteria based on various criteria included as parameters in the data request, including entity identifiers and a set of contact identifiers. For example, the contact information processing service 102 can process information associated with a set of contacts to identify information common to each of the contacts (e.g., organization criteria, event criteria or topic/keyword criteria). In another embodiment, the organizational criteria may be included in the data request as a parameter of the data request submitted by the network resource.


Once the organizational criteria has been determined, or otherwise obtained, the contact information processing service 102 determines a set of one or more contacts associated with the user of the telecommunication device based on the organization criteria. If one or more contacts were included in the data request, the contact information processing service 102 can utilize the included set of contacts for the group-based information. Additionally, or alternatively, the contact information processing service 102 can add or remove contacts or determine the set of contacts independently. Additionally, the contact information processing service 102 determines a set of one or more applications or executable component to include in the group-based information based on the organizational criteria. The contact information processing service 102 can then return the group based information to the requesting network resource 110. An example of system for processing group-based information and illustrative group-based information display is disclosed in commonly assigned U.S. patent application Ser. No. 12/412,943, entitled Group Based Information Displays, filed Mar. 27, 2009, and incorporated by reference herein.


With reference to FIG. 2D, an illustrative interaction between a network resource 110 and the contact information processing service 102 for obtaining communication category and communication activity information will be described. The network resource 110 initiates the data request by transmitting a request to the network resource that includes a contact identifier corresponding to a selection of a contact or a communication category of previously provided communication category corresponding to a selected contact. For example, the network resource 110 can utilize an API in which the contact identifier(s) or a previously selected communication category is passed as a parameter of the API. As previously described, communication category information corresponds to a logical organization of one or more communication activities that can be initiated, or cause to be initiated, by the telecommunication device.


Based on the information included in the data request, the contact information processing service 102 processes the data request. In one embodiment, the contact information processing service 102 can determine one or more communication categories corresponding to the selected contact. For example, the contact information processing service 102 can process information associated with the specified contact to identify communication categories associated with the contact (e.g., “call,” “share,” “message,” “direction communication,” “asynchronous communication,” etc.). Additionally, the contact information processing service 102 can also include an identification of the set of communication activities that are associated with each identified communication activity. In another embodiment, if the communication category is included in the data request, the contact information processing service 102 may return the set of communication activities associated with specified communication category. An example of system for processing communication category information and communication activity information and for generating associated displays incorporating communication category and communication activity information is disclosed in commonly assigned U.S. patent application Ser. No. 12/413,397, entitled “Managing Communications Utilizing Communication Categories,” and filed on Mar. 27, 2009. U.S. patent application Ser. No. 12/413,397 is incorporated by reference herein.


With reference now to FIGS. 3-6, various flow diagrams of data request processing routines implemented by the content information processing service 102 will be described. Although the various routines will be described as being generally performed by the content information processing service 102, one skilled in the relevant art will appreciate that actions/steps outlined for the routines may be implemented by one or many computing devices/components that are associated with the telecommunication device user environment 100. Thus, the following illustrative embodiments should not be construed as limiting.


With reference to FIG. 3, a contact identification routine 300 will be described. At block 302, the contact information processing service 102 obtains a data request including entity information. As previously described, the data request can be in the form of a specified API, or set of APIs, in which the entity information is included as a parameter. In an illustrative embodiment, the entity information may be specified as identifiers corresponding to entities, names or partial names, or other information utilized to identify an entity or set of entities. At block 304, the contact information processing service 102 identifies a subset of contacts associated with each identified entity. As previously described, the subset of contact can correspond to contacts previously identified by an entity according to some criteria, such as rate plans, geographic criteria, organization criteria (e.g., work colleagues), manual designations (e.g., “my favorites”), and the like.


At decision block 306, a test is conducted to determine whether multiple entities were specified in the data request and whether a common set of contacts were requested. In an illustrative embodiment, the contact information processing service 102 can specify a subset of contacts for one or more identified entities and return the contact information as specified in block 308. Alternatively, if the multiple entities were specified in the data request or whether the data request included a specific request for identifying common contacts, the routine 300 proceeds to block 308. At block 308, the contact information processing service 102 identifies any overlapping contacts in the set of contact previously identified for each specified entity (block 304). One skilled in the relevant art will appreciate that any one of a variety of techniques may be implemented to identify common contacts. Additionally, the contact information processing service 102 may also identify a contact as being “common” so long as a contact is shared between two or more specified entities. Additionally, the contact information processing service 102 may rank, or otherwise prioritize contacts as a function of the number of entities to which the contact is found. At block 310, the contact information processing service 102 returns the set of contact information for each specified entity and the common contacts among the entities. In other embodiments, the contact information processing service 102 may only specify non-common contacts in the set of contacts associated with each specified entity. In further embodiments, the contact information processing service 102 may only return the common set of contact.


With reference to FIG. 4, a contact verification and information routine 400 will be described. At block 402, the contact information processing service 102 obtains a data request including contact and entity information. As previously described, the data request can be in the form of a specified API, or set of APIs, in which the contact and entity information are included as parameters. In an illustrative embodiment, the contact and entity information may be specified as identifiers corresponding to entities, names or partial names, GUIDs, group identifiers, or other information utilized to identify an entity or set of entities.


At decision block 404, a test is conducted to determine whether the specified contact is associated with the specified entity. For example, the contact information processing service 102 may determine whether the specified contact in included in a specific subset of contacts associated with the specified entity (e.g., the “my favorites” subset). The contact information processing service 102 may recall various subsets associated with the specified contact and attempt to match the specified entity in accordance with various text or information matching techniques. If the specified contact is not otherwise associated with the specified entity, at block 406, the contact information processing service 102 returns a negative result. The negative result may be binary corresponding to a “yes” or “no” answer. Alternative, the result may include additional information such as explanation of the searching process and a closest attempted match to facilitate a secondary review.


Alternatively, if the specified contact is associated with the specified entity, at block 408, the contact information processing service 102 can obtain, or otherwise identify, any additional information associated with the specified contact. As previously described, in an illustrative embodiment, a telecommunication device user can maintain multiple subsets of contacts according to different criteria. Additionally, a service provider, or other entity, can also classify contacts associated with a telecommunication device user, such as by rate plan, geographic distance, communication method (e.g., calling, messaging, etc.). Accordingly, for matching contacts, the contact information processing service 102 can identify descriptive information maintained about the contact as applicable to the specified entity. In another embodiment, the contact information processing service 102 can provide detailed information about the verified contact including communication preferences, privacy information, communication history, membership, social networking affiliations or identifiers, or additional information associated with the identified contact. At block 410, the contact information processing service 102 returns the verification of the entity as a contact and any applicable additional information. The routine 400 terminates.


With reference to FIG. 5, a group-based information identification routine 500 will be described. At block 502, the contact information processing service 102 obtains a data request including group information. As previously described, the data request can be in the form of a specified API, or set of APIs, in which the entity information is included in a parameter. In an illustrative embodiment, the group information may be specified as organizational criteria, a contact identifier, and one or more contact identifiers.


At block 504, the contact information processing service 102 determines the organizational criteria that will be utilized to generate the group-based information. If the organizational criteria were specified as a parameter, block 504 may be omitted. As previously described, the contact information processing service 102 can utilize various data processing techniques to identify the organizational criteria. At block 506, the contact information processing service 102 identifies a set of contacts associated with the organizational criteria. In one embodiment, the contact information processing service 102 can utilize a set of contacts that were specified as parameter of the data request. Additionally, the contact information processing service 102 can modify the set of contacts based on the organizational criteria or other filtering criteria. If a set of contacts was not included in the data request, the contact information processing service 102 can identify appropriate contacts as described above. At block 508, the contact information processing service 102 identifies a set of applications or executable components according to the organizational criteria. In one embodiment, the contact information processing service 102 can configure the applications or executable components in accordance with the organizational criteria. At block 510, the contact information processing service 102 returns the results to the requesting network resource. In one embodiment, the group-based information may be returned as a set of identifiers that can be processed by the requesting network resource 110. Alternatively, the contact information processing service 102 may save the results in a network source 112 and facilitate access by the requesting network resource 110.


With reference to FIG. 6, a communication information identified routine 600 will be described. At block 302, the contact information processing service 102 obtains a data request including communication information. As previously described, the data request can be in the form of a specified API, or set of APIs, in which the communication information is included as a parameter. In an illustrative embodiment, the communication information may be specified as identifiers corresponding to contacts and communication category information associated with an identified contact.


At block 604, the contact information processing service 102 identifies one or more communication categories associated with a specified contact. As previously described, the communication category information corresponds to logical groupings of communication activities that may be used to communicate with an identified contact. At block 606, the contact information processing service 102 identifies any communication activities associated with the identified communication categories. Illustratively, the contact information processing service 102 may proceed to block 606 if the communication categories are specified in the data request. Additionally, the contact information processing service 102 can configure the communication activities in accordance with the identified contact. For example, the contact information processing service 102 can configure the communication activities associated with a “sharing” category with the appropriate distribution lists, identifiers, etc. At block 608, the contact information processing service 102 returns the identified information and the routine 600 terminates. In one embodiment, the communication category and communication activity information may be returned as a set of identifiers that can be processed by the requesting network resource 110. Alternatively, the contact information processing service 102 may save the results in a network source 112 and facilitate access by the requesting network resource 110.


All of the processes described herein may be embodied in, and fully automated via, software code modules executed by one or more general purpose computers or processors. The code modules may be stored in any type of computer-readable medium or other computer storage device. Some or all the methods may alternatively be embodied in specialized computer hardware. In addition, the components referred to herein may be implemented in hardware, software, firmware or a combination thereof. As such, reference in the disclosure to actions performed by a module or component relates to the execution of executable instructions by a processing device, or devices, to cause the referenced action to be preformed.


Conditional language such as, among others, “can,” “could,” “might” or “may,” unless specifically stated otherwise, are otherwise understood within the context as used in general to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment.


Any process descriptions, elements or blocks in the flow diagrams described herein and/or depicted in the attached figures should be understood as potentially representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or elements in the process. Alternate implementations are included within the scope of the embodiments described herein in which elements or functions may be deleted, executed out of order from that shown, or discussed, including substantially concurrently or in reverse order, depending on the functionality involved as would be understood by those skilled in the art.


It should be emphasized that many variations and modifications may be made to the above-described embodiments, the elements of which are to be understood as being among other acceptable examples. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.

Claims
  • 1. A computer-implemented method comprising: obtaining, from a communication device, a data request including identifiers to a first plurality of contacts;deriving target organizational criteria for identification of group-based information based on processing the data request with data processing information maintained in a data store on behalf of an identifiable entity, wherein the data processing information associates the identifiable entity to one or more contacts, and wherein the target organizational criteria identifies information common to each of the contacts in the first plurality of contacts;identifying a second plurality of contacts from the data processing information based at least partly on the target organizational criteria;identifying a plurality of applications based at least partly on the target organizational criteria, the plurality of applications associated with all of the second plurality of contacts and the information common to each of the contacts in the first plurality of contacts, the plurality of applications having a configuration for providing interaction with at least the second plurality of contacts;generating group-based information including identifiers to the second plurality of contacts and the identified plurality of applications; andreturning the group-based information to the communication device,wherein the method is implemented by a computing system under control of executable program code.
  • 2. The computer-implemented method of claim 1, wherein the target organizational criteria includes at least one of event-based criteria, topic-based criteria, or organization criteria.
  • 3. The computer-implemented method of claim 1, wherein the first plurality of contacts include one or more contacts manually selected by the identifiable entity.
  • 4. The computer-implemented method of claim 1 further comprising automatically selecting one or more contacts of the first plurality of contacts.
  • 5. The computer-implemented method of claim 4, wherein automatically selecting the one or more contacts is based, at least in part, on a frequency of communication.
  • 6. The computer-implemented method of claim 1, wherein the target organizational criteria is derived based, at least in part, on the information common to each of the contacts in the first plurality of contacts.
  • 7. The computer-implemented method of claim 1, wherein the data request further includes information identifying the identifiable entity.
  • 8. A non-transitory computer readable storage medium storing computer executable instructions that instruct one or more processors to perform operations comprising: determining target organizational criteria based, at least in part, on processing a data request from a communication device with data processing information maintained in a data store on behalf of one or more identifiable entities, wherein the data request indicates the one or more identifiable entities and a first plurality of contacts, wherein the data processing information associates the one or more identifiable entities to a second plurality of contacts, and wherein the target organizational criteria identifies information common to each of the contacts in the first plurality of contacts;identifying a third plurality of contacts from the data processing information based at least partly on the target organizational criteria;identifying a plurality of applications for facilitating group-based interaction with all of the third plurality of contacts based at least partly on the target organizational criteria, wherein each of the plurality of applications is associated with the information common to each of the contacts in the first plurality of contacts;generating group-based information including identifiers to the third plurality of contacts and the plurality of applications; andpublishing the generated group-based information for use by the communication device.
  • 9. The non-transitory computer readable storage medium of claim 8, wherein determining the target organizational criteria comprises determining the target organizational criteria based, at least in part, on the first plurality of contacts.
  • 10. The non-transitory computer readable storage medium of claim 9, wherein determining the target organizational criteria comprises identifying the information common to each of the contacts in the first plurality of contacts.
  • 11. The non-transitory computer readable storage medium of claim 8, wherein the data request further comprises communication category information.
  • 12. A system for managing communications comprising: a data store for maintaining information on behalf of at least one identifiable entity, the information corresponding to at least one of an association of the identifiable entity to one or more contacts;a contact management unit, implemented by executing instructions on a processor associated with a computing device, the contact management unit operative to: obtain, from a network resource hosted on a communication device, a data request including identifiers to a first plurality of contacts;identify a second plurality of contacts from the information maintained in the data store based at least partly on target organizational criteria, the target organizational criteria including group based information derived from processing the data request, and the target organizational criteria identifies information common to each of the contacts in the first plurality of contacts;identify, based at least partly on the target organizational criteria, a plurality of applications associated with all of the second plurality of contacts and the information common to each of the contacts in the first plurality of contacts, the plurality of applications facilitating, at least in part, group-based interaction;generate group-based information including identifiers to the second plurality of contacts and the plurality of applications; andtransmit the group-based information to the network resource.
  • 13. The system of claim 12, wherein the contact management unit obtains the data request in accordance with an application protocol interface.
  • 14. The system of claim 13, wherein the contact management unit transmits the group-based information to the network resource in accordance with the application protocol interface.
  • 15. The system as recited in claim 12, wherein the group-based information further includes at least one of communication preferences, communication history, or privacy information regarding the second plurality of contacts.
  • 16. The system of claim 12, wherein the contact management unit is further operative to determine the target organizational criteria based at least in part on the first plurality of contacts.
  • 17. The system of claim 16, wherein determining the target organizational criteria comprises identifying the information common to each of the contacts in the first plurality of contacts.
  • 18. The system of claim 12, wherein the data request further indicates two or more identifiable entities.
  • 19. The system of claim 18, wherein the contact management unit is further operative to identify a subset of contacts common to the two or more identifiable entities.
CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No. 12/413,489, entitled NETWORK-BASED PROCESSING OF DATA REQUESTS FOR CONTACT INFORMATION, and filed on Mar. 27, 2009, the entirety of which is incorporated by reference herein.

US Referenced Citations (574)
Number Name Date Kind
4723209 Hernandez et al. Feb 1988 A
D296218 Wells-Papanek et al. Jun 1988 S
5590256 Tchao et al. Dec 1996 A
5617539 Ludwig et al. Apr 1997 A
D384052 Kodosky Sep 1997 S
D388424 DeMuro et al. Dec 1997 S
D391948 Eisenberg Mar 1998 S
5724531 Miyashita et al. Mar 1998 A
5751980 Musashi et al. May 1998 A
D395427 Arora et al. Jun 1998 S
5793365 Tang et al. Aug 1998 A
5796394 Wicks et al. Aug 1998 A
D397687 Arora et al. Sep 1998 S
D398595 Baer et al. Sep 1998 S
5822123 Davis et al. Oct 1998 A
5867226 Wehmeyer et al. Feb 1999 A
5880733 Horvitz et al. Mar 1999 A
5889517 Ueda et al. Mar 1999 A
D415483 Decker Oct 1999 S
5987107 Brown Nov 1999 A
5987469 Lewis et al. Nov 1999 A
6006200 Boies et al. Dec 1999 A
6023275 Horvitz et al. Feb 2000 A
6047233 Salvatore, Jr. et al. Apr 2000 A
D424036 Arora et al. May 2000 S
D424541 Mugura May 2000 S
6104398 Cox, Jr. et al. Aug 2000 A
6130726 Darbee et al. Oct 2000 A
6144863 Charron Nov 2000 A
6151059 Schein et al. Nov 2000 A
D437858 Yasui et al. Feb 2001 S
6188406 Fong et al. Feb 2001 B1
D438873 Wang et al. Mar 2001 S
6201957 Son et al. Mar 2001 B1
D440979 Wang et al. Apr 2001 S
6222921 Mugura et al. Apr 2001 B1
6226367 Smith et al. May 2001 B1
6236398 Kojima et al. May 2001 B1
6249863 Redford et al. Jun 2001 B1
D445426 Wang et al. Jul 2001 S
D446790 Wang et al. Aug 2001 S
6313877 Anderson Nov 2001 B1
6332024 Inoue et al. Dec 2001 B1
D454138 Imamura et al. Mar 2002 S
D454139 Feldcamp Mar 2002 S
6359635 Perttunen Mar 2002 B1
6393430 Van Ryzin May 2002 B1
D459361 Inagaki Jun 2002 S
D463444 Istvan et al. Sep 2002 S
6460181 Donnelly Oct 2002 B1
6466237 Miyao et al. Oct 2002 B1
6486870 Kozu Nov 2002 B1
D467252 Lee Dec 2002 S
D469442 Bohlen, Jr. et al. Jan 2003 S
D470857 Anderson et al. Feb 2003 S
D471226 Gray Mar 2003 S
6532459 Berson Mar 2003 B1
6538635 Ringot Mar 2003 B1
D472902 Nashida et al. Apr 2003 S
D473236 Robbin et al. Apr 2003 S
D474198 Barnes May 2003 S
D474778 Barnes May 2003 S
D475064 Nashida et al. May 2003 S
6563515 Reynolds et al. May 2003 B1
6577330 Tsuda et al. Jun 2003 B1
6600936 Karkkainen et al. Jul 2003 B1
D478912 Johnson Aug 2003 S
D485279 DeCombe Jan 2004 S
6678891 Wilcox et al. Jan 2004 B1
D486499 Hayashi et al. Feb 2004 S
6741268 Hayakawa May 2004 B1
6757365 Bogard Jun 2004 B1
D495339 Gildred Aug 2004 S
6775659 Clifton-Bligh Aug 2004 B2
6781575 Hawkins et al. Aug 2004 B1
D495715 Gildred Sep 2004 S
6788987 Slechta et al. Sep 2004 B2
6801849 Szukala et al. Oct 2004 B2
6845153 Tiburtius et al. Jan 2005 B2
6850255 Muschetto Feb 2005 B2
6865404 Tikkala et al. Mar 2005 B1
D506474 Gildred Jun 2005 S
6907575 Duarte Jun 2005 B2
D507577 Totten et al. Jul 2005 S
6925650 Arsenault et al. Aug 2005 B1
D510581 Robbin et al. Oct 2005 S
6959207 Keinonen et al. Oct 2005 B2
6968179 De Vries Nov 2005 B1
6975712 Schnarel et al. Dec 2005 B1
6978473 Nsonwu et al. Dec 2005 B1
7007239 Hawkins et al. Feb 2006 B1
7036091 Nguyen et al. Apr 2006 B1
7046993 Haaramo et al. May 2006 B2
D523439 Kuroda Jun 2006 S
D523440 Hernandez et al. Jun 2006 S
D523868 Kuroda Jun 2006 S
7076546 Bates et al. Jul 2006 B1
7083109 Pouchak Aug 2006 B2
7086008 Capps et al. Aug 2006 B2
7089287 Bellotti et al. Aug 2006 B2
7099862 Fitzpatrick et al. Aug 2006 B2
D528556 Decombre Sep 2006 S
7111788 Reponen Sep 2006 B2
7117445 Berger Oct 2006 B2
7137073 Kim et al. Nov 2006 B2
7167910 Farnham et al. Jan 2007 B2
7174516 Chipchase Feb 2007 B2
7178109 Hewson et al. Feb 2007 B2
7187761 Bookstaff Mar 2007 B2
D540340 Cummins Apr 2007 S
D543986 Rimas-Ribikauskas et al. Jun 2007 S
D543987 Rimas-Ribikauskas et al. Jun 2007 S
D543992 Vigesaa Jun 2007 S
D544875 Wang et al. Jun 2007 S
D544877 Sasser Jun 2007 S
D545324 Decombe Jun 2007 S
7231229 Hawkins et al. Jun 2007 B1
7236576 Schnarel et al. Jun 2007 B2
7236780 Benco et al. Jun 2007 B2
D545827 Evans et al. Jul 2007 S
D545832 Armendariz Jul 2007 S
D546342 Armendariz Jul 2007 S
D547321 Viegers et al. Jul 2007 S
7248677 Randall et al. Jul 2007 B2
7248857 Richardson et al. Jul 2007 B1
D548239 Rimas-Ribikauskas et al. Aug 2007 S
D548743 Takahashi et al. Aug 2007 S
D550681 Totten et al. Sep 2007 S
D551252 Andre et al. Sep 2007 S
D552114 Tolle et al. Oct 2007 S
D554142 Cameron Oct 2007 S
7280652 Bocking et al. Oct 2007 B2
D554652 Shen et al. Nov 2007 S
D556765 Evans et al. Dec 2007 S
D557268 Fletcher Dec 2007 S
D558221 Nagata et al. Dec 2007 S
D562343 Fletcher Feb 2008 S
7330845 Lee et al. Feb 2008 B2
D563972 Sherry Mar 2008 S
7343365 Farmham et al. Mar 2008 B2
7343565 Ying et al. Mar 2008 B2
D565586 Shin et al. Apr 2008 S
D565627 Kase Apr 2008 S
D567251 Sadler Apr 2008 S
D567817 Kwag et al. Apr 2008 S
7353034 Haney Apr 2008 B2
7360174 Grossman et al. Apr 2008 B2
D568334 Okaro et al. May 2008 S
D568897 Byeon May 2008 S
D568898 Byeon May 2008 S
D568899 Byeon May 2008 S
D569387 Byeon May 2008 S
7369850 Andrew et al. May 2008 B2
D570369 Fletcher Jun 2008 S
D571819 Scott et al. Jun 2008 S
D573601 Gregov et al. Jul 2008 S
D574392 Kwag et al. Aug 2008 S
D575297 Glezer et al. Aug 2008 S
D575298 Chen et al. Aug 2008 S
D575792 Benson Aug 2008 S
D576174 Ording et al. Sep 2008 S
D577364 Flynt et al. Sep 2008 S
D578134 Jasinski Oct 2008 S
D578543 Ulm et al. Oct 2008 S
7437005 Drucker et al. Oct 2008 B2
7440910 Ruvolo et al. Oct 2008 B1
7444342 Hall et al. Oct 2008 B1
D580450 Chen et al. Nov 2008 S
D580946 Chen et al. Nov 2008 S
7450927 Creswell et al. Nov 2008 B1
D582426 Chen et al. Dec 2008 S
D582928 Blankenship et al. Dec 2008 S
D583823 Chen et al. Dec 2008 S
D584737 Stone et al. Jan 2009 S
D585453 Chen et al. Jan 2009 S
D585454 Ismail Jan 2009 S
D586361 Horowitz et al. Feb 2009 S
D586362 Horowitz et al. Feb 2009 S
7490295 Chaudhri et al. Feb 2009 B2
D588148 Stone et al. Mar 2009 S
D588149 Brownell et al. Mar 2009 S
D588150 Stone et al. Mar 2009 S
7503014 Tojo et al. Mar 2009 B2
7506246 Hollander Mar 2009 B2
7512652 Appelman et al. Mar 2009 B1
7512655 Armstrong et al. Mar 2009 B2
D589970 Bhat et al. Apr 2009 S
D590407 Watanabe et al. Apr 2009 S
D590412 Saft et al. Apr 2009 S
7519912 Moody et al. Apr 2009 B2
7526306 Brems et al. Apr 2009 B2
D592218 Blankenship et al. May 2009 S
D592674 Kwag May 2009 S
D593120 Bouchard et al. May 2009 S
7536654 Anthony et al. May 2009 B2
D593574 Guimaraes et al. Jun 2009 S
D593576 Ball et al. Jun 2009 S
D594015 Singh et al. Jun 2009 S
D594465 Hong et al. Jun 2009 S
D594872 Akimoto Jun 2009 S
7543245 Irimajiri Jun 2009 B2
7546543 Louch et al. Jun 2009 B2
7555727 Hawkins et al. Jun 2009 B2
D596192 Shotel Jul 2009 S
7562304 Dixon et al. Jul 2009 B2
7577700 Tolson et al. Aug 2009 B2
7580363 Sorvari et al. Aug 2009 B2
D599368 Kanga et al. Sep 2009 S
D599806 Brown et al. Sep 2009 S
D599807 Marashi Sep 2009 S
D599810 Scalisi et al. Sep 2009 S
D599811 Watanabe et al. Sep 2009 S
D599812 Hirsch Sep 2009 S
D599813 Hirsch Sep 2009 S
D599814 Ogura et al. Sep 2009 S
D601153 Setiawan et al. Sep 2009 S
7587215 Chakraborty et al. Sep 2009 B2
7587683 Ito et al. Sep 2009 B2
D602038 Channell et al. Oct 2009 S
7603628 Park et al. Oct 2009 B2
D603415 Lin et al. Nov 2009 S
D603416 Poling et al. Nov 2009 S
D603418 Magnani et al. Nov 2009 S
D603420 Channell Nov 2009 S
D603867 La et al. Nov 2009 S
D604310 Ahn Nov 2009 S
D604316 Hoefnagels et al. Nov 2009 S
D604317 Hoefnagels et al. Nov 2009 S
D604740 Matheny et al. Nov 2009 S
7620996 Torres et al. Nov 2009 B2
D605200 Sakai Dec 2009 S
D605652 Plaisted et al. Dec 2009 S
D605653 Danton Dec 2009 S
D606088 Yokouchi et al. Dec 2009 S
D606550 La et al. Dec 2009 S
D607002 Jonasson et al. Dec 2009 S
7636889 Weber et al. Dec 2009 B2
D608364 Walsh et al. Jan 2010 S
D608366 Matas Jan 2010 S
D608367 Scalisi et al. Jan 2010 S
D608368 Bamford Jan 2010 S
7646745 Caldwell et al. Jan 2010 B2
7650361 Wong et al. Jan 2010 B1
D609714 Oda et al. Feb 2010 S
D609715 Chaudhri Feb 2010 S
D610159 Matheny et al. Feb 2010 S
D610161 Matas Feb 2010 S
7665028 Cummins et al. Feb 2010 B2
7665033 Byrne et al. Feb 2010 B2
D611056 Langlois et al. Mar 2010 S
D611484 Mays et al. Mar 2010 S
D611485 Marashi Mar 2010 S
D611489 Bell et al. Mar 2010 S
D611490 Lee et al. Mar 2010 S
D612394 La et al. Mar 2010 S
D612860 Tarara et al. Mar 2010 S
7673017 Kim et al. Mar 2010 B2
7685520 Rashkovskiy et al. Mar 2010 B2
7685530 Sherrard et al. Mar 2010 B2
D613300 Chaudhri Apr 2010 S
D613747 Jonasson et al. Apr 2010 S
D614191 Takano et al. Apr 2010 S
D614192 Takano et al. Apr 2010 S
D614633 Watanabe et al. Apr 2010 S
D614643 Viegers et al. Apr 2010 S
D614646 Chen et al. Apr 2010 S
7702543 MacKay et al. Apr 2010 B2
7703031 Nakagawa et al. Apr 2010 B2
7705833 Kim Apr 2010 B2
D615090 Sogabe May 2010 S
D615546 Lundy et al. May 2010 S
D615549 Caine et al. May 2010 S
7720498 Lee May 2010 B2
D617804 Hirsch Jun 2010 S
D617805 Scalisi et al. Jun 2010 S
D618250 Stallings et al. Jun 2010 S
7735021 Padawer et al. Jun 2010 B2
7738912 Hawkins et al. Jun 2010 B1
D619593 Fujioka et al. Jul 2010 S
D619594 Jonasson et al. Jul 2010 S
D620948 Scalisi et al. Aug 2010 S
D621844 Van Os Aug 2010 S
D621845 Anzures et al. Aug 2010 S
D622280 Tarara Aug 2010 S
7779358 Gupta et al. Aug 2010 B1
D624556 Chaudhri Sep 2010 S
7797641 Karukka et al. Sep 2010 B2
D625325 Vu et al. Oct 2010 S
D626136 Fujimura Oct 2010 S
D627790 Chaudhri Nov 2010 S
D628206 Lemay Nov 2010 S
7831675 Narayanaswami et al. Nov 2010 B2
7898600 Lee et al. Mar 2011 B2
7900139 Hosotsubo Mar 2011 B2
D638025 Saft et al. May 2011 S
7971222 Ellis Jun 2011 B2
8015187 Choi et al. Sep 2011 B2
8032470 Heidenreich et al. Oct 2011 B1
8046801 Ellis et al. Oct 2011 B2
D652843 van Os Jan 2012 S
8532637 Abolrous et al. Sep 2013 B2
8615720 Bradea Dec 2013 B2
8631351 Fong et al. Jan 2014 B2
8671355 Pegg et al. Mar 2014 B2
D708203 Johnson Jul 2014 S
D717335 Sakuma Nov 2014 S
8893025 Vance et al. Nov 2014 B2
D741360 Connolly et al. Oct 2015 S
9160828 Vance et al. Oct 2015 B2
9195966 Vance et al. Nov 2015 B2
9210247 Vance et al. Dec 2015 B2
9274680 Morillon et al. Mar 2016 B2
9304659 Sherrard et al. Apr 2016 B2
D757783 Jung May 2016 S
9355382 Vance et al. May 2016 B2
9363378 McDaniel et al. Jun 2016 B1
9396542 Vance et al. Jun 2016 B2
D769314 Piroddi et al. Oct 2016 S
D783638 Connolly et al. Apr 2017 S
9886487 Vance et al. Feb 2018 B2
D816107 Kim et al. Apr 2018 S
10021231 Vance et al. Jul 2018 B2
D827667 Piroddi et al. Sep 2018 S
D836649 Connolly et al. Dec 2018 S
10177990 Vance et al. Jan 2019 B2
10178519 Vance et al. Jan 2019 B2
10191623 Vance et al. Jan 2019 B2
D846592 Katopis Apr 2019 S
D854025 Rad et al. Jul 2019 S
10459601 Sherrard et al. Oct 2019 B2
10510008 Vance et al. Dec 2019 B2
D888744 Valladares et al. Jun 2020 S
10733642 Benson et al. Aug 2020 B2
10771605 Vance et al. Sep 2020 B2
10969932 Sherrard et al. Apr 2021 B2
10972597 Vance et al. Apr 2021 B2
11010678 Vance et al. May 2021 B2
20010044743 McKinley et al. Nov 2001 A1
20010046886 Ishigaki Nov 2001 A1
20020045960 Phillips et al. Apr 2002 A1
20020052754 Joyce et al. May 2002 A1
20020054164 Uemura May 2002 A1
20020059201 Work May 2002 A1
20020120462 Good Aug 2002 A1
20020145623 DeCombe Oct 2002 A1
20030009439 Lee Jan 2003 A1
20030014179 Szukala et al. Jan 2003 A1
20030030670 Duarte et al. Feb 2003 A1
20030034878 Hull et al. Feb 2003 A1
20030078033 Sauer et al. Apr 2003 A1
20030164818 Miller-Smith et al. Sep 2003 A1
20030210265 Haimberg Nov 2003 A1
20030224816 Kundaje et al. Dec 2003 A1
20030225879 Chipchase Dec 2003 A1
20040017376 Tagliabue et al. Jan 2004 A1
20040041836 Zaner et al. Mar 2004 A1
20040046796 Fujita Mar 2004 A1
20040067751 Vandermeijden Apr 2004 A1
20040073643 Hayes et al. Apr 2004 A1
20040075691 Moon Apr 2004 A1
20040076444 Badovinac et al. Apr 2004 A1
20040077340 Forsyth Apr 2004 A1
20040091093 Bookstaff May 2004 A1
20040100479 Nakano et al. May 2004 A1
20040102225 Furuta et al. May 2004 A1
20040113927 Quinn et al. Jun 2004 A1
20040119755 Guibourge Jun 2004 A1
20040119758 Grossman et al. Jun 2004 A1
20040122683 Grossman et al. Jun 2004 A1
20040122684 Kaikuranta Jun 2004 A1
20040133638 Doss et al. Jul 2004 A1
20040155908 Wagner Aug 2004 A1
20040162812 Lane Aug 2004 A1
20040172455 Green et al. Sep 2004 A1
20040185890 Drozt et al. Sep 2004 A1
20040221239 Hachigian et al. Nov 2004 A1
20040235520 Cadiz et al. Nov 2004 A1
20040236749 Cortright et al. Nov 2004 A1
20040237048 Tojo et al. Nov 2004 A1
20040239982 Gignac Dec 2004 A1
20040250217 Tojo et al. Dec 2004 A1
20040268228 Croney et al. Dec 2004 A1
20040268265 Berger Dec 2004 A1
20050005235 Satterfield et al. Jan 2005 A1
20050010584 Reponen Jan 2005 A1
20050010876 Robertson et al. Jan 2005 A1
20050033603 Suzuki et al. Feb 2005 A1
20050033698 Chapman Feb 2005 A1
20050038856 Krishnasamy et al. Feb 2005 A1
20050039140 Chen Feb 2005 A1
20050041011 Silfverberg et al. Feb 2005 A1
20050059418 Northcutt Mar 2005 A1
20050060377 Lo et al. Mar 2005 A1
20050071780 Muller et al. Mar 2005 A1
20050079863 Macaluso Apr 2005 A1
20050080859 Lake Apr 2005 A1
20050086611 Takabe et al. Apr 2005 A1
20050091272 Smith et al. Apr 2005 A1
20050094205 Lo et al. May 2005 A1
20050114374 Juszkiewicz et al. May 2005 A1
20050118996 Lee et al. Jun 2005 A1
20050120306 Klassen et al. Jun 2005 A1
20050138574 Lin Jun 2005 A1
20050143135 Brems et al. Jun 2005 A1
20050143138 Lee et al. Jun 2005 A1
20050160376 Sciammarella et al. Jul 2005 A1
20050163290 Gilles et al. Jul 2005 A1
20050172001 Zaner et al. Aug 2005 A1
20050182837 Harris et al. Aug 2005 A1
20050188312 Bocking et al. Aug 2005 A1
20050209994 Noro et al. Sep 2005 A1
20050210104 Torvinen Sep 2005 A1
20050221807 Karlsson et al. Oct 2005 A1
20050229110 Gegner et al. Oct 2005 A1
20050235225 Pradhan et al. Oct 2005 A1
20050235226 Watanabe et al. Oct 2005 A1
20050235251 Arend et al. Oct 2005 A1
20050243979 Starbuck et al. Nov 2005 A1
20050245236 Servi et al. Nov 2005 A1
20050246654 Hally et al. Nov 2005 A1
20050261011 Scott Nov 2005 A1
20050261032 Seo et al. Nov 2005 A1
20050262186 Szeto et al. Nov 2005 A1
20050262204 Szeto et al. Nov 2005 A1
20050268237 Crane et al. Dec 2005 A1
20050278652 Scholz Dec 2005 A1
20060009249 Fu et al. Jan 2006 A1
20060010395 Aaltonen Jan 2006 A1
20060030347 Biswaas Feb 2006 A1
20060005801 Williams et al. Mar 2006 A1
20060048076 Vronay et al. Mar 2006 A1
20060053379 Henderson et al. Mar 2006 A1
20060055700 Niles et al. Mar 2006 A1
20060008441 Sutaria et al. Apr 2006 A1
20060094404 Burgess May 2006 A1
20060101350 Scott May 2006 A1
20060112354 Park et al. May 2006 A1
20060123360 Anwar et al. Jun 2006 A1
20060140015 Kasamsetty Jun 2006 A1
20060141996 Huh Jun 2006 A1
20060143574 Ito et al. Jun 2006 A1
20060146765 Van De Sluis et al. Jul 2006 A1
20060148499 Chie Jul 2006 A1
20060148522 Chipchase et al. Jul 2006 A1
20060161868 Van Dok et al. Jul 2006 A1
20060168539 Hawkins et al. Jul 2006 A1
20060170945 Bill Aug 2006 A1
20060174121 Omae et al. Aug 2006 A1
20060174269 Hansen-Turton Aug 2006 A1
20060212829 Yahiro et al. Sep 2006 A1
20060223518 Haney Oct 2006 A1
20060224675 Fox Oct 2006 A1
20060242581 Manion et al. Oct 2006 A1
20060242597 Park Oct 2006 A1
20060250578 Pohl et al. Nov 2006 A1
20060253787 Fogg Nov 2006 A1
20060277488 Cok et al. Dec 2006 A1
20060293057 Mazerski et al. Dec 2006 A1
20070011617 Akagawa et al. Jan 2007 A1
20070026645 Lieber et al. Feb 2007 A1
20070027920 Alvarado et al. Feb 2007 A1
20070032267 Haitani et al. Feb 2007 A1
20070033540 Bridges et al. Feb 2007 A1
20070035513 Sherrard et al. Feb 2007 A1
20070037561 Bowen et al. Feb 2007 A1
20070043688 Kountz et al. Feb 2007 A1
20070060206 Dam Nielsen et al. Mar 2007 A1
20070067738 Flynt et al. Mar 2007 A1
20070072586 Morhenn et al. Mar 2007 A1
20070073874 Moghaddam et al. Mar 2007 A1
20070079246 Morillon et al. Apr 2007 A1
20070118813 Forstall et al. May 2007 A1
20070129112 Tarn Jun 2007 A1
20070135103 Middleton Jun 2007 A1
20070136360 Randall et al. Jun 2007 A1
20070136687 Pak Jun 2007 A1
20070150830 Ording et al. Jun 2007 A1
20070162862 Ogasawara et al. Jul 2007 A1
20070164989 Rochford et al. Jul 2007 A1
20070168262 Morotomi et al. Jul 2007 A1
20070174389 Armstrong et al. Jul 2007 A1
20070198947 Cox et al. Aug 2007 A1
20070226645 Kongqiao et al. Sep 2007 A1
20070250822 Yang et al. Oct 2007 A1
20070250936 Nakamura et al. Oct 2007 A1
20070268908 Linkola et al. Nov 2007 A1
20070271528 Park et al. Nov 2007 A1
20070290787 Fiatal Dec 2007 A1
20080014982 Foxenland Jan 2008 A1
20080022228 Kwon et al. Jan 2008 A1
20080034317 Fard et al. Feb 2008 A1
20080059570 Bill Mar 2008 A1
20080062126 Algreatly Mar 2008 A1
20080081653 Mock et al. Apr 2008 A1
20080086703 Flynt et al. Apr 2008 A1
20080098311 Delarue et al. Apr 2008 A1
20080111826 Endrikhovski et al. May 2008 A1
20080122870 Brodersen et al. May 2008 A1
20080158189 Kim Jul 2008 A1
20080172030 Blomquist Jul 2008 A1
20080189614 Jeong et al. Aug 2008 A1
20080189627 Nikitin et al. Aug 2008 A1
20080194934 Ray et al. Aug 2008 A1
20080215978 Bamba Sep 2008 A1
20080220751 De Bast Sep 2008 A1
20080220752 Forstall et al. Sep 2008 A1
20080235248 Krantz et al. Sep 2008 A1
20080256170 Hayashi et al. Oct 2008 A1
20080261569 Britt et al. Oct 2008 A1
20080263069 Harris et al. Oct 2008 A1
20080280600 Zhou Nov 2008 A1
20080282158 Aaltonen et al. Nov 2008 A1
20080288612 Kwon Nov 2008 A1
20080288880 Reponen et al. Nov 2008 A1
20090013048 Partaker et al. Jan 2009 A1
20090040875 Buzescu et al. Feb 2009 A1
20090043847 Laurila Feb 2009 A1
20090055484 Vuong et al. Feb 2009 A1
20090077496 Aravamudan et al. Mar 2009 A1
20090100363 Pegg et al. Apr 2009 A1
20090158200 Palahnuk et al. Jun 2009 A1
20090164923 Ovi Jun 2009 A1
20090187630 Narayanaswami et al. Jul 2009 A1
20090193512 Buckley et al. Jul 2009 A1
20090199120 Baxter et al. Aug 2009 A1
20090228513 Tian Sep 2009 A1
20090300518 Mock et al. Dec 2009 A1
20090303188 Triplett Dec 2009 A1
20100004008 Abolrous et al. Jan 2010 A1
20100005520 Abbot et al. Jan 2010 A1
20100020727 Narayan et al. Jan 2010 A1
20100020953 Lidstrom Jan 2010 A1
20100050123 Sherrard et al. Feb 2010 A1
20100062753 Wen Mar 2010 A1
20100064231 Gupta Mar 2010 A1
20100094837 O'Sullivan et al. Apr 2010 A1
20100095009 Matuszewski et al. Apr 2010 A1
20100144331 Koberg et al. Jun 2010 A1
20100153886 Hautala Jun 2010 A1
20100180001 Hardt Jul 2010 A1
20100190467 Scott et al. Jul 2010 A1
20100190468 Scott et al. Jul 2010 A1
20100241544 Benson et al. Sep 2010 A1
20100245262 Vance et al. Sep 2010 A1
20100248701 Vance et al. Sep 2010 A1
20100250606 Vance et al. Sep 2010 A1
20100287504 Vance et al. Nov 2010 A1
20100333029 Smith et al. Dec 2010 A1
20110029892 Kurtz et al. Feb 2011 A1
20110258547 Symons et al. Oct 2011 A1
20110276571 Yamada et al. Nov 2011 A1
20120071244 Gillo et al. Mar 2012 A1
20130014021 Bau et al. Jan 2013 A1
20130019173 Kotler et al. Jan 2013 A1
20130019203 Kotler et al. Jan 2013 A1
20130024780 Sutedja et al. Jan 2013 A1
20130027335 Li et al. Jan 2013 A1
20130086522 Shimazu et al. Apr 2013 A1
20130275897 Vance et al. Oct 2013 A1
20130281161 Vance et al. Oct 2013 A1
20130283180 Vance et al. Oct 2013 A1
20140033071 Gruber et al. Jan 2014 A1
20140220942 Vance et al. Aug 2014 A1
20150072644 Sherrard et al. Mar 2015 A1
20150220220 Sherrard et al. Aug 2015 A1
20160078097 Vance et al. Mar 2016 A1
20160253083 Lee et al. Sep 2016 A1
20170116532 Vance et al. Apr 2017 A1
20170339079 Appelman et al. Nov 2017 A1
20180295223 Vance et al. Oct 2018 A1
20190116471 Vance et al. Apr 2019 A1
20190205148 Schur Jul 2019 A1
20200167673 Vance et al. May 2020 A1
20200322472 Vance et al. Oct 2020 A1
Non-Patent Literature Citations (5)
Entry
Office Action in Indian Application No. 10055/DELNP/2007 dated Jun. 8, 2018.
Borsuk, “Chatter App Relevant Contacts”, dribbble.com [online], published on Dec. 29, 2017, [retrieved on Apr. 22, 2021], retrieved from the Internet <URL: https://dribbble.com/shots/4052309-Chatter-App-Relevant-Contacts>.
“Digital cellular telecommunications system (Phase 2+) (GSM); Universal Mobile Telecommunications System (UMTS); LTE; IP Multimedia Subsystem (IMS); Stage 2 (3GPP TS 23.228 version 15.2.0 Release 15)”, ETSI Technical Specification, European Telecommunications Standards Institute (ETSI), 650, Route Des Lucioles ; F-06921 Sophia-Antipolis ; France vol. 3GPP SA, No. V15.2.0 Jul. 26, 2018 (Jul. 26, 2018), pp. 1-325, XP014329528, Retrieved from the Internet: URL:http://www.etsi.org/deliver/etsi_ts/123200_ 123299/123228/15.02.00_60/ts_ 123228v150200p.pdf [retrieved on Jul. 26, 2018].
White, “T-Mobile myFaves Subs Get Unlimited SMS for $10”, engadget.com [online], published on Jul. 19, 2007, [retrieved on Apr. 22, 2021] retrieved from the Internet <URL: https://www.engadget.com/2007-07-19-t-mobile-myfaves-subs-get-unlimited-sms-for-10.html.
International Preliminary Report on Patentability for PCT/US2019/047193 dated Feb. 23, 2021 in 11 pages.
Related Publications (1)
Number Date Country
20170124175 A1 May 2017 US
Continuations (1)
Number Date Country
Parent 12413489 Mar 2009 US
Child 15179768 US