WO2007015234A2 - Method and system for synchronizing multiple data channels and data files in a data network - Google Patents

Method and system for synchronizing multiple data channels and data files in a data network Download PDF

Info

Publication number
WO2007015234A2
WO2007015234A2 PCT/IL2006/000883 IL2006000883W WO2007015234A2 WO 2007015234 A2 WO2007015234 A2 WO 2007015234A2 IL 2006000883 W IL2006000883 W IL 2006000883W WO 2007015234 A2 WO2007015234 A2 WO 2007015234A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
input
controlling
channels
operation server
Prior art date
Application number
PCT/IL2006/000883
Other languages
French (fr)
Other versions
WO2007015234A3 (en
Inventor
Dov Sandmann
Original Assignee
Verdi Visual Intelligence Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Verdi Visual Intelligence Ltd. filed Critical Verdi Visual Intelligence Ltd.
Publication of WO2007015234A2 publication Critical patent/WO2007015234A2/en
Publication of WO2007015234A3 publication Critical patent/WO2007015234A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination

Definitions

  • the present invention relates to the field of data channels synchronizing and more particularly, the invention relates to a method and system for synchronizing multiple data channels and data files, such as video or audio channels and files during the recording and playback processes in a data network, such as a computer network or the Internet.
  • a data network such as a computer network or the Internet.
  • LAN Local-Area Network. It is a computer network that spans a relatively small area. Most LANs are confined to a single building or group of buildings. However, one LAN can be connected to other LANs over any distance via telephone lines and radio waves. A system of LANs connected in this way is called a wide-area network (WAN). Most LANs connect workstations and personal computers. Each node (individual computer) in a LAN has its own CPU with which it executes programs, but it also is able to access data and devices anywhere on the LAN. This means that many users can share expensive devices, such as laser printers, as well as data. Users can also use the LAN to communicate with each other, by sending e-mail or engaging in chat sessions. There are many different types of LANs Ethernets being the most common for PCs.
  • WAN Wide-Area Network. It is a computer network that spans a relatively large geographical area. Typically, a WAN consists of two or more local-area networks (LANs). Computers connected to a wide-area network are often connected through public networks, such as the telephone system. They can also be connected through leased lines or satellites. The largest WAN in existence is the Internet.
  • Another problem is that video and audio recordings associate with storing, accessing, and annotating a large volume of material.
  • An attorney at trial normally must sift many hours of recorded trial process including material from a number of- depositions, previous trial testimonies etc. All this data, stored on tapes, creates the problem of accessing desired testimony at the desired time. Since the trial process is usually unpredictable, the attorney can not actually prepare video and/or audio testimony for all possible events. Moreover, even if the attorney has prior testimony prepared for use at any given time during the trial process, he is still unable to access previous video or audio trial testimony given earlier at the same day. If, for example, the attorney wishes to revisit testimony given an hour earlier, he has to require the court reporter to stop taping and manually rewind to find the desired testimony and eventually fast forward to reset the tape in order to continue the proceeding.
  • US 6,370,457 discloses event debriefing systems and methods for recording a plurality of data streams related to an event.
  • An observer of the event may create time indication marks that facilitate recalling, during debriefing, what transpired at any particular point in time during the event.
  • the recorded data streams may be retrieved and presented beginning at r ⁇ arked time indications and continued chronologically thereafter in time synchronism.
  • the proposed method in this patent is based on time indication marks created during each event, and it does not solve the problem of data stream synchronization at the time when a user wishes to debrief already recorded event from a point differing from the created indication time mark.
  • US 6,282,510 presents a transcription network having linked computer terminals for a court reporter and for examining, defending, and associate attorneys. Based on the hardware present, the court reporter terminal automatically selects the most appropriate synchronization and audio and video transcript delivery schemes for the other terminals.
  • a multi-mode synchronization scheme provides for various levels of synchronization of the textual transcript with the audio and video transcripts of the proceeding.
  • a first-in first-out arrangement is provided for controlling the video and audio storage space so that a window of available audio and video can be specifically marked and retrieved for post-proceeding review.
  • this patent employs marking technique, marking the available audio and video for post-proceeding review.
  • This patent does not solve the problem of separating audio streams produced by a number of persons, and furthermore, it does not enable a user to review the recorded scene from the point differing from the marked point. Still further, similarly to US 6,370,457, the above patent does not solve the problem of synchronization of data streams or data files, which are not video or audio streams or files, such as data streams or files generated by computer monitors or by medical equipment.
  • US 5,471,576 presents a synchronization process in an application program recording audio fields with, video synchronization counts, and playing back the audio and video fields in synchronism by tracking the video fields against the video sync counts in the audio fields.
  • the video sync counts correspond to the number of video field processed when the audio field is processed.
  • the video fields are counted.
  • the video field count is appended to and recorded with each audio field.
  • the system compares the count of video fields displayed against the video field count appended to the audio field being presented. If the counts are different, the system either skips video fields, or repeats video fields to bring the video fields into synchronism with the audio fields.
  • the disclosed system employs hardware synchronization process it is too complicate and requires special hardware installation.
  • the present invention relates to a method and system for synchronizing multiple data channels and data files in a data network.
  • the system for synchronizing multiple data channels and data files recorded through said data channels over a data network comprises: (a) at least one input station for receiving data contents from two or more input channels; (b) at least one data storage having memory means for storing the data contents; (c) at least one operation server for synchronizing said two or more input channels, said at least one input station over said data network by setting a common timing to said two or more input channels and said at least one input station, for activating a process of data contents receipt, and for maintaining the synchronization during data recording; and (d) at least one distribution server for data contents distribution according to said synchronization over said data network among one or more data contents display stations.
  • the data contents are selected from a group, comprising: (a) a video signal or video file; (b) an audio signal or audio file; (c) a monitor signal; (d) a text file; and (e) a data stream or data file.
  • the data storage further comprises at least one database.
  • the operation server further comprises a clock synchronization mechanism for synchronizing an operation of said operation server, of the at least one input stations and of two or more input channels.
  • the operation server further comprises an input data operation mechanism for selecting and controlling the two or more input channels provided within the at least one input station.
  • the operation server further comprises a monitoring and feedback mechanism for receiving statuses of the selected two or more input channels and transferring said statuses to said operation server.
  • the operation server further comprises a storage management mechanism for managing data, stored in the data storage.
  • the operation server further comprises a network Interface for connecting said operation server to the data network.
  • the operation server further comprises an operation and synchronization program for controlling an operation of the clock synchronization mechanism.
  • the operation server further comprises an operation and synchronization program for controlling an operation of the input data operation mechanism.
  • the operation server further comprises an operation and synchronization program for controlling an operation of the monitoring and feedback mechanism.
  • the operation server further comprises an operation and synchronization program for controlling an operation of the storage management mechanism.
  • the operation server further comprises an operation and synchronization program for controlling an operation of the network Interface.
  • the operation server further comprises an operation and synchronization program for controlling the operation of the at least one input station.
  • the operation server further comprises the data storage.
  • the at least one input station further comprises a data input module for controlling a data transfer between the data storage and the at least one input channel.
  • the at least one input station further comprises a channels control mechanism for checking a status of the at least one input channel and for controlling the operations of said at least one input channel.
  • the at least one input station further comprises a network Interface for connecting said at least one input station to the data network.
  • the at least one input station further comprises an operation system for checking the status of at least one driver of the at least one input channel.
  • the at least one input station further comprises an internal clock mechanism receiving one or more synchronization signals from the operation server.
  • the internal clock mechanism further synchronizes the operation of the channels control mechanism.
  • the internal clock mechanism further synchronizes the operation of the data input module.
  • the internal clock mechanism further synchronizes the operation of the network Interface.
  • the internal clock mechanism further synchronizes the operation of the operation system.
  • the internal clock mechanism further synchronizes the operation of the at least one input channel.
  • the at least one input station further comprises a client program for controlling an operation of the internal clock mechanism.
  • the at least one input station further comprises a client program for controlling an operation of the data input module.
  • the at least one input station further comprises a client program for controlling an operation of the channels control mechanism.
  • the at least one input station further comprises a client program for controlling an operation of the network Interface.
  • the at least one input station further comprises a client program for controlling an operation of the at least one input channel.
  • the operation server periodically receives statuses from the two or more input channels and the at least one input station in order to ensure their proper operation and synchronization.
  • the method for synchronizing multiple data channels and data files recorded through said data channels over a data network comprises: (a) activating a process of data contents receipt and synchronizing two or more input channels and at least one input station over said data network by setting a common timing to said two or more input channels and to said at least one input station by means of at least one operation server; (b) receiving data contents from said two or more input channels by means of at least one input station; (c) maintaining the synchronization during data recording by means of said at least one operation server; (d) storing the data contents by means of at least one data storage having memory means; and (e) distributing said data contents over said data network among one ore more contents display stations.
  • the method further comprises selecting the data contents from a group, comprising: (a) a video signal or video file; (b) an audio signal or audio file; (c) a monitor signal; (d) a text file; and (e) a data stream or data file.
  • a group comprising: (a) a video signal or video file; (b) an audio signal or audio file; (c) a monitor signal; (d) a text file; and (e) a data stream or data file.
  • the method further comprises providing at least one database within the data storage.
  • the method further comprises synchronizing an operation of the operation server, of the at least one input station and of the two or more input channels by means of a clock synchronization mechanism provided within said operation server.
  • the method further comprises selecting and controlling the two or more input channels provided within the at least one input station by means of an input data operation mechanism provided within the operation server.
  • the method further comprises receiving statuses of the selected two or more input channels and transferring them to the operation server by means of a monitoring and feedback mechanism provided within said operation server.
  • the method further comprises managing data, stored in the data storage by means of a storage management mechanism provided within the operation server.
  • the method further comprises connecting the operation server to the data network by means of a network Interface provided within said operation server.
  • the method further comprises controlling an operation of the clock synchronization mechanism by means of an operation and synchronization program provided within the operation server.
  • the method further comprises controlling an operation of the input data operation mechanism by means of an operation and synchronization program provided within the operation server.
  • the method further comprises controlling an operation of the monitoring and feedback mechanism by means of an operation and synchronization program provided within the operation server.
  • the method further comprises controlling an operation of the storage management mechanism by means of an operation and synchronization program provided within the operation server.
  • the method further comprises controlling an operation of the network Interface by means of an operation and synchronization program provided within the operation server.
  • the method further comprises controlling the operation of the at least one input station by means of an operation and synchronization program provided within the operation server.
  • the method further comprises providing the data storage within the operation server.
  • the method further comprises controlling a data transfer between the data storage and the at least one input channel by means of a data input module provided within the at least one input station.
  • the method further comprises checking a status of the at least one input channel and controlling the operations of said at least one input channel by means of a channels control mechanism provided within the at least one input station.
  • the method further comprises connecting the at least one input station to the data network by means of a network Interface provided within said at least one input station.
  • the method further comprises checking the status of at least one driver of the at least one input channel by means of an operation system provided within the at least one input station.
  • the method further comprises receiving one or more synchronization signals from the operation server by means of an internal clock mechanism provided within the at least one input station.
  • the method further comprises synchronizing the operation of the channels control mechanism by means of the internal clock mechanism.
  • the method further comprises synchronizing the operation of the data input module by means of the internal clock mechanism.
  • the method further comprises synchronizing the operation of the network Interface by means of the internal clock mechanism.
  • the method further comprises synchronizing the operation of the operation system by means of the internal clock mechanism.
  • the method further comprises synchronizing the operation of the at least one input channel by means of the internal clock mechanism.
  • the method further comprises controlling an operation of the internal clock mechanism by means of a client program provided within the at least one input station.
  • the method further comprises controlling an operation of the data input module by means of a client program provided within the at least one input station.
  • the method further comprises controlling an operation of the channels control mechanism by means of a client program provided within the at least one input station.
  • the method further comprises controlling an operation of the network Interface by means of a client program provided within the at least one input station.
  • the method further comprises controlling an operation of the at least one input channel by means of a client program provided within the at least one input station.
  • the method further comprises periodically receiving statuses from the two or more input channels and the at least one input station by means of the operation server in order to ensure their proper operation and synchronization.
  • Fig. 1 is a schematic illustration of a communication over a data network, according to an embodiment of the present invention
  • Fig. 2 is a schematic block diagram showing the communication of an Operation server with an Input station over a data network, according to an embodiment of the present invention
  • Fig. 3A is an exemplary flow chart of a method and system for synchronizing multiple data channels and data files in a data network, such as the Internet " ! according to an embodiment of the present invention
  • Fig. 3B is an exemplary flow chart of performing the playback of the recorded files, said playback is performed from Data Storage 110, according to an embodiment of the present invention.
  • FIG. 3 C is another exemplary flow chart of performing the playback of the recorded files, said playback is performed from the input station(s), according to another embodiment of the present invention.
  • FIG. 1 is a schematic illustration of a communication over a data network 100, according to an embodiment of the present invention.
  • Input channels 1 to 4 numbered 131 to 134 are physical interfaces for accepting different types of contents, such as audio signals, video signals, monitor signals, multimedia signals, data files, text files, etc.
  • Input stations 1 and 2 numbered 129 and 130 are stations for accepting the contents received from the above Input channels.
  • Operation server 101 is used for synchronization of the Input channels, Input stations and for activation of a process of data contents receipt, said process comprising setting common timing to all active Input stations and Input channels, receiving "ready" status from said active Input stations and Input channels, and then beginning recording by means of said active Input stations and Input channels.
  • Data Storage 110 is used for contents storage and comprises memory means. Further, Data Storage 110 can comprise at least one database.
  • Distribution server 120 is a server for recorded contents distribution over a data network 100 from Data Storage 110 to a plurality of data contents display stations 140 to 143.
  • the contents display stations 140 to 143 are computer stations for display of the contents recorded by means of the Input channels 1 to 4.
  • Operation server 101 synchronizes the operation of Input channel 1 to 4 numbered 131 to 134, the operation of Input station 1 numbered 129 and Input station 2 numbered 130 by sending at least one command, such as "set time” command (common timing for all input channels).
  • the "set time” command sets the corresponding data and/or time.
  • all active Input channels and Input stations are synchronized to the clock of the Operation server 101 with the accuracy, for example, from 5 milliseconds to 25 milliseconds.
  • the above "set time” command activates a clock unit having a data and time mode, said clock unit can be located within the Input channel(s) and/or Input station(s).
  • Operation server 101 After all active Input channels and Input stations are synchronized, and Operation server 101 receives "ready" command from said Input channels and Input stations, then said Operation server 101 sends "Start recording" command to said Input channels and Input stations.
  • the Operation server constantly receives statuses from all Input channels and Input stations in order to ensure that they are operating properly. For example, Operation server 101 can receive statuses, such as "Out of synchronization", “Communication disconnected”, “Channel Active”, “Channel Inactive”, etc. All recorded data is stored in Data Storage 110 and waits for a request to be displayed.
  • content display station 141 sends a request to Distribution server 120 for specific data display.
  • Distribution server 120 communicates Data Storage 110 requesting the above data. Then, Data Storage 110 sends a status to Distribution server 120, acknowledging it about the availability of the requested data. In case, when the requested data is available, the Data Storage synchronizes said requested data and sends a status to the Distribution server, that the requested data is ready. In turn, the Distribution server creates a data path from the Data Storage to content display station 2 numbered 141 over a data network, such as LAN, WAN, WWW (World Wide Web), the Internet, the Intranet, etc., and then the requested data is displayed on said content display station 2.
  • a data network such as LAN, WAN, WWW (World Wide Web), the Internet, the Intranet, etc.
  • FIG. 2 is a schematic block diagram showing the communication of Operation server 101 with a plurality of Input stations, such as Input station 1 numbered 129, Input stations numbered 130, 169, etc. over a data network, according to an embodiment of the present invention.
  • Operation server 101 comprises operation and synchronization program 210, Clock synchronization mechanism 215, Input data operation mechanism 220, Monitoring and feedback mechanism 225, Storage management mechanism 230 and Network Interface 235.
  • Input station 1 numbered 129 comprises Network Interface 255, Client program 260, Internal clock mechanism 265, Data Input module 270 and Channels control mechanism 275.
  • the Input station 1 receives content 1 numbered 290 and content 2 numbered 295 by means of Input channel 1 numbered 131 and Input channel 2 numbered 132.
  • the Input station 1 also processes the received contents.
  • the above contents can be any types of signals, such as audio signals, video signals, monitor signals, multimedia signals, data files, etc.
  • Network Interfaces 235 and 255 are conventional Network Interfaces which are used for connecting Operation server 101 to a data network, wherein the Input stations, such as the Input station 1 are located.
  • Clock synchronization mechanism 215 synchronizes the operation of all mechanisms, programs and modules within Operation server 101 and Input Stations, such as the Input station 1.
  • the synchronization process within the Input Station 1 is held by means of Internal clock mechanism 265, which receives one or more synchronization signals from Clock synchronization mechanism 215, and then return statuses to said Clock synchronization mechanism 215 regarding the synchronization of all mechanisms, programs and modules within the Input Station 1. Also, it synchronizes the operation of Input channels 1 and 2.
  • Clock synchronization mechanism 215 activates a clock unit having a data and time mode
  • said clock unit can be located within the Input channel(s), such as the Input channel 1, Input channel 2 and/or within the Input station(s), such as the Input station 1, by sending at least one command, such as "set time” command.
  • the above Input channel 1, Input channel 2 and Input station 1 are synchronized to the clock of the Operation server 101 with the accuracy, for example, from 5 milliseconds to 25 milliseconds.
  • Input data operation mechanism 220 selects Input channel(s), such as audio, video, monitor or data stream channel.
  • Input channel 1 is a video channel and Input channel 2 is a monitor channel, and Input data operation mechanism 220 selects Input channel 2.
  • the Input data operation mechanism by means of channels control mechanism 275 checks the status of the above Input channel 2.
  • Client program 260 sends a command to Operation system 296 to check the status of a driver of the Input channel 2. The status of the driver is actually the status of the Input channel.
  • the status of the Input channel 2 (the status of the Input channel 2 driver) can be "Out of synchronization", “Communication is disconnected”, “Channel is Active”, “Channel is Disabled”, etc.
  • said Input channel 2 by means of its driver sends "ready" signal to Client program 260.
  • Client program 260 by means of Network Interfaces 255 and 235 sends a signal to Operation and synchronization program 210, indicating that Input channel 2 is ready.
  • Channels control mechanism 275 is used for checking a status of each inputs channel, such as "Out of synchronization”, “Communication is disconnected”, “Channel is Active”, “Channel is Disabled” and also it is used for controlling the operations of said Input channels, such as start recording, stop recording, etc.
  • a plurality of Input stations and Input channels can be connected to Operation server 101. Therefore, only after “ready" signals were received from all Input stations and Input channels it means that all said Input stations and Input channels are synchronized and are ready to begin recording.
  • Operation and synchronization program 210 by means of Input data operation mechanism 220 sends a command to all selected Input stations and Input channels to start recording.
  • selected Input channel(s) such as the Input channel 2
  • return its status such as "recording have began”
  • Operation and synchronization program 210 by means of Monitoring and feedback mechanism 225.
  • the Operation and synchronization program sends a command by means of Data management mechanism 230 to Data Storage 110 (shown in Fig. 1) to start storing recorded data contents.
  • the recorded data passes from the selected Input channel 2 to Data Storage 110 over Data Input module 270, Client program 260, Network Interfaces 235 and 255 and Storage management mechanism 230.
  • Data Storage 110 in case when Data Storage 110 is not a part of Operation server 101, it must have its own Network Interface and all the data passing to and from said Data Storage 110 has to pass also through said Network Interface.
  • Storage management mechanism 230 is used to manage the data within Data Storage 110.
  • Storage management mechanism 230 can give, for example, an instruction to the above Data Storage to organize the data, stored in said Data Storage in a desirable way in a table. After receiving such instruction, Data Storage builds a table inside itself, and Storage management mechanism 230 can begin to communicate with said table.
  • Storage management mechanism 230 before sending a command to Data Storage 110 to begin to store the recorded data for example, receives a status from said Data Storage 110 about available free space on said Data Storage disk, such as a hard disk. Then, the Storage management mechanism transfers this status to Operation and synchronization program 210, and said Operation and synchronization program decides, according to the received status, if it should give a command to selected Input channel to begin recording.
  • Operation server 101 constantly receives statuses from all Input channels and Input stations in order to ensure that they are operating properly.
  • Operation server 101 can receives statuses, such as "Out of synchronization”, “Communication disconnected”, “Channel Active”, “Channel Inactive”, “Recording accomplished”, etc.
  • Fig. 3A is an exemplary flow chart 300 of a method and system for synchronizing multiple data channels and data files in a data network, such as the Internet, according to an embodiment of the present invention.
  • Operation server 101 (shown on Fig. 2) sets time in the corresponding Input stations, such as Input station 1 numbered 129 (shown on Fig. 2) and in the corresponding Input channels, such as the Input channel 1 numbered 131 (shown on Fig. 2) by means of Clock synchronization mechanism 215 (shown on Fig. 2) and Internal clock mechanism 265 (shown on Fig. 2). If the process of setting time was accomplished successfully, then Input data operation mechanism 220 (shown on Fig.
  • Input data operation mechanism 220 selects at step 320 the corresponding Input station(s), such as Input station 1.
  • Input data operation mechanism 220 selects the corresponding Input channel(s), such as Input channel 1.
  • Input data operation mechanism 220 by means of channels control mechanism 275 checks statuses of the above corresponding Input station(s) and Input channel(s). If the status of at least one corresponding Input station(s) and Input channel(s) is wrong, then at step 340, a counter counts a number of attempts to achieve a correct status of the above at least one corresponding Input station(s) and Input channels.
  • an Error message is displayed to a user at step 380. If the statuses of all corresponding station(s) and channel(s) are OK and the corresponding Input channels) is ready to get commands and activations, then said corresponding Input channel(s) by means of its driver sends "ready" signal to Client program 260 (shown on Fig. 2). Then, Client program 260 by means of Network Interfaces 255 and 235 (shown on Fig. 2) sends a signal to Operation and synchronization program 210 (shown on Fig. 2), indicating that the corresponding Input channel(s) is ready.
  • Client program 260 by means of Network Interfaces 255 and 235 (shown on Fig. 2) sends a signal to Operation and synchronization program 210 (shown on Fig. 2), indicating that the corresponding Input channel(s) is ready.
  • Operation Server 101 by means of Input data operation mechanism 220 sends a command to all selected corresponding Input station(s) and Input channel(s) to start recording.
  • Operation Server 101 at step 355 by means of Clock synchronization mechanism 215 (shown on Fig. 2) and Internal clock mechanism 265 (shown on Fig. 2) periodically checks the clock time of each corresponding Input channel(s) and Input station(s) in order to determine that they are synchronized with said Operation Server 101. If they are not synchronized, then a correction mechanism is activated in step 370 in order to synchronize the above -channels and stations.
  • a counter counts a number of attempts to synchronize the corresponding Input station(s) and Input channels. If the number of attempts exceeds a predetermined number, such as 3, 5 or 10, then an Error message is displayed to a user at step 380. If each of the corresponding Input channel(s) and Input station(s) is synchronized with Operation Server 101, then the recording process continues until said Operation Server 101 sends a command to the corresponding Input station(s) and Input channel(s) by means of Input data operation mechanism 220 to stop said recording process.
  • the recorded data is stored in files. According to an embodiment of the present invention, each stored file represents data recorded by a single Input channel.
  • Fig. 3B is an exemplary flow chart 400 of the playback of the recorded files, said playback performed from Data Storage 110, according to an embodiment of the present invention.
  • one or more Content display stations such as Content display station 1 numbered 140 (shown on Fig. 1) sends a request to Data Storage 110 (shown on Fig. 1) and/or to one or more Input stations, such as Input station 1 numbered 129 (shown on Fig. 1) for the playback of the specific files.
  • Data Storage 110 and/or input station(s) search for the requested corresponding files. If the files are not found, then the process of files search is repeated again.
  • a counter counts a number of attempts to find the requested corresponding files.
  • Preparing files for the playback may include determining a starting point of each file, Otc. If the corresponding files are not ready for the playback, then a counter is activated at step 445, counting a number of attempts to prepare the above files for the playback.
  • the corresponding files can be skipped to the required time. For example, if the user wishes to playback recorded files starting on 20-th minute from the beginning, then said files are skipped to said 20-th minute.
  • the files are played synchronically on content display station(s), such as Content display station 1.
  • the relative playback time of each file is compared on with the other in order to insure a synchronous playback of all corresponding files. If the relative playback time of each file is not equal, then a correction mechanism tries to correct the synchronization at step 475.
  • a counter counts a number of attempts to correct the synchronization of the playback files. If the number of attempts exceeds a predetermined number, then an error message is displayed to the user at step 485. If the relative playback time of each file is equal, then the playback continues until it is over or it is stopped upon the user request.
  • Fig. 3C is another exemplary flow chart 450 of the playback of the recorded files, said playback performed from the input station(s), such as Input station 1 numbered 129 (shown on Fig. 1), according to another embodiment of the present invention.
  • one or more Content display stations such as Content display station 1 numbered 140 (shown on Fig. 1) sends a request to Data Storage 110 (shown on Fig. 1) and/or to one or more Input stations, such as Input station 1 numbered 129 (shown on Fig. 1) for the playback of the specific files.
  • Data Storage 110 and/or input station(s) search for the requested corresponding files. If the files are not found, then the process of files search is repeated again.
  • a counter counts a number of attempts to find the requested corresponding files. If the number of attempts exceeds a predetermined number, then an error message is displayed to the user at step 430.
  • the requested corresponding files were found in Data Storage, then these files have to be stored in input station(s) prior to starting the playback, since that according to this embodiment the playback is performed from said input station(s).
  • step 505 is performed a check of the corresponding time of each file, requested for the playback, in order to insure for example, that the playback of each file would start at the same time point. The above time of each corresponding file is compared one with another at step 510.
  • a correction mechanism is activated in step 520.
  • a counter counts a number of attempts to correct the initial playback time of each recorded file. If the number of attempts exceeds a predetermined number, then an error message is displayed to the user at step 530. Further, at step 455, the corresponding files can be skipped to the required time. For example, if the user wishes to playback recorded files starting on 20-th minute from the beginning, then said files are skipped to said 20-th minute. After that at step 460, the files are played synchronically on content display station(s), such as Content display station 1.
  • the relative playback time of each file is compared on with the other in order to insure a synchronous playback of all corresponding files. If the relative playback time of each file is not equal, then a correction mechanism tries to correct the synchronization at step 475.
  • a counter counts a number of attempts to correct the synchronization of the playback files. If the number of attempts exceeds a predetermined number, then an error message is displayed to the user at step 485. If the relative playback time of each file is equal, then the playback continues until it is over or it is stopped upon the user request.

Abstract

Method and system for synchronizing multiple data channels and data files recorded through the data channels over a data network. A process of data contents receipt and synchronizing several input channels and input stations over the data network, is activated by setting a common timing to the input channels and to the input stations by an operation server. Data contents are received from the input channels by the input stations. Synchronization is maintained during data recording by the operation server and the data contents are stored by a data storage with memory . Finally, the data contents are distributed over the data network among content display stations.

Description

METHQD AND SYSTEM FOR SYNCHRONIZING MULTIPLE DATA CHANNELS AND DATA FILES IN A DATA NETWORK
Field of the Invention
The present invention relates to the field of data channels synchronizing and more particularly, the invention relates to a method and system for synchronizing multiple data channels and data files, such as video or audio channels and files during the recording and playback processes in a data network, such as a computer network or the Internet.
Definitions, Acronyms and Abbreviations
Throughout this specification, the following definitions are employed:
LAN: Local-Area Network. It is a computer network that spans a relatively small area. Most LANs are confined to a single building or group of buildings. However, one LAN can be connected to other LANs over any distance via telephone lines and radio waves. A system of LANs connected in this way is called a wide-area network (WAN). Most LANs connect workstations and personal computers. Each node (individual computer) in a LAN has its own CPU with which it executes programs, but it also is able to access data and devices anywhere on the LAN. This means that many users can share expensive devices, such as laser printers, as well as data. Users can also use the LAN to communicate with each other, by sending e-mail or engaging in chat sessions. There are many different types of LANs Ethernets being the most common for PCs.
WAN: Wide-Area Network. It is a computer network that spans a relatively large geographical area. Typically, a WAN consists of two or more local-area networks (LANs). Computers connected to a wide-area network are often connected through public networks, such as the telephone system. They can also be connected through leased lines or satellites. The largest WAN in existence is the Internet.
Background of the Invention
For many years, video and audio recordings are used in a plurality of applications. Despite the rationality of video or audio recordings, their use in court proceedings, for example, is limited due to different problems. One problem is that a person wishing to use prior recorded data in court, has to manually search within the set of tapes in order to find the desired material.
Another problem is that video and audio recordings associate with storing, accessing, and annotating a large volume of material. An attorney at trial normally must sift many hours of recorded trial process including material from a number of- depositions, previous trial testimonies etc. All this data, stored on tapes, creates the problem of accessing desired testimony at the desired time. Since the trial process is usually unpredictable, the attorney can not actually prepare video and/or audio testimony for all possible events. Moreover, even if the attorney has prior testimony prepared for use at any given time during the trial process, he is still unable to access previous video or audio trial testimony given earlier at the same day. If, for example, the attorney wishes to revisit testimony given an hour earlier, he has to require the court reporter to stop taping and manually rewind to find the desired testimony and eventually fast forward to reset the tape in order to continue the proceeding.
In order to solve the above stated problems a number of solution were proposed. US 6,370,457 discloses event debriefing systems and methods for recording a plurality of data streams related to an event. An observer of the event may create time indication marks that facilitate recalling, during debriefing, what transpired at any particular point in time during the event. The recorded data streams may be retrieved and presented beginning at rαarked time indications and continued chronologically thereafter in time synchronism. However, the proposed method in this patent is based on time indication marks created during each event, and it does not solve the problem of data stream synchronization at the time when a user wishes to debrief already recorded event from a point differing from the created indication time mark. Furthermore, according to the above method there is no check before the start of the playback, whether all recorded data streams are really synchronized among themselves and are ready to be played simultaneously. Still further, the above patent does not solve the problem of synchronization of data streams or data files, which are not video or audio streams or files, such as data streams or files generated by computer monitors or by medical equipment.
US 6,282,510 presents a transcription network having linked computer terminals for a court reporter and for examining, defending, and associate attorneys. Based on the hardware present, the court reporter terminal automatically selects the most appropriate synchronization and audio and video transcript delivery schemes for the other terminals. A multi-mode synchronization scheme provides for various levels of synchronization of the textual transcript with the audio and video transcripts of the proceeding. A first-in first-out arrangement is provided for controlling the video and audio storage space so that a window of available audio and video can be specifically marked and retrieved for post-proceeding review. However, analogically to US 6,370,457, this patent employs marking technique, marking the available audio and video for post-proceeding review. This patent does not solve the problem of separating audio streams produced by a number of persons, and furthermore, it does not enable a user to review the recorded scene from the point differing from the marked point. Still further, similarly to US 6,370,457, the above patent does not solve the problem of synchronization of data streams or data files, which are not video or audio streams or files, such as data streams or files generated by computer monitors or by medical equipment.
Another kind of patents presents synchronization methods employed by means of hardware. For example, US 5,471,576 presents a synchronization process in an application program recording audio fields with, video synchronization counts, and playing back the audio and video fields in synchronism by tracking the video fields against the video sync counts in the audio fields. The video sync counts correspond to the number of video field processed when the audio field is processed. During recording of audio and video fields for the multimedia presentation, the video fields are counted. The video field count is appended to and recorded with each audio field. During playback, the system compares the count of video fields displayed against the video field count appended to the audio field being presented. If the counts are different, the system either skips video fields, or repeats video fields to bring the video fields into synchronism with the audio fields. However, since the disclosed system employs hardware synchronization process it is too complicate and requires special hardware installation.
Therefore, there is a need to guarantee data files synchronization enabling a user to select desirable audio, video, text or the like files and enable said user to playback the recorded data from any point within a recorded scene.
It is another object of the present invention to provide a method and system synchronizing various data files rather than data within a particular data file.
It is still another object of the present invention to provide a method and system which does not require special hardware installation. It is still another object of the present invention to provide a method and apparatus providing virtual real-time access to all data files and data streams separately within the prior recorded scene.
It is still another object of the present invention to provide a method and system having a synchronization mechanism for keeping all data files and data streams synchronized all the time.
It is a further object of the present invention to provide a method and system which enables a selective playback of audio, video and other data files and data streams, while giving to a user an option to decide whether he wishes to see and/or to hear the recorded data provided by means of each source element.
It is still a further object of the present invention to provide a method and system synchronizing multiple data files and data streams by means of software.
It is still a further object of the present invention to provide a method and system synchronizing multiple data files and data streams over a data network, such as the Internet.
It is still a further object of the present invention to provide a method and system which does not require downloading all recorded data files to a single computer for the data files processing and future playback.
It is still a further object of the present invention to provide a method and system which are user friendly.
Other objects and advantages of the invention will become apparent as the description proceeds. - S -
Summary of the Invention
The present invention relates to a method and system for synchronizing multiple data channels and data files in a data network.
The system for synchronizing multiple data channels and data files recorded through said data channels over a data network comprises: (a) at least one input station for receiving data contents from two or more input channels; (b) at least one data storage having memory means for storing the data contents; (c) at least one operation server for synchronizing said two or more input channels, said at least one input station over said data network by setting a common timing to said two or more input channels and said at least one input station, for activating a process of data contents receipt, and for maintaining the synchronization during data recording; and (d) at least one distribution server for data contents distribution according to said synchronization over said data network among one or more data contents display stations.
Preferably, the data contents are selected from a group, comprising: (a) a video signal or video file; (b) an audio signal or audio file; (c) a monitor signal; (d) a text file; and (e) a data stream or data file.
Preferably, the data storage further comprises at least one database.
Preferably, the operation server further comprises a clock synchronization mechanism for synchronizing an operation of said operation server, of the at least one input stations and of two or more input channels.
Preferably, the operation server further comprises an input data operation mechanism for selecting and controlling the two or more input channels provided within the at least one input station. Preferably, the operation server further comprises a monitoring and feedback mechanism for receiving statuses of the selected two or more input channels and transferring said statuses to said operation server.
Preferably, the operation server further comprises a storage management mechanism for managing data, stored in the data storage.
Preferably, wherein the operation server further comprises a network Interface for connecting said operation server to the data network.
Preferably, the operation server further comprises an operation and synchronization program for controlling an operation of the clock synchronization mechanism.
Preferably, the operation server further comprises an operation and synchronization program for controlling an operation of the input data operation mechanism.
Preferably, the operation server further comprises an operation and synchronization program for controlling an operation of the monitoring and feedback mechanism.
Preferably, the operation server further comprises an operation and synchronization program for controlling an operation of the storage management mechanism.
Preferably, the operation server further comprises an operation and synchronization program for controlling an operation of the network Interface. Preferably, the operation server further comprises an operation and synchronization program for controlling the operation of the at least one input station.
Preferably, the operation server further comprises the data storage.
Preferably, the at least one input station further comprises a data input module for controlling a data transfer between the data storage and the at least one input channel.
Preferably, the at least one input station further comprises a channels control mechanism for checking a status of the at least one input channel and for controlling the operations of said at least one input channel.
Preferably, the at least one input station further comprises a network Interface for connecting said at least one input station to the data network.
Preferably, the at least one input station further comprises an operation system for checking the status of at least one driver of the at least one input channel.
Preferably, the at least one input station further comprises an internal clock mechanism receiving one or more synchronization signals from the operation server.
Preferably, the internal clock mechanism further synchronizes the operation of the channels control mechanism.
Preferably, the internal clock mechanism further synchronizes the operation of the data input module. Preferably, the internal clock mechanism further synchronizes the operation of the network Interface.
Preferably, the internal clock mechanism further synchronizes the operation of the operation system.
Preferably, the internal clock mechanism further synchronizes the operation of the at least one input channel.
Preferably, the at least one input station further comprises a client program for controlling an operation of the internal clock mechanism.
Preferably, the at least one input station further comprises a client program for controlling an operation of the data input module.
Preferably, the at least one input station further comprises a client program for controlling an operation of the channels control mechanism.
Preferably, the at least one input station further comprises a client program for controlling an operation of the network Interface.
Preferably, the at least one input station further comprises a client program for controlling an operation of the at least one input channel.
Preferably, the operation server periodically receives statuses from the two or more input channels and the at least one input station in order to ensure their proper operation and synchronization.
The method for synchronizing multiple data channels and data files recorded through said data channels over a data network comprises: (a) activating a process of data contents receipt and synchronizing two or more input channels and at least one input station over said data network by setting a common timing to said two or more input channels and to said at least one input station by means of at least one operation server; (b) receiving data contents from said two or more input channels by means of at least one input station; (c) maintaining the synchronization during data recording by means of said at least one operation server; (d) storing the data contents by means of at least one data storage having memory means; and (e) distributing said data contents over said data network among one ore more contents display stations.
Preferably, the method further comprises selecting the data contents from a group, comprising: (a) a video signal or video file; (b) an audio signal or audio file; (c) a monitor signal; (d) a text file; and (e) a data stream or data file.
Preferably, the method further comprises providing at least one database within the data storage.
Preferably, the method further comprises synchronizing an operation of the operation server, of the at least one input station and of the two or more input channels by means of a clock synchronization mechanism provided within said operation server.
Preferably, the method further comprises selecting and controlling the two or more input channels provided within the at least one input station by means of an input data operation mechanism provided within the operation server.
Preferably, the method further comprises receiving statuses of the selected two or more input channels and transferring them to the operation server by means of a monitoring and feedback mechanism provided within said operation server.
Preferably, the method further comprises managing data, stored in the data storage by means of a storage management mechanism provided within the operation server.
Preferably, the method further comprises connecting the operation server to the data network by means of a network Interface provided within said operation server.
Preferably, the method further comprises controlling an operation of the clock synchronization mechanism by means of an operation and synchronization program provided within the operation server.
Preferably, the method further comprises controlling an operation of the input data operation mechanism by means of an operation and synchronization program provided within the operation server.
Preferably, the method further comprises controlling an operation of the monitoring and feedback mechanism by means of an operation and synchronization program provided within the operation server.
Preferably, the method further comprises controlling an operation of the storage management mechanism by means of an operation and synchronization program provided within the operation server.
Preferably, the method further comprises controlling an operation of the network Interface by means of an operation and synchronization program provided within the operation server. Preferably, the method further comprises controlling the operation of the at least one input station by means of an operation and synchronization program provided within the operation server.
Preferably, the method further comprises providing the data storage within the operation server.
Preferably, the method further comprises controlling a data transfer between the data storage and the at least one input channel by means of a data input module provided within the at least one input station.
Preferably, the method further comprises checking a status of the at least one input channel and controlling the operations of said at least one input channel by means of a channels control mechanism provided within the at least one input station.
Preferably, the method further comprises connecting the at least one input station to the data network by means of a network Interface provided within said at least one input station.
Preferably, the method further comprises checking the status of at least one driver of the at least one input channel by means of an operation system provided within the at least one input station.
Preferably, the method further comprises receiving one or more synchronization signals from the operation server by means of an internal clock mechanism provided within the at least one input station.
Preferably, the method further comprises synchronizing the operation of the channels control mechanism by means of the internal clock mechanism. Preferably, the method further comprises synchronizing the operation of the data input module by means of the internal clock mechanism.
Preferably, the method further comprises synchronizing the operation of the network Interface by means of the internal clock mechanism.
Preferably, the method further comprises synchronizing the operation of the operation system by means of the internal clock mechanism.
Preferably, the method further comprises synchronizing the operation of the at least one input channel by means of the internal clock mechanism.
Preferably, the method further comprises controlling an operation of the internal clock mechanism by means of a client program provided within the at least one input station.
Preferably, the method further comprises controlling an operation of the data input module by means of a client program provided within the at least one input station.
Preferably, the method further comprises controlling an operation of the channels control mechanism by means of a client program provided within the at least one input station.
Preferably, the method further comprises controlling an operation of the network Interface by means of a client program provided within the at least one input station.
Preferably, the method further comprises controlling an operation of the at least one input channel by means of a client program provided within the at least one input station. Preferably, the method further comprises periodically receiving statuses from the two or more input channels and the at least one input station by means of the operation server in order to ensure their proper operation and synchronization.
Brief Description of the Drawings In the drawings:
Fig. 1 is a schematic illustration of a communication over a data network, according to an embodiment of the present invention;
Fig. 2 is a schematic block diagram showing the communication of an Operation server with an Input station over a data network, according to an embodiment of the present invention;
Fig. 3A is an exemplary flow chart of a method and system for synchronizing multiple data channels and data files in a data network, such as the Internet" ! according to an embodiment of the present invention;
Fig. 3B is an exemplary flow chart of performing the playback of the recorded files, said playback is performed from Data Storage 110, according to an embodiment of the present invention; and
- Fig. 3 C is another exemplary flow chart of performing the playback of the recorded files, said playback is performed from the input station(s), according to another embodiment of the present invention.
It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example,. tlie dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.
Detailed Description of the Preferred Embodiments Fig. 1 is a schematic illustration of a communication over a data network 100, according to an embodiment of the present invention. Input channels 1 to 4 numbered 131 to 134 are physical interfaces for accepting different types of contents, such as audio signals, video signals, monitor signals, multimedia signals, data files, text files, etc. Input stations 1 and 2 numbered 129 and 130 are stations for accepting the contents received from the above Input channels. Operation server 101 is used for synchronization of the Input channels, Input stations and for activation of a process of data contents receipt, said process comprising setting common timing to all active Input stations and Input channels, receiving "ready" status from said active Input stations and Input channels, and then beginning recording by means of said active Input stations and Input channels. Data Storage 110 is used for contents storage and comprises memory means. Further, Data Storage 110 can comprise at least one database. Distribution server 120 is a server for recorded contents distribution over a data network 100 from Data Storage 110 to a plurality of data contents display stations 140 to 143. The contents display stations 140 to 143 are computer stations for display of the contents recorded by means of the Input channels 1 to 4.
Operation server 101 synchronizes the operation of Input channel 1 to 4 numbered 131 to 134, the operation of Input station 1 numbered 129 and Input station 2 numbered 130 by sending at least one command, such as "set time" command (common timing for all input channels). The "set time" command sets the corresponding data and/or time. After the synchronization process was accomplished all active Input channels and Input stations are synchronized to the clock of the Operation server 101 with the accuracy, for example, from 5 milliseconds to 25 milliseconds. According to an embodiment of the present invention, the above "set time" command activates a clock unit having a data and time mode, said clock unit can be located within the Input channel(s) and/or Input station(s). After all active Input channels and Input stations are synchronized, and Operation server 101 receives "ready" command from said Input channels and Input stations, then said Operation server 101 sends "Start recording" command to said Input channels and Input stations. During the data recording the Operation server constantly receives statuses from all Input channels and Input stations in order to ensure that they are operating properly. For example, Operation server 101 can receive statuses, such as "Out of synchronization", "Communication disconnected", "Channel Active", "Channel Inactive", etc. All recorded data is stored in Data Storage 110 and waits for a request to be displayed. Suppose, content display station 141 sends a request to Distribution server 120 for specific data display. Distribution server 120, in turn, communicates Data Storage 110 requesting the above data. Then, Data Storage 110 sends a status to Distribution server 120, acknowledging it about the availability of the requested data. In case, when the requested data is available, the Data Storage synchronizes said requested data and sends a status to the Distribution server, that the requested data is ready. In turn, the Distribution server creates a data path from the Data Storage to content display station 2 numbered 141 over a data network, such as LAN, WAN, WWW (World Wide Web), the Internet, the Intranet, etc., and then the requested data is displayed on said content display station 2.
Fig. 2 is a schematic block diagram showing the communication of Operation server 101 with a plurality of Input stations, such as Input station 1 numbered 129, Input stations numbered 130, 169, etc. over a data network, according to an embodiment of the present invention. Operation server 101 comprises operation and synchronization program 210, Clock synchronization mechanism 215, Input data operation mechanism 220, Monitoring and feedback mechanism 225, Storage management mechanism 230 and Network Interface 235. Input station 1 numbered 129 comprises Network Interface 255, Client program 260, Internal clock mechanism 265, Data Input module 270 and Channels control mechanism 275. The Input station 1 receives content 1 numbered 290 and content 2 numbered 295 by means of Input channel 1 numbered 131 and Input channel 2 numbered 132. The Input station 1 also processes the received contents. The above contents can be any types of signals, such as audio signals, video signals, monitor signals, multimedia signals, data files, etc.
Network Interfaces 235 and 255 are conventional Network Interfaces which are used for connecting Operation server 101 to a data network, wherein the Input stations, such as the Input station 1 are located.
Clock synchronization mechanism 215 synchronizes the operation of all mechanisms, programs and modules within Operation server 101 and Input Stations, such as the Input station 1. The synchronization process within the Input Station 1 is held by means of Internal clock mechanism 265, which receives one or more synchronization signals from Clock synchronization mechanism 215, and then return statuses to said Clock synchronization mechanism 215 regarding the synchronization of all mechanisms, programs and modules within the Input Station 1. Also, it synchronizes the operation of Input channels 1 and 2. According to an embodiment of the present invention, Clock synchronization mechanism 215 activates a clock unit having a data and time mode, said clock unit can be located within the Input channel(s), such as the Input channel 1, Input channel 2 and/or within the Input station(s), such as the Input station 1, by sending at least one command, such as "set time" command. After the synchronization process was accomplished, the above Input channel 1, Input channel 2 and Input station 1 for example, are synchronized to the clock of the Operation server 101 with the accuracy, for example, from 5 milliseconds to 25 milliseconds.
Before beginning the record process, Input data operation mechanism 220 selects Input channel(s), such as audio, video, monitor or data stream channel. Suppose, Input channel 1 is a video channel and Input channel 2 is a monitor channel, and Input data operation mechanism 220 selects Input channel 2. Then, the Input data operation mechanism by means of channels control mechanism 275 checks the status of the above Input channel 2. Client program 260 sends a command to Operation system 296 to check the status of a driver of the Input channel 2. The status of the driver is actually the status of the Input channel. The status of the Input channel 2 (the status of the Input channel 2 driver) can be "Out of synchronization", "Communication is disconnected", "Channel is Active", "Channel is Disabled", etc. In case, when the Input channel 2 is active, its driver is active and said Input channel 2 is ready to get commands and activations, said Input channel 2 by means of its driver sends "ready" signal to Client program 260. Then, Client program 260 by means of Network Interfaces 255 and 235 sends a signal to Operation and synchronization program 210, indicating that Input channel 2 is ready.
Channels control mechanism 275 is used for checking a status of each inputs channel, such as "Out of synchronization", "Communication is disconnected", "Channel is Active", "Channel is Disabled" and also it is used for controlling the operations of said Input channels, such as start recording, stop recording, etc.
It should be noted, that according to the present invention, a plurality of Input stations and Input channels can be connected to Operation server 101. Therefore, only after "ready" signals were received from all Input stations and Input channels it means that all said Input stations and Input channels are synchronized and are ready to begin recording.
Operation and synchronization program 210 by means of Input data operation mechanism 220 sends a command to all selected Input stations and Input channels to start recording. In turn, selected Input channel(s), such as the Input channel 2, return its status, such as "recording have began" to Operation and synchronization program 210 by means of Monitoring and feedback mechanism 225. Then, the Operation and synchronization program sends a command by means of Data management mechanism 230 to Data Storage 110 (shown in Fig. 1) to start storing recorded data contents. The recorded data passes from the selected Input channel 2 to Data Storage 110 over Data Input module 270, Client program 260, Network Interfaces 235 and 255 and Storage management mechanism 230.
It should be noted, that in case when Data Storage 110 is not a part of Operation server 101, it must have its own Network Interface and all the data passing to and from said Data Storage 110 has to pass also through said Network Interface.
Also, it should be noted, that all components that are connected to the data network must have a Network Interface in order to be able to communicate one with the other.
Storage management mechanism 230 is used to manage the data within Data Storage 110. Storage management mechanism 230 can give, for example, an instruction to the above Data Storage to organize the data, stored in said Data Storage in a desirable way in a table. After receiving such instruction, Data Storage builds a table inside itself, and Storage management mechanism 230 can begin to communicate with said table. It should be noted, that according to an embodiment of the present invention, Storage management mechanism 230 before sending a command to Data Storage 110 to begin to store the recorded data for example, receives a status from said Data Storage 110 about available free space on said Data Storage disk, such as a hard disk. Then, the Storage management mechanism transfers this status to Operation and synchronization program 210, and said Operation and synchronization program decides, according to the received status, if it should give a command to selected Input channel to begin recording.
Also, it should be noted that during the recording process the Operation server constantly receives statuses from all Input channels and Input stations in order to ensure that they are operating properly. For example, Operation server 101 can receives statuses, such as "Out of synchronization", "Communication disconnected", "Channel Active", "Channel Inactive", "Recording accomplished", etc.
Fig. 3A is an exemplary flow chart 300 of a method and system for synchronizing multiple data channels and data files in a data network, such as the Internet, according to an embodiment of the present invention. At step 310, Operation server 101 (shown on Fig. 2) sets time in the corresponding Input stations, such as Input station 1 numbered 129 (shown on Fig. 2) and in the corresponding Input channels, such as the Input channel 1 numbered 131 (shown on Fig. 2) by means of Clock synchronization mechanism 215 (shown on Fig. 2) and Internal clock mechanism 265 (shown on Fig. 2). If the process of setting time was accomplished successfully, then Input data operation mechanism 220 (shown on Fig. 2) selects at step 320 the corresponding Input station(s), such as Input station 1. After that at step 325, Input data operation mechanism 220 selects the corresponding Input channel(s), such as Input channel 1. Then at step 330, Input data operation mechanism 220 by means of channels control mechanism 275 checks statuses of the above corresponding Input station(s) and Input channel(s). If the status of at least one corresponding Input station(s) and Input channel(s) is wrong, then at step 340, a counter counts a number of attempts to achieve a correct status of the above at least one corresponding Input station(s) and Input channels. If the number of attempts exceeds a predetermined number, such as 3, 5 or 10, then an Error message is displayed to a user at step 380. If the statuses of all corresponding station(s) and channel(s) are OK and the corresponding Input channels) is ready to get commands and activations, then said corresponding Input channel(s) by means of its driver sends "ready" signal to Client program 260 (shown on Fig. 2). Then, Client program 260 by means of Network Interfaces 255 and 235 (shown on Fig. 2) sends a signal to Operation and synchronization program 210 (shown on Fig. 2), indicating that the corresponding Input channel(s) is ready. Then at step 350, Operation Server 101 by means of Input data operation mechanism 220 sends a command to all selected corresponding Input station(s) and Input channel(s) to start recording. After beginning the recording process, Operation Server 101 at step 355 by means of Clock synchronization mechanism 215 (shown on Fig. 2) and Internal clock mechanism 265 (shown on Fig. 2) periodically checks the clock time of each corresponding Input channel(s) and Input station(s) in order to determine that they are synchronized with said Operation Server 101. If they are not synchronized, then a correction mechanism is activated in step 370 in order to synchronize the above -channels and stations. At step 375, a counter counts a number of attempts to synchronize the corresponding Input station(s) and Input channels. If the number of attempts exceeds a predetermined number, such as 3, 5 or 10, then an Error message is displayed to a user at step 380. If each of the corresponding Input channel(s) and Input station(s) is synchronized with Operation Server 101, then the recording process continues until said Operation Server 101 sends a command to the corresponding Input station(s) and Input channel(s) by means of Input data operation mechanism 220 to stop said recording process. At step 390, the recorded data is stored in files. According to an embodiment of the present invention, each stored file represents data recorded by a single Input channel.
Fig. 3B is an exemplary flow chart 400 of the playback of the recorded files, said playback performed from Data Storage 110, according to an embodiment of the present invention. At step 410, one or more Content display stations, such as Content display station 1 numbered 140 (shown on Fig. 1) sends a request to Data Storage 110 (shown on Fig. 1) and/or to one or more Input stations, such as Input station 1 numbered 129 (shown on Fig. 1) for the playback of the specific files. Then at step 415, Data Storage 110 and/or input station(s) search for the requested corresponding files. If the files are not found, then the process of files search is repeated again. At step 425, a counter counts a number of attempts to find the requested corresponding files. If the number of attempts exceeds a predetermined number, then an error message is displayed to the user at step 430. If the files are found, then said files are prepared for the playback at step 435. According to an embodiment of the present invention, if the requested corresponding files were found in the input station(s), then these files have to be stored in Data Storage 110 prior to starting the playback, since that according to this embodiment the playback is performed from said Data Storage 110. Preparing files for the playback may include determining a starting point of each file, Otc. If the corresponding files are not ready for the playback, then a counter is activated at step 445, counting a number of attempts to prepare the above files for the playback. If the number of attempts exceeds a predetermined number, then an error message is displayed to the user at step 450. Further, at step 455, the corresponding files can be skipped to the required time. For example, if the user wishes to playback recorded files starting on 20-th minute from the beginning, then said files are skipped to said 20-th minute. After that at step 460, the files are played synchronically on content display station(s), such as Content display station 1. At step 465, periodically during the playback of the corresponding files, the relative playback time of each file is compared on with the other in order to insure a synchronous playback of all corresponding files. If the relative playback time of each file is not equal, then a correction mechanism tries to correct the synchronization at step 475. At step 480, a counter counts a number of attempts to correct the synchronization of the playback files. If the number of attempts exceeds a predetermined number, then an error message is displayed to the user at step 485. If the relative playback time of each file is equal, then the playback continues until it is over or it is stopped upon the user request.
Fig. 3C is another exemplary flow chart 450 of the playback of the recorded files, said playback performed from the input station(s), such as Input station 1 numbered 129 (shown on Fig. 1), according to another embodiment of the present invention. At step 410, one or more Content display stations, such as Content display station 1 numbered 140 (shown on Fig. 1) sends a request to Data Storage 110 (shown on Fig. 1) and/or to one or more Input stations, such as Input station 1 numbered 129 (shown on Fig. 1) for the playback of the specific files. Then at step 415, Data Storage 110 and/or input station(s) search for the requested corresponding files. If the files are not found, then the process of files search is repeated again. At step 425, a counter counts a number of attempts to find the requested corresponding files. If the number of attempts exceeds a predetermined number, then an error message is displayed to the user at step 430. According to an embodiment of the present invention, if the requested corresponding files were found in Data Storage, then these files have to be stored in input station(s) prior to starting the playback, since that according to this embodiment the playback is performed from said input station(s). At step 505 is performed a check of the corresponding time of each file, requested for the playback, in order to insure for example, that the playback of each file would start at the same time point. The above time of each corresponding file is compared one with another at step 510. If the time is not equal, then a correction mechanism is activated in step 520. At step 525, a counter counts a number of attempts to correct the initial playback time of each recorded file. If the number of attempts exceeds a predetermined number, then an error message is displayed to the user at step 530. Further, at step 455, the corresponding files can be skipped to the required time. For example, if the user wishes to playback recorded files starting on 20-th minute from the beginning, then said files are skipped to said 20-th minute. After that at step 460, the files are played synchronically on content display station(s), such as Content display station 1. At step 465, periodically during the playback of the corresponding files, the relative playback time of each file is compared on with the other in order to insure a synchronous playback of all corresponding files. If the relative playback time of each file is not equal, then a correction mechanism tries to correct the synchronization at step 475. At step 480, a counter counts a number of attempts to correct the synchronization of the playback files. If the number of attempts exceeds a predetermined number, then an error message is displayed to the user at step 485. If the relative playback time of each file is equal, then the playback continues until it is over or it is stopped upon the user request.
While some embodiments of the invention have been described by way of illustration, it will be apparent that the invention can be put into practice with many modifications, variations and adaptations, and- with the use of numerous equivalents or alternative solutions that are within the scope of persons skilled in the art, without departing from the spirit of the invention or exceeding the scope of the claims.

