Systems and methods for providing companion services to customer equipment using an IP-based infrastructure

Disclosed herein are systems and methods for providing companion services to customer premises equipment (CPE) using an IP-based service infrastructure. The infrastructure allows IP-enabled devices such as tablet PCs, smart phones, PDAs, and laptop computers to provide supplementary services to target systems and devices located at customer premises. Target systems and devices (CPE) may be TVs, PCs, set-top boxes, digital video recorders, or other electronics. An embodiment is disclosed which allows a mobile device to provide companion services to a television through a link with a set-top box in a cable TV network using the Internet.

FIELD OF THE INVENTION

The invention relates generally to systems and methods for providing companion services to customer premises equipment using an IP-based service infrastructure and relates particularly to providing companion services for television applications.

BACKGROUND

The increasing pervasiveness of “smart,” processor-controlled devices, ranging from mobile devices such as tablet PCs, smart phones, personal digital assistants (PDAs), and laptop computers to televisions, set-top boxes (STBs), digital video recorders (DVRs), and stereos to home security systems, household appliances, utility metering and control systems, industrial controllers, vending machines, remote-controlled vehicles, and robots, together with the increasing ease and cost effectiveness of connecting such devices over a computer network, is contributing to a rising interest in leveraging capabilities of different devices to provide enhanced services and user experiences.

Dedicated, short range, wireless control of TV set-top boxes, home entertainment systems, garage door openers, and other devices using infrared or radio frequency transmitters and receivers is often supplemented by other mechanisms, such as Bluetooth, to provide higher bandwidth short range control and data transmission. Devices and systems such as utility meters, home controllers, digital still and video cameras, robots, medical systems, and industrial machine controllers may be enabled for monitoring and control via the Internet, using, for example, WiFi and 3G links. Such enablement is generally provided by including web server functionality in the device being controlled and web browser functionality in the remote controlling device. Remote control of vehicles, medical systems and devices, and remote presence systems often utilize proprietary as well as non-proprietary communications links. In the home entertainment arena, products are available to provide users with remote access to and control over audio-visual equipment (e.g., STBs, DVRs) via devices which utilize the equipment's external remote control interfaces and include the ability to stream captured video to other devices inside and outside the home.

The current arts have yet to provide effective means for leveraging the functionality of various devices to provide enhanced services and user experiences. Current systems are limited by controller devices which may become quickly outdated and are cumbersome to use. These systems are also limited by an inability to share content and functions between devices. In the TV and multimedia domain, content providers and programmers have difficulty delivering integrated, multi-screen experiences to consumers while also taking full advantage of the improving capabilities of these devices. Current arts also suffer from complicated device linking (a.k.a. “pairing”) procedures; insecure data transmission; difficulty supporting multiple device platforms; limited access to remote system functionality (e.g., emulation of local remote control only or access to a subset of such functions); need for dedicated hardware to be externally coupled to device or system being controlled; difficulty supporting target systems from different vendors; and difficulty producing a critical mass of reliable applications due to lack of robust, certified interfaces and middleware.

SUMMARY OF THE INVENTION

The present invention is intended to overcome the aforementioned deficiencies and enable provision of companion services to customer premises equipment (CPE) using an IP (Internet Protocol)-based service infrastructure.

In one embodiment, the present invention may provide a gateway server communicatively coupled to an IP-enabled device via an IP network. The gateway server may provide web services to a companion application running on the IP-enabled device. The web services define a set of functions that can be executed on target CPE. These functions are supported by a companion application client running on the CPE by providing access to certain software and hardware functionality of the CPE. In addition to web services, the gateway server may provide network management services that pair and un-pair the IP-enabled device with the appropriate target CPE. The gateway server may also authenticate devices, manage network resources, and execute secure transmission of messages between the IP-enabled device and the target CPE. Further, the gateway server may provide a message routing and relay function which may route messages to one or more distribution and routing servers which cooperatively provide a path through the IP network for delivering messages between the paired devices. An exemplary path may be a hierarchy with the gateway server positioned at the root node, message routing and relay services provided at intermediate nodes, and participating CPE devices located at leafs.

