Video call routing with presence determination

A request to establish video communication with a recipient associated with multiple communication devices is received. The recipient is identified using information contained within the request. A set of communication devices associated with the recipient is determined. A first communication device with a highest probability of being accessible to the recipient is selected from the set. The video communication request is forwarded to the first selected communication device.

BACKGROUND

1. Field of the Invention

The present invention relates generally to the field of video communication. More specifically, the present invention relates to a system and method for routing video calls to a particular communication device of a recipient using presence determination techniques.

2. Description of Related Background Art

Devices supporting two-way video communication are becoming increasingly popular. For instance, videophones, interactive television (ITV) systems, personal computers, and other devices supporting video communication are currently available.

Often, a user may have access to a number of such devices, each having its own videophone number, identifier, or network address. For example, a user may have access to a personal computer at work, an ITV system at home, and a personal digital assistant (PDA) on his or her person, all of which have two-way video communication capability.

Thus, in order to place a video “call” to a recipient, a caller must know all of the videophone numbers, identifiers, or addresses of the recipient and guess which device is most likely to be presently accessible to the recipient. This process of guessing by the caller can be very frustrating and time consuming.

Accordingly, what is needed is a system and method for routing video calls to a communication device most likely to be presently accessible to the recipient. What is also needed is a system and method for routing video calls to one or more communication devices of a recipient using a single identifier or address.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention relates to a system and method for routing video calls to a particular communication device of a recipient that eliminates or substantially diminishes all of the above-identified problems and disadvantages.

In one embodiment, a request to establish video communication between a caller and a recipient is received. The request may be sent by any communication device supporting two-way video communication, such as a videophone, interactive television (ITV) system, personal computer, or the like. The request may be received, for example, by a communication node (such as a cable head-end) linking the communication devices of the caller and the recipient. The request may be embodied in any suitable format according to the communication devices and/or software being used.

In one embodiment, the recipient is identified using information contained within the request. The request may contain, for instance, the recipient's name, personal network address, or the like. In one embodiment, the request includes a universal, non-device-specific address for the recipient according to the ENUM standard.

A set of communication devices associated with the recipient is then determined. For example, a particular recipient may own or have access to a number of communication devices that support video communication, such as a videophone, ITV system, personal computer, PDA, cellular telephone, or the like. Depending on the recipient's physical location and/or other circumstances, one or more devices may be more accessible to the recipient at any given time than other devices. For example, after working hours, a user's ITV system may be more accessible the recipient than an office PC.

From the set of communication devices associated with the recipient, a device having the highest probability of being presently accessible to the recipient is selected. Selecting this device may be accomplished using a variety of techniques, factors, and/or indicators, collectively referred to herein as “presence determination.”

For example, in one embodiment, the device that was last used by the recipient is selected. In an alternative embodiment, device usage pattern data and/or a recipient's daily schedule may be used to determine the device having the highest probability of being presently accessible to the recipient. In still another embodiment, a recipient may specify which device should be used to contact him or her at different times of the day or week.

In certain embodiments, each communication device may be polled to determine a recipient's presence in relation to the communication device. In other embodiments, a locator device may transmit an indication of the recipient's physical location to aid in selecting a communication device with the highest probability of being presently accessible to the recipient.

Once a communication device is selected, the request is then forwarded to the selected communication device. While the request may originally include a universal, non-device-specific address for the recipient, the request is then addressed to the particular selected device and transmitted in a suitable format using standard protocols.

If the recipient accepts the request, two-way video communication is established between the caller and the recipient using the selected communication device. If, however, the request is not accepted within an established time interval, a communication device having a next highest probability of being accessible is selected in one embodiment. The request is then forwarded to the newly selected communication device as discussed above. In some cases, a recipient may specify an order in which his or her communication devices should be selected.

The following discussion makes particular reference to two-way video communication. However, those skilled in the art recognize that video communication usually implies audio communication. Thus, where video communication and corresponding components are specifically illustrated, audio communication and corresponding components may be implied.

Referring now toFIG. 1, there is shown a communication system100according to an embodiment of the invention. In one implementation, the system100includes a broadband communication network101, such as a cable television network or direct satellite broadcast (DBS) network, although other networks are possible.

