MXPA00001133A - System and method for transmitting and receiving data - Google Patents

System and method for transmitting and receiving data

Info

Publication number
MXPA00001133A
MXPA00001133A MXPA/A/2000/001133A MXPA00001133A MXPA00001133A MX PA00001133 A MXPA00001133 A MX PA00001133A MX PA00001133 A MXPA00001133 A MX PA00001133A MX PA00001133 A MXPA00001133 A MX PA00001133A
Authority
MX
Mexico
Prior art keywords
data
file
packet
transmission
facility
Prior art date
Application number
MXPA/A/2000/001133A
Other languages
Spanish (es)
Inventor
Bruce A Blackwell
Franklin E Boyer
Timothy B Demers
Original Assignee
United Video Properties Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by United Video Properties Inc filed Critical United Video Properties Inc
Publication of MXPA00001133A publication Critical patent/MXPA00001133A/en

Links

Abstract

The present invention provides a system and method for transmitting and receiving data that can transmit data over a plurality of data paths simultaneously and that provides a plurality of transmission queues which enable data transmissions to be continuously prioritized and which do not cause bottlenecking of data. In the preferred embodiments, the present invention comprises a data transmission facility, at least one forward data path, at least one data reception facility, and at least one reverse data path. Data is transmitted in response to a request to transmit data which may be locally generated at the data transmission facility, or may be remotely generated at any of the data reception facilities and transmitted to the data transmission facility through the reverse data path. The requested data is then transmitted from the data transmission facility through at least one forward data path to at least one data reception facility. Data is transmitted in the form of at least one header packet and at least one data packet for each data file. In the event that errors are detected in this transmission of data, retransmissions of the corrupted data may then be requested by any of the data reception facilities through the reverse data path. The transmitted data is finally received by at least one data reception facility, where a copy of the requested data file is recovered and the data is used as desired.

Description