In another embodiment, the gateway server may be a centralized server providing enhanced television (ETV) services. The IP network may be provided, in part, by a multiple services operator like a cable or telecommunications company. The gateway server may be communicatively coupled to one or more ETV platform servers running message routing and relay services over a hybrid fiber-coax (HFC) distribution network. The target CPE device may be a set-top box, advanced television, or any other like device. The CPE devices may each run a companion application client implemented using the enhanced TV binary interchange format (EBIF) standard which is executed by an EBIF user agent (UA). This set-top box configuration may allow paired IP-enabled devices to execute set-top box functions such as channel changes, querying the current set-top box state, DVR recording controls, text and graphic display on the associated television screen, and presentation of interactive dialogs on the TV.

In another embodiment, the pairing of an IP-enabled device and target CPE may be accomplished using PINs, device tokens, and IP addresses appropriately communicated and cooperatively processed by IP-enabled devices, a gateway server, distribution and routing servers, and target CPE.

In another embodiment, a mechanism may be provided to assure that only certain companion application will run in systems according to the present invention.

In another embodiment, the IP network may be the Internet or an intranet.

In another embodiment, the IP network may be a satellite or broadcast TV network.

In another embodiment, the target CPE may be a device such as a stereo, home security system, home appliance, utility metering or control device, industrial controller, vending machine, remote-controlled vehicle, or robot.

Benefits of the present invention may include: (a) Simple, secure pairing, routing, and authentication of traffic between IP-enabled devices and target CPE, (b) Ability for applications running on IP-enabled devices (e.g., iPad/iPhone, Android, Windows Mobile) to control any function exposed on a target CPE, (c) Support for functionality provided by the IP-enabled device that is not provided by the target CPE's default controllers (e.g., keyboard, additional display screen, Internet access, click wheel, touch screen, microphone, camera) enabling users to achieve a much richer, more productive, multi-screen experience, (d) Elimination of need for additional, external hardware to control the target CPE (e.g., IR-blaster dongles), (e) Ability for IP-enabled devices to control target CPE from any manufacturer that include suitable enabling software (e.g., EBIF User Agent and companion application client EBIF application in the Enhanced Television domain), and (f) Greater ease in providing reliable applications on IP-enabled devices due to enforcement of resource constraints and other controls built into the enabling system components, thus allowing applications to be developed and provided with less risk to network service providers (e.g., cable companies, telecommunication companies, and other multiple services operators).

It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only, and are not restrictive of the invention as claimed. The accompanying drawings constitute a part of the specification, illustrate certain embodiments of the invention and, together with the detailed description, serve to explain the principles of the invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1depicts a system for providing companion services to CPE using an IP-based service infrastructure according to an exemplary embodiment of the present invention. Companion services are services that may supplement the capabilities of a target CPE to enhance the effectiveness and/or enjoyment of users interacting with the CPE. Companion services may utilize capabilities of IP-enabled devices that are not provided by the hardware and software provided with the target CPE. The key infrastructure components provided by the present invention may be those highlighted in gray inFIG. 1(112,113,114,122,132).

As depicted inFIG. 1, the invention may provide a gateway server110communicatively coupled to an IP-enabled device100via an IP network115. The gateway server110may provide web services112to companion applications102running on multiple IP-enabled devices100. The web services112define a set of functions that may be executed on target CPE130. These functions are supported by a companion application client132running on device software134which may be provided on the target CPE130by providing access to certain software and hardware functionality of the CPE130.

IP-enabled devices100may be devices such as tablet PCs (e.g., Apple iPad®), smart phones (e.g., Apple iPhone®, Samsung Galaxy S™, Droid), PDAs (e.g., Palm, BlackBerry®), and laptop computers. By using web services112, companion applications102may readily be developed to run on virtually any IP-enabled device100operating system (e.g., iPad OS, Android, Windows Mobile). The IP-enabled device100and companion application102may also utilize other services provided via the IP network115to enhance their functionality (not shown).