The system100may include a plurality of set top boxes (STBs)102located, for instance, at customer homes or offices. Generally, an STB102is a consumer electronics device that serves as a gateway between a customer's television104and the network101. In alternative embodiments, an STB102may be embodied more generally as a personal computer, an advanced television104with STB-like functionality, or another type of customer premises equipment (CPE).

The following specification describes video communication between one or more STBs102. However, those skilled in the art will recognize that other types of video communication devices may be used, such as dedicated videophones, personal computers, PDAs, etc.

An STB102receives encoded television signals and other information from the network101and decodes the same for display on the television104or other display device, such as a computer monitor. As its name implies, an STB102is typically located on top of, or in close proximity to, the television104.

Each STB102may be distinguished from other network components by a unique identifier, number, code, or address, such as an Internet Protocol (IP) address (e.g., IPv6), a Media Access Control (MAC) address, or the like. Thus, video signals and other information may be transmitted from the network101to a specific STB102by addressing the same with the correct address, after which the network101routes the transmission to its destination using conventional techniques.

A remote control106is provided, in one configuration, for convenient remote operation of the STB102and the television104. The remote control106may use infrared (IR), radio frequency (RF), or other wireless technologies to transmit control signals to the STB102and the television104. Other remote control devices are also contemplated, such as wired or wireless mice (not shown).

Additionally, a keyboard108(either wireless or wired) is provided, in one embodiment, to allow a user to rapidly enter text information into the STB102. Such text information may be used for e-mail, instant messaging (e.g. text-based chat), or the like. In various embodiments, the keyboard108may use IR, RF, or other wireless technologies to transmit keystroke data to the STB102.

Each STB102may be coupled to the network101via a broadcast center110. In the context of a cable television network, a broadcast center110is often referred to as a “head-end”, which is generally a centrally-located facility within a community where television programming is received from a local cable TV satellite downlink or other source and packaged together for transmission to customer homes. In one configuration, a head-end also functions as a Central Office (CO) in the telecommunication industry, routing video signals and other data to and from the various STBs102serviced thereby.

A broadcast center110may also be embodied as a satellite broadcast center within a direct broadcast satellite (DBS) system. A DBS system may utilize a small 18-inch satellite dish, which is an antenna for receiving a satellite broadcast signal. Each STB102may include a digital integrated receiver/decoder (IRD), which separates each channel, and decompresses and translates the digital signal from the satellite dish to be displayed by the television104.

Programming for a DBS system may be distributed, for example, by multiple high-power satellites in geosynchronous orbit, each with multiple transponders. Compression (e.g., MPEG) may be used to increase the amount of programming that can be transmitted in the available bandwidth.

The broadcast centers110may be used to gather programming content, ensure its digital quality, and uplink the signal to the satellites. Programming may be received by the broadcast centers110from content providers (CNN®, ESPN®, HBO®, TBS®, etc.) via satellite, fiber optic cable and/or special digital tape. Satellite-delivered programming is typically immediately digitized, encrypted and uplinked to the orbiting satellites. The satellites retransmit the signal back down to every earth-station, e.g., every compatible DBS system receiver dish at customers' homes and businesses.

Some broadcast programs may be recorded on digital videotape in the broadcast center110to be broadcast later. Before any recorded programs are viewed by customers, technicians may use post-production equipment to view and analyze each tape to ensure audio and video quality. Tapes may then be loaded into a robotic tape handling systems, and playback may be triggered by a computerized signal sent from a broadcast automation system. Back-up videotape playback equipment may ensure uninterrupted transmission at all times.

Regardless of the nature of the network101, the broadcast centers110may be coupled directly to one another or through the network101. In alternative embodiments, broadcast centers110may be connected via a separate network, one particular example of which is the Internet112. The Internet112is a “network of networks” and is well known to those skilled in the art. Communication over the Internet112is accomplished using standard protocols, such as TCP/IP (Transmission Control Protocol/Internet Protocol) and the like.

A broadcast center110may receive television programming for distribution to the STBs102from one or more television programming sources114coupled to the network101. Preferably, television programs are distributed in an encoded format, such as MPEG (Moving Picture Experts Group).

