Claims
- 1. A method comprising:
providing a stream format for encapsulating multiple data streams; dynamically defining a new media type; and storing in a logical structure:
an identifier of the new media type that adopts the stream format; and packets of data of the new media type.
- 2. The method as defined in claim 1, wherein:
the storing in a logical structure 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; and encapsulating the packets into the logical structure, wherein at least some of the packets hold the replicas.
- 3. The method as defined in claim 2, wherein the replicas of information hold property information regarding the samples of data.
- 4. The method as defined in claim 3, 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.
- 5. The method as defined in claim 2, 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.
- 6. The method as defined in claim 5, 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.
- 7. The method as defined in claim 5, wherein the header section holds information regarding multiple error correcting methods.
- 8. The method as defined in claim 2, wherein the error correcting data identifies one of a plurality of error correcting methods.
- 9. The method as defined in claim 2, wherein the error correcting data holds parity bits.
- 10. The method as defined in claim 2, 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.
- 11. The method as defined in claim 10, further comprising examining one of the replicas of information at the destination computer when one of the packets is lost during the transmitting.
- 12. The method as defined in claim 10, 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.
- 13. The method as defined in claim 10, 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; receiving one or more said 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.
- 14. The method as defined in claim 13, wherein each clock license includes a time value to which the clock at the destination computer is to be advanced.
- 15. The method as defined in claim 14, wherein each clock license includes an expiration time after which the clock license is invalid.
- 16. One or more computer-readable media having computer-readable instructions thereon which, when executed by the computing system, implement the method of claim 1.
- 17. A method comprising:
providing a stream format for encapsulating multiple data streams; dynamically defining a new media type; storing in a logical structure:
an identifier of the new media type that adopts the stream format; and packets of data of the new media type; sending the logical structure over a transport medium to a destination computer.
- 18. The method as defined in claim 17, wherein:
the storing in a logical structure 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; and encapsulating the packets into the logical structure, wherein at least some of the packets hold the replicas.
- 19. The method as defined in claim 17, wherein the sending the logical structure over the transport medium to the destination computer 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 the destination computer.
- 20. The method as defined in claim 17, wherein the replicas of information hold property information regarding the samples of data.
- 21. The method as defined in claim 20, 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.
- 22. The method as defined in claim 21, further comprising examining one of the replicas of information at the destination computer when one of the packets is lost during the transmitting.
- 23. The method as defined in claim 21, 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.
- 24. The method as defined in claim 17, 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.
- 25. The method as defined in claim 23, 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.
- 26. The method as defined in claim 24, wherein the header section holds information regarding multiple error correcting methods.
- 27. The method as defined in claim 17, wherein the error correcting data identifies one of a plurality of error correcting methods.
- 28. The method as defined in claim 17, wherein the error correcting data holds parity bits.
- 29. The method as defined in claim 18, 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.
- 30. The method as defined in claim 29, wherein each clock license includes a time value to which the clock at the destination computer is to be advanced.
- 31. The method as defined in claim 30, wherein each clock license includes an expiration time after which the clock license is invalid.
- 32. One or more computer-readable media having computer-readable instructions thereon which, when executed by the computing system, implement the method of claim 17.
- 33. A method comprising:
providing a stream format for encapsulating multiple data streams; dynamically defining a new media type to be:
stored at a destination computer; and rendered by a renderer at the destination computer; storing in a logical structure:
an identifier of the new media type that adopts the stream format; a field that identifies the renderer at the destination computer; and packets of data of the new media type; sending the logical structure over a transport medium to the destination computer; and accessing the field in the logical structure that identifies the renderer at the destination computer to determine what renderer to use to render data of new media type.
- 34. The method as defined in claim 33, wherein:
the storing in a logical structure further 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; the method further comprises:
setting a flag in the packets that hold the replicas to indicate that the packets hold replicas; and encapsulating the packets into the logical structure, wherein at least some of the packets hold the replicas.
- 35. The method as defined in claim 34, wherein the sending the logical structure over the transport medium to the destination computer 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 the destination computer.
- 36. The method as defined in claim 34, wherein the replicas of information hold property information regarding the samples of data.
- 37. The method 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.
- 38. The method as defined in claim 37, further comprising examining one of the replicas of information at the destination computer when one of the packets is lost during the transmitting.
- 39. The method as defined in claim 37, 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.
- 40. The method as defined in claim 34, 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.
- 41. The method as defined in claim 40, 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.
- 42. The method as defined in claim 40, wherein the header section holds information regarding multiple error correcting methods.
- 43. The method as defined in claim 34, wherein the error correcting data identifies one of a plurality of error correcting methods.
- 44. The method as defined in claim 34, wherein the error correcting data holds parity bits.
- 45. The method as defined in claim 35, 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.
- 46. The method 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.
- 47. The method as defined in claim 46, wherein each clock license includes an expiration time after which the clock license is invalid.
- 48. The method as defined in claim 34, wherein the multiple streams of data in the logical structure are Active Stream Format (ASF) data streams.
- 49. The method as defined in claim 34, wherein the one error correcting method can be employed in the ASF data streams.
- 50. One or more computer-readable media having computer-readable instructions thereon which, when executed by the computing system, implement the method of claim 33.
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 |
10377378 |
Feb 2003 |
US |
Parent |
08813151 |
Mar 1997 |
US |
Child |
09510565 |
Feb 2000 |
US |