Claims

Claims
1. System for synchronizing multiple data channels and data files recorded through said data channels over a data network, comprising: a. at least one input station for receiving data contents from two or more input channels; b. at least one data storage having memory means for storing the data contents; c. at least one operation server for synchronizing said two or more input channels, said at least one input station over said data network by setting a common timing to said two or more input channels and said at least one input station, for activating a process of data contents receipt, and for maintaining the synchronization during data recording; and
d. at least one distribution server for data contents distribution according to said synchronization over said data network among one or more data contents display stations.
2. System according to claim 1, wherein the data contents are selected from a group, comprising: a. a video signal or video file; b. an audio signal or audio file; c. a monitor signal; d. a text file; and e. a data stream or data file.
3. System according to claim 1, wherein the data storage further comprises at least one database.
4. System according to claim 1, wherein said at least one operation server further comprises a clock synchronization mechanism for synchronizing an operation of said at least one operation server, of said at least one input station and of said two or more input channels.
5. System according to claim 1, wherein said at least one operation server further comprises an input data operation mechanism for selecting and controlling said two or more input channels provided within said at least one input station.
6. System according to claim 1, wherein said at least one operation server further comprises a monitoring' and feedback mechanism for receiving statuses from the selected two or more input channels and transferring said statuses to said operation server.
7. System according to claim 1, wherein said at least one operation server further comprises a storage management mechanism for managing data, stored in the data storage.
8. System according to claim 1, wherein said at least one operation server further comprises a network Interface for connecting said operation server to the data network.
9. System according to claim 4, wherein said at least one operation server further comprises an operation and synchronization program for controlling an operation of the clock synchronization mechanism.
10. System according to claim 5, wherein said at least one operation server further comprises an operation and synchronization program for controlling an operation of the input data operation mechanism.
11. System according to claim 6, wherein said at least one operation server further comprises an operation and synchronization program for controlling an operation of the monitoring and feedback mechanism.
12. System according to claim 7, wherein said at least one operation server further comprises an operation and synchronization program for controlling an operation of the storage management mechanism.
13. System according to claim 8, wherein said at least one operation server further comprises an operation and synchronization program for controlling an operation of the network Interface.
14. System according to claim 1, wherein said at least one operation server further comprises an operation and synchronization program for controlling the operation of the at least one input station.
15. System according to claim 1, wherein said at least one operation server further comprises the data storage.
16. System according to claim 1, wherein the at least one input station further comprises a data input module for controlling a data transfer between the data storage and the at least one input channel.
17. System according to claim 1, wherein the at least one input station further comprises a channels control mechanism for checking a status of the at least one input channel and for controlling the operations of said at least one input channel.
18. System according to claim 1, wherein the at least one input station further comprises a network Interface for connecting said at least one input station to the data network.
19. System according to claim 1, wherein the at least one input station further comprises an operation system for checking the status of at least one driver of the at least one input channel.
20. System according to claim 1, wherein the at least one input station further comprises an internal clock mechanism receiving one or more synchronization signals from said at least one operation server.
21. System according to claim 17 and 20, wherein the internal clock mechanism further synchronizes the operation of the channels control mechanism.
22. System according to claim 16 and 20, wherein the internal clock mechanism further synchronizes the operation of the data input module.
23. System according to claim 18 and 20, wherein the internal clock mechanism further synchronizes the operation of the network Interface.
24. System according to claim 19 and 20, wherein the internal clock mechanism further synchronizes the operation of the operation system.
25. System according to claim 20, wherein the internal clock mechanism further synchronizes the operation of the at least one input channel.
26. System according to claim 20, wherein the at least one input station further comprises a client program for controlling an operation of the internal clock mechanism. - 2y -
27. System according to claim 16, wherein the at least one input station further comprises a client program for controlling an operation of the data input module.
28. System according to claim 17, wherein the at least one input station further comprises a client program for controlling an operation of the channels control mechanism.
29. System according to claim 18, wherein the at least one input station further comprises a client program for controlling an operation of the network Interface.
80. System according to claim 1, wherein the at least one input station further comprises a client program for controlling an operation of the at least one input channel.
31. System according to claim I5 wherein said at least one operation server periodically receives statuses from said two or more input channels and said at least one input station in order to ensure their proper operation and synchronization.
32. Method for synchronizing multiple data channels and data files recorded through said data channels over a data network, comprising: a. activating a process of data contents receipt and synchronizing two or more input channels and at least one input station over said data network by setting a common timing to said two or more input channels and to said at least one input station by means of at least one operation server; b, receiving data contents from said two or more input channels by means of at least one input station; c. maintaining the synchronization during data recording by means of said at least one operation server; d. storing the data contents by means of at least one data storage having memory means; and e. distributing said data contents over said data network among one ore more contents display stations.
33. Method according to claim 32, further comprising selecting the data contents from a group, comprising: a. a video signal or video file; b. an audio signal or audio file; c. a monitor signal; d. a text file; and e. a data stream or data file.
34. Method according to claim 32, further comprising providing at least one database within the data storage.
35. Method according to claim 32, further comprising synchronizing an operation of said at least one operation server, of said at least one input station and of said two or more input channels by means of a clock synchronization mechanism provided within said at least one operation server.
36. Method according to claim 32, further comprising selecting and controlling said two or more input channels provided within said at least one input station by means of an input data operation mechanism provided within said at least one operation server.
37. Method according to claim 32, further comprising receiving statuses of the selected said" two or more input channels and transferring said statuses to said at least one operation server by means of a monitoring and feedback mechanism provided within said at least one operation server.
38. Method according to claim 32, further comprising managing data, stored in the data storage by means of a storage management mechanism provided within said at least one operation server.
39. Method according to claim 32, further comprising connecting said at least one operation server to the data network by means of a network Interface provided within said operation server.
40. Method according to claim 35, further comprising controlling an operation of the clock synchronization mechanism by means of an operation and synchronization program provided within said at least one operation server.
41. Method according to claim 36, further comprising controlling an operation of the input data operation mechanism by means of an operation and synchronization program provided within said at least one operation server,
42. Method according to claim 37, further comprising controlling an operation of the monitoring and feedback mechanism by means of an operation and synchronization program provided within said at least one operation server.
43. Method according to claim 38, further comprising controlling an operation of the storage management mechanism by means of an operation and synchronization program provided within said at least one operation server.
44. Method according to claim 39, further comprising controlling an operation of the network Interface by means of an operation and synchronization program provided within said at least one operation server.
45. Method according to claim 32, further comprising controlling the operation of the at least one input station by means of an operation and synchronization program provided within said at least one operation server.
46. Method according to claim 32, further comprising providing the data storage within said at least one operation server.
47. Method according to claim 32, further comprising controlling a data transfer between the data storage and the at least one input channel by means of a data input module provided within the at least one input station.
48. Method according to claim 32, further comprising checking a status of the at least one input channel and controlling the operations of said at least one input channel by means of a channels control mechanism provided within the at least one input station.
49. Method according to -claim 32, further comprising connecting the at least one input station to the data network by means of a network Interface provided within said at least one input station.
50. Method according to claim 32, further comprising checking the status of at least one driver of the at least one input channel by means of an operation system provided within the at least one input station.
51. Method according to claim 32, further comprising receiving one or more synchronization signals from said at least one operation server by means of an internal clock mechanism provided within the at least one input station.
52. Method according to claim 48 and 51, further comprising synchronizing the operation of the channels control mechanism by means of the internal clock mechanism.
53. Method according to claim 47 and 51, further comprising synchronizing the operation of the data input module by means of the internal clock mechanism.
54. Method according to claim 49 and 51, further comprising synchronizing the operation of the network Interface by means of the internal clock mechanism.
55. Method according to claim 50 and 51, further comprising synchronizing the operation of the operation system by means of the internal clock mechanism.
56. Method according to claim 51, further comprising synchronizing the operation of the at least one input channel by means of the internal clock mechanism.
57. Method according to claim 51, further comprising controlling an operation of the internal clock mechanism by means of a client program provided within the at least one input station
58. Method according to claim 47, further comprising controlling an operation of the data input module by means of a client program provided within the at least one input station.
59. Method according to claim 48, further comprising controlling an operation of the channels control mechanism by means of a client program provided within the at least one input station.
60. Method according to claim 49, further comprising controlling an operation of the network Interface by means of a client program provided within the at least one input station.
61. Method according to claim 32, further comprising controlling an operation of the at least one input channel by means of a client program provided within the at least one input station.
62. Method according to claim 32, further comprising periodically receiving statuses from said two or more input channels and said at least one input station by means of said at least one operation server in order to ensure their proper operation and synchronization.
PCT/IL2006/000883 2005-08-01 2006-07-31 Method and system for synchronizing multiple data channels and data files in a data network WO2007015234A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IL170019 2005-08-01
IL17001905 2005-08-01

