IP Library Patent Application 11349590
Patent Application
App. No. 11/349,590

Methods and systems for low-latency event pipelining

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 None
App. No.
11/349,590
Abstract

Methods and systems for low-latency event pipelining. According to an embodiment, the present invention provides a method for reducing a latency associated with the stream of information passes through the virtual pipeline. The method is performed in a network system, wherein a stream of information passes through a virtual pipeline of a plurality of modules. The method includes a step for receiving the stream of information from a first network portion at a first time to define an initiation time. The method includes a step for processing the stream of information into a plurality of events. The plurality of events includes a first event and a second event. The method includes a step for processing the first event in a first format at a first module of the plurality of modules to determine if the first event is passed to a second module, redirected to another process, or changed to the first event in a second format, or not passed.

Claims (54)

1 . In a network system, wherein a stream of information passes through a virtual pipeline of a plurality of modules, each of the plurality of modules configured to perform one or more functions, a method for reducing a latency associated with the stream of information passes through the virtual pipeline comprising:

receiving the stream of information from a first network portion at a first time to define an initiation time;

processing the stream of information into a plurality of events, the plurality of events including a first event and a second event;

processing the first event in a first format at a first module of the plurality of modules to determine if the first event is passed to a second module, redirected to another process, or changed to the first event in a second format, or not passed;

processing the first event in the second format at a second module of the plurality of modules if the first event is transferred to the second module;

determining a second time once the first event in the second format has been processed in the second module;

maintaining a first processor context during at least the processing of the first event in the first format in the first module and the first event in the second format in the second module; and

maintaining a latency time within a determined amount between the first time and the second time.

2 . The method of claim 1 wherein:

the plurality of modules comprises N modules;

the latency time is linearly proportional to N.

3 . The method of claim 1 wherein:

the plurality of modules comprises N modules;

the latency time is not polynomially or exponentially proportionall to N.

4 . The method of claim 1 wherein the virtual pipeline is dynamically constructed in accordance with the stream of information.

5 . The method of claim 1 wherein the plurality of modules are protocol independent.

6 . The method of claim 1 wherein each of the plurality of modules is characterized by an independent state.

7 . The method of claim 1 wherein the virtual pipeline includes at most one context switch.

8 . The method of claim 1 wherein the first event is associated with network security.

9 . The method of claim 1 wherein the first event comprises IP traffic.

10 . The method of claim 1 wherein the virtual pipeline is transparent to a first user.

11 . A method for processing one or more streams of information through more than one networking applications, the method comprising:

transferring a stream of information from a first network portion to a second network portion;

receiving the stream of information at a first time;

parsing the stream of information from a first format into a second format, the second format corresponding to a segment of data;

buffering the segment of data in one or more storage devices;

processing the segment of data using at least a first application process, while the segment of data is maintained in the one or more storage devices;

processing the segment of data using at least a second application process, while the segment of data is maintained in the one or more storage devices;

processing the segment of data using at least an Nth application process, while the segment of data is maintained in the one or more storage devices, where N is an integer greater than 2; and

transferring the segment of data at a second time.

12 . The method of claim 11 wherein the segment of data is an event.

13 . The method of claim 11 wherein the predetermined time is 10 milliseconds.

14 . The method of claim 11 wherein the one or more memories is one or more static random access memory device.

15 . The method of claim 11 wherein the first process application is associated with security.

16 . The method of claim 11 wherein the first process application and the second process application have different protocols.

17 . The method of claim 11 wherein N is greater than eight.

18 . The method of claim 11 wherein the first application process and the second application process are transparent to a client.

19 . The method of claim 11 wherein the first application process and the second application process are transparent to a server.

20 . In a system in a communication network, wherein the system processes and transfers one or more information streams through one or more dynamically constructed virtual pipelines, each of the dynamically constructed virtual pipelines being associated with an information stream, a virtual pipeline comprising:

an entry point, the entry point being configured to receive the information stream from a first portion of the communication network and process the information stream into a plurality of events;

a first relay, the first relay being configured to receive and send a first event;

a first module configured to process the first event in a first format to determine if the first event is to be passed, redirected, or changed to a first event in a second format, or not passed;

a second relay, the second relay being configured to receive and transfer the first event in the second format if the first event is passed;

a second module configured to process the first event in the second format if the first event is transferred to the second module;

an exit point configured to receive and transfer the first event;

wherein the virtual pipeline maintains a first processor context during the processing of the first event in the first format in the first module and the first event in the second format in the second module.

21 . In a network system, wherein a stream of information passes through a virtual pipeline of a plurality of modules, each of the plurality of modules configured to perform one or more functions, a computer program product containing a plurality of codes for reducing a latency associated with the stream of information passes through the virtual pipeline, the computer program product comprising:

codes for receiving the stream of information from a first network portion at a first time to define an initiation time;

codes for processing the stream of information into a plurality of events, the plurality of events including a first event and a second event;

codes for processing the first event in a first format at a first module of the plurality of modules to determine if the first event is passed to a second module, redirected to another process, or changed to the first event in a second format, or not passed;

codes for processing the first event in the second format at a second module of the plurality of modules if the first event is transferred to the second module;

codes for determining a second time once the first event in the second format has been processed in the second module;

codes for maintaining a first processor context during at least the processing of the first event in the first format in the first module and the first event in the second format in the second module; and

codes for maintaining a latency time within a determined amount between the first time and the second time.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Feb 28, 2022
From: WEBSTER BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: UNTANGLE HOLDINGS, INC.
Reel/Frame 059118/0319 →
SECURITY INTEREST Recorded Jan 12, 2018
From: UNTANGLE HOLDINGS, INC.
To: WEBSTER BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 044608/0657 →
INTELLECTUAL PROPERTY ASSIGNMENT Recorded Sep 12, 2016
From: UNTANGLE, INC.; CYMPHONIX CORPORATION
To: UNTANGLE HOLDINGS, INC.
Reel/Frame 040003/0420 →
SECURITY AGREEMENT Recorded Nov 10, 2009
From: UNTANGLE, INC.
To: SQUARE 1 BANK
Reel/Frame 023502/0110 →
CHANGE OF NAME Recorded Jan 19, 2007
From: METAVIZE, INC.
To: UNTANGLE NETWORKS, INC.
Reel/Frame 018782/0842 →
CHANGE OF NAME Recorded Jan 19, 2007
From: UNTANGLE NETWORKS, INC.
To: UNTANGLE, INC.
Reel/Frame 018782/0861 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2006
From: MORRIS, DIRK A.; IRWIN, JOHN D.; SCOTT, ROBERT B.
To: METAVIZE, INC.
Reel/Frame 018409/0543 →