US 5610841 Video server

ABSTRACT – A video server in which each media segment file sever (MSFS) stores media segment files (MSFs) forming video data, and sequence control brokers (SCBs) installed between the video server and subscribers terminals receive video requests from the subscriber terminals, and read out the requested MSFs from the MSFSs. The readout MSFs are exchanged by an ATM switch to be transmitted to the SCBs respectively, which outputs the MSFs at predetermined intervals to the request-sender subscriber terminals.

FIELD OF THE INVENTION

The present invention relates to a video server which can transmit a video as per request among a plurality of videos stored therein.

BACKGROUND OF THE INVENTION

There has been active research for an interactive television system in the field of CATV (Cable Television) system, and the core of the system is a video server.

In the interactive television system, each subscriber requests a video (program) he would like to watch to the CATV station, and the station transmits the videos as per requests to individual subscribers. Thus, the interactive television system enables the subscribers to enjoy the videos at any convenient time once it is put into practical use.

Among various applications of the interactive television system, the on-demand television system has been already made available to the public. The on-demand television system comprises a video tape library, a plurality of video tape players for playing the video tapes, a plurality of TV (television) cables for transmitting a plurality of videos being played to terminals equipped at the subscribers’ end, and a switch for switching the TV cables.

The entire system is controlled manually by a plurality of operators at the station. To be more specific, upon receipt of the requests from the subscribers, the operators connect the TV cables to the their terminals by means of the switch, and play the video as per their requests by means of the video tape players. Accordingly, each video being played is transmitted to their respective subscribers via the connected TV cables.

However, such a manual control limits the service of the on-demand television system to a small number of subscribers. For example, it is well assumed to receive 100 requests at a time if there are 1000 subscribers. However, it is almost impossible to manage all the requests simultaneously under the manual control; there is a considerable lag time between the time the requests are received and the transmission of the requested videos.

Given these circumstances, the pure-on-demand television system was proposed in “Nikkei Communication” No. 144, pp. 38-55, Feb. 15, 1993, and “Nikkei Electronics”, No. 584, pp. 58 as an ideal interactive television system, and it has been attracting public interests.

The pure-on-demand television system comprises a storage unit for storing digital data of the videos, a plurality of cables for transmitting the digital video data to individual subscribers, a plurality of decoders for generating visible images by decoding the transmitted digital video data, and an ATM (Asynchrnous Transfer Mode) switch for switching the cables.

Since the videos are transmitted in the form of digital data, they are processed quickly, and the subscribers can not only play the videos in real time whenever they want, but also play the videos quickly in both directions (fast-forward and fast-rewind) in real time as if they were manipulating the video tape player.

However, even with this ideal system the problem of the time lag is not solved. This is because a myriad of requests are sent to one storage unit at a time, and it takes time to read out the requested video data from the storage unit. In addition, it takes time to transmit the readout data to the subscribers by the means of the ATM switch when there is considerable traffic therein. Thus, the time lags caused in both reading out and transmitting the video data make the real time transmission impossible.

SUMMARY OF THE INVENTION

Accordingly, the present invention has a first object to provide a video server that can send video data in real time when a plurality of requests are received at a time.

The present invention has a second object to provide a video server that can rewrite the video data while transmitting the same.

The present invention has a third object to provide a video server that can construct a large scale interactive television system.

The first object can be fulfilled by a video server which transmits digital video data stored therein to subscriber terminals as per video requests comprising: a plurality of frame block servers, each including an image memory and a readout control unit for the image memory, each image memory storing a plurality of frame blocks, each frame block being one of sections forming a piece of digital video data, the readout control unit receiving readout requests and in response reading out requested frame blocks from the image memory; a management unit for storing management data specifying which frame block server stores which frame block in the image memory; a plurality of subscriber interfaces for receiving the video requests from the subscriber terminals, and in response sending readout requests to the frame block servers to readout the frame blocks forming requested digital image data in a predetermined sequence while referring to the management data, and for transmitting the frame blocks transmitted from the frame block servers to the subscriber terminals at such timing that ensures a continuous play; and an exchange unit for interconnecting each block server and each subscriber interface to transfer the frame blocks read out from the frame block servers as per the readout requests to the request-sender subscriber interfaces.

