WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Multicast data distribution system and method    
United States Patent4807224   
Link to this pagehttp://www.wikipatents.com/4807224.html
Inventor(s)Naron; Steven E. (9909 Sorrel Ave., Potomac, MD 20854); Branan; John M. (404 Suffield Dr., Gaithersburg, MD 20878); Marin; Gerald A. (12528 War Admiral Way, Darnestown, MD 20878)
AbstractA data distribution system and method for the timely, efficient and reliable distribution of data to an unlimited number of remote receiver installations. A data source assembles data packets, and upon filing or after the lapse of a predetermined interval of time, broadcasts a respective data packet to all receivers and recovery means along a communication network. Each receiver is intelligent, in that it copies the data packets into a buffer and has the responsibility of selecting out data needed to perform the receiver's intended functions. As a result, intermediate data selecting and routing means between the data source and receivers are avoided, resulting in data delivery which is both rapid and timely. For reliability, each receiver monitors the sequence numbers of the data packets which have been received and, also, whether a data packet is received at least as frequently as the predetermined interval of time. Any data packet which a receiver determines is missing, can be obtained from the recovery means which stores a library of the received data packets or which can retrieve the missing data packet from the data source.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Inventor     Naron; Steven E. (9909 Sorrel Ave., Potomac, MD 20854); Branan; John M. (404 Suffield Dr., Gaithersburg, MD 20878); Marin; Gerald A. (12528 War Admiral Way, Darnestown, MD 20878)
Owner/Assignee    
Patent assignment
All assignments
Publication Date     February 21, 1989
Application Number     07/087,850
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     August 21, 1987
US Classification     370/218 370/432 714/748
Int'l Classification     H04J 003/24 G08C 025/02 H04L 001/00
Examiner     Griffin; Robert L.
Assistant Examiner     Chin; Wellington
Attorney/Law Firm    
Address
Parent Case    
Priority Data    
USPTO Field of Search     370/94 370/85 370/160 370/86 370/88 370/13 370/94 U 371/33 371/32
Patent Tags     multicast data distribution
   
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
3387268



[0 after 0 votes]
4725834
Chang
340/825.5
Feb,1988

[0 after 0 votes]
4663748
Karbowiak
370/224
May,1987

[0 after 0 votes]
4661952
von Sichart
370/460
Apr,1987

[0 after 0 votes]
4644542
Aghili
714/701
Feb,1987

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

[0 after 0 votes]
4587650
Bell
370/454
May,1986

[0 after 0 votes]
4569042
Larson
370/250
Feb,1986

[0 after 0 votes]
4569015
Dolev
709/201
Feb,1986

[0 after 0 votes]
4459588
Grow
370/455
Jul,1984

[0 after 0 votes]
4454508
Grow
370/455
Jun,1984

[0 after 0 votes]
4418384
Holtey
714/55
Nov,1983

[0 after 0 votes]
4354225
Frieder
711/5
Oct,1982

[0 after 0 votes]
4325120
Colley
711/202
Apr,1982

[0 after 0 votes]
4317957
Sendrow
705/71
Mar,1982

[0 after 0 votes]
4276594
Morley
713/600
Jun,1981

[0 after 0 votes]
3587044
Jenkins
375/308
Jun,1971

[0 after 0 votes]
4538147
Grow
370/452
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 reliable, high performance data communication system comprising:

data source means for assembling data into data packets and transmitting respective said data packets as they become full with a predetermined amount of data, or if not full, at an occurrence of a reference interval of time, each of said data packets having data corresponding to data packet sequencing data and an information field; and

a plurality of receiver means for receiving said transmitted data packets, each said receiver means having failure detection means for checking for failures in the reliable receipt of said data packets by monitoring:

said data packet sequencing data; and

for receipt of a respective data packet within each expiration of a period of time corresponding to said reference interval of time;

whereby both receipt of a data packet having data packet sequencing data which does not match a next expected data packet sequencing data of a predetermined sequence, and also a failure to receiver a respective data packet within an expiration of a period of time corresponding to said reference interval of time, are indicative of a failure in a reliable receipt of said data packets.

