WO2003073722A1 - Method and device for streaming data - Google Patents

Method and device for streaming data Download PDF

Info

Publication number
WO2003073722A1
WO2003073722A1 PCT/EP2002/002293 EP0202293W WO03073722A1 WO 2003073722 A1 WO2003073722 A1 WO 2003073722A1 EP 0202293 W EP0202293 W EP 0202293W WO 03073722 A1 WO03073722 A1 WO 03073722A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
data element
source
data
client
Prior art date
Application number
PCT/EP2002/002293
Other languages
French (fr)
Inventor
Reinier De Vlaam
Original Assignee
Telefonaktiebolaget L M Ericsson
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 Telefonaktiebolaget L M Ericsson filed Critical Telefonaktiebolaget L M Ericsson
Priority to AU2002302382A priority Critical patent/AU2002302382A1/en
Priority to PCT/EP2002/002293 priority patent/WO2003073722A1/en
Publication of WO2003073722A1 publication Critical patent/WO2003073722A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/183Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
    • 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/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • 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/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6131Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a mobile phone network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6187Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via a telephone network, e.g. POTS

Definitions

  • the invention relates to a method for transferring a data stream containing a sequence of data elements from a source to a plurality of clients, the source and the clients being comprised in a network, comprising the repeated steps of generating a successive data element in the source, the data element forming part of the sequence of data elements, transferring the data element from the source to the clients, and associating in each client the data element to at least one further data element forming part of the sequence. Further, the invention relates to a system, a server and a computer program for carrying out the method.
  • a stream such as a video stream, an audio stream or a multimedia stream to a plurality of clients
  • broadcasting the same data, i.e. the same element of the stream, is sent at the same time to the clients.
  • Broadcasting is applied for example for live events enabling transferring a stream or a part of a stream, essentially at the same time to a large number of clients.
  • a problem associated with broadcasting is that a user of a client is not able to individually control a flow of the stream. If for example the user of a client has missed a part of the stream, it is not possible to retrieve such part, as the source continues to transfer the stream to all clients.
  • a known solution to this problem is to store a part of the stream, which has already been received by the client in a memory of or uniquely accessible by the client.
  • This however has the major disadvantage that memory requirements for storing a part of the stream, which has already been received by the clients, could be large, as the amount of data in for example a multimedia stream could be large.
  • memory capacity for storing such part of the stream might either not be available or substantially deteriorate the performance of such device. It is an object of the invention to combine a high user convenience for a user of a client with low design requirements for the client.
  • the method according to the invention is characterized in that the step of transferring the data element from the source to the clients comprises the steps of: transferring the data element from the source to a server, the server being comprised in the network, storing the data element in a memory of the server and transferring the data element from the server to each client individually when received or after storage by the server.
  • the step of transferring the data element from the source to the clients comprises the steps of: transferring the data element from the source to a server, the server being comprised in the network, storing the data element in a memory of the server and transferring the data element from the server to each client individually when received or after storage by the server.
  • any such client, or its user can be offered the flexibility to view, if desired, an earlier part of the sequence, while no memory capacity in the client itself is required for storing such part of the sequence.
  • a further advantage is that the source only needs to transfer the data element to a single destination, being the server only, instead of having to transfer, by means of broadcasting through a multiple of communication paths, the data element to a plurality of clients. Consequently, a load on the source can significantly be reduced, which allows, as will be clear to a person skilled in the art, to reduce complexity of the source, enabling a low power consumption, small dimensions, low cost price, and limited use of communication resources by the source.
  • a further advantage is that, in case that a part of the stream could not be received by a client, for example because of a missing communication link to the client, a defect or low battery condition in the client, or for whatever other reason, the missing part of the stream is available in the memory in the buffer for sending it to the client after resolving such defective event.
  • the method is characterized in that it comprises the further step of erasing a data element from the memory in the server on a first in first out basis with respect to a time order of transferring data elements by the source. Consequently, excessive memory requirements in the server can be avoided, as data elements are erased on a first in first out basis, enabling to free memory capacity for a data element which is currently received or will be received by the server.
  • the erasing can be performed after a predetermined time from a receipt of the data element by the buffer, thus causing a part of the stream having a predetermined time length to be stored in the buffer.
  • the erasing can also be performed after receipt of a predetermined number of data elements, received after receiving the data element to be erased, which implies that during transferring a stream, a fixed, predetermined amount of data elements is stored in the buffer.
  • the erasing is performed after receipt of a predetermined total data size of data elements, received after receiving the data element to be erased.
  • the total data size of data elements stored in the memory is limited to a predetermined data size, enabling to assign a fixed, maximum amount of memory size for storing of the data elements in the server.
  • the method comprises the further step of requesting by a client a transfer from the server to the client of a prior data element, the prior data element being prior in sequence of data elements, then a data element received by the server most recently, with respect to the time order of transferring data elements by the source.
  • the client can request a transfer from the server to the client of a prior data element, which is stored in the memory.
  • the request can result in the transfer from the server to the client of a single prior data element, however it is also possible that the request initiates a transfer from the server to the client of a part of the sequence.
  • the memory is continuously supplied with new data elements which are transferred from the source to the server, it is possible to transfer a delayed stream, or delayed pa ' rt of the stream, such as an earlier part of the stream from the server to the client.
  • the prior data element is accessed via a pointer which is associated with the client and which points to a location in the memory comprising the data element, and in that the pointer is movable (such as in that a value of the pointer which corresponds to the location in the memory is changeable) on request of the client.
  • the pointer is movable (such as in that a value of the pointer which corresponds to the location in the memory is changeable) on request of the client.
  • a single command for setting the pointer to a location in the memory having a number of data elements between a current data element (which corresponds to the 'live' stream) and the data element in the memory to which the pointer is pointing will result in a transferring of a delayed part of the stream from the memory in the server to the client.
  • a user interface of the client is for example equipped with play-forward, play-back, and/or freeze/play/forward/backward/fast/slow/jump like controls which enable a user of the client to control receipt of the stream in a video color recorder (VCR) like manner
  • VCR video color recorder
  • the invention provides a system comprising a source, a plurality of clients and a server, the source, the clients and the server being comprised in a network, the system being adapted for transferring a data stream containing a sequence of data elements to the clients according to the method according to the invention.
  • the invention provides a server intended for use in such system.
  • the invention provides a computer program comprising program instructions for causing a server, in connection with a source and a plurality of clients, the server, the source and the clients being comprised in a network, to perform the method according to the invention, when the computer program has been loaded into the server.
  • the invention provides a computer program comprising program instructions for causing a client, in connection with a source and a server, the server, the source and the client being comprised in a network, to perform the method according to the invention, when the computer program has been loaded into the client.
  • the computer programs according to the invention can be embodied on a record medium, such as a CD-ROM or a carrier signal; also, the computer programs according to the invention can be stored in a computer memory.
  • the computer program according to the invention enables a server, respectively a client, to operate in a manner according to the method according to the invention, when the respective computer programs have been loaded into a server, respectively a client.
  • Fig. 1 shows in a non- limiting way a system implementing a preferred example of the method according to the invention.
  • Fig. 1 shows a source, in this example being a digital camera
  • the camera 1 generates a stream, comprising a sequence of data elements, which in this example comprises a video information.
  • Each data element is transferred from the camera 1 to the mobile telephone 2.
  • the data element is transferred in a wireless manner to a wireless transmitter 3, such as a base station, comprised in a mobile telephone network.
  • a wireless transmitter 3 such as a base station
  • the camera 1 generates a stream, comprising a sequence of data elements, and each data element, upon generation in the camera 1 is transferred to the mobile telephone 2 and then to the base station 3.
  • each data element is transferred in a wired and/or wireless manner to a server 4.
  • the data element is stored in a memory 5 of the server 4.
  • the data elements can be transferred to a plurality of clients, such as in this example a plurality of mobile telephones 6a, 6b, 6c.
  • each data element is first transferred from the server 4 in a wired or wireless way to a plurality of wireless base stations 7a, 7b, 7c and from these base stations 7a, 7b, 7c the data element is transferred to the respective mobile telephones 6a, 6b, 6c.
  • each mobile telephone 6a, 6b, 6c receives a data element from the server 4 via a respective base station 7a, 7b, 7c.
  • the base stations 3, 7a, 7b, 7c can be located in remote positions respectively to each other, however it is of course also possible that one or more of the mobile telephones 2, 6a, 6b, 6c make use of the same base station, for example in case that two or more of the mobile telephones 2, 6a, 6b, 6c, in a same cell, i.e. an area which is covered by a single base station 3, 7a, 7b, 7c.
  • the base stations 3, 7a, 7b, 7c can form part of a single mobile infrastructure, however it is also possible that the base stations 3, 7a, 7b, 7c form part of different mobile infrastructures, such as infrastructures located in different countries or different geographic areas.
  • the server 4 can be comprised in the mobile telecommunications network. It is however also possible that the server 4 is comprised in a computer network, not shown, such as the Internet, and that the computer network is coupled, in a manner known to a person skilled in the art, to the telecommunications network of which the base stations 3, 7a, 7b, 7c and the mobile telephones 2, 6a, 6b, 6c form part of. In this case, the telecommunications network and the computer network both form part of the network.
  • the camera 1 repetitively generates a data element and the data element is transferred from the camera 1 to the server 4.
  • the data element is stored in the memory 5.
  • the data element is transferred from the server 4 to the mobile telephone 6a, 6b, 6c just before, during or after storing the data element in the memory 5.
  • the data element can be sent from the server 4 simultaneously to the mobile telephones 6a, 6b, 6c.
  • the user of the mobile telephones 6a, 6b, 6c are able to view a reproduction of the stream on for example a display, 8a, 8b, 8c which is comprised in the respective mobile telephone 6a, 6b, 6c.
  • a request from the mobile telephone 6a can be transferred to the server 4, for example via the base station 7a, upon which the server 4 starts transferral of a data element or a sequence of data elements which are stored in the memory 5.
  • the server 4 starts transferral of a data element or a sequence of data elements which are stored in the memory 5.
  • each data element which has been received by the server 4 from the camera 1 is directly sent upon receipt by the server 4 to the mobile telephone 6b, 6c, while the mobile telephone 6a receives a delayed part of the stream, the delayed part of the stream comprising data elements which are stored in the memory 5 in the server 4.
  • the mobile telephone 6a receives a delayed part of the stream, the delayed part of the stream comprising data elements which are stored in the memory 5 in the server 4.
  • the delayed part of the stream can be accessed via a pointer which is associated with the client, the pointer pointing to a location in the memory comprising a data element which differs with respect to the current 'live' data element by a time equal to the delay time of the delayed (part of) the stream relative to the 'live' stream.
  • data elements which are stored in the memory 5 in the server 4 are erased from the memory 5.
  • This can for example be performed in a first in - first out manner, i.e. the data elements which have been received by the server 4 first are erased from the memory 5 in the server 4 first.
  • the data element can be erased.
  • users of the mobile telephones 6a, 6b, 6c obtain the ability to view an earlier part of the stream, the earlier part being relative to the live stream and being expressed in a predetermined time, a predetermined amount of data elements or a predetermined total data size of data elements, counting from the "current", live data element.
  • the camera 1 can be of a very simple, and thus compact, cost effective and low power design, as the camera 1 only needs to transfer the data elements to a single destination, being the server 4 instead of having to transfer the data elements to all clients.
  • the invention reduces requirements on the source, being in this example the camera 1, while offering a high user convenience to the users of the clients, such as in this example the users of the mobile telephones 6a, 6b, 6c, as possibilities for viewing an earlier part of the stream, replay, stop, etc. can be offered to these users.
  • the data elements which are sent from the camera 1 in an order as generated, might arrive at the server 4 in a different order. This can be due to a different transfer time, for transferring each data element from the camera 1 to the server 4. As thus the data elements can arrive at the server 4 in a different order than in the order generated, the data elements can be placed in the order generated, when storing the data elements in the memory 5 in the server 4 in a manner which will be known to a person skilled in the art.
  • the data elements sent from the server 4 to the mobile telephones 6a, 6b, 6c can arrive at the respective mobile telephone 6a, 6b, 6c in a different order than the order sent, the mobile telephones 6a, 6b, 6c putting the data elements in the order of generating and/or transferring the data element by the source in a manner known to a person skilled in the art.
  • the data elements are stored in the memory 5 in the order in which the data elements are received by the server 4, in which case the placing of the data elements in the time order of generating and transferring the data elements by the camera is to be performed in a manner known to a person skilled in the art by the mobile telephones 6a, 6b, 6c.
  • the clients comprise portable devices, such as for example mobile telephones, personal digital assistants, or any other battery-operated, or mobile device, a possibility for viewing an earlier part of the stream than the live stream is made possible without a need for storing the stream or a part of the stream in the client.
  • portable devices such as for example mobile telephones, personal digital assistants, or any other battery-operated, or mobile device

