Abstract: A method and a system for synchronizing playback time of multimedia data with one or more clients are provided. The method includes synchronizing a local clock time of the clients with a server clock time. The method includes calculating a minimum bandwidth required for the clients to receive the multimedia data. The method also includes reserving the minimum bandwidth for the clients. Moreover the method also includes rendering the multimedia data with synchronized playback time by the clients. Embodiments also disclose a system for synchronizing playback time of the multimedia data. The system includes the server and the one or more clients. The server includes a first processor for synchronizing a local clock time of the clients with a server clock time, calculating a minimum bandwidth required for the clients and distributing the multimedia data to the one or more clients in the form of packets.
METHOD AND SYSTEM FOR SYNCHRONIZING PLAYBACK TIME OF MULTIMEDIA DATA WITH ONE OR MORE CLIENTS DISTRIBUTED BY A
SERVER OVER A NETWORK
FIELD
|0001] The present invention relates to the field of multimedia communications. More particularly, the present invention relates to synchronizing playback time of multimedia data with one or more clients distributed by a server over a network.
BACKGROUND
[0002] In today's world of high speed communication, a computer network is essential for sharing text and multimedia data, between multi-user environment. Conventionally, the most widely used computer network architecture is for example, a client-server architecture, a 3-tier architecture and a peer to peer architecture.
[0003] In the client-server architecture, a server functions as an interface between one or more clients. At each instance, one or more clients can request data to be transmitted from the server. The server responds to the data requests by processing it and transmitting the data to the requested one or more clients. The data can be a multimedia data. Typically in the client server architecture, when the multimedia data is transmitted from the server to one or more clients, a non-synchronization may exist in receiving the multimedia data between the one or more clients. Moreover, the non-synchronization may create a difference in the rendering time of the multimedia data between the one or more clients.
[0004] The non- synchronization playback of multimedia data occurs among the one or more clients due to various factors such as bandwidth availability, local time synchronization, buffer status, and system status of the client. The system status of the
client may include power status, system load, bandwidth utilization, buffer status and utilization of resources of the system by other applications.
jOOOS] Consider an example; the server transmits a data to the one or more clients, for example client CI and C2. The data transmitted can be an audio data "Hello" at a time (t). Assume, in the network the two clients CI and C2 are placed in a common hall and have a bandwidth of 80kbps and 40 kbps respectively. Since there exists a difference between their bandwidths, the client CI having a higher bandwidth will receive and render the data at a time tl and the client C2 having a comparatively lesser bandwidth may receive and render the data at time t2. There exists a time difference between tl and t2 due to variation in bandwidth. Further, due to the difference in the rendering time of the audio data by Cl and C2 the audio playback will be rendered at different times, for example, "hello hello". This type of disturbance is called as "ECHO EFFECT' and is undesirable. In light of the foregoing discussion, there is a need for a method and system to solve the above mentioned problems.
SUMMARY
[0006] Exemplary embodiments of the present invention relate to a method and system for synchronizing playback time of multimedia data with one or more clients distributed by a server over a network.
[0007] In one exemplary embodiment, a method for synchronizing playback time of multimedia data distributed by a server to one or more clients over a network includes synchronizing a local clock time of one or more clients with a server clock time. The server clock time is a reference clock for one or more clients. Further, the method includes calculating a minimum bandwidth required for one or more clients to receive the multimedia data distributed by the server over the network. Furthermore, the method includes reserving the minimum bandwidth required for one or more clients to receive the multimedia data in responsive to the calculating. The method also includes rendering the multimedia data with synchronized playback time by one or more clients, responsive to reserving the minimum bandwidth.
|0008] In one exemplary embodiment, a system for synchronizing playback time includes a server and one or more clients. The server includes a first processor for synchronizing the local clock time of one or more clients to the server clock time. The server clock time is a reference clock for one or more clients. Further the server uses the first processor for calculating the minimum bandwidth required for one or more clients to receive the multimedia data distributed by the server over the network. The first processor is also used for distributing multimedia data to the one or more clients in the form of packets by the server. The packet includes at least one data packet and at least one control packet. The control packet includes various monitoring information such as a common start time, minimum buffer required, start and end sequence packet number. The system is a client server architecture. The one or more clients include the second processor for reserving the minimum bandwidth required to receive the multimedia data. The one or more clients also include a rendering unit for rendering the multimedia data with the synchronized playback time.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] FIG. 1 is a block diagram of an environment, in accordance with which various exemplary embodiments can be implemented;
[0010] FIG. 2 is a block diagram of a server for distributing the multimedia data to one or more clients over a network, in accordance with an exemplary embodiment;
[0011] FIG. 3 is a block diagram of a client for receiving the multimedia data distributed by the server over the network, in accordance with an exemplary embodiment;
[0012] FIG. 4 is a flowchart illustrating a method for synchronizing playback time of multimedia data with one or more clients distributed by the server over the network, in accordance with one exemplary embodiment;
|0013] FIG. 5a-5b is a flowchart illustrating a method for synchronizing playback time of multimedia data with one or more clients distributed by the server over the network, in accordance with another exemplary embodiment; and
|0014] FIG. 6a-6b illustrates a flow diagram for synchronizing playback time of multimedia data with one or more clients distributed by the server, in accordance with one exemplary embodiment.
DETAILED DESCRIPTION
|0015] Exemplary embodiments of the present invention provide a method and system for synchronizing playback time of multimedia data with one or more clients distributed by a server over a network.
[0016] FIG. 1 is a block diagram of an environment 100, in accordance with which various embodiments of the present disclosure can be implemented. The environment 100 includes a server 105, a network 110 and one or more clients, for example a client 115, a client 1 115A, and a client 2 115B. The server 105 transmits a multimedia data to one or more clients through a network 110. The multimedia data transmitted can include an audio data, a video data or a combination thereof. The multimedia data transmitted is then rendered by one or more clients with a synchronized playback time.
[0017] Examples of the network 110 includes, but are not limited to a Local Area Network (LAN), a Wireless Local Area Network (WLAN), a Wide Area Network (WAN), an ethemet, a Small Area Network (SAN), an internet and a Personal area network (PAN).
[0018] Examples of the server 105 includes, but are not limited to an application server, a file server, a communication server, a database server, a game server, and a web server.
10019] FIG. 2 is a block diagram of the server 105 for distributing the multimedia data to one or more clients over the network 110, in accordance with an exemplary embodiment.
[0020] The server 105 includes a first processor 205, a database 210, an input device 215 and a display unit 220.
[0021] The server 105 includes the first processor 205 for synchronizing a local clock time of the one or more clients with a server clock time. Further, the first processor 205 is used for calculating a minimum bandwidth required for the one or more clients to receive the multimedia data. The first processor 205 is also used for distributing the multimedia data to the one or more clients in the form of packets. The packets include at least one data packet and at least one control packet.
[0022] The server 105 includes the database 210 for storing plurality of data. Examples of the data stored in the database include but are not limited to an audio data, a video data, a combination thereof, a text data and an image. The data stored in the database 210 of the server 105 is distributed to the one or more clients over the network 110.
[0023] The server 105 includes the input device 215 for entering the plurality of data into the database 210 of the server 105. The database 210 of the server 105 can be updated with the plurality of data by a user.
[0024] The server 105 also includes the display unit 220 for displaying the plurality of data stored in the database 210.
[0025] FIG. 3 is a block diagram of the client 115 for receiving the multimedia data distributed by the server lOSover the network 110, in accordance with an exemplary embodiment.
[0026] The client 115 includes a second processor 305, a rendering unit 310, a memory 315, an input device 320, and a cursor control 325.
10027] The client 115 includes the second processor 305 for reserving the minimum bandwidth required to receive the muhimedia data distributed by the server 105 over the network 110. The client includes the memory 315 for storing the multimedia data distributed by the server 105 over the network 110.
[0028] The client 115 also includes the rendering unit 310 for rendering the multimedia data received from the server 105 with synchronized playback time.
[0029] The client 115 includes the cursor control 325. In some embodiments, the cursor control 325, for example a mouse, a trackball, a joystick, or cursor direction keys for communicating information to the second processor 305. The client 115 includes an input device 320. The input device 320 includes various keys, for communicating information to the second processor 305. The information communicated to the second processor 305 can be the information related to the multimedia data received from the server 105. The information can be communicated to the second processor 305 from a machine-readable medium. The term machine-readable medium can be defined as a medium providing data to a machine to enable the machine to perform a specific function. The machine-readable medium can be a storage media. All such media must be tangible to enable the instructions carried by the media to be detected by a physical mechanism that reads the instructions into the machine.
]0030] Examples of the machine readable medium includes, but are not limited to, a floppy disk, a flexible disk, hard disk, magnetic tape, a CD-ROM, optical disk, punchcards, papertape, a RAM, a PROM, an EPROM, and a FLASH-EPROM.
]0031] The machine readable medium can also include online links, download links, and installation links providing the information to the second processor 305.
]0032] FIG. 4 is a flowchart illustrating a method for synchronizing playback time of multimedia data with one or more clients distributed by the server 105 over the network, 110 in accordance with one exemplary embodiment.
[0033] At step 405, the method starts.
[0034] At step 410, the local clock time of the one or more clients in the network are synchronized to that of the server clock time.
|0035] At step 415, a minimum bandwidth required for the one or more clients is calculated to receive the multimedia data distributed by the server 105 over the network 110.
[0036] At step 420, the minimum bandwidth required for the one or more clients to receive the multimedia data is reserved in responsive to the calculating.
[0037] At step 425, the multimedia data with synchronized playback time is rendered by the one or more clients responsive to reserving the minimum bandwidth.
[0038] In accordance with an exemplary embodiment of the present invention, a combination of one or more protocols is used for synchronizing playback time of multimedia data with one or more clients. The one more protocols are a Real time protocol (RTF), a Precision time protocol (FTP) a Reservation protocol (RSVP) and a Simple Network Management Protocol (SNMP).
[0039] The method stops at step 430. This is explained in detail in conjunction with FIG.5.
[0040] FIG. 5a- 5b is a flowchart illustrating a method for synchronizing playback time of multimedia data with one or more clients distributed by the server 105 over the network 110, in accordance with another exemplary embodiment.
[0041] At step 505, the method starts.
[0042] At step 510, the local clock time of the one or more clients in the network are synchronized to that of the server clock time. The first processor 205 of the server 105 distributes its local clock time to one or more clients using the PTP (Precise Time Protocol). The server clock is a reference clock for the one or more clients to synchronize the time.
|0043| At step 515, a minimum bandwidth required for the one or more chents is calculated to receive the multimedia data distributed by the server 105 over the network 110. The first processor 205 of the server 105 calculates the minimum bandwidth required for the one or more clients to receive the multimedia data.
10044] The minimum bandwidth required for the one or more clients to receive the multimedia data is calculated based on various parameters. The multimedia data can be the audio data, video data or a combination thereof The various parameters are at least one of a bit rate, a sample rate, an encoding rate, a codec type, and frames per second.
[0045] At step 520, if the minimum bandwidth required for receiving the multimedia data is reserved by the one or more clients in responsive to the calculating then step 530 is performed.
10046] If the minimum bandwidth required for receiving the muhimedia data is not reserved by the one or more clients then the clients are discarded as illustrated in step 525. The server 105 requests the one or more clients to reserve the minimum bandwidth required using the RSVP (Resource reservation Protocol). The protocol used for bandwidth reservation includes, but is not limited to RSVP. The second processor 305 of the client 115 reserves the minimum bandwidth required to receive the multimedia data distributed by the server 105 over the network 110.
[0047] At step 530, the multimedia data with synchronized playback time is rendered by the one or more clients responsive to reserving the minimum bandwidth.
[0048] At step 535, the multimedia data is distributed to the one or more clients in the form of packets by the server 105.
[0049] The packets include at least one data packet; and at least one control packet. The data packet includes the multimedia data. The control packet includes various monitoring information such has the common start time, minimum buffer required, start and end sequence packet number of the multimedia data distributed. The multimedia data is distributed to the one or more clients using the Real time protocol (RTP).
10050] At step 540, a minimum amount of buffer required for the one or more clients to playback the multimedia data with the common start time is calculated by the server 105.
[0051] At step 545, the common start time is announced by the server 105 to playback the multimedia data with the one or more clients.
[0052] At step 550, system health of the one or more clients is monitored by the server 105 based on at least one of a bandwidth, a memory, a power status and processing capabilities of the client 115.
]0053] The method stops at step 555.
[0054] FIG. 6a-6b illustrates a flow diagram for synchronizing playback time of multimedia data with one or more clients distributed by the server 105, in accordance with one exemplary embodiment.
[0055] The one or more clients, for example, the clientl 115A and the client2 115B request the server 105 to distribute the multimedia data. The server 105 receives the request and then synchronizes the local clock time of the clientl 115A and the client2 115B with the server clock time using the Precision time protocol (PTP). The server clock is the reference clock for the clientl 115A and the client2 115B. The server 105 sends a PTP message to the clientl 115A and the client2 115B and the clocks of the client are synchronized through the PTP handshaking as illustrated in 605. A SNMP manager and a SNMP agent are located at the server 105 and at the clientl 115A and the client2 115B. A PTP control packet information for time synchronization is communicated between the SNMP manger and the SNMP agent of the clientl 115A and theclient2 115B.
[0056] The server 105 then calculates the minimum bandwidth required for the clientl 115A and the client2 115B to receive the multimedia data. The server 105 calculates the minimum bandwidth based on various parameters or attributes of the multimedia data. The attributes are at least one of the bit rate, the sample rate, the
encoding rate, the codec type and the frames per second. The server 105 then requests the client! 115A and the client2 115B to reserve the minimum bandwidth required using the RSVP protocol. The cHentl 115A and the client2 115B receives the request and reserves the minimum bandwidth required to receive the multimedia data using the RSVP protocol as illustrated in 610. A RSVP control packet information for bandwidth allocation request is communicated between the SNMP manger and the SNMP agent of the clientl 115A and the client2 115B.
[0057] The server 105 then distributes the multimedia data to the clientl 115A and the client2 115B in the form of packets using the Real time protocol (RTP). The packets include at least one data packet; and control packet. The control packet includes monitoring information such as a common start time, minimum buffer required, start and end sequence packet number. The server 105 calculates a minimum amount of buffer required for the clientl 115A and the client2 115B to playback the multimedia data with a common start time. The server 105 then announces the common start time to playback the multimedia data with the clientl 115A and the client2 115B. The rendering capability information is then sent to the server 105 by the one or more clients with the synchronized playback time using the Simple Network Management Protocol (SNMP). The rendering unit 310 then renders the multimedia data to the one or more clients with the synchronized playback time, if the local clock time of the one or more clients matches with a common start time announced by the server 105. The rendering unit is an Internet protocol (IP) speaker as illustrated in 615. The RTP control packet information is communicated between the SNMP manger and the SNMP agent of the clientl 115A and theclient2 115B.
[0058] After, a first cycle of the data packet and the control packet is distributed between the server 105 and the clientl 115A and the client2 115B, the step 605 and 615A are sustained until the data packets and the control packets are distributed completely as illustrated in 620. The next data packet and the control packet is distributed by the server 105 to the clientl 115A and the client2 115B as illustrated in 615B.
[0059] Various exemplary embodiments of the invention provide a method and system for synchronizing playback time of multimedia data with one or more clients distributed by the server 105 over the network 110. The one or more clients can render the multimedia data distributed by the server 105 with the common playback time. The proposed client server architecture can be implemented on different network topologies. Further, the one or more clients can easily implement the proposed client server architecture.
[0060] In the present specification, the present invention and its advantages have been described with reference to specific embodiments. However, it will be apparent to a person of ordinary skill in the art that various modifications and changes can be made, without departing from the scope of the present invention, as set forth in the claims below. Accordingly, the specification and figures are to be regarded as illustrative examples of the present invention, rather than in restrictive sense. All such possible modifications are intended to be included within the scope of the present invention.
I/We claim:
1. A method for synchronizing playback time of multimedia data with one or more
clients distributed by a server over a network, the method comprising:
synchronizing a local clock time of the one or more clients with a server clock
time, wherein the server clock time is a reference clock for the one or more clients;
calculating a minimum bandwidth required for the one or more clients to receive the multimedia data distributed by the server over the network;
reserving the minimum bandwidth required for the one or more clients to receive the multimedia data in responsive to the calculating; and
rendering the multimedia data with synchronized playback time by the one or more clients responsive to reserving the minimum bandwidth.
2. The method of claim 1, further comprising:
distributing the multimedia data to the one or more clients in the form of packets by the server, wherein the packets comprises: at least one data packet; and at least one control packet, wherein the control packet comprises various monitoring information such has a common start time, minimum buffer required, start and end sequence packet number.
3. The method of claim2, wherein the distributing the multimedia data to the one or
more clients comprises:
calculating a minimum amount of buffer required for the one or more clients to playback the multimedia data with a common start time; and
announcing the common start time to playback the multimedia data with the one or more clients by the server.
4. The method of claim 1, wherein a combination of one or more protocols are used
for synchronizing playback time of multimedia data with one or more clients,
wherein the one or more protocols are a Real time protocol (RTP), a Precision
time protocol (PTP), a Reservation protocol (RSVP) and a Simple Network Management Protocol (SNMP).
5. The method of claim 1, wherein the server clock time is synchronized with the local clock time of the one or more clients using the Precision time protocol (PTP).
6. The method of claim 1, wherein the minimum bandwidth required for the one or more clients to receive the multimedia data is reserved using the Reservation protocol (RSVP).
A
7. The method of claim 1, wherein the minimum bandwidth required for the one or more clients to receive the multimedia data is calculated based on at least one of: a bit rate, a sample rate, an encoding rate, a codec type, and frames per second.
8. The method of claim 1 comprising:
discarding the one or more clients by the server , if the minimum bandwidth required to playback the multimedia data is not reserved.
9. The method of claim 1, wherein the rendering of the multimedia data comprises:
sending the rendering capability information to the server by the one or more
clients, wherein the one or more clients sends the rendering capability information to the server using the Simple Network Management Protocol (SNMP); and
rendering the multimedia data to the one or more clients, if the local clock time of the one or more clients matches with the common start time announced by the server.
10. The method of claim 1, further comprising:
monitoring system health of the one or more clients by the server based on at least one of: a bandwidth of the client, a memory, a power status and processing capabilities.
11. A system for synchronizing playback time of multimedia data with one or more
clients distributed by a server over a network, the server comprising:
a first processor for:
synchronizing a local clock time of the one or more clients with a server clock time, wherein the server clock time is a reference clock for the one or more clients;
calculating a minimum bandwidth required for the one or more clients to receive the multimedia data distributed by the server over the network;
distributing the multimedia data to the one or more clients in the form of packets by the server, wherein the packets comprises: at least one data packet and at least one control packet, wherein the control packet comprises various monitoring information such has a common start time, minimum buffer required, start and end sequence packet number.
12. The system of claim 11, wherein the system is a client-server architecture.
13. The claim of 12, wherein the client comprises:
a second processor for reserving the minimum bandwidth required to receive the multimedia data for the one or more clients responsive to the calculating; and
a rendering unit for rendering the multimedia data by the one or more clients with the synchronized playback time.
14. The system for performing a method, the method as described herein and in accompanying figures.
15. A method for synchronizing playback time of multimedia data with one or more clients distributed by a server over a network in a system, the system as described
herein and in accompanying figures.
| # | Name | Date |
|---|---|---|
| 1 | 2390-che-2009 power of attorney 30-09-2009.pdf | 2009-09-30 |
| 1 | 2390-CHE-2009-AbandonedLetter.pdf | 2019-10-03 |
| 2 | 2390-che-2009 form-5 30-09-2009.pdf | 2009-09-30 |
| 2 | 2390-CHE-2009-FER.pdf | 2019-03-27 |
| 3 | 2390-che-2009 form-3 30-09-2009.pdf | 2009-09-30 |
| 3 | 2390-CHE-2009 POWER OF ATTORNEY 21-06-2011.pdf | 2011-06-21 |
| 4 | 2390-che-2009 form-2 30-09-2009.pdf | 2009-09-30 |
| 4 | 2390-CHE-2009 CORRESPONDENCE OTHERS 21-06-2011.pdf | 2011-06-21 |
| 5 | 2390-che-2009 form-1 30-09-2009.pdf | 2009-09-30 |
| 5 | 2390-CHE-2009 FORM-13 21-06-2011.pdf | 2011-06-21 |
| 6 | 2390-CHE2-009 FORM-13 21-06-2011.pdf | 2011-06-21 |
| 6 | 2390-che-2009 drawings 30-09-2009.pdf | 2009-09-30 |
| 7 | 2390-che-2009 power of attorney 22-04-2010.pdf | 2010-04-22 |
| 7 | 2390-che-2009 description (complete) 30-09-2009.pdf | 2009-09-30 |
| 8 | 2390-che-2009 correspondence others 30-09-2009.pdf | 2009-09-30 |
| 8 | 2390-che-2009 abstract 30-09-2009.pdf | 2009-09-30 |
| 9 | 2390-che-2009 assignment 30-09-2009.pdf | 2009-09-30 |
| 9 | 2390-che-2009 claims 30-09-2009.pdf | 2009-09-30 |
| 10 | 2390-che-2009 assignment 30-09-2009.pdf | 2009-09-30 |
| 10 | 2390-che-2009 claims 30-09-2009.pdf | 2009-09-30 |
| 11 | 2390-che-2009 abstract 30-09-2009.pdf | 2009-09-30 |
| 11 | 2390-che-2009 correspondence others 30-09-2009.pdf | 2009-09-30 |
| 12 | 2390-che-2009 description (complete) 30-09-2009.pdf | 2009-09-30 |
| 12 | 2390-che-2009 power of attorney 22-04-2010.pdf | 2010-04-22 |
| 13 | 2390-che-2009 drawings 30-09-2009.pdf | 2009-09-30 |
| 13 | 2390-CHE2-009 FORM-13 21-06-2011.pdf | 2011-06-21 |
| 14 | 2390-CHE-2009 FORM-13 21-06-2011.pdf | 2011-06-21 |
| 14 | 2390-che-2009 form-1 30-09-2009.pdf | 2009-09-30 |
| 15 | 2390-CHE-2009 CORRESPONDENCE OTHERS 21-06-2011.pdf | 2011-06-21 |
| 15 | 2390-che-2009 form-2 30-09-2009.pdf | 2009-09-30 |
| 16 | 2390-CHE-2009 POWER OF ATTORNEY 21-06-2011.pdf | 2011-06-21 |
| 16 | 2390-che-2009 form-3 30-09-2009.pdf | 2009-09-30 |
| 17 | 2390-che-2009 form-5 30-09-2009.pdf | 2009-09-30 |
| 17 | 2390-CHE-2009-FER.pdf | 2019-03-27 |
| 18 | 2390-CHE-2009-AbandonedLetter.pdf | 2019-10-03 |
| 18 | 2390-che-2009 power of attorney 30-09-2009.pdf | 2009-09-30 |
| 1 | search_27-03-2019.pdf |