WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Delayed acknowledgement in an asymmetric timer based LAN communications protocol    
United States Patent5528605   
Link to this pagehttp://www.wikipatents.com/5528605.html
Inventor(s)Ywoskus; John A. (Milford, NH); Mann; Bruce E. (Mason, NH); Izbicki; Kenneth J. (Pepperell, MA); Levesque; Roger H. (Tewksbury, MA)
AbstractA computer communications system has a controller for controlling a master with a circuit timer, the circuit timer is capable of aggregating data produced during a circuit timer interval into a single master message, and the data is produced by a plurality of users, where each user is capable of establishing a plurality of sessions. There is a communication pathway, responsive to expiration of the circuit timer interval, for sending the aggregated data to a slave. Also there is a acknowledgement circuit for the slave to send an acknowledge message to the master upon expiration of a delay ACK time interval, the delay ACK time interval is greater than the circuit timer interval, and the circuit timer is capable of initiating sending of a plurality of master messages during one delay ACK time interval. Further, there is a delay acknowledgement circuit, responsive to receipt of the plurality of master messages, for the slave to acknowledge the plurality of master messages in one acknowledge message, and each user and each session being acknowledged by the one acknowledge message.



 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5528605
Delayed acknowledgement in an asymmetric timer based LAN communications

     protocol - US Patent 5528605 Drawing
Delayed acknowledgement in an asymmetric timer based LAN communications protocol
Inventor     Ywoskus; John A. (Milford, NH); Mann; Bruce E. (Mason, NH); Izbicki; Kenneth J. (Pepperell, MA); Levesque; Roger H. (Tewksbury, MA)
Owner/Assignee     Digital Equipment Corporation (Maynard, MA)
Patent assignment
All assignments
Publication Date     June 18, 1996
Application Number     08/328,946
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     October 25, 1994
US Classification     714/749 370/507
Int'l Classification     H04J 003/06 H04L 001/18
Examiner     Beausoliel Jr.; Robert W.
Assistant Examiner     Tu; Trinh
Attorney/Law Firm     Drozenski; Diane C. Maloney; Denis G. , Fisher; Arthur W. ,
Address
Parent Case     This application is a continuation of application Ser. No. 07/784,356, filed Oct. 29, 1991.
Priority Data    
USPTO Field of Search     371/33 371/32 370/60 370/85.1 370/85.7 370/94.1 370/108
Patent Tags     delayed acknowledgement asymmetric timer based lan communications protocol
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5058108
Mann
370/409
Oct,1991

[0 after 0 votes]
5003534
Gerhardt
370/322
Mar,1991

[0 after 0 votes]
5001705
Kobatake
370/389
Mar,1991

[0 after 0 votes]
4975905
Mann
370/409
Dec,1990

[0 after 0 votes]
4896151
Kuranami
340/825.52
Jan,1990

[0 after 0 votes]
4818984
Chang
340/10.31
Apr,1989

[0 after 0 votes]
4739321
Friedman
340/825.5
Apr,1988

[0 after 0 votes]
4689785
Toyonaga
370/448
Aug,1987

[0 after 0 votes]
4617657
Drynan
370/394
Oct,1986

[0 after 0 votes]
4558428
Matsumura
709/251
Dec,1985

[0 after 0 votes]
4527267
Cohen
370/231
Jul,1985

[0 after 0 votes]
4479215
Baker
714/749
Oct,1984

[0 after 0 votes]
4584679
Livingston
714/749
Dec,1969

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A computer communications system comprising:

means disposed in a master station of said computer communications system for aggregating data produced during a first interval of time into an aggregated data message;

means for sending said aggregated data message after said first interval of time to a slave station;

means, disposed in said slave station and responsive to said received aggregated data message and to any subsequent, received aggregated data messages for sending an aggregated acknowledge message to said master station upon expiration of a delay ACK time interval, said delay ACK time interval being greater than said first interval of time, and said aggregated acknowledge message acknowledging all data messages passing a validity check and received by said slave station during the time interval from the beginning of the delay ACK time interval until either a data message failing said validity check is detected or until expiration of said delay ACK time interval; and

wherein said master station receiving said aggregated acknowledge message, recognizes each of said aggregated data messages acknowledged by said aggregated acknowledge message.