Abstract

Method for transferring a data stream containing a sequence of data elements in a network from a source to a plurality of clients, the source and the clients being comprise in a network, comprising the repeated steps of: generating a successive data element in the source, the data element forming part of the sequence of data elements, transferring the data element from the source to the clients, and associating in each client the data element to at least one further data element forming part of the sequence, for reconstructing at least a part of the sequence. The step of transferring the data element from the source to the clients comprises the steps of transferring the data element from the source to a server, the server being comprised in the network, storing the data element in a memory of the server, and transferring the data element from the server to each client individually when received or after storage by the server.

Description

METHOD AND DEVICE FOR STREAMING DATA
The invention relates to a method for transferring a data stream containing a sequence of data elements from a source to a plurality of clients, the source and the clients being comprised in a network, comprising the repeated steps of generating a successive data element in the source, the data element forming part of the sequence of data elements, transferring the data element from the source to the clients, and associating in each client the data element to at least one further data element forming part of the sequence. Further, the invention relates to a system, a server and a computer program for carrying out the method.
For sending a stream, such as a video stream, an audio stream or a multimedia stream to a plurality of clients, it is known to broadcast the stream to the clients. By broadcasting, the same data, i.e. the same element of the stream, is sent at the same time to the clients. Broadcasting is applied for example for live events enabling transferring a stream or a part of a stream, essentially at the same time to a large number of clients. A problem associated with broadcasting is that a user of a client is not able to individually control a flow of the stream. If for example the user of a client has missed a part of the stream, it is not possible to retrieve such part, as the source continues to transfer the stream to all clients. A known solution to this problem is to store a part of the stream, which has already been received by the client in a memory of or uniquely accessible by the client. This however has the major disadvantage that memory requirements for storing a part of the stream, which has already been received by the clients, could be large, as the amount of data in for example a multimedia stream could be large. Especially in compact or mobile devices, memory capacity for storing such part of the stream might either not be available or substantially deteriorate the performance of such device. It is an object of the invention to combine a high user convenience for a user of a client with low design requirements for the client.
To achieve this goal, the method according to the invention is characterized in that the step of transferring the data element from the source to the clients comprises the steps of: transferring the data element from the source to a server, the server being comprised in the network, storing the data element in a memory of the server and transferring the data element from the server to each client individually when received or after storage by the server. As the data element is transferred from the source to the server and stored in a memory in the server, earlier data elements are available in the server. Thus, no memory in the clients is required for storing a part of the sequence already received by the client; as such earlier part of the sequence is available in the memory in the server. Consequently, any such client, or its user, can be offered the flexibility to view, if desired, an earlier part of the sequence, while no memory capacity in the client itself is required for storing such part of the sequence. A further advantage is that the source only needs to transfer the data element to a single destination, being the server only, instead of having to transfer, by means of broadcasting through a multiple of communication paths, the data element to a plurality of clients. Consequently, a load on the source can significantly be reduced, which allows, as will be clear to a person skilled in the art, to reduce complexity of the source, enabling a low power consumption, small dimensions, low cost price, and limited use of communication resources by the source.
A further advantage is that, in case that a part of the stream could not be received by a client, for example because of a missing communication link to the client, a defect or low battery condition in the client, or for whatever other reason, the missing part of the stream is available in the memory in the buffer for sending it to the client after resolving such defective event. Advantageously the method is characterized in that it comprises the further step of erasing a data element from the memory in the server on a first in first out basis with respect to a time order of transferring data elements by the source. Consequently, excessive memory requirements in the server can be avoided, as data elements are erased on a first in first out basis, enabling to free memory capacity for a data element which is currently received or will be received by the server. The erasing can be performed after a predetermined time from a receipt of the data element by the buffer, thus causing a part of the stream having a predetermined time length to be stored in the buffer. The erasing can also be performed after receipt of a predetermined number of data elements, received after receiving the data element to be erased, which implies that during transferring a stream, a fixed, predetermined amount of data elements is stored in the buffer.
Further, it is possible that the erasing is performed after receipt of a predetermined total data size of data elements, received after receiving the data element to be erased. Thus, during transfer of a stream, the total data size of data elements stored in the memory is limited to a predetermined data size, enabling to assign a fixed, maximum amount of memory size for storing of the data elements in the server. Advantageously, the method comprises the further step of requesting by a client a transfer from the server to the client of a prior data element, the prior data element being prior in sequence of data elements, then a data element received by the server most recently, with respect to the time order of transferring data elements by the source. Thus, the client can request a transfer from the server to the client of a prior data element, which is stored in the memory. This allows the client, upon request of the client, to have access to prior data elements. The request can result in the transfer from the server to the client of a single prior data element, however it is also possible that the request initiates a transfer from the server to the client of a part of the sequence. As the memory is continuously supplied with new data elements which are transferred from the source to the server, it is possible to transfer a delayed stream, or delayed pa'rt of the stream, such as an earlier part of the stream from the server to the client.
Advantageously, the prior data element is accessed via a pointer which is associated with the client and which points to a location in the memory comprising the data element, and in that the pointer is movable (such as in that a value of the pointer which corresponds to the location in the memory is changeable) on request of the client. If a user of a client wants to view an other part of the stream, the user can send a request from the client to the server resulting a move of the pointer, and thus in a change in the location to which the pointer is pointing, and consequently in a change of the data element, or sequence of data elements, transferred to the client. In this manner simple and user convenient control of the data elements to be received by the client has been made possible. In case that the client for example requests to have retransmitted a part of the stream which has been transmitted from the source to the server and which part is stored in the memory in the server, a single command for setting the pointer to a location in the memory having a number of data elements between a current data element (which corresponds to the 'live' stream) and the data element in the memory to which the pointer is pointing, will result in a transferring of a delayed part of the stream from the memory in the server to the client. If a user interface of the client is for example equipped with play-forward, play-back, and/or freeze/play/forward/backward/fast/slow/jump like controls which enable a user of the client to control receipt of the stream in a video color recorder (VCR) like manner, the request to transfer a data element or sequence of data elements from the memory in the server can be generated in the client in a manner which is easily understood by the user of the client, so that a high user convenience can be achieved.
In addition the invention provides a system comprising a source, a plurality of clients and a server, the source, the clients and the server being comprised in a network, the system being adapted for transferring a data stream containing a sequence of data elements to the clients according to the method according to the invention.
Also, the invention provides a server intended for use in such system.
Further, the invention provides a computer program comprising program instructions for causing a server, in connection with a source and a plurality of clients, the server, the source and the clients being comprised in a network, to perform the method according to the invention, when the computer program has been loaded into the server.
Still further, the invention provides a computer program comprising program instructions for causing a client, in connection with a source and a server, the server, the source and the client being comprised in a network, to perform the method according to the invention, when the computer program has been loaded into the client. The computer programs according to the invention can be embodied on a record medium, such as a CD-ROM or a carrier signal; also, the computer programs according to the invention can be stored in a computer memory. Thus, the computer program according to the invention enables a server, respectively a client, to operate in a manner according to the method according to the invention, when the respective computer programs have been loaded into a server, respectively a client.
Further features and advantages of the invention will become clear from the appended drawing of which Fig. 1 shows in a non- limiting way a system implementing a preferred example of the method according to the invention. Fig. 1 shows a source, in this example being a digital camera
1, which is connected to a mobile device, such as a mobile telephone
2. The camera 1 generates a stream, comprising a sequence of data elements, which in this example comprises a video information. Each data element is transferred from the camera 1 to the mobile telephone 2. From the mobile telephone 2, the data element is transferred in a wireless manner to a wireless transmitter 3, such as a base station, comprised in a mobile telephone network. Thus, the camera 1 generates a stream, comprising a sequence of data elements, and each data element, upon generation in the camera 1 is transferred to the mobile telephone 2 and then to the base station 3. From the base station 3, each data element is transferred in a wired and/or wireless manner to a server 4. After transferring the data element from the camera 1 via the mobile telephone 2 and the base station 3 to the server 4, the data element is stored in a memory 5 of the server 4. From the server 4, the data elements can be transferred to a plurality of clients, such as in this example a plurality of mobile telephones 6a, 6b, 6c. To achieve this, each data element is first transferred from the server 4 in a wired or wireless way to a plurality of wireless base stations 7a, 7b, 7c and from these base stations 7a, 7b, 7c the data element is transferred to the respective mobile telephones 6a, 6b, 6c. Thus, each mobile telephone 6a, 6b, 6c receives a data element from the server 4 via a respective base station 7a, 7b, 7c. The base stations 3, 7a, 7b, 7c can be located in remote positions respectively to each other, however it is of course also possible that one or more of the mobile telephones 2, 6a, 6b, 6c make use of the same base station, for example in case that two or more of the mobile telephones 2, 6a, 6b, 6c, in a same cell, i.e. an area which is covered by a single base station 3, 7a, 7b, 7c. The base stations 3, 7a, 7b, 7c can form part of a single mobile infrastructure, however it is also possible that the base stations 3, 7a, 7b, 7c form part of different mobile infrastructures, such as infrastructures located in different countries or different geographic areas. The base stations 3, 7a, 7b, 7c, and consequently the mobile telephones 2, 6a, 6b, 6c, form part of a network, such as a mobile telecommunications network. The server 4 can be comprised in the mobile telecommunications network. It is however also possible that the server 4 is comprised in a computer network, not shown, such as the Internet, and that the computer network is coupled, in a manner known to a person skilled in the art, to the telecommunications network of which the base stations 3, 7a, 7b, 7c and the mobile telephones 2, 6a, 6b, 6c form part of. In this case, the telecommunications network and the computer network both form part of the network.
During operation, the camera 1 repetitively generates a data element and the data element is transferred from the camera 1 to the server 4. In the server 4, the data element is stored in the memory 5. In case that all users of the mobile telephones 6a, 6b, 6c are receiving a live part of the stream, the data element is transferred from the server 4 to the mobile telephone 6a, 6b, 6c just before, during or after storing the data element in the memory 5. The data element can be sent from the server 4 simultaneously to the mobile telephones 6a, 6b, 6c. The user of the mobile telephones 6a, 6b, 6c are able to view a reproduction of the stream on for example a display, 8a, 8b, 8c which is comprised in the respective mobile telephone 6a, 6b, 6c. In case that for example the user of the mobile telephone 6a has missed a part of the stream, for example because the user of the mobile telephone 6a has received a telephone call, or in case that the user of the mobile telephone 6a for example wants to review a part of the sequence, a request from the mobile telephone 6a can be transferred to the server 4, for example via the base station 7a, upon which the server 4 starts transferral of a data element or a sequence of data elements which are stored in the memory 5. As all data elements are stored in the memory 5 of the server 4, upon receipt in the server 4, it is now possible, that for example the mobile telephones 6b, 6c receive a live part of the stream, i.e. each data element which has been received by the server 4 from the camera 1 is directly sent upon receipt by the server 4 to the mobile telephone 6b, 6c, while the mobile telephone 6a receives a delayed part of the stream, the delayed part of the stream comprising data elements which are stored in the memory 5 in the server 4. As all data elements received by the server 4 from the camera 1 are stored in the memory 5, it is possible for the user of the mobile telephone 6a to continue watching to the delayed stream as all new data elements which arrive at the server 4 from the camera 1 are stored in the memory 5. The delayed part of the stream can be accessed via a pointer which is associated with the client, the pointer pointing to a location in the memory comprising a data element which differs with respect to the current 'live' data element by a time equal to the delay time of the delayed (part of) the stream relative to the 'live' stream.
To avoid a requirement for excessive memory capacity in the server 4, it is possible that data elements, which are stored in the memory 5 in the server 4, are erased from the memory 5. This can for example be performed in a first in - first out manner, i.e. the data elements which have been received by the server 4 first are erased from the memory 5 in the server 4 first. Thus, by erasing data elements, for example after exceeding a predetermined time from receipt of the data element, after receipt of a predetermined amount of later data elements which follow the data element, or after receipt of a predetermined total data size of later data elements which follow the data element, the data element can be erased. This implies that users of the mobile telephones 6a, 6b, 6c obtain the ability to view an earlier part of the stream, the earlier part being relative to the live stream and being expressed in a predetermined time, a predetermined amount of data elements or a predetermined total data size of data elements, counting from the "current", live data element.
Consequently, it is possible to offer a high user convenience to the users of the mobile telephones 6a, 6b, 6c as they can playback, stop or review a delayed part of the stream, without a need for additional storage capacity for storing a part of the stream. Further, the camera 1 can be of a very simple, and thus compact, cost effective and low power design, as the camera 1 only needs to transfer the data elements to a single destination, being the server 4 instead of having to transfer the data elements to all clients. Consequently, compared to broadcasting according to the state of the art for transferring a stream, such as a live stream to a plurality of clients, the invention reduces requirements on the source, being in this example the camera 1, while offering a high user convenience to the users of the clients, such as in this example the users of the mobile telephones 6a, 6b, 6c, as possibilities for viewing an earlier part of the stream, replay, stop, etc. can be offered to these users.
The data elements, which are sent from the camera 1 in an order as generated, might arrive at the server 4 in a different order. This can be due to a different transfer time, for transferring each data element from the camera 1 to the server 4. As thus the data elements can arrive at the server 4 in a different order than in the order generated, the data elements can be placed in the order generated, when storing the data elements in the memory 5 in the server 4 in a manner which will be known to a person skilled in the art. Of course, also the data elements sent from the server 4 to the mobile telephones 6a, 6b, 6c, can arrive at the respective mobile telephone 6a, 6b, 6c in a different order than the order sent, the mobile telephones 6a, 6b, 6c putting the data elements in the order of generating and/or transferring the data element by the source in a manner known to a person skilled in the art. Of course it is also possible that the data elements are stored in the memory 5 in the order in which the data elements are received by the server 4, in which case the placing of the data elements in the time order of generating and transferring the data elements by the camera is to be performed in a manner known to a person skilled in the art by the mobile telephones 6a, 6b, 6c.
Especially in case that the clients comprise portable devices, such as for example mobile telephones, personal digital assistants, or any other battery-operated, or mobile device, a possibility for viewing an earlier part of the stream than the live stream is made possible without a need for storing the stream or a part of the stream in the client.

