Method and apparatus for measuring protocol performance in a data communication network
First Claim
1. A testing apparatus for measuring the performance of protocol data in a data communication network comprising:
- a testing device comprising a lookup processor;
said lookup processor configured to obtain protocol data from a data communication network;
said protocol data comprising connection data;
said lookup processor performing a polynomial hashing operation using said connection data as a hash key to produce a hash vector;
said lookup processor initiating a search of hash vector values in a hash vector table to determine a location to store said hash key;
wherein said lookup processor is configured to obtain a stored key from a free list and link said hash vector into said stored key when value of said hash vector table is zero; and
wherein said lookup processor is configured to search for said hash vector when said value of said hash vector table is not zero.
1 Assignment
0 Petitions
Accused Products
Abstract
An embodiment of the invention provides a mechanism for measuring the performance characteristics of data sent across any communication path configured to carry data between two or more computational devices (e.g., local area networks, wide area network, virtual private networks, wireless networks, or any other type of interconnect mechanism). In a test environment, processing speed is a critical part of producing test equipment that can process network protocol data in real-time. Embodiments of the invention provide network test equipment with a methodology for performing enough lookup processing operations to keep up with the real time frame rates of a gigabit Ethernet network. This is accomplished in accordance with one embodiment of the invention by improving the performance of the connection lookup processor in test devices.
112 Citations
37 Claims
-
1. A testing apparatus for measuring the performance of protocol data in a data communication network comprising:
-
a testing device comprising a lookup processor;
said lookup processor configured to obtain protocol data from a data communication network;
said protocol data comprising connection data;
said lookup processor performing a polynomial hashing operation using said connection data as a hash key to produce a hash vector;
said lookup processor initiating a search of hash vector values in a hash vector table to determine a location to store said hash key;
wherein said lookup processor is configured to obtain a stored key from a free list and link said hash vector into said stored key when value of said hash vector table is zero; and
wherein said lookup processor is configured to search for said hash vector when said value of said hash vector table is not zero. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for measuring the performance of protocol data in a data communication network comprising:
-
testing the performance of protocol data, said testing comprising;
obtaining protocol data comprising connection data from a data communication network;
performing a polynomial hashing operation on said connection data to produce a hash vector;
searching a hash vector table to determine a location to store said hash vector;
obtaining a stored key from a free list and linking said hash vector into said stored key when said hash vector table is zero; and
searching for said hash vector when said hash vector table is not zero. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer program product comprising:
-
a computer usable medium having computer readable program code for measuring the performance of protocol data in a data communication network comprising embodied therein said computer readable program code configured to;
obtain protocol data comprising connection data from a data communication network;
execute a polynomial hashing operation on said connection data to produce a hash vector;
search a hash vector table to determine a location to store said hash vector;
obtain a stored key from a free list and link said hash vector into said stored key when said hash vector table is zero; and
search for said hash vector when said hash vector table is not zero. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A system for testing the performance of TCP data in a data communication network comprising:
-
a data communication network configured to transport TCP data having source data and destination data;
a testing device comprising a lookup processor, said lookup processor configured to obtain said TCP data from said data communication network and execute a polynomial hashing operation using said source data and said destination data as a hash key to produce a hash vector;
said lookup processor initiating a search of a hash vector table to determine a location to store said hash vector;
said lookup processor determining if a location associated with said hash vector in said hash vector table is empty; and
said lookup processor obtaining a stored key from a free list and associating said stored key with said location in said hash vector table when said location is empty. - View Dependent Claims (32, 33, 34)
said lookup processor searching said hash vector table for said hash vector.
-
-
34. The system of claim 31 wherein said polynomial hashing operation utilizes a polynomial having an order approximately ¼
- the size of the number of lookups to be performed by said lookup processor.
-
35. A method for testing the performance of TCP data in a TCP/IP network comprising:
-
obtaining TCP data having connection data comprising source data and destination data;
providing said connection data as a hash key to a polynomial hashing operation;
executing said polynomial hashing operation to generate a hash vector;
searching a hash vector table to determine a location to store said hash vector, wherein said searching comprises;
determining if a location associated with said hash vector in said hash vector table is empty; and
obtaining a stored key from a free list and associating said stored key with said location in said hash vector table when said location is empty. - View Dependent Claims (36, 37)
searching said hash vector table for said hash vector.
-
-
37. The method of claim 35 wherein said polynomial hashing operation utilizes a polynomial having an order ¼
- the size of the number of lookups to be performed.
Specification