2. The apparatus as in claim 1 wherein said validity check further comprises:

a cyclic redundancy check.

3. The apparatus as in claim 1 further comprising:

means for permitting said master station to override said means for sending an aggregated acknowledge message, and responsive thereto, said slave station generates an immediate acknowledgment message.

4. The apparatus as in claim 3 wherein said means for permitting said master station to override said delayed acknowledge in said slave station further comprises:

means for setting a Response Requested Bit in a message from said master station to said slave station, wherein upon detection of said Response Requested Bit by said slave station, said slave station immediately sends an acknowledgment message to said master station.

5. The apparatus as in claim 1 further comprising:

means, disposed in said master station and said slave station, for selecting a delay timing interval as said delay ACK time interval.

6. The apparatus as in claim 5 wherein said means for selecting a delay timing interval, further comprises:

means, disposed in said master station, for sending a proposed delay timing interval to said slave station; and,

means, disposed in said slave station, for accepting said proposed delay timing interval.

7. The apparatus as in claim 6 wherein said means for accepting said proposed delay timing interval further comprises:

means for transmitting a RUN message from said slave station.

8. The apparatus as in claim 6 further comprises:

means, disposed in said slave station, for rejecting said proposed delay timing interval by transmitting said proposed delay timing interval to said master station.

9. The apparatus as in claim 5 wherein said means for selecting a delay timing interval, further comprises:

means, disposed in said master station, for sending a proposed delay timing interval to said slave station;

means, disposed in said slave station, for proposing an alternative delay timing interval; and,

means, disposed in said master station, for accepting said alternative delay timing interval.

10. The apparatus as in claim 9 wherein said means for accepting said alternative delay timing interval further comprises:

means for sending a RUN message from said master station to said slave station.

11. The apparatus as in claim 9 further comprising:

means for rejecting said alternative delay timing interval.

12. The apparatus as in claim 1 further comprising:

means for permitting said master station to override said means for sending said aggregated acknowledge message upon expiration of a delay ACK time interval by setting a response requested flag in a message, and in response to receiving said message with said response requested flag set said slave station sends an acknowledgment to said master station without delay.

13. The apparatus as in claim 1

wherein said means for sending sends a plurality of aggregated data messages from said master station to said slave station without receiving an acknowledgment from said slave station; and,

said means for sending an aggregated acknowledge message sends a delayed group acknowledgment that at least a first group of said plurality of messages were received by said slave station, where said slave station delays sending said delayed group acknowledgment by a time interval of said delay timing interval.

14. An apparatus for communicating between a master computer and a slave computer, comprising:

means for sending a data message packet from said master computer to said slave computer after a first interval of time;

means for selecting a delay timing interval, said delay timing interval being greater than said first interval of time, said delay timing interval corresponding to an interval of time over which said data message packet and a plurality of subsequent data message packets may be sent by said master;

means for sending an acknowledgment message from said slave computer to said master computer, said acknowledgment message indicating that at least one message packet was received by said slave computer;

means for delaying said acknowledgment message from said slave computer to said master computer by said delay timing interval, with said delayed acknowledgment message acknowledging receipt of said data message packet and said plurality of said subsequent data message packets;

means, responsive to a retransmit time interval, for retransmitting any messages sent from said master computer to said slave computer during said delay timing interval and not acknowledged by said acknowledgment message.

15. An apparatus for communicating between a master computer and a slave computer, comprising:

means for sending a message packet from said master computer to said slave computer after a first interval of time;

means for sending an acknowledgment message from said slave computer to said master computer, said acknowledgment message indicating that said message packet was received by said slave computer;

means for sending a first proposed delay timing interval from said master computer to said slave computer;

means, in response to said first proposed delay timing interval, for sending a second proposed delay timing interval from said slave computer to said master computer;

means for accepting said proposed second delay timing interval, said second delay timing interval greater than said first interval of time;

means for delaying said acknowledgment message from said slave computer to said master computer by a time interval of said second delay timing interval, with said delayed acknowledgment message acknowledging receipt by said slave computer of said message packet and a plurality of subsequent message packets.

16. A data transmission system comprising:

a master station having a circuit timer, wherein said master station transmits a data message only upon expiration of said timer after a circuit-timer-value time interval;

