Methods and systems of providing status message calling

Information

  • Patent Grant
  • 9232076
  • Patent Number
    9,232,076
  • Date Filed
    Friday, November 30, 2007
    17 years ago
  • Date Issued
    Tuesday, January 5, 2016
    9 years ago
Abstract
In an embodiment, a method of providing a status message may include receiving, from a mobile device one or more status messages, wherein each status message corresponds to one or more contacts in an address book, storing the status messages and corresponding one or more contacts, transmitting one of the status messages to a mobile device associated with one of the one or more contacts, wherein the status message is displayed on the associated mobile device and integrating the status message into an address book associated with the contact.
Description
BACKGROUND

As the mobile telecommunication industry grows, mobile subscribers are becoming increasingly more aware of their leverage in the market. They carefully compare service providers and call plans, and make educated choices before subscribing to a carrier and a service. Subscribers also continuously seek new and improved features to integrate into their mobile service such as enhanced chat, long distance service options, customized graphical user interfaces and the like.


Despite being informed consumers, mobile subscribers are often disadvantaged in the mobile market. For example, although a subscriber may be knowledgeable about their own calling plan subscription, subscribers are usually unaware of the cost per minute of a call to the calling destination. This puts a mobile subscriber at a disadvantage in making educated and economical calling choices.


Mobile subscribers would also welcome more long distance service options. A subscriber to a telecommunication carrier service typically needs a local access number to utilize the service. This usually involves selecting a number from a list of regional or area numbers, such as a preprinted list on a calling card, to find the access number closest to the subscriber's current location. The subscriber dials the local access number and is usually connected to a long distance service provider via a telephony network. Typically, the subscriber can then enter a target long distance telephone number, and the long distance service provider will route the call to a subscriber-specified number. The current approach has many disadvantages, however, such as having to purchase a phone care and locating a local access number. In addition, a subscriber who accidentally places a call using a non-local access number may incur long distance charges.


It is common for a subscriber to experience a significant delay after powering on his mobile device before he is able to access updated contact information in his address book. This is because the mobile device must contact and retrieve an updated contact list from a server. As such subscribers may desire to access his address book while the contact information is being updated.


To keep pace with the constant evolution of mobile telephony, mobile subscribers are treated to a variety of applications designed to optimize their mobile communication experience. For example, subscribers can access the Internet with the mobile device, send chat messages to their contacts and the like. Subscribers can glean relevant and up-to-date information about their contacts in their address books by viewing presence-statuses, away messages, sometimes referred to as status messages, mood messages or the like. However, it is common for a subscriber's status message to read the same regardless of which contact views it. As such a subscriber cannot customize his status message based on the contact who is viewing it.


SUMMARY

Before the present methods are described, it is to be understood that this invention is not limited to the particular systems, methodologies or protocols described, as these may vary. It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to limit the scope of the present disclosure which will be limited only by the appended claims.


In an embodiment, a method of providing a status message may include receiving, from a mobile device, one or more status messages, wherein each status message corresponds to one or more contacts in an address book, storing the status messages and corresponding one or more contacts, transmitting one of the status messages to a mobile device associated with one of the one or more contacts, wherein the status message is displayed on the associated mobile device and integrating the status message into an address book associated with the contact.


In an embodiment, a method of providing contact information on a mobile device may include generating a list of a predefined number of most-recently called contacts from an address book on a subscriber's mobile device and for each most-recently called contact, receiving contact information, comprising one or more of a contact name, a telephone number, a mood message, a holographic message, and a status message. The method may also include transmitting the list, associated contact information and one or more instructions to the subscriber's mobile device, wherein the one or more instructions instruct the mobile device to display the list and associated contact information.


In an embodiment, a system of providing a status message may include a subscriber mobile device comprising an address book having one or more contacts, a processor for processing data relating to one or more status messages, wherein the processor is in communication with the subscriber mobile device and one or more contact mobile devices associated with one or more contacts in the address book, wherein each contact mobile device is in communication with the processor.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 depicts a flow chart for implementing an exemplary call-cost feature on a mobile device.



FIG. 2 depicts a mobile device display of exemplary cost information according to an embodiment.



FIG. 3 depicts an exemplary system of providing cost information according to an embodiment.



FIG. 4 depicts an exemplary system of providing cost information according to an embodiment.



FIG. 5 illustrates flow chart for assigning an exemplary local access number according to an embodiment.



FIG. 6 illustrates a method of placing an exemplary long distance call using a local access number according to an embodiment.



FIG. 7 illustrates a flow chart for an exemplary method of accessing contact information on a subscriber's mobile device according to an embodiment.



FIG. 8 illustrates an exemplary system for implementing mobile address book interaction according to an embodiment.



FIG. 9 illustrates an exemplary method of providing contact information according to an embodiment.





DETAILED DESCRIPTION


FIG. 1 illustrates a flow chart for implementing an exemplary call-cost feature on a mobile device. A mobile device may include mobile or portable devices such as cellular phones, PDAs, media players or the like. A mobile device may have a processor and a processor-readable storage medium in communication with the processor.


As illustrated by FIG. 1, a price table database may receive 100 cost information from a price feed. A price feed provides real time pricing information for a product or service. For example, stock prices may be available to an online trader via a price feed.


In an embodiment, the price table database may be housed on a computing device, such as a server, and the cost information may include the cost per minute for a plurality of calling destinations or the like. Table 1 illustrates an exemplary price table database according to an embodiment.












