IP Library Granted Patent US 8,204,058
Granted Patent B2
US 8,204,058 · App. 11/494,364 · Granted Jun 19, 2012

Automatic framing selection

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 8,204,058
App. No.
11/494,364
Granted
Jun 19, 2012
Kind
B2
Abstract

Network traffic is monitored and an optimal framing heuristic is automatically determined and applied. Framing heuristics specify different rules for framing network traffic. While a framing heuristic is applied to the network traffic, alternative framing heuristics are speculatively evaluated for the network traffic. The results of these evaluations are used to rank the framing heuristics. The framing heuristic with the best rank is selected for framing subsequent network traffic. Each client/server traffic flow may have a separate framing heuristic. The framing heuristics may be deterministic based on byte count and/or time or based on traffic characteristics that indicate a plausible point for framing to occur. The choice of available framing heuristics may be determined partly by manual configuration, which specifies which framing heuristics are available, and partly by automatic processes, which determine the best framing heuristic to apply to the current network traffic from the set of available framing heuristics.

Claims (52)

1. A method of determining an optimal framing of network traffic, the method comprising:

receiving a first data stream over a first time period;

applying a plurality of framing heuristics to the first data stream that is received to generate a result for each of the plurality of framing heuristics as applied to the first data stream received;

determining a scoring metric value for each result of the plurality of framing heuristics;

ranking at least a portion of the plurality of framing heuristics according to their respective scoring metric values; and

selecting at least one of the plurality of framing heuristics in response to the ranking, wherein the selected at least one of the plurality of framing heuristics is used for framing the first data stream received and for framing a second data stream that is received at a second time period that is subsequent to the first time period.

2. The method of claim 1 , further comprising:

providing the selected ones of the plurality of framing heuristics to a controller; and

framing network traffic using the selected ones of the plurality of framing heuristics.

3. The method of claim 2 , wherein the network traffic includes the first data stream.

4. The method of claim 1 , wherein the first time period is determined by a selected framing heuristic applied to the first data stream.

5. The method of claim 4 , wherein the selected framing heuristic implements a default framing behavior.

6. The method of claim 5 , wherein the default framing behavior limits the first time period to the lesser of a predetermined elapsed time or a predetermined size of the received first data stream.

7. The method of claim 4 , wherein the selected framing heuristic is determined from a previous iteration of receiving the first data stream, evaluating the plurality of framing heuristics on the first data stream, ranking at least a portion of the plurality of framing heuristics, and selecting at least one of the plurality of framing heuristics.

8. The method of claim 1 , wherein:

evaluating the plurality of framing heuristics comprises, for each of the plurality of framing heuristics, activating the framing heuristic in response to the first data stream satisfying to the framing heuristic; and

determining the scoring metric value for each of the plurality of framing heuristics comprises determining a scoring metric value for each activated framing heuristic.

9. The method of claim 8 , wherein:

activating the framing heuristic further comprises determining for each activated framing heuristic a size of the first data stream at the time the framing heuristic is satisfied; and

determining the scoring metric value comprises:

comparing the sizes associated with the activated framing heuristics to determine a size rank value for each activated framing heuristic; and

assigning the scoring metric values to the activated framing heuristics according to their respective size rank values.

10. The method of claim 8 , wherein selecting at least one of the plurality of framing heuristics in response to the ranking comprises:

selecting at least one of the plurality of framing heuristics having a scoring metric value better than a threshold value.

11. The method of claim 8 , wherein selecting at least one of the plurality of framing heuristics in response to the ranking comprises:

selecting at least one of the plurality of framing heuristics having a scoring metric value better than a scoring metric value of a currently selected framing heuristic, wherein the scoring metric value of the currently selected framing heuristic is determined by evaluating the currently selected framing heuristic on the first data stream.

12. The method of claim 1 , wherein receiving the first data stream comprises storing the first data stream in a data buffer and wherein the plurality of framing heuristics trigger a flush of the data buffer, thereby providing data for at least one output network packet.

13. A method of framing network traffic, the method comprising:

receiving a first input packet data;

adding the first input packet data to buffered data;

in response to receiving the first input packet data, evaluating a plurality of framing heuristics on at least a portion of the buffered data;

for each of the plurality framing heuristics, activating the framing heuristic in response to the portion of the buffered data satisfying the framing heuristic;

updating scoring metric values for at least the activated framing heuristics in response to the determination that the portion of the buffered data satisfies a selected one of the plurality of framing heuristics;

initiating a flush of the buffered data in response to the determination that the portion of the buffered data satisfies the selected one of the plurality of framing heuristics; and

