MXPA06008198A - Methods and apparatus to optimize delivery of multicast content using probabilistic feedback - Google Patents

Methods and apparatus to optimize delivery of multicast content using probabilistic feedback

Info

Publication number
MXPA06008198A
MXPA06008198A MXPA/A/2006/008198A MXPA06008198A MXPA06008198A MX PA06008198 A MXPA06008198 A MX PA06008198A MX PA06008198 A MXPA06008198 A MX PA06008198A MX PA06008198 A MXPA06008198 A MX PA06008198A
Authority
MX
Mexico
Prior art keywords
server
value
data
recognition
receiving
Prior art date
Application number
MXPA/A/2006/008198A
Other languages
Spanish (es)
Inventor
E Jacobs Paul
Mei Chen An
M Nagaraj Thadi
Paul Chandhok Ravinder
A Saidi Ben
Original Assignee
Chandhok Ravinder P
Chen An M
E Jacobs Paul
M Nagaraj Thadi
A Saidi Ben
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 Chandhok Ravinder P, Chen An M, E Jacobs Paul, M Nagaraj Thadi, A Saidi Ben filed Critical Chandhok Ravinder P
Publication of MXPA06008198A publication Critical patent/MXPA06008198A/en

Links

Abstract

Methods and apparatus to optimize delivery of multicast content using probabilistic feedback. A method is provided for transmitting data from a server to a plurality of receiving terminals. The method includes transmitting the data from the server to the plurality of receiving terminals, and generating a random response value at each receiving terminal. The method also includes comparing the response value to an acknowledgement value at each receiving terminal, and transmitting an acknowledgment signal to the server from selected receiving terminals. The selected receiving terminals are a portion of the plurality of receiving terminals where the response value has a selected relationship to the acknowledgement value.

Description

