Claims
- 1. A delivery system for use in a client server computer architecture in which the server provides streaming media assets to at least one client over a computer network, wherein the media assets can have a plurality of data formats, comprising:
a packet producer that acquires at least one streaming media asset in packetized form and places time stamps on the packets, each time stamp specifying a delivery time for its respective packet, wherein the packet producer adjusts the delivery time of at least one time stamp in accordance with a value indicating a pre read size capability of a receiving client; a time stamp packet queue containing the packets with time stamps in a first in, first out order; and a feeder nodule that removes packets from the time stamp packet queue and transmits the removed packets to a client via the computer network, the transmission for each packet concluded at least by the specified delivery time in each packet.
- 2. The delivery system of claim 1, wherein the packet producer further comprises:
a stream reader; and a stream processor.
- 3. The delivery system of claim 1, further comprising a plurality of packet producers, each packet producer of said plurality supporting a different data format.
- 4. The delivery system of claim 1, wherein the stream reader obtains a streaming media asset in the form of a packetized stream of data and passes it to the stream processor.
- 5. The delivery system of claim 4, wherein the stream processor is configured to process data in accordance with a predetermined format and places delivery time stamps on data packets received from the stream reader.
- 6. The delivery system of claim 5, wherein the stream reader and stream processor share a common thread of control.
- 7. The delivery system of claim 1, wherein the streaming media asset comprises packets having uniform size and delivery times at irregular intervals.
- 8. The delivery system of claim 1, wherein the streaming media asset comprises packets having variable size and delivery times at irregular intervals.
- 9. The delivery system of claim 1, wherein the streaming media asset comprises packets having uniform size and delivery times of regular intervals.
- 10. The delivery system of claim 1, further comprising multiple feeder modules.
- 11. The delivery system of claim 1, further comprising multiple time stamped packet queues.
- 12. A delivery system for use in a client server computer architecture in which the server provides streaming media assets to at least one client over a computer network, wherein the media assets can have a plurality of data formats, comprising:
a packet producer that acquires at least one streaming media asset in packetized form and places time stamps on the packets, each time stamp specifying a delivery time for its respective packet, wherein the packet producer adjusts the delivery time of at least one time stamp in accordance with a value indicating a pre read size capability of a receiving client; a time stamp packet queue containing the packets with time stamps in a first in, first out order; and a feeder module that removes packets from the time stamp packet queue and transmits the removed packets to a client via the computer network, the transmission for each packet concluded at least by the specified delivery time in each packet, the feeder module comprising a stream reader and a stream processor, the stream processor configured to process data in accordance with a predetermined data format, the stream reader obtaining a streaming media asset in the form of a packetized stream of data and passes it to the stream processor, the stream processor placing delivery time stamps on the received data packets, wherein at least one of the time stamps is adjusted for an early delivery in accordance with the receiving client's pre-read size capability.
- 13. A delivery system for use in a client server computer architecture in which the server provides streaming media assets to at least one client over a computer network, wherein the media assets can have a plurality of data formats, comprising:
a packet producer that acquires at least one streaming media asset in packetized form and places time stamps on the packets, each time stamp specifying a delivery time for its respective packet, wherein the packet producer adjusts the delivery time of at least one time stamp in accordance with a value indicating a maximum buffer size of a receiving client; a time stamp packet queue containing the packets with time stamps in a first in, first out order; and a feeder module that removes packets from the time stamp packet queue and transmits the removed packets to a client via the computer network, the transmission for each packet concluded at least by the specified delivery time in each packet.
- 14. The delivery system of claim 13, wherein the packet producer further comprises:
a stream reader; and a stream processor.
- 15. The delivery system of claim 13, further comprising a plurality ofpacket producers, each packet producer of said plurality supporting a different data format.
- 16. The delivery system of claim 13, wherein the stream reader obtains a streaming media asset in the form of a packetized stream of data and passes it to the stream processor.
- 17. The delivery system of claim 16, wherein the stream processor is configured to process data in accordance with a predetermined format and places delivery time stamps on data packets received from the stream reader.
- 18. The delivery system of claim 16, wherein the stream reader and stream processor share a common thread of control.
- 19. The delivery system of claim 13, wherein the streaming media asset comprises packets having uniform size and delivery times at irregular intervals.
- 20. The delivery system of claim 13, wherein the streaming media asset comprises packets having variable size and delivery times at irregular intervals.
- 21. The delivery system of claim 13, wherein the streaming media asset comprises packets having uniform size and delivery times of regular intervals.
- 24. The delivery system of claim 13, further comprising multiple feeder modules.
- 25. The delivery system of claim 13, further comprising multiple time stamped packet queues.
- 26. A delivery system for use in a client server computer architecture in which the server provides streaming media assets to at least one client over a computer network, wherein the media assets can have a plurality of data formats, comprising:
a packet producer that acquires at least one streaming media asset in packetized form and places time stamps on the packets, each time stamp specifying a delivery time for its respective packet, wherein the packet producer adjusts the delivery time of at least one time stamp in accordance with a value indicating a pre read size capability of a receiving client; a time stamp packet queue containing the packets with time stamps in a first in, first out order; and a feeder module that removes packets from the time stamp packet queue and transmits the removed packets to a client via the computer network, the transmission for each packet concluded at least by the specified delivery time in each packet, the feeder module comprising a stream reader and a stream processor, the stream processor configured to process data in accordance with a predetermined data format, the stream reader obtaining a streaming media asset in the form of a packetized stream of data and passes it to the stream processor, the stream processor placing delivery time stamps on the received data packets, wherein at least one of the time stamps is adjusted for a delayed delivery in accordance with the receiving client's max buffer size capability.
- 27. A method of performing admission control for streaming media assets delivered to a client in a client server computer architecture in which the server provides streaming media assets to at least one client over a computer network, the method comprising:
defining a time window in terms of a first duration of time; computing a number of bytes that need to be delivered during the time window, the bytes comprising a first streaming media asset; translating the computed number of bytes into a first time to process value for the first streaming media asset; and admitting for delivery the first streaming media asset if the first time to process value is smaller than the time window.
- 28. The method of claim 27, further comprising the steps of:
computing a number of bytes that need to be delivered during the time window, the bytes comprising at least one additional streaming media asset; translating the computed number of bytes into at least one additional time to process value for the at least one additional streaming media asset; adding the at least one additional time to process value to the first time to process value; and admitting for delivery the at least one additional streaming media asset if the at least one additional time to process value is smaller than the time window.
- 29. In a client server computer architecture, a method of resolving delivery conflicts between at least two streaming media assets delivered simultaneously by a server to at least one client, wherein the at least one client has a pre read size value that indicates a capability of the client to pre read data, the streaming media assets comprising data packets having delivery time stamps, the method comprising the steps of
detecting a delivery conflict between the at least two streaming media assets; adjusting at least one of the time stamps to indicate an early delivery for at least one of the packets, wherein the adjusted time stamp is adjusted in accordance with the pre read size value; and delivering the packets at least by times specified by the time stamps.
- 30. The method of claim 29, further comprising the step of the client communicating the pre read size value to the server when the client requests delivery of a streaming media asset.
- 31. The method of claim 29, further comprising the steps of
the server communicating to the client an optimum value for the pre read size value; and the client allocating sufficient resources to accommodate the optimum value for the pre read size value.
- 32. In a client server computer architecture, a method of resolving delivery conflicts between at least two streaming media assets delivered simultaneously by a server to at least one client, wherein the at least one client has a max buffer size value that indicates a capability of the client to accept delayed data, the streaming media assets comprising data packets having delivery time stamps, the method comprising the steps of
detecting a delivery conflict between the at least two streaming media assets; adjusting at least one of the time stamps to indicate a delayed delivery for at least one of the packets, wherein the adjusted time stamp is adjusted in accordance with the max buffer size value; and delivering the packets at least by times specified by the time stamps.
- 33. The method of claim 32, further comprising the step of the client communicating the max buffer size value to the server when the client requests delivery of a streaming media asset.
- 34. The method of claim 32, further comprising the steps of
the server communicating to the client an optimum value for the max buffer size value; and the client allocating sufficient resources to accommodate the max buffer size value having the optimum value.
- 35. A computer program product which, when executed on a computer, performs admission control for streaming media assets delivered to a client in a client server computer architecture in which the server provides streaming media assets to at least one client over a computer network, by executing the steps of:
defining a time window in terms of a first duration of time; computing a number of bytes that need to be delivered during the time window, the bytes comprising a first streaming media asset; translating the computed number of bytes into a first time to process value for the first streaming media asset; adding the first time to process value to a cumulative time to process value; and admitting for delivery the first streaming media asset if the cumulative time to process value is smaller than the time window.
- 36. A computer program product, which, when executed on a computer, resolves delivery conflicts between at least two streaming media assets delivered simultaneously by a server to at least one client, wherein the at least one client has a pre read size value that indicates a capability of the client to pre read data, the streaming media assets comprising data packets having delivery time stamps, by executing the steps of
detecting a delivery conflict between the at least two streaming media assets; adjusting at least one of the time stamps to indicate an early delivery for at least one of the packets, wherein the adjusted time stamp is adjusted in accordance with the pre read size value; and delivering the packets at least by times specified by the time stamps.
- 37. A computer program product, which, when executed on a computer, resolves delivery conflicts between at least two streaming media assets delivered simultaneously by a server to at least one client, wherein the at least one client has a max buffer size value that indicates a capability of the client to accept delayed data, the streaming media assets comprising data packets having delivery time stamps, by executing the steps of:
detecting a delivery conflict between the at least two streaming media assets; adjusting at least one of the time stamps to indicate a delayed delivery for at least one of the packets, wherein the adjusted time stamp is adjusted in accordance with the max buffer size value; and delivering the packets at least by times specified by the time stamps.
- 38. A method of performing admission control of media assets for transmission over a computer network from a server computer system to a client computer system, the method comprising the steps of:
providing a space window comprising a value representing an amount of contiguously stored data; scanning with the space window a file containing a media asset to be transmitted from the server computer system to the client computer system; and returning a value representing the shortest duration of time over which the data contained in the space window can be delivered.
- 39. A computer program product for performing admission control of media assets for transmission over a computer network from a server computer system to a client computer system, the computer program product executing the steps of:
providing a space window comprising a value representing an amount of contiguously stored data; scanning with the space window a file containing a media asset to be transmitted from the server computer system to the client computer system; and returning a value representing the shortest duration of time over which the data contained in the space window can be delivered.
RELATED APPLICATIONS
[0001] This application claims priority to co-pending United States Provisional Patent Application Ser. No. 60/221,598, filed Jul. 28, 2000, with the United States Patent and Trademark Office, which is incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60221598 |
Jul 2000 |
US |