MPEG is a form of predictive coding. In predictive coding, how and how much a next image changes from a previous one is calculated, and codes are transmitted indicating the difference between images, rather than the image itself. In MPEG, the images or frames in a sequence are typically classified into three types: I frames, P frames, and B frames. An I frame (or intrapicture) is an image that is coded without reference to any other images. A P frame (or predicted picture) is an image that is coded relative to one other image. A B frame (or bi-directional picture) is an image that is derived from two other images, one before and one after.

Various MPEG standards are known, such as MPEG-2, MPEG-4, MPEG-7, and the like. Thus, the term “MPEG,” as used herein, contemplates all MPEG standards. Moreover, other video encoding/compression standards exist other than MPEG, such as JPEG, JPEG-LS, H.261, and H.263. Accordingly, the invention should not be construed as being limited only to MPEG.

Broadcast centers110may be used to enable audio and video communications between STBs102. Transmission between broadcast centers110may occur (i) via a direct peer-to-peer connection between broadcast centers110, (ii) upstream from a first broadcast center110to the network101and then downstream to a second broadcast center110, or (iii) via the Internet112. For instance, a first STB102may send a video transmission upstream to a first broadcast center110, then to a second broadcast center110, and finally downstream to a second STB102.

Of course, the communication system100illustrated inFIG. 1is merely exemplary, and other types of devices and networks may be used within the scope of the invention.

Referring now toFIG. 2, there is shown an interactive television (ITV) system200according to an embodiment of the invention. As depicted, the system200may include an STB102, a television104(or other display device), a remote control106, and, in certain configurations, a keyboard108.

The remote control106is provided for convenient remote operation of the STB102and the television104. In one configuration, the remote control106includes a wireless transmitter202for transmitting control signals (and possibly audio/video data) to a wireless receiver203within the STB102and/or the television104. In certain embodiments, the remote control106includes a wireless receiver204for receiving signals from a wireless transmitter205within the STB102. Operational details regarding the wireless transmitters202,205and wireless receivers203,204are generally well known to those of skill in the art.

The remote control106preferably includes a number of buttons or other similar controls. For instance, the remote control106may include a power button206, an up arrow button208, a down arrow button210, a left arrow button212, a right arrow button214, a “Select” button216, an “OK” button218, channel adjustment buttons220, volume adjustment buttons222, alphanumeric buttons224, a “Help” button226, and the like.

In one embodiment, the remote control106includes a microphone242for capturing audio signals. The captured audio signals may be transmitted to the STB102via the wireless transmitter202. In addition, the remote control106may include a speaker244for generating audible output from audio signals received from the STB102via the wireless receiver204. In alternative embodiments, as shown inFIG. 3, the microphone242and/or speaker244may be integrated with the STB102.

In certain embodiments, the remote control106further includes a video camera246, such as a CCD (charge-coupled device) digital video camera, for capturing video signals. In one implementation, the video camera246is in electrical communication with the wireless transmitter202for sending the captured video signals to the STB102. Like the microphone242and speaker244, the video camera246may be integrated with the STB102, or attached to the STB102, as in the depicted embodiment.

The various components of the remote control106may be positioned in different locations for functionality and ergonomics. For example, as shown inFIG. 2, the speaker244may be positioned near the “top” of the remote control106(when viewed from the perspective ofFIG. 2) and the microphone242may be positioned at the “bottom” of the remote control106. Thus, in one embodiment, a user may conveniently position the speaker244near the user's ear and the microphone242near the user's mouth in order to operate the remote control106in the manner of a telephone. Of course, the remote control106may be embodied as a standard remote control, without audio/video capture capability.

The optional keyboard108facilitates rapid composition of text messages. The keyboard108includes a plurality of standard alphanumeric keys236. In one configuration, the keyboard108includes a wireless transmitter (not shown), similar or identical to the wireless transmitter202of the remote control106. The wireless transmitter transmits keystroke data from the keyboard108to the STB102. Additionally, the keyboard108may include one or more of the buttons illustrated on the remote control106.

Alternatively, or in addition, a hands-free headset248may be coupled to the remote control106or the keyboard108. The headset248may be coupled using a standard headset jack250. The headset248may include a microphone242and/or speaker244. Such a headset248may be used to reduce audio interference from the television104in order to improve audio quality and to provide the convenience of hands-free operation.