TABLE 1







Calling Destination
Cost per minute









Canada
$0.33/minute



France
$0.56/minute



Israel
$0.35/minute



United States
$0.15/minute










The price table database may receive 100 cost information from the price feed on a regular basis. In an embodiment, the price feed may include a rate sheet provided by a telephone service provider.


In an embodiment, at least a portion of the received cost information may be stored 105 is the price table database. For example, the price table database may receive a cost-per-minute for calling Canada. If the price table database does not currently include a cost-per-minute for Canada, the cost information may be added to the price table database. If the price table database includes a different cost-per-minute for Canada, the stored cost information may be replaced with the cost information from the price feed. In an embodiment, if the received cost information associated with a calling destination is less than the stored cost information associated with the calling destination, an alert may be generated. The alert may be used to notify a subscriber of the price discount associated with the particular calling destination. In an embodiment, the server may transmit the alert to a subscriber's mobile device to notify the subscriber of the price discount.


A mapper may use the cost information contained in the price table database to map 110 cost information to one or more phone numbers in a subscriber's address book. In an embodiment, the mapper may utilize pre-defined rules to map 110 cost information to a contact number. A contact is an entry in an address book that is accessible by a mobile device. A contact number is a mobile device number associated with a contact. In an embodiment, the mapper may map 110 cost information to one or more contact numbers using pre-defined rules. The pre-defined rules may be used to determine, for example, a calling destination, whether the phone number belongs to a landline or a mobile device, or the like. For example, in Israel, landlines are provisioned with the country code +972 followed by an area code ranging from ‘1’ to ‘9’, with the exception of ‘5.’ Mobile phone numbers typically begin with ‘5.’ If a subscriber has the phone number “972-2-5388-0234” in his address book, the mapper may use one or more pre-defined rules to determine the contact number is a landline number is Israel. The mapper may use this information to map the corresponding cost per minute to one or more contact numbers in a subscriber's address book.


In an embodiment, the mapped cost information may be transmitted to the subscriber's mobile device for display to the subscriber. FIG. 2 depicts a mobile phone display of exemplary cost information according to an embodiment. As illustrated, the cost to call one or more contacts in a subscriber's address book may be displayed. For example, calling Jim on his mobile phone costs $0.0136/minute 200, whereas calling Jim on his landline phone costs $0.017/minute 205. The subscriber may use this information to make an informed calling decision regarding which number to call.


In an embodiment, cost information may be provided based on associated calling plans. As illustrated by FIG. 3, the price table database may include cost information such as mobile providers' calling plans 300, a cost-per-minute value 305 associated with the calling plans, a dialing prefix 310 provisioned for each calling plan and/or the like. In an embodiment, the price table database may receive this cost information from the price feed on a regularly updated basis.


In an embodiment, the mapper may map a contact's number with the subscriber's calling plan and the corresponding cost information may be displayed to a subscriber. One or more contacts in a subscriber's address book may be displayed with cost information based on the subscriber's and/or the contact's calling plan. For example, FIG. 3 illustrates exemplary information that may be displayed on a mobile device. A contact's number 315 may be listed with a cost-per-minute value 320 and a calling plan 325 associated with the number 315.


In an embodiment, the mapper may use a contact's phone number to determine calling destination information such as a contact's locale, whether the contact's number corresponds to a landline or a mobile phone or the like. After calling destination information is determined, the mapper may map at least a portion of the calling destination information to the subscriber's calling plan. For example, a subscriber may want to call a contact who has two numbers. The first number may be a landline in Israel while the second number may be a mobile phone in Israel. The mapper may match the subscriber's calling plan with the destination information to determine that cost information associated with calling the two numbers.


In an embodiment, multiple service providers may be used to place a call. In such an embodiment, the mapper may map cost information associated with all necessary providers so that a combined price may be displayed to a subscriber. For example, if a subscriber calls an overseas contact using a long-distance service provider, the cost-per-minute may reflect both the long distance provider's charges as well as the local mobile carrier's airtime charges.



FIG. 4 depicts an environment suitable for practicing the illustrative embodiments. A processor, such as a server 400 may include a mapper 405 and/or a price table database 410. The server 400 may be in communication with a price feed 415 and one or more mobile devices 420 via a network 425. The server 400 may be implemented on a stand-alone computer system or may be implemented by distributed components such as separate electronic devices.


In an embodiment, a subscriber may use a local access number to place a long distance call. A local access number is a local telephone number a subscriber may employ to connect to a certain long distance service provider. FIG. 5 illustrates an exemplary flow chart of a method for assigning a local access number according to an embodiment. A subscriber's locale information may be received 500 by a server. In an embodiment, a subscriber may use a mobile device to subscribe to a telecommunication service via a data line. For example, a subscriber may access a browser to transmit an HTTP request. Upon registration, a subscriber may provide locale information such as an area code and a telephone number, a zip code or the like corresponding to the subscriber's current location. The locale information may be communicated to a server.


In another embodiment, locale information may be automatically received 500 by a server. For example, the locale information may be transmitted via an HTTP browser to a server where it may be processed by a service delivery framework (SDF). The SDF may be aware of the subscriber locale information, such as a Mobile Systems International Subscriber Identity Number (MSISDN), and may insert such information into an HTTP header. The header may be transmitted to the server where the mapper may extract the locale information.


