Method and apparatus for transmitting data in a network...

Electrical computers and digital processing systems: multicomput – Miscellaneous

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S223000, C709S227000, C709S228000, C709S232000, C709S237000, C714S708000, C714S748000, C370S230000

Reexamination Certificate

active

06449631

ABSTRACT:

BACKGROUND OF THE INVENTION
The present invention relates to a method for transmitting data at high speed via a network and, more particularly, to a method for transmitting large quantities of data over long distances via a network.
Where computers can transmit data between them, they enjoy the advantage of sharing data. A plurality of computers may share one or more files therebetween by way of the file server. These functions are all implemented through the availability of data transmission between computers or between any one of the configured computers and a file server.
Data is transmitted generally via a network connected to a communication controller included in a computer. The communication controller is usually furnished on a single board. In operation, the communication controller receives a data transmission request or a data reception request from a computer and exchanges data with a communication target in units called packets. Each packet, which is the unit of data communication, contains user data and control information including destination and other information. The communication controller is incorporated in the host and is directly connected to an internal bus thereof. The host has a program called the operating system working therein. The operating system includes communication control software that controls the communication controller.
A typical network is what is known as the Fibre Channel. As discussed in “Fibre Channel Connection to the Future” (Fibre Channel Association, 1994, pp. 11-19), the Fibre Channel is available for communication between computers as well as between a computer and disk drives.
The Fibre Channel is controlled functionally by layers FC
0
through FC
4
for each function of the fiber channel.
Of these layers, FC
0
defines the electrical characteristics of physical cables, FC
1
stipulates the methods for encoding and decoding data, and FC
2
specifies the data format relevant to the Fibre Channel. FC
3
and FC
4
designate logical communication methods. The Fibre Channel can connect a plurality of devices of different types, the capability being implemented by the layer FC
4
converting data in format for use by a plurality of devices on the Fibre Channel. Illustratively, the Fibre Channel may be connected to disk drives as well as network devices. FC
3
is the layer that provides common control over data communication. FC
0
through FC
4
are generally implemented by hardware, specifically on a board comprising a plurality of LSI's. With the Fibre Channel, the above-mentioned communication control software is a program that controls disk drives and networks. In operation, the communication control program issues requests to FC
4
of the Fibre Channel. Upon receipt of a request from the communication control program, the Fibre Channel converts the data to its own data format in accordance with the FC
4
provisions, forwards the data after conversion through the layers FC
3
, FC
2
, FC
1
and FC
0
, in that order, and sends to the destination device.
Apart from the packets mentioned earlier, the Fibre Channel is capable of transferring data up to 2 KB long each as stipulated by FC
2
. On the Fibre Channel, any data exceeding the 2 KB length limit is divided into units of 2 KB each when transferred by the layer FC
2
The communication control software may be functionally divided into two major layers: a protocol processing program and a device control program. The protocol processing program receives data communication requests from a user program. For data transmission, the protocol processing program converts user data into packets according to the communication protocol specific to the network. For data reception, the protocol processing program extracts the user data from the transmitted packets. The device control program is a program that requests the communication controller to transmit packets. The primary function of the device control program is to control the hardware of the communication controller. In transmitting data, the device control program typically executes the following instruction string:
(1) get_register (STATUS)
(2) set_register (buf_addr)
(3) set_register (pkt_length)
(4) set_register (IN, DMA_GO)
The instruction (1) above reads the status of the communication controller and checks to see if the status is normal. The instruction (2) transmits the location of target data in the host to the communication controller. The instruction (3) notifies the communication controller of the length of the packet to be transmitted. The instruction (4) starts the hardware for transmitting the data from the host to the communication controller. The processing above allows the communication controller to analyze control information held in the packet and to transmit the target data to the destination of communication. Thereafter, the protocol processing program waits for an acknowledgment (abbreviated to ACK hereunder) to arrive from the destination indicating that the data has been normally transmitted. The above processes (1) through (4) are carried out by writing and reading information to and from control registers in the communication controller. In like manner, the device control program typically executes the following instruction string upon receiving data:
(1) get_register (STATUS)
(2) set_register (buf_addr)
(3) set_register (pkt_length)
(4) set_register (OUT, DMA_GO)
The instruction (1) above reads the status of the communication controller and checks to see if the status is normal. The instruction (2) transmits the location of target data in the host to the communication controller. The instruction (3) notifies the communication controller of the length of the packet to be transmitted. The instruction (4) starts the hardware for transmitting the data from the communication controller to the host. Thereafter, the protocol processing program generates an ACK and sends it to the destination of communication indicating that the data has been normally transmitted. The processing above allows the communication controller to analyze the control information held in the packet and to transmit the target data to the destination of communication.
What characterizes the above type of communication is that an ACK is transmitted and received to verify the normal transfer of data every time a packet has been transmitted. With commonly implemented networks, the packet size is limited to be 1 to 4 kilobytes. To transmit data exceeding the size of one packet requires dividing the data into a plurality of packets that may be transmitted. In such a case, a plurality of ACK's are to be transmitted and received regarding each set of user data divided into a plurality of packets. After one packet is transmitted, the next packet cannot be transmitted unless and until the ACK for the most recently transmitted packet has been returned. This prohibition of transmission of the next packet is for communication. In data communication, if any packet is not transmitted normally, the same packet must be retransmitted. This requires retaining the most recently transmitted data in the memory on the transmitting side in preparation for possible retransmission. How long the data should remain in the memory is determined upon receipt of an ACK. That is, when the destination of communication has returned an ACK indicating the normal reception of the data, then the packet retained on the transmitting side is discarded.
One disadvantage of the above method of data transmission is that it takes time to transmit data. This is because the next packet cannot be transmitted until the ACK for the current packet is returned. A solution to this problem is described illustratively by Samuel J. Leffer et al., in “The Design and Implementation of the 4.3BSD UNIX Operating System” (Addison-Wesley Publishing Company, Inc., 1989, pp. 368-375). The solution involves transmitting a plurality of packets sequentially. In the above-cited reference, the protocol processing program stipulates that an ACK is to be issued for every n packets (i.e., n times the pac

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 and apparatus for transmitting data in a network... 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 and apparatus for transmitting data in a network..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for transmitting data in a network... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2835733

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