Referring now toFIG. 3, there is shown a block diagram of physical components of an STB102according to an embodiment of the invention. As noted above, the STB102includes a wireless receiver203for receiving control signals sent by the wireless transmitter202in the remote control106and a wireless transmitter205for transmitting signals (such as audio/video signals) to the wireless receiver204in the remote control106.

The STB102also includes, in one implementation, a network interface302for communicating with the network101via the broadcast center110. The interface302may include conventional circuitry for receiving, demodulating, and demultiplexing MPEG packets. The interface302may also include conventional modem circuitry for sending or receiving data. For example, the interface302may conform to the DOCSIS (Data Over Cable Service Interface Specification) or DAVIC (Digital Audio-Visual Council) cable modem standards.

In one configuration, one or more frequency bands (for example, from 5 to 30 MHz) may be reserved for upstream transmission. Digital modulation (for example, quadrature amplitude modulation or vestigial sideband modulation) may be used to send digital signals in the upstream transmission. Of course, upstream transmission may be accomplished differently for different networks101. Alternative ways to accomplish upstream transmission include using a back channel transmission, which is typically sent via an analog telephone line, ISDN, DSL, or other techniques.

The STB102also preferably includes a codec (encoder/decoder)304, which serves to encode audio/video signals into a network-compatible data stream for transmission over the network101. The codec304also serves to decode a network-compatible data stream received from the network101. The codec304may be implemented in hardware and/or software. Moreover, the codec304may use various standard algorithms, such as MPEG and/or Voice over IP (VoIP), for encoding and decoding.

The STB102further includes a memory device306, such as a random access memory (RAM), for storing temporary data. Similarly, a read-only memory (ROM) may be provided for storing more permanent data, such as fixed code and configuration information.

In one embodiment, an audio/video (A/V) controller308is provided for converting digital audio/video signals into analog signals for playback/display on the television104. The A/V controller308may be implemented using one or more physical devices, such as separate graphics and sound controllers. The A/V controller308may include graphics hardware for performing bit-block transfers (bit-blits) and other graphical operations for displaying a graphical user interface (GUI) on the television104.

In some implementations, the STB102may include a storage device310, such as a hard disk drive or the like. The storage device310may be configured to store encoded incoming and outgoing video signals as well as television broadcasts and retrieve the same at a later time for display. The storage device310may be configured, in one embodiment, as a personal video recorder (PVR), enabling scheduled recording of television programs, pausing (buffering) live video, etc. The storage device310may also be used in various embodiments to store viewer preferences, parental lock settings, electronic program guide (EPG) data, passwords, e-mail messages, video messages, video greetings, and the like. In one implementation, the storage device310also stores an operating system (OS) for the STB102, such as Windows CE® or Linux®.

As noted above, the STB102may include, in certain embodiments, a microphone242and a speaker244for capturing and reproducing audio signals, respectively. The STB102may also include or be coupled to a video camera246for capturing video signals. These components may be included in lieu of or in addition to similar components in the remote control106, keyboard108, and/or television104.

A CPU312controls the operation of the STB102, including the other components thereof, which are coupled to the CPU312in one embodiment via a bus314. The CPU312may be embodied as a microprocessor, a microcontroller, a digital signal processor (DSP) or other device known in the art. For instance, the CPU312may be embodied as an Intel® x86 processor. As noted above, the CPU312may perform logical and arithmetic operations based on program code stored within the memory306or the storage device310.

Of course,FIG. 3illustrates only one possible configuration of an STB102. Those skilled in the art will recognize that various other architectures and components may be provided within the scope of the invention. In addition, various standard components are not illustrated in order to avoid obscuring aspects of the invention.

Referring now toFIG. 4, a caller402initiates a video call, in one embodiment, by sending a video communication request403to a broadcast center110or other network node. As previously explained, the request403may be embodied in various forms, depending on the hardware and/or software being used.

Upon receiving the request403, the broadcast center110identifies the recipient406from information contained within the request403. In one configuration, the broadcast center110extracts an identifier from the request403that uniquely identifies the recipient406. The identifier may include, for instance, the recipient's name, social security number, e-mail address, and/or personal network address (e.g., ENUM address). In one configuration, the identifier may include the name of the recipient406appended by a “.vp” extension, e.g. “Paul_Allen.vp”.