Claims

1. A method for transferring a data stream containing a sequence of data elements from a source to a plurality of clients, the source and the clients being comprised in a network, comprising the repeated steps of:
- generating a successive data element in the source, the data element forming part of the sequence of data elements;
- transferring the data element from the source to the clients; and - associating in each client the data element to at least one further data element forming part of the sequence, for reconstructing at least a part of the sequence; the method being characterised in that the step of transferring the data element from the source to the clients comprises the steps of: - transferring the data element from the source to a server, the server being comprised in the network;
- storing the data element in a memory of the server; and
- transferring the data element from the server to each client individually when received or after storage by the server.
2. The method according to claim 1, characterised in that the method comprises the further step of erasing a data element from the memory in the server on a first in first out basis with respect to a time order of transferring data elements by the source.
3. The method according to claim 2, characterised in that the erasing is performed after a predetermined time from a receipt of the data- element by the buffer.
4. The method according to claim 2, characterised in that the erasing is performed after receipt of a predetermined number of data elements received after receiving the data element to be erased.
5. The method according to claim 2, characterised in that the erasing is performed after receipt of a predetermined total data size of later data elements received after receiving the data element to be erased.
6. The method according to any of the preceding claims, characterised by the further step of requesting by a client a transfer from the server to the client of a prior data element, the prior data element being prior in the sequence of data elements than a data element received by the server most recently with respect to the time order of transferring data elements by the source.
7. The method according to claim 6, characterised in that the prior data element is accessed via a pointer which is associated with the client and which points to a location in the memory comprising the data element, and in that the pointer is movable on request of the client.
8. A system comprising a source, a plurality of clients and a server, the source, the clients and the server being comprised in a network, the system being adapted for transferring a data stream containing a sequence of data elements to the clients according to the method according to any of the preceding claims .
9. A server intended for use in a system according to claim 8.
10. A computer program comprising program instructions for causing a server, in connection with a source and a plurality of clients, the server, the source and the clients being comprised in a network, to perform the method according to any of claims 1 - 7.
11. A computer program comprising program instructions for causing a client, in connection with a source and a server, the server, the source and the client being comprised in a network, to perform the method according to any of claims 1 - 7.
12. The computer program according to claim 10 or 11, embodied on a record medium.
13. The computer program according to claim 10 or 11, stored in a computer memory.
PCT/EP2002/002293 2002-02-27 2002-02-27 Method and device for streaming data WO2003073722A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2002302382A AU2002302382A1 (en) 2002-02-27 2002-02-27 Method and device for streaming data
PCT/EP2002/002293 WO2003073722A1 (en) 2002-02-27 2002-02-27 Method and device for streaming data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2002/002293 WO2003073722A1 (en) 2002-02-27 2002-02-27 Method and device for streaming data

