Data communication protocol for maximizing the performance of IP communication links
First Claim
1. In a data communication system having a client and a server side, a method of forming a connection request message to establish a communication channel between said client and said server, comprising the steps of:
- including an Internet Protocol (IP) header field within said connection request message;
including User Datagram Protocol (UDP) header field within said connection request message;
including a message type field within said connection request message indicating the type of said message;
including a last received message number field within said connection request message indicating the number of the last received message;
including a client IP address field within said connection request message indicating the IP address of said client;
including a client port number field within said connection request message indicating the port number of said client;
including a target application identification (ID) field within said connection request message indicating the ID of the target application;
including a BUFFER_SIZE field within said connection request message indicating the maximum permitted size of the UDP packet to be transmitted;
including a MAX_TX field within said connection request message indicating the maximum number of messages transmitted between acknowledges;
including a MAX_RX field within said connection request message indicating the maximum number of messages received between acknowledges;
including an ACK_TIMEOUT_TX field within said connection request message indicating the timeout period for retransmission of unacknowledged messages;
including an ACK_TIMEOUT_RX field within said connection request message indicating the maximum timeout period for sending an acknowledgment during reception;
including an ERROR_LEVEL field within said connection request message indicating the error sensitivity level requested by said client;
including a ALIVE_RATE field within said connection request message indicating the keep alive rate requested by said client; and
generating said connection request message by combining together the bits representing said IP header field, said UDP header field, said message type field, said last received message number field, said client IP address field, said client port number field, said target application ID field, said BUFFER_SIZE field, said MAX_TX field, said MAX_RX field, said ACK_TIMEOUT_TX field, said ACK_TIMEOUT_RX field, said ERROR13 LEVEL field and said ALIVE_RATE field.
4 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a protocol and associated method for enhancing the throughput and response time performance of Transmission Control Protocol/Internet Protocol (TCP/IP) applications and services in Internet and Intranet environments that use the TCP/IP protocol suite, e.g., HTTP Internet browsers, HTTP servers, FTP servers, etc. The protocol of the present invention, termed Communication Enhancement Protocol (CEP), comprises a flow control method that functions to maximize the performance of IP communication links. The CEP is positioned in either Transport Layer 4 or Session Layer 5 of the OSI communications protocol stack. The CEP of the present invention optimizes the interactions between transport protocols and applications by utilizing novel flow control algorithms so as to reduce overhead and the use of the server'"'"'s resources. Using the CEP of the present invention, data throughput and response time up to 2.5 times as fast as compared with conventional communication protocols. The CEP also comprises an error handling mechanism that permits detection of and recovery from packet loss and extreme network congestion.
168 Citations
8 Claims
-
1. In a data communication system having a client and a server side, a method of forming a connection request message to establish a communication channel between said client and said server, comprising the steps of:
-
including an Internet Protocol (IP) header field within said connection request message;
including User Datagram Protocol (UDP) header field within said connection request message;
including a message type field within said connection request message indicating the type of said message;
including a last received message number field within said connection request message indicating the number of the last received message;
including a client IP address field within said connection request message indicating the IP address of said client;
including a client port number field within said connection request message indicating the port number of said client;
including a target application identification (ID) field within said connection request message indicating the ID of the target application;
including a BUFFER_SIZE field within said connection request message indicating the maximum permitted size of the UDP packet to be transmitted;
including a MAX_TX field within said connection request message indicating the maximum number of messages transmitted between acknowledges;
including a MAX_RX field within said connection request message indicating the maximum number of messages received between acknowledges;
including an ACK_TIMEOUT_TX field within said connection request message indicating the timeout period for retransmission of unacknowledged messages;
including an ACK_TIMEOUT_RX field within said connection request message indicating the maximum timeout period for sending an acknowledgment during reception;
including an ERROR_LEVEL field within said connection request message indicating the error sensitivity level requested by said client;
including a ALIVE_RATE field within said connection request message indicating the keep alive rate requested by said client; and
generating said connection request message by combining together the bits representing said IP header field, said UDP header field, said message type field, said last received message number field, said client IP address field, said client port number field, said target application ID field, said BUFFER_SIZE field, said MAX_TX field, said MAX_RX field, said ACK_TIMEOUT_TX field, said ACK_TIMEOUT_RX field, said ERROR13 LEVEL field and said ALIVE_RATE field.
-
-
2. In a data communication system having a client and a server side, a method of forming a connection acknowledgment message to establish a communication channel between said client and said server, comprising the steps of:
-
including an Internet Protocol (IP) header field within said connection response message;
including User Datagram Protocol (UDP) header field within said connection response message;
including a message type field within said connection response message indicating the type of said message;
including a last received message number field within said connection response message indicating the number of the last received message;
including a client IP address field within said connection response message indicating the IP address of said server;
including a client port number field within said connection response message indicating the port number of said server;
including a target application identification (ID) field within said connection response message indicating the ID of the target application on said client;
including a resolved BUFFER_SIZE field within said connection response message indicating the resolved maximum permitted size of the UDP packet to be transmitted;
including a MAX_TX field within said connection response message indicating the resolved maximum number of messages transmitted between acknowledges;
including a MAX_RX field within said connection response message indicating the resolved number of messages received between acknowledges;
including an ACK_TIMEOUT_TX field within said connection response message indicating the resolved timeout period for retransmission of unacknowledged messages;
including an ACK_TIMEOUT_RX field within said connection response message indicating the resolved maximum timeout period for sending an acknowledgment;
including an ERROR_LEVEL field within said connection response message indicating the error sensitivity level requested by said client;
including a ALIVE_RATE field within said connection response message indicating the keep alive rate requested by said server; and
generating said connection response message by combining together the bits representing said IP header field, said UDP header field, said message type field, said last received message number field, said server IP address field, said server port number field, said target application ID field, said BUFFER_SIZE field, said MAX_TX field, said MAX_RX field, said ACK_TIMEOUT_TX field, said ACK_TIMEOUT_RX field, said ERROR_LEVEL field and said ALIVE_RATE field.
-
-
3. In a data communication system having a client and a server side, a method of forming a data send message to be sent over a communication channel formed between said client and said server, comprising the steps of:
-
including an Internet Protocol (IP) header field within said data send message;
including User Datagram Protocol (UDP) header field within said data send message;
including a message type field within said data send message indicating the type of said message;
including a sequential message number field within said data send message indicating the number of the number of said message;
including a last received message number field within said data send message indicating the number of the last received message;
including a data field within said data send message containing application data from an application executing on said client or said server;
generating said data send message by combining together the bits representing said IP header field, said UDP header field, said message type field, said sequential message number field, said last received message number field and said data field; and
wherein said data send message is part of a transport mechanism positioned between Transport Layer 4 or Session Layer 5 of the Open System Interconnet (OSI) stack.
-
-
4. In a data communication system having a client and a server side, a method of forming a message lost message to be sent over a communication channel formed between said client and said server, comprising the steps of:
-
including an Internet Protocol (IP) header field within said message lost message;
including User Datagram Protocol (UDP) header field within said message lost message;
including a message type field within said message lost message indicating the type of said message;
including a last received message number field within said message lost message indicating the number of the last received message;
including a number of the message lost or corrupted field within said message lost message indicating the number of the message lost or corrupted;
including a data field within said message lost message containing data;
generating said message lost message by combining together the bits representing said IP header field, said UDP header field, said message type field, said last received message number field, said number of the message lost or corrupted field and said data field; and
wherein said message lost message is part of a transport mechanism positioned between Transport Layer 4 or Session Layer 5 of the Open System Interconnet (OSI) stack.
-
-
5. In a data communication system having a client and a server side, a method of forming a message error message to be sent over a communication channel formed between said client and said server, comprising the steps of:
-
including an Internet Protocol (IP) header field within said message error message;
including User Datagram Protocol (UDP) header field within said message error message;
including a message type field within said message error message indicating the type of said message;
including a last received message number field within said message error message indicating the number of the last received message;
including a number of the message lost or corrupted field within said message error message indicating the number of the message lost or corrupted;
including a data field within said message error message containing data;
generating said message error message by combining together the bits representing said IP header field, said UDP header field, said message type field, said last received message number field, said number of the message lost or corrupted field and said data field; and
wherein said message error message is part of a transport mechanism positioned between Transport Layer 4 or Session Layer 5 of the Open System Interconnet (OSI) stack.
-
-
6. In a data communication system having a client and a server side, a method of forming a message alive message to be sent over a communication channel formed between said client and said server, comprising the steps of:
-
including an Internet Protocol (IP) header field within said message alive message;
including User Datagram Protocol (UDP) header field within said message alive message;
including a message type field within said message alive message indicating the type of said message;
including a last received message number field within said message alive message indicating the number of the last received message;
including a data field within said message alive message containing data;
generating said message alive message by combining together the bits representing said IP header field, said UDP header field, said message type field, said last received message number field and said data field; and
wherein said message alive message is part of a transport mechanism positioned between Transport Layer 4 or Session Layer 5 of the Open System Interconnet (OSI) stack.
-
-
7. In a data communication system having a client and a server side, a method of forming a shutdown message to be sent over a communication channel formed between said client and said server, comprising the steps of:
-
including an Internet Protocol (IP) header field within said shutdown message;
including User Datagram Protocol (UDP) header field within said shutdown message;
including a message type field within said shutdown message indicating the type of said message;
including a last received message number field within said shutdown message indicating the number of the last received message;
including a data field within said shutdown message containing data;
generating said shutdown message by combining together the bits representing said IP header field, said UDP header field, said message type field, said last received message number field and said data field; and
wherein said shutdown message is part of a transport mechanism positioned between Transport Layer 4 or Session Layer 5 of the Open System Interconnet (OSI) stack.
-
-
8. In a data communication system having a client and a server side, a method of forming a send_message message to be sent over a communication channel formed between said client and said server, comprising the steps of:
-
including an Internet Protocol (IP) header field within said send_message message;
including User Datagram Protocol (UDP) header field within said send_message message;
including a message type field within said send_message message indicating the type of said message;
including a sequential message number field within said send_message message indicating the number of said message;
including a last received message number field within said send_message message indicating the number of the last received message;
including a data field within said send_message message containing application data from an application executing on said client or said server;
generating said send_message message by combining together the bits representing said IP header field, said UDP header field, said message type field, said sequential message number field, said last received message number field and said data field; and
wherein said send message message is part of a transport mechanism positioned between Transport Layer 4 or Session Layer 5 of the Open System Interconnet (OSI) stack.
-
Specification