IP Library Granted Patent US 8,792,493
Granted Patent B2
US 8,792,493 · App. 13/491,501 · Granted Jul 29, 2014

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,792,493
App. No.
13/491,501
Granted
Jul 29, 2014
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 (42)

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

receiving a data stream over a time period;

applying a plurality of framing heuristics to the data stream to generate a heuristics result for each framing heuristic of the plurality of framing heuristics, wherein a heuristics result results from application of a framing heuristic to the data stream;

determining a scoring metric value for each framing heuristic of the plurality of framing heuristics based on the heuristics result for that framing heuristic;

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

selecting at least one framing heuristic of the plurality of framing heuristics in response to the ranking, wherein the selected framing heuristic is selected to be used for framing the data stream received.

2. The method of claim 1 , further comprising:

providing the selected framing heuristic to a controller; and

framing the network traffic using at least the selected framing heuristic.

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

4. The method of claim 1 , wherein the time period is determined by the selected framing heuristic applied to the 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 time period to the lesser of a predetermined elapsed time or a predetermined size of the received data stream.

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

8. The method of claim 1 , wherein:

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

determining the scoring metric value for each framing heuristic 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 data stream at the time the framing heuristic is satisfied; and wherein

determining the scoring metric value comprises:

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

2) 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 framing heuristic of the plurality of framing heuristics in response to the ranking comprises selecting a framing heuristic having a scoring metric value better than a threshold value.

11. The method of claim 8 , wherein selecting at least one framing heuristic of the plurality of framing heuristics in response to the ranking comprises selecting at least one framing heuristic 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 data stream.

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

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

receiving an input packet data;

adding the input packet data to buffered data;

in response to receiving the 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, determining if at least a portion of the buffered data satisfies the framing heuristic;

for each of the plurality framing heuristics, activating the framing heuristic if the determining determines that the portion of the buffered data satisfies 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, different from the selected framing heuristic, wherein the selected framing heuristic is used for framing the input packet data received.

14. The method of claim 13 , further comprising repeating receiving, adding, evaluating, determining, and 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 framing heuristic.

17. The method of claim 13 , further comprising, in response to the portion of the buffered data not satisfying the selected framing heuristic, 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 is such that the flush of the buffered data occurs 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, 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.

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 - 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 →
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 →
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 Oct 9, 2012
From: WU, DAVID TZE-SI; LARSON, SOREN; SUBBANA, KARTIK; GUPTA, NITIN; KESWANI, VIVASVAT
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 029099/0634 →