In an embodiment, the mapper may map 510 the locale information to a database of available access numbers. A local access number may be identified 520 based on the subscriber's current location and the identified local access number may be transmitted 530 to the subscriber's mobile device.


In an embodiment, the mapper may generate a list of long distance service providers having local access numbers corresponding to the subscriber's locale. The server may transmit the list via a data line to the subscriber's mobile device. The subscriber may select a long distance service provider, and may receive the corresponding local access number on his mobile device.


In an embodiment, the subscriber may use the local access number to connect to a chosen long distance service provider. The subscriber may manually input the local access number, followed by the desired long-distance phone number. Alternatively, the subscriber may employ an application such as an address book, to automate this process. For example, a mobile device's address book may include a long-distance automatic dialing feature that allows for quick-dialing of a previously entered local access code.


In an embodiment, an existing address book may be populated with the local access number for future retrieval. In an embodiment, as a subscriber travels, his mobile device may receive and store new local access numbers based on his current location.



FIG. 6 illustrates a method of placing a long distance call using a local access number according to an embodiment. For example, subscriber who wants to make a third-party long distance call may register 600 for a long distance service using a browser on his mobile device. Upon registration, the subscriber may be asked to provide 605 locale information, such as a local telephone number with an area code. The locale information may be processed 610 by the server, and the subscriber may receive 615 a list of one or more long distance service providers. The subscriber may select 620 a long distance service provider and may receive 625 a local access number based on the selected long distance provider on his mobile device. The subscriber may employ the local access number for as long as he remains in his current location. If the subscriber's address book is equipped with a long distance auto-dial feature, it may be automatically populated with the local access number when the server transmits it to the mobile device. If the subscriber changes locations, he may access his account on the subscription site, enter a new telephone number and area code, and receive a new local access number. The subscriber's old access number may be stored for later use.


In an embodiment, a local access number may be automatically dialed for the subscriber, and may or may not require subscriber confirmation. As such, the subscriber may only need to specify the preferred long distance number to call. For example, a subscriber may select or input the preferred long distance number to call, and an application on the mobile device may place the call by automatically dialing the access code local to the subscriber's local information. As described above, the locale information may be ascertained based on the telephone number provided by the subscriber at sign-up or by extracting the subscriber locale information from an HTTP header.


For example, a mobile user who wants to place a long distance call may select a contact from his address book to call. The subscriber's long distance subscription service may ascertain the subscriber's location by extracting locale information from an HTTP header transmitted by the subscriber's phone or by the locale information the subscriber provided at sign-up. The server may map the subscriber's location to an appropriate local access number which may be sent to the subscriber's mobile device. The subscriber may make one or more selections to dial the received local access number. Alternatively, the service may auto-dial the local access number and connect the call without the subscriber being aware that a local access number has been dialed.



FIG. 7 illustrates a flow chart for an exemplary method of accessing contact information on a subscriber's mobile device according to an embodiment. When a subscriber first accesses a server-based mobile address book application, the subscriber may experience a significant delay while the address book attempts to retrieve the subscriber's address book from the server. In an embodiment, a cache of the address book may be created 700 before the subscriber's mobile device is powered off. The cache may include contact information stored in the subscriber's address book during the last application session. For example, the cache may include a contact's name, one or more telephone numbers associated with the contact, a status message associated with the contact and/or the like.


In an embodiment, a status message indicates whether the contact is online, offline or the like. A status message includes information relating to a status or state of a subscriber, and can be presented automatically to anyone who attempts to contact the subscriber. The status message may provide further information regarding the subscriber. In an embodiment, exemplary status messages may include “Having a bad day,” “In a meeting,” “At the gym” or the like.


In an embodiment, the cache may be stored 710 on the subscriber's mobile device. When a subscriber powers on his mobile device, at least a portion of the cache may be displayed 720 to a subscriber until a fresh upload of contact information can be obtained from the server. For example, when a subscriber accesses an address book application after powering on his mobile device, the subscriber may be presented with a cached version of his address book that may include contacts' names, telephone numbers, status message and/or the like which were stored in the cache prior to the mobile device being powered off.


In an embodiment, because the server may take a significant amount of time to upload a complete fresh address book, contacts may be updated in a particular order according to an embodiment. For example, the first several contacts that appear in a subscriber's mobile device display may have their information updated first. Alternatively, priority may be given to one or more pre-determined contacts.


A problem may arise when a subscriber attempts to call a contact's telephone number using a cached address book. In an embodiment, the cached information may include a contact identification number associated with a contact and/or a unique session identification number. A contact identification number is a unique identifier associated with a certain contact in an address book. A session identification number is a unique identifier associated with a calling period. The unique session identification number may remain valid for the length of an entire calling period, which, in an embodiment, may be the period of time from when the application is powered up and connected until the time that the application is powered down. A contact identification number may be assigned to each contact, and may remain valid for the duration of a calling period. In an embodiment, the unique session identification number and the contact identification numbers may expire after the calling period has closed, thus rendering them invalid for subsequent calling sessions. As such when a subscriber attempts to call a contact with stale status information, the application may attempt to dial in with an expired session identification number and/or reference an expired contact identification number, which may result in call failure. While a delay may exist while the server refreshes and updates a subscriber's contact information, a service provider may want to give a subscriber a feeling of being logged onto the network as soon as the subscriber's mobile device is powered on.


