A System And Method For Time Synchronized Annotation Of Pre Recorded Multiplex Data


Updated about 2 years ago

Abstract

The present invention provides a system and method of time-synchronized streaming of pre-recorded media in real-time virtual conference in a network. In one embodiment, this is accomplished by receiving, at a server, connection from at least one client- node to join a virtual real-time conference, receiving, at the server, a request from one of the client-nodes to stream one or more pre-recorded media files to all the client-nodes which have joined the virtual real-time conference, notifying to all the client-nodes in the virtual real-time conference to connect to media stream for playing the pre-recorded media, streaming the requested prc-recorded media from storage from the server to all the client-nodes in the virtual real-time conference and receiving, at the server, streaming control actions and audio-visual annotations from one of the client-nodes.

Information

Application ID 2322/MUM/2009
Invention Field ELECTRONICS
Date of Application 2009-10-06
Publication Number 05/2012

Applicants

Name Address Country Nationality
GREAT SOFTWARE LABORATORY PVT LTD. VISHWAKALYAN, S. NO. 149/3, OFF. ITI ROAD, PUNE - 411 007 , MAHARASHTRA - INDIA. India India

Inventors

Name Address Country Nationality
AJIT VISHNU DHUMALE VISHWAKALYAN, S. NO. 149/3, OFF. ITI ROAD, PUNE - 411 007, MAHARASHTRA - INDIA. India India
SOHIL HITENDRA RUPANI VISHWAKALYAN, S. NO. 149/3, OFF. ITI ROAD, PUNE - 411 007, MAHARASHTRA - INDIA. India India
CHETAN JANARDAN VAITY VISHWAKALYAN, S.NO. 149/3, OFF. ITI ROAD, PUNE - 411 007, MAHARASHTRA - INDIA. India India

Specification

FORM 2 THE PATENTS ACT, 1970
(39 OF 1970) AND PATENTS RULES, 2003 COMPLETE SPECIFICATION [Section 10, Rule 13] SYSTEM AND METHOD FOR THE SYNCRONIZED STREAMING OF PRE¬RECORDED MEDIA IN A VIRTUAL CONFERENCE
GREAT SOFTWARE LABORATORY PVT. LTD. A COMPANY INCORPORATED UNDER THE COMPANIES ACT 1956, WHOSE ADDRESS IS VISHWAKALYAN, S. No. 149/3, Off. ITI ROAD, PUNE- 411007, MAHARASHTRA, INDIA
THE FOLLOWING SPECIFICATION
PARTICULARLY DESCRIBES THE INVENTION AND THE MANNER IN WHICH IT IS TO BE PERFORMED.

Field of the Invention
This invention relates to the field of computer systems. More particularly, a system and method for time synchronized streaming of pre-recorded media files in real-time virtual conferencing.
Background of the Invention
Real-time virtual conferences like webinar, virtual online meetings and virtual classrooms are one of the fast emerging mechanisms for people to interact and collaborate in real-time irrespective of their geographical location. The participants use their computers and connect to a virtual conferencing server to collaborate in real-time with the other participants in a virtual conference. The participants use various media like text, participant live audio, participant live video, slides, and shared documents to discuss and illustrate their points in the conference. Being a real-time interaction, time synchronization is critical when using these media.
Media streaming systems are designed to stream media programs and events, which may be pre-recorded or live, to client devices (e.g., computers, media players). A client can play a media stream as it is received (i.e., before the stream is complete), thereby allowing fast, or even real-time, enjoyment of the media program or event.
Most of the time, slides and whiteboard are not sufficient to illustrate concepts in a conference and presenters would like other means to get their points across. Present real-time applications (e.g. virtual classroom), however, are limited in their flexibility and usefulness. For example, many real-time audio-video applications do not enable users to make use of pre¬recorded media in a virtual conferences to make effective and productive illustrations.
In case of virtual classroom, especially, it is very sturdy to make the process more engaging and effective. It also increase the time of the presenter and decrease the efficiency by not making use of or repurposing existing readily available content.
None of the existing arts teaches about use of pre recorded media files (audio and/or video) along with the media and tools, would help the conference participants to 'learn by
2
"6 OCT 2009

