Sharing profile data between telecommunication devices
Claim Score by NHIP
Abstract
In an embodiment, a profile server creates a profile that includes profile data and is associated with a first subscriber device. A second subscriber device receives an incoming call from the first subscriber device and queries the profile server for a profile associated with the first subscriber device. The profile server determines that the profile data is authorized for distribution to the second subscriber device, and thereby transmits the profile data in response to the received query and based on the determined authorization.

Term
Term ended
Projected expiry passed 14 April 2026, 0.4 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
37 claims: 6 independent, 31 dependent
- 1A method of operating a profile server, comprising:creating, at the profile server, a profile that includes profile data and is associated with a first subscriber device;determining that the profile data is authorized for distribution to a second subscriber device that is associated with the first subscriber device;receiving, at the profile server, a query for the profile;and transmitting the profile data to the second subscriber device in response to the received query and based on the determined authorization.
- 21A method of operating a called subscriber device, comprising:receiving, at the called subscriber device, an indication of an incoming call from a calling subscriber device;querying the profile server for a profile associated with the calling subscriber device over a data connection between the called subscriber device and the profile server;and receiving profile data associated with the profile at the called subscriber device in response to the query.
- 34Broadest claimClaim Score 85, broad(NHIP)A profile server, comprising:means for creating a profile that includes profile data and is associated with a first subscriber device;means for determining that the profile data is authorized for distribution to a second subscriber device that is associated with the first subscriber device;means for receiving a query for the profile ;and means for transmitting the profile data to the second subscriber device in response to the received query and based on the determined authorization.
- 35A called subscriber device, comprising:means for receiving an indication of an incoming call from a calling subscriber device;means for querying the profile server for a profile associated with the calling subscriber device over a data connection between the called subscriber device and the profile server;and means for receiving profile data associated with the profile at the called subscriber device in response to the query.
- 36A non-transitory computer-readable storage medium containing instructions stored thereon, which, when executed by a profile server, cause the profile server to perform operations, the instructions comprising:program code to create a profile that includes profile data and is associated with a first subscriber device;program code to determine that the profile data is authorized for distribution to a second subscriber device that is associated with the first subscriber device;program code to receive, at the profile server, a query for the profile ;and program code to transmit the profile data to the second subscriber device in response to the received query and based on the determined authorization.
- 37A non-transitory computer-readable storage medium containing instructions stored thereon, which, when executed by a called subscriber device, cause the called subscriber device to perform operations, the instructions comprising:program code to receive an indication of an incoming call from a calling subscriber device;program code to query the profile server for a profile associated with the calling subscriber device over a data connection between the called subscriber device and the profile server;and program code to receive profile data associated with the profile at the called subscriber device in response to the query.
Independent claims6
105 paragraphs in 4 sections, as filed
CLAIM OF PRIORITY UNDER 35 U.S.C. §120
0001The present Application for Patent is a continuation of patent application Ser. No. 11/361,406 entitled “SHARING PROFILE DATA BETWEEN TELECOMMUNICATION DEVICES” filed Feb. 23, 2006, pending, and assigned to the assignee hereof and hereby expressly incorporated by reference herein in its entirety.
BACKGROUND OF THE INVENTION
00021. Field of the Invention
0003The invention relates generally to the field of telecommunications, and more particularly to sharing profile data between users of telecommunications devices.
00042. Description of Related Art
0005People today make widespread use of telecommunications equipment. Nearly every family in this country has at least conventional wired telephone service, and very many also have wireless telecommunications service. Telephone calls are made so frequently that it is a routine part of many people's day.
0006One feature, caller ID, has become so popular that many telecommunications customers insist on having it. The knowledge of who is calling before answering a phone call is all important to many people. When caller ID was originally created, only the caller's phone number was visible to the receiving party. Later, the calling party's name was added. However, until now, technological limitations and possibly a lack of imagination prevented further developments in communicating information about the calling party to the receiving party.
0007An alternative method and mechanism for communicating information about a calling party to a receiving party has eluded those skilled in the art, until now.
SUMMARY OF THE INVENTION
0008An aspect can include a method of operating a profile server. The method includes creating, at the profile server, a profile that includes profile data and is associated with a first subscriber device. The method further includes determining that the profile data is authorized for distribution to a second subscriber device that is associated with the first subscriber device. Further included in the method is receiving, at the profile server, a query for the profile and transmitting the profile data to the second subscriber device in response to the received query and based on the determined authorization.
0009Another aspect can include a method of operating a called subscriber device. The method includes receiving, at the called subscriber device, an indication of an incoming call from a calling subscriber device. The method further includes querying the profile server for a profile associated with the calling subscriber device over a data connection between the called subscriber device and the profile server. The method additionally includes receiving profile data associated with the profile at the called subscriber device in response to the query.
0010Another aspect can include a profile server including means for creating a profile that includes profile data and is associated with a first subscriber device. The profile server further includes means for determining that the profile data is authorized for distribution to a second subscriber device that is associated with the first subscriber device. Additionally, the profile server includes means for receiving a query for the profile and means for transmitting the profile data to the second subscriber device in response to the received query and based on the determined authorization.
0011Another aspect can include a called subscriber device including means for receiving an indication of an incoming call from a calling subscriber device. The called subscriber device further includes means for querying the profile server for a profile associated with the calling subscriber device over a data connection between the called subscriber device and the profile server and means for receiving profile data associated with the profile at the called subscriber device in response to the query.
0012Another aspect can include a non-transitory computer-readable storage medium containing instructions stored thereon, which, when executed by a profile server, cause the profile server to perform operations. The instructions include program code to create a profile that includes profile data and is associated with a first subscriber device and program code to determine that the profile data is authorized for distribution to a second subscriber device that is associated with the first subscriber device. The instructions further include program code to receive, at the profile server, a query for the profile and program code to transmit the profile data to the second subscriber device in response to the received query and based on the determined authorization.
0013Another aspect can include a non-transitory computer-readable storage medium containing instructions stored thereon, which, when executed by a called subscriber device, cause the called subscriber device to perform operations. The instructions include program code to receive an indication of an incoming call from a calling subscriber device and program code to query the profile server for a profile associated with the calling subscriber device over a data connection between the called subscriber device and the profile server. The instructions further include program code to receive profile data associated with the profile at the called subscriber device in response to the query.
0014The invention is directed to telecommunications devices and services that enable a calling party (the “caller”) to establish and maintain a profile that includes information that can be transmitted to a receiving party's (the “receiver”) handset during call set-up to announce the incoming call from the caller. In one aspect, a method is provided for making profile data available to receiving devices. The method includes establishing a data connection with a profile server, the profile server being accessible by a remote device over a telecommunications network. The method further includes creating a profile at the profile server, the profile including profile data, the profile being associated with a calling device. The method still further includes instructing the telecommunications network to make the profile data available to the remote device in response to a call to the remote device over the telecommunications network from the calling device.
0015In another aspect, a method is provided for receiving profile data about a calling device at a receiving device. The method includes receiving call data associated with an incoming call, the call data including an identifier for the calling device. The method further includes initiating a data session with a profile server, and querying the profile server for a profile associated with the calling device using the identifier, the profile containing the profile data. The method still further includes retrieving the profile data from the profile server, and using the profile data in connection with the incoming call. An apparatus is also envisioned that is configured to implement this method.
0016In yet another aspect, a method is provided for facilitating the delivery of profile data about a calling device to a receiving device. The method includes receiving a request to establish a call from the calling device to the receiving device, and notifying the receiving device about the call, the notification including an identifier for the calling device. The method further includes receiving a request from the receiving device for profile data associated with the calling device based on the identifier. The method still further includes accessing a profile corresponding to the identifier to retrieve the profile data, and returning the profile data to the receiving device. An apparatus is also envisioned that is configured to implement this method.
BRIEF DESCRIPTION OF THE DRAWINGS
0017<figref idref="DRAWINGS">FIG. 1</figref> is a functional block diagram generally illustrating a sample mobile device in which implementations of the invention are particularly applicable.
0018<figref idref="DRAWINGS">FIG. 2</figref> is a functional block diagram illustrating in slightly greater detail the storage medium loaded with data that is employed by certain implementations of the invention.
0019<figref idref="DRAWINGS">FIG. 3</figref> is a conceptual illustration of a system that implements the invention to enable a call originating device to direct the announcement that is made on a call receiving device when a call is received from the originating device.
0020<figref idref="DRAWINGS">FIG. 4</figref> is a functional block diagram generally illustrating a sample message format that may be used in implementations of the invention.
0021<figref idref="DRAWINGS">FIG. 5</figref> in an operational flow diagram generally illustrating one implementation of a process performed on a call originating device for associating particular call announcements to be played on a receiving device when receiving calls from the originating device.
0022<figref idref="DRAWINGS">FIG. 6</figref> is an operational flow diagram generally illustrating a process for announcing an incoming call using a call announcement identified by the device originating the call.
0023<figref idref="DRAWINGS">FIG. 7</figref> is an operational flow diagram illustrating in slightly greater detail a process for announcing an incoming call with a particular call announcement as requested by the originating device.
0024<figref idref="DRAWINGS">FIG. 8</figref> is a process diagram generally illustrating steps that may be performed to create or maintain a remote profile that includes information about a calling device.
0025<figref idref="DRAWINGS">FIG. 9</figref> is a process diagram generally illustrating steps that may be performed to retrieve remote profile data about a calling device when receiving a call from the calling device on a receiving device.
0026<figref idref="DRAWINGS">FIG. 10</figref> is a process diagram generally illustrating steps that may be performed to facilitate the delivery of profile data to a receiving device about a calling device.
DETAILED DESCRIPTION
0027What follows is a detailed description of various techniques and mechanisms for profile sharing. Very generally stated, a telecommunications device and/or service are provided that enable a user to establish and maintain a profile which is then associated with the user or the user's telecommunication device (the “calling device”). The profile is stored, for example, on a profile server that is in communication with the telecommunications service provider. A receiving device receives a call from the calling device and is provided with the profile during call set-up. Some or all of the profile is used in connection with the incoming call on the receiving device. This general concept will now be described in greater detail in connection with certain specific non-limiting embodiments.
0028Before proceeding, it will be helpful to define some terms that will be used while describing embodiments of the invention. Accordingly, throughout this patent document, the following terms shall have the meanings ascribed to them here:
0029The term “call” means any communication between two telecommunication devices, and is not limited to telephone calls. Rather, the term “call” will be used in the broadest sense and includes conventional telephone calls, Voice Over IP (VOIP) calls, and may include any other message or communication between two devices, such as SMS messages, instant messages, e-mail, and the like.
0030The term “announcement” or “call announcement” means a sensory perceptible occurrence that is performed by a telecommunication device to indicate an incoming call. An announcement could be a media file (e.g., a sound or image file), a particular sequence of flashing or steady lights, a vibration, textual or alphanumeric information or any other sensory perceptible mechanism.
0031The term “calling device” means a telecommunications device that originates an outbound call. The term calling device may be used interchangeably throughout this document with the terms “calling party,” “caller,” or “originating device.”
0032The term “receiving device” means a telecommunications device that receives an inbound call. The term receiving device may be used interchangeably throughout this document with the terms “called party,” “recipient,” or “receiving party.”
0033<figref idref="DRAWINGS">FIG. 1</figref> is a functional block diagram of a system <b>100</b> implementing one embodiment of the present invention. Shown in <figref idref="DRAWINGS">FIG. 1</figref> are several mobile devices that communicate with each other over a wireless communication network <b>122</b> that is administered by a service provider. Several different types of mobile devices may be connected to the wireless network, such as cellular phones (<b>112</b>, <b>118</b>) or other mobile messaging devices <b>120</b>. Computing systems may also be connected to the wireless network, such as a laptop computer <b>116</b>. A profile server <b>124</b> is also connected to the wireless network and is accessible to devices coupled to the wireless network.
0034The wireless network <b>122</b> is coupled to a public wide area network <b>123</b>, such as the Internet. Computing devices, such as a general purpose computer <b>125</b>, connected to the public wide area network <b>123</b> may have access to other computing devices on both the public network <b>123</b> and possibly the wireless network <b>122</b>, such as the profile server <b>124</b>, over a network bridging link <b>114</b>. An alternate profile server <b>126</b> could be connected to the public network <b>123</b> in addition to or in lieu of the first profile server <b>124</b>.
0035In this particular implementation, one (or both) of the profile servers (<b>124</b>, <b>126</b>) includes a profile store (<b>128</b>, <b>130</b>) on which is stored a plurality of profiles. Each profile is maintained in correspondence with one or more of the mobile devices. The profile store <b>128</b> is described in greater detail in conjunction with <figref idref="DRAWINGS">FIG. 4</figref> below. Briefly stated, a profile includes information about a calling party or device, such as contact information, call announcement information and/or content, images, or the like. The profile is associated with the calling device, perhaps using the phone number or other identifier of the calling device. The information stored at the profile server <b>124</b> may or may not be accessible by other users of the wireless network <b>122</b>.
0036Generally stated, when a user makes a call from the calling device (e.g., cell phone <b>118</b>) to a receiving device (e.g., mobile messaging device <b>120</b>), the wireless network <b>122</b> retrieves the corresponding profile from the profile server <b>124</b> and presents it to the receiving device during call setup. In this way, more information may be presented to the receiving party to announce the incoming call. For example, if the originating party included an image in the profile, the image may be displayed on the receiving device in combination with the call announcement, which enables the receiving device to identify the caller by picture even though the picture was not preinstalled on the receiving device. In addition, contact information for the calling device may be easily communicated to the receiving device with little or no effort on the part of the receiving party.
0037<figref idref="DRAWINGS">FIG. 2</figref> is a functional block diagram more specifically illustrating components of a system <b>200</b> for sharing profile data between users of mobile devices in a communications network. The components include a calling device <b>218</b> and a receiving device <b>220</b>. The calling device <b>218</b> and the receiving device <b>220</b> may be any telecommunications devices with at least rudimentary computing capability, such as cellular telephones or mobile messaging devices. The two devices communicate over a telecommunications network, which in this particular example happens to be a wireless network <b>222</b>. It will be appreciated that many other components and even other intervening communications networks may be incorporated within the wireless network <b>222</b>, such as wired networks like the Public Switched Telephone Network (PSTN). The wireless network <b>222</b> is used in this description to generally indicate any telecommunications infrastructure that can be used to enable telecommunications devices to communicate.
0038A profile server <b>224</b> is connected to the wireless network <b>222</b> in some manner. For example, the profile server <b>224</b> may be collocated with and coupled to a component of the wireless network <b>222</b> such as a mobile telephone switching office or the like. Alternatively, the profile server <b>224</b> may be indirectly coupled to the wireless network <b>222</b> over a wide area network or the like.
0039As mentioned above, the profile server <b>224</b> includes a profile store <b>228</b> on which reside profiles for certain subscribers or users of the wireless network <b>222</b>. In this particular implementation, the user of the calling device <b>218</b> accesses the profile server <b>224</b> and creates a profile <b>229</b> associated with that calling device <b>218</b>. The calling device <b>218</b> may access the profile server <b>224</b> by establishing a data call <b>201</b> over the wireless network <b>222</b> to support data communications between the calling device <b>218</b> and the profile server <b>224</b>. Alternatively, the user may access the profile server <b>224</b> using some other mechanism, such as another computing device (not shown) coupled to the wireless network <b>222</b> through a wide area network, like the Internet. In any event, the user accesses the profile server <b>224</b> to create and maintain the profile <b>229</b> in the profile store <b>228</b>, and to associate that profile <b>229</b> with the calling device <b>218</b>.
0040Briefly stated, the profile <b>229</b> may include almost any information the user desires to make available, such as contact information, a desired ringtone, an image, a brief message, or the like. Although any arbitrary information may be included, size limitations may be imposed to ensure that the information can be delivered during call set-up. The size limitations may be based on the available bandwidth and latency of the network over which the profile information will be retrieved (e.g., wireless network <b>222</b>). These size limitations may be eliminated in implementations where the profile information is delivered outside of call set-up. One sample profile is illustrated in <figref idref="DRAWINGS">FIG. 4</figref> and described below.
0041The profile <b>229</b> may be associated with the calling device <b>218</b> using any one or more of various mechanisms. For example, the profile <b>229</b> may be associated with various identifiers of the calling device <b>218</b>, such as the phone number or mobile identification number (MIN), an electronic serial number (ESN), a mobile equipment identification number (MEID), or the like. The association may be stored on the profile server <b>224</b> in a database, or perhaps in a subscriber database maintained by one or more components of the wireless network <b>222</b>.
0042In summary, the system <b>200</b> enables the user of the calling device <b>218</b> to create or modify a profile <b>229</b> on the profile store <b>228</b>. The profile <b>229</b> may then be made accessible by other devices, such as the receiving device <b>220</b>, over the wireless network <b>222</b>.
0043<figref idref="DRAWINGS">FIG. 3</figref> is a functional block diagram illustrating the use of the system <b>200</b> shown in <figref idref="DRAWINGS">FIG. 2</figref> to provide profile data to the receiving device <b>220</b> in conjunction with a call from the calling device <b>218</b>. As above, the profile server <b>224</b> includes the profile store <b>228</b> on which the user has created the profile <b>229</b>. The profile <b>229</b> has also been associated with the calling device <b>218</b>, as described above. The profile server <b>224</b>, and hence the profile store <b>228</b>, is operatively coupled to the wireless network <b>222</b>.
0044When a call <b>301</b> is made from the calling device <b>218</b> to the receiving device <b>220</b>, components of the wireless network <b>222</b>, such as one or more switching offices (not shown), receive and route the call <b>301</b> through the wireless network <b>222</b>, including any intervening communications networks, to the receiving device <b>220</b>.
0045In a network-based implementation, during call set-up, the wireless network <b>222</b> analyzes the call <b>301</b> to determine who the originating party is (i.e., the calling device <b>218</b>). This determination may be made using call data embedded in the call <b>301</b>, such as the phone number, the ESN, or perhaps the MIN of the calling device <b>218</b>. The wireless network <b>222</b> may then retrieve the calling device's profile <b>229</b> from the profile store <b>228</b> and pass at least a portion of the profile <b>229</b> to the receiving device <b>220</b>. The term “profile data” refers to any portion of the data stored in the profile <b>229</b> and retrieved for the purposes discussed in this document. “Profile data” may be all of the profile <b>229</b>, or any portion or portions of the profile <b>229</b> in any combination.
0046In this implementation, the profile data may be included in caller ID information transmitted in conjunction with the call <b>301</b>, perhaps as an extension to the Multiple Data Message Format (MDMF) protocol, and transmitted from the wireless network <b>222</b> to the receiving device <b>220</b>. If an alternative protocol is used to set-up the call, the profile information could be included in whatever data package or packages are initially transmitted to the receiving device <b>220</b> by the wireless network <b>222</b>. When received, the receiving device <b>220</b> uses the profile data in any appropriate manner, such as to announce the incoming call <b>301</b> or to update the calling party's contact information stored on the receiving device <b>220</b>.
0047It should be appreciated that the wireless network <b>222</b> may first determine if the receiving device <b>220</b> is subscribed to a service that authorizes remote profile announcements. For example, the service provider responsible for the wireless network <b>222</b> may only provide profile data to receiving devices <b>220</b> that are subscribed to an optional service or feature. This determination may be performed by a switching office or the like (not shown).
0048In a device-based implementation, the wireless network <b>222</b> notifies the receiving device <b>220</b> of the incoming call <b>301</b> in a substantially conventional manner. However, during call set-up the receiving device <b>220</b> immediately initiates a data call <b>311</b>, perhaps using an EVolution Data Optimized (EV-DO) wireless data network, to the profile server <b>224</b>. This simultaneous data call <b>311</b> enables the receiving device <b>220</b> to connect to the profile server <b>224</b> and retrieve profile data from the profile <b>229</b> on the profile store <b>228</b>.
0049With either of these implementations, the calling device <b>218</b> can determine or influence how the incoming call <b>301</b> is announced on the receiving device <b>220</b>. For example, if a personal ringtone is stored in the profile <b>229</b>, that ringtone can be used to announce the incoming call on the receiving device <b>220</b>. More specifically, using the data call <b>311</b>, the wireless network <b>222</b> could “stream” the ringtone to the receiving device <b>220</b> to enable it to begin playing the ringtone immediately. The service could be configured such that the ringtone can be saved on the receiving device <b>220</b>, perhaps for a fee. In another example, an image, such as a picture of the calling party or an avatar of the calling party's choosing, may be delivered to the receiving device <b>220</b> and displayed. In still another example, the user of the calling device <b>218</b> could include contact information in the profile <b>229</b>. Using this, the receiving device <b>220</b> could be updated with current contact information for the calling party without any additional effort by the user of the receiving device <b>220</b>.
0050It should be noted that the profile data need not necessarily be delivered during call set up. In some circumstances, such as the contact information example, the profile data could be delivered using the data call <b>311</b> in the background while the original incoming call <b>301</b> is being conducted. This may be useful if the profile data is not needed or used to announce the incoming call <b>301</b>, or if the profile data is just too large to be delivered during call set up. In the former case, the profile data could be downloaded by the receiving device <b>220</b> and stored in an appropriate location while the voice call <b>301</b> is occurring. In the latter case, the profile data could be downloaded by the receiving device <b>220</b> and, if related to call announcements, used to announce subsequent calls from the calling device <b>218</b>. In another alternative, the profile data could be downloaded to the receiving device <b>220</b> after the voice call has terminated, such as when the receiving device <b>220</b> is normally idle.
0051<figref idref="DRAWINGS">FIG. 4</figref> is a functional block diagram illustrating a profile store <b>428</b> on which resides one or more profiles <b>410</b>, as envisioned by certain implementations of the invention. As mentioned above, the profile store <b>428</b> is maintained by a profile server (not shown) which is in operative communication with a telecommunications network.
0052Each profile, includes “profile data,” which may include any arbitrary data that the user desires to make available to others. The profile <b>410</b> may additionally include other information that the user does not wish to be made available to others. The profile data is envisioned to likely include call announcements <b>412</b> and/or contact information <b>414</b>. The call announcements <b>412</b> may be media files, such as music or distinctive audio tones (commonly referred to as “ringtones”), that are rendered to announce an incoming call. There are several different types of media files in many different formats that could be used to identify incoming calls. For instance, monophonic or polyphonic audio files could be used in different formats, such as MIDI, CMX, RTTTL, AIFF, SMAF, PCM, MP<b>3</b>, WAV, and the like.
0053Although the call announcements <b>412</b> are described here as audio files, it will be appreciated that the call announcements <b>412</b> could be any type of resource that includes description information for any perceptible type of announcement. For instance, if the mobile device announced incoming calls with distinctive vibratory announcements, each call announcement <b>412</b> could include a different description of a vibration. Similarly, if the mobile device announced incoming calls with distinctive flashing lights, the call announcements <b>412</b> could each describe a distinct pattern of flashing or colored lights, or some combination of the two. These are but examples and others will become apparent with routine experimentation.
0054The contact information <b>414</b> includes data that describes individuals or entities. Examples of the contact information <b>414</b> that may be stored in the profile <b>410</b> include the name of the person with whom the profile <b>410</b> is associated, the company that employs the person, the person's telephone number and address, the person's e-mail address, and other information.
0055The profile <b>410</b> may also include an image <b>416</b>, which may be a picture of the person with whom the profile <b>410</b> is associated. The image <b>416</b> could also be a picture of any other person or thing that the person desires. The image <b>416</b> could also be a clipart image, such as an avatar or other icon that the person desires. Such clipart images are in common usage in connection with electronic forums, bulletin boards, and instant messaging services.
0056The profile <b>410</b> could also include any other data <b>418</b> that the user desires to make available to others. For example, a brief textual message (or the like) could be included in the profile <b>410</b>. An index <b>420</b> is included with the profile <b>410</b> to uniquely distinguish the profile <b>410</b> from other profiles on the profile store <b>428</b>. The index <b>420</b> could be any form of identifier.
0057The profile store <b>428</b> also includes, in this implementation, a profile table <b>430</b> that maps calling party identifiers to indexes for the profiles. The calling party identifiers may be any form of information used to uniquely distinguish one calling device from another calling device, such as a phone number, MIN, ESN, MEID, or the like. The indexes are the particular indexes associated with each profile, such as index <b>420</b>. The profile table <b>430</b> associates the profiles with the particular telecommunications devices that will be used to make calls.
0058<figref idref="DRAWINGS">FIG. 5</figref> is a functional block diagram generally illustrating a sample mobile device <b>501</b>, such as a cellular telephone, in which implementations of the invention are particularly applicable. The mobile device <b>501</b> may be any handheld computing device, such as a cellular telephone, mobile messaging device, a personal digital assistant, a portable music player, a global positioning satellite (GPS) device, or the like. Although described here in the context of a handheld computing device, it should be appreciated that implementations of the invention may have equal applicability in other areas, such as conventional wired telephone systems and the like.
0059In this example, the mobile device <b>501</b> includes a processor unit <b>504</b>, a memory <b>506</b>, a storage medium <b>513</b>, and an audio unit <b>531</b>. The processor unit <b>504</b> advantageously includes a microprocessor or a special-purpose processor such as a digital signal processor (DSP), but may in the alternative be any conventional form of processor, controller, microcontroller, or state machine.
0060The processor unit <b>504</b> is coupled to the memory <b>506</b>, which is advantageously implemented as RAM memory holding software instructions that are executed by the processor unit <b>504</b>. In this embodiment, the software instructions stored in the memory <b>506</b> include a remote profile manager <b>511</b>, a runtime environment or operating system <b>510</b>, and one or more other applications <b>512</b>. The memory <b>506</b> may be on-board RAM, or the processor unit <b>504</b> and the memory <b>506</b> could collectively reside in an ASIC. In an alternate embodiment, the memory <b>506</b> could be composed of firmware or flash memory.
0061The processor unit <b>504</b> is coupled to the storage medium <b>513</b>, which may be implemented as any nonvolatile memory, such as ROM memory, flash memory, or a magnetic disk drive, just to name a few. The storage medium <b>513</b> could also be implemented as any combination of those or other technologies, such as a magnetic disk drive with cache (RAM) memory, or the like. In this particular embodiment, the storage medium <b>513</b> is used to store data during periods when the mobile device <b>501</b> is powered off or without power. The storage medium <b>513</b> could be used to store contact information or call announcements, such as ringtones.
0062The mobile device <b>501</b> also includes a communications module <b>521</b> that enables bidirectional communication between the mobile device <b>501</b> and one or more other computing devices. The communications module <b>521</b> may include components to enable RF or other wireless communications, such as a cellular telephone network, Bluetooth connection, wireless local area network, or perhaps a wireless wide area network. Alternatively, the communications module <b>521</b> may include components to enable land line or hard wired network communications, such as an Ethernet connection, RJ-11 connection, universal serial bus connection, IEEE 1394 (Firewire) connection, or the like. These are intended as non-exhaustive lists and many other alternatives are possible.
0063The audio unit <b>531</b> is a component of the mobile device <b>501</b> that is configured to convert signals between analog and digital format. The audio unit <b>531</b> is used by the mobile device <b>501</b> to output sound using a speaker <b>532</b> and to receive input signals from a microphone <b>533</b>. Audible announcements of an incoming call can be created using the audio unit <b>531</b> and the speaker <b>532</b>. For instance, distinctive ringing noises can be played to announce an incoming call. Various musical notes or tunes could also be used.
0064Although incoming calls are announced audibly in this implementation, other mechanisms could also be employed. For example, a vibratory mechanism (not shown) could be used to announce calls by vibrating the mobile device <b>501</b> in a unique manner for different callers. Or a system of lights could be used that flash in a unique sequence or with different colors. The breadth of the invention is envisioned to encompass announcements delivered using any sensory perceptible mechanism or technique.
0065The remote profile manager <b>511</b> is a utility or service that is configured to evaluate an incoming call to identify identifying information about the calling party. The remote profile manager <b>511</b> is further configured to initiate or accept a data call to or from a remote profile server using the communications module <b>521</b>. Using the call identifying information, the remote profile manager <b>511</b> is configured to retrieve profile data about the calling party from the remote profile server.
0066The remote profile manager <b>511</b> may also cooperate with other applications <b>512</b> to handle or consume the profile data. For example, if the profile data includes a ringtone, the remote profile manager <b>511</b> may hand that ringtone off to a component of the OS <b>510</b> that is responsible for announcing incoming calls. If the profile data includes contact information, the remote profile manager <b>511</b> may hand the profile data off to a contact manager (within the other applications <b>512</b>) for inclusion in a local contact data store (on the storage medium <b>513</b>).
0067<figref idref="DRAWINGS">FIG. 6</figref> is a process diagram generally illustrating a sequence of operations performed by certain elements of a system to create and maintain a remote profile. The particular elements involved in the process include a mobile device <b>650</b>, a wireless network <b>655</b>, and a profile server <b>660</b>. Each of these three elements may be similar in configuration and functionality to their counterparts described at length above. The process begins at step <b>601</b>.
0068At step <b>601</b>, the mobile device <b>650</b> is used to create or modify a locally-stored profile. In this particular implementation, the mobile device <b>650</b> includes a data store or template that is used to build a profile, allowing a user of the mobile device <b>650</b> to input arbitrary data. For example, a default ringtone that should be used to announce calls from the mobile device <b>650</b> may be stored in the profile. Certain additional ringtones that should be used by particular other individuals to announce calls from the mobile device <b>650</b> may also be included. Contact information that describes the user of the mobile device <b>650</b> may also be included. A ‘signature’ of the profile could be stored in conjunction with the profile to aid in determining whether the profile has changed. The ‘signature’ could be any information used to uniquely identify a particular state of the profile, such as a hash, a digest, a time stamp, or the like. This information can be used by a receiving device, as described below in conjunction with <figref idref="DRAWINGS">FIG. 7</figref>, to determine whether to retrieve the profile in conjunction with a subsequent call.
0069At step <b>603</b>, a data call is initiated and established between the mobile device <b>650</b> and the wireless network <b>655</b>. In one particular embodiment, the data call may be established using an EV-DO technology that supports simultaneous voice calls and data calls. Alternatively, an ordinary data connection between the mobile device <b>650</b> and the wireless network <b>655</b> may be established.
0070At step <b>605</b>, the mobile device <b>650</b> connects to the profile server <b>660</b> over the data call just established. The connection could be made using browser-based software or some other special purpose software resident on the mobile device. The connection may use a hypertext transfer mechanism in combination with a packet-based protocol, such as HTTP over a TCP/IP connection, or any other transport protocol. In one example, the profile server <b>660</b> is identified by a Universal Resource Locator (URL) or Universal Resource Identifier (URI), and a user inputs the URL or URI to browser software which navigates to the profile server <b>660</b>. The connection may additionally use an encrypted and secure version of the transport protocol to enhance security and data integrity.
0071At step <b>607</b>, the mobile device <b>650</b> transmits the profile created at step <b>601</b> to the profile server <b>660</b>. In one example, the mobile device <b>650</b> may transmit the profile by uploading it to the profile server <b>660</b> and either creating a new profile or modifying an existing profile. Alternatively, the profile could be created or modified directly at the profile server <b>660</b> without resort to first creating the profile at the mobile device <b>650</b> locally. While connected to the profile server <b>660</b>, the mobile device <b>650</b> may also alter other settings associated with the profile. For example, the user may desire to attach certain privileges or other authorizations to limit access to the profile.
0072At step <b>609</b>, the data session between the mobile device <b>650</b> and the profile server <b>660</b> is terminated. At step <b>611</b>, the data call between the mobile device <b>650</b> and the wireless network <b>655</b> is either disconnected or goes dormant. The data call could either be disconnected manually, or perhaps as the result of a timeout event.
0073It should be appreciated that the process illustrated in <figref idref="DRAWINGS">FIG. 6</figref> and described here is but one option and other alternatives are possible. For example, rather than creating and maintaining the profile using the mobile device <b>650</b>, a user could create and maintain the profile using a conventional general purpose computer, perhaps connecting to the profile server <b>660</b> over a conventional network, such as an intranet or the Internet.
0074Moreover, in certain embodiments the profile server <b>660</b> could be included as a portion of the mobile device <b>650</b> itself rather than on a separate system. In such an alternative, as will be described more fully later, the mobile device <b>650</b> could serve its profile data directly in conjunction with making calls to other receiving devices. Such an alternative embodiment would therefore, of course, obviate any operations illustrated in <figref idref="DRAWINGS">FIG. 6</figref> that relate to maintaining the profile data in a separate location or uploading the profile data to the separate location.
0075<figref idref="DRAWINGS">FIG. 7</figref> is a process diagram generally illustrating a sequence of operations performed by certain elements of a system to retrieve a remote profile in response to an incoming call. The particular elements involved in the process include a mobile device <b>750</b>, a wireless network <b>755</b>, a profile server <b>760</b>, and a receiving device <b>765</b>. Each of these four elements may be similar in configuration and functionality to their counterparts described at length above. The process begins at step <b>701</b>.
0076At step <b>701</b>, a voice call request is issued from the mobile device <b>750</b> to the wireless network <b>755</b>. The voice call request includes information that identifies the mobile device <b>750</b>, such as the ESN and MIN of the mobile device <b>750</b>. In addition, the request includes the called number, meaning the phone number (or perhaps MIN) of the receiving device <b>765</b>.
0077At step <b>703</b>, the wireless network <b>755</b> notifies the receiving device <b>765</b> of the incoming call request. The wireless network <b>755</b> passes the voice call request to the receiving device <b>765</b> based on the called number provided by the mobile device <b>750</b>. The voice call request passed to the receiving device <b>765</b> may include identifying information, such as caller ID information or similar, that identifies the mobile device <b>750</b>. In certain enhancements, the notification transmitted at this step could include the signature of the profile that may have been created as described above.
0078At step <b>704</b>, the remote device <b>765</b> could search its local data storage for information, such as an appropriate ringtone or contact information, to display in connection with the incoming call. For example, the remote device <b>765</b> may already have a particular announcement stored for use in connection with incoming calls from the mobile device <b>750</b>. If not, or if the remote device <b>765</b> is configured to check each time an incoming call arrives, then the process continues. In the case where a signature of the profile has been received, the remote device <b>765</b> could determine, in addition to whether the profile is local, whether the local profile is the most current.
0079At step <b>705</b>, a data call is initiated and established between the remote device <b>765</b> and the wireless network <b>755</b>. In one particular embodiment, the data call may be established using an EV-DO technology that supports simultaneous voice calls and data calls. In an alternative where the profile server <b>760</b> is embedded within the mobile device <b>750</b>, then the data call could effectively be established between the remote device <b>765</b> and the originating mobile device <b>750</b>. This alternative could include establishing a second data call (not shown) between the wireless network <b>755</b> and the originating mobile device <b>750</b>. It will be appreciated that the remaining steps described below have equal applicability even if the profile server <b>760</b> is included in, or collocated with, the mobile device <b>750</b>. In still another alternative, the data call could be established between the remote device <b>765</b> and the originating mobile device <b>750</b> at an arbitrary or predetermined time that is not associated with an incoming voice call, such as periodically to update locally-stored contact information.
0080At step <b>707</b>, the receiving device <b>765</b> connects to the profile server <b>760</b> over the data call just established. The connection could use a hypertext transfer mechanism in combination with a packet-based protocol, such as HTTP over a TCP/IP connection, or any other transport protocol.
0081At step <b>709</b>, the receiving device <b>765</b> issues a query to the profile server <b>760</b> for the profile data. The receiving device <b>765</b> may identify the profile of interest using the incoming phone number of the mobile device <b>750</b>, or the like. In one enhancement, the query could include information to make the data transfer more efficient. For example, if one version of the profile data already exists at the receiving device <b>750</b>, it could possibly transmit the signature (e.g., a hash) of the local version of the profile data with the query. In this way, the profile server <b>760</b> could use the signature to determine if any changes have been made to the profile data at the profile server <b>760</b> since the last time the receiving device <b>765</b> retrieved it.
0082At step <b>711</b>, the profile server <b>760</b> responds to the receiving device <b>765</b> by returning the profile data. In one example, if the profile data includes a call announcement like a ringtone, the profile server <b>760</b> could immediately begin streaming the call announcement to the remote device <b>765</b>. Alternatively, if the profile data includes contact information, the profile server <b>760</b> could transmit that contact information. In yet another alternative, the profile data could include an image, perhaps in multi-resolution format (e.g., JPEG2000 format). In that case, the profile server <b>760</b> could begin by transmitting the lowest resolution level of detail of the image while transmitting each subsequent level of detail up to the supportable resolution of the remote device <b>765</b>. In this way, the remote device <b>765</b> could begin rendering the image sooner than if it had to wait for the entire full resolution image.
0083At step <b>712</b>, if appropriate, the profile data is used to announce the incoming call. Using the above examples, the ringtone could be played to announce the call, the contact information could be used to identify the caller, and/or the image could be used to display a likeness of the caller (or other image).
0084At step <b>713</b>, the receiving device <b>765</b> disconnects the data session with the profile server <b>760</b>. At step <b>715</b>, the receiving device <b>765</b> disconnects the data call with the wireless network <b>755</b> or the data call goes dormant.
0085At step <b>717</b>, the receiving device <b>765</b> accepts the incoming voice call from the mobile device <b>750</b>, thus enabling voice (or other, e.g. video) communication between the user of the receiving device <b>765</b> and the user of the mobile device <b>750</b>. At step <b>719</b>, when the conversation between the two users is concluded, the voice call between the receiving device <b>765</b> and the mobile device <b>750</b> is ended.
0086It should be noted that steps <b>713</b> and <b>715</b> do not necessarily need to be performed in any particular order with respect to steps <b>717</b> and <b>719</b>. In other words, using certain technologies the data connection and the voice call can be maintained simultaneously. Using such a technology, it would not be necessary to terminate the data call before conducting the voice call.
0087At step <b>720</b>, the receiving device <b>765</b> may prompt to save the profile data, such as the ringtone, contact information, or the like. In certain specific implementations, the account associated with the remote device <b>765</b> could be charged a fee for saving the profile data.
0088<figref idref="DRAWINGS">FIG. 8</figref> is a process diagram generally illustrating steps that may be performed by a process for making profile data available to receiving devices. The process begins with a user of a communications device creating or modifying a profile intended to be shared over a telecommunications network. The process begins at step <b>810</b>.
0089At step <b>810</b>, a data connection is established with a profile server that is accessible by a remote device over a telecommunications network. The data connection may be established using a mobile device with which the profile is to be associated, or alternatively, the data connection may be established using any computing device operatively coupled to the profile server.
0090At step <b>820</b>, the profile is created at the profile server. In this implementation, the profile is associated with a calling device and includes profile data that may describe characteristics of the calling device, particular behavioral criteria intended for a receiving device, or any other arbitrary data.
0091At step <b>830</b>, the telecommunications network is instructed to make the profile data available to a remote device from the calling device. In one example, the profile data may be made available to the remote device in response to a call from the calling device to the remote device. In other words, a call from the calling device constitutes implicit authorization to the receiving device for access to the profile data.
0092<figref idref="DRAWINGS">FIG. 9</figref> is a process diagram generally illustrating steps that may be performed by a process for receiving profile data about a calling device at a receiving device. The process begins when a user of a calling device initiates a call, such as a voice call, to the receiving device. The process begins at step <b>910</b>.
0093At step <b>910</b>, call data associated with an incoming call is received at the receiving device. The call data includes an identifier for the calling device. Examples of the identifier include a phone number or MIN and ESN for the calling device.
0094At step <b>920</b>, a data session is initiated with a profile server. The data session may be supported by a concurrent data call over the telecommunications network. In one example, an EV-DO communications technology may be used to support the data call.
0095At step <b>930</b>, the profile server is queried for a profile associated with the calling device. The identifier for the calling device may be used to identify the profile of interest. The profile contains the profile data, which may include a call announcement, contact information, images, or the like.
0096At step <b>940</b>, the profile data is retrieved from the profile server. In one example, the profile data may be streamed to the receiving device in a streaming audio format. In another example, the profile data may be delivered to the receiving device as textual contact information, an image or avatar, or the like.
0097At step <b>950</b>, the profile data is used in connection with the incoming call. In one example, the profile data may be used to announce the incoming voice call, such as by playing the streaming audio file as a ringtone. In addition, the profile data may be used to update contact information for the calling device stored on the receiving device.
0098<figref idref="DRAWINGS">FIG. 10</figref> is a process diagram generally illustrating steps that may be performed by a process for facilitating the delivery of profile data about a calling device to a receiving device. In one implementation, the process may be performed by components of a telecommunications network, such as a wireless network. The process begins at step <b>1010</b>.
0099At step <b>1010</b>, a request is received to establish a call from the calling device to the receiving device. The request could take the form of a conventional call request from the calling device that includes the called number, the calling number (e.g., the MIN for the calling device), and an ESN for the calling device.
0100At step <b>1020</b>, the receiving device is notified of the call. In one example, the telecommunications network initiates the setup of the voice call with the receiving device. The notification includes an identifier for the calling device (e.g., the MIN/ESN pair for the calling device).
0101At step <b>1030</b>, a request is received from the receiving device for profile data associated with the calling device. The request may be transmitted over a concurrent data call with the telecommunications network, and may include the identifier.
0102At step <b>1040</b>, a profile corresponding to the identifier is accessed to retrieve the profile data. The profile may be stored on a profile server that is in operative communication with the telecommunications network, perhaps over a wide area network.
0103At step <b>1050</b>, the profile data is returned to the receiving device, where it may be used in any appropriate manner such as to announce the incoming call or to update contact information on the receiving device for the calling device.
0104While the present invention has been described with reference to particular embodiments and implementations, it should be understood that these are illustrative only, and that the scope of the invention is not limited to these embodiments. Many variations, modifications, additions and improvements to the embodiments described above are possible. These variations, modifications, additions and improvements fall within the scope of the invention as detailed within the following claims.
Contents4
11 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| RU2700173C2 | Cited by | Russian Federation | Search report |
| EP2933987A1 | Cited by | European Patent Office (EPO) | Search report |
| US10694380B2 | Cited by | United States of America | Search report |
| WO2015158779A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US10856187B2 | Cited by | United States of America | Search report |
| US2014341364A1 | Cited by | United States of America | Pre-grant |
| US9854102B2 | Cited by | United States of America | Search report |
| US10645208B2 | Cited by | United States of America | Applicant |
| US10728374B2 | Cited by | United States of America | Applicant |
| US2008222293A1 | Cited by | United States of America | Pre-grant |
| US2020059831A1 | Cited by | United States of America | Search report |
| US2014341212A1 | Cited by | United States of America | Pre-grant |
| US2014341212A1 | Cited by | United States of America | Search report |
| US2010323657A1 | Cited by | United States of America | Pre-grant |
| US10057396B2 | Cited by | United States of America | Applicant |
| US9232053B2 | Cited by | United States of America | Search report |
| US2010267364A1 | Cited by | United States of America | Pre-grant |
| US10924897B2 | Cited by | United States of America | Applicant |
| US9026096B2 | Cited by | United States of America | Applicant |
| US10973059B2 | Cited by | United States of America | Applicant |
| US9531831B1 | Cited by | United States of America | Search report |
| US8285266B2 | Cited by | United States of America | Search report |
| US2014341212A1 | Cited by | United States of America | Search report |
| US2002067816A1 | Cites | United States of America | Pre-grant |
| US2002087632A1 | Cites | United States of America | Pre-grant |
| US2003063730A1 | Cites | United States of America | Pre-grant |
| US2003139172A1 | Cites | United States of America | Pre-grant |
| US2004196966A1 | Cites | United States of America | Pre-grant |
| US2005100150A1 | Cites | United States of America | Pre-grant |
| US2007127651A1 | Cites | United States of America | Pre-grant |
| US2009117886A1 | Cites | United States of America | Pre-grant |
| US6832242B2 | Cites | United States of America | Pre-grant |
| US7940908B2 | Cites | United States of America | Pre-grant |
17 members in 7 offices
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 36140606 | United States of America | A | |
| 36140606 | United States of America | A | |
| 201113104950 | United States of America | A | |
| 11361406 | – | – | – |
| US20060361406 | – | – | – |
| US201113104950 | – | – | – |
Members17
| Document | Office | Kind | |
|---|---|---|---|
| WO2007098508A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US2007206736A1 | United States of America | A1 | |
| EP1994731A1 | European Patent Office (EPO) | A1 | |
| KR20080103580A | Republic of Korea | A | |
| CN101385320A | China | A | |
| JP2009528726A | Japan | A | |
| US7940908B2 | United States of America | B2 | |
| US2011212705A1 | United States of America | A1 | |
| CN102202288A | China | A | |
| KR101134256B1 | Republic of Korea | B1 | |
| JP2013059030A | Japan | A | |
| US8605880B2 | United States of America | B2 | |
| JP5389454B2 | Japan | B2 | |
| IN1603MUN2014A | India | A | |
| JP2015181246A | Japan | A | |
| CN105338203A | China | A | |
| JP6407794B2 | Japan | B2 |
5 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee paymentFPAY | FPAY | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 20110212705
- Publication, DOCDB
- 2011212705
- Publication, EPODOC
- US2011212705
- Application
- 13104950
- Application, DOCDB
- 201113104950
- Application, EPODOC
- US201113104950
Titles
- English
- SHARING PROFILE DATA BETWEEN TELECOMMUNICATION DEVICES
Classification
- CPC, 6
- H04M3/42042
- H04L67/306
- H04M1/575
- H04M3/42059
- H04M3/42068
- H04M3/42153
- IPC, 1
- H04W4 00
- USPC, 1
- 455410000