IP Library Granted Patent US 10,819,826
Granted Patent B2
US 10,819,826 · App. 16/213,533 · Granted Oct 27, 2020

System and method for implementing application functionality within a network infrastructure

Inventors: Mark Vange (Scottsdale, AZ); Mark Plumb (Toronto, CA); Michael Kouts (Toronto, CA); Glenn Sydney Wilson (Toronto, CA)
Assignee: Circadence Corporation
H04L67/322G06F9/505G06F9/5027G06F9/5055G06F9/5088H04L29/06H04L29/12066H04L45/14H04L47/10H04L47/14H04L47/193H04L47/24H04L61/1511H04L63/0428H04L63/1408H04L63/1416H04L63/1458H04L67/02H04L67/101H04L67/1002H04L67/1008H04L67/1021H04L67/1029H04L67/1031H04L67/1034H04L67/142H04L67/2804H04L67/2814H04L67/2819H04L67/2823H04L67/2842H04L67/2847H04L67/2852H04L67/303H04L67/42H04L69/16H04L69/329G06F2209/5021H04L63/0272H04L2029/06054Y10S707/99944Y10S707/99945
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 10,819,826
App. No.
16/213,533
Granted
Oct 27, 2020
Kind
B2
Abstract

A system and method for implementing functionality within a network on behalf of first and second devices communicating with each other through the network. A front-end device is provided within the network that communicates data traffic with the first device. A back-end device is also implemented within the network and communicates data traffic with the second device. A communication channel couples the front-end device and the back-end device. Data traffic may be encoded into a different type or protocol for transport through the communication channel by the front-end device and back-end device. The front-end device and back-end device exchange quality of service information and may alter characteristics of the data traffic through the communication channel according to the quality of service information.

Claims (30)

1. A communication network component configured to convert data packets of a first protocol received from N first computing devices into data packets of a second protocol configured for transmission over an enhanced network link to a second computing device, comprising:

at least one processor;

at least one memory configured to store machine readable code executable by said at least one processor;

at least one first communication interface; and

machine readable code stored in said at least one memory and configured to cause said at least one processor to, relative to N data buffers corresponding to said N first computing devices:

determine a total number of bytes of data available to be sent from said N buffers;

determine a number of bytes of data to be sent from each of said N buffers based upon a weighted proportion of data associated with each N buffer to said total number of bytes;

create a data packet of said second protocol comprising obtaining data packets of said first protocol in said determined number of bytes from each of said N buffers and combining said data packets of said first protocol; and

transmit said data packet of said second protocol over said enhanced communication link.

2. The communication network component in accordance with claim 1 wherein said data packets of said first protocol comprise data packets in a TCP protocol.

3. The communication network component in accordance with claim 1 wherein said step of determining a number of bytes of data to be sent from each of said N buffers comprises, relative to each of said N buffers, a value nREADY*S*WEIGHT, wherein S=nBYTES/(WEIGHT*nREADY) for the buffer with having the highest nREADY, wherein nBYTES comprises a number of bytes of data available to be sent from each buffer and nREADY comprises a total number of bytes of data available to be sent from each of said N buffers.

4. The communication network component in accordance with claim 3 wherein said value WEIGHT is based upon at least one of quality of service, fairness and prioritization.

5. The communication network component in accordance with claim 2 wherein each of said N buffers corresponds to a TCP socket which receives TCP packets from one of said N first computing devices.

6. The communication network component in accordance with claim 1 wherein said machine readable code is further configured to cause said processor to pre-process said data packets of said first protocol by compressing, encrypting and/or error correcting payload portions of said data packets of said first protocol.

7. The communication network component in accordance with claim 1 wherein data packets of said first protocol are associated with a payload portion of said data packet of said second protocol, said data packet of said second protocol further comprising a header portion.

8. The communication network component in accordance with claim 1 wherein said machine readable code is further configured to associate one or more messages with said data packet of said second protocol.

9. The communication network component in accordance with claim 8 wherein said message comprises one or more of quality of service information and time synchronization information.

10. A computer program product comprising:

a non-transitory computer usable medium having computer readable program code embodied therein for causing a processor to convert data packets of a first protocol generated by N first computing devices into data packets of a second protocol configured for transmission over an enhanced network link to a second computing device, comprising:

computer readable program code configured to cause said at least one processor to, relative to N data buffers corresponding to said N first computing devices, determine a total number of bytes of data available to be sent from said N buffers;

determine a number of bytes of data to be sent from each of said N buffers based upon a weighted proportion of data associated with each N buffer to said total number of bytes;

create a data packet of said second protocol comprising obtaining data packets of said first protocol in said determined number of bytes from each of said N buffers and combining said data packets of said first protocol; and

transmit said data packet of said second protocol over said enhanced communication link.

11. The computer program product in accordance with claim 10 wherein said non-transitory computer readable medium comprises a memory of a front end device which is communicatively coupled to each of said N first computing devices.

12. The computer program product in accordance with claim 10 wherein said second computing device comprises a web server.

13. The computer program product in accordance with claim 10 wherein said data packets of said first protocol comprise data packets in a TCP protocol.

14. The computer program product in accordance with claim 10 further comprising computer readable program code configured to cause said processor to pre-process said data packets of said first protocol by compressing, encrypting and/or error correcting payload portions of said data packets of said first protocol.

15. The computer program product in accordance with claim 10 wherein data packets of said first protocol are associated with a payload portion of said data packet of said second protocol, said data packet of said second protocol further comprising a header portion.

16. The computer program product in accordance with claim 10 wherein said computer readable program code is further configured to associate one or more messages with said data packet of said second protocol.

17. The computer program product in accordance with claim 16 wherein said message comprises one or more of quality of service information and time synchronization information.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2021
From: CIRCADENCE CORPORATION
To: SONS OF INNOVATION LLC
Reel/Frame 056106/0493 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2019
From: VANGE, MARK; PLUMB, MARC; KOUTS, MICHAEL; WILSON, GLENN S.
To: CIRCADENCE CORPORATION
Reel/Frame 048528/0705 →
Continuity (10)
Continuation 15664763 · Jul 31, 2017
Continuation 14934507 · Nov 6, 2015
Continuation 14079856 · Nov 14, 2013
Continuation 13288636 · Nov 3, 2011
Continuation 13156120 · Jun 8, 2011
Continuation 12660365 · Feb 24, 2010
Continuation 11346767 · Feb 3, 2006
Division 09835876 · Apr 16, 2001
Provisional Application 60197490 · Apr 17, 2000
Related Publication 20190109924A1 · Apr 11, 2019
Cited By (1)
US 12,627,651