Method and system for opportunistic broadcasting of data
First Claim
1. A method for downloading data from a server computer system to a plurality of client computer systems, the server computer system having a point-to-point transmission mechanism for receiving data from each client computer system, the server computer system also having a broadcast transmission mechanism for broadcasting data unidirectionally to the client computer systems, each client computer system having an identity and a broadcast receiver for receiving data broadcast by the broadcast transmission mechanism when the client computer system is in a receiving state, the method comprising the steps of:
- under control of the server computer system,selecting data to be downloaded from the server computer system to the plurality of client computer systems; and
broadcasting the selected data using the broadcast transmission mechanism;
under control of each client computer system in the receiving state,receiving the broadcasted data; and
sending confirmation that the client computer system received the broadcasted data to the server computer system using the point-to-point transmission mechanism;
under control of the server computer system,receiving the sent confirmations from the client computer systems and identifying those client computer systems that have sent confirmations; and
storing identities of those client computer systems that have sent confirmations;
under control of a client computer system that did not receive the broadcast of the selected data establishing a connection with the server computer system through the point-to-point transmission mechanism; and
under control of the server computer system,determining that the client computer system that established the connection is not a client computer system that sent a confirmation by comparing the identity of the client computer system that established the connection with the stored identities of those client computer systems that have sent confirmations; and
in response to determining that the client computer system that established the connection is not a client computer system that sent a confirmation, transmitting the selected data to the client computer system that established the connection.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for opportunistically downloading data from a server computer system to client computer systems. The server computer system has a point-to-point transmission mechanism for receiving data from each client computer system and has a broadcast transmission mechanism for broadcasting data to the client computer systems. Each client computer system has a broadcast receiver for receiving data broadcast by the broadcast transmission mechanism when the client computer system is in a receiving state. In a preferred embodiment, the server computer system selects data to be downloaded from the server computer system to the client computer systems, and broadcasts the selected data using the broadcast transmission mechanism. Each client computer system that is in the receiving state receives the broadcasted data and sends a confirmation that the client computer system has received the broadcasted data to the server computer system using the point-to-point transmission mechanism. Conversely, when a client computer system enters the receiving state, it sends a request to send the selected data to the server computer system using the point-to-point transmission mechanism. The server computer system receives the sent request and transmits the selected data to the client computer system that sent the request when the server computer system has not received confirmation that the client computer system that sent the request received the broadcasted data.
-
Citations
16 Claims
-
1. A method for downloading data from a server computer system to a plurality of client computer systems, the server computer system having a point-to-point transmission mechanism for receiving data from each client computer system, the server computer system also having a broadcast transmission mechanism for broadcasting data unidirectionally to the client computer systems, each client computer system having an identity and a broadcast receiver for receiving data broadcast by the broadcast transmission mechanism when the client computer system is in a receiving state, the method comprising the steps of:
-
under control of the server computer system, selecting data to be downloaded from the server computer system to the plurality of client computer systems; and broadcasting the selected data using the broadcast transmission mechanism; under control of each client computer system in the receiving state, receiving the broadcasted data; and sending confirmation that the client computer system received the broadcasted data to the server computer system using the point-to-point transmission mechanism; under control of the server computer system, receiving the sent confirmations from the client computer systems and identifying those client computer systems that have sent confirmations; and storing identities of those client computer systems that have sent confirmations; under control of a client computer system that did not receive the broadcast of the selected data establishing a connection with the server computer system through the point-to-point transmission mechanism; and under control of the server computer system, determining that the client computer system that established the connection is not a client computer system that sent a confirmation by comparing the identity of the client computer system that established the connection with the stored identities of those client computer systems that have sent confirmations; and in response to determining that the client computer system that established the connection is not a client computer system that sent a confirmation, transmitting the selected data to the client computer system that established the connection. - View Dependent Claims (2, 3)
-
-
4. A method for ensuring receipt of data that is broadcast from a server computer system and received by a plurality of client computer systems, the server computer system having a broadcast transmission mechanism for transmitting data unidirectionally from the server computer system to the client computer systems, each client computer system having an identity and a broadcast receiver for receiving data broadcast by the broadcast transmission mechanism, the method comprising the steps of:
-
broadcasting the data using the broadcast transmission mechanism; receiving at each of the plurality of client computer systems, the broadcasted data using the broadcast receiver; upon receiving the broadcast data at a client computer system, sending a confirmation from the client computer system to the server computer system through a point-to-point transmission mechanism for sending data from client computer system to the server computer system; and upon receiving by the server computer system a confirmation from a client computer system, determining the identity of the client computer system that sent the confirmation; and storing the identity of the client computer system that sent the confirmation so that the identity of a client computer system that did not receive the broadcast data and that subsequently establishes a connection with the server computer system can be compared with the stored identities to determine that the client computer system that subsequently establishes a connection with the server computer system did not receive the broadcast data. - View Dependent Claims (5)
-
-
6. A method for downloading data from a server computer system to a plurality of client computer systems, the server computer system having a broadcast transmission mechanism and a point-to-point transmission mechanism, the broadcast transmission mechanism for transmitting data from the server computer system to the client computer system but cannot transmit data from the client computer systems to the server computer system, each client computer system having an identity and having a broadcast receiver for receiving data broadcast by the broadcast transmission mechanism, the point-to-point transmission mechanism being for transmitting data to and receiving data from each of the plurality of client computer systems, the method comprising the steps of:
-
determining broadcast transmission characteristics for the transmission of the data to be downloaded; determining point-to-point transmission characteristics for the transmission of download data; selecting whether to transmit the download data using the broadcast transmission mechanism or using the point-to-point transmission mechanism based on the determined transmission characteristics; when the broadcast transmission mechanism is selected, broadcasting the data to be downloaded using the broadcast transmission mechanism; when the point-to-point transmission mechanism is selected, sending the data to be downloaded to each client computer system using the point-to-point transmission mechanism; receiving confirmations from client computer systems that received the broadcasted data; identifying those client computer systems from which confirmations have been received; storing identities of those client computer systems from which confirmations have been received; and when confirmations have not been received from all the client computer system referencing the stored identities of those client computer systems from which confirmations have been received in order to determine those client computer systems that have not received the data and transmitting the data to those client computer systems that have not received the data using the broadcast transmission mechanism or using the point-to-point transmission mechanism. - View Dependent Claims (7, 8, 9)
-
-
10. A method in a client computer system for confirming receipt of data broadcast by a server computer system, the broadcasted data being broadcasted using a broadcast transmission mechanism for transmitting data unidirectionally from the server computer system to the client computer systems, the method comprising the steps of:
-
when the client computer system does not have a connection established with the server computer system, receiving the broadcasted data; and storing an indication that the broadcasted data has been received; and when the client computer system later establishes a connection with the server computer system using a bidirectional transmission mechanism, checking for presence of the stored indication that the broadcasted data has been received; and when the stored indication is present, sending a confirmation that the client computer system received the broadcasted data to the server computer system using the established connection whereby the server computer system can track the client computer systems that have received the broadcasted data.
-
-
11. A computer-readable medium containing instructions for downloading data from a server computer system to a plurality of client computer systems, the server computer system having a point-to-point transmission mechanism for receiving data from each client computer system, the server computer system also having a broadcast transmission mechanism for broadcasting data unidirectionally to the client computer systems, each client computer system having a broadcast receiver for receiving data broadcast by the broadcast transmission mechanism when the client computer system is in a receiving state, by:
-
under control of the server computer system, selecting data to be downloaded from the server computer system to the plurality of client computer systems; and broadcasting the selected data using the broadcast transmission mechanism; under control of each client computer system in the receiving state, receiving the broadcasted data; and sending confirmation that the client computer system received the broadcasted data to the server computer system using the point-to-point transmission mechanism; and under control of the server computer system, receiving the sent confirmations from the client computer systems; storing indications that the sent confirmations have been received from the client computer systems; and when a client computer system establishes a connection with the server computer system, transmitting the selected data to the client computer system if the server computer system has not stored an indication for that client computer system using the point-to-point transmission mechanism. - View Dependent Claims (12, 13)
-
-
14. A computer-readable medium containing instructions for causing a server computer system to transmit data from the server computer system to a plurality of client computer systems, by
broadcasting the data using a unidirectional transmission mechanism so that at least some of the client computer systems receive the data; -
when a confirmation is received through a bidirectional transmission mechanism that a client computer system received the broadcasted data, storing an indication of such confirmation for the client computer system, for each of the plurality of client computer systems, establishing a connection with the client computer systeum using the bidirectional;
transmission mechanism;determining whether the client computer system has received the broadcasted data based on the stored indications; and when it is determined that the client computer has not received the broadcasted data, transmitting the data using the bidirectional transmission mechanism to the client computer system. - View Dependent Claims (15, 16)
-
Specification