observing'. Usage of such media, streamed in time synchronized manner to all the conference participants, under presenter's control and with live audio-visual annotations by the presenter and the other participants would make virtual conferences more effective and productive.
For the reasons stated above, which will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for a system and method of time-synchronized streaming of pre-recorded media in real-time virtual conference in a network.
Summary of the Invention
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
According to one aspect of the invention there is provided a system of time-synchronized streaming of pre-recorded media in real-time virtual conference in a network, the system comprising: a plurality of virtual conference client-nodes, each node having a client processor and a client disk for holding client files, and at least one virtual conference server configured to each of the virtual conference client-nodes for communication, wherein the virtual conference server comprising a media streaming server, wherein the media streaming server capable of streaming the pre-recorded media by dropping video packets in order to keep time synchronization to all the virtual conference client-nodes over the network.
According to another aspect of the invention there is provided a method of time-synchronized streaming of pre-recorded media in real-time virtual conference in a network, the method comprising: receiving, at a server, connection from at least one client-node to join a virtual real-time conference, receiving, at the server, a request from one of the client-nodes to stream one or more pre-recorded media files to all the client-nodes which have joined the virtual real-time conference, notifying to all the client-nodes in the virtual real-time conference to connect to media stream for playing the pre-recorded media, streaming the requested pre¬recorded media from storage from the server to all the client-nodes in the virtual real-time
3

'conference, and receiving, at the server, streaming control actions and audio-visual annotations from one of the client-nodes.
Additional advantages and features of the present invention will be more apparent from the detailed description and accompanying drawings, which illustrate preferred embodiments of the invention.
Brief description of the Invention
Figure 1(a) illustrates a block diagram of server architecture of virtual conferencing server.
Figure 1(b) illustrates a block diagram of client architecture of virtual conferencing client.
Figure 2 illustrates a work flow diagram for 'media upload' phase of time synchronized media streaming of pre-recorded media in a virtual conference.
Figure 3 illustrates workflow diagram for 'Media file(s) search' phase of time synchronized media streaming of pre recorded media in a virtual conference.
Figure 4 illustrates workflow diagram for 'Media play initiation' phase time synchronized media streaming of pre recorded media in a virtual conference.
Figure 5 illustrates workflow diagram for 'Media streaming' phase time synchronized media streaming of pre recorded media in a virtual conference.
Figure 6 illustrates work flow diagram of time synchronized streaming of pre-recorded media in 'live' mode to the participants using media broadcast simulator and packet dropping for slower connections.
Figure 7 illustrates, an example, how media packets are dropped at the server which helps in achieving time-synchronized media play at each virtual conference client irrespective of their network connection speed.
Figure 8 illustrates recording of media streaming with control actions and annotations.

Figure 9 shows how media control actions (pause, resume, seek, mute, unmute etc.) applied to 'Media Broadcast Simulator' cause effect on all the participant's client in time synchronized manner.
Detail description of the Invention
In the following detailed description of the preferred embodiments, reference is made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration specific embodiments in which the invention may be practiced. It is understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.
The leading digit(s) of reference numbers appearing in the Figures generally corresponds to the Figure number in which that component is first introduced, such that the same reference number is used throughout to refer to an identical component which appears in multiple Figures. The same reference number or label may refer to signals and connections, and the actual meaning will be clear from its use in the context of the description.
The features, structures, or characteristics of the invention described throughout this specification may be combined in any suitable manner in one or more embodiments. For example, reference throughout this specification to "certain embodiments," "some embodiments," or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases "in certain embodiments," "in demonstrative embodiments," "in some embodiment," "in other embodiments," or similar language throughout this specification do not necessarily all refer to the same group of embodiments and the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
Referring to FIG.l (a) illustrated a block diagram of server architecture of virtual conferencing server according to some demonstrative embodiment of the present invention. Accordingly, the virtual conference server 100(a) includes a control server 110(a), a storage server 120(a), a media streaming server 130(a), a recording server 140(a), a media server 150(a), a database 160(a) and a file pre-processor 170(a). The control server 110(a) is capable of