2. A data communication system as claimed in claim 1, wherein said reference interval of time corresponds to a lapse of a predetermined amount of time which is measured from a transmission of a preceding data packet.

3. A data communication system as claimed in claim 1, wherein each said receiver means can issue a request for a data packet, said communication system further comprising:

recovery means for supplying a requested data packet to respective receiver means which issue a request for said requested data packet in response to a determination that there was a failure in a reliable receipt of a data packet.

4. A data communications system as claimed in claim 3, wherein said data packet sequencing data corresponds to a data packet sequencing number.

5. A data communications system as claimed in claim 4, wherein said respective receiver means identify a respective requested data packet by using said data packet sequencing number.

6. A data communications system as claimed in claim 3, wherein said recovery means comprises:

server memory means for receiving said data packets, and for storing copies of a predetermined number of most current data packets which have been transmitted; and

request means, capable of communication with said data source means, for requesting retransmission of a particular data packet from said data source meansn in an event said recovery means is unable to satisfy a respective receiver's request for a particular data packet from said server memory means, in an event that more than a predetermined number of respective receivers issue a request for a same particular data packet.

7. A data communication system as claimed in claim 1, wherein each of said data packets additionally has data corresponding to error checking data, and wherein said receiver means performs a further check for the reliable receipt of said data packets using said error checking data.

8. A data communication system as claimed in claim 1, wherein said receiver means further includes:

buffer means for storing said data packets received from said data source means.

9. A data communication system as claimed in claim 8, wherein said receiver means further comprises:

data management means for selectively accessing data in said data packets stored in said buffer means.

10. A data communication system as claimed in claim 9, wherein said receiver means further comprises:

data processing means for processing and performing predetermined operations using said selected data, and means to trigger said processing and performing upon a detection of data of a predetermined type.

11. A data communication system as claimed in claim 1, wherein each of said data packets has data corresponding to time stamp data.

12. A data communication system as claimed in claim 1, wherein said information field of a respective data packet has a plurality of data items, each of said data items being comprised of data corresponding to a code field and a corresponding information field.

13. A data communication system as claimed in claim 1, wherein each said data packet contains a receiver subclass code to allow a plurality of independent packet streams.

14. A reliable, high performance data communication method comprising the steps of:

assembling data into data packets, each of said data packets having data corresponding to data packet sequencing data and an information field;

transmitting respective said data packets as they become full with a predetermined amount of data, or if not full, at an occurrence of a reference interval of time; and

receiving said transmitted data packets at a plurality of receiver means, and at each of said receiver means, checking for failures in a reliable receipt of said data packets by monitoring:

said data packet sequencing data; and

for receipt of a respective data packet within each expiration of a period of time corresponding to said reference interval of time;

whereby both receipt of a data packet having data packet sequencing data which does not match a next expected data packet sequencing data of a predetermined sequence, and also a failure to receive a respective data packet within an expiratoin of a period of time corresponding to said reference interval of time, are indicative of a failure in a reliable receipt of said data packets.

15. A data communication method as claimed in claim 14, wherein said reference interval of time corresponds to a lapse of a predetermined amount of time which is measured from a transmission of a preceding data packet.

16. A data communication method as claimed in claim 14, wherein each said receiver means can issue a request for a data packet, said communication method further comprising the step of:

supplying a copy of a requested data packet to respective receiver means which issue a request for said requested data packet in response to a determination that there was a failure in a reliable receipt of a data packet.

17. A data communications method as claimed in claim 16, wherein said data packet sequencing data corresponds to a data packet sequencing number.

18. A data communications method as claimed in claim 17, wherein said respective receivers identify a respective requested data packet by using said data packet sequencing number.

19. A data communications system as claimed in claim 16, wherein said supplying step is accomplished by:

receiving said data packets and storing, in a server memory means, copies of a predetermined number of most current data packets which have been transmitted;

if a copy is available in said server memory means, retrieving a copy of a requested respective data packet from said server memory means; and

in either an event said recovery means is unable to satisfy a respective receiver's request for a particular data packet from said server memory means, or in an event that more than a predetermined number of respective receivers issue a request for a same particular data packet, requesting retransmission of a particular data packet from said data source means; and