Publications (1)

Publication Number Publication Date
WO2003073722A1 true WO2003073722A1 (en) 2003-09-04

Family

ID=27763325

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2002/002293 WO2003073722A1 (en) 2002-02-27 2002-02-27 Method and device for streaming data

Country Status (2)

Country Link
AU (1) AU2002302382A1 (en)
WO (1) WO2003073722A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721829A (en) * 1995-05-05 1998-02-24 Microsoft Corporation System for automatic pause/resume of content delivered on a channel in response to switching to and from that channel and resuming so that a portion of the content is repeated
US5933603A (en) * 1995-10-27 1999-08-03 Emc Corporation Video file server maintaining sliding windows of a video data set in random access memories of stream server computers for immediate video-on-demand service beginning at any specified location

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721829A (en) * 1995-05-05 1998-02-24 Microsoft Corporation System for automatic pause/resume of content delivered on a channel in response to switching to and from that channel and resuming so that a portion of the content is repeated
US5933603A (en) * 1995-10-27 1999-08-03 Emc Corporation Video file server maintaining sliding windows of a video data set in random access memories of stream server computers for immediate video-on-demand service beginning at any specified location

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DAVIES N ET AL: "SUPPORTING ADAPTIVE VIDEO APPLICATIONS IN MOBILE ENVIRONMENTS", IEEE COMMUNICATIONS MAGAZINE, IEEE SERVICE CENTER. PISCATAWAY, N.J, US, vol. 36, no. 6, 1 June 1998 (1998-06-01), pages 138 - 143, XP000777796, ISSN: 0163-6804 *

