IP Library Granted Patent US 9,462,089
Granted Patent B1
US 9,462,089 · App. 14/212,963 · Granted Oct 4, 2016

Communication channels

Inventor: John R. Fallows (Palo Alto, CA)
Assignee: Kaazing Corporation
H04L69/22H04L12/2836H04L29/06H04L69/08H04L47/10
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,462,089
App. No.
14/212,963
Granted
Oct 4, 2016
Kind
B1
Abstract

Labeling data is disclosed. Data to be communicated using a first communication protocol is received. For each of a plurality of portions of the received data, a data grouping is identified among a plurality of data groupings of a network connection. A second communication protocol is used to label identified portions of the received data encoded in the first communication protocol with a corresponding data grouping identifier. The labeled identified portions of the data are provided via the network connection.

Claims (36)

1. A system for labeling data, comprising:

a processor configured to:

receive data to be communicated using a first communication protocol;

identify for each of a plurality of portions of the received data, a data grouping among a plurality of data groupings of a network connection;

use a second communication protocol to label identified portions of the received data encoded in the first communication protocol with a corresponding data grouping identifier; and

determine whether to link one of the plurality of data groupings of the network connection with a second data grouping, wherein determining whether to link the data groupings includes determining whether at least a portion of data to be communicated using the one of the plurality of data groupings of the network connection is a duplicate of data to be communicated using the second data grouping; and

a communication interfaced coupled with the processor and configured to provide via the network connection the labeled identified portions of the data.

2. The system of claim 1 , wherein the first communication protocol is an application level protocol.

3. The system of claim 1 , wherein the second communication protocol is a Web Socket protocol.

4. The system of claim 1 , wherein the first communication protocol is communicated over the second communication protocol.

5. The system of claim 1 , wherein identifying the data grouping includes identifying a communication channel among a plurality of communication channels of the network connection.

6. The system of claim 1 , wherein the network connection is a Web Socket connection negotiated to support an extension that enables the network connection to support a plurality of communication channels corresponding to the plurality of data groupings.

7. The system of claim 1 , wherein the received data was received via another network connection with a server.

8. The system of claim 1 , wherein labeling the identified portions does not alter the first communication protocol encoding of the identified portions.

9. The system of claim 1 , wherein identifying the data grouping includes analyzing one or more of the following associated with the corresponding identified portions of the received data: a location address, an end destination, a data source, and included contents.

10. The system of claim 1 , wherein labeling the identified portions of the received data includes, for each identified portion, inserting the corresponding data grouping identifier in a payload portion of a corresponding WebSocket protocol message.

11. The system of claim 1 , wherein the processor is further configured to process at least one of the identified portions of the received data using a Web Socket extension enabled for a corresponding identified data grouping.

12. The system of claim 1 , wherein the second data grouping is another one of the plurality of data groupings of the network connection.

13. The system of claim 1 , wherein the second data grouping is a data grouping of another network connection.

14. The system of claim 1 , wherein the processor is further configured to determine whether to link one of the plurality of data groupings of the network connection with a second network connection.

15. The system of claim 14 , wherein the one of the plurality of data groupings of the network connection shares a same network security scope with the second network connection.

16. The system of claim 1 , wherein a recipient of the labeled identified portions of the received data broadcasts at least one of the labeled identified portions via a plurality of network connections of the recipient identified using the corresponding data grouping identifier of the one of the labeled identified portions of the received data.

17. A method for labeling data, comprising:

receiving data to be communicated using a first communication protocol;

using a processor to identify for each of a plurality of portions of the received data, a data grouping among a plurality of data groupings of a network connection;

using a second communication protocol to label identified portions of the received data encoded in the first communication protocol with a corresponding data grouping identifier;

determining whether to link one of the plurality of data groupings of the network connection with a second data grouping, wherein determining whether to link the data groupings includes determining whether at least a portion of data to be communicated using the one of the plurality of data groupings of the network connection is a duplicate of data to be communicated using the second data grouping; and

providing via the network connection the labeled identified portions of the data.

18. The method of claim 17 , wherein the second communication protocol is a Web Socket protocol.

19. The method of claim 17 , wherein the first communication protocol is communicated over the second communication protocol.

20. A computer program product for labeling data, the computer program product being embodied in a tangible computer readable storage medium and comprising computer instructions for:

receiving data to be communicated using a first communication protocol;

identifying for each of a plurality of portions of the received data, a data grouping among a plurality of data groupings of a network connection;

using a second communication protocol to label identified portions of the received data encoded in the first communication protocol with a corresponding data grouping identifier;

determining whether to link one of the plurality of data groupings of the network connection with a second data grouping, wherein determining whether to link the data groupings includes determining whether at least a portion of data to be communicated using the one of the plurality of data groupings of the network connection is a duplicate of data to be communicated using the second data grouping; and

providing via the network connection the labeled identified portions of the data.

Assignments (4)
SECURITY INTEREST Recorded Mar 7, 2017
From: KAAZING CORPORATION
To: COMERICA BANK
Reel/Frame 041485/0708 →
SECURITY INTEREST Recorded Jun 15, 2016
From: KAAZING CORPORATION
To: US VC PARTNERS, L.P.
Reel/Frame 038915/0452 →
SECURITY INTEREST Recorded Jun 3, 2016
From: KAAZING CORPORATION
To: SQN VENTURE INCOME FUND, LP
Reel/Frame 038799/0524 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2014
From: FALLOWS, JOHN R.
To: KAAZING CORPORATION
Reel/Frame 033060/0188 →
Continuity (1)
Provisional Application 61791644 · Mar 15, 2013