For example, in an embodiment, if a subscriber selects a contact from the cached address book having expired status information, the contact's phone number may not be immediately dialed. Instead, the subscriber's mobile device may dial a server and may dispatch the name of the desired callee across a network. The server may send back a session identification number to be utilized during the calling period and/or a contact information number that references the callee. In an embodiment, the server may also send a local access number to be used to contact the callee. Alternatively, the call may be completed without the use of a local access number.


In an embodiment, if a subscriber selects a contact from the cached contact list having stale status information, a prepare call may be sent to the server. The prepare call may include a session identification number, a callee's contact identification number, a callee's contact name and the like. The server may send back a new session identification number for the subscriber, a contact information number that references the callee, a local access number to be used to contact the callee and/or the like.


In an embodiment, if a subscriber selects a contact from the cached contact list having stale status information, a direct inward dialing (DID) number of the callee may be directly dialed, and the dual-tone multi-frequency (DTMF) tones of the caller may be appended to a dial-string associated with the call. A DID number is a feature offered by telephone companies for use with customer's private branch exchange. A telephone company may allocate a range of numbers all connected to the customers' PBX. As the PBX receives calls, the number that the caller dialed may also be presented so the PBX can route the call to the target callee. For example, DID numbers may be obtained by administrators of a VoIP network and assigned to a gateway in the network. The gateway may route incoming calls from the network to appropriate VoIP subscribers.


In an embodiment, a set of DIDs may be assigned to a gateway. The gateway may then reassign the DIDs to a particular mapping of caller-callee. For example, Caller A may have ten contacts, A-K. Each contact may be assigned a unique DID number. When Caller A selects a contact from his cached contact list, Caller A is, in effect, selecting the DID number associated with the contact.


In an embodiment, if a subscriber selects a contact from the cached contact list having expired status information, a callee's DID number may be directly dialed, and the DID number and the identification number of the caller may appear within the dial-string.


In an embodiment, a subscriber may use an address book on the subscriber's mobile device to call one or more contacts stored in the address book. The subscriber may communicate with these contacts by dialing the contact directly, by sending chat messages or the like. FIG. 8 illustrates an exemplary system for implementing mobile address book interaction according to an embodiment. In addition to being stored locally on a mobile device 800, the contact information in a subscriber's address book 805 may also be cached on a server 810 which may regularly update the address book information. The server may send information about the subscriber's contacts to the subscriber's mobile device 800 as it become available. In an embodiment, the subscriber's mobile device 800 may poll the server at specified intervals to receive updates about the subscriber's contacts. Updated information may be integrated into the subscriber's mobile address book 805 for the subscriber to access. In an embodiment, contact information may include a status message or the like.


As FIG. 8 illustrates, bi-directional communication 815 may exist between the server, the subscriber's mobile device and the contacts 820 who appear in the subscriber's address book. In an embodiment, the server may push information, such as a status message associated with the subscriber, to the contacts 820. The server may also pull information from the contacts 820 for transmission to the subscriber's mobile device.


For example, if the subscriber wishes to change his status message, the subscriber may set a new status message using his mobile device. The new status message may then be sent to the server to be propagated to the subscriber's contacts. When the server receives and processes the new status message, the server may send the new status message to all of the subscriber's contacts.



FIG. 9 illustrates a method of providing contact information according to an embodiment. A server may receive 900 one or more status messages, such as a holographic message, from a subscriber's mobile device. A holographic message relates to customized messages that differ based on which contact inquires about the subscriber's status. That is, different contacts may be presented with different messages depending on the identity of the contact. The present discussion is intended to comprehend a one-to-one correspondence between messages and contacts, but is not so limited, and also includes messages directed to subsets of more than one contact. For example, a subscriber's holographic message may read “I'm in a meeting” to work colleagues, but may read “I'm unavailable” to all other contacts.


In an embodiment, a subscriber may set a holographic message using the subscriber's mobile phone. The subscriber may identify a message for a specific contact. For example, a subscriber may set a holographic message that reads “I'll be home at 6:30 pm” to his wife. The subscriber may also set a holographic message for a specific contact group. For example, a subscriber may set a holographic message that reads “At the beach” to his friends.


In an embodiment, the holographic messages set by a subscriber may be sent to the server to be transmitted to the contacts in the subscriber's contact book. The server may store 910 a holographic message and corresponding contact or contact group. The server may transmit 920 the holographic message to the mobile phones of the appropriate contacts based on the contact's name, the contact's group or the like. In an embodiment, the server may integrate 930 the holographic message into an address book associated with a contact. The server may transmit one or more instructions to a contact's mobile device instructing the mobile device to display the holographic message.


In an embodiment, a list of most-recently called contacts may be kept. For example, the list may reflect the last ten contacts a subscriber called, chatted with, changed a status message for, or the like. Typically, a subscriber's address book is stored on a server, and a push presence technique is utilized to access contact information, such as a status message or the like. In an embodiment, the push presence technique requires a subscriber to retrieve the latest contact information from the server. However, a subscriber who as many contacts must access the server numerous times in order to view contact information which may drain the battery of the subscriber's mobile device. As such, a list of most-recently called contacts may be kept. This list may be stored on a subscriber's mobile device or on the server. If the list is stored on the server, the server must only push the contact information associated with the contacts in the most-recently called list instead of the contact information for every contact in the subscriber's address book.


It will be appreciated that various of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Also that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.

