IP Library Granted Patent US 10,986,470
Granted Patent B2
US 10,986,470 · App. 16/444,969 · Granted Apr 20, 2021

Bi-directional integration and control of managed and unmanaged devices

Inventor: Michael Rivkin (Woodbury, NY)
Assignee: ZODIAC SYSTEMS, LLC
H04W4/12H04L61/1594H04L67/306H04M3/42059H04M15/64H04M15/68H04N21/41265H04N21/437H04N21/43615H04N21/4882H04N21/6402H04W4/24H04W4/80H04W68/02H04L12/1809H04L45/745H04L61/2007H04L61/2076H04M7/0075H04N21/4753H04N21/812H04W4/60
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,986,470
App. No.
16/444,969
Granted
Apr 20, 2021
Kind
B2
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.

Claims (66)

1. A system for controlling at least one unmanaged device via a TV controller, the system comprising:

a) said TV controller having a first software agent application thereon, said software agent application adapted to send a first registration message;

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, said second software agent is adapted to send a second registration message;

c) a partner device discovery module adapted to pair said TV controller and said at least one unmanaged device;

d) an address mapping module, mapping static IDs and dynamic addresses of at least one of said controller and said at least one unmanaged device, said address mapping module including at least one record, said at least one 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) at least one service registry on installed on at least one of said TV controller and said at least one unmanaged devices, adapted for discovery of at least one software agent; and

f) an intermediary messaging server, for communication between said TV controller and said at least one unmanaged device, said intermediate messaging server including:

i. an API gateway module adapted to provide abstracted access to functions of said at least one unmanaged device;

ii. a partner device router adapted to maintain many-to-many relationships between TV controllers and unmanaged devices,

iii. 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; and

iv. a template directory including a message template directory adapted to manage message templates and an application templates generator.

2. The system of claim 1 , wherein:

said first and second software agents are in direct communication with one another;

said first software agent is adapted to receive said second registration message and said second software agent is adapted to receive said first registration message, thereby to pair said first and second software agents; and

said first software agent is adapted to maintain a first list of services available on said at least one unmanaged device and said second software agent is adapted to maintain a second list of services available on said TV controller.

3. The system of claim 1 , wherein:

said first and second software agents are not in direct communication with one another;

said intermediary messaging server is adapted to receive said first and second registration messages, thereby to pair said first and second software agents via said intermediary messaging server; and

said intermediary messaging server is adapted to maintain a first list of services available on said at least one unmanaged device and a second list of services available on said TV controller.

4. The system of claim 1 , wherein said second software agent is adapted to:

listen for pre-defined events and to monitor conditions on said at least one unmanaged device;

upon detection of a monitored condition being met, convert said monitored condition into a condition event;

upon identification of a pre-defined event or creation of said condition event, generate a message corresponding to said pre-defined event or to said condition event using a specific message template provided by said template directory; and

send a notification, including said message, to said TV controller.

5. The system of claim 3 , wherein, when said first and second software agents are in indirect communication:

said second software agent is adapted to send said notification, including said message, to said intermediary messaging server; and

said intermediary messaging server is adapted to:

perform 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 intermediate messaging server is adapted to perform said message transformation using at least one message template provided by said template directory, and to perform said transport protocol translation using said transport manager module; and

deliver said notification including said message to said TV controller, following said message transformation, using said transport protocol available to said TV controller.

6. The system of claim 5 , wherein:

said first software agent is adapted, upon receipt of said notification including said message, to render a visual presentation of said message using presentation details provided in said message and defined by said specific message template, and to display said visual presentation on a screen associated with said TV controller, and is further adapted, following said displaying of said visual presentation on said screen, to:

a. receive an input from a user in the form of a selected action button;

b. translate said selected action button into a command for execution by said unmanaged device;

c. generate a command message including said command using a second specific message template provided by said template directory; and

d. send said command message to said unmanaged device; and

said second software agent is adapted to:

a. receive said command message;

b. translate said received command message into one or more executable commands; and

c. execute said executable commands.