SYSTEM AND METHOD FOR TRANSMITTING AND RECEIVING DATA BACKGROUND OF THE INVENTION The present invention relates in general to systems and methods for transmitting and receiving data. More particularly, the present invention relates to systems and methods for transmitting and receiving data that allow priority to be given to data transmissions, which allow the dynamic grouping of data receivers, which allow the size to be varied. of data packets from file to file, and that provides a manifest process to ensure the presence, identity and integrity of data files, transmitted. Some systems and methods for transmitting and receiving data allow the transmission of data to be given priority. In many of these systems and methods, however, data transmissions must be given full priority before any data transmission can begin in order to ensure that transmission priorities are maintained. For example, under these systems and methods, once data transmission has started for a low priority data file, a data transmission for a high priority data file must wait for the end of the data.
P973 low priority transmission before it can start high priority transmission. In many cases, this prioritization approach results in a data bottleneck where very large, low priority data files that are being transmitted prevent the transmission of very small, high priority data files. Similarly, a bottleneck also occurs in cases where very large, high priority data files prevent a low priority, small file from being transmitted in a timely manner. This type of bottleneck may occur, for example, in the priority queue-based system described in Ellis et al., U.S. Patent No. 5,497,371. Frequently, it is desirable to send an individual data transmission from a transmitter to multiple receivers. Some systems and methods for transmitting data allow transmissions to be made to predetermined groups of individuals. Some of these and other systems and methods for transmitting data allow recipients to receive data for groups in which recipients are interested. None of these systems and methods, however, allows a transmitter to dynamically specify the receivers for an individual transmission at the time of transmission. Many systems and methods for transmitting data use packet-based transmission to transmit data from one place to another. These forms of packet-based transmission, however, are rigid in that they fix the size of each packet without considering the type of data file, the size of the data file, or the characteristics of the route over which they are to be transmitted. the data. Thus, in many of these systems and methods, the same packet size can be used to transmit a 100-byte file as used to transmit a 100-megabyte file, as an example. The use of the same packet size without considering the size of the file to be transmitted is inefficient because the percentage of the file of each packet is reduced rapidly as the size of the transmitted file grows. Finally, in many systems and methods for transmitting data, groups of data files are transmitted from one place to another like bunches of data files. Unfortunately, however, once these files arrive at their destination, the batch of files must be assumed to include all the composite files, because an additional indicator is not provided as to which files should be present. Additionally, each of the transmitted files is usually only identifiable by the name, date and time associated with the file. Finally, in order to process the received files in an appropriate manner, the receiving system must know what to do with the files after they have arrived. In view of the foregoing, it would be desirable to provide a system and method for transmitting and receiving data in which the data that is transmitted can be classified into categories while not causing a bottling of the data. Also, it would be desirable to provide a system and method for transmitting and receiving data in which multiple data receivers can be dynamically specified, just prior to a group data transmission. Additionally, it would be desirable to provide a system and method for transmitting and receiving data in which the size of the packets used in the transmission of the data can be varied from one file to another. It would still be desirable additionally to provide a system and method for transmitting and receiving data that can verify the presence, identity and integrity of each data file in a bunch of data file, transmitted.
SUMMARY OF THE INVENTION Therefore, it is an object of this invention to provide a system and method for transmitting and receiving data in which the data that is transmitted can be classified into categories, while not causing a bottling of the data. It is another object of this invention to provide a system and method for transmitting and receiving data in which multiple receivers can be dynamically specified, just before a group data transmission. It is a further object of this invention to provide a system and method for transmitting and receiving data in which the size of the packets used in the transmission of data can be varied from one file to another. It is a further object of this invention to provide a system and method for transmitting and receiving data that can verify the presence, identity and integrity of each data file in a bundle of data files, transmitted. These and other objects of the present invention are achieved by providing a system and method for transmitting and receiving data, giving priority to data transmissions, which allows the dynamic grouping of data receivers, which allows the size of data packets from one file to another, and that provide a manifest process for P973 ensure the presence, identity, and integrity of the data files, transmitted. In illustrative embodiments of the present invention, the data transmission and reception capabilities of the system and method are provided by a data transmission facility, at least one direct data path, at least one data reception facility, and at least a data path, inverted. Generally speaking, data is transmitted in this system and method in response to a request to transmit data. This request can be generated locally in the data transmission installation or it can be generated remotely in any of the data reception facilities and transmitted to the data transmission installation through the inverted data path. Once a request has been received, the requested data is then prepared and transmitted from the data transmission facility through at least one direct data route to at least one data reception facility. In the case that errors are detected in this data transmission, then re-transmissions of corrupted data can be requested by any of the data reception facilities through the inverted data route. The transmitted data is finally received with at least one data reception facility, where a copy of the data file, order is retrieved and the data is used as desired. The data can be transmitted in the form of at least one header packet and at least one data packet for each data file. One or more header packets each include information to identify the associated data file, to identify one or more objective data reception facilities, to identify and describe the associated data packets, to indicate the transmission priority of the data file. data, and to indicate the integrity of each header packet and data file. Each data packet transmitted in association with a data file includes a header packet identifier, associated, a data packet identifier, an indicator of the size of the data packet, at least a portion of the data in the data file, and a code to verify the integrity of the data in the data package. Before transmission, each of these header and data packets is constructed and queued in the data transmission facility. In response to a remote procedure call (RPC) request that is received at the data transmission facility, an RPC server constructs a new file header packet for new transmission requests or retrieves a file header packet, existing storage for retransmission requests. This file header packet is then transferred to one of a number of data transmission queues based on the size of the requested file and the priority indicated in the RPC request. Once the header packet has been transferred to a data transmission queue, the RPC server waits for and processes other RPC requests. After receiving this file header packet, each data transmission queue notifies a programmer that the queue has a data file that is waiting to be transmitted. Each time any of the queues contains data that is waiting to be transmitted, the programmer continuously selects the next queue from which the packet will be transmitted and the direct data route in which that queue will do so. By selecting this next queue, the programmer preferentially tries to maintain, based on the priority of each queue, a fixed ratio of the number of packet transmissions for each queue compared to the total number of packets transmitted in all queues. For example, in a data transmission facility with five queues that have priority from "1", "2", "3", "4", and "5", where priority "1" is the highest priority and the priority "5" is the lowest priority, the programmer can try to keep the number of data transmissions in sixteen, eight, four, two, and one for each of the five queues, respectively, for every thirty-one packets Totals transmitted from all the combined queues. In the selection of the direct data route in which each queue will transmit a header or data packet, the programmer preferentially tries to direct each queue to the direct data route, available, faster than not being used. when each queue is granted permission to transmit. Once the permission has been received and a selection of the direct data path of the programmer in a data transmission queue, the data transmission queue retrieves and transmits in the selected direct data route the next header packet. or of data that is going to be transmitted. After transmitting a header or data packet, the data transmission queue waits once more for a new permission indication and a direct data path selection until all the data packets for a data file have been transmitted. After all the data packets have been transmitted, the data transmission queue then notifies the programmer that no file is waiting to be transmitted so that the programmer will not attempt to give the queue permission to transmit data. The queue then copies, if necessary, the file header packet to storage, so that the queue will be able to satisfy any future re-transmission requests and then removes the file header packet from the queue. Once the header packet has been removed from the queue, the queue waits for other file header packets to be received from the RPC server.
BRIEF DESCRIPTION OF THE DRAWINGS The foregoing objects and others and advantages of the present invention will be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference numbers refer to similar parts throughout , and in which: Figure 1 is a block diagram of a data transmission and reception system, illustrative according to the present invention; Figure 2 is a data flow diagram representing the data flow in a computer of the transmission system according to the present invention; Figure 3 is a flowchart representing the processing function of the RPC handler of a computer of the transmission system according to the present invention; Figure 4 is a flowchart representing the tail processing function of a computer of the transmission system according to the present invention; Figure 5 is a flowchart representing the processing function of the programmer of a transmission system computer in accordance with the present invention; Figure 6 is a flowchart representing the reception processing function of a receiving computer according to the present invention; Figure 7 is a block diagram of an illustrative cable television data distribution system according to the present invention; and Figure 8 is a block diagram of a direct, illustrative, broadcast data distribution system according to the present invention.
DETAILED DESCRIPTION OF THE INVENTION In Figure 1 there is shown a system 10 for transmitting and receiving data according to the present invention. The system 10 has the installation 20 of P973 data transmission, at least one direct route 22 of data, at least one installation 24 for receiving data, and at least one inverted data route 26. The transmission of data in the system 10 is initiated by the generation of a remote procedure call request (RPC) in the data transmission installation 20, in one or more data reception facilities 24, or in another connected facility to the data transmission installation 20. Any of the RPC requests generated in a data reception installation 24 is transmitted to the data transmission facility 20 through one of the inverted data paths 26. The data transmission facility 20 responds to the RPC request by retrieving the obtained data, generating at least one header packet, generating at least one data packet, queuing the data and header packets, and transmitting the data packets. objects when appropriate. Prior to generating or transmitting the header and data packets, the data transmission facility 20 can perform compression, early bug fixes, encryption and / or any other appropriate data processing in the data of the header packets and of data . The packets are transmitted from the data transmission facility 20 to at least one installation 24 of P973 reception of data through at least one direct data route 22. All the packets transmitted from the data transmission installation 20 are monitored by the data reception facilities 24 and only those packets that are directed to an individual data reception installation 24 are then received by that individual reception facility 24. data. Once the packets transmitted by the data reception installation 24 have been received, the packets are then checked for transmission errors, and reconstructed in a copy of the data file, order. Before or after either verifying the errors or reconstructing the data file, the data reception installation 24 can also perform the decompression, detection and correction of errors, and the decryption of the data in the header and data packets received. In the event that any data reception installation 24 detects an error in a transmitted packet, a retransmission request may be generated in that data reception facility 24 for any or all of the transmitted packets and transported to the transmission facility 20. data through an inverted data route 26. Preferably, re-transmission requests are delayed in P973 each data reception facility 24 for a random period of time in order to make requests for the same packet from different data reception facilities 24 move in time. By delaying the re-transmission requests in this way, the first re-transmission of a replacement package will cause the subsequent re-transmission requests to be canceled in the reception facilities 24 that have not yet issued the request. Re-transmission request, associated. Alternatively, to coordinate and prioritize re-transmission requests, all requests can be synchronized to be transmitted at the same time from all data reception facilities 24. For example, a re-transmission request for a priority data packet "3" must be profitably delayed until a predetermined time of the day (eg, 3:00 a.m.) or delayed for a fixed period of time (e.g. 6 hours) . This allows the re-transmission requests from the multiple data reception facilities 24 to be received in a substantially simultaneous manner, and thus preventing duplicate re-transmissions of the data header packets. The data transmission installation 20 preferably includes a transmission system 28, a P973 server 30 of the system, and a data network 32. The transmission system 28 controls the transmission of the data from the data transmission installation 20. The functions performed by the transmission system 28 may include storage of data transmitted in the system 10, generation of the RPC requests, processing of the RPC requests, generation of the header and data packets for the requested data, the setting queuing of data and header packets, programming of packet transmissions, and transmission of header and data packets. Although these functions can be effectively implemented in a multi-tasking, individual computer, running an operating system such as Windows NT or Unix, these functions can also be included through more than one platform and coordinate using communication protocols between the individual functions. For example, instead of storing the data in the transmission system 28, the data can be stored in a dedicated data server that receives instructions from the transmission system 28 and provides the requested data on request. The transmission system 28 includes a main computer 34 and the backup computer 36, and a switch 38. The main computer 34 and the P973 back-up computer 36 are preferably identical machines running a similar computing program, so that if the main computer 34 fails, the back-up computer 36 can maintain almost no junctions the functions of the transmission system 28. Accordingly, both the main computer 34 and the backup computer 36 preferably have physical equipment and / or computer programs that allow each to perform the functions of the transmission system 28, mentioned above. To more effectively provide its backup function, the backup computer 36 receives and preferentially processes all data and RPC requests that are transmitted to the main computer 34. To allow the backup computer 36 to connect each route 22 direct data, the switch 38 is provided between the main computer 34, the backup computer 36 and each direct route 22 data. Preferably, the switch 38 is an intelligent switch that is capable of automatically detecting a fault in the main computer 34 and switching the connection between each direct data path 22 and the main computer 34 to a connection between each data path 22 and the backup computer 36, although a manual switch, or operator-operated switch, or any other suitable switch may also be used.
P973 The system server 30 provides a data request mechanism through which at least one data reception facility 24 can request original transmission of data and re-transmissions of data packets and header, previously transmitted, corrupted. These requests can be generated in the data reception installation 24 and transported to the server 30 of the system through the inverted data route 26. The server 30 of the system preferably comprises the physical equipment and / or computer programs that enable it to maintain bidirectional data communications with a plurality of data reception facilities 24, in a simultaneous manner. To communicate the transmission and re-transmission requests received in the system server 30, to the transmission system 28, the system server 30 is connected to the main computer 34 and the backup computer 36 through the data network 32. Although the data network 32 is illustrated in Figure 1 as being connected only to the main computer 34, the backup computer 36, and the system server 30, it should be understood that the data network 32 can be connected to other computers, servers, network equipment, networks, and any other suitable device. This arrangement allows P973 that additional data sources and RFC requests for the transmission system 28 are connected to the data network 32. The data network 32 is preferably an Ethernet network. If desired, the data network 32 can be implemented using communication systems based on satellites, telephone, computer network, Internet, radiofrequency and optical components, or any other suitable communication system, or any suitable combination of these communication systems. . As indicated above, data is transmitted in the system 10 from the data transmission installation 20 to the data reception installation 24 through at least one direct data route 22. As illustrated, each direct data path 22 uses at least a portion of a satellite transmitter 40, at least a portion of a satellite transponder 42, and at least a portion of a satellite receiver 44. The system 10 preferably has multiple direct, parallel data paths 22. In this implementation, the multiple direct data paths 22 may use one or more satellite transmitters 40, one or more satellite transponders 42, and one or more satellite receivers 44. To maximize the effective data rate available in the sum of all direct, parallel data routes 22, each direct data route 22 is preferably operated on the P973 higher data rate, available. Although a direct data route 22 is illustrated in Figure 1 as implemented using satellite-based communications, any data route 22 could be similarly increased using communication systems based on telephone, radiocomputer, Internet, radio frequency and optical components. , or any other communication system, box, or any suitable combination of these communication systems. The data reception facility 24 can be any device capable of receiving data transmissions from the data transmission facility 20 in the form of a header packet followed by at least one data packet. Once these packets are received, the data receiving facility 24 may be able to store these packets and to build a copy of the original data file. Preferably, the data reception facility will also be capable of requesting transmissions of new data and detecting errors in the previously transmitted data and header packets, and of requesting retransmissions of these packets. The data reception facility 24 can also perform the decompression, error detection and correction, and decryption of the data in the data header packets received from the installation 20 P973 data transmission. As illustrated, the data receiving installation 24 can be a computer such as a personal computer, or it can also be a television, a television, a VCR, or any other device capable of receiving, manipulating and storing data. . The inverted data path 26 as illustrated, comprises at least one modem 46 (which is preferably located near the data reception facility 24), at least one telephone network 49, and at least one modem bank 48 ( to be preferably located near the data transmission facility 20). The inverted data path 26 provides a route through which the RPC requests for the transmissions of new data and the corrupted data retransmissions, previously transmitted, can be transported from the data reception installation 24 to the installation. 20 of data transmission. The inverted data path 26 can also be used to send diagnostic, configuration, re-start and emergency data between the data transmission facility 20 and the data reception installation 24. Additionally, the inverted data path 26 may be used to transmit the data from the data transmission facility 20 to the data reception installation 24. For example, a P973 data reception installation 24 may request a retransmission of a header packet from the data transmission facility 20. Because the header packets are of a relatively small size and can be easily transmitted over the inverted data path 26, this route is preferably used to satisfy the re-transmission of requests from the header packets, instead if a direct route 22 of data is used. Likewise, as another example, data requests for very time-sensitive data can be satisfied using the inverted data path 26, in addition to, or instead, queuing the data through any direct data route 22. . Although the reverse route 26 of data is illustrated in Figure 1 as being implemented using communications based on a telephone, the inverted data route 26 can be implemented in a similar manner using satellite-based data communication systems, computer networks, Internet, radiofrequency and optical components, or any other suitable data communication system, or any suitable combination of data communication systems. In addition, the direct data paths 22 and the inverted data paths 26 can be combined into at least one bidirectional data path. Inverted data paths 26 are optional P973 each time the inability to generate RPC requests for new data transmissions and for replacement data transmissions from an associated data receiving facility 24 can be tolerated. In a system 10 without inverted data paths 26, the server 30 of the system is not required. In Figure 2 there is shown a data flow arrangement, illustrative for the data in the main computer 34 of the transmission system 28 (Figure 1). The RPC 87 requests for new data transmissions and replacement data transmission are processed by the RPC server 88. These RPC 87 requests may be generated within the main computer 34 or transmitted to the main computer 34 through the RPC request entry 107. For requests for transmission of new data, the RPC server 88 first determines whether a copy indicator is set in the RPC request 87. If the copy indicator is set, the requested data file is copied from the storage device 86 external to a file storage device 90. The file storage device 90 typically stores a data file for a fixed period of time such as a week, month, or other suitable duration of time, although other mechanisms are used to determine when a file should be archived.
P973 data file in the file storage device 90 can be implemented in a similar manner with the present invention. Once the data file has been copied, a file header packet 94 for the data file is constructed (or retrieved from a file header description collection area 92, if it was previously constructed). The file header pack 94 preferably includes a synchronization pattern, a package type identifier, data indicators, a machine address of the data reception facility, an address of the group of data reception facilities , an indication of the number of data packets for the associated data file, an indication of the size of each data packet, an identification number of the data file, a priority identifier, a name of the source of the data file, file attributes, a file date and time, a file name, and two 32-bit cyclic redundancy identification (CRC) codes. These pieces of information are included in the data file header package 94 to assist the data reception installation 24 (Figure 1) in the reception and reconstruction of the transmitted data file. More particularly, the pattern of P973 synchronization is used to identify the beginning of the header packet and to verify that all data bits in the direct transmission route 22, used (Figure 1) are operating properly. In an illustrative embodiment of the present invention, the synchronization pattern is the hexadecimal number 55AA. The identifier of the packet type can be used to indicate to the data reception installation 24 (Figure 1) the type, version and other characteristics of the received packet. For example, an identifier of the packet type of "1" may indicate a first version of a header packet 94, an identifier of packet type of "2" may indicate a first version of a packet of data 95, an identifier of packet type of "3" may indicate a second version of a header packet 94, and a packet type identifier of "4" may indicate a second version of a packet of data 95. The data indicators are used in the header packet 94 to indicate if the associated data file can be resent (if necessary) and if the data file is to be archived in transmission system 28 (Figure 1). The machine address of the data reception facility and the address of the group of data reception facilities are used for P973 identify which 24 data reception facilities (Figure 1) are supposed to receive the data that is transmitted. Each data reception installation 24 (Figure 1) has a unique address of the data installation machine. If the machine address of the data receiving facility in the header packet 94 has a non-zero value, this address indicates that the data receiving facility 24 (Figure 1) is for receiving the header packet 94 and the associated data packets 95. In order to transmit the data to more than one data reception facility 24 (Figure 1), group addresses can be used to designate a predetermined group of data reception facilities 24 (Figure 1). For example, an address of the group of data reception facilities of "1" may be used for all data reception facilities 24 (Figure 1) in a central region of the United States of America. When the group address is designated in a header packet, the address of the machine is preferably zero to avoid any ambiguity that header packet 94 and associated data packets 95 are intended for facilities 24 of the data section ( Figure 1) that correspond to that group address. To allow groups of facilities P973 data reception (Figure 1) are grouped dynamically, the present invention allows multiple copies of a header packet 94 to be generated for each data file. Each copy of the header packet 94 is identical except for the machine address of the data receiving facility. This machine address in each copy of the header packet 94 is used to identify a member of the dynamic group. Then, when transmitting a header packet 94 to each member of the dynamic group, each member will then recognize that the associated data packets 95 are pointed by that particular data receiving facility 24 (Figure 1). In order to transport to each data receiving facility 24 (Figure 1) that receives the data packets 95 as large as the final data file is going to be, the header packet 94 indicates the number of data packets 95 for the associated data file and the size of each data packet 95. For example, for a data file of 1024 bytes, the header packet 94 may indicate that eleven data packets 95 having 100 bytes of file data are going to send each one to a data reception installation 24 (Figure 1). In this example, an indicator of the packet size in the last data packet 95 will indicate that the data packet contains only twenty-four bytes of file data (and P973 sixty-six bytes of padding data) instead of the one hundred bytes of file data as contained in the previous ten data packets. Because the maximum size of each data packet 95 is indicated through the header packet 94, the data receiving facilities 24 (Figure 1) can adjust the data buffers in which data can be efficiently stored. 95 data packets received. The size of the data packets 95 can be based on factors such as the optimal size of the transmission buffer for a direct data route 22 (Figure 1), the size of the data file, if the correction of the data is being applied. errors in advance or compression to the data, or any other suitable factor. For example, a direct data route 22 (Figure 1) can achieve optimal transmission speeds when transmitting buffers of eight kilo-bytes of data. In this case, the data packets will preferably be eight kilo-bytes each to take advantage of this feature of the direct data path 22 (Figure 1). Although the size of the data packets is fixed for each data packet corresponding to a data file by the designated size in the associated header packet, the size of the data packets may vary from data file to file of data to P973 simply change the size of the data packet designated in each header packet. The identification number of the data file is a 32-bit number that is assigned sequentially by the data transmission installation 20 (Figure 1) to each data file transmitted in the system 10 (Figure 1). This number is then included in each data packet 95 transmitted in association with a header packet 94. Because 4,294,967,296 data files are to be transmitted from the data transmission facility 20 (Figure 1) before it turns around. identification number of the data file, a particular identification number of the data file is essentially an unambiguous identifier that the data packets 95 that are being transmitted with that number are associated with the corresponding header packet 94. The priority identifier included in the header packet 94 indicates what priority is associated with a data file for which a header packet 94 was generated. This priority can indicate how urgently the data file should be transmitted to an installation 24 of data reception (Figure 1) and how big is the data file. For example, in preferred embodiments of the present invention, data files with a priority of "1" have the highest priority. The P973 files must be transmitted before and / or at a higher data rate than a file with priorities of "2" or less. To prevent the system 10 (Figure 1) from becoming bottled by extremely large files with high priorities, limits can be placed on the maximum size of each file with a given priority. For example, priority "1" can be limited to data files smaller than 1 kilobyte, while priority "3" can only be limited to files that do not exceed 100 kilobytes. The two 32-bit CRC codes included in the header packet 94 are used to verify the integrity of the header packet 94 and the reconstructed data file from the header packets 95 associated with the header packet 94. Using a cyclic redundancy check process, corruption of the data that may occur during the construction of the header packet 94, analyzing the original data file, during the transmission of the header packet 94 or data packet 95, or during the construction of the data file. In the event that an error is detected based on any of these 32-bit CRC codes, the target reception facility 24 (Figure 1) may request that a new header packet 94 be transmitted, a new P973 data pack 95, or a new full data file. Once the header packet 94 has been constructed by the RPC server 88, the header packet 94 is placed in an appropriate queue 96, 98, 100, 102, or 104 by the RPC server 88. Preferably, each tail 96, 98, 100, 102, and 104 is a first-in and first-out queue (FIFO) and therefore, each packet entered in the queue is placed in the last position in the tail's output order . However, alternatively, the tails 96, 98, 100, 102 and 104 may allow the RPC server 88 to select the position of the queue in which a header packet 94 or a data packet 95 is placed in order to to achieve another level of priority within each queue. As illustrated, the host computer 34 comprises five queues 96, 98, 100, 102 and 104 which have priorities, as described above, of "1", "2", "3", "4" and "5" , respectively. For tails 96, 98, 100, 102 and 104, the data output rates are preferably sixteen, eight, four, two and a header packet 94 and / or data packet 95 for each thirty one header packets. and / or data packet 95 transferred from all queues 96, 98, 100, 102, and 104, combined. These proportions apply only in cases where the five tails 96, 98, 100, 102 and 104 have data that P97-are waiting to be transferred. For example, if all queues 96, 98, 100 and 102 with priority levels "1", "2", "3", and "4", respectively, are empty, the data in queue 104 with a level of Priority "5" will be transferred without interruption. Although in the illustrative embodiment of the invention, host 34 is implemented with five queues 96, 98, 100, 102 and 104, each having a unique priority value and each priority value corresponding to a data rate of fixed output, other queue numbers can be implemented with some, none or all with the same priority values and some, none or all priority values that correspond to a fixed proportion of output data. For example, the present invention can be implemented using three queues, one of which has a "high" priority value and the others of which have a "low" priority value. In this example, the data can be transferred from the queues so that all data in the "high" priority queue is transferred before any other data is transferred from any of the "low" priority queues. After the header packet 94 is loaded into the appropriate queue 96, 98, 100, 102 and 104, the queue notifies the scheduler 106 that the queue has a file of P973 data that is waiting to be transmitted. The scheduler 106 controls the transmission of the header packets 94 and the data packets 95 of the queues 96, 98, 100, 102 and 104. The scheduler 106 preferably ensures that the packet output rate for each of the queues 96, 98, 100, 102 and 104 correspond to the priority assigned to each one. Programmer 106 also assigns the output of each queue 96, 98, 100, 102 and 104 to a direct data route 22 available and ensures that two queues 96, 98, 100, 102 or 104 attempt to transmit through it. direct route 22 data, in a simultaneous manner. This is achieved by requesting that the queues 96, 98, 100, 102 or 104 receive all permission from the scheduler 106 before any of the queues 96, 98, 100, 102 or 104 can be transmitted. permission to a queue by the programmer 106, the programmer verifies to verify that the queues still have the data to be transmitted and then selects the next queue that will transmit. When a queue 96, 98, 100, 102 or 104 receives permission to transmit from the operator 106, the queue receives the next packet that it will transmit and then transmits the packet on the direct data route 22, selected (Figure 1) . The first packet transmitted by each data file is always a header packet 94. The P973 additional header packets 94 can also be transmitted immediately after the first packet when using dynamic groups of data reception facilities 24 (Figure 1). Additionally, in implementations of the system 10 (Figure 1), in which any queue 96, 98, 100, 102 or 104 will simultaneously transmit data packets 96 for the same data file, on two or more direct data routes 22 (Figure 1), preferably, a copy of each header packet 94 is transmitted for this data file, on each of the direct data routes 22 (Figure 1) to be used. By transmitting each header packet 94 on each of the direct data paths 22 (Figure 1) to be used, the backup copies of the header packets 95 are provided to each data receiving facility 24 (Figure 1). 1) and the possibility that a data packet 95 will be received in a data receiving facility 24 (Figure 1) before the associated header packet 94 is removed. Once each header packet 94 for a data file has been transmitted, the associated queue 96, 98, 100, 102 or 104 then processes the data packets 95 for the data file. In doing so, the queue 96, 98, 100, 102 and 104 first retrieves the data for each data packet 95 from the storage collection 90 of the P973 file or external storage 86, as necessary, and builds a data packet 95. By providing queues 96, 98, 100, 102, and 104 with different transmission properties, and by scheduling transmissions of these queues to maintain a ratio of fixed output between the tails, the bottling problem is solved. For example, low priority, large transmissions will not block small, high priority transmissions, because high priority transmissions will be transmitted through a different queue than low priority transmissions. As another matter, large high-priority transmissions will not completely block small transmissions of low priority because maintenance at a fixed output relationship between queues ensures that the data is being continuously transferred from all queues. Each data packet 95 preferably includes a synchronization pattern, an identifier of the packet type, an identification number of the data file, a number of the data packet, an indication of the number of bytes of data in the packet, package data and a 32-bit CRC code. Similar to that in the header packet 94, the synchronization packet in each data packet 95 is used to synchronize the reception of the data packet 95 and P973 verify that all the bits in the direct route 22 of data used are working. The identifier of the type of packets can be used to indicate to the data reception installation 24 (Figure 1) the type, version and other characteristics of the received packet. For example, an identifier of the packet type of "1" may indicate a first version of a header packet 94, a packet type identifier "2" may indicate a first version of the packet of data 95, an identifier of the type of packet. package of "3" may indicate a second version of a header packet 94, and an identifier of packet type of "4" may indicate a second version of a packet of data 95. As described together with the package description of header 94, the identification number of the data file is used to associate all data packets 95 for a data file with a corresponding packet or more header packets 94. A data packet number is used to indicate which number of each data packet 95 is in a series of many data packets 95 for a given data file. For example, the first data packet 95 of a series of one hundred data packets 95 for a data file may have a data packet number of one and the last data packet 95 of the series may have a number of data packets of one.
P973 one hundred data package. By monitoring the sequence of the data packet numbers, a data reception facility 24 (Figure 1) can determine if the data packet 95 has been lost during transmission from a jump in the data packet numbers of the two data packets 95 consecutively received. As described above, the number of bytes of data in each data packet 95 is indicated so that the data packets 95 that are not complete can be identified by each target receiving facility 24 (Figure 1). The data in the packet comprises at least a portion of the data from the original data file that will be used to reconstruct the data file in each target installation 24 (Figure 1). The 32-bit CRC code is provided to identify errors in each data packet 95. By providing a CRC code for each data packet 95, a sought-after data receiving facility 24 (Figure 1) can identify the data packets. 95 corrupted, individual from the data file and request the retransmission only of corrupted data packets 95 instead of having to request the retransmission of the complete data file. After a package of P973 data 95, the queue, once again, waits for permission to transmit and the address as to which direct data route 22 (Figure 1) is going to do it, which will be received from programmer 106. After it is has received the permission, queue 96, 98, 100, 102, or 104 then transmits the data packet 95 in the direct route 22 of data, selected (Figure 1). This processing of the data packet 95 is repeated in queue 96, 98, 100, 102, or 104 until all the data packets 96 for the data file have been transmitted. Once all of the data packets 95 have been transmitted, queue 96, 98, 100, 102 or 104 notifies the scheduler 106 that no further data is waiting to be transmitted in the queue. Finally, each header packet 94 is removed from queue 96, 98, 100, 102 or 104 from which the packet was transmitted. However, a header packet 94 has a re-send indicator in the data flags of the header packet 94, and the header packet 94 is copied to a file header description collection area 92 prior to removal. of the queue 96, 98, 100, 102 or 104. Preferably, each queue 96, 98, 100, 102 and 104 processes only one data file at a time and therefore does not accept new header packets 94 from the server of RPC 88 before transmitting the last packet of P973 data 95 for a data file. However, alternatively each queue 96, 98, 100, 102 and 104 may receive other header packets 94 between the recovery and construction of the data packets, and thus interleaves multiple header packets 94 of data files and data packets 95 on the same queue 96, 98, 100, 102 and 104. A process 108 of the RPC server, a queue process 128, and a programmer process 154 are illustrated respectively in FIGS. 3, 4 and 5 it can be done in the RPC server 88 (Figure 2), the tails 96, 98, 100, 102 and 104 (Figure 2) and the programmer 106 (Figure 2), respectively, and which are in accordance with the present invention. As shown in Figure 3, after the RPC server process 108 has started in step 110, the RPC server 88 (Figure 2) waits and receives an RPC request 87 (Figure 2) to transmit a file data in step 114. Once an RPC request 87 (Figure 2) has been received in step 114, the RPC server 88 (Figure 2) determines whether the RPC request 87 (Figure 2) is a request for re-transmission in step 116. If it is determined that the RPC request 87 (Figure 2) is going to be a re-transmission request in step 16, then the header packet 94 of the file The corresponding P973 (Figure 2) is retrieved from the description header area 92 of the file header (Figure 2) in step 118 and then transferred to the appropriate tail process 128 (Figure 3) running in the tail 96, 98 , 100, 102 or 104 (Figure 2). In step 126 based on the priority indicated in the file header package 94 (Figure 2) and the size of the data file. After the file header package 94 has been transferred (Figure 2), the RPC server process 108 is returned to step 114 to await another RPC 94 request (Figure 2). If it is determined that the RPC request 87 (Figure 2) is not a re-transmission request in step 116, then the process 108 of the RPC server determines in step 120 whether a copy indicator is set in the request. RPC 87 (Figure 2) for the associated data file. If it is determined that a copy indicator is set in step 120, then the data file is copied to the file storage device 90 (Figure 2) in step 122. If it is determined that the copy indicator is not set in step 120 or once the data file has been copied in step 122, a file header packet 94 (Figure 2) for the data file is constructed in step 124. Once the data file has been 94 file header pack P973 (Fig. 2) in step 124, the file header packet 94 (Fig. 2) is transferred to the appropriate queue process 128 (Fig. 3) which runs in queue 96, 98, 100, 102 or 104 (Fig. 2) in step 126 preferably based on the priority indicated in the file header package 94 (Figure 2) and the size of the data file. After the file header pack 94 has been transferred (Figure 2), the RPC server process 108 is returned to step 114 to await another RPC 94 request (Figure 2). As shown in Figure 4, after the queuing process 128 has begun, in step 130, the queue process 128 waits for and receives a file header packet 94 (Figure 2) the step 126 of the process 108 of RPC server (Figure 3). If the RPC server process 108 (Figure 3) is transmitting file header packets 94 (Figure 2) faster than queue processes 128 can process the received header packets 94 (Figure 2), there may be a combination of the file header packets 94 (Figure 2) that the queue process 128 does not have to wait in step 132. Once the file header packet 94 has been received (Figure 2), the queue process 128 notifies step 158 of the scheduler process 154 (Figure 5) that a data file is waiting to be transmitted in the P973 step 136. The queue process then waits and receives the transmission permission from step 162 of the scheduler process 154 (Figure 5). By granting permission to the queue process 128, the scheduler process 154 (FIG. 5) also indicates which direct route 22 of data (FIG. 1), queue 96, 98, 100, 102 or 104 can be transmitted. Once the transmission permission has been received, a file header 94 packet or a file data packet 95 (Figure 2) is recovered or constructed (if necessary), in step 139. This packet is then transmitted in step 140. After each packet has been transmitted, the queue process 128 determines whether there are more data packets 95 (FIG. 2) to be transmitted for the data file that will be transmitted in step 134. If there are more data packets 95 (Figure 2) to be transmitted, the queue process 128 returns to step 138 to wait for the permission to transmit again. Otherwise, if there are no more data packets 95 (Figure 2) to be transmitted for the data file, the queue process 128 then notifies step 158 of the scheduler process 154 (Figure 5) that no further data is waiting to be transmitted from the queue of step 147. The queue process 128 then determines in step 148 whether a re-send indicator is set in the header packet of P973 file 94 (Figure 2) associated with the data file being transmitted. If a re-adjustment indicator is determined to be set in step 148, then the file header pack 94 (Figure 2) is copied to the file header description correction area 92 (Figure 2) in step 150. If a readjustment indicator is determined that is not set in step 148 or once it has been copied in step 150 to the file header packet 94 (Figure 2), then the file header packet 94 (Figure 2) it is removed from queue 96, 98, 100, 102 or 104 from which the file header packet 94 is being transmitted (Figure 2). Once the file header packet 94 has been removed (Figure 2), the queue process 128 returns to step 132 to expect it to receive another file header packet 94 (Figure 2) from step 126 of the server process 108. of RPC (Figure 3) . As shown in Figure 5, once the scheduler process 154 has begun in step 156, the scheduler process 154 receives notifications in step 158 that the files are waiting to be transmitted from step 136 of the queue process 128. (Figure 4) . Once the scheduler process 154 receives the notification that a file is waiting to be transmitted in step 158, the programmer process 154 P973 selects the next queue 96, 98, 100, 102 or 104 (Figure 2) in step 160 from which the header packet 94 is to be transmitted over a data packet 95 (Figure 2). The scheduler process 154 also selects a direct data route 22 (Figure 1) in step 160 in which the selected queue 96, 98, 100, 102 or 104 (Figure 2) will transmit its header packet 94 to the data packet. 95 (Figure 2). Preferably, when possible, the scheduler process 154 selects the direct data route 22 (Figure 1) in which the selected queue 96, 98, 100, 102 or 104 will transmit data in order to ensure that the multiple Direct data paths 22 (FIG. 1) are used to transmit the header packets 94 or the data packets 95 (FIG. 2) from each of the queues 96, 98, 100, 102 and 104. The process 154 of FIG. The programmer then sends in step 162 the permission to transmit and the selection of the data route 22 (Figure 1) to step 138 of the queue process 128 (Figure 4). Once permission has been given, the scheduler process 154 returns to step 156 to receive notifications indicating which queues 96, 98, 100, 102 and 104 (Figure 2) have data files that are waiting to be transmitted. Figure 6 shows a reception process 174 for receiving data files in the data reception installation 24. It should be noted that they can be P973 run multiple instances of this process in each installation 24 of receiving data at any given time to receive multiple transmissions of data files. Once the receiving process 174 of step 176 has begun, the receiving process 174 waits for and receives a file packet in step 178. In step 180, the process 174 then determines whether this packet is a data packet. (Figure 2) in step 180. If it is determined that the packet will not be a data packet 95 (Figure 2) in step 180, then process 174 determines whether the packet is a header packet 94 (Figure 2). ) in step 182. If it is determined that the packet is going to be a header packet 94 (Figure 2) in step 182, then the packet is stored in step 184, otherwise process 174 returns to step 178 to wait and receive another package of files. However, if in step 180, the received packet is determined to be a data packet 95 (FIG. 2), then the process 174 determines whether a header packet 94 (FIG. 2) is associated with this packet of data. 95 (Figure 2) has been stored in step 186. If a header packet 94 (Figure 2) has not been stored, process 174 generates an RPC request 87 (Figure 2) for the re-transmission of the header packet. 94 lost (Figure 2) in step 188 and returns to step 178 to P973 wait and receive another package. If it has been determined that a header packet 94 (Figure 2) is to be stored in step 186, then process 174 determines, in step 190, if header packet 94, stored (Figure 2) is addressed in the data receiving facility 24 (Figure 1) in which this reception process 174. is running. If the stored header packet is not being directed to this facility 24 (Figure 1), then process 174 returns to step 178 to wait and receive another package. If in step 190, however, the header packet 94 stored (Figure 2) determines that it will be directed to the installation 24 (Figure 1), then the process 174 stores the data packet 95 (Figure 2) in the step 192. Once the data packet 95 has been stored (Figure 2), the process 174 determines whether this data packet 95 (Figure 2) must have been the last data packet 95 (Figure 2) in step 194 If other data packets 95 are expected (Figure 3), then process 174 returns to step 178 to wait and receive another packet. If you do not expect other data packages 95 (Figure 2), then the process 174 determines whether the data file is complete in the received data packets 95 (Figure 2) in step 196. If the data file is not complete in the received data packets.
P973 95 (FIG. 2), the process 174 generates an RPC request 87 (FIG. 2) for the retransmission of any of the received data packets 95 (FIG. 2) in step 197. If it is determined that the data will be complete in step 196, then the data file is checked for errors in step 198. If the data file determines that it contains errors in step 198, then process 174 requests the re-transmission of the complete file data in step 199 and return to step 178 to wait and receive another packet. However, if the file is found to be free of errors in step 198, then process 174 stores the data file as a valid file. Once the valid data file has been stored, process 174 returns to step 178 to receive other packets. In Figure 7 there is shown a cable data distribution system 1, illustrative according to the present invention. The cable data distribution system 11 can be used to transmit data from a central facility to the homes of cable subscribers. The data may include: computer programs for execution in an adaptation unit, and video recorders, television, personal computers, video games or other suitable devices; guide data for interactive programs, such as titles of programs P973 television, schedules, detailed information, etc .; continuously updated sports information such as game scores, statistics, etc .; weather information such as storm alerts and national and local forecasts; news information such as news cable feeds, commodity quotes, etc .; short music and audio videos; graphic files for entertainment, etc .; diagnosis, configuration, reinitialization and emergency data, or any other suitable data. As shown, the system 11 has a data transmission facility 20, a satellite transmitter 40, a satellite transponder 42, a plurality of satellite receivers 44, a plurality of data reception facilities 24, cable headend. , a plurality of cable networks 168, a plurality of adaptation units 166, and a plurality of television sets 170. Similar to its previous description in conjunction with Figure 1, the data transmission facility 20 is used in the system 11. to control the distribution of the data to each of the data reception facilities 24. The data transmission facility 20 may contain storage for all data distributed throughout the system 11, or some or all of the data may be provided to the transmission facility 20.
P973 data through a data input 167 connected to the data network 32 (Figure 1) of the data transmission installation 20. Once the data for re-transmission by the data transmission installation 20 has been prepared, as described above, together with Figures 1-5, the data is transmitted from the satellite transmitter 40 through the transponder 42 satellite to 44 satellite receivers. The data received in the satellite receivers 44 is then transferred to each cable header data reception installation 24. Each cable header data reception facility 24 then reconstructs the data file, requests, via telephone line 49, the re-transmission of any of the header packets 94 or corrupted data packets 95 (Figure 2). during the transmission. After the data file has been reconstructed, the data is transferred through the cable networks 168 of each cable header data reception installation 24 to the adaptation units 166 in the homes of the cable subscribers. The adaptation units 166 then receive the data file, store the data file and use the data in a desired manner. For example, in an implementation where system 11 is used to transmit data from the guide P973 interactive programs to the homes of the subscribers, the adaptation units 166 can receive and store the data in the interactive program guide, generate a presentation of the data, and have the presentation displayed on the 170 television sets. illustrated in Figure 8, the present invention can also be implemented in a system 12 that uses direct broadcasting of the data from the homes of the subscribers. In this system 12, data, such as those types listed above in conjunction with Figure 7, can be transmitted from a data transmission facility 20 through a satellite transponder 42 to a plurality of satellite receivers 44. Also, as described above, this data can be stored locally in a data transmission facility 20 or can be provided to the installation 20 and data transmission through a data input 167 connected to the data network 32 (Figure 1) in the data transmission installation 20. The header packets 94 and the data packets 95 (Figure 2) received in the satellite receivers 94 can then be transferred to the data reception facilities in the adaptation units 172. The data reception facilities in the units of adaptation 172 then they can rebuild the P973 data files in packets 94 and 95 (Figure 2), requesting the transmission array for any of the corrupted packets 94 and 95 (Figure 2) via telephone lines 49. Once the data file has been Once reconstructed, the adaptation units 172 can store the data file and use the data in a desired manner. For example, in an interactive program guide, as described in conjunction with Figure 7, they can be presented on 170 television sets. To further integrate and automate the way in which data files are verified and used once received in the data reception facility 24 (Figure 1), a manifest process 202 is provided as illustrated in Figure 9. This manifest process 202 is executed in both the data transmission facility 20 (Figure 1), particularly in the main computer 34 or backup computer 36 (Figure 1), as in the data reception facilities 24 (Figure 1). Once the manifest process 202 has begun in step 204, the 206 step of the manifest process 202 constructs, in the data transmission installation 20 (Figure 1), a manifest that lists the information with respect to the files of data, for which it has been received in the RPC 87 requests (Figure 2). This manifesto may include information such as P973 file name, a file and time date, a 32-bit CRC code, one or more orders to be executed, etc., for each requested data file. The manifest is then transmitted in step 208 from the data transmission facility 20 (Figure 1) and is received in step 120 in the data reception facility 24 (Figure 1). After it is received, the information in the manifest is used in step 212 to verify the presence, identity and integrity of all the files for which they include the information in the price. For example, in addition to checking the name, date and time of each file in the manifest, the manifest process can use the CRC code to verify that the contents of the received data file correspond to those in the data file that is supposed to be It was transmitted. In step 214, the manifest process 202 then determines whether any manifest file is absent or corrupted. If it is determined that one or more files are absent or corrupted in step 214, the manifest process 202 generates in step 216 one or more RPC requests 87 (Figure 2) and is sent from the data reception installation 24 (FIG. Figure 1) to the data transmission installation 20 (Figure 1) to request the retransmission of one or more missing or corrupted data files. The manifest process 202 P973 then waits at step 218 for the replacement files that are to be received for the one or more missing or corrupted data files. After the replacement files have been received, the manifest process 202 returns to step 212 to verify the presence, identity and integrity of the data files in the manifest. However, if it is determined in step 214 that there is no corrupted or absent file, then the manifest process 202 performs one or more orders for each data file. These commands may include a basic file order such as move, copy, delete, rename and execute, as well as specific orders or process signaling. For example, a signaling command can be used in a system 12 as illustrated in Figure 7 to signal that new data has been received in a time process running in the adaptation unit 172, and that this data should be read and displaying on the television 170. When all the processing of the orders has been completed, the manifest process 202 ends at step 222. It will be understood that the foregoing is only illustrative of the principles of the invention and various modifications can be made by those skilled in the art without departing from the scope and principles of the invention, which is limited only by the following claims.
P973