Once the recipient406is identified, the broadcast center110determines a set of communication devices404that may be accessible to the recipient406. Certain communication devices404may only support audio communication, while others may support both audio and video communication. For example, a recipient406may have access to a personal computer (PC)404aat work, a dedicated videophone404bat home, and cell phone404con his or her person. Of course, other communication devices404may be associated with a recipient406including a home STB102(not shown), a home PC (not shown), and the like.

Once the set of communication devices404is determined, the broadcast center110selects the communication device404having the highest probability of being presently accessible to the recipient406. This determination may be made using various techniques, embodiments of which are described below. Such techniques are referred to herein as “presence determination.” Of course, those of skill in the art will recognize that numerous other techniques and/or methods may be used within the spirit and scope of the invention.

While the following techniques are described individually, two or more techniques may be employed, serially or in parallel. For example, multiple techniques may be used in combination, with the results being heuristically combined to select the highest-probability device. Alternatively, where a primary technique may fail to achieve two-way communication between the caller402and the recipient406(e.g., the recipient406does not answer), a secondary technique may be employed.

In one exemplary embodiment, as shown inFIG. 4, login data405is used to determine which device404has the highest probability of being presently accessible to the user. Many communication devices, such as personal computers, ITV systems, and the like, require or permit a user to “log in” or authenticate by means of a user name and password. The login process may be provided for security purposes or merely to facilitate personalization of the device404.

In one embodiment, when a user successfully logs in, the device404notifies the broadcast center110. The broadcast center110then maintains a database of login data405that may be consulted when a request403is received.

If the user is logged into a single device, such as the office PC404aofFIG. 4, that device may be selected to receive the request403, since a high likelihood exists that the device404ais still accessible to the user. This is particularly true if the login data405includes an indication of the time at which the user logged in, and that the indicated time is relatively recent.

If a user is logged into multiple devices, suggesting, for example, that the user failed to log out of a first device404before logging into a second one, the login time may also be used to select the device404. For example, the device404with the most recent login time may be selected as having the highest probably of being presently accessible to the recipient406.

In one embodiment, the broadcast center110then forwards the video communication request403to the selected device404(e.g., the office PC404aofFIG. 4). This may include addressing the request403to a unique network address of the selected device404.

If the request403is accepted, video communication is established between the devices of the caller402and the recipient406using standard techniques. If the request403is not accepted within an established time interval, the broadcast center110selects the communication device404that is next most likely to be presently accessible to the recipient406, and so on.

For example, as shown inFIG. 4, the cell phone404cmay be determined to be the next most accessible device404following the office PC404a. Therefore, the broadcast center110forwards the video communication request403to the cell phone404c.

In certain configurations, the broadcast center110may detect that the selected device404, e.g. the cell phone404c, supports only audio communication. Accordingly, if the recipient406accepts, an audio-only connection between the caller402and the recipient406is established. If the recipient406does not accept within an established time interval, the broadcast center110selects another device404from the set, and so on, until the recipient406accepts, or all the devices404have been selected.

Thus, in one embodiment, the caller402may use a single address to establish video communication with a recipient406associated with multiple devices404, each with a different network address. The caller402need not guess which device404is most accessible to the recipient406. In addition, the request403is automatically forwarded to other devices404when the recipient406does not answer.

In an alternative embodiment, as shown inFIG. 5, selection of the most accessible device404is made with reference to the last device404used by the recipient, e.g., “last use” data502. For instance, the last use data502may indicate that a home videophone404bwas the last device404used by the recipient406. Accordingly, the home videophone404bmay be selected by the broadcast center110in one embodiment.

Of course, if the time that the device404was last used is too far in the past, e.g., twenty-four hours, the last use data502may be ignored and the broadcast center110may employ another technique with a higher probability of successfully determining which device404is most accessible.

In another alternative embodiment, a shown inFIG. 6, schedule data602, provided by the recipient406, may be used to select which device404has the highest probability of being accessible to the recipient406. The schedule data602may indicate which devices404the recipient406expects to be using at various times and/or the probable physical location of the recipient406.