selecting at least a different one of the plurality of framing heuristics in response to the updated scoring metric satisfying a criteria, wherein the selected at least one of the plurality of framing heuristics is used for framing the first input packet data received and for framing a second input packet data that will be subsequently received.

14. The method of claim 13 , further comprising repeating the steps of receiving, adding, evaluating, activating for a second input packet data.

15. The method of claim 13 , wherein the criteria includes the different one of the plurality of framing heuristics having a scoring metric value better than a threshold value.

16. The method of claim 13 , wherein the criteria includes the different one of the plurality of framing heuristics having a scoring metric value better than the scoring metric value of the selected one of the plurality of framing heuristics.

17. The method of claim 13 , further comprising:

in response to the portion of the buffered data not satisfying the selected one of the plurality of framing heuristics, initiating a flush of the buffered data in response to the determination that a default framing heuristic is satisfied.

18. The method of claim 17 , wherein the default framing heuristic initiates the flush of the buffered data in response to an expiration of a predetermined time period or a size of the buffered data exceeding a predetermined size limit.

19. The method of claim 13 , further comprising:

outputting at least one output packet including at least a portion of the buffered data.

20. The method of claim 13 , wherein updating scoring metric values for at least the activated framing heuristics comprises:

increasing a scoring metric value of at least a portion of the activated framing heuristics.

21. The method of claim 20 , wherein activating the framing heuristic comprises storing a size of the buffered data at the time the portion of the buffered data satisfies the framing heuristic; and

wherein the increase of the scoring metric value for each of the portion of the activated framing metrics is based on the respective size of the buffered data at the time the portion of the buffered data satisfies the framing heuristic.

22. The method of claim 13 , wherein at least one of the plurality of framing heuristics is activated in response to a TCP flag.

23. The method of claim 13 , wherein at least one of the plurality of framing heuristics is activated in response to the size of the buffered data being equal to a MTU size.

24. The method of claim 13 , wherein at least one of the plurality of framing heuristics is activated in response to carriage return/line feed character.

25. The method of claim 13 , wherein at least one of the plurality of framing heuristics is activated in response to at least one character delimiting a transaction.

26. The method of claim 13 , wherein at least one of the plurality of framing heuristics is activated in response to an SQL transaction.

Assignments (19)
RELEASE OF SECURITY INTEREST Recorded Aug 11, 2023
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC; RIVERBED HOLDINGS, INC.
Reel/Frame 064673/0739 →
CHANGE OF NAME Recorded Feb 18, 2022
From: RIVERBED TECHNOLOGY, INC.
To: RIVERBED TECHNOLOGY LLC
Reel/Frame 059232/0551 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0169 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0108 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0046 →
SECURITY INTEREST Recorded Dec 10, 2021
From: RIVERBED TECHNOLOGY LLC (FORMERLY RIVERBED TECHNOLOGY, INC.); ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
Reel/Frame 058486/0216 →
PATENT SECURITY AGREEMENT Recorded Oct 27, 2021
From: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 057943/0386 →
PATENT SECURITY AGREEMENT SUPPLEMENT - SECOND LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 057810/0559 →
PATENT SECURITY AGREEMENT SUPPLEMENT - FIRST LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 057810/0502 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORED AT REEL 056397, FRAME 0750 Recorded Oct 13, 2021
From: MACQUARIE CAPITAL FUNDING LLC
To: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 057983/0356 →
SECURITY INTEREST Recorded May 26, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MACQUARIE CAPITAL FUNDING LLC
Reel/Frame 056397/0750 →
PATENT SECURITY AGREEMENT Recorded Mar 5, 2021
From: RIVERBED TECHNOLOGY, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 055514/0249 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY NAME PREVIOUSLY RECORDED ON REEL 035521 FRAME 0069. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST IN PATENTS. Recorded Jun 2, 2015
From: JPMORGAN CHASE BANK, N.A.
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035807/0680 →
SECURITY INTEREST Recorded May 1, 2015
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 035561/0363 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 28, 2015
From: BARCLAYS BANK PLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035521/0069 →
PATENT SECURITY AGREEMENT Recorded Dec 27, 2013
From: RIVERBED TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032421/0162 →
RELEASE OF PATENT SECURITY INTEREST Recorded Dec 26, 2013
From: MORGAN STANLEY & CO. LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 032113/0425 →
SECURITY AGREEMENT Recorded Dec 20, 2012
From: RIVERBED TECHNOLOGY, INC.; OPNET TECHNOLOGIES, INC.
To: MORGAN STANLEY & CO. LLC
Reel/Frame 029646/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2006
From: WU, DAVID TZE-SI; LASEN, SOREN; SUBBANA, KARTIK; GUPTA, NITIN; KESWANI, VIVASVAT
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 018595/0857 →