Method system and computer program product for providing...

Electrical computers and digital processing systems: multicomput – Computer-to-computer session/connection establishing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S217000, C709S228000, C709S232000

Reexamination Certificate

active

06345296

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to the field of computer networking and data communication.
2. Related Art
Problem
Dialogs (also called virtual circuits) carry data between different application processes. Dialogs can be logically set to carry data over a computer network such as a mesh. In a computer network, dialogs provide data communication between application processes running on different end systems or hosts. Dialogs can also carry data between application processes running on the same host.
Multiple functional layers (e.g., Application, Presentation, Session, Transport, Network, Link, and Physical) are used in a data communication network to provide different services and reliability in order to implement virtual circuits (i.e., dialogs). Each layer has an associated protocol and range of primitives to provide services. Each layer forms a corresponding protocol data unit that includes the data and corresponding layer protocol control information. Peer protocol entities at the same layer in different end systems provide services at that layer by managing corresponding layer protocol data units and protocol control information. This operation of multiple functional layers (e.g., Application, Presentation, Session, Transport, Network, Link, and Physical as used in an OSI or Transmission Control Protocol/Internet Protocol (TCP/IP) protocol suite) in a data communication network is well-known and need not be described in futher detail. See, e.g., Martin, J.,
TCP/IP Networking: Architecture, Administration, and Programming
, (PTR Prentice-Hall: Englewood Cliffs, N.J. 1994), pp. 29-30 (incorporated herein by reference) and F. Halsall,
Data Communications, Computer Networks, and Open Systems
, 4 Ed., (Addison-Wessley: U.S.A. 1996), p. 663 (incorporated herein by reference). Layers are implemented as software, firmware, and/or hardware.
Conventional communication systems now have high bandpass capability. Data throughput for high-speed networking technologies occurs at rates on the order of 100 Megabits/sec to 1 Gigabits/sec. Latency, however, is high. Latency is the time interval between the time a transaction issues and the time the transaction is reported as being completed. In systems with a high latency, the round-trip time for two communicating clients to complete a data request can be on the order of milliseconds.
Latency occurs in conventional communication systems due in part to the overhead involved in the communication layers, including but not limited to, the Transport layer and the layers logically below the Transport layer (e.g., the Network, Link, and Physical layers). However, advancements have been made in lower layer network facilities. The transmission and delivery of messages over some networks is now much more efficient and reliable, especially in closely-coupled, clustered systems.
Transport layer facilities continue to impart substantial latency. Popular transport layer protocols, such as TCP, were developed to support local area and wide-area network (LAN/WAN) environments where the underlying bit rate was moderately high, but reliability was poor, and latency induced by the lower networking layers was high. Transport facilities are included in conventional transport protocols to guarantee reliable transmission and delivery. With the advent of very high-speed, low-latency communication networks like ATM, Fibre Channel, and ServerNet™, facilities that were previously incorporated in a Transport Layer to achieve reliable communication, are now being provided by the underlying communication networks themselves. For example, ATM, Fibre Channel, and ServerNet™ include specific lower layer facilities for ensuring reliable transmission and delivery, such as, in-order-delivery, check summing, and segmentation and reassembly (SAR).
Conventional high-latency Transport layer protocols and architectures, however, assume lower networking layers (e.g., Network, Link, and Physical layers) are unreliable. Therefore, high-latency transports, such as, the TCP/IP protocol suite, are not positioned to leverage advances in lower-layer data transmission reliability. Conventional transport layer protocols are further limited to a push data model of communication where data is sent regardless of whether a receiver can accommodate the data. Such push model data communication causes flow control problems and excessive data copying.
What is needed is a high-speed, low-latency intraconnect architecture having efficient transport layer processing. A standard transport layer protocol and architecture is needed that can leverage improvements in the reliability of data transmission and delivery, especially for closely-coupled, clustered systems. What is needed is a high-speed, low-latency transport intraconnect architecture that eliminates data copies and provides effective flow control.
SUMMARY OF THE INVENTION
According to the present invention, a communication intraconnect architecture (CIA) is specified which provides a reliable and efficient transport service between communicating clients using a pull data model. The pull data model is a communication model where a send client of a dialog waits for permission to send data to a receiving client. The receive client “pulls” data from the send client. Flow control is handled by the pull data model since the receive client requests data when the receive client is ready. Moreover, the communication intraconnect architecture, according to the present invention, implements a pull data model which transfers data as efficiently and reliably as a push data model.
The CIA pull data model of the present invention supports receive operations by requiring the sender to bind data bytes to receiver memory addresses. Data transfer between communicating send and receive clients can be conducted entirely by performing write-only operations that write data to memory. Read operations having a high latency can be avoided entirely.
According to one embodiment of the present invention, a method, system, and computer program product provide transport layer data communication based on a pull data model between communicating clients. To receive data, a receive client builds a CIA control block (CCB) that includes parameters for a dialog receive (d_rcv) primitive. The receive client passes the CCB to a receive-side CIA transport-layer facility. These d_rcv parameters identify a scatter list that defines the destination data areas (i.e., data destination addresses) and how much data space is available at each data destination address. For example, in Receive with Buffer operations, the d_rcv parameters identify, among other things, a receive-side buffer and a desired transfer length for that buffer. Additional d_rcv parameters are used to select available receive services (e.g., an auto receive service or partial receive service).
The receive-side CIA transport facility is also called a receive intraconnect front end (IFE). The receive IFE constructs a receive control block (RCB) based on the parameters passed by the receive client in a d_rcv primitive. The receive IFE sends the RCB in a network packet over a mesh to a send side CIA transport facility, that is, to a send IFE associated with the logical dialog.
At the send side, the send IFE stores the receive control block (RCB). The RCB arrival triggers match processing at the send side of the interface. The RCB includes fields that identify the scatter list (e.g., receive data destination addresses and maximum data transfer lengths and buffer lengths). The RCB includes other fields pertinent to support d_rcv semantics (e.g., auto-receive, buffer pool references). Multiple RCBs can be queued at the send-side to reduce latency and to accommodate multiple requests for data.
To send data, a send client passes d_send parameters for a dialog send (d_send) primitive in a control block (CCB) to the send IFE. The d_send parameters identify a logical dialog and a gather list. Additional fields are used to support other d_send semantics (e.g., partial transfer vers

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method system and computer program product for providing... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method system and computer program product for providing..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method system and computer program product for providing... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2971033

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.