accepting commands from any of the participant's clients to initiate or terminate playing of one or more media file in a virtual conference. The control server 110(a) also validates the requests and checks if the participant has permissions to execute the command in the conference. If the participant has permissions then it communicate with the media streaming server 130(a) to start streaming the file(s) to all the participants of the conference. Moreover, the control server 110(a) also notifies the participant's clients and the recording server 140(a) about start of media stream in the conference.
Further, the control server 110(a) in communication with the storage server 120(a) to store the user uploaded pre-recorded media files and also capable of storing the recordings during the virtual conference. The recording server 140(a) is capable of recording virtual conferences. Also it is enhanced to handle recording of media streaming session along with annotations and media stream status notifications.
The file pre-processor 170(a) capable of pre-processing the uploaded files to make them compatible with the media server 150(a). Users can upload files in many formats but are not limited to avi, mpeg, mp3, flv. The media server support only subset of file formats for streaming. File pre-processor 170(a) converts user uploaded files to one of the formats supported by the media server 150(a). Moreover, the pre-processor 170(a) capable of converting video dimensions, frame rate and quality of fit bandwidth consumption criteria as specified by the user. Conversion process result into media file(s) which can be streamed readily by the media streaming server 130(a). Pre-processor 170(a) capable of processing uploaded file as soon as they are uploaded or in queued mode. The uploaded tiles will be available for use in virtual conferences only after they are pre-processed. The database 160(a) capable of storing [incomplete sentence] metadata for uploaded pre-recorded media files and conference recordings.
The server architecture with its components as illustrated in Figure 1(a) all these are logical components. All of them can run on separate server computer or one or more of them can run on the same server computer.
Referring to FIG.l (b) illustrated a block diagram of client architecture of virtual conferencing client according to some demonstrative embodiment of the present invention.

Accordingly, the virtual conference client 100(b) includes a session manager 110(b), a media manager (Audio) 120 (b), a media manger (video) 130 (b), a media manager (whiteboard) 140(b), media manager (slides) 150(b), a media file up-loader 160(b), a 'media file searcher and streaming initiator' 170(b) and a 'media viewer and controller' 180(b). A typical virtual conferencing client application runs on end users computer if form of a desktop application or in form of a web browser based application. It typically consists of a session manager 110(b) manages user's session with the server and media managers (120(b), 130(b), 140(b) and 150(b)) for media like audio, video, whiteboard and slides.
The media file up-loader 160(b) capable of facilitating the user to upload media files from their computers to the virtual conferencing server. The user can specify various metadata for the upload files like title, description and specify access control parameters (which users can access the files in which virtual conferences). The 'media searcher and streaming initiator' 170(b) allows the user to search media files which the user can play in a virtual conference based on various search criteria like title, description media type etc. It also allows the user to select one or more of the searched files and initiate their streaming in the conference. The 'media viewer and controller' 180(b) capable of displaying media stream (video and audio) in a virtual conference. It also displays information like title, description, type etc about the media being played and current play-head position. If the participant has permission to control media streaming in the conference then he also sees controls (stop, pause, resume, seek, adjust volume, mute/unmute) to control the media play for all the participants.
Referring to FIG. 2 illustrates a work flow diagram for 'media upload' phase of time synchronized media streaming of pre-recorded media in a virtual conference according to some demonstrative embodiment of the present invention. The system includes a virtual conference client 200(a) and a virtual conference server 200(b). The virtual conference client 200(a) and the virtual conference server 200(b) communicate through a communication network 200(c). The communication network may be or may include one or more network selected from a group of networks consisting of a local area network, a metropolitan area network, a wide area network and the like. The communication channel between the virtual conference client 200(a) and the virtual conference server 200(b) is a bi-directional link.