The schedule data602may be provided specifically for purposes of presence determination, or may be derived from more general schedule information, such as the a recipient's personal information manager (PIM), e.g., Microsoft Outlook®. The schedule data602may be stored within the broadcast center110, or may be obtained by the broadcast center110on demand from another computer system or device.

As shown inFIG. 7, the schedule data602may be represented as a table702including a number of rows and columns. Of course, a variety of other data structures may be provided within the scope of the invention.

In one embodiment, the table702may include columns corresponding to a time interval704, as well as a physical location706and/or a device name708or network address710. Each record712indicates the recipient's probable physical location706and a device404expected to be most accessible during the time interval704. For example, between 9 am and 5 pm the recipient406expects to be at the office. Therefore, a record712is added with the 9 am to 5 pm time interval704, office location706, office PC name708, and office PC network address710. Of course, in other embodiments, the table702may only indicate the physical location706, in which case another table or data structure (not shown) may be used to correlate physical locations706with device names708and/or network addresses710. In the depicted embodiment ofFIG. 6, the device404is selected using the schedule data602and the time604the request403was received.

With the set of communication devices404determined, the broadcast center110searches the schedule data602according to the reception time604to select the device404. For example, suppose a request403is received at the broadcast center110at 7:32 pm. Accordingly, the probable physical location706of the recipient406is at home. The broadcast center110identifies the home videophone404bas the device404in closest proximity to the probable physical location706of the recipient406and selects the home videophone404b. Of course the actual physical location of the recipient406may not be at home. In such a case, as discussed above, the request403may be forwarded to another device404within the set.

In an alternative embodiment, as shown inFIG. 8, usage pattern data802and an reception time604are used to select the device404most likely to be accessible to the recipient406. Usage pattern data802may include a set of machine generated rules concerning video communication habits of the recipient406. In certain embodiments, the rules may be viewed and modified by a user. Usage pattern data802may be generated by a broadcast center110configured to monitor communications of the recipient406using the devices404. Of course one or more different devices may monitor communications, generate usage pattern data802, and receive communication requests403.

Usage pattern data802, illustrated in a tabular format inFIG. 9, may be generated to reflect historical video communication patterns of a recipient406. In one embodiment, certain historical information from each communication may be recorded including the time, date, day of week, call duration, communication device404used, and the like. Periodically, the broadcast center110may then search the historical information for patterns. The search of the historical information may use well known data mining and artificial intelligence (AI) methods.

Table902illustrates a few example records904of rules derived from historical information. Each record904may include a rule number906, rule description908, and a date910on which the rule was generated. In addition, the table902may include other columns912for storing communication information, such as the device404to be selected, and the like. Of course, the data in the table902may be in human-readable or non-human-readable form, and may be configured in various different ways within the scope of the invention.

Referring back toFIG. 8, video communication requests403are routed to a recipient406based on usage pattern data802. In one embodiment, the broadcast center110accesses the usage pattern data802to determine which device404to select for forwarding of the request403. As with schedule data602discussed in relation toFIG. 6, the usage pattern data802may be stored on an Internet server, database, storage device310, or the like. Similarly, the reception time604may includes the time, date, day of the week, and the like. The usage pattern data802is searched for a rule which most closely represents the time604of the received request403. Once a rule is found, the request403is forwarded to the device404indicated by the rule.

For example, a caller402may send a video communication request403at 6:00 am on Wednesday. The request403is received and the usage pattern data802is searched. Rule #3indicates the recipient generally places a video call from the cell phone404con Wednesdays at 6:00 am. Therefore, the request403is forwarded to the cell phone404c.

In an alternative embodiment, as shown inFIG. 10, the reception time604and user preference data1002are used to select a device404. User preference data1002is information defined primarily by a user (e.g., the recipient406). In one embodiment, the user preference data1002indicates a priority for selecting communication devices404a-cduring general time intervals. Alternatively, user preference data1002may simply designate a priority or order for selecting the devices404a-cregardless of the time604, e.g. when a first device404does not respond, a second device404may be selected, etc.

A table1102, shown inFIG. 11, illustrates an example of user preference data1002according to one embodiment. The table1102includes time intervals704, device names708, and network addresses710, similar to those described in relation toFIG. 7. The table1102also includes a day1104column. The day1104may indicate a type of day such as weekday, weekend, holiday, a date range, or the like. Of course, the table1102may be configured in various different ways without departing from the spirit and scope of the invention.