Also Published As

Publication number Publication date
AU2002302382A1 (en) 2003-09-09

Similar Documents

Publication Publication Date Title
US8533765B2 (en) On demand system and method using dynamic broadcast scheduling
JP4884460B2 (en) Instant media on demand
US20190158891A1 (en) System for Exchanging Media Content Between a Media Content Processor and a Communication Device
CN1788319B (en) Portable device for storing media content
US8244315B2 (en) Method and apparatus for mobile personal video recorder
US7636544B2 (en) Broadcast program recording method, communication control device, and mobile communication device
US8176192B2 (en) Networked transmission system and method for stream data
US20050144640A1 (en) Method and system for recording scheduled programs with an optional backup copy stored in a centrally located storage server farm
US8196172B2 (en) System and method for facilitating fast-forwarding of first-run programs
CN1801678B (en) Content playing method, system and receiving device in digital broadcast
MX2011005940A (en) Method of transmitting data from a receiver to a mobile device.
CN101779455B (en) Alternate link on-demand instant replay supported via an internet protocol multimedia subsystem
JP2009512340A (en) Method and system for seamless live broadcasting of digital content
CN101674476A (en) Method, device and system for wireless live broadcast
US5995708A (en) Method and system for delivering audio and video information
US20100229209A1 (en) Base server apparatus, communication method, communication control program, distribution system, and communication system
WO2005081528A1 (en) Information distributing system and method, information distributing apparatus therefor, receiver terminal, and information relaying apparatus
US8332528B2 (en) Personal broadcast and content delivery engine
US20060282854A1 (en) Method of recording and reproducing digital multimedia broadcasting contents
WO2003073722A1 (en) Method and device for streaming data
KR100743243B1 (en) Method for playing multimedia in portable terminal and the portable terminal thereof
RU51768U1 (en) AUDIO-VISUAL INFORMATION DISTRIBUTION NETWORK, MANAGEMENT SYSTEM AND AUDIO-VISUAL INFORMATION SYSTEM
WO2006006219A1 (en) Content transmitter apparatus and content distributing system
JP2004248211A (en) Mobile communication method and mobile communication terminal
JP2012105341A (en) On-demand system and method using dynamic broadcast scheduling

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP