Method for simultaneously controlling multiple devices using a single communication channel
First Claim
1. A computer-readable medium storing computer-executable instructions for performing the method of:
- receiving a first segment of control data for transmission to a first controlled device during a time interval;
receiving a second segment of control data for transmission to a second controlled device during the time interval;
combining the first and second segments of control data into a unified control data signal that is transmittable on a single communication channel during the time interval; and
outputting the control data signal for transmission to the first and second controlled devices.
5 Assignments
0 Petitions
Accused Products
Abstract
A Bandwidth Resolution Conflict component combines control data for multiple controlled devices into a unified control data signal that can be transmitted on a single communication channel. To resolve any bandwidth conflicts, the BCR component implements one or more of the following techniques to resolve the bandwidth conflicts: (1) regenerating the control data signal by increasing at least one compression parameter used in creating the first and second segments of control data; (2) interleaving the control data signal by replacing two adjacent frames of the control data segment with a single frame designated as a repeat frame; (3) reorganizing the control data by moving a frame of control data segment into an unoccupied frame in the control data signal; (4) pre-stuffing the control data signal by moving a portion of the control data to frames in which the moved control data will accumulate for delayed performance in a buffer in one of the controlled devices; and (5) selecting one of the controlled device for data starving based on predefined selection criteria and deleting one or more frames of the control data for the selected controlled device. One or more of these techniques may be applied individually or consecutively until all bandwidth conflicts are resolved.
-
Citations
21 Claims
-
1. A computer-readable medium storing computer-executable instructions for performing the method of:
-
receiving a first segment of control data for transmission to a first controlled device during a time interval;
receiving a second segment of control data for transmission to a second controlled device during the time interval;
combining the first and second segments of control data into a unified control data signal that is transmittable on a single communication channel during the time interval; and
outputting the control data signal for transmission to the first and second controlled devices.
-
-
2. A computer-readable medium storing computer-executable instructions for performing the method of:
-
receiving a first segment of control data for transmission to a first controlled device during a time interval;
receiving a second segment of control data for transmission to a second controlled device during the time interval;
combining the first and second segments of control data into a unified control data signal that is transmittable on a single communication channel during the time interval, wherein combining the first and second segments comprises;
identifying a bandwidth conflict in the control data signal;
regenerating the control data signal by increasing at least one compression parameter used in creating the first and second segments of control data; and
determining whether the bandwidth conflict is resolved in the regenerated control data signal; and
outputting the control data signal for transmission to the first and second controlled devices.
-
-
3. A computer-readable medium storing computer-executable instructions for performing the method of:
-
receiving a first segment of control data for transmission to a first controlled device during a time interval;
receiving a second segment of control data for transmission to a second controlled device during the time interval;
combining the first and second segments of control data into a unified control data signal that is transmittable on a single communication channel during the time interval, wherein combining the first and second segments comprises;
identifying a bandwidth conflict for the first and second segments of control data;
interleaving the control data signal by replacing two adjacent frames of the first control data segment with a single frame designated as a repeat frame; and
determining whether the bandwidth conflict is resolved in the interleaved control data signal; and
outputting the control data signal for transmission to the first and second controlled devices.
-
-
4. A computer-readable medium storing computer-executable instructions for performing the method of:
-
receiving a first segment of control data for transmission to a first controlled device during a time interval;
receiving a second segment of control data for transmission to a second controlled device during the time interval;
combining the first and second segments of control data into a unified control data signal that is transmittable on a single communication channel during the time interval, wherein combining the first and second segments comprises;
identifying a bandwidth conflict in the control data signal;
reorganizing the control data by moving a frame of the first control data segment into an unoccupied frame in the control data signal; and
determining whether the bandwidth conflict is resolved in the reorganized control data signal; and
outputting the control data signal for transmission to the first and second controlled devices.
-
-
5. A computer-readable medium storing computer-executable instructions for performing the method of:
-
receiving a first segment of control data for transmission to a first controlled device during a time interval;
receiving a second segment of control data for transmission to a second controlled device during the time interval;
combining the first and second segments of control data into a unified control data signal that is transmittable on a single communication channel during the time interval, wherein combining the first and second segments comprises;
identifying a bandwidth conflict in the control data signal;
pre-stuffing the control data signal by moving a portion of the first control data segment to one or more frames in which the moved portion of the first control data segment will accumulate for delayed performance in a buffer in the first controlled device when the first control data segment is transmitted to the first controlled device; and
determining whether the bandwidth conflict is resolved in the pre-stuffed control data signal; and
outputting the control data signal for transmission to the first and second controlled devices.
-
-
6. A computer-readable medium storing computer-executable instructions for performing the method of:
-
receiving a first segment of control data for transmission to a first controlled device during a time interval;
receiving a second segment of control data for transmission to a second controlled device during the time interval;
combining the first and second segments of control data into a unified control data signal that is transmittable on a single communication channel during the time interval, wherein combining the first and second segments comprises;
identifying a bandwidth conflict in the control data signal;
selecting one of the controlled device for data starving based on predefined selection criteria; and
deleting one or more frames of the control data for the selected controlled device to resolve the bandwidth conflict; and
outputting the control data signal for transmission to the first and second controlled devices.
-
-
7. A computer-readable medium storing computer-executable instructions for performing the method of:
-
receiving a first segment of control data for transmission to a first controlled device during a time interval;
receiving a second segment of control data for transmission to a second controlled device during the time interval;
combining the first and second segments of control data into a unified control data signal that is transmittable on a single communication channel during the time interval, wherein combining the first and second segments comprises;
identifying a bandwidth conflict in the control data signal;
regenerating the control data signal by increasing at least one compression parameter used in creating the first and second segments of control data;
determining whether the bandwidth conflict is resolved in the regenerated control data signal; and
if the bandwidth conflict is not resolved in the regenerated control data signal, interleaving the control data signal by replacing two adjacent frames of the first control data segment with a single frame designated as a repeat frame, and determining whether the bandwidth conflict is resolved in the interleaved control data signal; and
outputting the control data signal for transmission to the first and second controlled devices. - View Dependent Claims (8, 9, 10)
if the bandwidth conflict is not resolved in the interleaved control data signal, reorganizing the control data by moving a frame of the first control data segment into an unoccupied frame in the control data signal, and determining whether the bandwidth conflict is resolved in the reorganized control data signal.
-
-
9. The computer-readable medium of claim 8, wherein the step of combining the first and second segments of control data into the unified control data string further comprises the steps of:
-
if the bandwidth conflict is not resolved in the reorganized control data signal, pre-stuffing the control data signal by moving a portion of the first control data segment to one or more frames in which the moved portion of the first control data segment will accumulate for delayed performance in a buffer in the first controlled device when the first control data segment is transmitted to the first controlled device, and determining whether the bandwidth conflict is resolved in the prestuffed control data signal.
-
-
10. The computer-readable medium of claim 9, wherein the step of combining the first and second segments of control data into the unified control data string further comprises the steps of:
-
if the bandwidth conflict is not resolved in the pre-stuffed control data signal, selecting one of the controlled device for data starving based on predefined selection criteria; and
deleting one or more frames of the control data for the selected controlled device to resolve the bandwidth conflict.
-
-
11. A computer-readable medium storing computer-executable instructions for performing the method of:
-
receiving a first segment of control data for transmission to a first controlled device during a time interval;
receiving a second segment of control data for transmission to a second controlled device during the time interval;
combining the first and second segments of control data into a unified control data signal that is transmittable on a single communication channel during the time interval;
outputting the control data signal for transmission to the first and second controlled devices; and
transmitting the unified control data signal to the first and second controlled devices in approximate synchronism with the display of a video program on a display device and causing the first and second controlled devices to behave as characters in the video program.
-
-
12. A computer-readable medium storing computer-executable instructions for performing the method of:
-
receiving a first segment of control data for transmission to a first controlled device during a time interval;
receiving a second segment of control data for transmission to a second controlled device during the time interval;
combining the first and second segments of control data into a unified control data signal that is transmittable on a single communication channel during the time interval;
outputting the control data signal for transmission to the first and second controlled devices; and
storing the unified control data signal on a video tape in approximate synchronism with a video program so that the control data may be read from the video tape and transmitted to the first and second controlled devices, while the video program is a display device, to cause the first and second controlled devices to behave as characters in the video program.
-
-
13. A control data signal, propagating or stored on a computer-readable medium, comprising:
-
a first control data segment transmitted to a first controlled device during a time interval;
a second control data segment transmitted to a second controlled device during the time interval;
the first and second control data segments being combined into the control data signal and transmitted on a single communication channel during the time interval; and
the control data signal comprising interleaved control data frames in which two adjacent frames of the first control data segment have been replaced by a single frame designated as a repeat frame to resolve a bandwidth conflict in the control data signal. - View Dependent Claims (14, 15, 16, 17, 18, 19)
reorganized control data in which a frame of the first control data segment has been moved into an unoccupied frame in the control data signal to resolve a bandwidth conflict in the control data signal.
-
-
15. The control data signal of claim 13, further comprising:
pre-stuffed control data in which a portion of the first control data segment has been moved to one or more frames in which the moved portion of the first control data segment will accumulate for delayed performance in a buffer in the first controlled device when the first control data segment is received by the first controlled device.
-
16. The control data signal of claim 13, further comprising:
-
interleaved control data frames in which two adjacent frames of the first control data segment have been replaced by a single frame designated as a repeat frame to resolve a bandwidth conflict in the control data signal; and
reorganized control data in which a frame of the first control data segment has been moved into an unoccupied frame in the control data signal to resolve a bandwidth conflict in the control data signal.
-
-
17. The control data signal of claim 16, further comprising:
pre-stuffed control data in which a portion of the first control data segment has been moved to one or more frames in which the moved portion of the first control data segment will accumulate for delayed performance in a buffer in the first controlled device when the first control data segment is received by the first controlled device.
-
18. The control data signal of claim 13 propagating in approximate synchronism with the display of a video program on a display device and causing the first and second controlled devices to behave as characters in the video program.
-
19. The control data signal of claim 13 encoded in the horizontal overscan of a video signal and stored on video tape in approximate synchronism with a video program so that, when the video tape is played, the control data signal may be read from the video tape and transmitted in approximate synchronism with the display of the video program on a display device to causing the first and second controlled devices to behave as characters in the video program.
-
20. A controlled device configured for responding to control data by performing the steps of:
-
receiving a frame of control data;
determining whether a control data buffer is full; and
if the control data buffer is not full, storing the frame of control data in the control data buffer, determining whether the frame of control data is designated as a repeat frame, and if the frame of control data is designated as a repeat frame, determining whether the control data buffer is full after the control data has been stored in the control data buffer, and if the control data buffer is not full after the control data has been stored in the control data buffer, storing the frame of control data in the control data buffer a second time.
-
-
21. A controlled device configured for synthesizing audible response signals in response to control data by performing the steps of:
-
checking a control data buffer for the presence of a current frame of control data for producing an audible response signal; and
if the control data buffer does not include the current frame of control data, retrieving a previous frame of control data for producing an audible response signal, replaying the previous frame of control data at a reduced volume, and storing the previous frame of control data at the reduced volume in the control data buffer as the current frame of control data.
-
Specification