Suppose a communication request403is made at 7:00 pm on Sep. 15, 2001. Using the reception time604, including the day and time, the broadcast center110identifies, from the user preference data1002, the cell phone404cas the device to be selected. The request403is then forwarded to the cell phone404c.

Referring now toFIG. 12, an alternative embodiment utilizes a locator device1202to select a device404associated with a recipient406based on the recipient's actual presence. The locator device1202may be embodied as any one of a number of devices for monitoring a person's geographic location using, for example, Global Positioning Satellite (GPS) technology, infrared (IR) or radio frequency (RF) technologies, and the like.

In one embodiment, the broadcast center110receives requests403and monitors the location of the locator device1202using well known methods according to the technology of the locator device1202. Preferably, the locator device1202is directly associated with the recipient's person. For example, the locator device1202may be integrated with a watch, ring, or other personal item in close proximity to the recipient406. Alternatively, the locator device1202may be integrated with a communication device404. For example, a cell phone404cmay be tracked by the broadcast center110moving from cell to cell in a telephone network.

In one embodiment, configuration information identifying each device404a-cassociated with a recipient406is stored within the broadcast center110. The configuration information may include a physical location for the device404. Thus, when a request403is received, a broadcast center110may select the device404in closest proximity to the recipient's actual physical location, as indicated by the locator device1202.

In an alternative embodiment, a communication device404may automatically send an indication of the recipient's presence to the broadcast center110. For example, the office PC404amay detect a keystroke while the recipient406is logged in and send an indication of the recipient's presence to the broadcast center110. In one configuration, if the indication of the recipient's presence is received within an established time interval, for example, 5 minutes, requests403received during the time interval are forwarded to the office PC404a. The indication may be sent according to a format and protocol compatible with the device404and the broadcast center110.

In one aspect, the indication of the recipient's presence is sent in response to a user command. For example, the recipient406may press a specifically designated button on a communication device404to cause the indication to be sent to the broadcast center110. Accordingly, all requests403received after receipt of the indication may be forwarded to the communication device404which sent the indication.

Referring now toFIG. 13, an alternative embodiment for selecting the device404involves sending a polling signal1302to each device404within the set of devices404to determine the recipient's presence. Each device404then determines whether the recipient406is using the device404(is present) using techniques described above. If a device404determines the recipient406is present, an indication, such as an acknowledgement signal1304, is sent to the broadcast center110. In one embodiment, the broadcast center110selects the device404which sent the acknowledgement signal1304.

Determining whether the recipient406is present may be accomplished using methods discussed above including measuring time between keystrokes, identifying whether the recipient406is logged in, identifying whether the device404is currently in use for communication, receiving an input command indicating a recipient's presence, as well as various other methods. As an example, the broadcast center110sends a polling signal1302to each device404a-c. In response to the polling signal1302, the office PC404adetects a very short time interval between keystrokes. Therefore, the office PC404aresponds with an acknowledgement signal1304while the other devices404b-csend no response. Accordingly, the request403is forwarded to the office PC404a.

Of course, two devices404may have the same probability of being accessible to the recipient406at the time a request403is received. For example, selecting a device404using usage pattern data802may result in the reception time604matching two rules indicating two different devices404. In this situation, certain embodiments may determine that a first device404, e.g. office PC404a, supports audio and video communication and a second device404, e.g. cell phone404c, supports only audio communication. In response to making this determination, the broadcast center110may select the device404having more robust communication functionality, e.g. office PC404a.

Referring now toFIG. 14, a system1400for routing video calls to a recipient406is illustrated. The depicted logical components may be implemented using one or more of the physical components shown inFIG. 3. Of course other well known physical components typically used in a broadcast center110may be used to implement the depicted logical components. Additionally, or in the alternative, various logical components may be implemented as software modules stored in the memory306and/or storage device310and executed by the CPU312. Those skilled in the art will recognize that various illustrated components may be combined together or integrated with standard components in various configurations without departing from the scope or spirit of the invention.

