Network video server system receiving requests from clients for specific formatted data through a default channel and establishing communication through separate control and data channels
First Claim
1. In a data communication system comprising a plurality of computers coupled through a computer network, video acquisition unit coupled to a first computer ("server") for converting video image data from a video source into digital video data, said digital video data comprising at least one frame, a method for providing said digital video data to at least two other computers ("clients"), said method comprising the steps of:
- a first client of said clients requesting active connection with said server by sending a first connection request to said server through a default communications channel;
upon receipt of said first connection request, said server responding by establishing a first control channel and a first data channel dedicated to said first client to communicate with said first client, said first control channel transferring first control requests and said first data channel transferring first data between said server and said first client;
said server monitoring said first control channel of said first client to determine if said first client is sending a first data request to said server;
said first client requesting data by issuing a first data request to said server through the first control channel, said first data request identifying a first format of digital video data to be transferred to said client;
upon receipt of said first data request, said server responding by;
(i) allocating a storage unit for storing a frame of said digital video data in said first format;
(ii) extracting said frame of said digital video data from said video acquisition unit;
(iii) converting said digital video data frame into said first format identified by said first client;
(iv) storing in said storage unit said digital video data frame which has been converted into said first format;
(v) transferring said digital video data frame which has been converted into said first format to said first client through said first data channel of said first client; and
(vi) repeating steps (ii) through (v) until said first client issues a first control signal to said server through the first control channel of said first client,when a second client of said clients requests active connection with said server by sending a second connection request to said server through said default communications channel;
upon receipt of said second connection request, said server responding by establishing a second control channel and a second data channel dedicated to said second client to communicate with said second client, said second control channel transferring second control requests and said second data channel transferring second data between said server and said second client;
said server monitoring said second control channel of said second client to determine if said second client is sending a second data request to said server;
said second client requesting data by issuing a second data request to said server through the second control channel, said second data request identifying a second format of digital video data to be transferred to said second client;
upon receipt of said second data request, said server responding by;
(vii) comparing said first and said second formats and if said first and second formats are the same;
(viii) transferring said digital video data frame which has been converted into said first format from said first storage unit, to said second client through said second data channel of said second client; and
(ix) repeating step (viii) until said first client issues said first control signal to said server through the first control channel of said first client or until said second client issues a second control signal to said server through the second control channel of said second client.
0 Assignments
0 Petitions
Accused Products
Abstract
A network video server apparatus and method for transferring video image data across a computer network serving multiple clients. The network server apparatus comprises two parts, a server and a client. The server is run on a computer system containing a video digitizer hardware. Running the server on this computer system makes it possible to distribute video images across an existing network linking several client computer systems. The client provides the user with a means of viewing the images generated by the server through the network, controlling the size and type of image to be sent by the server, controlling the underlying video digitizer hardware, and collecting statistics about the server/client performance. The client software is designed to appear to the users as if they were operating the client software locally. The server and client communicate with each other over two channels: one for control information and another for video data. Data transfer from a server to a client is asynchronous such that the server need not wait for a client to complete its receipt before servicing the next client.
410 Citations
10 Claims
-
1. In a data communication system comprising a plurality of computers coupled through a computer network, video acquisition unit coupled to a first computer ("server") for converting video image data from a video source into digital video data, said digital video data comprising at least one frame, a method for providing said digital video data to at least two other computers ("clients"), said method comprising the steps of:
-
a first client of said clients requesting active connection with said server by sending a first connection request to said server through a default communications channel; upon receipt of said first connection request, said server responding by establishing a first control channel and a first data channel dedicated to said first client to communicate with said first client, said first control channel transferring first control requests and said first data channel transferring first data between said server and said first client; said server monitoring said first control channel of said first client to determine if said first client is sending a first data request to said server; said first client requesting data by issuing a first data request to said server through the first control channel, said first data request identifying a first format of digital video data to be transferred to said client; upon receipt of said first data request, said server responding by; (i) allocating a storage unit for storing a frame of said digital video data in said first format; (ii) extracting said frame of said digital video data from said video acquisition unit; (iii) converting said digital video data frame into said first format identified by said first client; (iv) storing in said storage unit said digital video data frame which has been converted into said first format; (v) transferring said digital video data frame which has been converted into said first format to said first client through said first data channel of said first client; and (vi) repeating steps (ii) through (v) until said first client issues a first control signal to said server through the first control channel of said first client, when a second client of said clients requests active connection with said server by sending a second connection request to said server through said default communications channel; upon receipt of said second connection request, said server responding by establishing a second control channel and a second data channel dedicated to said second client to communicate with said second client, said second control channel transferring second control requests and said second data channel transferring second data between said server and said second client; said server monitoring said second control channel of said second client to determine if said second client is sending a second data request to said server; said second client requesting data by issuing a second data request to said server through the second control channel, said second data request identifying a second format of digital video data to be transferred to said second client; upon receipt of said second data request, said server responding by; (vii) comparing said first and said second formats and if said first and second formats are the same; (viii) transferring said digital video data frame which has been converted into said first format from said first storage unit, to said second client through said second data channel of said second client; and (ix) repeating step (viii) until said first client issues said first control signal to said server through the first control channel of said first client or until said second client issues a second control signal to said server through the second control channel of said second client. - View Dependent Claims (2, 3, 4, 5, 9, 10)
-
-
6. In a data communication system comprising a plurality of computers coupled through a computer network, video acquisition means coupled to a first computer ("server") for converting video image data from a video source into digital video data, said digital video data comprising at least one frame, a method for providing said digital video data in a plurality of digital data formats to a plurality of other computers ("clients"), said method comprising the steps of:
-
each client requesting data by sending a connection request to said server through a default communications channel coupling between said network and said server; upon receipt of the connection request, said server responding to each client by establishing a control channel and a corresponding data channel dedicated to each client, said control channel transferring control requests between said server and each client, said data channel transferring data between said server and each client; said server monitoring each control channel to determine if any of said clients is sending control requests to said server; each client requesting data by issuing a data request to said server through the control channel of the client, said data request identifying a format of said digital video data to be transferred to the client, there being a positive integer N where N is the number of requested distinct formats of said formats; upon receipt of the data request from a client, said server responding by; (i) determining whether a storage means has been allocated for the requested format, if no storage means has been allocated for the requested format, allocating a storage means for storing a frame converted to said format; (ii) said server extracting a frame of said digital video data from said video acquisition means; (iii) converting said frame of said digital video data into N frames where N is the number of the storage means currently allocated; (iv) storing said N converted frames in said N respective storage means; (v) for each of said N converted frames, transferring said converted frame to each of its respective requesting clients through said respective data channels of said respective requesting client; and (vi) repeating steps (ii) through (v) until one of said clients issues a control signal to said server through its respective control channel. - View Dependent Claims (7)
-
-
8. A network video server system comprising:
-
a plurality of computer systems comprising a server and at least two client computers; a computer network coupling the plurality of computer systems, said network comprising a default communication channel and at least two control and data channels, said clients used for sending a connection request through said default channel to said server, said server used for responding to said connection request by establishing a control channel and a data channel for said client issuing said connection request, said clients used for sending a data request to said server through said control channels and receiving data through said data channels such that said server can transfer a plurality of said digital video data to said clients concurrently; video acquisition unit coupled to said server, said video acquisition unit for converting real time video image data from a video source into real time digital video data, said digital video data comprising at least one frame; said server comprising; control channel and data channel control units for establishing said control channel and a corresponding said data channel between said server and each of said clients, said control channel unit utilized for communications, said data channel unit utilized for transferring formatted frames of said digital video data, said server used for continuously checking said control channels for requests from any of said clients; data format converting unit for converting said digital video data frame into a plurality of formats in response to requests from said clients, said data format converting unit only converting said digital data frame into said formats requested; formatted data storage unit coupled to said data format converting unit for storing one copy per said requested format of said data frame converted into said requested format; client connection unit coupled to said formatted data storage unit for transferring from said formatted data storage unit said data converted into said requested formats to said clients such that each said client which requested said data in a given format has said data transferred to it formatted into said given format.
-
Specification