transmitting said particular data packet to said respective receiver means which issued a request for said requested data packet.

20. A data communication method as claimed in claim 14, wherein each of said data packets additionally has data corresponding to error checking data, and wherein said checking step includes a further check for the reliable receipt of said data packets using said error checking data.

21. A data communication method as claimed in claim 14, further including the step of:

storing said data packets received at said respective receiver means in a buffer means.

22. A data communication method as claimed in claim 21, further comprising the step of:

selectively accessing, at each said respective receiver means, data in said data packets stored in said buffer means.

23. A data communication method as claimed in claim 22, further comprising the step of:

processing and performing predetermined operations, at each said respective receiver means, using said selectively accessed data.

24. A data communication method as claimed in claim 14, wherein each of said data packets has data corresponding to time stamp data.

25. A data communication method as claimed in claim 14, wherein said information field of a respective data packet has a plurality of data items, each of said data items being comprised of data corresponding to a code field and a corresponding information field.

26. A relible, high performance data communication system comprising:

data source means for assembling data into data packets and transmitting respective said data packets as they become full with a predetermined amount of data, or if not full, at an occurrence of a predetermined interval of time which is measured from the transmission of the preceding data packet, each of said data packets having data corresponding to data packet sequencing data and an information field;

a plurality of receiver means for receiving said transmitted data packets, each said receiver means having failure detection means for checking for failures in the reliable receipt of said data packets by monitoring;

said data packet sequencing data; and

for receipt of a respective data packet within each expiration of a period of time corresponding to said predetermined interval of time;

whereby both receipt of a data packet having data packet sequencing data which does not match a next expected data packet sequencing data of a predetermined sequence, and also a failure to receive a respective data packet within an expiration of a period of time corresponding to said reference interval of time, are indicative of a failure in a reliable receipt of said data packets, and each said receiver means can issue a request for a data packet; and

recovery means for supplying a requested data packet to respective receiver means which issue a request for said requested data packet in response to determination that there was a failure in a reliable receipt of a data packet.

27. A reliable, high performance data communication method comprising the steps of:

assembling data into data packets, each of said data packets having data corresponding to data packet sequencing data and an information field;

transmitting respective said data packets as they become full with a predetermined amount of data, or if not full, at an occurrence of a predetermined interval of time which is measured from a transmission of a preceding data packet;

receiving said transmitted data packets at a plurality of receiving means, and at each respective said receiver means, checking for failures in a reliable receipt of said data packets by monitoring:

said data packet sequencing data; and

for receipt of a respective data packet within each expiration of a period of time corresponding to said predetermined interval of time;

whereby both receipt of a data packet having data packet sequencing data which does not match a next expected data packet sequencing data of a predetermined sequence, and also a failure to receiver a respective data packet within an expiration of a period of time corresponding to said reference interval of time, both being indicative of a failure in a reliable receipt of said data packets, and each said receiver means can issue a request for a data packet; and

supplying a copy of a requested data packet to respective receiver means which issue a request for said requested data packet in response to a determination that there was a failure in a reliable receipt of a data packet.

28. A reliable, high performance data communication system comprising:

a communications network interconnecting a data source means with a file server means and a plurality of receiver means;

said data source means periodically broadcasting packets of information to said file server means and said plurality of receiver means;

each of said packets including a packet sequence number, a time stamp, and a plurality of information fields, each information field including a unique code field and a corresponding data field;

a ring buffer in each respective one of receiver means in said plurality of receiver means for storing a plurality of packets received over said communications network;

data management means for performing a code selection function in each said receiver means for selecting from said plurality of information fields in each packet stored in said ring buffer, data fields corresponding to selected ones of said unique codes;

an ordered data table means in each said receiver means for storing in an ordered sequence said selected data resulting from performance of said code selection function;

data processing means in each receiver means for utilizing said selected data in said ordered data table means;

said file server means storing all of said packets received from said communications network; and

negative acknowledgement means in each said receiver means for anticipating a receipt of said periodic packets from said data source means and detecting an omission of an anticipated receipt of a data packet, and in response thereto, generating a request for retransmission to said file server means, which performs retransmission through either a broadcast or via a session type connection;