In addition to web services112, the gateway server110may provide network management services113that pair and un-pair the IP-enabled device100with the appropriate target CPE130, authenticate devices and messages, manage network resources, and execute secure transmission of messages between the IP-enabled device100and the target CPE130. The gateway server110may also provide a message routing and relay function114which may route messages to one or more distribution and routing servers120. The one or more distribution and routing servers120may cooperatively provide a path through the IP network115for delivering data and messages between the paired devices (100and130) by using message relay and routing services122provided by the distribution and routing servers120. This exemplary path may be a hierarchy with the gateway server110positioned at the root node, message routing and relay services122provided at intermediate nodes, and participating target CPE130located at leafs. The gateway server110may also provide for data collection which may be used for measuring, analyzing, and reporting on user actions and system status and activities.

Distribution and routing servers120need not be homogeneous, rather they may be implemented differently and provide functions beyond the basic message routing and relay services122as appropriate to where they exist in the network.

In addition to executing web services on target CPE130, the companion application client132may participate in the pairing and un-pairing of, and secure communication between, the target CPE130and the IP-enabled device100to provide web services exposed on the target CPE130.

FIG. 2depicts an exemplary embodiment of a system which may use an IP-enabled device200to provide companion services through a link with a set-top box230according to an exemplary embodiment of the present invention. As depicted inFIG. 2, a gateway server210may be communicatively coupled to an IP-enabled device200via an IP network215, which may optionally include the Internet. The gateway server210may be a centralized server providing enhanced television (ETV) services in a cable TV network and may include the provision of web services212to companion applications202running on multiple IP-enabled devices200. The web services212may define a set of functions that may be executed on target set-top boxes230. These functions may be supported by a companion application client232which may be implemented using the enhanced TV binary interchange format (EBIF) standard and executed by an EBIF user agent (UA)234running on the set-top box230. The companion application client232may provide access to certain software and hardware functionality of the set-top box230, mapping the web services212to executable functions on the set-top box230.

The gateway server210may be communicatively coupled to one or more ETV platform servers220running message routing and relay services222to route messages using Internet Protocol (IP) over a hybrid fiber-coax (HFC) distribution network225to appropriate paired set-top boxes230. This set-top box230configuration may allow paired IP-enabled devices200to execute set-top box functions such as channel changes, querying the current set-top box state, DVR recording controls, text and graphic display on the associated television screen240, and presentation of interactive dialogs on the TV240.

IP-enabled devices200may be mobile devices such as tablet PCs (e.g., Apple iPad®), smart phones (e.g., Apple iPhone®, Samsung Galaxy S™, Droid), PDAs (e.g., Palm, BlackBerry®), and laptop computers. By using web services212, companion applications202may be easily developed to run on any IP-enabled device200operating system (e.g., iPad OS, Android, Windows Mobile). The IP-enabled device200and companion application202may also utilize other services provided via the IP network215to enhance their functionality. For example, a voting and polling application (not shown) may communicate with an application server (not shown) that may be attached to the IP network215to aggregate and report on votes that are received from all or some of the IP-enabled devices200that may be running the voting and polling application. Results sent to the IP-enabled device200may then be sent to each paired set-top box230to affect a function, such as presenting voting or polling results in a pleasing way on the television240.

In addition to web services212, the gateway server210may provide network management services213that pair and un-pair the IP-enabled device200with the appropriate set-top box230, authenticate the devices, manage network resources, and execute secure transmission of messages between the IP-enabled device200and the set-top box230. The gateway server210may also provide a message routing and relay function214which may route messages to one or more ETV platform servers220which may cooperatively provide a path through the IP network215for delivering data and messages between the paired devices (200and230), which may be affected using message relay and routing services222provided by the ETV platform servers220.

Building the companion application client232on the EBIF infrastructure provides several benefits. Because the EBIF infrastructure is already deployed by cable operators, speed to market may be improved by reducing or eliminating the need to test each and every TV companion service operating through the client232. All set-top box230and network resources (215,220,225), including bandwidth, may be protected by the infrastructure provided by the present invention, thus preventing any companion application202from adversely impacting a provider's system.