Publications (2)

Publication Number Publication Date
WO2007015234A2 true WO2007015234A2 (en) 2007-02-08
WO2007015234A3 WO2007015234A3 (en) 2009-04-30

Family

ID=37708998

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2006/000883 WO2007015234A2 (en) 2005-08-01 2006-07-31 Method and system for synchronizing multiple data channels and data files in a data network

Country Status (1)

Country Link
WO (1) WO2007015234A2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471576A (en) * 1992-11-16 1995-11-28 International Business Machines Corporation Audio/video synchronization for application programs
US6282510B1 (en) * 1993-03-24 2001-08-28 Engate Incorporated Audio and video transcription system for manipulating real-time testimony
US6370457B1 (en) * 1996-03-12 2002-04-09 Training Innovations Group, Llc Debriefing systems and methods for retrieving and presenting multiple datastreams with time indication marks in time synchronism

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471576A (en) * 1992-11-16 1995-11-28 International Business Machines Corporation Audio/video synchronization for application programs
US6282510B1 (en) * 1993-03-24 2001-08-28 Engate Incorporated Audio and video transcription system for manipulating real-time testimony
US6370457B1 (en) * 1996-03-12 2002-04-09 Training Innovations Group, Llc Debriefing systems and methods for retrieving and presenting multiple datastreams with time indication marks in time synchronism