whereby a high performance, reliable data communication from said data source means to said receiver means is established.

29. The data communication system of claim 28, wherein said file server means performs a negative acknowledgement assessment function for determining whether negative acknowledgements from a subplurality of said plurality of receiver means is likely to indicate a failure of broadcasting of a packet from said data source means to said receiver means; and

wherein said file server means further comprises request means for establishing a communications session between said file server means and said data source means in response to an indication from said negative acknowledgement assessment function, for accessing a packet of information from said data source means corresponding to said failed broadcast.

30. The data communication system of claim 28, wherein said data management means performs a change assessment function for accessing data stored in said ordered data table means, and determining whether changes in a value of said data, corresponding to a selected code, are greater than a predetermined threshold value;

said ordered data table means being responsive to said change assessment function for outputting new values of data identified as surpassing said threshold; and

said data processing means being responsive to an output from said ordered data table means to execute tasks corresponding to said changed data which has surpassed said threshold value.

31. The data communication system of claim 28 wherein:

said periodic broadcast of said data packets by said data source means is based upon a reference interval of time wherein a next data packet is required to be broadcast at the end of said reference interval of time as measured from a broadcast of a most recent data packet;

whereby said data source does not fail to broadcast a data packet less frequently than once per said reference interval of time.

32. The data communication system of claim 28, wherein said communication network comprises a token ring local area network.

33. The data communication system of claim 28, wherein said negative acknowledgement means of respective receiver means issue said request for retransmission in response to a detection of an expiration of a reference interval of time as measured from receipt of a most recent packet.

34. The data communication system of claim 28, wherein said negative acknowledgement means of respective said receiver means issue said request for retransmission in response to a determination of a missing packet sequence number.

35. The data communication system of claim 28, wherein said negative acknowledgement means and said respective receiver means issue said request for retransmission in response to an absence of an anticipated periodic packet which has not been received from said data source means.
 Description Submit all comments and votes
 


TECHNICAL FIELD

The present invention relates to a Multicast Data Distribution System (MDDS) and method and, more particularly, to a data distribution system and method for the timely, efficient, and reliable distribution of data to an unlimited number of remote receivers.

BACKGROUND ART

Numerous data communication systems have been proposed for a wide variety of different applications, for example:

U.S. Pat. No. 4,317,957, issued to Sendrow on Mar. 2, 1982, discloses a system for protecting transactions and providing authentication of users in an on-line system for automatic tellers. A Personal Identification Number (PIN) which is concatenated with an anti-counterfeiting code, a Personal Identification Number (PIN) and a time stamp are used to validate automatic teller transactions.

U.S. Pat. Nos. 4,454,508 and 4,459,588, issued to Grow on June 12, 1984 and July 10, 1984, respectively, disclose timed token ring protocols. Any station can transmit information upon the receipt of the token if the time since the previous receipt of a write token is less than the unused amount of capacity left on the ring.

U.S. Pat. No. 4,569,042, issued to Larson on Feb. 4, 1986, discloses a data packet switching network in which continuity packets bearing time stamps are employed to determine call path transit time delay.

U.S. Pat. No. 3,587,044, issued to Jenkis on June 22, 1971, discloses a system for the transfer of digital communication data through a communication medium having a significant delay. The disclosed system has means for interlocking the data transfers to assure accurate data transmission and receipt.

U.S. Pat. No. 4,538,147, issued to Grow on Aug. 27, 1985, discloses a method of allocating available bandwidth between a plurality of stations which are configured in a write-controlled loop communication network.

U.S. Pat. No. 4,587,650, issued to Bell on May 6, 1987, discloses a method of simultaneously transmitting isochronous and non-isochronous data on a local area network through the use of a unique signal pattern.

U.S. Pat. No. 4,661,952, issued to von Sichart et al on Apr. 28, 1987, discloses a method of transmitting data on a telecommunications exchange via a ring line system which allows information items to be transmitted in periodically recurring pulse frames.

U.S. Pat. No. 4,663,748, issued to Karbowiak et al on May 5, 1987, discloses a communication system suitable for use as a local are network (LAN). The Karbowiak et al system has a network comprised of a plurality of nodes such that the system is capable of reconfiguring itself after node failure to minimize system disruption.