In an operation, a user uploads one or more media files from his computer i.e. virtual conferencing client 200(a) to the virtual conferencing server 200(b) and specifies metadata as well as access permissions for the same. The user can perform this action after or before joining a virtual conference. The 'Media File Up-loader' 210 component of the client sends the files, metadata and access permissions to the 'Storage Server' 260 component of the virtual conference server. The 'Storage Server' 260 in communication with the control server 240 to check if the user (i.e. virtual client server 200(a)) has the permission to upload the files with given metadata and access permissions. If the user has the permission for the operation then 'Storage Server' 260 gives files to 'File pre-processor' 280 for converting them in format suitable for 'Media Streaming Server' 250. The 'Storage Server' 260 stores metadata of the uploaded files to the database 270 for quick searching later.
Referring to FIG. 3 illustrates workflow diagram for 'Media file(s) search' phase of time synchronized media streaming of pre recorded media in a virtual conference. In this phase a presenter (i.e. virtual conference client 300(a)) in a virtual conference issues a search query to search for media file(s) for streaming them in the conference. The 'Media File Searcher and Streaming Initiator' 320 component of virtual conference client 300(a) sends search query to 'Storage Server' 360 of the virtual conference server 300(b). The storage server 360 in communication with the control server 340 checks if the user has permission to perform the search operation. If the user has permission, then storage server 360 in communication with the database 370 to search file metadata. The control server 340 constructs search result and sends it back to the virtual conference client 300(a).
Referring to FIG. 4 illustrates workflow diagram for 'Media play initiation' phase time synchronized media streaming of pre recorded media in a virtual conference. In this phase the presenter (i.e. virtual conference client 400(a)) selects one or more files from the search result and initiates streaming in the conference. The 'Media File Searcher and streaming initiator' 420 component of the virtual conference client 400(a) sends a list of media files to be streamed and instructions (e.g. repeat mode) to the control server 440 component of the virtual conference server. The control server 440 checks for the permission before proceeding further. The control server 440 instructs media streaming server 450 to start streaming the file(s) as per the presenter's instructions. The media streaming server 440 loads the (already pre-processed) media

files from 'storage server 460. The media streaming server 450 notifies the control server 440 about media stream availability in the conference. If the recording is enabled for the media streaming in the virtual conference, the control server 440 notifies the recording server 490 to start recording. The recording server 490 opens a media stream connection with media streaming server 450 to receive the stream for recording. The control server 440 notifies all the participants (including the presenter) of the conference about availability of media streaming. This notification is sent to 'Media Viewer and Controller' 430 component of the virtual conference client. The 'Media Viewer and Controller' 430 component of the virtual conference client opens a media stream connection with media streaming server 450 to receive and play the stream for the conference participant. The media streaming server 450 starts streaming after some configurable delay after notifying the control server 440 about media stream availability in the conference. This delay is required to make sure that all the participant's clients (i.e. virtual conference clients) get time to open media stream connection after receiving notification described from the control server 440 before the streaming starts. This ensures that all the virtual conference clients do not miss the initial media.
Referring to FIG. 5 illustrates workflow diagram for 'Media streaming' phase time synchronized media streaming of pre recorded media in a virtual conference. In this phase all the participant's clients (i.e. virtual conference client 500(a)) receive stream media and play for the user. The participants can provide their audio-visual annotations which are reflected on the all the participants clients on top of (i.e. overlaid on) the media being streamed. The presenter can control the streaming with control actions like pause/resume, mute/unmute. The virtual conference client 500(a) receives and plays the media stream and overlaid annotations received from media streaming server 550. The recording server 590 receives and records the media stream and overlaid annotations received from media streaming server 550. The 'Media Viewer and Controller' 530 component of the virtual conference client 500(a) sends participants audio¬visual annotations to the media streaming server 550 which then sends them to all the participant's client and to recording server 590 by overlaying on the media stream. The presenter can perform media control actions (like pause/resume, mute/unmute). The 'Media Viewer and Controller' 530 of the presenter's client sends these controlling actions to media streaming server 550. The media streaming server 550 checks if the user has permission to control media streaming in the conference by consulting with the control server 540. The media streaming

