IP Library Granted Patent US 9,253,262
Granted Patent B2
US 9,253,262 · App. 13/749,501 · Granted Feb 2, 2016

Systems and methods for connecting media devices through web sockets

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 9,253,262
App. No.
13/749,501
Granted
Feb 2, 2016
Kind
B2
Abstract

Systems and methods are described herein for connecting client devices to applications on a server using web sockets. In one aspect, the systems and methods described provide for a routing table that may be used to direct communications between a client device and an application on a web server. The routing table may overcome challenges of implementing web sockets under current constraints of the web socket specification, the HTTP specification, and server implementations.

Claims (51)

1. A method for connecting a first device over a communication network to an application service through a second device, comprising:

receiving, via the communication network, a first message from the first device to form a web socket connection, wherein the first message includes an identification code of the first device;

storing, in a routing table, the identification code of the first device received in the first message and an identification code of the web socket connection, wherein the routing table includes one or more application services associated with the web socket connection, and wherein each application service associated with the web socket connection is implemented in a layer in a protocol stack comprising a plurality of layers, wherein the layer is below an application layer and above a network layer;

receiving, via the communication network, a second message from the first device for transmission to the application service;

retrieving from the routing table, based on the identification code of the first device received in the second message and another identification code stored in the routing table, the web socket connection associated with the first device and the application service; and

transmitting the received second message from the first device to the application service through the web socket connection.

2. The method of claim 1 wherein:

the first message is an upgrade request message to upgrade a transport connection to a web socket connection.

3. The method of claim 2 wherein the upgrade request message is a point-topoint message, comprising the identification code of the first device as a source address and an identification code of the second device as a destination address.

4. The method of claim 2 wherein the upgrade request message is a broadcast message, comprising the identification code of the first device as a source address and a broadcast address as a destination address.

5. The method of claim 1 further comprising:

receiving a third message from the first device through the web socket connection for transmission to the application service, without providing an indication message to an application implemented in the application layer above the layer in which the application service is implemented in the protocol stack.

6. The method of claim 1 , further comprising:

forming a second web socket connection to a third device, wherein the second web socket connection is associated with the application service;

storing, in the routing table, an identification code of the third device and an identification code of the second web socket connection, wherein the routing table includes one or more application services associated with the second web socket connection;

receiving a third message from the application service for transmission to the third device;

retrieving, from the routing table, the second web socket connection associated with the third device and the application service; and

transmitting the received third message from the application service to the third device through the second web socket connection.

7. The method of claim 1 wherein the application service is a routing service for forwarding the received second message to a second application service implemented on a third device separate from the first device and the second device.

8. The method of claim 1 wherein:

the second device is a server device, and

the application service is maintained on the server device.

9. The method of claim 1 , further comprising:

forming a second web socket connection with a cloud service; and

transmitting a third message from the application service to the cloud service through the second web socket connection.

10. A system for connecting a first device over a communication network to an application service through a second device, comprising:

processing circuitry configured to:

receive, via the communication network, a first message from the first device to form a web socket connection, wherein the first message includes an identification code of the first device;

store in memory, in a routing table, the identification code of the first device received in the first message and an identification code of the web socket connection, wherein the routing table includes one or more application services associated with the web socket connection, and wherein each application service associated with the web socket connection is implemented in a layer in a protocol stack comprising a plurality of layers, wherein the layer is below an application layer and above a network layer;

receive, via the communication network, a second message from the first device for transmission to the application service;

retrieve from the routing table, based on the identification code of the first device received in the second message and another identification code stored in the routing table, the web socket connection associated with the first device and the application service; and

transmit the received second message from the first device to the application service through the web socket connection.

11. The system of claim 10 wherein:

the first message is an upgrade request message to upgrade a transport connection to a web socket connection.

12. The system of claim 11 wherein the upgrade request message is a point-topoint message, comprising the identification code of the first device as a source address and an identification code of the second device as a destination address.