Claims
  • 1. A method of providing a status message, the method comprising; receiving, from a first mobile device, a set of one or more status messages, wherein each status message in the set is associated with a subset of contacts in a first address book of a subscriber associated with the first mobile device;determining a first status message from the set that is associated with a first contact from the first address book;responsive to the determination, transmitting the first status message to a second mobile device for presentation to the first contact;maintaining a list of a subset of contacts from the first address book for which the first mobile device most recently changed an associated status message; andtransmitting contact information of the subset of contacts to the first mobile device instead of transmitting contact information for each contact in the first address book to the first mobile device.
  • 2. The method of claim 1, wherein the first contact belongs to a first subset of contacts in the first address book corresponding to a contact group, and wherein the transmitting transmits the first status message to each mobile device associated with the first subset of contacts.
  • 3. The method of claim 1, wherein the first status message is configured to be integrated into a second address book of the first contact on the second mobile device.
  • 4. A method of providing contact information on a mobile device, the method comprising: generating a list of a subset of most recently called contacts made by a subscriber's mobile device from a server-based mobile address book;determining contact information for each most recently called contact, the contact information including one or more of a contact name, a telephone number, a mood message, a holographic message, or a status message; andtransmitting, to the subscriber's mobile device, the list, the associated contact information, and one or more instructions configured to instruct the subscriber's mobile device to display the list and the associated contact information.
  • 5. The method of claim 4, wherein the transmitting transmits the list of the subset of most recently called contacts instead of transmitting an entirety of contacts within the server-based mobile address book to the subscriber's mobile device to facilitate a quicker download of the list of the subset of most recently called contacts to the subscriber's mobile device.
  • 6. A method of providing a status message, the method comprising; generating, at a mobile device, a set of one or more status messages, wherein each status message in the set is associated with a subset of contacts in an address book of a subscriber associated with the mobile device;transmitting the set of one or more status messages to a server for selective transmission of status messages by the server to respective subsets of contacts in the address book;changing a given status message associated with at least one contact in the address book, wherein the server maintains a list of a subset of contacts from the address book for which the subscriber most recently changed an associated status message; andreceiving contact information of the subset of contacts from the server instead of receiving contact information for each contact in the address book from the server.
  • 7. A server configured to selectively provide status messages, comprising; means for receiving, from a first mobile device, a set of one or more status messages, wherein each status message in the set is associated with a subset of contacts in an address book of a subscriber associated with the first mobile device;means for determining a first status message from the set of one or more status messages that is associated with a first contact from the address book;means for, responsive to the determination, transmitting the first status message to a second mobile device for presentation to the first contact;means for maintaining a list of a subset of contacts from the address book for which the first mobile device most recently changed an associated status message; andmeans for transmitting contact information of the subset of contacts to the first mobile device instead of transmitting contact information for each contact in the address book to the first mobile device.
  • 8. A server configured to provide contact information, comprising: means for generating a list of a subset of most recently called contacts made by a subscriber's mobile device from a server-based mobile address book;means for determining contact information for each most recently called contact, the contact information including one or more of a contact name, a telephone number, a mood message, a holographic message, or a status message; andmeans for transmitting, to the subscriber's mobile device, the list, the associated contact information, and one or more instructions configured to instruct the subscriber's mobile device to display the list and the associated contact information.
  • 9. A mobile device configured to provide status messages, comprising: means for generating a set of one or more status messages, wherein each status message in the set is associated with a subset of contacts in an address book of a subscriber associated with the mobile device;means for transmitting the set of one or more status messages to a server for selective transmission of respective status messages by the server to respective subsets of contacts in the address book of the subscriber;means for changing a given status message associated with at least one contact in the address book, wherein the server maintains a list of a subset of contacts from the address book for which the subscriber most recently changed an associated status message; andmeans for receiving contact information of the subset of contacts from the server instead of receiving contact information for each contact in the address book from the server.
  • 10. A non-transitory computer-readable storage medium containing instructions stored thereon, which, when executed by a server configured to selectively provide status messages, cause the server to perform operations, the instructions comprising: program code to receive, from a first mobile device, a set of one or more status messages, wherein each status message in the set is associated with a subset of contacts in an address book of a subscriber associated with the first mobile device;program code to determine a first status message from the set of one or more status messages that is associated with a first contact from the address book;program code to, responsive to the determination, transmit the first status message to a second mobile device for presentation to the first contact;program code to maintain a list of a subset of contacts from the address book for which the first mobile device most recently changed an associated status message; andprogram code to transmit contact information of the subset of contacts to the first mobile device instead of transmitting contact information for each contact in the address book to the first mobile device.
  • 11. A non-transitory computer-readable storage medium containing instructions stored thereon, which, when executed by a server configured to provide contact information, cause the server to perform operations, the instructions comprising: program code to generate a list of a subset of most recently called contacts made by a subscriber's mobile device from a server-based mobile address book;program code to determine contact information for each most recently called contact, the contact information including one or more of a contact name, a telephone number, a mood message, a holographic message, or a status message; andprogram code to transmit, to the subscriber's mobile device, the list, the associated contact information, and one or more instructions configured to instruct the subscriber's mobile device to display the list and the associated contact information.
  • 12. A non-transitory computer-readable storage medium containing instructions stored thereon, which, when executed by a mobile device configured to provide status messages, cause the mobile device to perform operations, the instructions comprising: program code to generate a set of one or more status messages, wherein each status message in the set is associated with a subset of contacts in an address book of a subscriber associated with the mobile device;program code to transmit the set of one or more status messages to a server for selective transmission of respective status messages by the server to respective subsets of contacts in the address book of the subscriber;program code to change a given status message associated with at least one contact in the address book, wherein the server maintains a list of a subset of contacts from the address book for which the subscriber most recently changed an associated status message; andprogram code to receive contact information of the subset of contacts from the server instead of receiving contact information for each contact in the address book from the server.
  • 13. A server configured to selectively provide status messages, comprising: a memory; anda processor configured to: receive, from a first mobile device, a set of one or more status messages, wherein each status message in the set is associated with a subset of contacts in an address book of a subscriber associated with the first mobile device;determine a first status message from the set of one or more status messages that is associated with a first contact from the address book;responsive to the determination, transmitting the first status message to a second mobile device for presentation to the first contact;maintain a list of a subset of contacts from the address book for which the first mobile device most recently changed an associated status message; andtransmit contact information of the subset of contacts to the first mobile device instead of transmitting contact information for each contact in the address book to the first mobile device.
  • 14. A server configured to provide contact information, comprising: a memory; anda processor configured to: generate a list of a subset of most recently called contacts made by a subscriber's mobile device from a server-based mobile address book;determine contact information for each most recently called contact, the contact information including one or more of a contact name, a telephone number, a mood message, a holographic message, or a status message; andtransmit, to the subscriber's mobile device, the list, the associated contact information, and one or more instructions configured to instruct the subscriber's mobile device to display the list and the associated contact information.
  • 15. A mobile device configured to provide status messages, comprising: a memory; anda processor configured to: generate a set of one or more status messages, wherein each status message in the set is associated with a subset of contacts in an address book of a subscriber associated with the mobile device;transmit the set of one or more status messages to a server for selective transmission of respective status messages by the server to respective subsets of contacts in the address book of the subscriber;change a given status message associated with at least one contact in the address book, wherein the server maintains a list of a subset of contacts from the address book for which the subscriber most recently changed an associated status message; andreceive contact information of the subset of contacts from the server instead of receiving contact information for each contact in the address book from the server.