server 550 performs the controlling action and also sends notifications to all the participants as well as to recording server 590. The recording server 590 stores the recording on storage server 560. The storage server 560 saves recording metadata into the database 570 for easy searching later.
Figure 6 illustrates work flow diagram of time synchronized streaming of pre-recorded media in 'live' mode to the participants using media broadcast simulator and packet dropping for slower connections. The system includes a virtual conference server 610 and one or more virtual conference clients (650, 660 and 670). The virtual conference server 610 includes a media streaming server 620 and a media broadcast simulator 630. The media broadcast simulator 630 receives media packets 680 from the media file 640. The media file 640 resides in a storage server (not shown in figure).
The virtual conference clients (650, 660 and 670) capable of receiving media packets 680 from the virtual conference server 610. In an operation, the virtual conference client 650 selects and request the virtual conference server 610 to stream the selected pre -recorded media file(s) to all other participants which are in the conference in a time synchronize manner. The media streaming server 620 uses video broadcast simulator 630 to simulate live streaming from pre¬recorded media file to all the participants. The video broadcast simulator 630 simulates a live media broadcaster connection to the server. The video broadcast simulator 630 reads media packets 680 from the media file 640 and feed them to the server in the same manner a live media broadcaster feeds media from live media capture. This result in media player connections from all the virtual conference clients (650, 660 and 670) receives 'live' stream of the pre-recorded media without any network bandwidth discrepancies of the various virtual conference clients. Also, if any of the participants has joined the conference at a later point of time, the system takes care of time synchronization of the play-head for participants.
This is achieved by the server which will drop the media packets/frames for slow player connections to ensure that all the participants are seeing their media play-head is at almost the same time.
For any such slower connections, the virtual conference server 610 will drop media packets 680 when it senses that the connection is lagging behind thus maintaining playback for

the same in SYNC with the others. The media packet dropping is done intelligently to make sure that the receiving participant's media player is able to play meaningful media to the user though some of the intermediate media frames are skipped.
A participant having proper permissions can control the media streaming by pausing, resuming, seeking, stopping, rewinding and controlling audio volume. The participants can also add live audio-visual annotations while the media is being streamed. These annotations will be audible and visible to all the participants in time synchronized manner.
Such a media streaming in a virtual conferencing can, optionally, be recorded at the server. The recording will record controlling actions (pausing, resuming, seeking etc.) and audio¬visual annotations along with the media stream. Such recordings then can be used as media files in other conferences.
Figure 7 illustrates, an example, how media packets are dropped at the server which helps in achieving time-synchronized media play at each virtual conference client irrespective of their network connection speed. Assumption here made for better understanding, how the time synchronization is achieved at the virtual conference client irrespective of network bandwidth discrepancies. A media stream which requires 20 packets per second transmission rate to make sure that media can be played at the client without dropping packets and without the virtual conference client lagging behind. We assume four virtual conference clients in the network connections:
1. Fast Connection I (Client FC1): This client's network connection is fast and has sufficient bandwidth to transmit 20 packets per second. Let's call this client as FC1.
2. Fast Connection II (Client FC2): This client's network connection is fast and has sufficient bandwidth to transmit 20 packets per second. Let's call this client as FC2.
3. Slow Connection I (Client SCI): This client's network connection is slower and has bandwidth which can transmit only 16 packets per second. Let's call this client as SCI.
4. Slow Connection II (Client SC2): This client's network connection is the slowest and bandwidth which can transmit only 14 packets per second. Let's call this client as SC2.

The figure 7 shows time on the horizontal access ('Media packet transmission chronology') and media packets transmitted to each of the 4 client's over the network connection at various time intervals. The top part of the figure 7 shows which packets are transmitted to each of the four clients at various time intervals if packet dropping is not used. E.g. at time 'tl', packet number 5 is transmitted to FC1 and FC2. The slower connection will transmit the packets at slower rate and as can be seen at time 'tl' packet number 4 and packet number 3 are being transmitted on slow connections SCI and SC2 respectively. Thus the slow connections start lagging behind the fast connections (i.e. when newer packets are get transmitted over fast connections, older packets are transmitted on the slow connections). This lag keeps on growing over time, slower the connection more will be the lag. At time 't4' when packet number 20 is being transmitted over FC1 and FC2, packet number 16 and packet number 14 are being transmitted over SCI and SC2 respectively.
The bottom part of the figure 7 shows how packet dropping helps remove the lag for the slow connection. The media streaming server keeps track of which packets it has completely transmitted over each of the connections. When it has the next packet from the media stream to be sent out over a connection, it checks if the previous packet(s) is completely transmitted or not. If the previous packet(s) are not completely transmitted then they are dropped in favor of the current packet (i.e. the previous not-yet-transmitted packet(s) are not transmitted and the latest packet is transmitted on the connection). E.g. at time 'tl', server gets the next packet (packet number 5) to be transmitted, on connections FC1 and FC2 the previous packet (packet number 4) is completely transmitted and hence server transmits packet number 5 on those connections. On SCI, packet number 4 is not yet transmitted (only packet number 3 is completely transmitted at 'tl'), the server drops packet number 4 and transmits packet number 5. On SC2, packet number 3 is dropped in favor of packet number 4. Thus at 'tl' packet number 5 is transmitted over all the connections. This packet dropping also ensures that there is no increasing lag over the slow connection even with increasing time. E.g. at time 't4', the same packet (packet number 20) is transmitted over all the connections.
Figure 8 illustrates recording of media streaming with control actions and annotations. As illustrated in figure 7 the streaming of media packets in a time synchronized manner to all the virtual conference clients. In addition, (as shown in figure 8) one copy of the streamed media