a slave station having a delayed acknowledge timer, said slave station transmitting an acknowledge message after receiving said data message from said master station, and upon expiration of said delayed acknowledge timer after a delayed.sub.-- acknowledge.sub.-- time.sub.-- interval; and

transmit buffers in said master station, said transmit buffers occupying a quantity of memory, said quantity of memory being determined in response to said circuit.sub.-- timer.sub.-- value time interval and said delayed.sub.-- acknowledge.sub.-- time.sub.-- interval.

17. A master comprising:

means for aggregating data into frames to transmit to a slave;

means for buffering said frames transmitted from said master in response to a slave delayed acknowledgment protocol, to preserve said transmitted frames in the event that at least one frame must be re-transmitted; and,

means disposed in said master for overriding said slave delayed acknowledgment protocol by setting a flag in a message in the event that said master requires slave to send an acknowledgment of said message to said master immediately upon receipt of said message by said slave.
 Description Submit all comments and votes
 


FIELD OF THE INVENTION

This invention relates to transfer of data between a master and a slave, and more particularly relates to reduction of the acknowledgment message traffic transmitted from the slave to the master.

BACKGROUND OF THE INVENTION

When a number of terminals access at least one slave computer using a communications system, as for example, a Local Area Network (LAN) having a communications protocol, total message traffic on the LAN may grow to exceed the capacity of the LAN. Total message traffic on the LAN may be particularly heavy when the terminals are small computers capable of up-loading files to the slave, and also when the terminals are capable of supporting a windows protocol. For example, a "mouse" input device is usually supported by a windows protocol, and motion of the mouse may generate a large number of messages to the slave (host) containing mouse position information. Also, in a windows protocol a terminal occasionally must transfer large amounts of data, for example the values of each pixel in the screen display, to the slave computer. In any event, the LAN may be overwhelmed by the amount of data being transferred from the terminal to the slave computer.

Communications protocols frequently require that each message sent from the terminal be acknowledged by the slave. The acknowledgment requirement is instituted in order to keep track of messages which are corrupted by noise on the communications circuits, or otherwise lost. A protocol having a terminal server as a master and a host computer as a slave is disclosed in U.S. Pat. No. 4,975,905, "Message Transmission Control Arrangement for Node in Local Area Network", issued Dec. 4, 1990, to Mann, Duffy, Lauck, and Strecker, and this protocol requires an acknowledgment by the slave to the master.

As a consequence of the acknowledgment requirement, each message from the terminal to the slave generates an acknowledgment message, and additionally usually generates one or more further response messages created by the slave in response to processing the received message. Congestion on the LAN therefore arises not only from the messages sent by the master to the slave computer, but also from the acknowledgment traffic sent from the slave to the master.

Delayed acknowledgment protocols have been used in the past in order to reduce ACK traffic on a local area network. However, a traditional implementation of delayed acknowledgment, as for example described in the textbook "Computer Networks" Second Edition, by A. S. Tanenbaum, published by Prentice Hall, Englewood Cliffs, N.J., in 1988, at Section 4.4 "Sliding Windows Protocol", pages 233-239, will not work optimally with a master--slave protocol.

It is desirable for the slave computer to both acknowledge the receipt of message packets from the master, and to reduce the number of messages carried by the local area network.

SUMMARY OF THE INVENTION

The slave computer acknowledges messages from the master and also reduces the number of acknowledgment messages transmitted on the local area network by use of a delay acknowledgment protocol.

There is provided an apparatus for communicating between a master and a slave computer. A computer communications system has a means for controlling a master with a circuit timer, the circuit timer is capable of aggregating data produced during a circuit timer interval into a single master message, and the data is produced by a plurality of users, where each user is capable of establishing a plurality of sessions. There is a means, responsive to expiration of the circuit timer interval, for sending the aggregated data to a slave. Also there is a means for the slave to send an acknowledge message to the master upon expiration of a delay ACK time interval, the delay ACK time interval is greater than the circuit timer interval, and the circuit timer is capable of initiating sending of a plurality of master messages during one delay ACK time interval. Further, there is a means, responsive to receipt of the plurality of master messages, for the slave to acknowledge the plurality of master messages in one aggregated acknowledge message.