METHODS AND APPARATUS FOR OPTIMIZING THE DISTRIBUTION OF CONTENT OF MÜLTIEMISION USING FEEDBACK PROBABILISTICA BACKGROUND The present invention relates, in a general manner, to the distribution of content in a network environment, and more particularly, to methods and apparatus for optimizing the distribution of multi-broadcast content using probabilistic feedback.
DESCRIPTION OF THE RELATED TECHNIQUE Data networks, such as wireless communication networks or the wired Internet, have to exchange between personalized services for a single terminal and broadcast / multicast services for all terminals. The distribution of content (data) to a large number of subscribers or subscribers is a complicated problem. Network systems that implement multi-broadcast or broadcast technology can distribute data over a wide area, however, it is difficult for the sender to know about the success or failure of the distribution of a large number of receivers. Among the techniques used to solve this problem are the correction of advance and / or repetition errors, where the content is processed in advance and coded so that the probability of reception by all the receiving terminals is very high. These solutions assume that the amount of coding or repetition necessary to bring the probability of reception P (r) over a population of terminals to an acceptable value can be calculated in advance. Finally, those protocols require some amount of additional overhead in the return for a greater probability of distribution success. However, these algorithms are implemented before the data is transmitted and therefore can not be adjusted to change the distribution conditions that may have a positive or negative impact on the distribution's success. In this way, systems that use these algorithms can be inefficient and waste a valuable bandwidth by repeatedly transmitting data that has already been successfully received. Therefore, what is needed is a distribution system to be used in a network environment that distributes or provides content to a large number of users to provide a desirable level of service, while compensating for changing distribution conditions, saving bandwidth of the system and thus providing greater efficiency over conventional systems.
SUMMARY In one or more modalities, methods and apparatus are provided to optimize the distribution of content in a network environment using probabilistic feedback. For example, in one embodiment, a system is provided for optimizing the distribution of data transmitted in a multi-broadcast transmission (or broadcast, consequently included as multi-broadcast) from a server to a plurality of receiving terminals. The system provides a real-time dynamic statistical sample of the performance of the distribution to the transmitting data server. The data server uses information about the performance of the distribution to determine when the desired level of service has been achieved. For example, the data server stops sending data that has already been received by enough receiving terminals according to what is defined by the desired level of service. As a result, the data server is free to use the saved bandwidth to provide other data or services and the total capacity of the system is increased. In one embodiment, the data server transmits data and a recognition value in a multicast transmission to a plurality of receiving terminals. After the successful reception of the data, a random process is used in each terminal to generate a response value that is compared with the recognition value. A recognition signal is transmitted to the server from any terminal where the value of the response is greater than the recognition value. In this way, the server receives a dynamic statistical sample in real time of the performance of the transmission distribution. The server uses this information to determine if it retransmits the data, or stops transmission if enough terminals indicate that they have successfully received the data. In this way, the server is able to determine efficiently when a predetermined service level has been reached. In one embodiment, an apparatus is provided for use in a server to transmit data to a plurality of receiving terminals. The apparatus comprises the transmitting logic for transmitting the data and a recognition value of the server to the plurality of receiving terminals. The apparatus also comprises the receiver logic for receiving a recognition signal from the selected receiver terminals. The selected receiver terminals comprise a portion of the plurality of receiver terminals, where a locally generated random response value has a selected relation to the recognition value. In one embodiment, a method is provided for using in a server to transmit data in a plurality of receiving terminals. The method comprises transmitting the data and the recognition value of the server to the plurality of receiving terminals, and receiving a recognition signal from the selected receiving terminals. The selected receiver terminals comprise a portion of the plurality of receiver terminals where a random response value that is locally generated has a selected relation to the recognition value. In one embodiment, an apparatus is provided for use in a receiving terminal to receive data transmitted to a plurality of receiving terminals from a server. The apparatus comprises the reception logic to receive the data and a recognition value transmitted from the server, and the generation logic to generate a random response value. The apparatus also comprises the processing logic for comparing the response value with a recognition value, and the transmission logic for transmitting a recognition signal to the server from the receiving terminals if the response value has a selected relation with the value of recognition. In one embodiment, a method is provided for use in a receiving terminal to receive data transmitted to a plurality of receiving terminals from a server. The method comprises receiving the data and a recognition value transmitted from the server, generating a random response value, comparing the response value with the recognition value, and transmitting a recognition signal to the server if the response value has a relationship selected with the recognition value. In one embodiment, an apparatus is provided for use in a receiving terminal to receive data transmitted to a plurality of receiving terminals from a server. The apparatus comprises the reception logic for receiving the data and a recognition value transmitted from the server, and where the reception logic operates to detect a data reception error. The apparatus also comprises the generation logic for generating a random response value and the processing logic for comparing the response value with the recognition value. The apparatus also comprises the transmission logic for transmitting a negative acknowledgment signal to the server from the receiving terminal if a data reception error is detected and the response value has a selected relation to the recognition value. Other aspects, advantages and features of the present invention will become apparent upon review of the Brief Description of the Drawings, the Detailed Description of the Invention and the Claims set forth hereinbelow.
BRIEF DESCRIPTION OF THE DRAWINGS The above aspects and the advantages provided by the modalities described herein will become more readily apparent with reference to the following detailed description when taken in conjunction with the accompanying drawings wherein: FIGURE 1 shows a data network comprising a modality of a data distribution system; FIGURE 2 shows a detailed diagram of a transmission server including a mode of a data transmission system; FIGURE 3 shows one embodiment of a method for operating the server of FIGURE 2; FIGURE 4 shows a functional block diagram of a receiving terminal comprising a mode of a data distribution system; FIGURE 5 shows one embodiment of a method for operating the receiving terminal of FIGURE 4; and FIGURE 6 shows a method illustrating the operation of a receiving terminal to provide a negative recognition signal in a mode of a data distribution system.
DETAILED DESCRIPTION The following detailed description describes embodiments of a data distribution system that operates to efficiently distribute data from a transmitting server to a large number of terminals. The system is suitable for use on any type of wired or wireless network, including, but not limited to, communication networks, public networks, such as Internet, private networks, such as virtual private networks (VPN), local area networks, wide area networks, long distance networks or any other type of data network. FIGURE 1 shows a data network 100 comprising one mode of a data distribution system. The network 100 comprises a server 102, a data network 104, and terminals (1 to N), as shown at 106. The data network 104 can be any type of wired or wireless network that allows the data to be transmitted from the network. server 102 to terminals 106. Network 104 also provides backward communication channels, so that any of terminals 106 can transmit data or other information to server 102. In one or more modes, the distribution system exploits the availability of the return channels (from the terminals to the server) to receive feedback information that is used to provide efficient multicasting of the data on the available outbound channel (from the server to the terminals). For a selected system capacity, a probability recognition value (Pak) is set-The PaCk value is transmitted along with the data, so that each receiving terminal receives it. For example, packet 112 contains the data and a value of PaCk- Paths 108 illustrate transmission of packet 112 from server 102 to receiver terminals 106. Upon receipt of packet 112, each receiving terminal uses the PaCk value to decide whether or not it recognizes the distribution of data as successful. In one embodiment, each receiving terminal compares the PaC value with a randomly generated, locally generated response value (P) to determine whether or not it recognizes the data distribution. For example, the relationship between the value of P and the value of Pack is used to determine whether or not the distribution of the data is recognized. The value of P may be less than, equal to, or greater than the value of Pack. In a modality, if the value of P is greater than the PaCk value? then the acknowledgment signal (Ack) is transmitted back to the server 102. As a result, a subset of the receiver terminals 106 (ie, where P>> Pack) will send the acknowledgment signal (Ack) to the server transmitting 102 via the return channels available. For example, as shown in FIG. 1, terminals 1, 3 and N transmit the recognition signal (Ack) to the server 102 using the return channels, as illustrated by the paths 110. The recognition signals (Ack) transmitted from the subset of receiving terminals (is say, terminals 1, 3, and N) form a statistically sampled response. The server 102 then uses that statistically sampled response to terminate the data transmission when it is determined that sufficient terminals have received the data, so that a reception probability (Pr) has been satisfied (i.e., a level of desired services). It should be noted that there is no need for a direct relationship between Pr and PaCk / since Pack is fixed in relation to the number of terminals that do not receive the transmission of multiemission data, and Pr is based on a service level decision. However, it is desirable that the Pack be such that a statistically significant number of recognition responses (AcK) is provided to the transmitter server 102. It should be noted that the value of Pac} c could be sent to the receiving terminals in any number of ways. For example, as described above, the value of Pacl_ is transmitted with the data. In another embodiment, the pack value can be transmitted in a separate communication to the terminals or transmitted using an out-of-band channel, such as a paging or control channel. In this way, any suitable technique can be used to provide the PaCk >value to the receiving terminals.; FIGURE 2 shows a functional block diagram of the server 102 comprising a mode of a data distribution system. The server 102 comprises the processing logic 202, the resources of the device 204, the data 206, the transmission logic 208 and the reception logic 210, all coupled to an internal data channel 212. In one or more modes, the logic processing 202 comprises a CPU, processor, a gate array, logic of physical computing components or hardware, memory elements, virtual machine, software and programming programs and systems, and / or any combination of physical computing or hardware components and software and programming programs and systems. In this way, the processing logic 202 generally comprises the logic for executing machine-readable instructions. The resources and interfaces of devices 204 comprise physical computing or hardware components and / or programs and programming or software systems that allow the server 102 to communicate with internal and external systems. For example, internal systems may include mass storage systems, memories, display units, modem, or other internal device resources. External systems may include user interface devices, printers, disk drives, or other local devices or systems. The data 206 represents the data to be transmitted to one or more terminals. For example, data 206 may comprise multi-edio content stored in any type of memory device. In one embodiment, the server 102 operates to effect a multi-transmission transmission of the data 206 so that the data can be received by a desired number of receiving terminals.
The transmission logic 208 comprises physical computing or hardware components and / or software and programming systems or systems that operate to allow the server 102 to transmit data and other information to external devices or systems. For example, the transmission logic may comprise the logic for transmitting data and / or other information on a data network to other devices, such as the receiving terminals. For example, the server 102 may use transmission logic 208 to transmit a multi-broadcast transmission over a data network to a plurality of receiving terminals. The reception logic 210 comprises physical computing or hardware components and / or programs and programming or software systems that operate to allow the server 102 to receive data and other information from external devices. For example, the reception logic is interconnected with a data network to allow the server 102 to receive the data transmitted on return channels from terminal devices. The server 102 also includes probability recognition parameters (Pack) 214 (or values) coupled to the internal data channel 212 which are used to determine a statistically sampled response of the terminals receiving data transmitted from the server 102. In one embodiment, PaCk parameters have a range between zero and one. Each data multicast transmission of the server 102 has an associated Pack parameter. The receiving terminals use the value of Pack to determine whether or not they transmit an acknowledgment signal (Ack) to the server 102. For example, in a mode, if the transmitted pack parameter is zero, then all the receiving terminals will provide a signal of recognition (Ack) to server 102 in response to the reception of the transmitted data. Alternatively, if the Pack parameter is one, then the terminal that does not receive it will provide an acknowledgment signal (Ack) to the server 102. Preferably, the transmitted Pack parameter is set so that a statistically significant number of receiving terminals transmits a recognition signal (Ack) to the server 102. During the operation of the server 102, the data 206 are multiemitted over a data network via transmission logic 208 to a number of receiver terminals. The data 206 is transmitted in a packet that includes a selected Pak parameter. Once the packet is received at each receiving terminal, a test is performed to determine if the terminal should transmit an acknowledgment signal (Ack) back to the server 102. The decision is based on the Pack parameter and a response value ( P) generated in each terminal. As a result, the server 102 receives the Ack signals from a subset of receiver terminals. The server then uses this information to determine whether a selected reception probability (Pr) has been satisfied. In one embodiment, the data distribution system comprises program instructions stored in computer readable media, which when executed by processing logic 202, provide the server functions 102 described herein. For example, the instructions can be loaded into the server 102 from computer-readable media, such as a floppy disk, CDROM, memory card, INSTANT NEA memory device, RAM, ROM, or any other type of memory device or readable media. by computer that are interconnected with the server 102 via the resources of the device 204. In another embodiment, the instructions can be downloaded to the server 102 from network resources that are interconnected with the server 102 via the reception logic 210. The instructions, when they are executed by the processing logic 202, they provide one or more modalities of the data distribution system as described herein. FIGURE 3 shows a method 300 illustrating the operation of a mode of the data distribution system. For clarity, the method 300 will be described with reference to the server 102 shown in Figure 2. In one or more embodiments, the processing logic 202 executes the program instructions to perform the functions described below. During the initialization of the distribution system, a selected reception probability (Pr) is defined by multi-broadcast transmissions. For example, a Pr value is fed through a user input via the device interfaces 204, or it is downloaded to the server 102 via the reception logic 210. In one embodiment, the value for Pr is stored in the processing logic 202. In block 302, a packet comprising data and a selected pack parameter is created. The packet will be transmitted by multi-broadcast to a number of receiving terminals. For example, in one embodiment, the processing logic 202 combines a selected pack parameter 214 with a selected portion of the data 206 to form the packet. The Pack 214 parameter is included in a portion of the package header. In block 304, the packet is transmitted by multi-transmission to the receiving terminals. For example, the processing logic 202 controls the transmission logic 208 for multicast transmission of the packet to the receiving terminals via a data network, such as the network 104. The receiving terminals that receive the packet and determine whether or not they respond with an Ack signal to the server 102. In block 306, the transmission server receives the Ack signals from the subset of receiver terminals. For example, a subset of receiver terminals determines the value of Pack in the packet to be transmitted by an Ack signal to the transmission server 102. The subset of terminals transmits the Ack signal to the server 102 using the return channel associated with the data network. In block 308, a test is performed to determine whether the desired number of receiving terminals received the multicast transmission. For example, server 102 uses the number of Ack signals received to determine whether the number of receiving terminals satisfies the reception probability (Pr) selected as defined during initialization. In one embodiment, the processing logic 202 knows the total number of multi-destination receiving terminals and uses the Ack signals to statistically determine how many of those terminals successfully received the data. Due to transmission conditions and other variables, not all possible receiving terminals are capable of receiving the transmission. As a result, the number of terminals in the subset of terminals that actually transmit an Ack signal may be less than anticipated. Using known statistical analysis techniques, the processing logic 202 determines whether the selected reception probability (Pr) has been satisfied based on the possible total number of receiving terminals and the number of Ack signals received. The processing logic 202 can also adjust the value of Pack for future transmissions to cause more or fewer receiving terminals to transmit an Ack signal. If the selected reception probability (Pr) has been satisfied, the method proceeds to block 312, and if not, the method proceeds to block 310. In block 310, the packet is retransmitted because it was determined in block 308 that there were not enough receiving terminals that received the multicast transmission. After retransmission, the method proceeds to block 306 where Ack signals from a subset of receiver terminals are received again. In block 312, a test was detected to determine if more data will be transmitted by multicast. For example, a large block of data may be transmitted by multi-broadcast in a sequence of smaller packets. If more data are to be transmitted, the method proceeds to block 302, and if not, the method ends in block 314. It should be noted that the flow chart 300 illustrates only one embodiment and that changes, additions or rearrangements of the flow elements can be made without departing from the scope of the invention. FIGURE 4 shows a functional block diagram of a receiving terminal 400 comprising one mode of a data distribution system. The terminal 400 comprises the processing logic 402, the memory 404, interfaces and devices 406, the transmission logic 408 and the reception logic 412, all coupled to a data channel 416. In one or more embodiments, the processing logic 402 comprises a CPU, a processor, gate array, logic of physical computing components or hardware, memory elements, virtual machine, software and programming systems and / or any combination of physical computing or hardware components and programs and programming or software systems. In this way, the processing logic 402 finally comprises the logic to execute the instructions readable by a machine. The resources and interfaces of the device 406 comprise physical computing or hardware components and / or programs and programming or software systems that allow the terminal 400 to communicate with internal and external systems. For example, internal systems may include mass storage systems, memories, display units, modems or other internal resources of the device. External systems may include interconnection or user interface devices, printers, disk drives, or other local devices or systems. The transmission logic 408 comprises physical computing or hardware components and / or software and programming systems or systems that operate to allow the terminal 400 to transmit data and other information to external devices or systems. For example, the transmission logic may comprise the logic for transmitting data and / or other information on a data network for other devices, such as the server. For example, processing logic 402 may use transmission logic 408 to transmit an Ack signal on a return channel in a data network to a server. The reception logic 412 comprises physical computing or hardware components and / or programs and programming or software systems that operate to allow the terminal 400 to receive data and other information from external devices. For example, the reception logic 412 is interconnected with a data network to allow the terminal 400 to receive the data transmitted in a multicast transmission from a server. The memory 404 comprises the logic for storing information of the terminal 400. For example, the terminal 400 may receive a packet 112 that is transmitted in a multi-broadcast transmission from a server, and stores the packet 112 in the memory 404 for further processing. The terminal 400 also comprises a response value generator (P) 418. The generator 418 comprises any combination of physical computing or hardware components and / or programs and programming or software systems to generate the response value (P). For example, in one embodiment, the generator 418 comprises a random number generator that operates to generate a random number between zero and one for the response value P. The terminal 400 may optionally comprise the timing logic 420 that operates to measure periods. of predetermined time or random time intervals. The timing logic is coupled to the data channel 416 and comprises any combination of physical computing or hardware components and / or programs and programming or software systems. In one embodiment, processing logic 402 may control the operation of timing logic 420 via data channel 416. For example, processing logic 402 may operate to setReset, activate, deactivate, clean or otherwise control the timing logic to measure the selected time intervals. For example, processing logic 402 may control the timing logic to measure the random time slots by presetting the random start values in timing logic 420 and receiving a completion signal from timing logic 420 when the interval has expired. of time. During operation, the terminal 400 operates to receive multi-broadcast data transmissions, and in response, determines whether or not it transmits an acknowledgment signal (Ack) to the transmission server. For example, packet 112 is received by terminal 400 and stored in memory 404. Pack 112 contains a packet value and data transmitted by a server, for example to server 102. Terminal 400 then generates a response value P using generator 418, and processing logic 402 compares the value of P with the value of Pack to determine the relationship between the two values. The relation is used to determine whether or not it transmits the Ack signal. For example, a value of P may be greater than, equal to, or less than the value of Pack. If the desired relationship exists between the values, the processing logic 402 will cause the transmission logic 408 to transmit the Ack signal on the channel back to the transmitting server. The transmitting server uses the Ack signal received from the receiving terminals to determine whether or not the multi-broadcast data transmission satisfies a selected reception probability (Pr). In one embodiment, the data distribution system comprises program instructions stored in computer readable media, which when executed by processing logic 402, provide the functions of terminal 400 described herein. For example, the instructions may be loaded to the terminal 400 from computer readable media, such as a floppy disk, CDROM, memory card, INSTANT NEA memory device, RAM, ROM, or any other type of memory device or readable media. by computer that are interconnected with the terminal 400 via the resources of the device 406. In another embodiment, the instructions can be downloaded to the terminal 400 from the resources of the network that are interconnected with the terminal 400 via the reception logic 412. instructions, when executed by processing logic 402, provide one or more modalities of the data distribution system as described herein. FIGURE 5 shows a method 500 illustrating the operation of a mode of a data distribution system. For clarity, the method 500 will be described with reference to the terminal 400 shown in FIGURE 4. In one or more embodiments, the processing logic 402 executes the program instructions to perform the functions described below. In block 502, a packet transmitted as part of a multicast transmission is successfully received in the terminal. For example, packet 112 is received at terminal 400 via reception logic 412. In block 504, a random response value P is generated. For example, processing logic 402 controls generators 418 to generate the value of random response Q. In one mode, the value of P is a random value in the range of zero to one. In block 506, a test was performed to determine if the response value P is greater than the value of Pac included in the packet. For example, the transmitting server includes the value of Pack in the packet before transmission. The processing logic 402 retrieves the pack value of the received packet and compares it with the value of P generated by the generator 418. In one embodiment, the processing logic includes the comparison logic that operates to determine the relationship between the two values . Any relationship between the response value P and the value of Pack can be used to determine whether or not an Ack signal is transmitted. In a modality, if the value of P is greater than the PaCkA value then recognition is required and the method proceeds to block 508. If the value of P is less than or equal to the value of Pack, then recognition is not required and the method is back to block 502 to receive the next packet. In block 508, the terminal transmits an acknowledgment signal (Ack) to the transmitting server to indicate that the packet was successfully received. For example, the Ack signal can be any type of signal or recognition message. In one embodiment, processing logic 402 controls transmission logic 408 to transmit the Ack signal to the server via the available return channel. In this way, the server is notified that the terminal has successfully received the transmitted packet.
It should be noted that the method 500 illustrates only one embodiment and that changes, additions, or rearrangements of the flow elements can be made without departing from the scope of the invention. In another mode, the value of Pack changes to a value of PnaCk- The receiving terminals use the Pnack value to determine whether or not they transmit a "negative recognition" (Nack) signal to the server if the data was not received successfully. For example, if there is a transmission error or some other event that prevents successful data reception, the receiving terminals can transmit the negative acknowledgment (Nack) to the server to indicate that the data transmission failed. The value of Pnack is used by the receiving terminals to determine whether or not to transmit the negative recognition signal (Nack), so that the server receives a statistically significant number of Nack signals that are capable of determining the probability of reception P ( r). For example, knowing how many terminals failed to receive the data it is possible to determine how many terminals successfully received the data and therefore the probability of reception P (r). FIGURE 6 shows a method 600 illustrating the operation of the receiver terminals to provide a negative recognition signal in a mode of a data distribution system. For the description of method 600, it will be assumed that the transmission server includes a value of PnaCk in a data packet that is transmitted by multi-transmission to a number of receiving terminals. In block 602, the receiving terminal waits for a packet to arrive. The packet contains data and the value of PnaCk- In block 604, a packet arrives and a test is carried out to determine if the packet has been successfully received. For example, the receiving terminal determines if there has been an error in the reception of data or some other error and that has resulted in the unsuccessful reception of the data. If the data is received successfully, the method proceeds to block 602 to wait for the next packet. If the data is not received successfully, the method proceeds to block 606. In block 606, the receiving terminal generates a response value P. For example, processing logic 402 controls generator 418 to generate the value of P. In In one embodiment, generator 418 generates a random number for the value of P. In block 608, a test was performed to determine if the value of P is greater than the value of Pnack. For example, processing logic 402 comprises the comparison logic that compares the two values. If the value of P is not greater than the value of PnaCk? the method proceeds to block 612. If the value of P is greater than the value of PnaC r the method proceeds to block 610. In block 610, the measurement of the random time interval begins. For example, processing logic 402 controls timing logic 420 to measure a random time interval. The time interval is used to program the transmission of a Nack signal from the receiving terminal to the transmitting server. The time interval may be selected to be any time interval, however, in one embodiment, the time interval is randomly selected in each receiving device. As a result, it will be highly unlikely that each receiving device will schedule a Nack transmission to occur at exactly the same time. In this way, the return link and the transmission server will not be flooded with Nack transmissions if a large number of data reception errors occur. In block 612, a test is performed to determine if data has been retransmitted from the transmitting server. For example, the server could have retransmitted the data on the basis of one or more Nack received from other receiving terminals. If the data has been received in a retransmission, the method proceeds to block 618. If the data has not been received in a retransmission, the method proceeds to block 614. In block 618, as a result of the data that is received in a retransmission, the timer operation ends and the programmed transmission of Nack is canceled. For example, processing logic 402 controls timing logic 420 to stop the operation. The method proceeds to block 602 to wait for the next packet. In block 614, a test was performed to determine if the selected time interval has expired. For example, timing logic 420 measures a selected time interval and then signals to processing logic 402 that the time interval has expired. In block 616, the receiving terminal transmits a Nack signal to the server via the available return channel at the expiration of the time interval. For example, processing logic 402 controls transmission logic 408 to transmit the Nack signal to the server. The Nack signal notifies the server that the transmitted data was not received successfully. The server can then operate to retransmit the data if desired. For example, the server can use the number of Nack signals received to determine a reception probability (Pr) and the use of that information to determine whether it should retransmit the data. It should be noted that the method 600 illustrates only one embodiment and that changes, additions or rearrangements of the flow elements can be made without departing from the scope of the invention. In another method 600 method, it is possible to have multi-broadcast transmissions on the return link. In this mode, each terminal can verify (or listen to) other terminals that transmit signals of Nack on the link back. In this way, a terminal would begin the random interval timing (block 610) if it does not receive the data successfully as determined in blocks 602 through 608. In block 612, a test is performed to determine whether data has been retransmitted. from the transmitting server. However, testing a block 612 would also be the test to determine if the terminal detects (or listens to) one or more other terminals that transmit Nack signals due to reception errors. If the terminal detects that other terminals are already transmitting Nack signals, then the method proceeds to block 618 where the timer and the programmed Nack transmissions are canceled. Since this terminal has detected that there are other terminals requesting data retransmission, it is not necessary for this terminal to further congest the transmission channels with additional Nack transmissions. Consequently, although one or more modalities of the methods and apparatuses for a data distribution system have been illustrated and described here, it will be appreciated that various changes can be made to the modalities without departing from their spirit or essential characteristics. Therefore, the disclosures and descriptions herein are intended to be illustrative, but not limiting of the scope of the invention, which is set forth in the following claims.

