Application server and streaming server streaming multimedia file in a client specified format
Abstract
A method and data communication system for transferring multimedia data which stores on an application server a multimedia file including a plurality groups of multimedia data. Each group has a predetermined data size. Next, the system receives a client request and reads a client address at the application server. The client address corresponds to at least one client apparatus. Next, the system strips consecutive groups from the multimedia file and buffers the stripped groups in a staging buffer. Then, the system transfers to a streaming server, consecutive groups from the staging buffer and the client address. The system then converts at the streaming server, each of the consecutive groups received from the staging buffer into a format readable by the at least one client apparatus. Finally, the streaming server sends each of the converted groups to the at least one client apparatus.
Claims
exact text as granted — not AI-modified1 . A method for using an application server comprising the steps of
storing on an application server a multimedia file including a plurality groups of multimedia data, each group having a predetermined data size; receiving a client request and reading a client address at the application server, the client address corresponding to at least one client apparatus; stripping consecutive groups from the multimedia file and buffering the stripped groups in a staging buffer; and transferring to a streaming server, consecutive groups from the staging buffer and the client address.
2 . The method according to claim 1 , wherein the multimedia file is a video file, each group of multimedia data comprises a video frame, each frame corresponds to a frame display duration, and the rate at which consecutive frames are transferred to the streaming server from the staging buffer corresponds to intervals of each display duration.
3 . The method according to claim 2 , wherein the video file is encoded in MPEG format.
4 . The method according to claim 1 , wherein the multimedia file is selected from the group consisting of: video files, music files, computer generated graphics files, still image files, and sound files.
5 . The method according to claim 1 , further comprising the step of:
determining in a request handler in the application server, a number of client requests from at least one client apparatus for the multimedia file.
6 . The method according to claim 5 , further comprising the steps of:
comparing the number of client requests for the multimedia file to a threshold number; and transferring the entire multimedia file from the application server to the streaming server when the number of requests is greater than the threshold number.
7 . A method for using a streaming server comprising the steps of
receiving in a streaming server consecutive groups of data of a multimedia file and a client address; converting each of the consecutive groups received into a format readable by at least one client apparatus; and sending each of the converted groups to the at least one client apparatus.
8 . The method according to claim 7 , wherein the at least one client apparatus is selected from the group consisting of: a personal computer, a fax machine, a hard drive, a telephone interface, a wireless telephone, a radio receiver, and a personal digital assistant (PDA).
9 . The method according to claim 7 , further comprising the step of:
receiving notice of a new client; determining, in the streaming server according to a garbage-collection algorithm, whether there is sufficient space in the streaming server to hold stripped consecutive groups of the multimedia file before receiving the consecutive groups from an application server; and purging at least one multimedia file from the streaming server when the determining step determines that there is not sufficient space in the streaming server to hold the stripped consecutive groups.
10 . The method according to claim 7 , further comprising the steps of:
determining at the streaming server, a transfer rate from an application server to the streaming server and a sending rate from the streaming server to the at least one client apparatus; and comparing the transfer rate to the sending rate before the streaming server performs the converting step.
11 . The method according to claim 10 , further comprising the step of:
waiting a predetermined time period before performing the converting step in the streaming server, when the sending rate is greater than the transfer rate.
12 . The method according to claim 7 , further comprising the steps of:
determining, in the streaming server according to a garbage-collection algorithm, a rate of sending of the multimedia file from the streaming server to the at least one client apparatus; comparing the rate of sending to a threshold number; and purging the multimedia file from the streaming server when the rate of sending is less than the threshold number.
13 . The method according to claim 12 , wherein the rate of sending is a number of times the multimedia file has been sent over a predetermined time period, and the predetermined time period is selected from the group consisting of one minute, one hour, one day, one week, one month, and one year.
14 . The method according to claim 7 , further comprising the steps of:
determining, in the streaming server according to a garbage-collection algorithm, a rate of transfer of the multimedia from the streaming server to the at least one client apparatus; comparing the rate of transfer to a threshold number; and keeping the multimedia file stored on the streaming server when the rate of transfer is greater than the threshold number.
15 . The method according to claim 7 , further comprising the step of:
determining, in a time-division multiplexer program in the streaming server, a priority order for sending the stripped consecutive groups in the sending step, when there are a plurality of the least one client apparatus.
16 . A method for selectively sending multimedia files from application servers or streaming servers in a data communication system, comprising the steps of:
receiving in an application server, a client request for a multimedia file including a plurality of predetermined groups of multimedia data; determining whether the multimedia file is located on a streaming server; stripping consecutive groups from the multimedia file and buffering the stripped groups in a staging buffer at the application server; transferring to a streaming server, consecutive groups from the stripping buffer and a client address corresponding to the client request received in the application server; converting at the streaming server, each of the consecutive groups received from the staging buffer into a format readable by at least one client apparatus; and sending each of the converted groups to the at least one client apparatus, when the multimedia file is not located on the streaming server.
17 . A method for selectively sending multimedia files from application servers or streaming servers in a data communication system, comprising the steps of:
receiving in an application server, a client request for a multimedia file including a plurality of predetermined groups of multimedia data; determining whether the multimedia file is located on a streaming server; converting at the streaming server, each of the consecutive groups received from the staging buffer into a format readable by at least one client apparatus; and sending each of the converted groups to the at least one client apparatus, when the multimedia file is located on the streaming server.
18 . A method of purging multimedia files from a streaming server according to a garbage-collection algorithm, comprising the steps of:
determining a rate at which a multimedia file has been sent from a streaming server to at least one client apparatus; comparing the number of times to a threshold number; and purging the multimedia file from the streaming server when the number of times is less than or equal to the threshold number.
19 . The method according to claim 18 , wherein the rate of sending is a number of times the multimedia file has been sent over a predetermined time period, and the predetermined time period is selected from the group consisting of one minute, one hour, one day, one week, one month, and one year.
20 . A method for purging files from a streaming server comprising the steps of:
receiving in a streaming server, a maximum group count corresponding to a maximum number of groups of data that make up a multimedia file; storing the maximum group count in the streaming server according to a garbage-collection algorithm; receiving consecutive groups of data of the multimedia file; counting a number of consecutive groups received in the streaming server; determining whether the number of consecutive groups received is equal to the maximum group count; and purging from the streaming server, consecutive groups of the multimedia file when the number of groups received is equal to the maximum group count.
21 . The method according to claim 20 , wherein the groups of data of the multimedia file are received in the streaming server from an application server.
22 . A method for selectively transferring entire multimedia files from an application server to a streaming server comprising the steps of:
receiving in an application server, a client request for a multimedia file; determining over a predetermined time period, a number of client requests for the multimedia file; comparing the number of client requests for the multimedia file to a threshold popularity number; and transferring the entire multimedia file from the application server to a streaming server when the total number of client requests for the multimedia file is greater than the threshold popularity number.
23 . The method according to claim 22 , wherein the predetermined time period is selected from the group consisting of: one minute, one hour, one day, one week, one month, and one year.
24 . A method of buffering multimedia data in a data communication system, comprising the steps of:
receiving in a streaming server, consecutive groups of data of a multimedia file; converting at the streaming server, each of the consecutive groups into a protocol readable by at least one client apparatus in communication with the streaming server; determining whether a transfer rate of the groups to the streaming server is greater than a sending rate from the streaming server to the at least one client apparatus; and sending consecutively, the converted groups to the at least one client apparatus, when the determining step determines that the transfer rate is greater than the sending rate.
25 . The method according to claim 24 , wherein the groups are transferred from an application server.
26 . A method of buffering multimedia data in a data communication system, comprising the steps of:
receiving in a streaming server, consecutive groups of data of a multimedia file; converting at the streaming server, each of the consecutive groups into a protocol readable by at least one client apparatus in communication with the streaming server; determining whether a transfer rate of the groups to the streaming server is greater than a sending rate from the streaming server to the at least one client apparatus; and storing in a converted group buffer in the streaming server, the converted groups for a predetermined time period, when the determining step determines that the transfer rate is less than the sending rate; and sending consecutively the converted groups to the at least one client apparatus.
27 . The method according to claim 26 , wherein the groups are transferred from an application server.
28 . A data communication system for sending multimedia data to a client apparatus, comprising:
an application server comprising:
a multimedia file storage;
a file to group stripping program;
a group staging buffer;
a clock, for synchronizing transfer of groups of a multimedia file; and
a streaming server comprising:
a group receiving buffer;
a format conversion program;
a converted group buffer; and
a transmitter for sending converted groups of the multimedia file to at least one client apparatus, wherein the streaming server is in communication with the application server.
29 . The data communication system according to claim 28 , wherein the application server is coupled to the streaming server over a network.
30 . The data communication system according to claim 29 , wherein the network is selected from the group consisting of: a wireless network, an Internet Service Provider (ISP) network, and a local area network (LAN).
31 . The data communication system according to claim 28 , wherein the group receiving buffer is an elastic buffer.
32 . The data communication system according to claim 28 , wherein the application server further comprises:
a request handler for receiving and managing client requests corresponding to multimedia files on the data communication system.
33 . The data communication system according to claim 32 , wherein the request handler reads a client address from a received client request and directs the client address to a streaming server to enable the streaming server to send a multimedia file to a specific client apparatus.
34 . The data communication system according to claim 32 , wherein the streaming server further comprises:
a time-division multiplexer program for prioritizing an order for sending the groups from the streaming server, when there are a plurality of the least one client apparatus.
35 . The data communication system according to claim 32 , wherein the streaming server further comprises:
a garbage-collection algorithm for purging multimedia files to maintaining space in a memory of the streaming server.
36 . A data communication system for transferring multimedia data, comprising:
an application server comprising:
a video file storage, for storing MPEG format video files;
a file to frame stripping program;
a frame staging buffer;
a clock, for synchronizing transfer of the frames; and
a streaming server comprising:
an elastic frame receiving buffer;
a frame format conversion program;
a converted frame buffer; and
a transmitter for sending converted frames to a client computer, wherein the streaming server is coupled over a local area network to the application server.
37 . An application server comprising:
a multimedia file storage; a file to group stripping program; a group staging buffer; and a clock, for synchronizing transfer of segments of a multimedia file.
38 . The application server of claim 37 , further comprising:
a request handler for receiving and managing client requests corresponding to multimedia files on the data communication system.
39 . The data communication system according to claim 38 , wherein the request handler reads-a client address from a received client request and directs the client address to a streaming server to enable the streaming server to send a multimedia file to a specific client apparatus.
40 . A streaming server comprising:
a group receiving buffer; a group format conversion program; a converted group buffer; and a transmitter for sending converted groups of data of a multimedia file to at least one client apparatus.
41 . The streaming server according to claim 40 , further comprising:
a time-division multiplexer program for prioritizing an order for sending the groups from the streaming server, when there are a plurality of the least one client apparatus.
42 . The data communication system according to claim 40 , wherein the streaming server further comprises:
a garbage-collection algorithm for purging multimedia files to maintaining space in a memory of the streaming server.Join the waitlist — get patent alerts
Track US2006041679A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.