By pairing a more capable IP-enabled device200with a target set-top box230, users may achieve significantly enhanced functionality versus using the remote control device(s) provided with the set-top box230. For example, a remote controller provided with a set-top box may provide a large number of buttons for controlling key aspects of the television viewing experience (e.g., channel changes, volume, favorite channels, interactive program guide navigation). Most standard set-top box remote controls do not, however, include keyboard functionality, high-resolution touch display screens, Internet connectivity, or microphone or camera input. When the functions provided by a set-top box are supplemented by such enhanced capabilities provided by IP-enabled devices, a richer and more pleasing experience is available to the viewer. Similarly, by decoupling a set-top box from the remote control device(s) provided originally with the system, other advantages are possible. For example: (a) Developers may provide entirely new ways to control a target device from that envisioned by the system provider (e.g., some set-top box users may prefer to control their TVs using an Apple iPod style click wheel, touch screen, or spoken commands input using an IP-enabled device's microphone versus the standard multi-button remotes), and (b) Users may be able to upgrade their target system by acquiring a new, enhanced, multi-function controller device which works with their existing target system hardware and software rather than replacing the system. Additionally, Enhanced TV (ETV) EBIF applications may be enhanced through additional access to cloud computing services and Internet content provided by companion applications running on IP-enabled devices.

Exemplary embodiments may provide applications running on a subscriber's Internet device with a safe and secure connection through the Internet to a subscriber's EBIF-enabled set-top box and TV screen. Using a mechanism such as that described in conjunction withFIG. 5, a web services-enabled Internet device may be linked to an EBIF-enabled set-top box. Once linked, the Internet device may cooperate with companion application client applications on the set-top box from anywhere in the world, to perform functions such as:

changing channels on the set-top box and TV;

querying the current channel, program, and state of the set-top box;

beginning immediate DVR recording on the set-top box;

scheduling future DVR recording on the set-top box;

displaying limited text and/or graphics on the TV screen over top of video;

displaying a dialog on the TV screen over video to interact with the user; and

turning the set-top box on or off.

Such services may be available for any EBIF user agents on the set-top box. In conjunction with a suitably enhanced EBIF user agent according to the current invention, additional enhanced services may also be available, including:

discovery of EBIF applications available on the set-top box;

launching of EBIF applications available on the set-top box; and

communication with enhanced EBIF applications available on the set-top box (e.g., upload caller-ID call logs to an iPhone).

In another exemplary embodiment, the IP network115is an intranet.

In another exemplary embodiment, the IP network115is a satellite or broadcast TV network.

In another exemplary embodiment, the IP network115may be provided by a multiple services operator like a cable or telecommunications company.

In another exemplary embodiment, the target CPE130may be a device such as a stereo, home security system, home appliance, utility metering or control device, industrial controller, vending machine, remote-controlled vehicle, or robot.

In another exemplary embodiment, the IP-enabled device200may be a tethered device such as a desktop PC, kiosk, and set-top box (e.g., Cisco, Motorola, Pace). Such a configuration may allow, for example, the pairing of one set-top box with another so a user can control one box using the other or allow multiple boxes to cooperate in other ways.

FIG. 3depicts a hierarchical network implementation according to an exemplary embodiment of the present invention. In such a network, multiple IP devices310are communicatively coupled to gateway server300that may be positioned at a root node, message routing and relay services320may be located at one or more levels of intermediate nodes, and terminal message routing and relay services320may be communicatively coupled to participating target CPE330, which may be located at leafs. All nodes are connected via an IP network315. Pairing of IP devices310and CPE330, and messaging between paired devices (310and330), may be accomplished as described more fully below with regards to the exemplary embodiments depicted inFIGS. 5, 6a,6b,7a,7b,8a,8b, and8c.

FIG. 4depicts an exemplary Momentum Meter running on an IP-enabled device400interacting with an associated television410. The IP-enabled device400may be a tablet PC that includes a touch screen overlaying a high resolution display and provides a wireless WiFi or 3G connection to the Internet. The Momentum Meter application may link the tablet PC400to an application server residing on the IP network215. The application server counts “votes” from users who are running the Momentum Meter. The votes may indicate which team each user thinks has the momentum in a sporting event being broadcast over a cable TV network. The application may display various information401about the game such as the date and time of the game, channel of broadcast, venue, teams playing, current score, time expired (or time remaining), team and player statistics, historical statistics, and the like.

The application may also include a text prompt404directing the user to tap the appropriate button to cast his or her vote. In the exemplary embodiment depicted byFIG. 4, the left button402indicates a vote for the “Force” and the right button403a vote for the “Rockets.” As the user taps button402or403, the votes are captured, filtered (e.g., there may be a limit on the number of votes a given user can cast in a given amount of time), and aggregated with votes from other users by the companion application202and associated application server. The application server may send each participating IP-enabled device400(200) an aggregate result indicating the momentum calculated for the respective teams. Each device400(200) may send that result to its respective paired set-top box230by means of the infrastructure and methods described by the present invention. At the set-top box230, the aggregate momentum result may be rendered on the connected television410(240) using an EBIF companion application client232running on the set-top box230according to web services112exposed on the set-top box230. The exposed web services112may include the ability to draw and interact with lines, shapes, text, or simple templated components on the screen. In the current example, a Momentum Meter graphic412may be rendered and displayed on a television411over top of the live sporting event which is being broadcast over a cable network. The graphic412may indicate which team has been voted as currently having the momentum in the game.FIG. 4indicates the “Force”414has the momentum over the “Rockets”413having accrued 60-70% of the votes cast.

One of ordinary skill in the art will readily understand that the exemplary embodiment described with regard toFIG. 4may be applied to any number of other embodiments to cast and compile real-time user votes across a network. For instance, the embodiment depicted inFIG. 4may be applied with regard to political debates, news programs, game shows, home shopping channels, or any other type of programming.

In applications where target CPE are stereos, home security systems, household appliances, utility metering and control systems, industrial controllers, vending machines, remote-controlled vehicles, and/or robots, exemplary companion services may include: (a) Supplementing functions provided by home security systems by utilizing voice commands or touch pad functionality on an IP-device to enable security system functions and specify which video cameras or sensors feeds to display on the device, (b) Supplementing home security system functions by having an IP-device monitor police alerts available as services on the IP network and automatically place the system in a heightened state if suspicious activities are reported in the local area, (c) Supplementing functions provided by home appliance networks by monitoring inventory of products in a smart refrigerator, linking to the local grocery store web sites to find best deals for needed products, and suggesting purchases to the user on their IP-enabled device, and (d) Linking camera and microphone inputs from a remote presence robot and automatically generating robot responses based on image recognition capabilities provided by companion application running on the paired IP-enabled device.

The diagram inFIG. 5depicts an exemplary embodiment of data used when pairing a target CPE to an IP-enabled device and a message format for sending messages between paired devices according to the present invention. This data is referenced and described in conjunction with the exemplary embodiments depicted inFIGS. 6a, 6b, 7a, 7b, 8a, 8b, and 8c, which describe exemplary suitable pairing and messaging operations according to the exemplary embodiments of the present invention.

The flowchart inFIG. 6adepicts an exemplary embodiment of a process executed by a target CPE when pairing a target CPE to an IP-enabled device according to an exemplary embodiment of the present invention. The process may begin in step600. In step601the companion application client on the CPE may create a new personal identification number (PIN) for initiating the device pairing process. PIN creation may be initiated on the CPE manually by using the remote control or via a similar mechanism. In an exemplary embodiment, any PIN generation mechanism may be to provide for either: (a) the creation of PINs on two CPEs that are unique during the same pairing expiration period, or (b) the rejection of duplicate PINs during message routing and relay and requiring the CPE to generate another PIN until an acceptable one is created. The created PIN may be displayed on a screen or TV associated with the CPE in step602. Once that PIN is entered on the IP-enabled device being paired by the user, the displayed PIN may be dismissed from the screen. In step603, the CPE may create a new globally-unique Device Token for use in the pairing transaction. The PIN501, Device Token502, and the device's IP Address503may be sent as a Pairing Request500to the immediate parent node in the network in step604. In step605, the CPE may wait for a Pairing Response510from the network consisting of the Device Token of the CPE511and a unique Device Token received from the paired IP-enabled device512. If the response is received (i.e., step Got Response?=Y), the Pairing Response510may be stored in step607for use in future message routing, and the process stops608. If no response is received in step605(Got Response?=N), the CPE may idle in a timing loop (steps606and605) until either the response is received (step607) or the loop times out (i.e., Timeout?=Y in step606). If the loop times out, the process stops608and nothing is stored.

The flowchart inFIG. 6bdepicts a process executed by an IP-enabled device when pairing a target CPE to an IP-enabled device according to an exemplary embodiment of the present invention. The process starts in step610. In step611the user enters a PIN, such as the PIN created by the CPE in the process depicted inFIG. 6a, which may be displayed on the TV screen or other CPE device screen into the IP-enabled device. In step612the IP-enabled device may create a new globally-unique Device Token to be used in the pairing transaction. The entered PIN501, Device Token502, and CPE's IP Address503may be sent as a Pairing Request500to the root node in the network (i.e., gateway server) in step613. In step614, the IP-enabled device may wait for a Pairing Response510from the network, which may consist of a Device Token, that may represent the CPE511being paired and the Device Token of the current IP-enabled device512. If the response is received (i.e., step Got Response?=Y), the Pairing Response510may be stored in step616for use in future message routing, and the process stops617. If no response is received in step614(Got Response?=N), the IP-enabled device may idle in a timing loop (steps614and615) until either the response is received (step616) or the loop times out (i.e., Timeout?=Y in step615). If the loop times out, the process stops617and nothing is stored.

In other exemplary embodiments, the roles in pairing may be reversed from those depicted and describedFIGS. 6aand 6b. That is, the IP-enabled device may create the PIN and initiate the pairing process, and the CPE may be used to enter the PIN and complete the pairing process.

The flowchart inFIG. 7adepicts a process that may be executed by a distribution and routing server when pairing a target CPE to an IP-enabled device according to an exemplary embodiment of the present invention. The process starts in step700. In step701the message routing and relay service of the distribution and routing server may receive a Pairing Request500or Pairing Response510from a parent or child node in the network, such as the parent/child relationships depicted inFIG. 4. In step702the data received in the previous step may be evaluated for whether it is a Pairing Request500or a Pairing Response510. If it is a Pairing Request500(Pairing Request?=Y), the process may continue with step703and the distribution and routing server may create and store a new Pairing Triple520consisting of the Device Token521extracted from the Pairing Request500(Device Token502) together with the IP Address of the sending node522and an Expiration Date and Time523. The Expiration Date and Time523may be defined to be the current time plus an additional time the associated data may be valid for the pairing process. The PIN and Device Tokens generated for the pairing may only be valid during this time, which may be, for example, one minute. In step704the distribution and routing server may replace the IP Address in the Pairing Request500with the IP Address of the current network node and send the resulting Pairing Request500to its parent node in the network. In step709, the distribution and routing server may delete all expired Pairing Triples520as indicated by their Expiration Data and Time fields523exceeding the current date and time, and the process stops710. If the test in step702indicates a Pairing Response510was received (Pairing Request?=N), the distribution and routing server may execute step705, wherein it may search for a previously-stored Pairing Triple520with a Device Token521matching a Device Token (511or512) in the Pairing Response510just received. In step706, if a match is not found (Match Found?=N), processing may continue with steps709and710described previously. If a match is found in step706(Match Found?=Y), processing may continue with step707, wherein the distribution and routing server may create and store a new Routing Triple540created from the Pairing Triple520and Pairing Response510. The Routing Triple540may then consist of the Device Tokens for the two devices (IP-enabled device and CPE) being paired (541and542) and the IP Address543of an adjacent routing node contained in the Pairing Triple520. The process may continue with step708, wherein the Pairing Response510used in the previous step is sent to the IP Address found in the matched pairing Triple520. The process then may conclude with steps709and710.

The flowchart inFIG. 7bdepicts a process that may be executed by a gateway server when pairing a target CPE to an IP-enabled device according to an exemplary embodiment of the present invention. The process starts in step720. In step721the gateway server may receive a Pairing Request500which may come from an IP-enabled device or CPE. In step722the gateway server may create and store a new Pairing Quad530consisting of a PIN531, Device Token532, IP Address533, and Expiration Data and Time534, where the PIN531, Device Token532, and IP Address533are built from the incoming Pairing Request500. In step723, the gateway server may search for two stored Pairing Quads530with matching PINS531but different IP Addresses533. As shown in step724, if a match is found (Match Found?=Y), the process may continue with step725wherein the gateway server may create and store a new Routing Quad550consisting of Device Tokens (551and552) and IP Addresses (553and554) created from the matching Pairing Quads530. In step726, for both matching Pairing Quads530, the gateway server may create a corresponding Pairing Response510and send it to the IP Address533found in the selected Pairing Quad520. Thereafter, in step727, all expired Pairing Quads530may be deleted and the process stops728. Returning to step724, if two Pairing Quads530with matching PINs but different IP Address are not found (Match Found?=N), the process may continue with steps727and728wherein all expired Pairing Quads530may be deleted and the process stops.

The flowchart inFIG. 8adepicts a process for messaging executed by an IP-enabled device according to an exemplary embodiment of the present invention. The process starts in step800. In step801, given a Message Payload563and a stored Pairing Response510associated with a paired device, the IP-enabled device may combine the two into a Message560consisting of a Sender Device Token561, Receiver Device Token562, and Message Payload563. In step802, the IP-enabled device may send the message to the gateway server (i.e., root node) in the network and the process stops803.

The flowchart inFIG. 8bdepicts a process for messaging executed by a target CPE according to an exemplary embodiment of the present invention. The process starts in step810. In step811, given a Message Payload563and a stored Pairing Response510associated with a paired device, the target CPE may combine the two into a Message560consisting of a Sender Device Token561, Receiver Device Token562, and Message Payload563. Then, in step812, the target CPE may send the message to its parent message routing and relay service node (i.e., parent node) in the network and the process stops813.

The flowchart inFIG. 8cdepicts a process for messaging executed by gateway servers and routing and distribution servers (i.e., non-terminal nodes) according to an exemplary embodiment of the present invention. The process starts in step820. In step821, the non-terminal nodes may receive a Message560from another node in the network. In step822, the non-terminal node may search for a stored Routing Quad550with Device Tokens (551and552) matching Device Tokens (561and562) in the received Message560. According to an exemplary embodiment, the order of the matching tokens may be arranged in any way. If matching device tokens are found as indicated in step823(Match Found?=Y), step824may be executed wherein the non-terminal node may evaluate the resource use implications (e.g., network bandwidth implications) of the message. If, in step825, the message is allowed (Allow Message?=Y), step827may be executed wherein the non-terminal node may find the IP Address (553or554) in the Routing Quad550that corresponds to the Receiver Device Token562from the Message560. In step828, the non-terminal node may send the original Message560to the node having the IP Address found in the previous step and the process stops829. Returning to steps823and825, if either test is false (Match Found?=N and Allow Message?=N respectively), processing may continue with step826wherein the non-terminal node may replace the Message Payload563with a Failure Response, the Message560may be returned to the message sender, and processing stops829.

Exemplary mechanisms may be provided to assure that only certain companion applications102will run in systems according to the present invention. Such mechanisms may assure that only companion applications that are authorized to run and authenticated by a system authority, such as a cable company or other multiple services operator, for example, are supported. Such provisioning may be important to limit IP network115traffic to acceptable levels, prevent unauthorized applications from negatively impacting customers and network components, and allowing greater overall control by the system authority. Access tokens utilizing key-signing methods may be provided to identify network traffic. Such tokens may include attributes identifying who the application provider is, what days and times a given application is authorized to run, and what associated TV channels and programs a companion application can be associated with. The network management component113of the gateway server110or the companion application client132of the target CPE130may be configured to filter out messages that are unauthenticated or unauthorized.

To avoid excessive traffic in the IP network115various mechanisms known to practitioners of the art may be implemented such as message compression, design of companion applications102to minimize messaging with paired devices (e.g., do as much processing as possible on the device itself100and on application servers connected to the main IP network115), and design of companion applications115to gracefully handle messages that may be dropped due to network congestion or other errors. Other mechanisms may include: (a) Configuring the gateway server110to intelligently balance and filter messages from all connected device (e.g., filter out messages for devices that are not currently active), and (b) Transforming point-to-point messages to broadcast messages for applications where the same messages are being sent between many different paired devices100,130(e.g., voting and polling).

Exemplary mechanisms for adding additional security to the device pairing and messaging methods may include encryption provided by the network management function (113,213) of the gateway server (110,210,300).

While the foregoing illustrates and describes exemplary embodiments of this invention, it is to be understood that the invention is not limited to the construction disclosed herein. The invention can be embodied in other specific forms without departing from its spirit or essential attributes.