The apparatus has a means for the master to send a message packet to the slave computer; a means for the slave computer to send an acknowledgment to the master, the acknowledgment capable of indicating that the message packet was received by the slave computer; a means for the master and the slave computer to select a delay ACK time interval; and, a means for the slave computer to delay sending the acknowledgment to the master by a time interval of the delay ACK time interval. Also the apparatus has a means for the master to override the means for the slave computer to delay sending the acknowledgment by setting a response requested flag in a message, and in response to receiving the message with the response requested flag set the slave computer sends an acknowledgment to the master without delay.

Also the apparatus has a means for the master to send a plurality of messages to the slave computer without receiving an acknowledgment; and, a means for the slave computer to delay sending a group acknowledgment that at least a first group of the plurality of messages were received, where the slave computer delays by a time interval of the delay ACK time interval in sending the group acknowledgment.

The apparatus also has a means for the master to send a proposed delay ACK time interval to the slave computer; and, means for the slave computer to accept the proposed delay ACK time interval. The means for the slave computer to accept the proposed delay ACK time interval is for the slave computer to transmit a RUN message. Also, the slave computer may reject using a delay ACK time interval.

Further, the apparatus has a means for the master to send a proposed delay ACK time interval to the slave computer; a means for the slave computer to propose an alternative delay ACK time interval; and, a means for the master to accept the alternative delay ACK time interval. The means for the master to accept the proposed alternative delay ACK time interval is for the master to send a RUN message to the slave computer. Alternatively, the master may reject the proposed alternative delay ACK time interval.

Other and further aspects of the present invention will become apparent during the course of the following description and by reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings, in which like numerals represent like parts in the several drawings:

FIG. 1 is a block diagram of a communications system in accordance with the present invention.

FIG. 2 is a field diagram of a message in accordance with the present invention.

FIG. 3 is a field diagram of a message header of the message shown in FIG. 2.

FIG. 4 is a field diagram of a Message Specification field shown in FIG. 3.

FIG. 5 is a START message field diagram in accordance with the invention.

FIG. 6 is a protocol timing diagram in accordance with the present invention.

FIG. 7 is a is a protocol timing diagram used in the prior art.

FIG. 8 is a field diagram of a START slot message,

FIG. 9 is a field diagram of a DATA slot message,

FIG. 10 is a protocol timing diagram in accordance with the invention.

DETAILED DESCRIPTION

Referring now to FIG. 1, there is shown generally communication system 100. Communications pathway 110 provides a communications pathway for computers and associated equipment connected to the communication system 100. For example, communications pathway 110 may be an Ethernet CSMA/CD local area network. Alternatively, communications pathway 110 may be any convenient local area network such as those defined under IEEE 802 local area network standards.

In FIG. 1, the following representative equipment is connected to communications pathway 110, master 120, high speed terminal 122 with keyboard 124, high-speed terminal 126 with keyboard 128, and master 130. Dots 121 and dots 131 indicate that a further plurality of masters may be connected to communications pathway 110. Also mouse 125 provides input to high-speed terminal 122, and each position increment of the mouse may generate a data message on communications pathway 110.

Master 120 provides a fan-in for terminal 140, personal computer 142, and printer 144. Dots 146 indicate that a plurality of additional units may be connected through master 120 to communications pathway 110.

High-speed terminal 122 and high-speed terminal 126 are connected as individual masters to communications pathway 110. For example, high-speed terminals 122 and 126 may use a windows protocol. In a windows protocol a terminal may be required to transfer large quantities of data from the terminals onto the communications pathway 110. For example, the terminal may be required to send a full screen display, with a plurality of bits for each pixel, to a slave computer.

Master 130 serves as a fan-in connection for a number of individual units, as shown, for example, in FIG. 1. The individual units comprise a printer 150, a terminal 152, a workstation 154, and another printer 156. Dots 158 indicate that a further plurality of devices may be connected through master 130 to communications pathway 110.

Also connected to communications pathway 110 are slave computers 160, 162, 164, and 166. Dots 168 and dots 170 indicate that a further plurality of slave computers may be connected to communications pathway 110.

