IP Library Granted Patent US 7,388,834
Granted Patent B2
US 7,388,834 · App. 09/895,577 · Granted Jun 17, 2008

System and method for controlling network traffic flow in a multi-processor network

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 7,388,834
App. No.
09/895,577
Granted
Jun 17, 2008
Kind
B2
Abstract

A system and method for controlling network traffic flow in a multi-processor network is disclosed. The method employs a two-part algorithm to determine when it is appropriate for a client node to transmit data over a network to one or more server nodes. The first part of the algorithm calls for the client node to transmit data over the network after receiving an acknowledgement from one or more of the server nodes to which data transfer is outstanding. The second part of the algorithm provides for the client node transmitting data over the network after a predetermined time interval has elapsed since a data transmission. The time interval is based, in part, on the length of outstanding data packets and a statistical analysis of the number of nodes transmitting or receiving data packets. The transmission of data over the network is accomplished by a hybrid scheme, comprising a combination of PUSH and PULL transmission protocols.

Claims (34)

1. A method for controlling data traffic over a network, comprising:

(a) transmitting a message from a first node to at least a second node of the network;

(b) determining an elapsed time of transmission of the message of step (a);

(c) determining whether the second node has replied to the message transmitted in step (a) from the first node; and

(d) transmitting a subsequent message from the first node upon the elapsed time of transmission of the message exceeding an elapsed time threshold,

wherein the elapsed time threshold is determined by a size of the message, a virtual number of nodes over the network, and a minimum transmission rate of the network.

2. The method of claim 1 , wherein step (a) further comprises:

(a1) constructing the message to be transmitted; and

(a2) maintaining transmission information relating to the message.

3. The method of claim 1 , wherein step (c) further comprises (cl) receiving a reply message from the at least one second node.

4. The method of claim 2 , wherein step (a2) further comprises storing the following transmission data: message size, transmission sending time and address of the at least one second node.

5. The method of claim 4 , further including (e) detecting whether a message has been transmitted to the at least one second node; and (f) transmitting a subsequent message to the at least one second node upon detecting the address of the at least one second node in step (e).

6. The method of claim 1 , wherein an elapsed time threshold calculation in step (d) comprises calculating:

L*N/R

where L is the size of the transmitted message; N is the virtual number of nodes and R is the minimum transmission rate of the network.

7. A method for controlling the rate of transmitting data over a network from a node of the network, comprising;

(a) storing information relating to the transmission of data to a node on the network;

(b) determining a time interval since an initiation of the data transmission of step (a); and

(c) transmitting additional data onto the network upon the time interval exceeding a threshold time interval,

wherein the threshold time interval is determined by a size of the data, a virtual number of nodes over the network, and a minimum transmission rate of the network.

8. The method of claim 7 , further comprising (d) transmitting subsequent amounts of data to a particular node on the network upon locating an address of the particular node stored in step (a).

9. A communication system, comprising:

a first node coupled to at least one second node by a transmission medium, the first node including a storage device for storing data;

the first node including a processor for determining an elapsed time between data transmission, wherein subsequent data is transmitted from the first node upon the elapsed time exceeding an elapsed time threshold,

wherein the elapsed time threshold is determined by a size of the data, a virtual number of nodes over the transmission medium, and a minimum transmission rate of the transmission medium.

10. The system of claim 9 , wherein the storage device stores an identifier of the nodes that the first node has transmitted data to, the first node transmitting additional data to the at least one second node before receipt of a reply upon determining that a transmission is outstanding at the at least one second node.

11. The system of claim 9 , wherein the storage device stores the size of the data transmitted to the at least one second node and the elapsed time threshold value is a function of the data size.

12. The system of claim 9 , further including means for deferring transmission of messages by the first node onto the network, the deferred message(s) being transmitted upon exceeding an elapsed time threshold value.

13. The system of claim 9 , further including means for deferring transmission of message(s) by the first node onto the network, the deferred message(s) being subsequently transmitted upon the first node receiving a reply from the at least one second node.

14. The system of claim 9 , wherein the first node comprises a processor and the storage device is an outstanding request queue, the outstanding request queue being at least partially maintained in the processor.

15. The system of claim 12 , wherein the deferred message(s) are maintained in a deferred message queue, the deferred message queue being at least partially maintained in the first node.

16. The system of claim 15 , wherein the first node and the least one second node include a processor.

17. The method of claim 7 , wherein the threshold time interval is determined by calculating: L*N/R, where L is a size of the data, N is a virtual number of nodes over the network, and R is a minimum transmission rate of the network.

18. The communication system of claim 9 , wherein the elapsed time threshold is determined by calculating L*N/R, where L is a size of the data, N is a virtual number of nodes over the transmission medium, and R is a minimum transmission rate of the transmission medium.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2005
From: COMPAQ INFORMATION TECHNOLOGIES GROUP, L.P.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 016313/0854 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2001
From: NAIK, SACHIN U.; JARDINE, ROBERT L.; TORII, TATSUHIRO
To: COMPAQ INFORMATION TECHNOLOGIES GROUP, L.P.
Reel/Frame 012259/0262 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2001
From: NAIK, SACHIN U.; JARDINE, ROBERT L.; TORII, TATSUHIRO
To: COMPAQ INFORMATION TECHNOLOGIES GROUP, LP
Reel/Frame 012035/0415 →