Bi-directional integration and control of managed and unmanaged devices
AssigneeDevelopOnBox, LLC
InventorMichael Rivkin
Life of this patent
Estimating the term…
Abstract
A communications system is provided employing two-way integration approach providing access to notifications and actions occurring on unmanaged communication devices through the use of TV. The system includes installation of an application on unmanaged devices providing the ability to access all notifications and actions occurring on the unmanaged devices using TV. The unmanaged device obtains an input directly from TV from an application server which in turn obtains its input primarily from a TV. The input is not limited to the TV only, and can come from other sources.
Claims19
A method of controlling at least one unmanaged device via a TV controller using a system, the system comprising:
- A. said TV controller having a first software agent application thereon;
- B. said at least one unmanaged device having a second software agent application installed thereon, said second software agent application including a circuit breaker module for protecting said at least one unmanaged device in case of failure of execution of a command;
- C. at least one service registry installed on at least one of said TV controller and said at least one unmanaged device, adapted for discovery of at least one software agent;
- D. an intermediary messaging server, for communication between said TV controller and said at least one unmanaged device, said intermediate messaging server including:
- a. an API gateway module adapted to provide abstracted access to functions of said at least one unmanaged device;
- b. a transport manager module adapted to manage transport protocols available for communication between said TV controller and said at least one unmanaged device and to translate messages between said transport protocols;
- c. a partner device router adapted to maintain many-to-many relationships between TV controllers and unmanaged devices;
- and
- d. a template directory including a message template directory adapted to manage message templates and an application templates generator,
- E. an address mapping module, mapping static IDs and dynamic addresses of at least one of said TV controller and said at least one managed device;
- and
- F. a partner device discovery module adapted to pair said TV controller with said at least one unmanaged device;
- said method of controlling at least one unmanaged device via a TV controller comprising:
- A. sending a first registration message from said first software agent to said partner device discovery module, thereby to register said first software agent;
- B. sending a second registration message from said second software agent to said partner device discovery module, thereby to register said second software agent;
- C. pairing said first and second software agents, including:
- a. when said first and second software agents are in direct communication with one another, at said first software agent receiving said second registration message, and at said second software agent receiving said first registration message, thereby to pair said first and second software agents;
- and
- b. when said first and second software agents not in direct communication with one another, at said intermediary messaging server, receiving said first and second registration messages, thereby to pair said first and second software agents via said intermediary messaging server;
- D. creating or updating a record in said address mapping module, said record including a pair of a dynamic address and a static identifier of at least one of said TV controller and said at least one unmanaged device;
- E. maintaining a first list of services available on said at least one unmanaged device and a second list of services available on said TV controller, including:
- a. when said first and second software agents are in direct communication, maintaining said first list in said first software agent and maintaining said second list in said second software agent;
- and
- b. when said first and second software agents are in indirect communication via said intermediary messaging server, maintaining said first list and said second list in said intermediary messaging server;
- F. at said second software agent, listening for pre-defined events and monitoring conditions on said at least one unmanaged device;
- G. upon said second software agent detecting a monitored condition being met, converting said monitored condition into a condition event;
- H. upon said second software agent identifying a pre-defined event during said listening or creating said condition event by said translating, at said second software agent, generating a message corresponding to said pre-defined event or to said condition event using a specific message template provided by said template directory, and sending a notification, including said message, to said TV controller, said sending said notification including said message including:
- a. when said first and second software agents are in direct communication, sending said notification including said message directly to said TV controller, and
- b. when first and second software agents are in indirect communication:
- i. sending said notification including said message to said intermediary messaging server;
- ii. at said intermediary messaging server, performing message transformation and protocol translation so that said notification including said message will be suitable for delivery to said TV controller using a transport protocol available to said TV controller,
- wherein said message transformation is performed using at least one message template provided by said template directory, and said transport protocol translation is performed using said transport manager module;
- and
- iii. delivering said notification including said message to said TV controller, following said message transformation, using said transport protocol available to said TV controller;
- I. at said first software agent, upon receipt of said notification including said message, rendering a visual presentation of said message using presentation details provided in said message and defined by said specific message template, and displaying said visual presentation on a screen associated with said TV controller;
- J. following said displaying of said visual presentation on said screen, at said first software agent:
- a. receiving an input from a user in the form of a selected action button;
- b. translating said selected action button into a command for execution by said unmanaged device;
- c. generating a command message including said command using a second specific message template provided by said template directory;
- and
- d. sending said command message to said unmanaged device, said sending including:
- i. when said first and second software agents are in direct communication, sending said command message directly to said unmanaged device, and
- ii. when first and second software agents are in indirect communication:
- 1. sending said command message to said intermediary messaging server;
- 2. at said intermediary messaging server, performing message transformation and protocol translation so that said command message will be suitable for delivery to said unmanaged device using a transport protocol available to said unmanaged device,
- wherein said message transformation is performed using at least one message template provided by said template directory, and said transport protocol translation is performed using said transport manager module;
- and
- 3. delivering said command message to said unmanaged device, following said message transformation, using said transport protocol available to said unmanaged device;
- and
- K. at said second software agent, receiving said command message, translating said received command message into one or more executable commands, and executing said executable commands.
Dependencies are inferred from the claim text.