Claims (18)

  1. CLAIMS; 1. A method for transmitting data from a data transmission facility to a data reception facility that reduces data bottling, where data portions are placed in multiple queues based on priority, the method comprising: placing a first portion of the data in a first transmission queue based on a first priority associated with the first data portion and the first transmission queue, wherein the first transmission queue has a first, fixed, output data rate associated; placing a second portion of the data in a second transmission queue based on a second priority associated with the second portion of the data, and the second transmission queue, wherein the second transmission queue has a second output data rate, fixed, associated; and transmitting the first portion of the data of the first transmission queue in the first fixed output data rate and the second portion of the data of the second transmission queue in the second fixed output data rate, in such a way that a fixed output ratio of the first data portion transmitted in the first fixed output data rate to the second P973 portion of the data transmitted in the second fixed output data rate is maintained between the first transmission queue and the second transmission queue.
  2. 2. A method for transmitting a file header packet from a file data packet of a data transmission facility to a data reception facility, the method comprising: selecting from a plurality of queues, each of which has a priority ratio, a queue in which the file header packet and the file data packet will be given priority, based on the priority ratio and a transmission priority that is associated with the packet of file header and file data package; queue the file header packet and the file data packet in the selected queue; selecting from a plurality of direct data paths, a first direct data path and a second direct data path in which to transmit the file header packet and the file data packet; transmit the file header packet in the first direct data path; and transmit the file data packet in the second direct data route. P97- 3. A method for transmitting a file header packet and a file data packet from a data transmission facility to a data reception facility, the method comprising: selecting from a plurality of routes direct data, a first direct data route and a second direct data route in which to transmit the file header package and the file data package; transmit the file header packet in the first direct data path; transmit both the file header packet and the file data packet in the second direct data route. 4. A method for designating as a dynamic group a plurality of data reception facilities, each of which will receive a packet of individual data, the method comprising: generating a plurality of file header packets, each of which is associated with the individual data file package and each of which identifies a different one of the plurality of data reception facilities; and transmitting the plurality of file header packets to the plurality of facilities of P973 data reception. The method according to claim 4, wherein transmitting the plurality of the file header packet to the plurality of data reception facilities comprises transmitting each of the plurality of file header packets to at least one of the plurality of data reception facilities that are identified by each of the plurality of file header packets. 6. A method for requesting the transmission of replacement data to replace original data from a data transmission facility, the method comprising: receiving from the data transmission facility through a first data route, at least a portion of the original data; detecting an error condition based on a characteristic of at least a portion of the original data; and transmitting to the data transmission facility through a second data route, a request for the transmission of the replacement data. 7. The method according to claim 6, the method further comprising: waiting before transmitting the request during P973 a random period of time. 8. The method according to claim 6, the method further comprising: waiting before transmitting the request for a predetermined period of time. 9. The method according to claim 6, the method further comprising: waiting before transmitting the request until a predetermined time of the day. 10. A method for transmitting at least a first data packet that is associated with a first data file and at least a second data packet that is associated with a second data file, the method comprising: selecting a first packet length for each of at least one first data packet; selecting a second packet length for each of at least one second data packet; transmitting each of at least one first data packet with the first packet length; and transmitting each of at least one second data packet with the second packet length. A method according to claim 10, wherein the selection of the first packet length comprises selecting the first packet length based on a size of a first data file. P973 12. The method according to claim 10, wherein the selection of the first packet length comprises selecting the first packet length based on whether the first data file has been understood. The method according to claim 10, wherein the selection of the first packet length comprises selecting the first packet length based on whether the first data file has been subjected to an early bugfix. The method according to claim 10, wherein the transmission transmits each of at least one first data packet through a first data path wherein the selection of the first packet length comprises selecting the first packet length based on in a characteristic of the first data path. 15. A method for verifying whether an error-free data file has been received after transmission from a data transmission facility to a data reception facility, the method comprising: generating a manifest comprising information regarding the data file data in the installation and transmission of data; transmit the manifest from the installation of P973 data transmission to the data reception facility; receive the manifest in the data reception facility; and verify if the data file was received without error based on the compressed manifest information. The method according to claim 15, further comprising requesting a re-transmission of at least a portion of the data file if the data file was not received without error. The method according to claim 15, wherein the information comprises an order associated with the data file and the method further comprises making the order if the data file was received without error. The method according to claim 15, wherein the information comprises a CRC code and the verification comprises determining whether the data file corresponds to the CRC code. P973 SUMMARY OF THE INVENTION The present invention provides a system and method for transmitting and receiving data that can transmit data on a plurality of data paths in a simultaneous manner and that provides a plurality of transmission queues that allow data transmission they are given priority continuously and that they do not cause data bottlenecks. In the preferred embodiments, the present invention comprises a data transmission facility, at least one direct data route, at least one data reception facility, and at least one inverted data route. The data is transmitted in response to a request to transmit data that can be generated locally in the data transmission facility, or can be generated remotely in any of the data reception facilities and transmitted to the data transmission facility through the inverted data route. The requested data are then transmitted from the data transmission facility through at least one direct data route to at least one data reception facility. The data is transmitted in the form of at least one header packet and at least one data packet for each data file. In case errors are detected in this data edition, then you can request retransmissions of the data P973 corrupted in any of the data reception facilities through the inverted data route. The transmitted data is finally received by at least one data reception facility; where a copy of the requested data file is retrieved and used as desired. P973