Also Published As

Publication number Publication date
WO2007015234A3 (en) 2009-04-30

Similar Documents

Publication Publication Date Title
US20210134329A1 (en) System and method for event data collection and video alignment
EP1771146B1 (en) Frame synchronization in an ethernet ntp time-keeping digital cinema playback system
US6148304A (en) Navigating multimedia content using a graphical user interface with multiple display regions
US6378129B1 (en) Video server content synchronization
US6766357B1 (en) Apparatus and method for efficient transfer of multimedia data for playback
US7167191B2 (en) Techniques for capturing information during multimedia presentations
JP4813001B2 (en) Media resynchronization during streaming
US20020056082A1 (en) Techniques for receiving information during multimedia presentations and communicating the information
US20030088646A1 (en) Random access video playback system on a network
US20140123014A1 (en) Method and system for chat and activity stream capture and playback
EP3748972B1 (en) Video recording method and system
US9246969B2 (en) System for delayed video viewing
US20070107039A1 (en) Content presentation device communicating with another device through presented content
US20100332919A1 (en) Program delivery control system and program delivery control method
CN101170421B (en) Network TV management system and its method
US20140149606A1 (en) Server, multimedia apparatus and control method thereof for synchronously playing multimedia contents through a plurality of multimedia devices
WO2015081796A1 (en) Method and device for synchronizing play record between mobile terminal and smart television
EP2843663A1 (en) Interconnected multimedia systems with synchronized playback of media streams
US20040055016A1 (en) Method and system for controlling and monitoring a Web-Cast
CN113382210A (en) Processing method of multi-channel monitoring video data, streaming media server and electronic equipment
EP1983523A1 (en) Interconnected multimedia systems with synchronized playback
CN1691643B (en) Data processing system, data transmitting/receiving device, and recorded medium
US8966042B2 (en) Differentiating bookmarks in content access lists shared among multiple content player devices
US20190146645A1 (en) Replaying event-based sessions between a user device and an agent device
US20100141838A1 (en) Presentation synchronization system and method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06766198

Country of ref document: EP

Kind code of ref document: A2