packets are directed to the recording server 880. On receiving media streaming start notification from the virtual conference server 810, the recording server 880 connects to the media steam at location specified by the server. It then starts receiving media packets 890 along with overlaid annotations and media stream status notifications. The recording server 880 records all these packets in a file using the storage server (not shown in figure).
Figure 9 shows how media control actions (pause, resume, seek, mute, unmute etc.) applied to 'Media Broadcast Simulator' cause effect on all the participant's client in time synchronized manner. In addition of the above, in figure 9 virtual conference client 950 want to provide visual annotation on the streamed media . The virtual conference client 950 sends the annotations to the media server over the communication network. The annotation 990 (Al and A2 as shown figure 9) send by the virtual conference client 950 is received by the media streaming server 920 hands over audio-visual annotations received from the participants to media broadcast simulator 930.
The media broadcast simulator 930 then inserts them into the media broadcast stream and thereby sending to all the participant's virtual conference clients in time synchronized manner. The participants can make various types of visual annotations like shapes (lines, circle, rectangle, freehand drawing, pointer etc.) and text annotations on the media being streamed. The example annotation send by the virtual conference server client 950 includes exact location of marking by way of Line ((0, 0), (1, 1), color is red and thickness of the markings is 2 as annotation Al. Similarly, the annotation A2 is referred as Line ((0, 0), (5, 5)), color is black and the thickness is 4.
FIGS. 1-9 are merely representational and are not drawn to scale. Certain portions thereof may be exaggerated, while others may be minimized. FIGS. 1-9 illustrate various embodiments of the invention that can be understood and appropriately carried out by those of ordinary skill in the art.
In the foregoing detailed description of embodiments of the invention, various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments of the invention require more features than are expressly recited in each claim.

Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the detailed description of embodiments of the invention, with each claim standing on its own as a separate embodiment.
It is understood that the above description is intended to be illustrative, and not restrictive. It is intended to cover all alternatives, modifications and equivalents as may be included within the spirit and scope of the invention as defined in the appended claims. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. In the appended claims, the terms "including" and "in which" are used as the plain-English equivalents of the respective terms "comprising" and "wherein," respectively.


We claim:
1. A system of time-synchronized streaming of pre-recorded media in real-time virtual
conference in a network, the system comprising:
a plurality of virtual conference client-nodes, each node having a client processor and a client disk for holding client files; and
at least one virtual conference server configured to each of the virtual conference client-nodes for communication, wherein the virtual conference server comprising a media streaming server, wherein the media streaming server capable of streaming the pre-recorded media by dropping video packets in order to keep time synchronization to all the virtual conference client-nodes over the network.
2. The system of claim 1, further comprising:
a control server controls the cornmunication between the virtual conference server and the virtual conference client-nodes, wherein the control server notifies the virtual conference client-nodes about starting of media stream in the real-time conference.
3. The system of claim 1, further comprising:
a storage server for storing uploaded pre-recorded media files from the virtual conference client-nodes through the control server.
4. The system of claim 1, further comprising:
a recording server capable of receiving and recording the media stream and overlaid annotations received from the media streaming server.
5. The system of claim 1, further comprising:
a database coupled to the storage server for storing the meta-data information for uploaded pre-recorded media files and recordings.
6. The system of claim 1, wherein the media streaming server further includes a media
broadcast simulator for simulating live media packet stream from media files on the storage
server and stream the same to each of the virtual conference client-nodes in a time-synchronized
manner.

