Streaming computer system and method with multi-version protocol compatibility
First Claim
1. A computer system that transmits data segment in a data stream, the computer system comprising a write module that implements a selected one of a plurality of versions of a streaming protocol wherein each subsequent version of the streaming protocol is additive to a previous version, and that outputs the data segment in the data stream, wherein:
- (a) the write module comprises means, performed by the computer system, for outputting a first stream of data according to a first version of the streaming protocol;
(b) the write module comprises means, performed by the computer system, for sequentially appending additional streams of data to the first stream of data according to each subsequent version of the streaming protocol up to and including the selected version, if the selected version of the streaming protocol is not the first version of the streaming protocol; and
(c) the write module comprises means, performed by the computer system, for delimiting the data segment in the data stream using begin and end tags.
0 Assignments
0 Petitions
Accused Products
Abstract
A forward and backward compatible streaming protocol requires subsequent versions of the protocol to be purely additive relative to earlier versions. When a data segment is transmitted as a data stream, a first stream of data that is in accordance with a first version of the protocol is transmitted, with additional streams of data that are in accordance with subsequent versions of the protocol appended in sequence to the first stream of data. When a read module implements an earlier version of the protocol than a write module, the data segment is truncated to include only the data supported by the version implemented by the read module. On the other hand, when the read module implements a later version of the protocol than the write module, receipt of the data segment is terminated after the data supported by the version implemented by the write module is received.
-
Citations
18 Claims
-
1. A computer system that transmits data segment in a data stream, the computer system comprising a write module that implements a selected one of a plurality of versions of a streaming protocol wherein each subsequent version of the streaming protocol is additive to a previous version, and that outputs the data segment in the data stream, wherein:
-
(a) the write module comprises means, performed by the computer system, for outputting a first stream of data according to a first version of the streaming protocol; (b) the write module comprises means, performed by the computer system, for sequentially appending additional streams of data to the first stream of data according to each subsequent version of the streaming protocol up to and including the selected version, if the selected version of the streaming protocol is not the first version of the streaming protocol; and (c) the write module comprises means, performed by the computer system, for delimiting the data segment in the data stream using begin and end tags. - View Dependent Claims (2, 3, 4)
-
-
5. A computer system that receives a data segment from a data stream, the computer system comprising a read module that implements a selected one of a plurality of versions of a streaming protocol wherein each subsequent version of the streaming protocol is additive to a previous version, and that receives the data segment from the data stream, wherein the read module comprises:
-
(a) means for receiving a first stream of data according to a first version of the streaming protocol; (b) means for sequentially receiving additional streams of data according to each subsequent version of the streaming protocol up to and including the selected version, if the selected version of the streaming protocol is not the first version of the streaming protocol; and (c) means for testing whether an end of the data segment has been detected, and if so, for terminating reception of the data segment prior to receiving the additional stream of data according to the selected version prior to receiving each additional stream of data. - View Dependent Claims (6, 7, 8)
-
-
9. A computer system comprising first and second computers that transmit a data segment in a data stream from the first computer to the second computer, the first computer comprising means for implementing a first selected one of a plurality of versions of a streaming protocol, and the second computer comprising means for implementing a second selected one of the plurality of versions of the streaming protocol, wherein the second selected one of the plurality of versions of the streaming protocol is additive to the first selected on of the plurality of versions of the streaming protocol, and wherein:
-
(a) the first computer includes a write module for transmitting the data segment, wherein the write module outputs a first stream of data according to a first version of the streaming protocol, and if the first selected version is not the first version of the streaming protocol, the write module sequentially appends to the first stream of data additional streams of data according to each subsequent version of the streaming protocol up to and including the first selected version; and (b) the second computer includes a read module for receiving the data segment from the first computer, wherein the read module receives the first stream of data, wherein if the second selected version is earlier than the first selected version, the read module receives each additional stream of data according to each subsequent version of the streaming protocol up to and including the second selected version, and disregards any remaining data in the data segment, wherein if the second selected version is equal to or later than the first selected version, the read module sequentially receives the additional streams of data according to each subsequent version of the streaming protocol up to and including the second selected version, and wherein, prior to receiving each additional stream of data, the read module detects whether an end of the data segment has been detected, and if so, terminates reception of the data segment prior to receiving the additional stream of data according to the second selected version.
-
-
10. A program storage device, readable by a computer system and tangibly and non-transitorily embodying one or more programs of instructions executable by the computer system to perform method steps of transmitting a data segment in a data stream in a format based upon a selected one of a plurality of versions of a streaming protocol wherein each subsequent version of the streaming protocol is additive to a previous version, the method comprising the steps of:
-
(a) outputting a first stream of data according to a first version of the streaming protocol; (b) sequentially appending additional streams of data to the first stream of data according to each subsequent version of the streaming protocol up to and including the selected version, if the selected version of the streaming protocol is not the first version of the streaming protocol; and (c) delimiting the data segment in the data stream using begin and end tags. - View Dependent Claims (13, 14, 15)
-
-
11. A program storage device, readable by a computer system and tangibly and non-transitorily embodying one or more programs of instructions executable by the computer system to perform method steps of receiving a data segment from a data stream according to a selected one of a plurality of versions of a streaming protocol wherein each subsequent version of the streaming protocol is additive to a previous version, the method steps comprising the steps of:
- (a) receiving a first stream of data according to a first version of the streaming protocol;
(b) sequentially receiving additional streams of data according to each subsequent version of the streaming protocol up to and including the selected version, if the selected version of the streaming protocol is not the first version of the streaming protocol; and (c) testing, prior to receiving each additional stream of data, whether an end of the data segment has been detected, and if so, terminating reception of the data segment prior to receiving the additional stream of data according to the selected version. - View Dependent Claims (12, 16, 17, 18)
- (a) receiving a first stream of data according to a first version of the streaming protocol;
Specification