IP Library Granted Patent US 7,711,857
Granted Patent B2
US 7,711,857 · App. 11/933,022 · Granted May 4, 2010

Method and system for data demultiplexing

Assignee: Implicit Networks, Inc.
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 7,711,857
App. No.
11/933,022
Granted
May 4, 2010
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 (27)

1. A method in a computer system for processing packets of a message, the method comprising:

receiving a packet of the message and a data type of the message;

analyzing the data type of a first packet of the message to dynamically identify a sequence of components for processing a plurality of packets of the message such that the output format of the components of the sequence match the input format of the next component in the sequence, wherein analyzing the data type of the first packet of the message to dynamically identify the sequence of components includes selecting individual components to form the sequence of components after the first packet of the message is received;

storing an indication of each of the identified components so that the sequence does not need to be re-identified for subsequent packets of the message;

for each of a plurality of components in the identified sequence:

performing the processing of each packet by the identified component; and

storing state information relating to the processing of the component with the packet for use when processing the next packet of the message.

2. The method of claim 1 wherein the receiving of the data type includes requesting the data type from a component that previously processed the packet.

3. The method of claim 1 wherein the component is a protocol with an edge.

4. A method in a computer system for processing a message, the message having a plurality of headers, the method comprising:

analyzing the plurality of headers of a first packet of the message to dynamically identify a sequence of components for processing a plurality of packets of the message such that the output format of the components of the sequence match the input format of the next component in the sequence, wherein analyzing the plurality of headers of the first packet of the message to dynamically identify the sequence of components includes selecting individual components to form the sequence of components after the first packet of the message is received;

storing an indication of each of the identified components so that the sequence does not need to be re-identified for subsequent packets of the message;

for each of a plurality of components in the identified sequence:

performing the processing of each packet by the identified component; and

storing state information relating to the processing of the component with the packet for use when processing the next packet of the message.

5. The method of claim 4 wherein the analyzing includes identifying a data type associated with each of the plurality of headers.

6. The method of claim 4 including locating state information based on information in each of the plurality of headers.

7. The method of claim 4 , further comprising receiving from the identified component an identifier of state information associated with the each of the plurality of messages.

8. The method of claim 4 wherein analyzing the plurality of headers identifies a data type used to identify a component for processing a message.

9. The method of claim 4 wherein analyzing the plurality of headers identifies a data type used to identify the sequence of components for processing a message.

10. A computer readable storage medium, other than a data transmission medium, containing instructions for processing packets of a message, the instructions comprising at least one computer-executable module configured to:

receive a packet of the message and a data type of the message;

analyze the data type of a first packet of the message to dynamically identify a sequence of components for processing a plurality of packets of the message such that the output format of the components of the sequence match the input format of the next component in the sequence, wherein analyzing the data type of the first packet of the message to dynamically identify the sequence of components includes selecting individual components to form the sequence of components after the first packet of the message is received;

store an indication of each of the identified components so that the sequence does not need to be re-identified for subsequent packets of the message;

for each of a plurality of components in the identified sequence:

perform the processing of each packet by the identified component; and

store state information relating to the processing of the component with the packet for use when processing the next packet of the message.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2014
From: IMPLICIT NETWORKS, INC.
To: IMPLICIT, LLC
Reel/Frame 032372/0119 →
SECURITY AGREEMENT Recorded Feb 28, 2014
From: IMPLICIT, LLC
To: CBC PARTNERS I, LLC
Reel/Frame 032372/0313 →
Continuity (3)
Continuation 1063631400 · Aug 26, 2003
Continuation 0947466400 · Dec 29, 1999
Related Publication 20080133642A1 · Jun 5, 2008