U.S. Pat. No. 3,387,268, issued to Epstein on June 4, 1968, discloses remotely locatable apparatus which receives a continuous stream of coded alpha numeric data from a central station for the monitoring of stock trading transactions.

U.S. Pat. No. 4,644,542, issued to Aghili et al on Feb. 17, 1987, discloses a method for the reliable broadcasting of information in a distributed network, such that, despite the presence of faulty processors in the system, the fault-free processors of the system can still obtain consistent views of the information which is available on the system.

U.S. Pat. No. 4,569,015, issued to Dolev et al on Feb. 4, 1986, discloses a method for reliably achieving agreement between multiple processors, by having each processor add a distinctive unforgeable signature to a message contents as the message is passed on.

U.S. Pat. No. 4,418,384, issued to Holtey et al on Nov. 29, 1983, discloses a communication subsystem which automatically aborts a sequence of bits when the subsystem senses that it is not receiving data from a microprocessor fast enough to maintain synchronous transmission over the communication line.

U.S. Pat. No. 4,325,120, issued to Colley et al on Apr. 13, 1982, discloses an elaborate data processing system which has processors which recognize two basic types of objects (i.e., an object being defined as a representation of related information maintained in contiguously-addressed set of memory locations). The first type of object contains ordinary data, while the second type of object contains information for locating and defining the extent of access to object associated with that access descriptor.

U.S. Pat. No. 4,354,225, issued to Friedler et al on Oct. 12, 1982 discloses a data processing system having a plurality of intercoupled processors working in conjunction with an intelligent main memory system.

U.S. Pat. No. 4,276,594, issued to Morley on June 30, 1981, discloses an elaborate digital computer and associated method steps.

In the world of data communications, there exists a need for generic data communication system and method having the ability to simultaneously satisfy a number of important requirements which are critical in many data communication applications. More particularly, there often exists a need for a data communication system which can provide for the regular and very high performance delivery of updated data to an unlimited number of receiver installations. In many of these environments, respective receivers are not interested in all the data which is available but, instead, are interested only in selected data needed to perform the receiver's intended function. Furthermore, it is often highly critical that the data delivery be reliable, and that the data communication system have a facility which can provide a data guarantee. A number of different approaches, which attempt to provide the above requirements, are discussed below.

More particularly, there are several data communication approaches which have been used to provide selected data to selected receivers.

In a first approach, the delivery of selected data to selected receivers is performed by the data transmission device or by an intermediate device at some intermediate point along the communication network. More particularly, in implementing such an approach, a data source device or communication node device would apply data management routines to the raw body of data, and then selectively channel data to respective receivers along the communications network. The selective channeling of the selected data can be performed using either time-multiplexing by dividing the available broadcast time of the communication network, or space-multiplexing by dividing the communication network into respective communication links.

Such an approach was found to be disadvantageous in terms of data delay, because respective portions of the data delivery device (i.e., data source or communication node device) operating time must be dedicated solely to satisfying the need to select data for the respective receivers. Rather than obtaining swift receipt of the data from the data collection point, each respective receiver has to wait in turn while the delivery device performs a number of data management and selective channeling routines. In effect, it can be seen that each respective receiver suffers a cumulative data delay penalty due to other receivers on the system. As the number of respective receivers which a delivery device has to service increases, data delay increases proportionally.

In a second approach, the selective delivery of data is provided by an intermediate file server which serves as a data library by receiving data transmissions from a data source and maintaining updated tables of data. The respective receivers must make individual queries to the file server as to the data of interest. The file server handles queries in the order of receipt by checking the status of the selected data in question, and forwarding the status to the requesting receiver.

This second approach has also been found to induce data delay for reasons which are similar to the above. A respective portion of file server operating time must be dedicated solely to the answering of each individual request. Rather than obtaining swift receipt of the select data, each respective receiver must wait in turn for the answer to its request. As the number of queries handled by a file server increases, data delay increases proportionally.