The management data may comprise a plurality of block pointers, each identifying a location of each frame block respectively, and including an address of each frame block server that stores each frame block respectively, and each subscriber interface may include: a management data obtainment unit for receiving the video request from the subscriber terminal, and in response retrieving block pointers for the requested piece of digital video data from the management unit; a readout request generation unit for generating a readout request for each retrieved block pointer addressing to the frame block server specified by the address included therein; a readout request transmission unit for transmitting the readout requests to the specified frame block servers, one readout request being transmitted at a time; and a frame block output unit for receiving the frame blocks read out as per the readout requests, and in response outputting the frame blocks to the request-sender subscriber terminal at predetermined timing.

The frame block output unit may include: a frame block receipt unit for receiving the frame blocks addressed to the self’s subscriber interface; a block buffer for accumulating a certain number of frame blocks received by the frame block receipt unit; an accumulated amount judgment unit for judging whether the block buffer stores more than a predetermined number of frame blocks; and an output unit for outputting the certain number of the frame blocks accumulated in the block buffer when the accumulated amount judgment unit judges that the block buffer stores more than the predetermined number of frame blocks, one frame block being outputted at a time to the request-sender subscriber terminal.

Each subscriber interface may be connected to a plurality of subscriber terminals, each subscriber terminal outputting a video request including a terminal identifier, and the management data obtainment unit may further include an identifier detection unit for detecting the terminal identifiers contained in the video requests sent from the subscriber terminals upon receipt thereof, and the readout request transmission unit may further include an identifier attachment unit for attaching the terminal identifiers detected by the identifier detection unit to reach readout request generated by the readout request generation unit, and the readout control unit in each frame block server may include: a readout request receipt unit for detecting the terminal identifiers when receiving the readout requests from the readout request transmission unit; and a frame block transmission unit for attaching the terminal identifiers detected by the readout request receipt unit to each request frame block read out as per the readout requests before the transmission thereof to the request-sender subscriber interface, and the frame block output unit may further include a distribution output control unit for receiving the terminal-identifier-attached frame blocks and in response outputting the same to the request-sender subscriber terminal identified by the terminal identifier.

The exchange unit may be an ATM cell switch for exchanging cells, and each image memory may be a disk array comprising K disk drives for storing the frame blocks, and each block pointer may include an address of each frame block server storing each frame block, and an address of the frame block in the disk array, and the readout request may be of a cell structure, and the readout request transmission unit writes the address of the frame block server in a header area of the cell structure while writing the address of the frame block in the disk array in a data area of the cell structure to generate a readout request for each block pointer, and the readout control unit in the frame block server may detect the address of the frame block in each readout request and read out the requested frame block by accessing to the address of the disk array.

The readout control unit in each frame block server may include: K queues for holding the readout requests to read out the requested frame blocks from corresponding disk drives in an order of receipt, one queue being furnished for one disk drive; a readout request receipt unit for receiving the readout requests addressed to the self’s frame block server; an address analysis unit for detecting the address of the requested frame block contained in each readout request received by the readout request receipt unit and in response specifying the disk drives to which each readout request is addressed using the detected address, and for having the queue furnished for the specified disk drive store the readout request; a disk access unit for retrieving one readout request from the K queues, and in response accessing to a memory area in the specified disk drive at the address contained in the readout request to have the disk drive read out the requested frame block; a transmission stand-by buffer for holding the frame blocks read out from the K disk drives; and a frame block transmission unit for retrieving the frame blocks from the transmission stand-by buffer to transmit to the request-sender subscriber interface.