The slave computers, slave computer 160, 162, 164, 166, may operate using a variety of operating systems. For example, slave computer 162, 164 are shown connected through hub 180 as a cluster of computers. Also connected to hub 180 are various mass storage devices such as tape drive 182, disk drive 184, disk drive 186, and tape drive 188. For example, slave computers 160, 162, 164 may operate using the VMS operating system sold by Digital Equipment Corporation. Slave computer 166, may for example, use a UNIX operating system. As a further example, slave computer 166 may use an IBM operating system.

Master 120, in an exemplary embodiment, may be referred to as a server. Slave device 160, in an exemplary embodiment, may be referred to as a host computer. For example, master 120 may be an Ethernet server, communications pathway 110 may be an Ethernet local area network, and slave computer 160, 162, etc. may each be a VAX computer, all manufactured by Digital Equipment Corporation.

Personal computer 142 may use a Microsoft MS-DOS operating system. Also, as a further example, personal computer 142 may use an Apple operating system, as for example, personal computer 142 may be a Macintosh personal computer.

Terminals 140, 152, may, for example, be "dumb" terminals, of a type not having stand alone processing capability. Printers 144, 150, and 156 may, for example, be printers utilized by the various terminals connected to the communications pathway 110, and may print queues developed by any of the terminals or personal computers connected to communications pathway 110 through the slave computers 160, 162, 164, 166. Further, high speed terminals 122 and 126 may be workstations requiring a large band-width. For example, the band-width normally required by a personal computer 142, 154 is frequently sufficiently small that such a device may be multiplexed using master 120, 130 for its connection to communications pathway 110. In contrast, high speed terminals 122, 126 may require a much larger band-width because of large data transfers, for example, generated by operation of a windows protocol on the terminals, and so require a direct master connection to the communications pathway 110.

Referring now to FIG. 2, there is shown a typical message format for use by communications pathway 110 in communicating information between masters 120, 122, 126, 130 and slave computers 160, 162, 164, 166. Message packet 200 has a Message Header field 202, a user data slot 204, and another user data slot 206. Dots 208 indicate the possibility of a further plurality of user data slots in message 200. User data slots 204, 206, 208 are optional in the message 200. A message may comprise a Message Header field 202 only, for management purposes for communication system 100. Examples of management purposes are the transmission of an acknowledgment message, the transmission of a START message, the transmission of a STOP message, and other management type operations.

Message packet 200 has cyclic redundancy check data (CRC) in field 209 at the end of the packet. For any packet length, CRC data is contained in field 209. For example, in an Ethernet embodiment, CRC field 209 may be four bytes long. CRC field 209 provides data for a receiving station to test an incoming message packet, where the test is to determine if the bits making up the packet meet a criterion for successful transmission. In a receiving station, the sequence of events is: first the station detects that the incoming message packet is addressed to the receiving station; then the station performs a CRC test on the incoming packet; and if the packet passes the CRC test, then the station receives the packet. In the event that the packet fails the CRC test, then the receiving station simply discards the incoming packet and does not receive the incoming packet.

Capitalization, as follows, will be used in this document in order to improve the readability of the document. Message field names will have the initial letter of a word capitalized. Values of logical variables, such as SET and CLEAR will be fully capitalized. Also, specific message designations such as START, RUN, and STOP will be fully capitalized.

Referring now to FIG. 3, there is shown a field diagram for a Message Header field 202. Fields of Message Header field 202 comprise the following: Destination Address field 210; Source Address field 212; Protocol Type field 214; Number of Slots field 216; Message Specification field 218; Destination Circuit Identification field 220; Source Circuit Identification field 222; Acknowledge field 224; and Acknowledge Sequence Number field 226. Destination Address field 210 gives the data link destination address of the receiving station. Source Address field 212 gives the data link address of the transmitting station. By the term "station", there is meant a computer, master or slave, connected to communications pathway 110, and capable of sending or receiving messages from data pathway 110. An example of stations are masters 120, 122, 126 and 130. Further examples of stations are slave computers 160, 162, 164 and 166. Protocol Type field 214 contains bits that represent the type of protocol utilized by message 200. For example, Destination Address field 210, Source Address field 212, and Protocol Type field 214 may be defined by a standard communications system 100 definition. For example, fields 210, 212, 214 may be defined as an Ethernet header.