Claims (55)

  1. NOVELTY OF THE INVENTION Having described the invention as above, the content of the following is claimed as property: CLAIMS 1. An apparatus to be used in a server to transmit data to a plurality of receiving terminals, the apparatus is characterized in that it comprises: a logic transmission to transmit the data and a recognition value of the server to the plurality of receiving terminals; and a receiving logic for receiving a recognition signal from selected receiving terminals, wherein the selected receiving terminals comprise a portion of the plurality of receiving terminals where a locally generated random response value has a selected relationship with the recognition value. The apparatus according to claim 1, characterized in that the transmission logic further comprises the logic for transmitting the recognition value to the plurality of receiving terminals using an out-of-band transmission. 3. The apparatus according to claim 1, characterized in that the selected ratio occurs when the response value is greater than the recognition value. The apparatus according to claim 1, characterized in that the processing logic further comprises the logic for using the recognition signals transmitted from the selected receiving terminals to determine a reception probability. The apparatus according to claim 4, characterized in that the processing logic further comprises the logic for retransmitting the data from the server if the probability of reception is lower than the selected service level. 6. The apparatus according to claim 4, characterized in that the processing logic further comprises the logic for terminating the transmission of the server data if the probability of reception is above a selected service level. The apparatus according to claim 1, characterized in that the processing logic further comprises the logic for adjusting the recognition value to adjust the number of recognition signals received in the server. The apparatus according to claim 1, characterized in that the transmission logic further comprises the logic for transmitting data from the server to the plurality of receiving terminals using a multi-broadcast transmission. 9. A method for being used in a server to transmit data to a plurality of receiving terminals, the method is characterized in that it comprises: transmitting the data and a recognition value of the server to the plurality of receiving terminals; and receiving a recognition signal from the selected receiving terminals, wherein the selected receiving terminals comprise a portion of the plurality of receiving terminals where a locally generated random response value has a selected relationship with the recognition value. The method according to claim 9, characterized in that it further comprises transmitting the recognition value to the plurality of receiving terminals using an out-of-band transmission. The method according to claim 9, characterized in that the selected relation occurs when the response value is greater than the recognition value. 12. The method according to claim 9, characterized in that it further comprises using the recognition signals transmitted from the selected receiving terminals to determine a reception probability. The method according to claim 12, characterized in that it further comprises retransmitting the server data if the probability of reception is less than a selected service level. The method according to claim 12, characterized in that it further comprises terminating the transmission of the server data if the probability of reception is above a selected service level. 15. The method according to claim 9, characterized in that it further comprises adjusting the recognition value to adjust the number of recognition signals received in the server. 16. The method according to claim 9, characterized in that it further comprises transmitting the server data to the plurality of receiving terminals using a multi-broadcast transmission. 17. An apparatus for use in a server for transmitting data to a plurality of receiving terminals, the method is characterized in that it comprises: means for transmitting the data and a recognition value of the server to the plurality of receiving terminals; and means for receiving a recognition signal from the selected receiving terminals, wherein the selected receiving terminals comprise a portion of the plurality of receiving terminals where a locally generated random response value has a selected relationship with the recognition value. 18. The apparatus according to claim 17, characterized in that it further comprises means for transmitting the recognition value to the plurality of receiving terminals using an out-of-band transmission. 19. The apparatus according to claim 17, characterized in that the selected ratio occurs when the response value is greater than the recognition value. The apparatus according to claim 17, characterized in that it further comprises means for using the recognition signals transmitted from the selected receiving terminals to determine a reception probability. 21. The apparatus according to claim 20, characterized in that it also comprises means for retransmitting the server data if the probability of reception is below a selected service level. 22. The apparatus according to claim 20, characterized in that it also comprises means for terminating the transmission of the server data if the probability of reception is above a selected service level. 23. The apparatus according to claim 17, characterized in that it further comprises means for adjusting the recognition value to adjust the number of recognition signals received in the receiver. 24. The apparatus according to claim 17, characterized in that it further comprises means for transmitting the server data to the plurality of receiving terminals using a multi-broadcast transmission. 25. Computer-readable media comprising instructions, which when executed by the processing logic on the server, operate to transmit data to a plurality of receiving terminals, computer-readable media are characterized by comprising: instructions for transmitting the data and a server recognition value to the plurality of receiving terminals; and instructions for receiving a recognition signal from the selected receiving terminals, wherein the selected receiving terminals comprise a portion of the plurality of receiving terminals where a locally generated random response value has a selected ratio with the recognition value. 26. The computer readable media according to claim 25, characterized in that they further comprise instructions for transmitting the recognition value to the plurality of receiving terminals using an out-of-band transmission. 27. The computer readable media according to claim 25, characterized in that the selected ratio occurs when the response value is greater than the recognition value. 28. The computer readable media according to claim 25, characterized in that they further comprise instructions for using the recognition signals transmitted from the selected receiving terminals to determine a reception probability. 29. The computer-readable media according to claim 28, characterized in that they also comprise instructions for retransmitting the server data if the probability of reception is less than a selected service level. 30. The computer-readable media according to claim 28, characterized in that they also comprise instructions for terminating the transmission of the server data if the probability of reception is above the selected service level. 31. The computer-readable media according to claim 25, characterized in that they further comprise instructions for adjusting the recognition value to adjust the number of recognition signals received in the server. 32. The computer readable media according to claim 25, characterized in that they further comprise instructions for transmitting the server data to the plurality of receiving terminals using a multi-broadcast transmission. 33. An apparatus for use in a receiving terminal for receiving data transmitted to a plurality of receiving terminals from a server, the apparatus is characterized in that it comprises: a reception logic for receiving the data and an acknowledgment value transmitted from the server; a generation logic to generate a random response value; a processing logic for comparing the response value with a recognition value; and a transmission logic for transmitting a recognition signal to the server from the receiving terminal if the response value has a selected relation to the recognition value. 34. The apparatus according to claim 33, characterized in that the reception logic further comprises the logic for receiving the recognition value using an out-of-band transmission. 35. The apparatus according to claim 33, characterized in that the selected ratio occurs when the response value is greater than the recognition value. 36. The apparatus according to claim 33, characterized in that the reception logic further comprises the logic for receiving the data in a multicast transmission of the server. 37. The method for use in a receiving terminal for receiving data transmitted to a plurality of receiving terminals of a server, the method is characterized in that it comprises: receiving the data and a recognition value transmitted from the server; generate a random response value; compare the response value with the recognition value; and transmitting a recognition signal to the server if the response value has a selected relation with the recognition value. 38. The method according to claim 37, characterized in that it further comprises receiving the recognition value using an out-of-band transmission. 39. The method according to claim 37, characterized in that the selected relation occurs when the response value is greater than the recognition value. 40. The method according to claim 37, characterized in that it further comprises receiving the data in a multicast transmission of the server. 41. An apparatus for use in a receiving terminal for receiving data transmitted to a plurality of receiving terminals from a server, the apparatus is characterized in that it comprises: means for receiving the data and a recognition value transmitted from the server; means for generating a random response value; means for comparing the response value with the recognition value; and means for transmitting a recognition signal to the server if the response value has a selected relation with the recognition value. 42. The apparatus according to claim 41, characterized in that it further comprises means for receiving the recognition value using an out-of-band transmission. 43. The apparatus according to claim 41, characterized in that the selected relation occurs when the response value is greater than the recognition value. 44. The apparatus according to claim 41, characterized in that it comprises means for receiving the data in a multicast transmission of the server. 45. Computer-readable media comprising instructions, which when executed by the processing logic in a receiving terminal, operates to receive data transmitted from a server to a plurality of receiving terminals, computer-readable media are characterized by comprising: 5 instructions to receive the data and a recognition value transmitted from the server; instructions to generate a random response value; instructions for comparing the value of 10 response with the recognition value; and instructions for transmitting a recognition signal to the server if the response value has a selected relation with the recognition value. 46. The computer readable media according to claim 45, further comprising instructions for receiving the recognition value using an out-of-band transmission. 47. The computer readable media according to claim 45, characterized 20 because the selected ratio occurs when the response value is greater than the recognition value. 48. The computer readable media according to claim 45, characterized in that they also comprise instructions for receiving the 25 data in a server multicast transmission. 49. An apparatus for use in a receiving terminal for receiving the data transmitted in a plurality of receiving terminals from the server, the apparatus is characterized in that it comprises: a reception logic to receive the data and a recognition value transmitted from the server, and where the reception logic operates to detect a data reception error; a generation logic to generate a random response value; a processing logic for comparing the response value with a recognition value; and a transmission logic for transmitting a negative acknowledgment signal to the server from the receiving terminal if a data reception error is detected and the response value has a selected relation with the recognition value. 50. The apparatus according to claim 49, characterized in that the reception logic further comprises the logic for receiving the recognition value using an out-of-band transmission. 51. The apparatus according to claim 49, characterized in that the selected relation occurs when the response value is greater than the recognition value. 52. The apparatus according to claim 49, characterized in that the reception logic further comprises the logic for receiving the data in a multicast transmission of the server. 53. The apparatus according to claim 49, characterized in that it further comprises the timing logic that operates to measure a selected time interval. 54. The apparatus according to claim 53, characterized in that the transmission logic transmits the negative recognition signal at the end of the selected time interval. 55. The apparatus according to claim 54, characterized in that the selected time interval is a random time interval.