7. The system of claim 6 , wherein said circuit breaker module is adapted to carry out the following steps during execution of said executable commands:

monitor execution of said executable commands on said unmanaged device for unusual behavior; and

upon detection of unusual behavior, terminate execution of said command on said unmanaged device and attempt to return said unmanaged device to a state corresponding to a state of said unmanaged device prior to the attempt to execute said executable commands.

8. The system of claim 1 , wherein each said message template in said template directory defines, for a corresponding message, a message format and message content, including required message fields, data format, and a layout for presentation of said corresponding message on a screen, said layout including a definition of a visual appearance of said corresponding message, on-screen action buttons, and identifiers of actions.

9. The system of claim 1 , wherein

said TV controller comprises a set-top box;

said first software agent comprises an application provided and installed on said set-top box;

said unmanaged device comprises a smart phone;

said second software agent comprises an application installed onto said smart phone;

said intermediary messaging server comprises an AMS server, including:

an address mapper forming part of said AMS server implementing said address mapping module;

a first application adapter implementing said partner discovering module;

a second application adapter implementing said partner device router module;

a third application adapter implementing said service registry functionally associated with a data storage adapter for storing registries in an associated database;

a transport manager of said AMS implementing said transport manager and adapted to support necessary transport actions, transport translation, and message transformation; and

a fourth application adapter implementing said template directory, functionally associated with said data storage adapter for storing said message templates in said associated database.

10. The system of claim 1 , wherein said first and second software agents are in direct communication with one another, and said TV controller and said unmanaged device each include a module for performing message transformation.

11. The system of claim 1 , wherein said address mapping module is adapted to maintain, for said TV controller and for each of said at least one unmanaged device, an up-to-date record of a pair of a dynamically changing address and a corresponding static identifier, and prior to sending a communication from a sending device to a receiving device, said address mapping module is adapted to translate a static address of said receiving device into a corresponding dynamically changing address of said receiving device for delivery of said communication by said transport manager.

12. The system of claim 1 , wherein said application template generator is adapted, upon said sending a notification or sending a command message, to:

generate at least one mini-application for execution on at least one of said TV controller and said unmanaged device, said mini-application including at least one widget for display on a screen associated with at least one of said TV controller and said unmanaged device, said widget, when presented to a user, provides a definition of a received message as well as a set of on-screen buttons for user selection of a desired command or action;

generate instructions for at least one of said TV controller and said unmanaged device to silently perform an action on behalf of the user without interrupting a viewing experience of the user;

extend a functionality of said TV controller using functionalities of said unmanaged device; and

extend a functionality of said unmanaged device using functionalities of said TV controller.

13. The system of claim 1 , wherein said partner device router and said API gateway are adapted to at least one of:

pair said TV controller to multiple unmanaged devices; and

pair each of said at least one unmanaged device to multiple TV controllers,

wherein such pairing provides consolidated access to the functions of all paired devices and TV controllers.

Assignments (5)
SECURITY INTEREST Recorded Apr 13, 2023
From: ZODIAC SYSTEMS, LLC
To: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 063310/0842 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 052845/0940 Recorded Apr 13, 2023
From: REGIONS BANK, AS COLLATERAL AGENT
To: ZODIAC SYSTEMS, LLC
Reel/Frame 063333/0415 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2020
From: RIVKIN, MICHAEL
To: DEVELOPONBOX, LLC DBA ZODIAC INTERACTIVE
Reel/Frame 053080/0894 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Jun 4, 2020
From: ZODIAC SYSTEMS, LLC
To: REGIONS BANK, AS COLLATERAL AGENT
Reel/Frame 052845/0940 →
CHANGE OF NAME Recorded Nov 22, 2019
From: DEVELOPONBOX, LLC
To: ZODIAC SYSTEMS, LLC
Reel/Frame 051097/0086 →
Continuity (3)
Division 15583330 · May 1, 2017
Provisional Application 62329903 · Apr 29, 2016
Related Publication 20190306671A1 · Oct 3, 2019