The contents of Protocol Type field 214 may, for example, indicate to a receiving station the protocol of the received message is a message transmission control protocol of the type further discussed hereinbelow, or as, for example, disclosed in U.S. Pat. No. 4,975,905 disclosed hereinabove. Number of slots field 216 gives the number of user data slots 204, 206, 208 appended after Message Header field 202. Message Specification field 218 is further described hereinbelow in reference to FIG. 4.

Destination Circuit Identification field 220 is a virtual circuit identification utilized by the receiving station in setting up a virtual circuit for communication on communications pathway 110. Source Circuit Identification field 222 gives an identification number for the virtual circuit identified by the transmitting station for the communications session set up on communications pathway 110.

Acknowledge field 224 gives the sequence number of the last "in sequence" message packet received with a valid cyclic redundancy check. An "in sequence" message packet is a packet where it, and all earlier packets, had valid cyclic redundancy checks. Acknowledge Sequence number field 226 gives the sequence number of the present message packet 200.

Referring now to FIG. 4, there is shown a field diagram of Message Specification field 218. Message Type field 230 contains a flag showing whether the message is a START message; a RUN message; or a STOP message. Master Bit field 232 indicates, if the bit is SET, that the message is from a "master" station. The bit in Master Bit field 232, if "CLEAR", indicates that message 200 was transmitted by a slave station.

In the event that in a message 200 the Response Requested bit 234 is SET, the SET bit pattern indicates that the transmitting station requires an immediate acknowledgment of receipt of the message 200. In an exemplary embodiment of the invention, the field 234 contains only one bit, called the Response Requested bit. In the event that a master station transmits a message 200 with the Response Requested bit 234 CLEAR, then the CLEAR bit indicates that a delayed acknowledgment to receipt of message 200 is satisfactory for the transmitting master station. In the event that a slave station transmits a message 200 with the Response Requested bit CLEAR, then in some protocols the master does not transmit an acknowledgment.

Referring now to FIG. 5, there is shown START message 240. START message 240 has Message Header field 202. When Message Type field 230 indicates that the message is a START message, then the message packet takes the field form of START message 240. START message 240, in addition to Message Header field 202, has the following fields: Parameter Code 242; Length field 244; and Delay Acknowledge Value field 246, and Termination field 247.

Parameter Code field 242 may, for example, be one byte in length. Parameter Code field 242 has the following meanings: in the event, in a preferred embodiment of the invention, that Parameter Code field 242 contains eight bits, all set to zero, then the START message 240 contains no further fields; and, in the event, in a preferred embodiment of the invention, that Parameter Code field 242 has a designated bit set to ONE, then the START message 240 contains Length Field 244 and Delay Acknowledge Value field 246. Alternatively, there can be a sequence of parameter values, where the sequence is terminated by Termination field 247 containing, for example, a zero "0", or null. Fields 242, 244, 246, 247 may each be coded as one byte, or for example, as an eight bit integer. Alternatively, a bit mask could be used to code the fields. START message 240 may be terminated by a Termination field 247 containing a zero or null.

Length field 244 may, for example in a preferred embodiment of the invention, designate the number of bytes in the length of Delay Acknowledge Value field 246.

For example, Length field 244 may be contain a "2", indicating that Delay Acknowledge Value field 246 is two bytes in length.

Delay Acknowledge Value field 246, in a preferred embodiment of the invention, contains a number representing the amount of delay, in units of ten milliseconds, that an acknowledgment may be delayed by a receiving station. The protocol of delayed acknowledgment will be further described hereinbelow.

Referring now to FIG. 6, there is shown a message protocol timing diagram. A master station 250 is indicated on the left of the diagram, and slave station 252 is indicated on the right of the diagram. For example, the communications protocol utilized for transferring messages between masters 120, 122, 126, 130 on the communications pathway 110 to slaves 160, 162, 164, 166 may be an asymmetric protocol where one class of stations is a "master" station, and the other class of stations is "slave" station. For example, in a preferred embodiment of the invention, for the purpose of the communications protocol, the master stations 120, 122, 126, 130 are master stations. The computer stations 160, 162, 164, 166 are slave stations.

Master stations may be distinguished from slave stations by, for example, master stations being the only stations usually permitted to initiate a communications activity onto communications pathway 110, where slave stations usually only respond to initiated activity by the master station. Further, master stations may operate with a transmission timer, requiring a specified delay time between transmissions. In contrast, a slave station may be required to transmit information, as soon as it is prepared into form for transmission.