The frame block transmission unit may include: a readout request storage unit for storing a readout request for which a requested frame block has been read out and stored in the transmission stand-by buffer together with a correlation with the frame block; a frame block retrieval unit for retrieving the frame blocks from the transmission stand-by buffer; a request-sender detection unit for detecting a request-sender subscriber interface of the readout request for the frame block retrieved from the transmission stand-by buffer; a frame block division unit for dividing the retrieved frame block from the transmission stand-by buffer into a set of sub-blocks of an equal size; a writing unit for writing each sub-block into the data area of the cell structure, and writing the request-sender detected by the request-sender detection unit into the header area of the cell structure; and a cell transmission unit for transmitting the cells written with the sub-block and the request-sender subscriber interface to the request-sender subscriber interface.

According to the above construction, upon receipt of a video request, the data of the requested video are readout per frame block from a plurality of frame block servers in a predetermined sequence and transmitted to the request-sender terminal, and thus enabling real time video transmission.

When there are a plurality of requests to one video, each frame block server reads out the frame blocks independently and sends the same to each terminal simultaneously. Thus, a plurality of subscribers can access to one video at one same time.

Further, since the ATM switch operates asynchronously which each image memory and readout out unit, the number of the subscribers and the kinds of videos can be changed relatively easy in the interactive system.

The second object can be fulfilled by a video server which transmits digital video data stored therein to subscriber terminals as per video request and which can rewrite the digital video data comprising: a plurality of frame block servers, each including an image memory, a readout control unit for the image memory, and a writing control unit for the image memory, each image memory storing a plurality of frame blocks, each frame block being one of sections forming a piece of digital video data, the read control unit receiving readout requests and in response reading out requested frame blocks from the adequate image memory, the write control unit receiving a write request and in response writing the frame blocks into the image memory; a management unit for storing management data specifying which frame block server stores which frame block in the image memory and which frame block server has a writable area in the image memory, and for updating the management data each time a frame block is written in the image memory; a plurality of subscriber interfaces for receiving the video requests from the subscriber terminals, and in response sending readout requests to frame block servers to readout frame blocks forming requested digital image data in a predetermined sequence while referring to the management data, and for transmitting the frame blocks transmitted from the frame block servers to the subscriber terminals at such timing that ensures continuous video-play; a write interface for obtaining a digital video to divide the digital video into a set of sections, and for transmitting the divided sections to the frame block servers having the writable areas together with the write request, each section being of a same size as the frame block; and an exchange unit for interconnecting each block server, each subscriber interface, and each write interface, and for transferring the frame blocks read out from the frame block servers and transmitted from the write interface to the request-sender subscriber interfaces and the frame block servers having the writable areas respectively.

The management data may comprise a plurality of block pointers, each identifying a location of each frame block respectively, and including an address of each frame block server that stores each frame block respectively, and each subscriber interface may include: a management data obtainment unit for receiving the video request from the subscriber terminal, and in response retrieving block pointers for the requested piece of digital video data from the management unit; a readout request generation unit for generating a readout request for each retrieved block pointer addressing to the frame block server specified by the address included therein; a readout request transmission unit for transmitting the readout requests to the specified frame block servers, one readout request being transmitted at a time; and a frame block output unit for receiving the frame blocks read out as per the readout requests, and in response outputting the frame blocks to the request-sender subscriber terminal at predetermined timing.

The image memory in each frame block server may have a memory area which is divided in a set of areas, each area being sufficiently large to record one frame block, and the management unit may include: a write pointer storage unit for storing write pointers, each write pointer being data showing a correspondence between the writable area in the image memory and its location; a write control data generation unit for retrieving the write pointers for each frame block server from the write pointer storage unit when the write interface receives the write request, and for aligning the retrieved write pointers in sequence to generate write control data for a piece of digital video data to be recorded; a management data conversion unit for converting the write control data generated by the write control data generation unit into the management data, and the write interface may include: a management data obtainment unit for receiving the write request, and in response retrieving the write pointers for the piece of digital video data to be recorded from the management unit; and a write request generation unit for generating a write request for each retrieved write pointer addressing to the frame block server specified by the write pointer; a division unit for generating a plurality of frame blocks by dividing the digital video data; a write request transmission unit for transmitting the write requests first and then the requested frame blocks to the specified frame block servers, one of one write request and requested frame block being transmitted at a time, and wherein each specified frame block server writes the frame block on the writable area in the image memory specified by the write request when the write request and the frame block are received.

