Claims
- 1. A method comprising:
providing a stream format for encapsulating multiple streams of data; including a field in a logical structure that adopts the stream format for specifying a packet size for holding samples of the multiple streams of data; storing a value in the field that corresponds with a desired packet size; storing packets of the desired size within the logical structure that adopts the stream format; and transmitting the logical structure over a transport medium to a destination computer.
- 2. The method as defined in claim 1, wherein the logical structure that adopts the stream format holds a field for a maximum packet size and a field for a minimum packet size.
- 3. The method as defined in claim 1, wherein at least two of the multiple streams of data hold data of different media.
- 4. The method as defined in claim 1, wherein:
the storing packets of the desired size within the logical structure that adopts the stream format comprises:
storing samples of data from multiple data streams in the packets; storing replicas of information in at least some of the packets; and storing error correcting data in the at least some of the packets; the error correcting data identifies an error correcting method for the at least some of the packets; and the method further comprises setting a flag in the packets that hold the replicas to indicate that the packets hold replicas, wherein at least some of the packets hold the replicas.
- 5. The method as defined in claim 4, wherein the replicas of information hold property information regarding the samples of data.
- 6. The-method as defined in claim 5, wherein:
portions of a sample are stored in selected packets; and a replica of property information regarding the sample is stored in each packet in which a portion of the sample is stored.
- 7. The method as defined in claim 4, wherein:
the logical structure includes a header section and a data section; and the error correcting data is stored in multiple packets in the data section.
- 8. The method as defined in claim 7, wherein information in the header section of the logical structure indicates what error correcting methodology is used with the error correcting data stored in the multiple packets in the data section.
- 9. The method as defined in claim 7, wherein the header section holds information regarding multiple error correcting methods.
- 10. The method as defined in claim 4, wherein the error correcting data identifies one of a plurality of error correcting methods.
- 11. The method as defined in claim 4, wherein the error correcting data holds parity bits.
- 12. The method as defined in claim 4, further comprising transmitting the packets of the logical structure on a packet-by-packet basis over a packet switched network from a source computer to a destination computer.
- 13. The method as defined in claim 12, further comprising examining one of the replicas of information at the destination computer when one of the packets is lost during the transmitting.
- 14. The method as defined in claim 12, further comprising using the error correcting data in the at least some of the packets to correct an error when the transmitted logical structure is received at the destination computer.
- 15. The method as defined in claim 12, wherein:
the destination computer has a clock that regulates timing of activities at the destination computer; the method further comprises, prior to the transmitting the packets of the logical structure, storing clock licenses that dictate advancement of a clock in multiple ones of the packets; and the method further comprises, for each packet that holds a clock license, advancing the clock at the destination computer as dictated by the clock license in response to receiving the packet at the destination computer.
- 16. The method as defined in claim 15, wherein each clock license includes a time value to which the clock at the destination computer is to be advanced.
- 17. The method as defined in claim 19, wherein each clock license includes an expiration time after which the clock license is invalid.
- 18. One or more computer-readable media having computer-readable instructions thereon which, when executed by the computing system, implement the method of claim 1.
- 19. A method comprising:
providing a stream format for encapsulating multiple streams of data; including a field in a logical structure that adopts the stream format for holding a value that specifies a maximum bit rate at which the multiple streams of data may be rendered at the destination; storing a value in the field; and transmitting the logical structure over a transport medium to a destination computer.
- 20. The method as defined in claim 19, wherein:
the storing a value in the field further comprises:
storing the logical structure that adopts the stream format into packets; storing samples of data from multiple data streams in the packets; storing replicas of information in at least some of the packets; and storing error correcting data in the at least some of the packets; the error correcting data identifies an error correcting method for the at least some of the packets; and the method further comprises setting a flag in the packets that hold the replicas to indicate that the packets hold replicas, wherein at least some of the packets hold the replicas.
- 21. The method as defined in claim 20, wherein the replicas of information hold property information regarding the samples of data.
- 22. The method as defined in claim 21, wherein:
portions of a sample are stored in selected packets; and a replica of property information regarding the sample is stored in each packet in which a portion of the sample is stored.
- 23. The method as defined in claim 20, wherein:
the logical structure includes a header section and a data section; and the error correcting data is stored in multiple packets in the data section.
- 24. The method as defined in claim 20, wherein information in the header section of the logical structure indicates what error correcting methodology is used with the error correcting data stored in the multiple packets in the data section.
- 25. The method as defined in claim 20, wherein the header section holds information regarding multiple error correcting methods.
- 26. The method as defined in claim 20, wherein the error correcting data identifies one of a plurality of error correcting methods.
- 27. The method as defined in claim 20, wherein the error correcting data holds parity bits.
- 28. The method as defined in claim 20, wherein the transmitting the logical structure over a transport medium to a destination computer further comprises transmitting the packets of the logical structure on a packet-by-packet basis over a packet switched network from a source computer to the destination computer.
- 29. The method as defined in claim 28, further comprising examining one of the replicas of information at the destination computer when one of the packets is lost during the transmitting.
- 30. The method as defined in claim 28, further comprising using the error correcting data in the at least some of the packets to correct an error when the transmitted logical structure is received at the destination computer.
- 31. The method as defined in claim 28, wherein:
the destination computer has a clock that regulates timing of activities at the destination computer; and the method further comprises:
prior to the transmitting the packets of the logical structure, storing clock licenses that dictate advancement of a clock in multiple ones of the packets; receiving one or more of the packets at the destination computer; and for each packet that holds a clock license, advancing the clock at the destination computer as dictated by the clock license in response to receiving the packet at the destination computer.
- 32. The method as defined in claim 31, wherein each clock license includes a time value to which the clock at the destination computer is to be advanced.
- 33. The method as defined in claim 35, wherein each clock license includes an expiration time after which the clock license is invalid.
- 34. One or more computer-readable media having computer-readable instructions thereon which, when executed by the computing system, implement the method of claim 19.
- 35. In a computer system that is coupled to a destination computer via a transport mechanism, a computer-readable storage medium holding a logical structure comprising:
multiple streams of data; and a value in a field that specifies a maximum bit rate at which the multiple streams of data may be rendered at the destination computer.
- 36. The computer-readable storage medium as defined in claim 35, wherein the logical structure held by the computer-readable storage medium further comprises:
samples of data from multiple data streams in the packets; replicas of information in at least some of the packets; error correcting data in the at least some of the packets that identifies an error correcting method for the at least some of the packets; and a flag in the packets that hold the replicas to indicate that the packets hold replicas, wherein:
the packets are encapsulated into the logical structure; and at least some of the packets hold the replicas.
- 37. The computer-readable storage medium as defined in claim 36, wherein the replicas of information hold property information regarding the samples of data.
- 38. The computer-readable storage medium as defined in claim 36, wherein:
portions of a sample are stored in selected packets; and a replica of property information regarding the sample is stored in each packet in which a portion of the sample is stored.
- 39. The computer-readable storage medium as defined in claim 36, wherein:
the logical structure includes a header section and a data section; and the error correcting data is stored in multiple packets in the data section.
- 40. The computer-readable storage medium as defined in claim 39, wherein information in the header section of the logical structure indicates what error correcting methodology is used with the error correcting data stored in the multiple packets in the data section.
- 41. The computer-readable storage medium as defined in claim 39, wherein the header section holds information regarding multiple error correcting methods.
- 42. The computer-readable storage medium as defined in claim 36, wherein the error correcting data identifies one of a plurality of error correcting methods.
- 43. The computer-readable storage medium as defined in claim 36, wherein the error correcting data holds parity bits.
- 44. The computer-readable storage medium as defined in claim 36, wherein:
multiple ones of the packets have stored therein clock licenses that dictate advancement of a clock; and the clock regulates timing of activities at a computer that is to receive the packets
- 45. The computer-readable storage medium as defined in claim 44, wherein each clock license includes a time value to which the clock at the destination computer is to be advanced.
- 46. The computer-readable storage medium as defined in claim 45, wherein each clock license includes an expiration time after which the clock license is invalid.
- 47. The computer-readable storage medium as defined in claim 36, wherein the multiple streams of data in the logical structure are Active Stream Format (ASF) data streams.
- 48. The computer-readable storage medium as defined in claim 36, wherein the one error correcting method can be employed in the ASF data streams.
RELATED APPLICATIONS
[0001] This is a divisional of U.S. patent application Ser. No. 09/510,565, filed on Feb. 22, 2000, which is a divisional of U.S. patent application Ser. No. 08/813,151, filed on Mar. 7, 1997, now U.S. Pat. No. 6,041,345, which claims priority from Provisional Application Serial No. 60/013,029, filed on Mar. 8, 1996, and which claims priority from Provisional Application Serial No. 60/028,789, filed on Oct. 21, 1996, all of which are incorporated herein in their entireties by reference.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60013029 |
Mar 1996 |
US |
|
60028789 |
Oct 1996 |
US |
Divisions (2)
|
Number |
Date |
Country |
Parent |
09510565 |
Feb 2000 |
US |
Child |
10376428 |
Feb 2003 |
US |
Parent |
08813151 |
Mar 1997 |
US |
Child |
09510565 |
Feb 2000 |
US |