13. The system of claim 11 wherein the upgrade request message is a broadcast message, comprising the identification code of the first device as a source address and a broadcast address as a destination address.

14. The system of claim 10 wherein the processing circuitry is further configured to:

receive a third message from the first device through the web socket connection for transmission to the application service, without providing an indication message to an application implemented in the application layer above the layer in which the application service is implemented in the protocol stack.

15. The system of claim 10 wherein the processing circuitry is further configured to:

form a second web socket connection to a third device, wherein the second web socket connection is associated with the application service;

store, in the routing table, an identification code of the third device and an identification code of the second web socket connection, wherein the routing table includes one or more application services associated with the second web socket connection;

receive a third message from the application service for transmission to the third device;

retrieve, from the routing table, the second web socket connection associated with the third device and the application service; and

transmit the received third message from the application service to the third device through the second web socket connection.

16. The system of claim 10 wherein the application service is a routing service for forwarding the received second message to a second application service implemented on a third device separate from the first device and the second device.

17. The system of claim 10 wherein:

the second device is a server device, and

the application service is maintained on the server device.

18. The system of claim 10 , wherein the processing circuitry is further configured to:

form a second web socket connection with a cloud service; and

transmit a third message from the application service to the cloud service through the second web socket connection.

Assignments (18)
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS Recorded Oct 27, 2022
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ROVI PRODUCT CORPORATION (AS SUCCESSOR-IN-INTEREST TO ROVI GUIDES, INC.)
Reel/Frame 061786/0768 →
CHANGE OF NAME Recorded Oct 23, 2022
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 061746/0981 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2022
From: ADEIA GUIDES INC.
To: ROVI PRODUCT CORPORATION
Reel/Frame 061747/0001 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053481/0790 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: HPS INVESTMENT PARTNERS, LLC
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053458/0749 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 25, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: APTIV DIGITAL INC.; GEMSTAR DEVELOPMENT CORPORATION; INDEX SYSTEMS INC.; ROVI GUIDES, INC.; ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; SONIC SOLUTIONS LLC; STARSIGHT TELECAST, INC.; UNITED VIDEO PROPERTIES, INC.; VEVEO, INC.
Reel/Frame 051145/0090 →
PATENT SECURITY AGREEMENT Recorded Nov 25, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 051110/0006 →
SECURITY INTEREST Recorded Nov 22, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 051143/0468 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2015
From: ROVI SOLUTIONS CORPORATION
To: ROVI GUIDES, INC.
Reel/Frame 036814/0599 →
CHANGE OF NAME Recorded Oct 9, 2015
From: MACROVISION CORPORATION
To: ROVI SOLUTIONS CORPORATION
Reel/Frame 036829/0542 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2015
From: WILLIAMS, DUSTIN
To: MACROVISION CORPORATION
Reel/Frame 036768/0556 →
MERGER Recorded Jun 12, 2015
From: UV CORP.
To: TV GUIDE, INC.
Reel/Frame 035848/0270 →
MERGER Recorded Jun 12, 2015
From: UNITED VIDEO PROPERTIES, INC.
To: UV CORP.
Reel/Frame 035893/0241 →
MERGER Recorded Jun 12, 2015
From: TV GUIDE, INC.
To: ROVI GUIDES, INC.
Reel/Frame 035848/0245 →
PATENT SECURITY AGREEMENT Recorded Jul 24, 2014
From: APTIV DIGITAL, INC.; GEMSTAR DEVELOPMENT CORPORATION; INDEX SYSTEMS INC.; ROVI GUIDES, INC.; ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; SONIC SOLUTIONS LLC; STARSIGHT TELECAST, INC.; UNITED VIDEO PROPERTIES, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 033407/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2014
From: HERMANSON, FREDERICK; EHLERS, GEOFF
To: UNITED VIDEO PROPERTIES, INC.
Reel/Frame 032739/0582 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2013
From: ZHANG, PING; CHRABASZCZ, MICHAEL PATRICK
To: UNITED VIDEO PROPERTIES, INC.
Reel/Frame 030633/0332 →