CLAIM OF PRIORITY

This application claims priority under 35 U.S.C. §119(c) to U.S. Provisional Application No. 60/883,841, filed Jan. 8, 2007, U.S. Provisional Application No. 60/884,045 filed Jan. 9, 2007, U.S. Provisional Application No. 60/889,305, filed Feb. 12, 2007, U.S. Provisional Application No. 60/889,959, filed Feb. 15, 2007, U.S. Provisional Application No. 60/896,003, filed Mar. 21, 2007, U.S. Provisional Application No. 60/908,726, filed Mar. 29, 2007, U.S. Provisional Application No. 60/940,758, filed May 30, 2007, U.S. Provisional Application No. 60/942,557, filed Jun. 7, 2007, U.S. Provisional Application No. 60/945,931, filed Jun. 24, 2007, and U.S. Provisional Application No. 60/947,963, filed Jul. 4, 2007, the entireties of which are incorporated by reference herein.

US Referenced Citations (150)
Number Name Date Kind
4751728 Treat Jun 1988 A
4799253 Stern et al. Jan 1989 A
5570417 Byers Oct 1996 A
5577100 McGregor et al. Nov 1996 A
5635940 Hickman et al. Jun 1997 A
5848128 Frey Dec 1998 A
5878122 White et al. Mar 1999 A
5913162 Gourdin et al. Jun 1999 A
5946618 Agre et al. Aug 1999 A
6044263 Valentine et al. Mar 2000 A
6188762 Shooster Feb 2001 B1
6205126 Moon Mar 2001 B1
6333931 LaPier et al. Dec 2001 B1
6564261 Gudjonsson et al. May 2003 B1
6618590 Howe Sep 2003 B1
6678364 Ruckart Jan 2004 B2
6687362 Lindquist et al. Feb 2004 B1
6697858 Ezerzer et al. Feb 2004 B1
6707811 Greenberg et al. Mar 2004 B2
6751457 Martin Jun 2004 B1
6775375 Bhusri Aug 2004 B1
6850762 Ala-Luukko et al. Feb 2005 B1
6917610 Kung et al. Jul 2005 B1
6937873 Levy et al. Aug 2005 B2
7039164 Howe May 2006 B1
7085260 Karaul et al. Aug 2006 B2
7099652 Brown et al. Aug 2006 B2
7110772 Wu Sep 2006 B1
7127488 Scott et al. Oct 2006 B1
7130620 Forman et al. Oct 2006 B2
7139370 Tse Nov 2006 B1
7243075 Shaffer et al. Jul 2007 B1
7257837 Xu et al. Aug 2007 B2
7274786 Fleischer, III et al. Sep 2007 B2
7280652 Bocking et al. Oct 2007 B2
7369650 Bhusri May 2008 B1
7395057 Awasthi et al. Jul 2008 B2
7436820 Beck et al. Oct 2008 B2
7471692 Erickson Dec 2008 B1
7480723 Grabelsky et al. Jan 2009 B2
7529231 Soo et al. May 2009 B2
7548611 Howe Jun 2009 B2
7620404 Chesnais et al. Nov 2009 B2
7634509 Onyon et al. Dec 2009 B2
7701883 Beckemeyer Apr 2010 B2
7738861 Fournier Jun 2010 B2
7974610 Nachum Jul 2011 B2
8116836 Ki Feb 2012 B2
8391848 Guedalia et al. Mar 2013 B2
20010038624 Greenberg et al. Nov 2001 A1
20020013163 O'Prey Jan 2002 A1
20020099670 Jakobsson Jul 2002 A1
20020120760 Kimchi et al. Aug 2002 A1
20020129103 Birkler et al. Sep 2002 A1
20020169984 Kumar et al. Nov 2002 A1
20020193107 Nascimento Dec 2002 A1
20030013441 Bhogal et al. Jan 2003 A1
20030046404 O'neill et al. Mar 2003 A1
20030046405 O'neill et al. Mar 2003 A1
20030050051 Vilander Mar 2003 A1
20030060211 Chern et al. Mar 2003 A1
20030091024 Stumer May 2003 A1
20030115138 Brown et al. Jun 2003 A1
20030118175 Hariri et al. Jun 2003 A1
20030148790 Pappalardo et al. Aug 2003 A1
20030190025 Okamura et al. Oct 2003 A1
20040019539 Raman et al. Jan 2004 A1
20040037396 Gray et al. Feb 2004 A1
20040044771 Allred et al. Mar 2004 A1
20040143669 Zhao et al. Jul 2004 A1
20040156394 Westman Aug 2004 A1
20040165714 Pinault Aug 2004 A1
20040202117 Wilson et al. Oct 2004 A1
20040203643 Bhogal et al. Oct 2004 A1
20040213209 O'Connor et al. Oct 2004 A1
20040229644 Heie et al. Nov 2004 A1
20040235509 Burritt et al. Nov 2004 A1
20050025043 Mussman et al. Feb 2005 A1
20050027867 Mueller Feb 2005 A1
20050033852 Tenhunen Feb 2005 A1
20050036597 Kobrosly et al. Feb 2005 A1
20050059418 Northcutt Mar 2005 A1
20050070230 Das et al. Mar 2005 A1
20050102257 Onyon et al. May 2005 A1
20050138571 Keskar et al. Jun 2005 A1
20050157858 Rajagopalan et al. Jul 2005 A1
20050163065 Yule Jul 2005 A1
20050171799 Hull et al. Aug 2005 A1
20050182798 Todd et al. Aug 2005 A1
20050198031 Pezaris et al. Sep 2005 A1
20050198172 Appelman et al. Sep 2005 A1
20050198365 Wei Sep 2005 A1
20050221847 Brehler et al. Oct 2005 A1
20050249344 Mueller et al. Nov 2005 A1
20050273512 Cho Dec 2005 A1
20060018306 Nishida et al. Jan 2006 A1
20060018311 Kobayashi et al. Jan 2006 A1
20060023701 Nishida et al. Feb 2006 A1
20060026288 Acharya et al. Feb 2006 A1
20060029042 Nishida et al. Feb 2006 A1
20060029043 Nishida et al. Feb 2006 A1
20060029046 Nishida et al. Feb 2006 A1
20060031368 DeCone Feb 2006 A1
20060040711 Whistler et al. Feb 2006 A1
20060077932 Takeda et al. Apr 2006 A1
20060159456 Gumaste et al. Jul 2006 A1
20060168326 Baldwin et al. Jul 2006 A1
20060173961 Turski et al. Aug 2006 A1
20060205400 Kiyomoto Sep 2006 A1
20060209690 Brooke et al. Sep 2006 A1
20060236388 Ying et al. Oct 2006 A1
20060246877 Kashanian et al. Nov 2006 A1
20060248146 Wilk Nov 2006 A1
20060270392 Scott et al. Nov 2006 A1
20060270400 DaSilva et al. Nov 2006 A1
20070005776 Hansen et al. Jan 2007 A1
20070016682 Hodgson Jan 2007 A1
20070060100 Watler et al. Mar 2007 A1
20070064607 Moon et al. Mar 2007 A1
20070071006 Bosch et al. Mar 2007 A1
20070112964 Guedalia et al. May 2007 A1
20070143397 Guedalia et al. Jun 2007 A1
20070162350 Friedman Jul 2007 A1
20070281676 Borras et al. Dec 2007 A1
20070287430 Hosain et al. Dec 2007 A1
20080003964 Alperin et al. Jan 2008 A1
20080013531 Elliott et al. Jan 2008 A1
20080037524 Koch et al. Feb 2008 A1
20080056208 Hinrikus et al. Mar 2008 A1
20080056235 Albina et al. Mar 2008 A1
20080070579 Kankar et al. Mar 2008 A1
20080076409 Hinrikus et al. Mar 2008 A1
20080096592 Waytena et al. Apr 2008 A1
20080139210 Gisby et al. Jun 2008 A1
20080159261 Bessis Jul 2008 A1
20080159515 Rines Jul 2008 A1
20080166999 Guedalia et al. Jul 2008 A1
20080167020 Guedalia et al. Jul 2008 A1
20080167039 Guedalia et al. Jul 2008 A1
20080181165 Guedalia et al. Jul 2008 A1
20080188227 Guedalia et al. Aug 2008 A1
20080192910 Guedalia et al. Aug 2008 A1
20080244023 Guedalia et al. Oct 2008 A1
20080248795 Petersen et al. Oct 2008 A1
20080263170 Caron et al. Oct 2008 A1
20080305782 Guedalia et al. Dec 2008 A1
20090190738 Guedalia et al. Jul 2009 A1
20100080376 Hartley et al. Apr 2010 A1
20110312308 Willey Dec 2011 A1
20130137421 Guedalia et al. May 2013 A1
Foreign Referenced Citations (22)
Number Date Country
10341737 Apr 2005 DE
1179941 Feb 2002 EP
1517256 Mar 2005 EP
1701569 Sep 2006 EP
2391135 Jan 2004 GB
9723083 Jun 1997 WO
WO 9847298 Oct 1998 WO
WO 9934628 Jul 1999 WO
0198867 Dec 2001 WO
0215030 Feb 2002 WO
0221779 Mar 2002 WO
0239237 May 2002 WO
WO 03032613 Apr 2003 WO
03094011 Nov 2003 WO
2005065296 Jul 2005 WO
2006039552 Apr 2006 WO
WO 2006044654 Apr 2006 WO
2007001850 Jan 2007 WO
2007005124 Jan 2007 WO
2007025373 Mar 2007 WO
2007109559 Sep 2007 WO
2008013642 Jan 2008 WO
Non-Patent Literature Citations (17)
Entry
Sinnreich/Pulver Com H. et al.: “SIP Telephony Device Requirements and Configuration; draft-sinnreich-sipdev-req-08.txt”, IETF Standard-Working-Draft, Internet Engineering Task Force, IETF, CH, No. 8, Oct. 1, 2005, XP015043067 ISSN: 0000-0004.
Rosenberg, J. et al.: “SIP: Session Initiation Protocol” 20020601; 20020600; Jun. 1, 2002, pp. 1-269, XP015009039.
Schulzrinne Columbia University B. Volz Ericsson H: “Dynamic Host Configuration Protocol (DHCPv6) Options for Session Initiation Protocol (SIP) Servers; rfc3319.txt”, IETF Standard, Internet Engineering Task Force, IETF, CH. Jul. 1, 2003, XP015009189; ISSN: 0000-0003.
Saravanan Shanmugham, et al., Daniel C. Burnett, “Media Resource Control Protocol Version 2(MRCPv2)”, IETF Standard-Working-Draft, Internet Engineering Task Force, IETF, vol. Speechsc, No. 6, pp. 1-176 (2005).
Sinnreich, et al., “SIP telephony device requirements and configuration draft-sinnreich-sipdev-req-07.txt”, IETF Standard-Working-Draft, Internet Engineering Task Force, No. 7, pp. 1-37 (2005).
Griffin et al., “Integrating SIP, presence and FTP to provide wireless multimedia messaging”, Wireless Communications and Networking Conference, IEEE Communications Society, 4:2581-2586 (2004).
Handley et al., “RFC 2543 SIP: Session Initiation Protocol”, IETF Standard, Internet Engineering Task Force, pp. 1-153 (1999).
Handley et al., “SIP: Session Initiation Protocol”, IETF, Standard-Working-Draft, Internet Engineering Task Force, vol. 4, pp. 1-83 (1997).
Petrie, Pingtel Corp., A Framework for SIP User Agent Profile Delivery draft-iet f-sipping-config-framework-02.txt., IETF Standard-Working-Draft, Internet Engineering Task Force, No. 2, pp. 1-22 (2004).
Colman Ho, “Voice Over Internet Protocol (VoIP) Overview”, Presentation to TSACC, Mar. 23, 2004; www.isacc.ca/isacd—doc/Book%2017%20-%202004/TSACC-04-31305.ppt.
Alcatel-Lucent, “Alcatel-Lucent OmniPCX Enterprise Communication Server: Delivering powerful, reliable and scalable IP communications to drive your 21st century business”, 2007. http://www1.alcatel-lucent.com/com/en/appcontent/opgss/ENT—OmniPCX%20Enterprise—datasheet—1007—EN—tcm228-1353221635.pdf.
SIP Connect, “CableLabs Proposal for SIP Connect 1.1”, 2007; http://www.sipforum.org/component/option,com—docman/task,doc—view/gid,149/Itemid,75/.
NST, New Standard Telephony, Convergence Simplified, Company Profile, NST 2005; http://www.ns-tel.com/files/NST—Company—Profile.pdf.
Janne Lundqvist et al., Messaging-over-IP—A network for messaging and information services; http://www.ericsson.com/ericsson/corpinfo/publications/review/1999—03/fi les/1999035. pdf.
Case Study, Intel Centrino, Mobile Technology, Intel Xeon Processor MP, Shanghai GM, “Seamless Communications”, http://www.intel.com/netcomms/technologies/voice/310998.pdf.
Kundan Narendra Singh, Thesis, “Reliable, Sealable and Interoperable Internet Telephony”, Columbia University, 2006; http://www1.cs.columbia.edu/˜kns10/publication/thesis.pdf.
Intel Communications Alliance, “TeleSym and Intel Deliver Voice-over-Internet-Protocol (VoIP) Enterprise Communication Solution”, Jun. 2004; http://www.intel.com/network/csp/pdf/9003wp.pdf.
Related Publications (1)
Number Date Country
20080167019 A1 Jul 2008 US
Provisional Applications (10)
Number Date Country
60883841 Jan 2007 US
60884045 Jan 2007 US
60889305 Feb 2007 US
60889959 Feb 2007 US
60896003 Mar 2007 US
60908726 Mar 2007 US
60940758 May 2007 US
60942557 Jun 2007 US
60945931 Jun 2007 US
60947963 Jul 2007 US