The exchange unit may be an ATM cell switch for exchanging cells, and each image memory may be a disk array comprising K disk drives for storing the frame blocks, and each block pointer may include an address of each frame block server storing each frame block, and an address of the frame block in the disk array, and each write pointer may include an address of a frame block server storing the corresponding frame block, and an address of the writable are in the disk array; the readout request may be of a cell structure, and the readout request transmission unit writes the address of the frame block server in a header area of the cell structure while writing the address of the frame block in the disk array in a data area of the cell structure to generate a readout request for each block pointer, and the write request transmission unit may write the address of the frame block server in the header area while writing the address of the writable area in the data area, and the readout control unit in the frame block server may detect the address of the frame block in each readout request and reads out the requested frame block by accessing to the address of the disk array, and the write control unit in the frame block server may detect the address of the frame block in each write request and writes the frame block in the writable area.

According to the above construction, the video data can be rewritten while being transmitted to their respective destination terminals, which makes a variety of videos available to the subscribers.

The third object can be fulfilled by a video server which transmits digital video data stored therein to subscriber terminals as per video requests comprising: a plurality of frame block servers, each including an image memory and a readout control unit for the image memory, each image memory storing a plurality of frame blocks, each frame block being one of sections forming a piece of digital video data, the readout control unit receiving readout requests and in response reading out requested frame blocks from the image memory; a management unit for storing management data specifying which frame block server stores which frame block in the image memory; a plurality of subscriber interfaces for receiving the video requests from the subscriber terminals, and in response sending readout requests to the frame block servers to readout the frame blocks forming requested digital image data in a predetermined sequence while referring to the management data, and for transmitting the frame blocks transmitted from the frame block servers to the subscriber terminals at such timing that ensures a continuous play; and an exchange network including a plurality of exchange units interconnected each other, each being selectively connected to a plurality of frame block servers and a plurality of subscriber interfaces for transferring the frame blocks addressed to the self’s frame block server to the request-sender subscriber interfaces respectively.

The management data may comprise a plurality of block pointers, each identifying a location of each frame block respectively, and including an address of each frame block server that stores each frame block respectively, and each subscriber interface may include: a management data obtainment unit for receiving the video request from the subscriber terminal, and in response retrieving block pointers for the requested piece of digital video data from the management unit; a readout request generation unit for generating a readout request for each retrieved block pointer addressing to the frame block server specified by the address included therein; a readout request transmission unit for transmitting the readout requests to the specified frame block servers, one readout request being transmitted at a time; and a frame block output unit for receiving the frame blocks read out as per the readout requests, and in response outputting the frame blocks to the request-sender subscriber terminal at predetermined timing.

The exchange network may be an ATM cell switch for transferring the cells, and each image memory may be a disk array comprising K disk drives for storing the frame blocks, and each block pointer may include an address of each frame block server storing each frame block, and an address of the frame block in the disk array, and the readout request may be of a cell structure, and the readout request transmission unit may write the address of the frame block server in a header area of the cell structure while wiring the address of the frame block in the disk array in a data area of the cell structure to generate a readout request for each block pointer, and the readout control unit in the frame block server may detect the address of the frame block in each readout request and may read out the requested frame block by accessing to the address of the disk array.

The disk array may comprise K disk drives interconnected by a SCSI, and the address of the frame block may be formatted for a readout command in a SCSI system.

According to the above construction, the frame blocks can be transferred between a plurality of the ATM switches, and thus the scale of the video server can be extended.

Related Posts