In analyzing the above two approaches, it can be seen that each of the receivers suffers a data delay penalty due to the presence of other devices on the data communication system. More particularly, it can be seen that a tremendous amount of delay time suffered by each receiver is caused by time used to selectively manage, channel, or answer the data requests of the other receivers.

Turning now to providing a data guarantee requirement in a data communication system, there are several approaches which can be used to check whether all data has been received by a receiver.

One approach is to have each receiver, upon receipt of data from the data source, send an acknowledgement back to the data source. The data source monitors the acknowledgements from the respective receivers, and in the event of a failure, retransmits the data to the respective receiver or otherwise informs the receiver of the data failure. This approach is disadvantageous in several respects.

First, important communication medium resources (i.e., transmission bandwidth or transmission time) are being absorbed through the use of the communication medium to send acknowledgements, and/or to transmit a duplicate copy of the failed data or a data failure warning. Rather than being able to devote a maximum amount of the communication medium resources to support a continuous transmission of updated data, a percentage must be dedicated to the acknowledgement mechanism. As the number of respective receivers sending acknowledgements increases, more and more of the communication medium is used, resulting in a proportional increase in data delay.

A second and more important disadvantage using the acknowledgement scheme is that each receiver performs only an echo function (i.e., echoing an acknowledgement of receipt to the data source), and does not participate in the determination of a failure in the data receipt. In the event of an interruption which disturbs data delivery, a receive will continue to operate on the assumption that it has received the most recent data, until such a time when the data source informs it otherwise. If a failure in the communication link has isolated the receiver from the data source, the notification of a failure from the data source will never arrive.

Another approach which can be used to provide data guarantee is to perform some sort of data comparison which can be performed at at least two different locations, i.e., at the the point of data transmission or the point of data receipt.

If the comparison is to be performed at the point of data transmission, each receiver must echo the data back to the data source in a manner similar to the acknowledgement routine. Although this method provides a higher degree of data guarantee than echoing just an acknowledgement (i.e., via a one-to-one data comparison), this approach is still deficient in the same manner as the acknowledgement routine.

The arrangement of having a data comparison performed at the point of receipt provides advantages over the above approach.

In utilizing this type of arrangement, the communications system must incorporate some sort of routine whereby each receiver is able to obtain two independent copies of the data which can be compared. This can be accomplished by the simultaneous transmission of the data along parallel communication paths or repeated transmissions of the data along a single communication path. Although each of the receivers is now able to make a determination of a data failure at the time it occurs thus participating in the data guarantee routine, this approach also has disadvantages.

More specifically, the use of parallel paths to provide dual copies of the data is disadvantageous, because a dual expenditure is incurred in the development and maintenance of two communication paths. The use of repeated transmissions to provide dual copies is disadvantageous because transmission medium resources (i.e., transmission bandwidth or transmission time) are absorbed by the retransmission process. As described above, this prevents maximum use of transmission resources to support a continuous transmission of updated data, thus resulting in data delay. In addition to the above disadvantages, both arrangements have a more important disadvantage, in that, if there is a long-term failure in the single transmission path used with a retransmission approach, or if there are simultaneous failures in the parallel transmission paths used in a parallel transmission approach, the isolated receiver will not receive either copy of the data and, hence, will not know that data has been missed.

In many data communication systems, the data source means is heavily involved in the data recovery process. In these types of systems, an individual receiver with missing data initiates a direct communication with the data source along the data communication network in order to request a copy of any data which has been missed. In order for the data source to provide the data guarantee, the data source then must retransmit the data along the data communication network. Such an approach has a major disadvantage.

More specifically, important communication medium resources (i.e., transmission bandwidth or transmission time) are being absorbed by the use of the communications medium to provide the data guarantee. Rather than being able to devote a maximum amount of the medium resources to support a continuous transmission of updated data, a percentage of the resources must be dedicated to the data guarantee. As the number of occurrences of data recovery increases, more and more of the communications medium is used, resulting in a proportional increase in data delay.

Because of the above disadvantages and shortcomings, there still exists a need for a system and method which provide for the widespread, timely and reliable distribution of data to an unlimited number of remote receiver installations, while at the same time, providing for the delivery of data with minimum delay, and for an arra