7. The system of claim 1, wherein the media streaming server further includes a file pre¬processor for pre-processing to convert the uploaded files to a format compatible to the media streaming server.
8. The system of claim 1, wherein the client-node includes a "media file searcher and streaming initiator unit" for sending search query to the storage server and searches the file with the approval of the control server which has to played in the virtual conference.
9. The system of claim 1, wherein the client-node includes a "media viewer and controller unit" for sending stream control actions and audio-visual annotations to the media streaming server, wherein the media streaming server performs control actions and sends notifications and audio-visual annotations to all the other client-nodes in the virtual conference.
10. A method of time-synchronized streaming of pre-recorded media in real-time virtual conference in a network, the method comprising:
receiving, at a server, connection from at least one client-node to join a virtual real-time conference;
receiving, at the server, a request from one of the client-nodes to stream one or more pre¬recorded media files to all the client-nodes which have joined the virtual real-time conference;
notifying to all the client-nodes in the virtual real-time conference to connect to media stream for playing the pre-recorded media;
streaming the requested pre-recorded media from storage from the server to all the client-nodes in the virtual real-time conference; and
receiving, at the server, streaming control actions and audio-visual annotations from one of the client-nodes.
11. The method of claim 10, further comprising: performing the control actions on the stream at the server.
12. The method of claim 10, further comprising:
notifying the actions and audio-visual notifications to all the client-nodes in the virtual real-time conference.

13. The method of claim 10, further comprising:
recording, at the server, all the stream controlling actions and audio-visual annotations along with the media packets.

Documents

Name Date
2322-MUM-2009-POWER OF ATTORNEY(16-10-2009).pdf 2009-10-16
2322-MUM-2009-FORM 5(16-10-2009).pdf 2009-10-16
2322-MUM-2009-CORRESPONDENCE(16-10-2009).pdf 2009-10-16
2322-MUM-2009-FORM 18(17-01-2011).pdf 2011-01-17
2322-MUM-2009-FORM 1(16-10-2009).pdf 2009-10-16
2322-MUM-2009-CORRESPONDENCE(17-01-2011).pdf 2011-01-17
Other Patent Document [05-10-2016(online)].pdf 2016-10-05
Other Document [30-03-2017(online)].pdf 2017-03-30
Examination Report Reply Recieved [30-03-2017(online)].pdf 2017-03-30
abstract1.jpg 2018-08-10
2322-mum-2009-form 5.pdf 2018-08-10
Description(Complete) [30-03-2017(online)].pdf_475.pdf 2017-03-30
Description(Complete) [30-03-2017(online)].pdf 2017-03-30
2322-mum-2009-form 2.doc 2018-08-10
2322-mum-2009-form 2(title page).pdf 2018-08-10
2322-mum-2009-form 13(12-1-2011).pdf 2018-08-10
2322-mum-2009-form 1.pdf 2018-08-10
Correspondence [30-03-2017(online)].pdf 2017-03-30
2322-MUM-2009-FER.pdf 2018-08-10
2322-mum-2009-description(complete).doc 2018-08-10
2322-mum-2009-drawing.pdf 2018-08-10
Claims [30-03-2017(online)].pdf 2017-03-30
2322-mum-2009-correspondence.pdf 2018-08-10
2322-MUM-2009-CORRESPONDENCE(17-4-2012).pdf 2018-08-10
2322-mum-2009-description(complete).pdf 2018-08-10
2322-mum-2009-form 2.pdf 2018-08-10
2322-MUM-2009-CORRESPONDENCE(12-1-2011).pdf 2018-08-10
2322-mum-2009-claims.doc 2018-08-10
2322-mum-2009-abstract.doc 2018-08-10
2322-mum-2009-abstract.pdf 2018-08-10
2322-MUM-2009-US(14)-HearingNotice-(HearingDate-30-07-2020).pdf 2020-06-30
2322-mum-2009-claim.pdf 2018-08-10
2322-MUM-2009-Correspondence to notify the Controller [30-07-2020(online)].pdf 2020-07-30

Orders

Applicant Section Controller Decision Date URL