MXPA/A/2006/008198A 2004-01-20 2006-07-19 Methods and apparatus to optimize delivery of multicast content using probabilistic feedback MXPA06008198A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60/537,957 2004-01-20
US10801871 2004-03-14

Publications (1)

Publication Number Publication Date
MXPA06008198A true MXPA06008198A (en) 2007-04-10

Family

ID=

Similar Documents

Publication Publication Date Title
US7127655B2 (en) Methods and apparatus to optimize delivery of multicast content using probabilistic feedback
US7423973B2 (en) Methods and apparatus for hybrid multicast and unicast transmissions in a data network
US7536622B2 (en) Data repair enhancements for multicast/broadcast data distribution
US6577599B1 (en) Small-scale reliable multicasting
EP1411688B1 (en) Method and apparatus for multicast data retransmission
EP1716658B1 (en) A method for data repair in a system capable of handling multicast and broadcast transmissions
US20060026296A1 (en) Methods and apparatus for optimum file transfers in a time-varying network environment
AU2004318925B2 (en) Data repair enhancements for multicast/broadcast data distribution
KR20040015125A (en) Data communication method, data communication system and program
MXPA06008198A (en) Methods and apparatus to optimize delivery of multicast content using probabilistic feedback
CN1926808B (en) Methods and apparatus to optimize delivery of multicast content using probabilistic feedback
KR100890532B1 (en) Methods and apparatus for hybrid multicast and unicast transmissions in a data network
Chumchu et al. An analysis comparison of reliability mechanisms for improving reliable mobile multicast protocols
Kam et al. Link Level Protocols Revisited