IP Library Granted Patent US 9,270,790
Granted Patent B2
US 9,270,790 · App. 14/230,952 · Granted Feb 23, 2016

Method and system for data demultiplexing

Inventor: Edward Balassanian (Seattle, WA)
Assignee: Implicit, LLC
H04L69/08H04L29/06H04L45/00H04L69/22H04L69/32
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,270,790
App. No.
14/230,952
Granted
Feb 23, 2016
Kind
B2
Abstract

A method and system for demultiplexing packets of a message is provided. The demultiplexing system receives packets of a message, identifies a sequence of message handlers for processing the message, identifies state information associated with the message for each message handler, and invokes the message handlers passing the message and the associated state information. The system identifies the message handlers based on the initial data type of the message and a target data type. The identified message handlers effect the conversion of the data to the target data type through various intermediate data types.

Claims (32)

1. An apparatus, comprising:

a processing unit; and

a memory storing instructions executable by the processing unit to:

identify a path for one or more received packets of a message, wherein the path indicates a sequence of two or more routines for processing packets in the message, wherein the path is identified based on a key located in one of the received packets, and wherein the key includes an IP address and a port address; and

process the one or more received packets using the sequence of routines indicated in the identified path, wherein the sequence includes a routine that is used to execute a Transmission Control Protocol (TCP) to convert one or more packets having a TCP format into a different format.

2. The apparatus of claim 1 , wherein the key includes a remote port address and a local port address.

3. The apparatus of claim 1 , wherein the sequence of routines includes:

a second routine that is used to execute a second, different protocol to convert packets of the different format into another format, wherein the second protocol is an application layer protocol.

4. The apparatus of claim 3 , wherein the sequence of routines further includes a third routine that is used to execute a different application layer protocol to further convert the packets.

5. The apparatus of claim 1 , wherein the path further indicates sessions corresponding to respective ones of the sequence of routines.

6. The apparatus of claim 1 , wherein the key identifies a TCP session associated with the received one or more packets.

7. The apparatus of claim 1 , wherein the sequence of routines includes a routine that is executable to process the one or more packets without converting a format of the packets.

8. An apparatus, comprising:

a processing unit; and

a memory storing instructions executable by the processing unit to:

receive one or more packets of a message;

identify, using an IP address and one or more port addresses located in one of the received packets, a sequence of two or more routines for processing packets in the message; and

process the one or more received packets using the identified sequence of routines, wherein the sequence includes a routine that is executable to perform a Transmission Control Protocol (TCP) to convert at least one of the packets of the message into a different format.

9. The apparatus of claim 8 , wherein the one or more port addresses include a remote port address and a local port address.

10. The apparatus of claim 8 , wherein the sequence of routines includes a plurality of application-level routines.

11. The apparatus of claim 8 , wherein the IP address and the one or more port addresses located in one of the received packets forms a key value that identifies a TCP session associated with the one or more received packets.

12. The apparatus of claim 8 , wherein the instructions are executable to use the IP address and the one or more port addresses to identify sessions corresponding to various ones of the sequence of routines.

13. The apparatus of claim 8 , wherein the instructions are executable to use the IP address and the one or more port addresses to identify a corresponding queue for the message.

14. The apparatus of claim 8 , wherein the sequence of routines includes a routine that does not perform a format conversion on the one or more received packets.

15. A non-transitory, computer-readable medium comprising software instructions for processing a message, wherein the software instructions, when executed, cause a computer system to:

identify a path for one or more received packets of the message, wherein the path indicates a sequence of two or more routines for processing packets in the message, wherein the path is identified based on a key value located in one of the received packets, and wherein the key value includes an IP address and one or more port addresses;

process the one or more received packets using the sequence of routines indicated in the identified path, wherein the sequence includes a routine that is used to execute a Transmission Control Protocol (TCP) to convert one or more packets having a TCP format into a different format.

16. The computer-readable medium of claim 15 , wherein the one or more port addresses in the key value include a remote port address and a local port address.

17. The computer-readable medium of claim 15 , wherein the path indicates sessions corresponding to respective ones of the sequence of routines.

18. The computer-readable medium of claim 15 , wherein the sequence of routines includes a plurality of application-level routines.

19. The computer-readable medium of claim 18 , wherein the plurality of application-level routines includes a decryption routine.

20. The computer-readable medium of claim 15 , wherein the sequence of routines includes a routine that is used to execute an Internet Protocol (IP) to convert packets having an IP format into the TCP format, and wherein the key value further identifies a TCP session associated with the one or more received packets.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2014
From: IMPLICIT NETWORKS, INC.
To: IMPLICIT, LLC
Reel/Frame 032571/0470 →
Continuity (5)
Continuation 13911324 · Jun 6, 2013
Continuation 13236090 · Sep 19, 2011
Continuation 10636314 · Aug 6, 2003
Continuation 09474664 · Dec 29, 1999
Related Publication 20150009997A1 · Jan 8, 2015