MXPA/A/2000/001133A 1997-08-01 2000-02-01 System and method for transmitting and receiving data MXPA00001133A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08905452 1997-08-01

Publications (1)

Publication Number Publication Date
MXPA00001133A true MXPA00001133A (en) 2001-07-09

Family

ID=

Similar Documents

Publication Publication Date Title
US6085253A (en) System and method for transmitting and receiving data
EP0976042B1 (en) System and method for transferring one-to-many disk image among computers in a network
US6016520A (en) Method of viewing at a client viewing station a multiple media title stored at a server and containing a plurality of topics utilizing anticipatory caching
US8375277B2 (en) Multicast with UDP using packet identifier in MPEG payload
US6144992A (en) Method and system for client/server and peer-to-peer disk imaging
US7356751B1 (en) Error handling and audience measurement in datacast network with return channel
KR20020009591A (en) Data broadcast system
US20040243905A1 (en) Error correction apparatus and method
US20050289615A1 (en) Video distribution system, video distribution device, video reception device, video distribution method, video reception method, video distribution program, and video reception program
CN102244810B (en) Method, device and system for obtaining audience information of digital television
US7069572B2 (en) Broadcast data access system for multimedia clients in a broadcast network architecture
US20080196039A1 (en) Method, Apparatus and Software for Managing a Transactional Message Queue
US20030093546A1 (en) Scheduling and multiplexing data for broadcast transmission over multiple streams
US20060294193A1 (en) Non-blocking buffered inter-machine data transfer with acknowledgment
US20040015536A1 (en) Multicast system and method for deploying multiple images simultaneously
US20210211268A1 (en) Two-Stage IP De-Jitter Algorithm in a Multiplexer for a Group of Statistically Multiplexed Single Program Transport Streams
US6167045A (en) Method and system for receiving data packets in a unidirectional broadcasting system
EP1351454A1 (en) Communication device and communication method
EP3095197A1 (en) Systems and methods for providing content to vehicles
MXPA00001133A (en) System and method for transmitting and receiving data
US11863293B2 (en) System and method of providing content to a broadcast network
AU762209B2 (en) System and method for transmitting and receiving data
US7062779B1 (en) Methods and apparatus for accessing synchronized broadcast data
US7298755B2 (en) Apparatus and method for communicating with a network and for monitoring operational performance of the apparatus
US20050111470A1 (en) Method and apparatus for output rate control using time-sliced queues with signaling mechanism