"Start up and Run" sequence 254, is shown in FIG. 6. START message 260 is transmitted, at time 253A, from master station 250, for example, a master 120, 122, 126, 130, to a slave station 252, for example, slave computer 160, 162, 164, 166. START message 260 may optionally include a request for the slave station 252 to practice delayed acknowledgment in accordance with the present invention. In the event that master station 250 requests that slave station 252 practice delayed acknowledgment, then Parameter Code field 242 will have the designated bit SET, indicating that delayed acknowledgment is requested. Other fields of START message 260 will contain the following: Message Specification field 218, will contain in Message Type field 230 and indication that START message 260 is a START message; the bit in Master Bit field 232 will be SET, indicating that the message is from a master station; and, Parameter Code field 242, as shown in FIG. 5, will have a designated bit SET; length field 244 will contain "2"; and Delay Acknowledge Value field 246 will contain a suggested value for a delayed acknowledge timer in the receiving slave station, where the receiving slave station is designated by Destination Address field 210. In an exemplary embodiment of the invention it has been found satisfactory to code various fields as eight bit integers.

The receiving slave station may negotiate an alternate value for the value of the delayed acknowledge timer, as described hereinbelow.

The receiving slave station 252, at a later time 253B as shown in FIG. 6, transmits START message 262, where the Destination Address field 210 of START message 262 contains the data link address of the initiating master station 250. START message 262 has the field structure of START message 240, FIG. 5. In the event that receiving slave station 252 has the ability to support delayed acknowledgment, then START message 240 will have the fields: Parameter Code field 242 will have a designated bit SET; Length field 244 of START message 262 will have the value of "2"; and, Delay Acknowledge Value field 246 will have a value suggested by slave station 252 for the delayed acknowledge timer to be used by slave station 252. Slave station 252 may suggest a delay time in Delayed Acknowledge Value field 246 of START message 262 which is the same as the value transmitted by master station 250 in START message 260, or alternatively, slave station 252 may suggest a different value for the delay timer. In the event that slave station 252 is not capable of supporting delayed acknowledgment, START message 262 will indicate this fact, by for example, having a zero value in Delay Ack field 246, or by for example, following Message Header field 202 by Termination field 247.

A reason for a slave station 252 suggesting a different value for the delayed acknowledgment timer than the one received in START message 260 may be found in different timer granularity between the master and the slave stations. Both the master and the slave utilize a clock having a certain granularity, where that granularity may be normally expressed in terms of milliseconds.

That is, granularity of the computer timer in slave computers 160, 162, 164, 166 may each be different, and may each be different from the granularity of the timer of the initiating master station, for example, master station 120, or master station 122, or master station 126, or master station 130, and so forth.

For example, the master may be operating under a VMS operating system, as supplied by Digital Equipment Corporation. The slave computer may be operating under a UNIX operating system, and have a totally different clocking structure from the master 120. Further, slave computer 164, for example, may be a Cray super computer, or it may be an IBM main frame computer, or it may be VAX Computer manufactured by Digital Equipment Corporation, or it may be a MicroVax Computer, manufactured by Digital Equipment Corporation, or it may be any of a number of other types of computers. Accordingly, it is reasonable to expect that the time granularity in a master 120, 122, 126, 130 will differ from the time granularity in a slave computer 160, 162, 164, 166.

Upon receipt of START message 262 by master station 250, for example, master 120, 122, 126, 130, master station 250 decides whether or not it can support the delayed acknowledgment timer value contained in START message 262 at Delay Acknowledge Value field 246. In the event that master station 250 decides that the delayed acknowledgment timer value contained in START message 262 at Delayed Acknowledge Value field 246 is acceptable, then master station 250 transmits a RUN message 264. RUN message 264 has the form of message 200, where Message Header field 202, at Message Specification field 218, at Message Type field 230 indicates that the message is a RUN message. For example, Message Type field 230 may contain a zero, "0" to indicate a RUN message. The RUN message 264, at Number of Slots field 216 may indicate user data slots containing data, or may optionally have the value "0" to indicate that the RUN message 264 contains no user data slots 204, 206, 208.

In the event that master station 250 decides that the delayed acknowledgment