As noted above, a caller's STB102may send a video communication request403which is received at the broadcast center110. In one embodiment, the system1400includes a reception component1402, which receives the request403addressed to the recipient406, as described above in connection withFIG. 4. The reception component1402may be implemented as a software module executing on a CPU312in communication with a network interface302of the broadcast center110. The network interface302monitors incoming packets received from the network101. Of course, a variety of other implementations are possible.

The system1400may also include an identification component1404in communication with the reception component1402. In one implementation, once the reception component1402detects a request403, the identification component1404extracts an address (e.g., an ENUM address) from the request403to uniquely identify the recipient406, as described in connection withFIG. 4. The address may comprise a simple mnemonic to allow for easy memorizing of the address.

In the depicted embodiment, the identification component1404interacts with a determination component1406. As described in connection withFIG. 4, the determination component1406determines a set of communication devices404associated with the recipient406. This set may comprise configuration information stored on a storage device310accessible to the broadcast center110. Alternatively, the configuration information for devices404within the set may be stored in memory306at the broadcast center110.

Thereafter, a selection component1408selects a first device404from the set having a highest probability of being accessible to the recipient406. As described above inFIGS. 4-13, various selection methods and techniques may be used to select the device404. In some embodiments, a storage device310may be accessed to retrieve information such as last use data502, schedule data602, usage pattern data802, user preference data1002, or the like.

Once a first device404is selected, the selection component1408signals a forwarding component1410to forward the request403to the selected device404a. In one embodiment, the forwarding component1410uses configuration information for the selected device404ato replace the recipient address with a network address for the device404a. Thus, network addresses need not be used by the caller402.

If the recipient406accepts the request403at the selected device404a, a communication component1412establishes communication between the caller402and the recipient406. In certain configurations, the communication component1412detects that the selected device404and the caller's device do not each support the same type of communication. For example, the caller's device (e.g., STB102) may support audio and video while the selected device404only supports audio. In this case, the communication component1412establishes the highest level of communication supported by both devices102,404, e.g., audio.

If the recipient406does not accept the request403within an established time interval, the communication component1412signals the selection component1408to select a second communication device404that is next most likely to be presently accessible to the recipient406. If the recipient406does not accept the request403using the second communication device404, the forwarding component1410and selection component1408cooperate to send the request403to another device404within the set, and so on.

Referring now toFIG. 15, there is shown a flowchart of a method1500for routing video calls to a recipient406. The method1500begins by receiving1502a request403addressed to a recipient406. Next, the recipient406is identified1504using information within the request403. Thereafter, a set of communication devices404associated with the recipient406is determined1506.

A first communication device404with a highest probability of being accessible to the recipient406is then selected1508from the set. The first device404may be selected according a variety of methods and techniques, as discussed above. Thereafter, the request403is forwarded1510to the first selected communication device404.

A determination1512is then made whether the recipient406accepts the request403within an established time interval. If so, video communication is established1514between the caller402and the recipient406. If not, a second communication device404with a next highest probability of being most accessible to a recipient406is then selected1516. As above, the request403is then forwarded1518to the second communication device404. Thereafter, the method1500continues with the determination1512step until the recipient accepts the request403at the selected device404or all the devices404within the set have been selected.

Of course the recipient406may reject the request403at the selected device404. For example, by pressing a designated button on the device404, the request403may be rejected. Since a rejected request403indicates the recipient's presence at the selected device404, rejection of the request403, like establishing1514of video communication, terminates the method1500.

Based on the foregoing, the present invention offers a number of advantages not available in conventional approaches. A caller may use a single address to communicate with a recipient associated with multiple communication devices without attempting to contact each device in turn. If the recipient changes physical locations, for example, due to a move, the caller may still use the same address. Video calls are routed to a recipient based on a logical determination of a communication device most accessible to the recipient according to usage pattern data, user preference data, a recipient's schedule, a locator device, and the like. In addition, video calls may be routed to a communication device in closest proximity a recipient's actual physical location.

While specific embodiments and applications of the present invention have been illustrated and described, it is to be understood that the invention is not limited to the precise configuration and components disclosed herein. Various modifications, changes, and variations apparent to those skilled in the art may be made in the arrangement, operation, and details of the methods and systems of the present invention disclosed herein without departing from the spirit and scope of the invention.