METHOD AND SYSTEM FOR DATA DEMULTIPLEXING
1 Assignment
0 Petitions
Accused Products
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.
0 Citations
55 Claims
-
1-25. -25. (canceled)
-
26. An apparatus, comprising:
-
a processing unit; and a memory storing instructions executable by the processing unit to; create, based on an identification of information in a packet of a message, a path that includes a sequence of routines for processing packets in the message; and process packets in the message using the sequence of routines in the created path, wherein the sequence includes a routine that is used to execute a Transmission Control Protocol (TCP) to convert packets having a TCP format into a different format. - View Dependent Claims (27, 28, 29, 30, 31)
-
-
32. The apparatus of claim 26, wherein the memory stores instructions executable by the processing unit to identify an address associated with the information, wherein the address indicates the routines in the sequence of routines of the created path.
-
33. A non-transitory, computer-readable medium comprising software instructions for processing a message, wherein the software instructions, when executed, cause a computer system to:
-
obtain information from an initial packet of the message; use the obtained information to identify an address comprising a list of conversion routines; create a path that includes a sequence of sessions, wherein sessions in the sequence include respective ones of the conversion routines in the list; store the created path; and process packets of the message by routing packets through sessions in the created path, including; a session in which a transport layer protocol is executed to convert packets in a transport layer format into a different format; and another session in which a different protocol corresponding to the different format is executed.
-
-
34. The medium of claim 33, wherein one or more of the sessions comprises state information for one or more of the conversion routines, and wherein the state information is specific to the message.
-
35. The medium of claim 33, wherein the different protocol is associated with a layer selected from the group consisting of an application layer and a network layer.
-
36. The medium of claim 33, wherein at least one of the routines associated with at least one of the sessions is not used to convert the packets.
-
37. The medium of claim 33, wherein the transport layer protocol is a Transmission Control Protocol (TCP).
-
38. The medium of claim 37, wherein the message comprises a stream of data.
-
39. The medium of claim 33, wherein using the obtained information to identify the address includes determining a plurality of protocols by analyzing headers of the initial packet, and wherein the plurality of protocols includes protocols executable at the transport layer and an application layer.
-
40. The medium of claim 33, wherein the different format is not compatible with the transport layer protocol, and wherein the different format is a network layer format.
-
41. An apparatus, comprising:
a processing unit; and memory storing instructions that are executable by the processing unit to; obtain and analyze information from a packet of a message; identify an address based on the obtained information, wherein the address comprises a list of routines; create a sequence of sessions, wherein sessions in the sequence are associated with respective ones of the routines in the list; and process packets of the message using the sequence, wherein one of the sessions in the sequence is associated with a particular routine that is used to execute a protocol to convert the packets from an input format to an output format, wherein the particular routine is not executable to convert packets having the output format.
-
42. The apparatus of claim 41, wherein a different session is associated with a different routine that is used to execute a second, different protocol to convert the packets from the output format to a different output format, and wherein another session is associated with another routine that is used to execute a third, different protocol corresponding to the different output format.
-
43. The apparatus of claim 42, wherein the protocols include a Transmission Control Protocol (TCP), an Internet Protocol (IP), and an Ethernet Protocol.
-
44. The apparatus of claim 41, wherein at least one of the sessions is associated with a routine that is executable to process packets of the message without converting the packets.
-
45. The apparatus of claim 41, wherein the particular routine is executable to convert packets by removing an outermost header of the packets.
-
46. The apparatus of claim 41, wherein the protocol is a transport layer protocol.
-
47. The apparatus of claim 46, wherein the transport layer protocol is a Transmission Control Protocol (TCP), and wherein the message comprises a stream of data.
-
48. The apparatus of claim 41, wherein the obtained information includes information from headers of the packet that are associated with a network layer and a transport layer.
-
49. The apparatus of claim 48, wherein the memory stores instructions executable by the processing unit to maintain state information associated with one or more routines in the sequence of sessions, and wherein the state information is specific to the message.
-
50. A non-transitory, computer-readable medium comprising program instructions executable by a computer system to:
-
identify information from different headers associated with various layers of a packet of a message; create, using the identified information, a sequence of sessions of routines; and process packets of the message, including by removing an outermost header of a given packet using a first session corresponding to a protocol in a first layer and by removing the resulting outermost header using a second session corresponding to a different protocol in a different layer.
-
-
51. The medium of claim 50, wherein the protocol in the first layer is a Transmission Control Protocol (TCP), and the message comprises a stream of data.
-
52. The medium of claim 50, wherein the protocol in the first layer is a transport layer protocol and the different protocol in the different layer is an application layer protocol.
-
53. The medium of claim 50, wherein processing packets of the message further includes removing the resulting outermost header using a third session corresponding to another protocol in another layer, and wherein the layers include a network layer, a transport layer, and an application layer.
-
54. The medium of claim 50, wherein at least one of the routines associated with at least one of sessions is not used to remove a header of the packets.
-
55. The medium of claim 50, wherein the outermost header has a format that is incompatible with a format of the resulting outermost header, and wherein the outermost header is associated with a network layer protocol.
Specification