Adaptive media streaming server for playing live and streaming media content on demand through web client's browser with no additional software or plug-ins
First Claim
1. A method for providing media content in real-time on a web client including a browser utilizing a cache, the media content capable of being separated into a plurality of sections having a first size, the method comprising:
- (a) ensuring that the web client is capable of flushing the cache to allow the media content to be played in real-time;
(b) providing the plurality of sections of the media content to the web client section by section over a network; and
(c) allowing the web client to flush each section of the media content from the cache in real time once each of the plurality of sections has been displayed;
wherein the browser of the web client is capable of reading and displaying the section of the media content without additional software or plug-ins;
wherein the ensuring step (a) further indicates that each of the plurality of sections has a second size greater than the first size if the browser is a push-enabled browser.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for providing media content in real-time on a web client is disclosed. The web client includes a browser utilizing a cache. The media content can be separated into a plurality of sections. The browser of the web client can read and display a section of the media content without additional software or plug-ins. In one aspect, the method and system include ensuring that the web client can flush the cache to allow the media content to be played in real-time, preferably in response to the web client requesting the media content. In this aspect, the method and system also include providing the plurality of sections of the media content to the web client section by section and allowing the web client to flush the section of the media content from the cache once each of the plurality of section has been displayed. In a second aspect, the method and system include requesting the media content using the web client and ensuring that the web client can flush the cache to allow the media content to be played in real-time. In this aspect, the method and system also include receiving each of the plurality of sections of the media content on the web client section by section, displaying each of the plurality of sections section by section and flushing each section of the media content from the cache once each of the plurality of sections has been displayed.
158 Citations
40 Claims
-
1. A method for providing media content in real-time on a web client including a browser utilizing a cache, the media content capable of being separated into a plurality of sections having a first size, the method comprising:
-
(a) ensuring that the web client is capable of flushing the cache to allow the media content to be played in real-time;
(b) providing the plurality of sections of the media content to the web client section by section over a network; and
(c) allowing the web client to flush each section of the media content from the cache in real time once each of the plurality of sections has been displayed;
wherein the browser of the web client is capable of reading and displaying the section of the media content without additional software or plug-ins;
wherein the ensuring step (a) further indicates that each of the plurality of sections has a second size greater than the first size if the browser is a push-enabled browser. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
(d) allowing the web client to request the media content before the ensuring step (a).
-
-
3. The method of claim 1 wherein the browser has a type and wherein the ensuring step (a) further includes the steps of:
-
(a1) determining the type of the browser; and
(a2) providing the browser with instructions specific to the type of the browser that allow the web client to flush the cache to allow the media content to be played in real-time.
-
-
4. The method of claim 3 wherein the type determining step (a1) includes the step of:
(a1i) determining whether the browser is the push-enabled browser or a pull-enabled browser.
-
5. The method of claim 1 wherein the plurality of sections providing step (b) further includes the step of:
(b1) providing each of the plurality of sections to the web client, each of the plurality of sections being followed by an abort command.
-
6. The method of claim 1 wherein the plurality of sections providing step (b) further includes the steps of:
-
(b1) capturing the media content;
(b2) compressing the media content to provide the plurality of sections;
(b3) streaming the plurality of sections; and
(b4) delivering each of the plurality of sections, each of the plurality of sections being followed by an abort command.
-
-
7. The method of claim 1 wherein the media content includes video data and wherein each of the plurality of sections includes a JPEG frame of video data.
-
8. The method of claim 1 wherein the media content includes audio data.
-
9. The method of claim 1 wherein the plurality of sections providing step (b) further includes the step of:
(b1) adjusting a rate at which the plurality of sections is sent to account for a bandwidth of the web client.
-
10. The method of claim 1 wherein the ensuring step (a) further indicates that each of the plurality of sections has the second size for a pull-enabled browser.
-
11. A method for providing media content in real-time on a web client including a browser utilizing a cache, the media content capable of being separated into a plurality of sections, the browser having a type, the method comprising:
-
(a) ensuring that the web client is capable of flushing the cache to allow the media content to be played in real-time, wherein the ensuring step (a) further includes the steps of;
(a1) determining the type of the browser;
wherein the type determining step (a1) includes the step of;
(a1i) determining whether the browser is the push-enabled browser or a pull-enabled browser; and
(a2) providing the browser with instructions specific to the type of the browser that allow the web client to flush the cache to allow the media content to be played in real-time;
wherein the section has a first size and wherein the instruction providing step (a2) further includes the steps of;
(a2i) indicating to the web client that the browser is not to cache data if the browser is a push-enabled browser;
(a2ii) indicating to the web client that the section has a second size greater than the first size if the browser is a push-enabled browser;
(a2iii) providing an applet to the web client if the browser is a pull-enabled browser, the applet including a patch thread that allows the web client to flush the cache without crashing the web client;
(b) providing the plurality of sections of the media content to the web client section by section over a network; and
(c) allowing the web client to flush each section of the media content from the cache in real time once each of the plurality of sections has been displayed;
wherein the browser of the web client is capable of reading and displaying the section of the media content without additional software or plug-ins. - View Dependent Claims (12)
(b1) pushing each of the plurality of sections to the web client if the browser is the push-enabled browser, each of the plurality of sections being flowed by an abort command;
(b2) allowing the web browser to pull each of the plurality of sections section by section if the browser is a pull-enabled browser.
-
-
13. A method for providing media content in real-time on a web client including a browser utilizing a cache, the media content capable of being separated into a plurality of sections having a first size, the browser of the web client capable of reading and displaying the section of the media content without additional software of plug-ins, the method comprising:
-
(a) requesting the media content using the web client;
(b) ensuring that the web client is capable of flushing the cache to allow the media content to be played in real-time;
(c) receiving each of the plurality of sections of the media content on the web client section by section over a network;
(d) displaying each of the plurality of sections section by section; and
(e) flushing each section of the media content from the cache once each of the plurality of sections has been played;
wherein the ensuring step (b) further indicates that each of the plurality of sections has a second size greater than the first size if the browser is a push-enabled browser. - View Dependent Claims (14, 15, 16)
(b1) providing information which allows the type of the browser to be determined; and
(b2) receiving instructions specific to the type of the browser that allow the web client to flush the cache to allow the media content to be played in real-time.
-
-
15. The method of claim 14 wherein the type of the browser includes the push-enabled browser or a pull-enabled browser.
-
16. The method of claim 13 wherein the ensuring step (b) further indicates that each of the plurality of sections has the second size for a pull-enabled browser.
-
17. A method for providing media content in real-time on a web client including a browser utilizing a cache, the media content capable of being separated into a plurality of sections the browser of the web client capable of reading and displaying the section of the media content without additional software of plug-ins, the method comprising:
-
(a) requesting the media content using the web client;
(b) ensuring that the web client is capable of flushing the cache to allow the media content to be played in real-time;
wherein the browser has a type and wherein the ensuring step (b) further includes the steps of;
(b1) providing information which allows the type of the browser to be determined; and
(b2) receiving instructions specific to the type of the browser that allow the web client to flush the cache to allow the media content to be played in real-time;
wherein the section has a first size and wherein the instruction receiving step (b2) further includes the steps of;
(b2i) receiving information in the web client that indicates the browser is not to cache data and receiving a second size for the section, the second size being greater than the first size if browser is a push-enabled browser;
(b2ii) receiving an applet in the web client if the browser is a pull-enabled browser, the applet including a patch thread that allows the web client to flush the cache without crashing the web client;
(c) receiving each of the plurality of sections of the media content on the web client section by section over a network;
(d) displaying each of the plurality of sections section by section; and
(e) flushing each section of the media content from the cache once each of the plurality of sections has been played. - View Dependent Claims (18)
(c1) receiving each of the plurality of sections to the web client pushed to the web client if the browser is a push-enabled browser, each of the plurality of sections being followed by an abort command;
(c2) pulling each of the plurality of sections section by section if the browser is a pull-enabled browser.
-
-
19. An adaptive media streaming (AMS) server for providing content in real-time on a web client including a browser utilizing a cache, the media content capable of being separated into a plurality of sections, the browser of the web client capable of reading and displaying the section of the media content without additional software or plug-ins, a first size being defined for the section, the AMS server comprising:
-
means for ensuring that the web client is capable of flushing the cache to allow the media content to be played in real-time; and
means for providing the plurality of sections of the media content to the web client section by section over a network;
wherein the web client is allowed to flush the section of the media content from the cache once each of the plurality of sections has been displayed;
wherein the ensuring means further indicates that each of the plurality of sections has a second size greater than the first size if the browser is a push-enabled browser. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28)
an interface for receiving a request for the media content from the web client.
-
-
21. The AMS server of claim 19 wherein the browser has a type and wherein the ensuring means further includes:
-
means for determining the type of the browser; and
means for providing the browser with instructions specific to the type of the browser that allow the web client to flush the cache to allow the media content to be played in real-time.
-
-
22. The AMS server of claim 21 wherein the type determining means determine whether the browser is the push-enabled browser or a pull-enabled browser.
-
23. The AMS server of claim 19 wherein the plurality of sections providing means further provide each of the plurality of sections separated by an abort command to the web client.
-
24. The AMS server of claim 19 wherein the plurality of sections providing means further includes:
-
a video/audio capture engine for capturing the media content;
a media compression engine for compressing the media content to provide the plurality of sections;
a media streaming sub-system for streaming the plurality of sections; and
a media delivery sub-system for delivering each of the plurality of sections, each of the plurality of sections being followed by an abort command.
-
-
25. The AMS server of claim 19 wherein the media content includes video data and wherein each of the plurality of sections includes a JPEG frame of video data.
-
26. The AMS server of claim 19 wherein the media content includes audio data.
-
27. The AMS server of claim 19 wherein the plurality of sections providing means further adjust a rate at which the plurality of sections are sent to account for a bandwidth of the web client.
-
28. The AMS server of claim 19 wherein the ensuring means further indicates that each of the plurality of section has the second size for a pull-enabled browser.
-
29. An adaptive media streaming (AMS) server for providing content in real-time on a web client including a browser utilizing a cache, the media content capable of being separated into a plurality of sections, the browser of the web client capable of reading and displaying the section of the media content without additional software or plug-ins, the AMS server comprising:
-
means for ensuring that the web client is capable of flushing the cache to allow the media content to be played in real-time, wherein the browser has a type and wherein the ensuring means further includes;
means for determining the type of the browser; and
means for providing the browser with instructions specific to the type of the browser that allow the web client to flush the cache to allow the media content to be played in real-time; and
means for providing the plurality of sections of the media content to the web client section by section over a network;
an interface for receiving a request for the media content from the web client;
wherein the web client is allowed to flush the section of the media content from the cache once each of the plurality of sections has been displayed wherein the section has a first size and wherein the instruction providing means further indicate to the web client that the browser is not to cache data if the browser is a push-enabled browser, indicate to the web client that the section has a second size greater than the first size if the browser is a push-enabled browser, and provide an applet to the web client if the browser is a pull-enabled browser, the applet including a patch thread that allows the web client to flush the cache without crashing the web client;
wherein the type determining means determine whether the browser is a push-enabled browser or a pull-enabled browser. - View Dependent Claims (30)
means for allowing the web browser to pull each of the plurality of sections section by section if the browser is a pull-enabled browser.
-
-
31. A web client capable of playing media content in real-time, the media content capable of being separated into a plurality of sections having a first size, comprising:
-
a cache;
a web interface to allow for requesting the media content and receiving the plurality of sections of the media content section by section over a network;
a browser utilizing a cache, the browser of the web client capable of reading and displaying each of the plurality of sections of the media content without additional software or plug-ins;
means for ensuring that the web client is capable of flushing the cache to allow the media content to be played in real-time, thereby allowing each of the plurality of sections of the media content to be flushed from the cache once each of the plurality of sections has been displayed;
wherein the ensuring means further indicates that each of the plurality of sections has a second size greater than the first size if the browser is a push-enabled browser. - View Dependent Claims (32, 33, 34)
-
-
35. A web client capable of playing media content in real-time, the media content capable of being separated into a plurality of sections having a first size, comprising:
-
a cache;
a web interface to allow for requesting the media content and receiving the plurality of sections of the media content section by section over a network;
a browser utilizing a cache, the browser of the web client capable of reading and displaying each of the plurality of sections of the media content without additional software or plug-ins;
means for ensuring that the web client is capable of flushing the cache to allow the media content to be played in real-time, thereby allowing each of the plurality of sections of the media content to be flushed from the cache once each of the plurality of sections has been displayed wherein the browser has a type and wherein the ensuring means further provide information which allows the type of the browser to be determined and receive instructions specific to the type of the browser that allow the web client to flush the cache to allow the media content to be played in real-time wherein the type of browser includes a push-enabled browser or a pull-enabled browser;
wherein the section has a first size and wherein the ensuring means further receive information in the web client that indicate the browser is not to cache data and receiving a second size for the section, the second size being greater than the first size if the browser is a push-enabled browser and receive an applet in the web client if the browser is a pull-enabled browser, the applet including a patch thread that allows the web client to flush the cache without crashing the browser. - View Dependent Claims (36)
means for receiving each of the plurality of sections to the web client pushed to the web client if the browser is a push-enabled browser, each of the plurality of sections being followed by an abort command;
ormeans for pulling each o the plurality of sections section by section if the browser is a pull-enabled browser.
-
-
37. A computer-readable medium containing a program for providing media content in real-time on a web client including a browser utilizing a cache, the media content capable of being separated into a plurality of sections having a first size, the browser of the web client capable of reading and displaying the section of the media content without additional software or plug-ins, the program including instructions for:
-
(a) ensuring that the web client is capable of flushing the cache to allow the media content to be played in real-time;
(b) providing the plurality of sections of the media content to the web client section by section over a network; and
(c) allowing the web client to flush each section of the media content from the cache in real time once each of the plurality of sections has been displayed;
wherein the browser of the web client is capable of reading and displaying the section of the media content without additional software or plug-ins;
wherein the ensuring instruction (a) further indicates that each of the plurality of sections has a second size treater than the first size if the browser is a push-enabled browser. - View Dependent Claims (38)
-
-
39. A computer-readable medium containing a program for providing media content in real-time on a web client including a browser utilizing a cache, the media content capable of being separated into a plurality of sections having a first size, the browser of the web client capable of reading and displaying the section of the media content without additional software of plug-ins, the method comprising:
-
(a) requesting the media content using the web client;
(b) ensuring that the web client is capable of flushing the cache to allow the media content to be played in real-time;
(c) receiving each of the plurality of sections of the media content on the web client section by section over a network;
(d) displaying each of the plurality of sections section by section; and
(e) flushing each section of the media content from the cache once each of the plurality of sections has been played;
wherein the ensuring instructions (b) further indicate that each of the plurality of sections has a second size greater than the first size if the browser is a push-enabled browser. - View Dependent Claims (40)
-
Specification