WO2003026247A2 - Verfahren zum übertragen eines datenstroms von einem produzenten an eine mehrzahl von zuschauern - Google Patents

Verfahren zum übertragen eines datenstroms von einem produzenten an eine mehrzahl von zuschauern Download PDF

Info

Publication number
WO2003026247A2
WO2003026247A2 PCT/DE2002/003558 DE0203558W WO03026247A2 WO 2003026247 A2 WO2003026247 A2 WO 2003026247A2 DE 0203558 W DE0203558 W DE 0203558W WO 03026247 A2 WO03026247 A2 WO 03026247A2
Authority
WO
WIPO (PCT)
Prior art keywords
viewer
transmission
point
data stream
new
Prior art date
Application number
PCT/DE2002/003558
Other languages
English (en)
French (fr)
Other versions
WO2003026247A3 (de
Inventor
Johannes Welck
Martin Miller
Kurt KIRCHHÜBEL
Ulrich Margull
Original Assignee
1 Mal 1 Software Gmbh
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 1 Mal 1 Software Gmbh filed Critical 1 Mal 1 Software Gmbh
Priority to AT02782684T priority Critical patent/ATE289734T1/de
Priority to US10/490,098 priority patent/US7707302B2/en
Priority to DE50202338T priority patent/DE50202338D1/de
Priority to EP02782684A priority patent/EP1428371B1/de
Priority to AU2002347063A priority patent/AU2002347063A1/en
Publication of WO2003026247A2 publication Critical patent/WO2003026247A2/de
Publication of WO2003026247A3 publication Critical patent/WO2003026247A3/de

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/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
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • 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/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1854Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/189Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems

Definitions

  • the invention relates to transmissions of programs in data networks with which a large number of viewers can potentially be reached.
  • the invention relates to a method for transmitting a data stream, in particular a reducible data stream, from one producer to a plurality of viewers, the producer and viewer being participants in a network with point-to-point connections.
  • the Internet originally designed for static data, is increasingly becoming a platform on which multimedia data such as audio and video data are transported.
  • multimedia data such as audio and video data are transported.
  • data transmission on the Internet takes place in such a way that the available data are available on a server and are waiting for a user to call them up. There is always a certain amount of time between the production of the data and the processing by the user.
  • Streaming technology takes a different approach, in which the transmitted content, for example a television program or a radio program, already appears to the user during the transmission, so that the user can follow the television or radio program live. It is usually neither necessary nor desirable that the entire program be recorded by the user.
  • This type of transmission is also referred to as real-time transmission, since the data is available to the user and is reproduced without a major time difference.
  • a program to be transmitted consists of one or more types of different multimedia data, such as moving images, sound, graphics, texts, applications or any other data.
  • the entire content of a program forms a data stream in its chronological order, which must be transmitted from the producer to the viewer when a program is transmitted.
  • the fundamental problem here was that the provision of a data stream to a large number of viewers in data networks is generally associated with high outlay and great costs.
  • Multicast technology is therefore not available in many data networks, for example multicast is generally not possible on the Internet.
  • the multimedia data is therefore typically transmitted directly from the respective producers to the individual viewers.
  • the viewer establishes a point-to-point connection to the producer server, for example a TCP / IP (Transmission Control Protocol / Internet Protocol) connection or a UDP / IP (User Datagram Protocol) based connection in IP-based networks.
  • TCP / IP Transmission Control Protocol / Internet Protocol
  • UDP User Datagram Protocol
  • the producer can also install various data servers or use the services of data servers that have already been installed.
  • the data is first distributed by the producer to the various data servers.
  • a viewer who wants to receive the data is referred to a data server.
  • a point-to-point connection is established between the data server and the viewer, via which the data is transmitted.
  • a disadvantage of this method is that with both alternatives the producer has to provide an adequate network connection. All data is transmitted via point-to-point connections, at one end of which there is a producer's data server and at the other end of which the viewer is located. A separate connection must be set up for each viewer, so that n viewers must have n times the transmission capacity. In addition, there is an n-fold amount of data to be transmitted for the producer, since the data is transmitted separately to each viewer. If the producer wants to reach many viewers, he is forced to make large bandwidths available. If he is successful with his shipment, large amounts of data are transferred. In both cases, the producer has to expect high costs. Another disadvantage is that the existing software is difficult to use due to the complex technology and requires special training of the operating personnel.
  • the invention is based on the object of specifying a transmission method of the type mentioned which avoids the mentioned disadvantages of the prior art, in particular that the transmission of a data stream to a large number of viewers even with a low transmission bandwidth of the producer allows.
  • the invention provides a method for transmitting a data stream, in particular a reducible data stream, from a producer to a plurality of viewers, the producer and the viewer being participants in a network with point-to-point connections, in the method
  • the producer transmits the data stream to at least one viewer via a point-to-point network connection
  • At least one viewer receives the data stream via a point-to-point network connection and transmits it to at least one other viewer promptly in an identical or reduced form
  • Each viewer is promptly supplied with the data stream in identical or reduced form either by the producer or another viewer via a point-to-point network connection.
  • the invention is therefore based on the idea of realizing the data distribution without the use of broadcast services at the network level in that the producer himself supplies only a few viewers with the data stream, and that other viewers are not supplied directly by the producer, but by other viewers who themselves are already supplied with the data stream and have sufficient transmission bandwidth available.
  • This also enables participants with low bandwidth (for example a 64 kbit / s standard network connection) and standard PC equipment to produce programs that can be viewed by a large number of other participants, for example several thousand viewers, in real time.
  • Up-to-date means that, apart from a technically related time delay due to the forwarding of the data stream, a produced program can be received by all viewers at the same time.
  • the transmission can additionally be improved if reducible data, in particular moving image and sound data, are adapted for individual subscribers by reducing the bandwidth available in each case.
  • a tree structure is created for the transmission, which is referred to below as the transmission tree.
  • the producer forms the root of the tree and the audience the nodes of the tree.
  • Each node either transmits the data stream to one or more other nodes, or it represents a so-called leaf of the tree that only receives the data stream but does not transmit it further.
  • connections between the nodes correspond to the point-to-point network connections between individual participants.
  • a switching entity can convey the other viewer to the other participant, who can promptly transmit the data stream to the other viewer in an identical or reduced form.
  • each viewer who becomes a participant in the transmission is given a participant in the transmission who showers are promptly supplied with the data stream, and in addition at least one further participant in the transmission is announced, who is likely to be able to transmit the data stream to the viewer in the event of failure of the supplying participant in a timely manner.
  • the viewer can then contact the other participant mentioned directly with a transmission request. If the latter can supply the viewer with the data stream, a more complex detour via the intermediary agency is not necessary; the viewer can be supplied with the data stream without any significant delay. If the named participant cannot take over the care, he names the requesting viewer another possible provider or refers him to the intermediary.
  • the transmission process is self-healing, i.e. the failure of a viewer who transmits the data stream is absorbed by the system, the failed viewer is replaced by another participant in his function as a transmitter. As far as possible, this is done without interrupting the transmission and without explicit actions by the supplied viewer.
  • the new viewer sends a request to participate to an intermediary via a point-to-point network connection
  • the mediation authority mediates the new viewer a participant in the transmission who can transmit the data stream to the new viewer in a timely manner
  • a point-to-point network connection is established between the new viewer and the mediated subscriber, via which the latter transmits the data stream to the new viewer promptly in an identical or reduced form.
  • the switching entity can convey to the new viewer a participant in the transmission who can transmit the data stream to the new viewer in a timely manner in that a) the switching center gives the new viewer at least one participant in the transmission via the point-to-point network connection names, b) it is checked whether one of the named participants can transmit the data stream to the new viewer in a timely manner, c) in the event that none of the participants mentioned can transmit the data stream to the new viewer in a timely manner, one of the participants named at least one further participant in the transmission to the new viewer, and d) steps b) and c) are repeated, until a participant in the transmission is found who can transmit the data stream promptly to the new viewer.
  • the point-to-point network connection between the new viewer and the switched subscriber can now be established in that the new viewer sends a connection request to this switched subscriber after the transfer of a subscriber who can transmit the data stream to him promptly a point-to-point network connection is established between the participants.
  • the switching entity can send a request to the switched subscriber via an existing point-to-point network connection to establish a point-to-point network connection with the new viewer.
  • the switched subscriber can then send a connection request to the new viewer.
  • This procedure is particularly advantageous if the network identifier of the switched subscriber is hidden by an access computer.
  • Such subscribers are called NAT (Network Address Translation) subscribers in the following.
  • a connection to the NAT subscriber by the new viewer is then not possible.
  • the switching entity can use the existing connection to cause the NAT subscriber to initiate a connection for the new viewer.
  • a NAT subscriber is expediently only conveyed to those new viewers whose network identifier is not hidden (non-NAT subscriber).
  • a NAT subscriber is only switched to a non-NAT subscriber if at least one further non-NAT subscriber is switched to the non-NAT subscriber. Then, if the non-NAT subscriber fails, the other non-NAT subscriber can take over its role.
  • Access to a broadcast can be restricted to certain subscribers. In this case, a new viewer will only be admitted as a participant in the transmission if the corresponding program is open to him. Access can be obtained, for example, by entering a password or an access code, prior registration or by logging on from a computer with a specific network ID.
  • the producer registers the transmission of the data stream with a mediator before the start, and the mediator announces the transmission to potential viewers so that they can send a request for participation to the mediator via a point-to-point network connection.
  • Each participant in the transmission advantageously carries out a short-term buffering of the received data stream. The viewer then does not see / hear the data that has just been received, but rather data that was received from the buffer memory and was received shortly before. As a result, short interruptions in the incoming data stream can be compensated for by the viewer without being noticed.
  • the other subscriber who subsequently takes over the supply of the further viewer, supplies the further viewer with the data stream with the same time offset ⁇ t, possibly using his cached data.
  • the changing viewer can then go unnoticed by the other viewer.
  • the short-term buffering covers a period of time that corresponds to the maximum time delay in the transmission tree.
  • the exact maximum time delay naturally depends on the size of the tree and the transmission links.
  • the typical maximum time delays of up to a few seconds can, however, be temporarily stored.
  • connection data to the switching entity via the existing point-to-point connections, which contain information about the arrangement of the subscribers in the transmission tree and / or current transmission rates.
  • the switching entity can improve the structure of the transmission tree for the best possible reception quality of the participants, and can send corresponding requests for connection establishment, connection termination or connection change to the participants.
  • the viewers can transmit feedback to the producer or the switching center via the point-to-point connections.
  • Figure 1 is a schematic representation of a complex broadcast format with two moving images, sound, a graphics and a text / graphics window;
  • FIG. 2 shows a schematic illustration of a transmission tree constructed with an embodiment of the method according to the invention
  • FIG. 6 shows in a) and b) the reorganization of the transmission in the transmission tree of FIG. 3g) when a shipment is divided between two producers;
  • FIG. 8 shows a schematic illustration to illustrate a UDP
  • the method according to the invention enables one of the participants to announce the viewer to the producer of a program, the occurrence of the program and possibly further information on the content and type of the program, and to distribute the data stream representing the program to the viewers via the data network ,
  • a program consists of various multimedia data, such as moving images, sound, graphics, texts, applications, etc., or any other data.
  • a program can, for example, be designed like a television program, i.e. consist of moving images and sound, or it can also contain training components such as explanations and thus take the form of teleteaching, computer-based training (CBT) or web-based training (WBT).
  • CBT computer-based training
  • WBT web-based training
  • the various elements can be arranged as desired on the screen, in particular images or other moving image data can be displayed in a moving image window.
  • FIG. 1 shows an example of a complex transmission format in which a moving image window 14, a graphics window 16 and a window 18 for text and graphics are arranged on the screen surface 12 of a computer monitor 10.
  • Another moving picture window 20 is arranged within the moving picture window 14 for picture-in-picture display.
  • the associated sound data are output via loudspeakers 22.
  • the associated program could have a lecture on the content, in which the lecture text is reproduced via the loudspeakers 22, a real-time image of the speaker can be seen in the moving image window 14, presentation slides appear in the text / graphics window 18 and sketches created by the speaker for explanation in the graphics window 16 are shown.
  • the speaker additionally performs a video recording or if he runs a program on a computer, the video image or the output of the program can appear in the picture-in-picture window 20.
  • the outer shape of the individual windows is not necessarily rectangular. Unusual forms are particularly suitable for less formal items.
  • Different content types can also be displayed in succession in an image window.
  • the real-time image of the speaker in the moving image window 14 is preceded by text with information about the program, which is displayed before the moving image transmission.
  • any other data can also be transmitted with a program, such as program data, user data or application data.
  • Interactive elements can also be implemented within a program.
  • text-based discussion forums such as those represented by so-called chat rooms
  • the viewers of a program and the producer can exchange texts.
  • Other elements are selection options or voting that are offered to the viewer (for example via multiple choice), or inquiries from the viewer to the producer, which can be realized in particular text-based or with sound transmission.
  • a broadcast format is, for example, the television format in which only sound and moving images are transmitted.
  • Another format is the radio format, which consists only of sound.
  • a format for training courses could, for example, consist of moving images, sound and additional graphics and texts, as shown above in connection with FIG. 1.
  • a program can be public, which means that anyone who is interested can take part in the program as a viewer.
  • the producer or another authority can determine which participants are allowed to participate in the program and which are not.
  • the producer transmits the broadcast data to the viewers in a timely manner using a tree structure.
  • prompt means that the program can be received by all viewers at the same time, except for a technical delay.
  • the technical time delay depends on the depth of the transmission tree and is, for example, 10 seconds.
  • the central contact point for producers and viewers is the agency.
  • the producer registers the program with the switching center with the relevant data, such as, for example, the time and duration of the program, title and content, content classification by category, and the like. This information can be published together with the name and other data of the producer, for example in an electronic program guide. They serve as a guide for potential viewers when selecting the programs on offer.
  • the exchange After registering the shipment, the exchange generates an identifier and various access codes for this shipment.
  • the identifier serves to uniquely identify the shipment.
  • An access code serves, for example, as a legitimation for the participants to be allowed to watch the program. In the case of public programs, the access codes can be published in an electronic program guide so that everyone can watch the programs.
  • the switching center can be formed by one or more computers set up at one location, or also by computers distributed at different locations, which together take over the tasks of the switching center. In particular, it is also possible for the producer to take over the function of the switching center.
  • the producer can download the additional software required for the production of the shipment in the form of software modules from the exchange or obtain it on a data carrier and then install it locally on his computer.
  • plugins or ActiveX controls.
  • the plug-in technology was originally developed by Netscape, while the ActiveX technology comes from Microsoft.
  • Common browsers such as Microsoft's Internet Explorer support both types, i.e. both plugins and ActiveX controls. It however, any other techniques for loadable software modules can be used, such as Java applets or JavaScript libraries.
  • the producer makes all the necessary settings on the software, such as the selection and setting of the camera, selection and setting of the microphone, preparation of graphics, contributions, definition of closed user groups. These settings are saved and used in the program.
  • the producer can now start the production of the shipment. After registration, the program will be activated by the exchange shortly before it starts. All interested participants are now informed that the program has been activated and that they can receive the program from now on.
  • a leader Before the program actually begins, a leader can be sent, for example a test picture or an advertisement.
  • the producer starts the program and the data representing the program is transmitted in the form of a data stream from the producer directly or indirectly to the viewers until the producer ends the program.
  • the producer of a program can record it during the program. In the case of a later program, he can then broadcast the recorded program instead of a new program.
  • the sending procedure is analogous to sending a live broadcast.
  • a shipment can be equipped with interaction options. These can be surveys in which the producer offers viewers various options to choose from. The viewer can select an option through various actions, such as clicking on a head on the screen or entering text. The producer then receives feedback on the actions taken, for example information on how many viewers have opted for a particular option or which viewers have chosen which option.
  • chat rooms in which viewers can discuss with each other and with the producer using the computer keyboard.
  • moderated chats can also be used, in which the producer can influence the statements of individual viewers, for example by removing certain parts of the text.
  • All interaction options can only be carried out by the viewers of the program, that is to say by the participants mediated into the program via the switching center.
  • a program can be assessed by any participant who has participated in the program. For this purpose, the participant is offered a ready-made rating scale on which he enters the desired rating. In particular, classifications according to various standards are possible, such as the legality and moral safety of the content. In addition, free comments can be made about the content or quality of the programs. In the electronic program guide, these assessments can be linked to the producer or the name of a series, so that viewers can base their selection on a program on the previous ratings of similar programs or on earlier ratings of other programs from the same producer.
  • a participant in the broadcast transmission requires commercially available PC equipment, for example (as of mid-2001) a PC with a 300 MHz Pentium III processor, as well as a normal network connection to the data network used, for example a 64 kbit / s connection to the Internet ,
  • the appropriate equipment is required for the production of sound and moving image data streams, ie a standard microphone and a standard PC camera, for example a webcam with a USB connection, or a digital video camera with a PC connection.
  • a participant can register with the central switching center with his name, email address and other personal data.
  • An essential feature of the method according to the invention is the fact that each subscriber connected to the data network used, who has the minimum armor, can easily be both a producer and a viewer of a program.
  • the agency is the central point of contact for both producers and viewers.
  • the switching center is typically web-based, which means that it has an interface that can be operated by producers and viewers using a standard Internet browser.
  • Relevant standards include HTML as the page description language, http as the transmission protocol and TCP / IP as the network technology.
  • software modules for multimedia display are used, which, like the software modules of producer technology, can be loaded as a plug-in, ActiveX, or in any other way.
  • Viewers who want to participate in a program will receive all the information and software modules required for this from the exchange after submitting their request to participate. For this purpose, various properties of the subscriber computer are first determined, such as its computing power, the quality and performance of the network connection and the like. This data is then transmitted to the exchange.
  • the exchange calculates a suitable position for the subscriber in the tree structure of the broadcast, as described in detail below.
  • All information relevant to participation is transmitted from the exchange to the participant.
  • the participant establishes a point-to-point network connection to the producer or another participant in the transmission.
  • the subscriber is then supplied with the data stream of the program as a new viewer via this connection.
  • the data is processed accordingly by the exchange, for example signed, so that the software installed on the subscriber computers can check the authenticity of the exchange. Further measures are also taken that preclude participation without using the exchange, such as a time stamp to prevent a so-called replay attack, in which old connection data are intercepted and used several times.
  • the switching center continuously receives information from the participants about the current network structure and its properties, for example the quality of the various connections between the participants. This information gives the exchange a picture of the current tree structure of the program and enables it to recognize and implement improvements. For this purpose, the switching center can address individual participants in the program and thus initiate changes to the tree structure.
  • the exchange can remove individual participants from the program or interrupt or end the entire program.
  • the switching center can carry out billing for relevant information such as the number and duration of the participants, an explicit listing of all participants, and the like. This information can be made available to the producer or other interested parties.
  • a viewer can participate in a program registered by the producer using a broadcast identifier, which he selects, for example, from the program guide, or which he receives in another way, for example from the producer himself or from the agency, for example by email.
  • the broadcast After the broadcast has been activated, the viewer can be switched into the broadcast by the switching center. To do this, he activates the corresponding access code, for example by clicking on a hyperlink, and the required software is started.
  • the software is first installed and then started according to the software module procedure used, i.e. the plug-in or ActiveX procedure.
  • the producer can determine whether a program can be received by every participant or only by a certain, closed user group. To do this, the producer can first set up a user group at the exchange. The participants must then be registered with the exchange and have a unique identifier. Using this identifier, the producer or another authorized body can add individual users to a closed user group.
  • Figure 2 illustrates the tree structure of a program with eight viewers.
  • the producer 30 has transmission capacity for two viewers 34a, 34b, to whom he transmits the data stream via point-to-point network connections 40.
  • the viewer 34a himself supplies three further viewers 36a-c with the data stream.
  • the reception and forwarding of the data stream by the viewer 34a results in a small time delay of a few 10 to 100 milliseconds, so that the viewers 36a-c receive the program with a time delay compared to the viewers 34a-b.
  • a similar time delay arises from each subsequent forwarding, so that viewers who are located in the tree structure many nodes away from the producer receive the program with a greater time delay of up to a few seconds. This time delay must be taken into account when interacting or rearranging the tree structure.
  • the viewer 36a in turn supplies two further viewers 38a, b with the data stream of the program via network connections 44, 46. Due to its technical equipment (such as a slower modem), the viewer 38b has only a limited reception bandwidth and is therefore supplied with a reduced version 46 of the data stream.
  • the viewer 36a can take this into account, for example by reducing the frame number of a moving image transmission for the viewer 38a.
  • connection data 48 which relate, for example, to the quality of the various connections of the participants and the tree structure, so that the switching center 32 can optimize or otherwise change the tree structure if necessary.
  • the structure of a transmission tree is illustrated by way of example in FIG. 3.
  • the producer 50 of a program initially registers the program with the switching center 60 by providing information 62 about the start, duration, type and content of the program via the data network to the switching center 60 (FIG. 3a).
  • the producer 50 also announces that it has a network connection with a transmission bandwidth of 128 kbit / s.
  • the broadcast has a bandwidth of 64 kbit / s can be transmitted in full quality.
  • the producer 50 can thus supply two receivers with the data stream with its transmission bandwidth.
  • a first viewer 52 with a transmission bandwidth of 128 kbit / s and a reception bandwidth of 64 kbit / s reports to the exchange 60 with a request for participation (FIG. 3b).
  • the transmission and reception bandwidth of the viewer 52 is briefly indicated by (128/64) in FIG. 3.
  • the switching center 60 informs the viewer 52 of the necessary connection data, in particular the network identifier of the producer 50, via the network connection 64.
  • a point-to-point network connection 66 is now established in the data network between the viewer 52 and the producer 50, via which the producer 50 supplies the viewer 52 with the data stream of the program (FIG. 3c).
  • a second viewer 54 with a transmission and reception bandwidth of 64 kbit / s (short: (64/64)) is also switched from the switching center 60 to the producer 50 (FIG. 3d).
  • a point-to-point network connection 68 is also established between the viewer 54 and the producer 50, via which the second viewer 54 is supplied with the data stream of the program.
  • the transmission capacity of the producer 50 is now fully utilized with the supply of the two viewers 52, 54.
  • the next viewers 56, 57, who direct a request for participation to the switching center 60 (FIG. 3e), can therefore no longer be switched to the producer 50.
  • both viewers are conveyed to viewer 52, who has sufficient transmission bandwidth for two receivers at 128 kbit / s (FIG. 3f).
  • the switching of the viewers 56, 57 to the viewer 52 can take place in that the switching center has information about the transmission / reception bandwidths of all participants and switches new viewers according to the still free capacities.
  • the switching center can only name a new subscriber the identifier of one or more subscribers in the transmission. The new subscriber then directs a transmission request to one of the named subscribers. If this participant can transmit the data stream to the new participant, he takes this role. Otherwise, he declines and names the new subscriber known to him in the transmission to whom he can direct his transmission request.
  • the new subscriber After successful transfer, the new subscriber not only receives information about his father in the transmission tree, i.e. the subscriber who supplies him with the data stream, but also about his grandfather, i.e. the subscriber who supplies his father with the data stream.
  • each participant receives information about his local environment in the transmission tree.
  • limited reorganizations of the tree in the event of a subscriber failure can be carried out by the subscribers concerned in the local environment without going through the exchange and thus more quickly.
  • the exchange After a reordering, the exchange is notified of the changes made so that it can track the current tree structure and change it further if necessary.
  • the next viewer 58 with a restricted transmission (30 kbit / s) and reception bandwidth (50 kbit / s) is switched to the viewer 54 via the switching center 60.
  • the software installed on the PC of the viewer 54 reduces the data stream of the program to the transmission rate of 50 kbit / s (reference symbol 70) before the forwarding, since the viewer 58 cannot process a higher rate (FIG. 3g).
  • a viewer with a reduced transmission bandwidth is, if possible, not conveyed to a viewer with a higher reception bandwidth.
  • FIG. 4 illustrates the actions after a participant fails or has dropped out in the transmission tree.
  • the viewer 52 ends his participation in the transmission in FIG. 4a. This can be done in a controlled manner by the viewer logging off the program, or suddenly, for example by switching off the subscriber computer or breaking the network connection. In both cases it is important for a trouble-free transmission of the program to the other participants that the reorganization of the transmission tree takes place as quickly as possible and goes unnoticed for the remaining participants.
  • the data received is buffered for each subscriber by the installed software for a certain period of time before they are displayed. This can cause a delay in the reorganization for the participants by playing back already stored data remain unnoticed as long as the delay remains within the buffered period of time.
  • time offset for each individual participant can be selected so that the program is displayed for all participants at the same time.
  • it is displayed with a certain time offset relative to the producer, but it is the same for all viewers. Since there is no time delay between the viewers, this variant allows particularly simple reorganization or rearrangement of the transmission tree.
  • the viewers 56, 57 know not only their father 52 but also their grandfather in the transmission tree, here the producer 50, they can compensate for the loss of their father 52 without going through the switching center 60. Both viewers 56, 57 send a transmission request to their grandfather 50. Due to the failure of the viewer 52, this has the transmission capacity available for another viewer.
  • the reorganization can then take place, for example, by establishing a connection 72 between viewer 56 and producer 50 and a connection 74 between viewer 57 and viewer 56, via which the data stream is transmitted from producer 50 via viewer 56 to viewer 57 (FIG 4b).
  • the viewer 56 now moves further up in the transmission tree. If, for example, he previously received the data stream from the viewer 52 with a time offset of 500 ms, he would now receive it directly from the producer 50, that is to say without a time offset. This is taken into account when establishing a connection between producer 50 and viewer 56 in that producer 50 supplies viewer 56 with data from his buffer which is just 500 ms apart from the current data stream. The transmission for the viewer 56 thus continues without disruption despite reordering.
  • the producer changes with an existing shipment and transmission tree, or is supplemented by another producer who takes over part of the shipment.
  • FIG. 5a corresponds to the position shown at the end in FIG. 3. If the producer 50 now wishes to submit the transmission, potential new producers report to the producer 50 after a corresponding message. In the exemplary embodiment described, this has a reception capacity of 64 kbit / s, the transmission or reception capacity. frequencies of the remaining participants are as shown in Fig. 3g. The producer 50 now selects one of the participants as the successor, in the exemplary embodiment the participant 57.
  • the participant 57 now becomes the new producer 57a.
  • the direction of transmission for point-to-point connections 76a and 66a is reversed from the previous situation to the former producer and current viewer 50a.
  • the connections leading from the viewer 50a into the right part of the transmission tree need not be changed.
  • the time offset of individual participants to the new producer 57a will generally differ from the time offset to the previous producer 50. This can be taken into account when reversing the transmission directions, which also represent a rearrangement of the tree, analogously to the situation described in connection with FIG. 4.
  • FIG. 6 shows an example of the case in which a producer 50 transfers only part of the transmission to another subscriber.
  • the producer produces a transmission consisting of two parts, A and B. Parts A and B can represent, for example, the picture and sound of a program.
  • the producer 50 transmits both parts AB together to the viewers 52, 54, which they transmit to further viewers 56, 57, 58.
  • the viewer 52 takes over the production and transmission of the tone B and thus becomes the co-producer 52b himself.
  • the producer 50b now only produces and transmits the image portion A of the data stream.
  • the co-producer 52b has sufficient transmission bandwidth, he can transfer his share B in the transmission to the producer 50b. This composes the shares and transfers both parts AB in the manner described above.
  • the procedure can be as follows: he transmits his share B together with the share A received from the producer 50b along the transmission tree to a subscriber 57b with sufficient free transmission capacity.
  • a new point-to-point connection 78 is established between the participant 57b and the producer 50b, via which the participant 57b communicates with the producer with the transmission part B supplied.
  • the producer 50b itself transmits only the broadcast portion A to the subscriber 52b, but the entire broadcast AB to the other subscriber 54.
  • each participant is supplied with both parts of the program.
  • the time delay that occurs must generally be taken into account when putting together the partial broadcasts A, B if precise synchronization of the two parts is necessary due to the type of broadcast, for example in the case of a related picture and sound.
  • FIGS. 5 and 6 can be carried out without contacting the exchange. However, it is advisable to inform them about the changes at least subsequently.
  • All data is transmitted from the producer to many viewers via the network.
  • non-multicast-capable networks such as the Internet
  • the data can only be transmitted to many viewers with a high degree of technical effort using conventional technology.
  • point-to-point connections between individual nodes in the network are easily possible, such as those implemented in IP-based networks, for example by TCP / IP or by UDP / IP. In the method described here, these point-to-point connections are used, for example, as follows:
  • the producer transfers the data directly to one or as many viewers as the producer can supply. If more viewers are interested in a program than can be supplied directly by the producer due to the limited bandwidth, they are not supplied directly by the producer, but by other viewers who are already supplied with the data and who still have sufficient bandwidth available in the upload direction to have. In particular, this method can also be used if the producer can supply only a single viewer himself.
  • a tree structure is created for the transmission, in which producers represent the root of the tree and the viewers represent the nodes of the tree.
  • the connections between the nodes correspond to the point-to-point network connections between individual participants.
  • connection data not only the user data are exchanged via the connections, but also connection data.
  • the individual nodes know parts of the entire tree. bone ten with free upload capacity transmit this information at free intervals to the exchange, which thus knows the individual nodes of the tree and their connections.
  • information relating to the quality of the individual connections is also transmitted.
  • the switching center can arrange new subscribers in the tree in a suitable manner.
  • the exchange or individual nodes can change the tree in order to improve individual connections and thus optimize the overall transmission rates in the tree.
  • connection data is also transmitted via the existing connections.
  • This connection data contains information that is necessary for maintaining and optimizing the tree structure, such as information about the arrangement of the participants in the tree, current transmission rates and the like.
  • connection data is transmitted bidirectionally. Interactive data can also be transmitted to a small extent in this way. For example, the voting results of a survey can be transmitted from all viewers to the producer.
  • interactive data that requires a larger bandwidth can be transmitted directly from the individual participant to the producer.
  • all or part of the data stream is generated by a new producer. For example, a participant briefly become the producer of the sound, for example by asking an intermediate question. If this participant no longer has sufficient transmission capacity, part of the original data stream is replaced by the new data stream, e.g. the original sound is replaced by the new sound. From there, the changed data stream is forwarded until a subscriber with sufficient transmission capacity is found who forwards the new data stream to the original producer.
  • the data is distributed to all participants promptly via the tree structure. If the transmission capacity between two participants is not sufficient for the transmission of all data, proceed as follows:
  • Multimedia data streams consist of various data sub-streams, such as a moving image data stream, a sound data stream and a graphics data stream. These data streams can be reduced in some cases, although not always without loss (grain pression), but lossy (reduction). This means that the multimedia data are changed in such a way that they can be transmitted with less bandwidth with essentially the same content.
  • a moving image data stream can be reduced by transmitting fewer frame images than originally recorded by the producer.
  • a lossy reduction of the multimedia data stream or of parts thereof is now carried out in the individual nodes as required, so that the existing transmission capacity is sufficient for data transmission, albeit with a loss in quality.
  • the appropriate structure or a suitable restructuring of the tree structure can ensure that the best possible quality is achieved for each participant despite individual quality losses due to limited transmission capacities.
  • the participants are arranged in the tree structure so that as many participants as possible can be supplied with the highest possible transmission quality. This can be achieved in that each participant with a large available transmission bandwidth supplies several viewers with data.
  • An order criterion is the maximum bandwidth and the quality of the network connection of the individual participants.
  • the IP number can be used to identify optimal connections between the participants.
  • Another order criterion is the number of intermediate stations (hops) that take the data on the way through a network:
  • the routes that the data take between two points can be determined in some cases. This can e.g. be carried out with a traceroute method, which determines the IP network nodes (routers) that lie on the data path. With this information e.g. the total number of hops required for all participants in the tree structure is improved, that is to say reduced.
  • TCP / 1 P-based networks as represented by the Internet, many participants do not have direct access to the data network, but access is via access computers, so-called NAT routers, which hide the IP number of the participants from the outside. No TCP / IP or UDP / IP connection can be established from the outside for such a subscriber. However, you can establish connections to other participants without NAT yourself.
  • NAT participants can also participate in the described transmission method:
  • Each participant producer or viewer first contacts the exchange according to the Internet standards (TCP / IP, http, HTML). This establishment of contact is initiated by the participant himself and can be carried out independently of NAT.
  • TCP / IP Internet protocol
  • http HyperText Transfer Protocol
  • HTML HyperText Transfer Protocol
  • the subscriber is informed of all relevant connection data by the exchange. With this data, the participant can now participate in the transmission tree.
  • data can be transmitted to the subscriber at any time within the framework of the existing connections. If an existing connection is terminated, the subscriber immediately turns back to the exchange and receives, as when the first contact was made, new connection data.
  • a standard NAT router connects outer data network (WAN, Wide Area Network), for example the Internet, with an inner data network (LAN, Local Area Network). Participants in the inner network do not establish a direct connection to outer participants, but the NAT router translates these connections between the LAN and WAN.
  • WAN Wide Area Network
  • LAN Local Area Network
  • a WAN subscriber only knows the IP number of the NAT router, but not the IP numbers of the LAN subscribers.
  • a UDP / IP connection of two subscribers 84, 86, each of which is connected by a NAT router in different networks, can now be implemented as follows:
  • both subscribers 84, 86 initially set up a UDP connection 88 to the exchange 32.
  • a table is created in the NAT routers, which translates the connection between the LAN side and the WAN side. This is done by using port numbers: each connection receives a new port number on the WAN side, which can be used to assign the UDP packets.
  • the exchange 32 now analyzes the UDP packets received by both subscribers and determines the relevant information, such as the source address and destination address and the source and source codes, from the UDP and IP header information Destination port numbers (source port, destination port). This information is now sent back to both participants. With this information, both subscribers generate special UDP packets 90, in particular by using the port number that was used when establishing the connection between the respective other subscriber and the switching center.
  • UDP packets 90 are now forwarded by the NAT routers to the respective LAN subscribers, and from now on both subscribers 84, 86 can exchange data via this connection.
  • a TCP / IP connection can be established between the NAT subscribers, but with greater effort.
  • node For each node there is a time delay in the forwarding of the data packets. As a result, there is a small time offset from node to node, which can be, for example, 10 seconds across the entire tree, for example 10 levels.
  • the data stream is buffered for a short time at each node.
  • the buffer size is chosen so that the buffered data is sufficient to compensate for the maximum possible time offset in the entire tree.
  • a node can now transmit current data (with a small time offset) to the subordinate nodes or data stored in the buffer with the time delay that corresponds to the time offset of the subordinate node.
  • a transmitter can supply different subordinate nodes with different time offsets.
  • the time offset can be compensated by receiving the data from the buffer.
  • a buffer can be implemented, for example, by dividing the data stream into numbered packets.
  • the time offset is calculated from the difference between the current packets.
  • the data can be displayed with a delay for each participant individually so that it is displayed for all participants at the same time.

Abstract

Bei einem Verfahren zum Übertragen eines Datenstroms, insbesondere eines reduzierbaren Datenstroms, von einem Produzenten an eine Mehrzahl von Zuschauern, wobei Produzent und Zuschauer Teilnehmer eines Netzwerks mit Punkt-zu-Punkt-Verbindungen sind, überträgt der Produzent den Datenstrom über eine Punkt-zu-Punkt-Netzwerkverbindung an zumindest einen Zuschauer, empfängt zumindest ein Zuschauer den Datenstrom über eine Punkt-zu-Punkt-Netzwerkverbindung und überträgt ihn zeitnah in identischer oder reduzierter Form an zumindest einen weiteren Zuschauer, und wird jeder Zuschauer entweder vom Produzenten oder einem anderen Zuschauer über eine Punkt-zu-Punkt-Netzwerkverbindung zeitnah mit dem Datenstrom in identischer oder reduzierter Form versorgt.

Description

Verfahren zum Übertragen eines Datenstroms von einem Produzenten an eine
Mehrzahl von Zuschauern
Technisches Gebiet
Die Erfindung betrifft Übertragungen von Sendungen in Datennetzen, mit denen potentiell eine Vielzahl von Zuschauern erreicht werden kann. Speziell betrifft die Erfindung ein Verfahren zum Übertragen eines Datenstroms, insbesondere eines reduzierbaren Datenstroms von einem Produzenten an eine Mehrzahl von Zuschauern, wobei Produzent und Zuschauer Teilnehmer eines Netzwerks mit Punkt-zu-Punkt-Verbindungen sind.
Stand der Technik
Das Internet, ursprünglich für statische Daten konzipiert, wird mehr und mehr auch zu einer Plattform, auf der Multimediadaten wie Audio- und Videodaten transportiert werden. Herkömmlich läuft die Datenübertragung im Internet derart ab, daß die zur Verfügung stehenden Daten auf einem Server bereitliegen und darauf warten, daß sie ein Anwender abruft. Dabei liegt immer eine gewisse Zeitspanne zwischen der Produktion der Daten und der Verarbeitung beim Anwender.
Einen anderen Ansatz verfolgt die Streamingtechnologie, bei der die übermittelten Inhalte, beispielsweise eine Fernsehsendung oder ein Radioprogramm, bereits während der Übermittlung beim Anwender erscheinen, dieser also das Fernseh- oder Radioprogramm live verfolgen kann. Dabei ist in der Regel weder erforderlich noch erwünscht, daß die gesamte Sendung vom Anwender aufgezeichnet wird. Man spricht bei dieser Art der Übertragung auch von einer Echtzeitübertragung, da die Daten ohne größere Zeitverschiebung beim Anwender vorliegen und wiedergegeben werden.
Eine zu übertragende Sendung besteht dabei für die Zwecke der vorliegenden Anmeldung aus einer oder mehreren Arten verschiedener Multimedia-Daten, wie beispielsweise Bewegtbild, Ton, Graphiken, Texte, Applikationen oder sonstigen beliebigen Daten. Der gesamte Inhalt einer Sendung bildet in seiner zeitlichen Abfolge einen Datenstrom, der bei der Übertragung einer Sendung von dem Produzenten an die Zuschauer übermittelt werden muß. Dabei stellte sich das grundsätzliche Problem, daß das Zurverfügungstellen eines Datenstroms an eine Vielzahl von Zuschauem in Datennetzen in der Regel mit hohem Aufwand und großen Kosten verbunden ist.
Mit Hilfe sogenannter Multicast Technologien können Daten an viele Teilnehmer in einem Netzwerk gleichzeitig verteilt werden. Dazu ist jedoch eine spezielle Ausrüstung der Datennetze nötig, insbesondere müssen die Router Multicast-fähig sein. Zudem ist die Konfiguration und der Betrieb solche Netze schwierig und aufwendig.
In vielen Datennetzen ist deshalb keine Multicast-Technologie vorhanden, so ist beispielsweise im Internet im allgemeinen kein Multicast möglich. In großen Netzen, wie es beispielsweise das Internet darstellt, werden daher die Multimedia-Daten typischerweise direkt von den jeweiligen Produzenten an die einzelnen Zuschauer übertragen. Dazu baut der Zuschauer eine Punkt-zu-Punkt Verbindung zum Produzentenserver auf, beispielsweise eine TCP/IP (Transmission Control Protocol/Internet Protocol)- Verbindung oder eine UDP/IP-(User Datagram Protocol) basierte Verbindung in IP-basierten Netzen.
Alternativ kann der Produzent auch verschiedene Datenserver installieren oder die Dienste von bereits installierten Datenservern in Anspruch nehmen. In diesem Fall werden die Daten zunächst von dem Produzenten an die verschiedenen Datenserver verteilt. Ein Zuschauer, der die Daten empfangen will, wird an einen Datenserver verwiesen. Zwischen Datenserver und Zuschauer wird eine Punkt-zu-Punkt Verbindung aufgebaut, über die die Daten übertragen werden.
Nachteilig an diesen Verfahren ist, daß bei beiden Alternativen der Produzent eine ausreichende Netzwerkanbindung bereitstellen muß. Alle Daten werden über Punkt-zu-Punkt Verbindungen übertragen, an deren einem Ende sich ein Datenserver des Produzenten und an deren anderem Ende sich der Zuschauer befindet. Für jeden Zuschauer muß eine eigene Verbindung aufgebaut werden, so daß bei n Zuschauern die n-fache Übertragungskapazität vorhanden sein muß. Zudem fällt für den Produzenten die n-fache zu ü- bertragende Datenmenge an, da die Daten ja zu jedem Zuschauer gesondert übertragen werden. Will der Produzent viele Zuschauer erreichen, so ist er gezwungen, große Bandbreiten zur Verfügung zu stellen. Hat er mit seiner Sendung Erfolg, so fallen große Mengen an übertragenen Daten an. In beiden Fällen hat der Produzent mit hohen Kosten zu rechnen. Nachteilig ist zudem, daß die vorhandene Software aufgrund der komplexen Technik schwierig zu bedienen ist und eine spezielle Einarbeitung des Bedienpersonals erforderlich macht.
Darstellung der Erfindung
Hier setzt die Erfindung an. Der Erfindung, wie sie in den Ansprüchen gekennzeichnet ist, liegt die Aufgabe zugrunde, ein Übertragungsverfahren der genannten Art anzugeben, das die genannten Nachteile des Stands der Technik vermeidet, insbesondere das die Übertragung eines Datenstroms an eine Vielzahl von Zuschauern auch bei geringer Sendebandbreite des Produzenten ermöglicht.
Diese Aufgabe wird durch das Übertragungsverfahren nach Anspruch 1 gelöst. Bevorzugte Ausgestaltungen des Verfahrens sind Gegenstand der Unteransprüche.
Die Erfindung stellt ein Verfahren zum Übertragen eines Datenstroms, insbesondere eines reduzierbaren Datenstroms von einem Produzenten an eine Mehrzahl von Zuschauern bereit, wobei Produzent und Zuschauer Teilnehmer eines Netzwerks mit Punkt-zuPunkt-Verbindungen sind, wobei bei dem Verfahren
- der Produzent den Datenstrom über eine Punkt-zu-Punkt-Netzwerkverbindung an zumindest einen Zuschauer überträgt,
- zumindest ein Zuschauer den Datenstrom über eine Punkt-zu-Punkt- Netzwerkverbindung empfängt und zeitnah in identischer oder reduzierter Form an zumindest einen weiteren Zuschauer überträgt, und
- jeder Zuschauer entweder vom Produzenten oder einem anderen Zuschauer über eine Punkt-zu-Punkt-Netzwerkverbindung zeitnah mit dem Datenstrom in identischer oder reduzierter Form versorgt wird.
Die Erfindung beruht also auf dem Gedanken, die Datenverteilung ohne die Nutzung von Broadcastdiensten auf Netzwerkebene dadurch zu realisieren, daß der Produzent selbst nur wenige Zuschauer mit dem Datenstrom versorgt, und daß weitere Zuschauer nicht vom Produzenten direkt versorgt werden, sondern von anderen Zuschauern, die selbst bereits mit dem Datenstrom versorgt werden und die ausreichend Sendebandbreite zur Verfügung haben. Dies ermöglicht es auch Teilnehmern mit geringer Bandbreite (beispielsweise einer 64 kBit/s Standard-Netzwerk-Anbindung) und Standard-PC-Ausrüstung Sendungen zu produzieren, die zeitnah von einer Vielzahl anderer Teilnehmer, beispielsweise mehreren tausend Zuschauern, angesehen werden können.
Zeitnah bedeutet dabei, daß bis auf einen technisch bedingten zeitlichen Versatz durch die Weiterleitung des Datenstroms eine produzierte Sendung von allen Zuschauern zeitgleich empfangen werden kann.
Die Übertragung kann zusätzlich verbessert werden, wenn reduzierbare Daten, insbesondere Bewegtbild- und Tondaten bei einzelnen Teilnehmern durch Reduktion der jeweils verfügbaren Bandbreite angepaßt werden.
Durch die Übertragung des Datenstroms vom Produzenten an einen oder mehrere Zuschauer, und dann von einem oder mehreren der Zuschauer an weitere Zuschauer entsteht für die Übertragung insgesamt eine Baumstruktur, die im folgenden als Übertragungsbaum bezeichnet wird. Dabei bildet der Produzent die Wurzel des Baumes und die Zuschauer die Knoten des Baumes. Jeder Knoten überträgt dabei entweder den Datenstrom an einen oder mehrere andere Knoten weiter, oder er stellt ein sogenanntes Blatt des Baumes dar, das den Datenstrom lediglich empfängt, aber nicht weiter überträgt.
Die Verbindungen zwischen den Knoten entsprechen den Punkt-zu-Punkt Netzwerkverbindungen zwischen einzelnen Teilnehmern.
In einer bevorzugten Ausgestaltung des Verfahrens tritt bei Ausfall eines Zuschauers, der einen weiteren Zuschauer mit dem Datenstrom versorgt, ein anderer Teilnehmer an der Übertragung für die Versorgung des weiteren Zuschauers an Stelle des ausgefallenen Zuschauers, indem zwischen dem weiteren Zuschauer und dem anderen Teilnehmer eine Punkt-zu-Punkt-Netzwerkverbindung aufgebaut wird, über die dieser dem weiteren Zuschauer den Datenstrom zeitnah in identischer oder reduzierter Form überträgt.
Dabei kann eine Vermittlungsinstanz dem weiteren Zuschauer nach einer entsprechenden Benachrichtigung den anderen Teilnehmer vermitteln, welcher dem weiteren Zuschauer den Datenstrom zeitnah in identischer oder reduzierter Form übertragen kann.
Ebenso ist es alternativ oder zusätzlich möglich, daß jedem Zuschauer, der Teilnehmer der Übertragung wird, ein Teilnehmer an der Übertragung vermittelt wird, der den Zu- schauer zeitnah mit dem Datenstrom versorgt, sowie darüber hinaus zumindest ein weiterer Teilnehmer an der Übertragung bekannt gegeben wird, der voraussichtlich den Datenstrom an den Zuschauer beim Ausfall des versorgenden Teilnehmer zeitnah übertragen kann.
Bei Ausfall des versorgenden Teilnehmers kann sich dann der Zuschauer zunächst direkt mit einem Übertragungswunsch an den weiteren genannten Teilnehmer wenden. Kann dieser den Zuschauer mit dem Datenstrom versorgen, ist kein aufwendigerer Umweg über die Vermittlungsinstanz erforderlich, der Zuschauer kann ohne nennenswerte Verzögerung mit dem Datenstrom versorgt werden. Kann der genannte Teilnehmer die Versorgung nicht übernehmen, nennt er dem anfragenden Zuschauer einen weiteren möglichen Versorger oder verweist ihn an die Vermittlungsinstanz.
Durch die genannten Maßnahmen ist das Übertragungsverfahren selbstheilend, das heißt der Ausfall eines Zuschauers, der den Datenstrom weiterüberträgt, wird durch das System aufgefangen, der ausgefallene Zuschauer wird in seiner Funktion als Sender durch einen anderen Teilnehmer ersetzt. Dies geschieht, soweit möglichst, ohne Unterbrechung der Übertragung und ohne explizite Aktionen des versorgten Zuschauer.
Es ist bei dem Übertragungsverfahren vorteilhaft, wenn ein neuer Zuschauer Teilnehmer der Übertragung wird, indem
- der neue Zuschauer über eine Punkt-zu-Punkt-Netzwerk-verbindung eine Teilnahmeaufforderung an eine Vermittlungsinstanz sendet,
- die Vermittlungsinstanz dem neuen Zuschauer einen Teilnehmer an der Übertragung vermittelt, der den Datenstrom zeitnah an den neuen Zuschauer übertragen kann, und
- zwischen dem neuen Zuschauer und dem vermittelten Teilnehmer eine Punkt-zu-Punkt- Netzwerkverbindung aufgebaut wird, über die dieser dem neuen Zuschauer den Datenstrom zeitnah in identischer oder reduzierter Form überträgt.
Dabei kann die Vermittlungsinstanz dem neuen Zuschauer einen Teilnehmer an der Übertragung, der den Datenstrom zeitnah an den neuen Zuschauer übertragen kann, dadurch vermitteln, daß a) die Vermittlungsstelle dem neuen Zuschauer über die Punkt-zu-Punkt- Netzwerkverbindung zumindest einen Teilnehmer an der Übertragung nennt, b) geprüft wird, ob einer der genannten Teilnehmer den Datenstrom zeitnah an den neuen Zuschauer übertragen kann, c) im Fall, daß keiner der genannten Teilnehmer selbst den Datenstrom zeitnah an den neuen Zuschauer übertragen kann, einer der genannten Teilnehmer dem neuen Zuschauer zumindest einen weiteren Teilnehmer an der Übertragung nennt, und d) die Schritte b) und c) wiederholt werden, bis ein Teilnehmer an der Übertragung gefunden ist, der den Datenstrom zeitnah an den neuen Zuschauer übertragen kann.
Die Punkt-zu-Punkt-Netzwerkverbindung zwischen dem neuen Zuschauer und dem vermittelten Teilnehmer kann nun dadurch aufgebaut werden, daß der neue Zuschauer nach der Vermittlung eines Teilnehmers, der ihm den Datenstrom zeitnah übertragen kann, eine Verbindungsaufforderung an diesen vermittelten Teilnehmer sendet auf die hin eine Punkt-zu-Punkt-Netzwerkverbindung zwischen den Teilnehmern aufgebaut wird.
Ebenso kann die Vermittlungsinstanz über eine bestehende Punkt-zu-Punkt- Netzwerkverbindung an den vermittelten Teilnehmer eine Aufforderung senden, mit dem neuen Zuschauer eine Punkt-zu-Punkt-Netzwerkverbindung herzustellen. Nachfolgend kann der vermittelte Teilnehmer eine Verbindungsaufforderung an den neuen Zuschauer senden. Diese Vorgehensweise ist insbesondere dann von Vorteil, wenn die Netzwerk- kennung des vermittelten Teilnehmer von einem Zugangsrechner verborgen wird. Solche Teilnehmer werden im folgenden NAT (Network Address Translation)-Teilnehmer genannt. Eine Verbindungsaufnahme mit dem NAT-Teilnehmer durch den neuen Zuschauer ist dann nicht möglich. Allerdings kann die Vermittlungsinstanz über die bestehende Verbindung den NAT-Teilnehmer veranlassen, seinerseits eine Verbindung dem neuen Zuschauer zu initiieren.
Insbesondere wird ein NAT-Teilnehmer zweckmäßig nur solchen neuen Zuschauern vermittelt, deren Netzwerkkennung nicht verborgen wird (Nicht-NAT-Teilnehmer).
Als vorteilhaft hat sich herausgestellt, wenn einem Nicht-NAT-Teilnehmer nur dann ein NAT-Teilnehmer vermittelt wird, wenn dem Nicht-NAT-Teilnehmer zumindest ein weiterer Nicht-NAT-Teilnehmer vermittelt ist. Dann kann nämlich bei Ausfall des Nicht-NAT- Teilnehmers der weitere Nicht-NAT-Teilnehmer dessen Rolle übernehmen.
Der Zugang zu einer Übertragung kann auf bestimmte Teilnehmer beschränkt sein. Ein neuer Zuschauer wird in diesem Fall nur dann als Teilnehmer an der Übertragung zugelassen, wenn ihm die entsprechende Sendung offen steht. Zugang kann er beispielsweise durch Eingabe eines Paßwortes oder eines Zugangscodes, eine vorherige Anmeldung oder durch Anmelden von einem Rechner mit bestimmter Netzwerkkennung erhalten. ln einerweiteren bevorzugten Ausgestaltung des Verfahrens meldet der Produzent die Übertragung des Datenstroms vor Beginn bei einer Vermittlungsinstanz an, und die Vermittlungsinstanz kündigt die Übertragung möglichen Zuschauern an, so daß diese über eine Punkt-zu-Punkt-Netzwerkverbindung eine Teilnahmeaufforderung an die Vermittlungsinstanz senden können.
Mit Vorteil führt jeder Teilnehmer an der Übertragung eine kurzfristige Zwischenspeiche- rung des empfangenen Datenstrom durch. Der Zuschauer sieht/hört dann nicht die gerade empfangen Daten, sondern aus dem Zwischenspeicher entnommene, kurze Zeit zuvor empfangene Daten. Dadurch können über die Software kurze Unterbrechungen des eingehenden Datenstroms für den Zuschauer unbemerkt kompensiert werden.
Insbesondere ist es zweckmäßig, wenn bei Ausfall eines Zuschauers, der einen weiteren Zuschauer mit dem Datenstrom mit einem Zeitversatz Δt versorgt hat, der andere Teilnehmer, der nachfolgend die Versorgung des weiteren Zuschauers übernimmt, den weiteren Zuschauer mit dem Datenstrom mit demselben Zeitversatz Δt versorgt, eventuell unter Rückgriff auf seine zwischengespeicherten Daten. Der Wechsel des versorgenden Zuschauers kann dann für den weiteren Zuschauer unbemerkt geschehen.
Erforderlich ist dafür, daß die kurzfristige Zwischenspeicherung eine Zeitspanne abdeckt, die der maximalen Zeitverzögerung im Übertragungsbaum entspricht. Die genaue maximale Zeitverzögerung hängt natürlich von der Größe des Baums und den Übertragungsstrecken ab. Die typischen maximalen Zeitverzögerungen von bis zu einigen Sekunden können jedoch ohne weiteres zwischengespeichert werden.
Es hat sich als zweckmäßig herausgestellt, wenn die Teilnehmer über die bestehenden Punkt-zu-Punkt-Verbindungen mit der Vermittlungsinstanz Verbindungsdaten an diese übertragen, die Angaben über die Anordnung der Teilnehmer im Übertragungsbaum und/oder aktuelle Übertragungsraten enthalten.
Die Vermittlungsinstanz kann auf Grundlage der übertragenen Verbindungsdaten die Struktur des Übertragungsbaums für möglichst optimale Empfangsqualität der Teilnehmer verbessern, und entsprechende Verbindungsaufnahme-, Verbindungsabbruch- oder Ver- bindungsänderungsaufforderungen an die Teilnehmer senden. ln einer bevorzugten Ausgestaltung des Übertragungsverfahrens können die Zuschauer über die Punkt-zu-Punkt-Verbindungen Rückmeldungen an den Produzenten oder die Vermittlungsstelle übertragen.
Weitere vorteilhafte Ausgestaltungen, Merkmale und Details der Erfindung ergeben sich aus den abhängigen Ansprüchen, der Beschreibung der Ausführungsbeispiele und den Zeichnungen.
Kurze Beschreibung der Zeichnungen
Nachfolgend soll die Erfindung anhand von Ausführungsbeispielen im Zusammenhang mit den Zeichnungen näher erläutert werden. Dabei sind nur die für das Verständnis der Erfindung wesentlichen Elemente dargestellt. Es zeigt
Figur 1 eine schematische Darstellung eines komplexen Sendeformats mit zwei Bewegtbildern, Ton, einem Graphik- und einem Text/Graphik-Fenster;
Figur 2 eine schematische Darstellung eines mit einer Ausgestaltung des erfindungsgemäßen Verfahrens aufgebauten Übertragungsbaums;
Figur 3 in a) bis g) die beim Aufbau eines einfachen Übertragungsbaums erfolgenden Schritte;
Figur 4 in a) und b) die beim Ausfall eines Zuschauers erfolgende Umordnung des
Übertragungsbaums von Fig. 3g);
Figur 5 in a) und b) die beim Ersatz des Produzenten erfolgende Neuordnung der
Übertragung beim Übertragungsbaums von Fig. 3g);
Figur 6 in a) und b) die bei einer Aufteilung einer Sendung auf zwei Produzenten erfolgende Neuordnung der Übertragung beim Übertragungsbaums von Fig. 3g);
Figur 7 in a) und b) vorteilhafte Anordnungen von NAT-Teilnehmern und Nicht-NAT-
Teilnehmern in einem mit einer Ausgestaltung des erfindungsgemäßen Verfahrens aufgebauten Übertragungsbaums; Figur 8 eine schematische Darstellung zur Illustration eines UDP-
Verbindungsaufbaus zweier NAT-Teilnehmer.
Wege zur Ausführung der Erfindung
Das erfindungsgemäße Verfahren ermöglicht es einem der Teilnehmer, dem Produzenten einer Sendung, das Stattfinden der Sendung sowie gegebenenfalls weitere Informationen zu Inhalt und Art der Sendung anderen Teilnehmern, den Zuschauern anzukündigen, und die den die Sendung darstellenden Datenstrom über das Datennetz an die Zuschauer zu verteilen.
Eine Sendung besteht dabei aus verschiedenen Multimedia-Daten, wie beispielsweise Bewegtbild, Ton, Graphiken, Texte, Applikationen, etc, oder beliebige andere Daten. Eine Sendung kann beispielsweise wie ein Fernsehprogramm gestaltet sein, also aus Bewegtbild und Ton bestehen, oder aber auch Schulungskomponenten enthalten wie Erläuterungen und somit die Form von Teleteaching, Computer Based Training (CBT) oder Web based Training (WBT) haben. Die verschiedenen Elemente können beliebig am Bildschirm angeordnet werden, insbesondere können Bilder oder andere Bewegtbild-Daten in einem Bewegtbildfenster dargestellt werden.
Figur 1 zeigt eine beispielhafte Darstellung eines komplexen Sendeformats, bei der auf der Bildschirmfläche 12 eines Computermonitors 10 ein Bewegtbildfenster 14, ein Graphikfenster 16 und ein Fenster 18 für Text und Graphik angeordnet sind. Innerhalb des Bewegtbildfensters 14 ist zur Bild-im-Bild-Darstellung ein weiteres Bewegtbildfenster 20 angeordnet. Die zugehörigen Tondaten werden über Lautsprecher 22 ausgegeben.
Beispielsweise könnte die zugehörige Sendung einen Vortrag zum Inhalt haben, bei dem der Vortragstext über die Lautsprecher 22 wiedergegeben wird, ein Echtzeitbild des Referenten im Bewegtbildfenster 14 zu sehen ist, Präsentationsfolien im Text/Graphikfenster 18 erscheinen und vom Referenten zur Erläuterung erstellte Skizzen in dem Graphikfenster 16 dargestellt werden. Führt der Referent zusätzlich eine Videoaufnahme vor, oder läßt er ein Programm auf einem Rechner ablaufen, kann das Videobild oder die Ausgabe des Programms in dem Bild-im-Bild-Fenster 20 erscheinen. Wie das ovale Bewegtbildfenster 14 illustriert, ist die äußere Form der einzelnen Fenster nicht notwendigerweise rechteckig. Ungewöhnliche Formen bieten sich dabei insbesondere für weniger formelle Sendungen an.
In einem Bildfenster können nacheinander auch verschiedene Inhaltstypen dargestellt werden. So kann z.B. dem Echtzeitbild des Referenten im Bewegtbildfenster 14 ein Text mit Informationen zur Sendung vorangestellt sein, der vor der Bewegtbildübertragung angezeigt wird.
Über die genannten Datenformate hinaus können mit einer Sendung jedoch auch jegliche andere Daten übertragen werden, wie beispielsweise Programmdaten, Nutzdaten oder Applikationsdaten.
Auch interaktive Elemente können innerhalb einer Sendung realisiert sein. In textbasierten Diskussionsforen, wie sie etwa sogenannte Chat-Räume darstellen, können die Zuschauer einer Sendung und der Produzent Texte austauschen. Weitere Elementen sind Auswahlmöglichkeiten oder Abstimmungen, die den Zuschauern angeboten werden (beispielsweise über Multiple Choice), oder Rückfragen der Zuschauer an den Produzenten, die insbesondere textbasiert oder mit Tonübertragung realisiert werden können.
Die Gestaltung einer Sendung wird in Sendeformaten festgelegt. Ein Sendeformat ist beispielsweise das Fernsehformat, in dem nur Ton und Bewegtbild übertragen wird. Ein anderes Format ist das Radio-Format, welches nur aus Ton besteht. Ein Format für Schulungen könnte beispielsweise aus Bewegtbild, Ton und zusätzlichen Graphiken und Texten bestehen, wie oben in Zusammenhang mit Fig. 1 dargestellt.
Eine Sendung kann öffentlich sein, das heißt jeder Interessierte kann an der Sendung als Zuschauer teilnehmen. Bei geschlossenen Sendungen kann dagegen der Produzent oder eine andere Instanz festlegen, welche Teilnehmer an der Sendung teilnehmen dürfen und welche nicht.
Die Sendedaten werden vom Produzenten über eine Baumstruktur zeitnah an die Zuschauer übertragen. Dabei bedeutet zeitnah, daß bis auf technisch bedingten zeitlichen Versatz die Sendung von allen Zuschauern zeitgleich empfangen werden kann. Der technisch bedingte zeitliche Versatz hängt von der Tiefe des Übertragungsbaums ab, und beträgt beispielsweise 10 Sekunden. Zentrale Anlaufstelle für Produzenten und Zuschauer ist die Vermittlungsstelle. Um eine Sendung durchzuführen, meldet der Produzent die Sendung bei der Vermittlungsstelle mit den relevanten Daten an, wie beispielsweise Zeit und Dauer der Sendung, Titel und Inhalt, inhaltliche Klassifizierung nach Kategorien, und dergleichen. Diese Informationen können zusammen mit Namen und weiteren Daten des Produzenten veröffentlicht werden, etwa in einer elektronischen Programmzeitschrift. Sie dienen den möglichen Zuschauern als Orientierung bei der Auswahl der angebotenen Sendungen.
Nach der Registrierung der Sendung erzeugt die Vermittlungsstelle eine Kennung und verschiedene Zugangscodes für diese Sendung. Die Kennung dient zur eindeutigen Identifikation der Sendung. Ein Zugangscode dient den Teilnehmern beispielsweise als Legitimation, die Sendung anschauen zu dürfen. Bei öffentlichen Sendungen können die Zugangscodes in einer elektronischen Programmzeitschrift veröffentlicht werden, so daß jeder die Sendungen anschauen kann.
Die Vermittlungsstelle kann von einem oder mehreren an einem Ort aufgestellten Rechnern gebildet sein, oder auch von an verschiedenen Orten verteilten Rechnern, die zusammen die Aufgaben der Vermittlungsstelle übernehmen. Insbesondere ist es auch möglich, daß der Produzent selbst die Funktion der Vermittlungsstelle übernimmt.
Die zur Produktion der Sendung benötigte Zusatzsoftware kann der Produzent in Form von Software Module von der Vermittlungsstelle herunterladen oder auf einem Datenträger beziehen und dann lokal auf seinem Computer installieren.
Dazu können verschiedene Techniken aus dem Internet-Umfeld verwendet werden, wie Plugins oder ActiveX Controls. Dabei handelt es sich um Software-Module, die bei Bedarf von einem Web-Server geladen werden. Wird im Internet-Browser eine Seite aufgerufen, die ein Software-Modul enthält, so lädt der Internet-Browser über einen darin enthaltenen Verweis das benötigte Software-Modul vom Server herunter, installiert dieses auf dem Rechner des Zuschauers und führt anschließend die Software aus. Ist das Software- Modul bereits in der aktuellen Version installiert, so wird es nicht mehr heruntergeladen, sondern es wird gleich das bereits installierte Modul ausgeführt.
Die Plugin-Technik wurde dabei ursprünglich von Netscape entwickelt, während die ActiveX Technologie von Microsoft stammt. Gängige Browser wie der Internet Explorer von Microsoft unterstützen beide Arten, also sowohl Plugins wie auch ActiveX Controls. Es können jedoch auch beliebige andere Techniken für ladbare Software-Module verwendet werden, wie Java Applets, oder JavaScript Bibliotheken.
Auch wenn die Verwendung der genannten Web-basierten Software Modul Verteilungsmechanismen das Erlangen der nötigen Software für die Benutzer stark vereinfacht, kommen doch auch allen anderen Mechanismen zur Software Modul Verteilung in Betracht, wie der Versand der benötigten Software auf permanenten Datenträgern wie CD oder Disketten, Versand per Email, getrenntes Herunterladen per Ftp, und dergleichen.
Zur Vorbereitung der Sendung nimmt der Produzent alle notwendigen Einstellungen an der Software vor, wie die Auswahl und Einstellung der Kamera, Auswahl und Einstellung des Mikrofons, Vorbereitung von Graphiken, Beiträge, Festlegung von geschlossenen Benutzergruppen. Diese Einstellungen werden gespeichert und werden im Rahmen der Sendung verwendet.
Der Produzent kann nun die Produktion der Sendung starten. Nach ihrer Anmeldung wird die Sendung kurz vor ihrem Beginn von der Vermittlungsstelle freigeschaltet. Allen interessierten Teilnehmern wird nun mitgeteilt, daß die Sendung freigeschaltet wurde und daß sie die Sendung von nun an empfangen können.
Vor dem eigentlichen Beginn der Sendung kann ein Vorspann gesendet werden, beispielsweise ein Testbild oder eine Werbung.
Der Produzent startet die Sendung, und die Sendung darstellenden Daten werden in Form eines Datenstroms vom Produzenten direkt oder indirekt zu den Zuschauern übertragen, bis der Produzent die Sendung beendet.
Der Produzent einer Sendung kann diese während der Sendung aufzeichnen. Bei einer späteren Sendung kann er dann anstelle einer neuen Sendung die aufgezeichnete Sendung ausstrahlen. Das Sendeverfahren läuft analog dem Senden einer Life-Sendung.
Eine Sendung kann mit Möglichkeiten zur Interaktion ausgestattet sein. Dies können Umfragen sein, bei denen der Produzent den Zuschauern verschiedene Optionen zur Auswahl bietet. Der Zuschauer kann durch unterschiedliche Aktionen, wie das Anklicken einer Kopfes auf dem Bildschirm oder das Eingeben eines Textes eine Option anwählen. Der Produzent bekommt dann eine Rückmeldung über die getätigten Aktionen, beispielsweise die Information, wieviele Zuschauer sich für eine bestimmte Option entschieden haben, oder welche Zuschauer sich für welche der Optionen entschieden haben.
Eine andere Möglichkeit bieten Chat-Räume, in denen die Zuschauer über die Computer- Tastatur untereinander und mit dem Produzenten diskutieren können. Neben freien können auch moderierte Chats verwendet werden, bei denen der Produzent die Aussagen einzelner Zuschauer beeinflussen kann, indem er beispielsweise bestimmte Textteile entfernt.
Alle Interaktionsmöglichkeiten können nur von den Zuschauern der Sendung durchgeführt werden, also von den über die Vermittlungsstelle in die Sendung vermittelten Teilnehmern.
Eine Sendung kann von jedem Teilnehmer, der an der Sendung teilgenommen hat, beurteilt werden. Dazu wird dem Teilnehmer eine vorgefertigte Bewertungsskala angeboten, auf der er die gewünschte Bewertung einträgt. Insbesondere sind Klassifizierungen nach verschiedenen Maßstäben möglich, wie die Rechtmäßigkeit und die moralische Unbedenklichkeit des Inhaltes. Dazu können freie Kommentare über den Inhalt oder die Qualität der Sendungen abgegeben werden. Diese Beurteilungen können in der elektronischen Programmzeitschrift mit dem Produzenten oder dem Namen einer Sendereihe verknüpft werden, so daß sich die Zuschauer bei der Auswahl einer Sendung an den früheren Bewertungen ähnlicher Sendungen oder an früheren Bewertungen anderer Sendungen desselben Produzenten orientieren können.
Ein Teilnehmer an der Sendeübertragung (Produzent oder Zuschauer) benötigt eine marktübliche PC-Ausrüstung, beispielsweise (Stand Mitte 2001) einen PC mit 300 MHz Pentium III Prozessor, sowie einen üblichen Netzwerkanschluß an das verwendete Datennetz, etwa eine 64 kBit/s Verbindung zum Internet. Zur Produktion von Ton- und Be- wegtbilddatenströmen ist die entsprechende Ausrüstung nötig, also ein Standard- Mikrophon und eine Standard-PC-Kamera, etwa eine Webcam mit USB-Anschluß, oder eine Digitalvideokamera mit PC-Anschluß.
Ein Teilnehmer kann sich bei der zentralen Vermittlungsstelle mit seinem Namen, seiner Email-Adresse und weiteren persönlichen Daten registrieren lassen.
Einen wesentlichen Zug des erfindungsgemäßen Verfahrens stellt die Tatsache dar, daß jeder am verwendeten Datennetz angeschlossene Teilnehmer, der über die Mindestaus- rüstung verfügt, ohne weiteres sowohl Produzent als auch Zuschauer einer Sendung sein kann.
Die Vermittlungsstelle ist die zentrale Anlaufstelle sowohl für die Produzenten als auch für die Zuschauer. Die Vermittlungsstelle ist typischerweise web-basiert, das heißt, sie besitzt eine Schnittstelle, die von Produzenten und Zuschauern mit Hilfe eines Standard-Internet- Browser bedient werden kann. Als relevante Standards sind insbesondere HTML als Seitenbeschreibungssprache, http als Übertragungsprotokoll und TCP/IP als Netzwerktechnik zu nennen. Zusätzlich werden Software-Module zur Multimedia-Darstellung verwendet, welche ebenso wie die Software-Module der Produzententechnik als Plugin, ActiveX, oder auf eine beliebige, andere Art geladen werden können.
Zuschauer, die an einer Sendung teilnehmen wollen, erhalten von der Vermittlungsstelle nach der Übermittlung ihres Teilnahmewunsches alle dazu benötigten Informationen und Software-Module. Es werden dazu zunächst verschiedene Eigenschaften des Teilnehmerrechners ermittelt, wie seine Rechenleistung, die Qualität und Leistung der Netzwerkan- bindung und dergleichen. Anschließend werden diese Daten an die Vermittlungsstelle übermittelt.
Aufgrund dieser Daten wird von der Vermittlungsstelle eine geeignete Position für den Teilnehmer in der Baumstruktur der Sendung berechnet, wie weiter unten im Detail beschrieben.
Alle für die Teilnahme relevanten Informationen, wie die Kennung der Sendung, Position und Auszüge aus der Baumstruktur, werden von der Vermittlungsstelle an den Teilnehmer übermittelt. Mit diesen Informationen baut der Teilnehmer eine Punkt-zu-Punkt Netzwerkverbindung zum Produzenten oder einem anderen Teilnehmer an der Übertragung auf. Über diese Verbindung wird dann der Teilnehmer als neuer Zuschauer mit dem Datenstrom der Sendung versorgt.
Die Daten werden von der Vermittlungsstelle entsprechend aufbereitet, beispielsweise signiert, so daß die auf den Teilnehmerrechnern installierte Software die Authentizität der Vermittlungsstelle überprüfen kann. Auch werden weitere Maßnahmen ergriffen, die eine Teilnahme ohne Verwendung der Vermittlungsstelle ausschließen, wie etwa ein Zeitstempel zur Verhinderung eines sogenannten Replay-Attacks, bei dem alte Verbindungsdaten abgefangen und mehrfach verwendet werden. Die Vermittlungsstelle erhält von den Teilnehmern laufend Informationen über die aktuelle Netzwerkstruktur und deren Eigenschaften, beispielsweise die Qualität der verschiedenen Verbindungen der Teilnehmer untereinander. Diese Informationen geben der Vermittlungsstelle ein Bild über die gegenwärtige Baumstruktur der Sendung und versetzen diese in die Lage, Verbesserungen zu erkennen und durchzuführen. Dazu kann die Vermittlungsstelle einzelne Teilnehmer in der Sendung ansprechen und so Änderungen an der Baumstruktur veranlassen.
Die Vermittlungsstelle kann einzelne Teilnehmer aus der Sendung entfernen oder die gesamte Sendung unterbrechen bzw. beenden. Die Vermittlungsstelle kann für jede Sendung eine Abrechnung über relevante Informationen vornehmen, wie Anzahl und Dauer der Teilnehmer, explizite Auflistung aller Teilnehmer, und dergleichen. Diese Informationen können dem Produzenten oder anderen Interessenten zur Verfügung gestellt werden.
Ein Zuschauer kann an einer vom Produzenten registrierten Sendung anhand einer Sen- dekennung teilnehmen, die er beispielsweise aus der Programmzeitschrift auswählt, oder die er anderweitig mitgeteilt bekommt, etwa vom Produzenten selbst oder von der Vermittlungsstelle, beispielsweise per Email. Nachdem die Sendung freigeschalten wurde, kann sich der Zuschauer von der Vermittlungsstelle in die Sendung hineinvermitteln lassen. Dazu aktiviert er die entsprechende Zugangskennung, etwa durch einen Klick auf einen Hyperlink, und die benötigte Software wird gestartet. Bei der ersten Benutzung oder bei Änderungen an der Software oder der Konfiguration wird die Software zunächst installiert und dann gestartet gemäß dem verwendeten Software-Modul-Verfahren, also etwa dem Plugin- oder ActiveX-Verfahren.
Der Produzent kann festlegen, ob eine Sendung von jedem Teilnehmer oder nur von einer bestimmten, geschlossenen Benutzergruppe empfangen werden darf. Dazu kann der Produzent zunächst bei der Vermittlungsstelle eine Benutzergruppe einrichten. Die Teilnehmer müssen dann bei der Vermittlungsstelle registriert sein und eine eindeutige Kennung besitzen. Mittels dieser Kennung kann der Produzent oder eine sonstige berechtigte Stelle einzelne Benutzer in eine geschlossene Benutzergruppe aufnehmen.
Im Rahmen der Ankündigung einer Sendung kann der Produzent festlegen, für welche Benutzergruppen die Sendung zugänglich gemacht werden soll. Ist die Sendung nur für eine oder mehrere geschlossene Benutzergruppen zugänglich, so werden nur erlaubte Teilnehmer in eine Sendung vermittelt. Kann die Identität des Teilnehmers nicht festgestellt werden oder besitzt der Teilnehmer nicht die benötigte Berechtigung, so wird der Verbindungswunsch von der Vermittlungsstelle abgelehnt. Figur 2 illustriert die Baumstruktur einer Sendung mit acht Zuschauern. Der Produzent 30 hat Übertragungskapazität für zwei Zuschauer 34a, 34b, denen er den Datenstrom über Punkt-zu-Punkt-Netzwerkverbindungen 40 übermittelt. Der Zuschauer 34a selbst versorgt drei weitere Zuschauer 36a-c mit dem Datenstrom.
Dabei entsteht durch den Empfang und die Weiterleitung des Datenstroms durch den Zuschauer 34a eine kleine Zeitverzögerung von einigen 10 bis 100 Millisekunden, so daß die Zuschauer 36a-c die Sendung im Vergleich zu den Zuschauern 34a-b zeitverzögert empfangen. Eine ähnliche Zeitverzögerung entsteht durch jede folgende Weiterleitung, so daß Zuschauer, die in der Baumstruktur viele Knoten entfernt vom Produzenten angeordnet sind, die Sendung mit einer größeren Zeitverzögerung von bis zu einigen Sekunden empfangen. Diese Zeitverzögerung muß bei Interaktionen oder Umordnungen der Baumstruktur berücksichtigt werden.
Der Zuschauer 36a versorgt über Netzwerkverbindungen 44, 46 wiederum zwei weitere Zuschauer 38a,b mit dem Datenstrom der Sendung. Der Zuschauer 38b besitzt aufgrund seiner technischen Ausstattung (etwa ein langsameres Modem) nur eine eingeschränkte Empfangsbandbreite und wird daher mit einer reduzierten Version 46 des Datenstroms versorgt.
Da diese eingeschränkte Empfangsbandbreite bei der Kontaktaufnahme des Zuschauers 38a mit dem Zuschauer 36a bekannt gegeben wurde, kann ihr der Zuschauer 36a Rechnung tragen, indem beispielsweise die Framezahl einer Bewegtbildübertragung für den Zuschauer 38a verringert wird.
Auch nach ihrer erfolgreichen Vermittlung in die Sendung tauschen die Vermittlungsstelle 32 und die Teilnehmer Verbindungsdaten 48 aus, die etwa die Qualität der verschiedenen Verbindungen der Teilnehmer und die Baumstruktur betreffen, so daß die Vermittlungsstelle 32 bei Bedarf die Baumstruktur optimieren oder sonst verändern kann.
Der Aufbau eines Übertragungsbaumes ist beispielhaft in Fig. 3 illustriert. Der Produzent 50 einer Sendung meldet die Sendung zunächst bei der Vermittlungsstelle 60 an, indem er Informationen 62 über Beginn, Dauer, Art und Inhalt der Sendung über das Datennetz der Vermittlungsstelle 60 mitteilt (Fig. 3a). Im Ausführungsbeispiel teilt der Produzent 50 auch mit, daß er über eine Netzwerkanbindung mit einer Sendebandbreite von 128 kBit/s verfügt. Zugleich wird angenommen, daß die Sendung bei einer Bandbreite von 64 kBit/s in voller Qualität übertragen werden kann. Der Produzent 50 kann somit mit seiner Sendebandbreite zwei Empfänger mit dem Datenstrom versorgen.
Nach Ankündigung der Sendung in einer elektronischen Programmzeitschrift durch die Vermittlungsstelle meldet sich ein erster Zuschauer 52 mit einer Sendebandbreite von 128 kBit/s und einer Empfangsbandbreite von 64 kBit/s mit einem Teilnahmewunsch bei der Vermittlungsstelle 60 (Fig. 3b). Sende- und Empfangsbandbreite des Zuschauers 52 wird in Fig. 3 kurz mit (128/64) angegeben.
Als Antwort teilt die Vermittlungsstelle 60 dem Zuschauer 52 über die Netzwerkverbindung 64 die notwendigen Verbindungsdaten, insbesondere die Netzwerkkennung des Produzenten 50 mit.
Zwischen dem Zuschauer 52 und dem Produzenten 50 wird nun in dem Datennetz eine Punkt-zu-Punkt-Netzwerkverbindung 66 aufgebaut, über die der Produzent 50 den Zuschauer 52 mit dem Datenstrom der Sendung versorgt (Fig. 3c).
Ein zweiter Zuschauer 54 mit einer Sende- und Empfangsbandbreite von 64 kBit/s (kurz: (64/64)) wird von der Vermittlungsstelle 60 ebenfalls an den Produzenten 50 vermittelt (Fig. 3d). Auch zwischen dem Zuschauer 54 und dem Produzenten 50 wird eine Punkt-zuPunkt-Netzwerkverbindung 68 aufgebaut, über die der zweite Zuschauer 54 mit dem Datenstrom der Sendung versorgt wird.
Die Sendekapazität des Produzenten 50 ist mit der Versorgung der beiden Zuschauer 52, 54 nunmehr ausgelastet. Die nächsten Zuschauer 56, 57, die einen Teilnahmewunsch an die Vermittlungsstelle 60 richten (Fig. 3e), können daher nicht mehr an den Produzenten 50 vermittelt werden. Im Ausführungsbeispiel werden beide Zuschauer an den Zuschauer 52 vermittelt, der mit 128 kBit/s ausreichend Sendebandbreite für zwei Empfänger hat (Fig. 3f).
Die Vermittlung der Zuschauer 56, 57 an den Zuschauer 52 kann dadurch geschehen, daß die Vermittlungsstelle über Informationen über die Sende-/Empfangsbandbreiten aller Teilnehmer verfügt und neue Zuschauer entsprechend der noch freien Kapazitäten vermittelt. Alternativ kann die Vermittlungsstelle einem neuen Teilnehmer auch lediglich die Kennung eines oder mehrerer Teilnehmer an der Übertragung nennen. Der neue Teilnehmer richtet dann einen Übertragungswunsch an einen der genannten Teilnehmer. Kann dieser Teilnehmer den Datenstrom an den neuen Teilnehmer übertragen, so über- nimmt er diese Rolle. Andernfalls lehnt er ab und nennt dem neuen Teilnehmer ihm bekannte weitere Teilnehmer an der Übertragung, an die dieser seinen Übertragungswunsch richten kann.
Nach erfolgreicher Vermittlung erhält der neue Teilnehmer nicht nur Information über seinen Vater im Übertragungsbaum, also den Teilnehmer, der ihn mit dem Datenstrom versorgt, sondern auch über seinen Großvater, also den Teilnehmer, der seinen Vater mit dem Datenstrom versorgt. Allgemein erhält jeder Teilnehmer Informationen über sein lokales Umfeld im Übertragungsbaum. Dadurch können begrenzte Umordnungen des Baums bei Ausfall eines Teilnehmers von den betroffenen Teilnehmern im lokalen Umfeld ohne Umweg über die Vermittlungsstelle und damit schneller vorgenommen werden. Nach einer Umordnung wird die Vermittlungsstelle über die vorgenommenen Änderungen benachrichtigt, damit diese die aktuelle Baumstruktur verfolgen und bei Bedarf weiter verändern kann.
Der nächste Zuschauer 58 mit einer einschränkten Sende- (30 kBit/s) und Empfangsbandbreite (50 kBit/s) wird über die Vermittlungsstelle 60 an den Zuschauer 54 vermittelt. Die auf dem PC des Zuschauers 54 installierte Software reduziert vor der Weiterleitung den Datenstrom der Sendung auf die Übertragungsrate von 50 kBit/s (Bezugszeichen 70), da der Zuschauer 58 eine höhere Rate nicht verarbeiten kann (Fig. 3g). Um eine optimale Empfangsqualität für die Zuschauer zu erreichen, wird einem Zuschauer mit einer reduzierten Sendebandbreite nach Möglichkeit kein Zuschauer mit einer höheren Empfangsbandbreite vermittelt.
Figur 4 illustriert die Aktionen nach Ausfall oder Ausstieg eines Teilnehmers im Übertragungsbaum. Der Zuschauer 52 beendet in Fig. 4a seine Teilnahme an der Übertragung. Dies kann sowohl kontrolliert geschehen, indem der Zuschauer sich von der Sendung abmeldet, als auch unvermittelt, etwa durch Ausschalten des Teilnehmerrechners oder einem Abbruch der Netzwerkverbindung. In beiden Fällen ist es für eine störungsfreie Übertragung der Sendung an die anderen Teilnehmer wichtig, daß die Neuordnung des Übertragungsbaums möglichst rasch und für die restlichen Teilnehmer unbemerkt geschieht.
Um unvermeidliche Verzögerungen bei der Neuordnung aufzufangen, werden die empfangen Daten bei jedem Teilnehmer durch die installierte Software für eine gewisse Zeitspanne gepuffert, bevor sie zur Anzeige gelangen. Dadurch kann eine Verzögerung bei der Neuordnung für die Teilnehmer durch Abspielen bereits gespeicherter Daten unbemerkt bleiben, solange die Verzögerung innerhalb der gepufferte Zeitspanne bleibt.
Zudem kann der Zeitversatz für jeden einzelnen Teilnehmer so gewählt werden, daß die Sendung für alle Teilnehmer zeitgleich angezeigt wird. Sie wird dabei natürlich bezogen auf den Produzenten mit einem gewissen, jedoch für alle Zuschauer gleichen Zeitversatz angezeigt. Da zwischen den Zuschauern kein Zeitversatz besteht, erlaubt diese Variante besonders einfache Neu- oder Umordnungen des Übertragungsbaums.
Kennen die Zuschauer 56, 57, wie oben beschrieben, neben ihrem Vater 52 auch ihren Großvater im Übertragungsbaum, hier den Produzenten 50, können sie den Ausfall ihres Vaters 52 auch ohne Umweg über die Vermittlungsstelle 60 kompensieren. Beide Zuschauer 56, 57 richten einen Übertragungswunsch an ihren Großvater 50. Durch den Ausfall des Zuschauers 52 hat dieser Sendekapazität für einen weiteren Zuschauer zur Verfügung. Die Neuordnung kann dann etwa dadurch geschehen, daß zwischen Zuschauer 56 und Produzenten 50 eine Verbindung 72, und zwischen Zuschauer 57 und Zuschauer 56 eine Verbindung 74 aufgebaut wird, über die der Datenstrom vom Produzenten 50 über den Zuschauer 56 zum Zuschauer 57 übermittelt wird (Fig. 4b).
Dabei wird auch berücksichtigt, daß der Zuschauer 56 nun im Übertragungsbaum weiter nach oben rückt. Erhielt er beispielsweise vorher den Datenstrom vom Zuschauer 52 mit einem Zeitversatz von 500 ms, so würde er ihn nunmehr vom Produzenten 50 direkt, also ohne Zeitversatz erhalten. Dies wird bei dem Verbindungsaufbau zwischen Produzent 50 und Zuschauer 56 dadurch berücksichtigt, daß der Produzent 50 dem Zuschauer 56 mit Daten aus seinem Puffer versorgt, die zeitlich gerade 500 ms gegenüber dem aktuellen Datenstrom versetzt sind. Somit läuft die Übertragung für den Zuschauer 56 trotz Umord- nung ohne Störung weiter.
Weiterhin ist möglich, daß bei bestehender Sendung und bestehendem Übertragungsbaum der Produzent wechselt, oder durch einen weiteren Produzenten ergänzt wird, der einen Teil der Sendung übernimmt.
Ein einfacher Fall eines Produzentenwechsels ist in Fig. 5 dargestellt. Die Ausgangssituation von Fig. 5a entspricht der in Fig. 3 am Ende dargestellten Lage. Möchte nun der Produzent 50 die Übertragung abgeben, so melden sich nach entsprechender Nachricht potentielle neue Produzenten beim Produzenten 50. Diese hat in dem beschriebenen Ausführungsbeispiel eine Empfangskapazität von 64 kBit/s, die Sende- bzw. Empfangskapa- zitäten der restlichen Teilnehmer sind wie in Fig. 3g gezeigt. Der Produzent 50 wählt nun einen der Teilnehmer als Nachfolger aus, im Ausführungsbeispiels den Teilnehmer 57.
Unter Bezugnahme auf Fig. 5b wird nunmehr der Teilnehmer 57 zum neuen Produzenten 57a. Die Übertragungsrichtung für die Punkt-zu-Punkt-Verbindungen 76a und 66a wird gegenüber der vorigen Situation bis zum früheren Produzenten und jetzigen Zuschauer 50a hin umgekehrt. Die vom Zuschauer 50a in den rechten Teil des Übertragungsbaums führenden Verbindungen müssen nicht verändert werden. Allerdings wird wegen der geänderten Positionen im Baum der Zeitversatz einzelner Teilnehmer zum neuen Produzenten 57a in der Regel vom Zeitversatz zum früheren Produzenten 50 abweichen. Dies kann bei der Umkehr der Übertragungsrichtungen, die ebenfalls eine Umordnung des Baums darstellen, analog zu der im Zusammenhang mit Fig. 4 beschriebenen Situation berücksichtigt werden.
Figur 6 zeigt beispielhaft den Fall, daß ein Produzent 50 nur einen Teil der Übertragung an einen anderen Teilnehmer abgibt. In der Ausgangssituation von Fig. 6a, die wiederum der Situation am Ende von Fig. 3 entspricht, produziert der Produzent eine aus zwei Teilen, A und B, bestehende Übertragung. Die Teile A und B können dabei beispielsweise für Bild und Ton einer Sendung stehen. Zunächst, in der Situation von Fig. 6a, überträgt der Produzent 50 beide Teile AB zusammen an die Zuschauer 52, 54, welche sie an weitere Zuschauer 56, 57, 58 übertragen.
Nun kann einer der Teilnehmer einen Teil der Übertragung übernehmen. Im Ausführungsbeispiel übernimmt der Zuschauer 52 die Produktion und Übertragung des Tons B und wird somit selbst zum Coproduzenten 52b. Der Produzent 50b produziert und überträgt nur noch den Bildanteil A des Datenstroms.
Im dem Fall, daß der Coproduzent 52b genügt Sendebandbreite hat, kann er seinen Anteil B an der Übertragung an den Produzenten 50b übertragen. Dieser setzt die Anteile zusammen und überträgt beide Teile AB in oben beschriebener Weise.
Falls jedoch, wie im Ausführungsbeispiel von Fig. 6, der Coproduzent 52b keine freie Sendekapazität hat, kann wie folgt verfahren werden: Er überträgt seinen Anteil B zusammen mit dem vom Produzenten 50b erhaltenen Anteil A entlang des Übertragungsbaums weiter bis zu einem Teilnehmer 57b mit ausreichender freier Sendekapazität. Zwischen dem Teilnehmer 57b und dem Produzenten 50b wird eine neue Punkt-zu-Punkt- Verbindung 78 aufgebaut, über die der Teilnehmer 57b den Produzenten mit dem Sende- anteil B versorgt. Der Produzent 50b selbst überträgt an den Teilnehmer 52b nur den Sendeanteil A, an den anderen Teilnehmer 54 jedoch die gesamte Sendung AB. Insgesamt wird so jeder Teilnehmer mit beiden Teilen der Sendung versorgt. Selbstverständlich muß in der Regel beim Zusammensetzen der Teilsendungen A, B der auftretende Zeitversatz berücksichtigt werden, falls eine genaue Synchronisation der beiden Teile aufgrund der Art der Sendung notwendig ist, etwa bei zusammengehörigem Bild und Ton.
Die bei Fig. 5 und 6 beschriebenen Umordnungen können ohne Kontaktaufnahme zur Vermittlungsstelle durchgeführt werden. Es ist jedoch zweckmäßig, wenn diese zumindest nachträglich über die Änderungen informiert wird.
Übertragungsverfahren und Vermittlungstechnik
Alle Daten werden über das Netzwerk vom Produzenten an viele Zuschauer übertragen. In nicht-multicast-fähigen Netzwerken, wie es das Internet darstellt, können die Daten mit herkömmlicher Technik nur mit hohem technischen Aufwand an viele Zuschauer übertragen werden. Typischerweise sind jedoch Punkt-zu-Punkt Verbindungen zwischen einzelnen Teilnehmern im Netz einfach möglich, wie sie in IP-basierten Netzen etwa durch TCP/IP oder durch UDP/IP realisiert werden. In dem hier beschriebenen Verfahren werden diese Punkt-zu-Punkt Verbindungen beispielsweise wie folgt genutzt:
Die Daten werden vom Produzenten direkt zu einem oder so vielen Zuschauern übertragen, wie der Produzent versorgen kann. Interessieren sich mehr Zuschauer für eine Sendung als aufgrund der eingeschränkten Bandbreite direkt vom Produzenten versorgt werden können, werden diese nicht vom Produzenten direkt versorgt, sondern von anderen Zuschauern, die bereits mit den Daten versorgt werden und die in Upload-Richtung noch ausreichend Bandbreite zur Verfügung haben. Insbesondere ist dieses Verfahren auch dann anwendbar, wenn der Produzent selbst nur einen einzigen Zuschauer versorgen kann.
Es entsteht für die Übertragung eine Baumstruktur, bei der Produzenten die Wurzel des Baumes und die Zuschauer die Knoten des Baumes darstellen. Die Verbindungen zwischen den Knoten entsprechen den Punkt-zu-Punkt Netzwerkverbindungen zwischen einzelnen Teilnehmern.
Über die Verbindungen werden nicht nur die Nutzdaten ausgetauscht, sondern auch Verbindungsdaten. Dadurch kennen die einzelnen Knoten Teile des gesamten Baumes. Kno- ten mit freier Upload-Kapazität übertragen in freien Abständen diese Informationen an die Vermittlungsstelle, der somit die einzelnen Knoten des Baumes und ihre Verbindungen bekannt sind. Zudem werden Informationen, welche die Qualität der einzelnen Verbindungen betreffen, mit übertragen. Aufgrund dieser Informationen kann die Vermittlungsstelle neue Teilnehmer geeignet in den Baum anordnen. Zudem kann der Vermittlungsstelle oder einzelne Knoten eine Änderung des Baumes bewirken, um einzelne Verbindungen zu verbessern und somit die Gesamtübertragungsraten im Baum zu optimieren.
Über die bestehenden Verbindungen werden neben den Nutzdaten, auch Verbindungsdaten übertragen. Diese Verbindungsdaten enthalten Informationen, die zur Aufrechterhaltung und Optimierung der Baumstruktur nötig sind, wie Informationen über die Anordnung der Teilnehmer im Baum, aktuelle Übertragungsraten und dergleichen.
Die Verbindungsdaten werden bidirektional übertragen. In geringem Maße können auch interaktive Daten auf diesem Wege übertragen werden. Beispielsweise können die Abstimmungsergebnisse einer Umfrage so von allen Zuschauern an den Produzenten übertragen werden.
Alternativ können interaktive Daten, die eine größere Bandbreite erfordern, wie etwa Tondaten, direkt vom einzelnen Teilnehmer zum Produzenten übertragen werden.
Eine weitere Möglichkeit besteht darin, daß der gesamte Datenstrom oder Teile davon von einem neuen Produzenten erzeugt werden. So kann z.B. ein Teilnehmer kurzzeitig der Produzent für den Ton werden, indem er beispielsweise eine Zwischenfrage stellt. Besitzt dieser Teilnehmer keine ausreichende Sendekapazität mehr, so wird ein Teil des Originaldatenstromes durch den neuen Datenstrom ersetzt, z.B. wird der Originalton durch den neuen Ton ersetzt. Von dort wird der geänderte Datenstrom weitergeleitet, bis ein Teilnehmer mit ausreichender Sendekapazität gefunden ist, welcher den neuen Datenstrom an den ursprünglichen Produzenten weiterleitet.
Über die Baumstruktur werden die Daten an alle Teilnehmer zeitnah verteilt. Reicht dabei die Übertragungskapazität zwischen zwei Teilnehmern nicht für die Übertragung aller Daten aus, so wird wie folgt verfahren:
Multimedia-Datenströme bestehen aus verschiedenen Datenteilströmen, wie etwa einem Bewegtbilddatenstrom, einem Tondatenstrom und einem Graphikdatenstrom. Zum Teil können diese Datenströme reduziert werden, wenn auch nicht immer verlustfrei (Korn- pression), sondern verlustbehaftet (Reduktion). Dies bedeutet, daß die Multimedia-Daten so geändert werden, daß sie bei im wesentlichen gleichem Inhalt auch mit geringerer Bandbreite übertragen werden können.
Typischerweise ist dies nur durch Inkaufnahme einer schlechteren Qualität (beispielsweise weniger Rahmenbilder pro Sekunde bei Bewegtbild, stärkeres Rauschen oder geringerer Dynamikumfang bei Tondaten) möglich. So kann beispielsweise ein Bewegtbildda- tenstrom reduziert werden, indem weniger Rahmenbilder übertragen werden als ursprünglich vom Produzenten aufgenommen.
Im Verfahren des beschriebenen Ausführungsbeispiels wird nun bei den einzelnen Knoten bei Bedarf eine verlustbehaftete Reduktion des Multimedia-Datenstromes oder von Teilen davon derart vorgenommen, so daß die vorhandene Übertragungskapazität für eine Datenübertragung ausreichend ist, wenn auch mit Qualitätseinbußen.
Durch den geeigneten Aufbau oder eine geeignete Umstrukturierung der Baumstruktur kann erreicht werden, daß trotz einzelner Qualitätsverluste aufgrund eingeschränkter Ü- bertragungskapazitäten für jeden Teilnehmer die möglichst optimale Qualität erreicht wird.
Die Teilnehmer werden in der Baumstruktur so angeordnet, daß möglichst viele Teilnehmer mit möglichst hoher Übertragungsqualität versorgt werden können. Dies kann dadurch erreicht werden, daß jeder Teilnehmer mit hoher verfügbarer Sendebandbreite mehrere Zuschauer mit Daten versorgt. Ein Ordnungskriterium sind dabei die maximalen Bandbreiten und die Qualität des Netzwerkanschlusses der einzelnen Teilnehmer. In IP- basierten Netzen kann die IP-Nummer herangezogen werden, um optimale Verbindungen zwischen den Teilnehmern zu erkennen.
Ein anderes Ordnungskriterium ist die Anzahl der Zwischenstationen (Hops), die die Daten auf dem Weg durch ein Netzwerk nehmen: In Datennetzen können teilweise die Wege ermittelt werden, die die Daten zwischen zwei Punkten nehmen. Dies kann z.B. mit einem traceroute-Verfahren durchgeführt werden, welches die IP-Netzknotenpunkte (Router) ermittelt, die auf dem Datenweg liegen. Mit diesen Informationen kann z.B. die Gesamtanzahl der benötigen Hops für alle Teilnehmer in der Baumstruktur verbessert, das heißt verkleinert werden.
Insgesamt wird so aus allen möglichen Verbindungen ein optimaler beziehungsweise mindestens ein gut geeigneter Übertragungsbaum konstruiert. NAT-Teilnehmer und Nicht-NAT-Teilnehmer
In großen TCP/1 P-basierten Netzen, wie es das Internet darstellt, haben viele Teilnehmer keinen direkten Zugang zum Datennetz, sondern der Zugang ist über Zugangsrechner, sogenannte NAT-Router realisiert, welche die IP-Nummer der Teilnehmer nach außen verbergen. Zu einem solchen Teilnehmer kann von außen keine TCP/IP oder UDP/IP Verbindung aufgebaut werden. Sie können jedoch selbst Verbindungen zu anderen Teilnehmern ohne NAT aufbauen.
Damit auch NAT-Teilnehmer an dem beschriebenen Übertragungsverfahren teilnehmen können, kann folgendes Vorgehen angewandt werden: Jeder Teilnehmer (Produzent oder Zuschauer) nimmt zunächst gemäß den Internet-Standards (TCP/IP, http, HTML) Kontakt mit dem Vermittlungsstelle auf. Diese Kontaktaufnahme ist vom Teilnehmer selbst initiiert und kann unabhängig von NAT durchgeführt werden. Als Antwort werden dem Teilnehmer alle relevanten Verbindungsdaten vom Vermittlungsstelle mitgeteilt. Mit diesen Daten kann nun der Teilnehmer am Übertragungsbaum teilnehmen.
Ist der Teilnehmer im Baum integriert, so können dem Teilnehmer jederzeit Daten im Rahmen der bestehenden Verbindungen übermittelt werden. Wird eine bestehende Verbindung abgebrochen, so wendet sich der Teilnehmer sofort wieder an den Vermittlungsstelle und erhält, wie bei der ersten Kontaktaufnahme, neue Verbindungsdaten übermittelt.
Es wird beim Aufbau des Baumes darauf geachtet, daß die untergeordneten Knoten eines NAT-Teilnehmers 82 alle Nicht-NAT-Teilnehmer 80 sind, da bei einer Punkt-zu-Punkt- Verbindung die Kontaktaufnahme zu zumindest einem der beiden Endpunkte möglich sein muß (Fig. 7a).
Zudem ist es sinnvoll, daß sich unter den untergeordneten Knoten eines Nicht-NAT Knotens 80 immer mindestens ein Nicht-NAT Teilnehmer 80 befindet, der bei Ausfall des ü- bergeordneten Knotens 80 dessen Rolle einnehmen kann. Andernfalls wird eine größere Umordnung des Übertragungsbaums mit entsprechend höherem Zeitbedarf notwendig (Fig. 7b).
Weiterhin besteht die Möglichkeit, auch zwischen zwei Teilnehmern 84, 86 mit Standard- NAT-Routern eine UDP-Verbindung zu schaffen. Ein Standard-NAT-Router verbindet ein äußeres Datennetz (WAN, Wide Area Network), beispielsweise das Internet, mit einem inneren Datennetz (LAN, Local Area Network). Teilnehmer in dem inneren Netz bauen keine direkte Verbindung zu äußeren Teilnehmern auf, sondern der NAT-Router übersetzt diese Verbindungen zwischen LAN und WAN.
Einem WAN-Teilnehmer ist dabei nur die IP-Nummer des NAT-Routers bekannt, nicht jedoch die IP-Nummern der LAN-Teilnehmer. Eine UDP/IP Verbindung von zwei Teilnehmern 84, 86, die in unterschiedlichen Netzwerken jeweils durch einen NAT-Router verbunden sind, kann nun wie folgt realisiert werden:
Wie in Fig. 8 illustriert, bauen zunächst beide Teilnehmer 84, 86 eine UDP-Verbindung 88 zur Vermittlungsstelle 32 auf. Dabei wird in den NAT-Routern eine Tabelle erzeugt, welche jeweils die Verbindung zwischen der LAN-Seite und der WAN-Seite übersetzt. Dies geschieht durch Verwendung von Port-Nummern: jede Verbindung erhält auf der WAN- Seite eine neue Port-Nummer, anhand derer die UDP-Pakete zugeordnet werden können.
Der Vermittlungsstelle 32 analysiert nun die von beiden Teilnehmern erhaltenen UDP- Pakete und ermittelt aus den UDP- und IP-Kopfinformationen (header data) die relevante Informationen, wie beispielsweise die Quell- und Zieladresse (source address, destination address) und die Quell- und Zielportnummern (source port, destination port). Diese Informationen werden nun an beide Teilnehmern rückübermittelt. Mit diesen Informationen erzeugen beide Teilnehmer spezielle UDP-Pakete 90, indem sie insbesondere die Portnummer benutzen, die beim Verbindungsaufbau zwischen dem jeweilig anderen Teilnehmer und der Vermittlungsstelle verwendet wurden.
Diese UDP-Pakete 90 werden nun von den NAT-Routern an die jeweiligen LAN- Teilnehmer weitergeleitet, und beide Teilnehmer 84, 86 können von nun an Daten über diese Verbindung austauschen.
Ebenso kann, allerdings bei höherem Aufwand eine TCP/IP-Verbindung zwischen den NAT-Teilnehmern hergestellt werden.
Kompensation des Zeitversatzes durch Zwischenspeicherung der Daten
Bei jedem Knoten entsteht eine zeitliche Verzögerung bei der Weiterleitung der Datenpakete. Dies hat zur Folge, daß von Knoten zu Knoten ein kleiner zeitlicher Versatz entsteht, der über den ganzen Baum mit beispielsweise 10 Ebenen beispielsweise 10 Sekunden betragen kann.
Um zu verhindern, daß bei einem Wechsel aufgrund unterschiedlichen Zeitversatzes Lücken bei der Übertragung entstehen, wird der Datenstrom bei jedem Knoten für kurze Zeit gepuffert. Die Puffergröße wird dabei so gewählt, daß die gepufferten Daten ausreichen, den maximal möglichen Zeitversatz im gesamten Baum zu kompensieren.
Ein Knoten kann nun an die untergeordneten Knoten aktuelle Daten (mit geringem Zeitversatz) oder aus dem Puffer gespeicherte Daten mit der Zeitverzögerung übertragen, die dem Zeitversatz des untergeordneten Knotens entspricht. Insbesondere kann ein Sender verschiedene untergeordnete Knoten mit unterschiedlichen Zeitversätzen versorgen.
Wechselt nun ein Teilnehmer die Verbindung, das heißt, empfängt er die Daten von einem anderen Knoten als zuvor, so kann der Zeitversatz kompensiert werden, indem er die Daten aus dem Puffer erhält.
Ein Puffer kann etwa dadurch realisiert werden, daß der Datenstrom in numerierte Pakete zerlegt wird. Bei der Verbindungsaufnahme wird der Zeitversatz aus der Differenz der aktuellen Pakete berechnet.
Ist der gesamte maximale Zeitversatz im Baum oder eine obere Schranke davon bekannt, so können die Daten bei der Darstellung bei jedem Teilnehmer individuell so verzögert dargestellt werden, daß sie bei allen Teilnehmern gleichzeitig dargestellt werden.

Claims

Patentansprüche
1. Verfahren zum Übertragen eines Datenstroms, insbesondere eines reduzierbaren Datenstroms, von einem Produzenten an eine Mehrzahl von Zuschauern, wobei Produzent und Zuschauer Teilnehmer eines Netzwerks mit Punkt-zu-Punkt-Verbindungen sind, bei dem
- der Produzent den Datenstrom über eine Punkt-zu-Punkt-Netzwerkverbindung an zumindest einen Zuschauer überträgt,
- zumindest ein Zuschauer den Datenstrom über eine Punkt-zu-Punkt- Netzwerkverbindung empfängt und zeitnah in identischer oder reduzierter Form an zumindest einen weiteren Zuschauer überträgt,
- jeder Zuschauer entweder vom Produzenten oder einem anderen Zuschauer über eine Punkt-zu-Punkt-Netzwerkverbindung zeitnah mit dem Datenstrom in identischer oder reduzierter Form versorgt wird, und
- ein neuer Zuschauer, um Teilnehmer an der Übertragung zu werden, über eine Punkt- zu-Punkt-Netzwerkverbindung eine Teilnahmeaufforderung an eine Vermittlungsinstanz sendet,
d a d u r c h g e k e n n z e i c h n e t, dass
die Vermittlungsinstanz sowohl Teilnahmeaufforderungen von neuen Zuschauern, deren Netzwerkkennung von einem Zugangsrechner verborgen wird (NAT-Zuschauer) als auch von neuen Zuschauern, deren Netzwerkkennung nicht verborgen wird (Nicht-NAT- Zuschauer), aufnimmt und den neuen Zuschauer jeweils durch Vermittlung eines Teilnehmers an der Übertragung, der den Datenstrom zeitnah an den neuen Zuschauer übertragen kann, als neuen Teilnehmer in die Übertragung einbindet, indem
die Vermittlungsinstanz entweder an den neuen Zuschauer (erster Fall) oder an den vermittelten Teilnehmer (zweiter Fall) direkt oder über das bestehende Punkt-zu-Punkt- Netzwerk eine Aufforderung sendet, eine Punkt-zu-Punkt-Verbindung mit dem vermittelten Teilnehmer (erster Fall) bzw. dem neuen Zuschauer (zweiter Fall) aufzubauen, über die der vermittelte Teilnehmer dem neuen Zuschauer den Datenstrom zeitnah in identischer oder reduzierter Form überträgt.
2. Übertragungsverfahren nach Anspruch 1 , bei dem die Vermittlungsinstanz den neuen Zuschauer auf Sendung einer Teilnahmeaufforderung als neuen Teilnehmer in die Übertragung einbindet, indem
- die Vermittlungsinstanz feststellt, ob die Teilnahmeaufforderung von einem NAT- Zuschauer oder einem Nicht-NAT-Zuschauer gesendet wurde,
- die Vermittlungsinstanz im Fall, dass die Teilnahmeaufforderung von einem Nicht-NAT- Zuschauer gesendet wurde, dem neuen Zuschauer einen beliebigen Teilnehmer an der Übertragung vermittelt, der den Datenstrom zeitnah an den neuen Zuschauer übertragen kann, und an den vermittelten Teilnehmer (erster Fall) direkt oder über das bestehende Punkt-zu-Punkt-Netzwerk oder an den neuen Teilnehmer (zweiter Fall) oder an beide eine Aufforderung sendet, eine Punkt-zu-Punkt-Verbindung zu dem neuen Nicht-NAT- Zuschauer (erster Fall) bzw. dem vermittelten Teilnehmer (zweiter Fall) aufzubauen, über die der vermittelte Teilnehmer dem neuen Zuschauer den Datenstrom zeitnah in identischer oder reduzierter Form überträgt, und
- die Vermittlungsinstanz im Fall, dass die Teilnahmeaufforderung von einem NAT- Zuschauer gesendet wurde,
- dem neuen Zuschauer einen NAT-Teilnehmer an der Übertragung vermittelt, der den Datenstrom zeitnah an den neuen Zuschauer übertragen kann, wenn dieser eine Verbindung zu dem neuen NAT-Zuschauer aufbauen kann, und an den vermittelten NAT-Teilnehmer (erster Fall) direkt oder über das bestehende Punkt-zuPunkt-Netzwerk oder dem neuen Zuschauer (zweiter Fall) oder an beide eine Aufforderung sendet, eine Punkt-zu-Punkt-Verbindung zu dem neuen NAT-Zuschauer (erster Fall) bzw. dem vermittelten Teilnehmer (zweiter Fall) aufzubauen, über die der vermittelte Teilnehmer dem neuen Zuschauer den Datenstrom zeitnah in identischer oder reduzierter Form überträgt, oder
- dem neuen Zuschauer einen Nicht-NAT-Teilnehmer an der Übertragung vermittelt, der den Datenstrom zeitnah an den neuen Zuschauer übertragen kann, und an den neuen NAT-Zuschauer über die bestehende Punkt-zu-Punkt- Netzwerkverbindung eine Aufforderung sendet, eine Punkt-zu-Punkt-Verbindung zu dem Nicht-NAT-Teilnehmer aufzubauen, über die dieser dem neuen NAT- Zuschauer den Datenstrom zeitnah in identischer oder reduzierter Form überträgt.
3. Übertragungsverfahren nach Anspruch 1 oder 2, bei dem der Produzent ein NAT- Teilnehmer ist, dessen Netzwerkkennung von einem Zugangsrechner verborgen wird.
4. Übertragungsverfahren nach einem der vorhergehenden Ansprüche, bei dem bei Ausfall eines Zuschauers, der einen weiteren Zuschauer mit dem Datenstrom versorgt, ein anderer Teilnehmer an der Übertragung für die Versorgung des weiteren Zuschauers an Stelle des ausgefallenen Zuschauers tritt, indem zwischen dem weiteren Zuschauer und dem anderen Teilnehmer eine Punkt-zuPunkt-Netzwerkverbindung aufgebaut wird, über die dieser dem weiteren Zuschauer den Datenstrom zeitnah in identischer oder reduzierter Form überträgt.
5. Übertragungsverfahren nach Anspruch 4, bei dem eine Vermittlungsinstanz dem weiteren Zuschauer nach Senden einer entsprechenden Benachrichtigung den anderen Teilnehmer vermittelt, der dem weiteren Zuschauer den Datenstrom zeitnah in identischer oder reduzierter Form übertragen kann.
6. Übertragungsverfahren nach Anspruch 4 oder 5, bei dem jedem Zuschauer, der Teilnehmer der Übertragung wird,
- ein Teilnehmer an der Übertragung vermittelt wird, der den Zuschauer zeitnah mit dem Datenstrom versorgt, und
- zumindest ein weiterer Teilnehmer an der Übertragung bekannt gegeben wird, der den Datenstrom an den Zuschauer beim Ausfall des versorgenden Teilnehmers voraussichtlich zeitnah übertragen kann.
7. Übertragungsverfahren nach einem der vorhergehenden Ansprüche, bei dem die Vermittlungsinstanz dem neuen Zuschauer einen Teilnehmer an der Übertragung, der den Datenstrom zeitnah an den neuen Zuschauer übertragen kann, dadurch vermittelt, dass
a) die Vermittlungsstelle dem neuen Zuschauer über die Punkt-zu-Punkt- Netzwerkverbindung zumindest einen Teilnehmer an der Übertragung nennt,
b) geprüft wird, ob einer der genannten Teilnehmer den Datenstrom zeitnah an den neuen Zuschauer übertragen kann, c) im Fall, dass keiner der genannten Teilnehmer selbst den Datenstrom zeitnah an den neuen Zuschauer übertragen kann, einer der genannten Teilnehmer dem neuen Zuschauer zumindest einen weiteren Teilnehmer an der Übertragung nennt, und
d) die Schritte b) und c) wiederholt werden, bis ein Teilnehmer an der Übertragung gefunden ist, der den Datenstrom zeitnah an den neuen Zuschauer übertragen kann.
8. Übertragungsverfahren nach einem der vorhergehenden Ansprüche, bei dem ein Teilnehmer, dessen Netzwerkkennung von einem Zugangsrechner verborgen wird (NAT- Teilnehmer), nur solchen neuen Zuschauern vermittelt wird, deren Netzwerkkennung nicht verborgen wird (Nicht-NAT-Teilnehmer).
9. Übertragungsverfahren nach einem der vorhergehenden Ansprüche, bei dem ein Teilnehmer, dessen Netzwerkkennung von einem Zugangsrechner verborgen wird (NAT- Teilnehmer), nur dann einem Teilnehmer vermittelt wird, dessen Netzwerkkennung nicht verborgen wird (Nicht-NAT-Teilnehmer), wenn dem Nicht-NAT-Teilnehmer bereits zumindest ein weiterer Nicht-NAT-Teilnehmer vermittelt ist.
10. Übertragungsverfahren nach einem der vorigen Ansprüche, bei dem
- der Produzent die Übertragung des Datenstroms vor Beginn bei einer Vermittlungsinstanz anmeldet, und die Vermittlungsinstanz die Übertragung möglichen Zuschauern ankündigt, so dass diese über eine Punkt-zu-Punkt-Netzwerkverbindung eine Teilnahmeaufforderung an die Vermittlungsinstanz senden können.
11. Übertragungsverfahren nach Anspruch 10, bei dem die Zuschauer Beurteilungen einer Sendung oder eines Produzenten an die Vermittlungsinstanz melden, und die Vermittlungsinstanz diese Beurteilung in die Ankündigung weiter Sendungen des Produzenten einfließen lässt.
12. Übertragungsverfahren nach einem der vorigen Ansprüche, bei dem jeder Teilnehmer an der Übertragung den empfangenen Datenstrom kurzzeitig zwischenspeichert.
13. Übertragungsverfahren nach Anspruch 4 und 12, bei dem der weitere Zuschauer von dem ausgefallen Zuschauer mit dem Datenstrom mit einem Zeitversatz Δt versorgt wurde, und der andere Teilnehmer den weiteren Zuschauer mit dem Datenstrom aus seinen zwischengespeicherten Daten mit demselben Zeitversatz Δt versorgt.
14. Übertragungsverfahren nach Anspruch 12 oder 13, bei dem der bei jedem Teilnehmer auftretende Zeitversatz bei der Übertragung des Datenstroms über den Übertragungsbaum durch Zwischenspeicherung und verzögerte Darstellung so kompensiert wird, dass jeder der Teilnehmer den Datenstrom zu selben Zeit darstellen kann.
15. Übertragungsverfahren nach einem der vorigen Ansprüche, bei dem die Teilnehmer über die bestehenden Punkt-zu-Punkt-Verbindungen mit einer Vermittlungsinstanz Verbindungsdaten an diese übertragen, die Angaben enthalten, die ausgewählt sind aus der Gruppe: Anordnung der Teilnehmer im Übertragungsbaum; aktuelle Übertragungsraten; die Anzahl der Hops zwischen den Teilnehmern; Zeitverzögerung bei der Übertragung; und Paketverlustrate auf der Übertragungsstrecke.
16. Übertragungsverfahren nach Anspruch 15, bei dem die Vermittlungsinstanz auf Grundlage der übertragenen Verbindungsdaten die Struktur des Übertragungsbaums für möglichst optimale Empfangsqualität der Teilnehmer optimiert, und entsprechende Verbindungsaufnahme-, Verbindungsabbruch- oder Verbindungsänderungsaufforderungen an die Teilnehmer sendet.
17. Übertragungsverfahren nach einem der vorigen Ansprüche, bei dem die Zuschauer über die Punkt-zu-Punkt-Verbindungen Rückmeldungen an den Produzenten oder die Vermittlungsstelle übertragen können.
18. Übertragungsverfahren nach einem der vorigen Ansprüche, bei dem der Produzent ab einem bestimmten Zeitpunkt den Datenstrom oder Teile des Datenstroms nicht mehr ü- berträgt und ein anderer Teilnehmer für die Übertragung des Datenstroms oder der Teile des Datenstroms an Stelle des Produzenten tritt, indem
- der andere Teilnehmer die Daten über eine Punkt-zu-Punkt-Verbindung an den bisherigen Produzenten überträgt, der sie über die bestehenden Übertragungsverbindungen an die anderen Teilnehmer weiterleitet, oder indem
- der andere Teilnehmer die Daten über die bestehenden Übertragungsverbindungen an einen weiteren Teilnehmer mit ausreichender Sendekapazität weiterleitet, der den Datenstrom oder die Teile des Datenstroms über eine Punkt-zu-Punkt-Verbindung an den Produzenten überträgt.
PCT/DE2002/003558 2001-09-20 2002-09-20 Verfahren zum übertragen eines datenstroms von einem produzenten an eine mehrzahl von zuschauern WO2003026247A2 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
AT02782684T ATE289734T1 (de) 2001-09-20 2002-09-20 Verfahren zum übertragen eines datenstroms von einem produzenten an eine mehrzahl von zuschauern
US10/490,098 US7707302B2 (en) 2001-09-20 2002-09-20 Method for transmitting a data stream from a producer to a plurality of viewers
DE50202338T DE50202338D1 (de) 2001-09-20 2002-09-20 Verfahren zum übertragen eines datenstroms von einem produzenten an eine mehrzahl von zuschauern
EP02782684A EP1428371B1 (de) 2001-09-20 2002-09-20 Verfahren zum übertragen eines datenstroms von einem produzenten an eine mehrzahl von zuschauern
AU2002347063A AU2002347063A1 (en) 2001-09-20 2002-09-20 Method for transmitting a data stream from a producer to a plurality of viewers

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10146347.2 2001-09-20
DE10146347A DE10146347A1 (de) 2001-09-20 2001-09-20 Verfahren zum Übertragen eines Datenstroms von einem Produzenten an eine Mehrzahl von Zuschauern

Publications (2)

Publication Number Publication Date
WO2003026247A2 true WO2003026247A2 (de) 2003-03-27
WO2003026247A3 WO2003026247A3 (de) 2003-07-10

Family

ID=7699664

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2002/003558 WO2003026247A2 (de) 2001-09-20 2002-09-20 Verfahren zum übertragen eines datenstroms von einem produzenten an eine mehrzahl von zuschauern

Country Status (6)

Country Link
US (1) US7707302B2 (de)
EP (1) EP1428371B1 (de)
AT (1) ATE289734T1 (de)
AU (1) AU2002347063A1 (de)
DE (2) DE10146347A1 (de)
WO (1) WO2003026247A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707302B2 (en) 2001-09-20 2010-04-27 1 Mal 1 Software Gmbh Method for transmitting a data stream from a producer to a plurality of viewers

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6631410B1 (en) * 2000-03-16 2003-10-07 Sharp Laboratories Of America, Inc. Multimedia wired/wireless content synchronization system and method
GB2466098B (en) 2005-02-25 2010-12-15 Parker Hannifin Plc A coupling
JP4732972B2 (ja) * 2006-06-30 2011-07-27 株式会社エヌ・ティ・ティ・ドコモ アドホックネットワーク、ノード、経路制御方法、及び経路制御プログラム
US20110299427A1 (en) * 2009-04-14 2011-12-08 Thomas P Chu Method and apparatus for distributed media conferencing
US20100100897A1 (en) * 2009-12-18 2010-04-22 Manuel-Devadoss Johson Smith J Method and system to provide live entertainment digital content to the home viewers
US8806033B1 (en) * 2011-06-30 2014-08-12 Juniper Networks, Inc. Effective network identity pairing
US8838787B2 (en) * 2011-11-30 2014-09-16 Harman International Industries, Incorporated System for optimizing latency in an AVB network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001065767A2 (en) * 2000-03-01 2001-09-07 Chaincast, Inc. Method and system relating to multicasting
WO2001074076A1 (en) * 2000-03-28 2001-10-04 Coppe/Ufrj - Coordenação Dos Programas De Pós Graduação De Engenharia Da Universidade Federal Do Rio De Janeiro Distributed cooperative memory for interactive and scalable video-on-demand system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5884031A (en) * 1996-10-01 1999-03-16 Pipe Dream, Inc. Method for connecting client systems into a broadcast network
US7610607B1 (en) * 1999-02-19 2009-10-27 Chaincast Networks, Inc. Chaincast method and system for broadcasting information to multiple systems within the internet
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7222187B2 (en) * 2001-07-31 2007-05-22 Sun Microsystems, Inc. Distributed trust mechanism for decentralized networks
DE10146347A1 (de) 2001-09-20 2003-04-30 1 Mal 1 Software Gmbh Verfahren zum Übertragen eines Datenstroms von einem Produzenten an eine Mehrzahl von Zuschauern
US20030182428A1 (en) * 2002-03-19 2003-09-25 Jiang Li Peer-to-peer (P2P) communication system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001065767A2 (en) * 2000-03-01 2001-09-07 Chaincast, Inc. Method and system relating to multicasting
WO2001074076A1 (en) * 2000-03-28 2001-10-04 Coppe/Ufrj - Coordenação Dos Programas De Pós Graduação De Engenharia Da Universidade Federal Do Rio De Janeiro Distributed cooperative memory for interactive and scalable video-on-demand system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FURHT B ET AL: "IP SIMULCAST: A NEW TECHNIQUE FOR MULTIMEDIA BROADCASTING OVER THE INTERNET" CIT. JOURNAL OF COMPUTING AND INFORMATION TECHNOLOGY, ZAGREB, HR, Bd. 6, Nr. 3, September 1998 (1998-09), Seiten 245-254, XP000870379 ISSN: 1330-1136 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707302B2 (en) 2001-09-20 2010-04-27 1 Mal 1 Software Gmbh Method for transmitting a data stream from a producer to a plurality of viewers

Also Published As

Publication number Publication date
DE10146347A1 (de) 2003-04-30
ATE289734T1 (de) 2005-03-15
US20050055454A1 (en) 2005-03-10
AU2002347063A1 (en) 2003-04-01
US7707302B2 (en) 2010-04-27
WO2003026247A3 (de) 2003-07-10
EP1428371B1 (de) 2005-02-23
DE50202338D1 (de) 2005-03-31
EP1428371A2 (de) 2004-06-16

Similar Documents

Publication Publication Date Title
DE60212404T2 (de) Mehrfachsendung in paketvermittelten punkt-zu-punkt-netzwerken
DE102005033667B4 (de) Kommunikationssitzungs-Server-Einheit, Kommunikations-Endgerät, Broadcast-Server-Einheit, Netzwerkeinheit, Verfahren zum Steuern einer Kommunikationssitzung mit mehreren Kommunikations-Endgeräten, Verfahren zum Aufbauen einer Kommunikationssitzung, Verfahren zum Übertragen von Daten im Rahmen einer Kommunikationssitzung mittels einer Broadcast-Server-Einheit und Computerprogrammelemente
DE60111276T2 (de) Verfahren und vorrichtung zur mehrfachsendung in einem umts-netzwerk
DE60132433T2 (de) Sofortige nachrichtenübermittlung mit zusätzlicher sprachkommunikation
DE60118261T2 (de) Datenübertragung nach und von einem Mobil-Endgerät in einem Netzwerk
DE60108166T2 (de) Untergruppen-multicasting in einem kommunikationsnetz
DE602004011485T2 (de) Breitbandfernmeldesystem und darin verwendetes Verfahren zur Reduzierung der Latenzzeit eines Kanal-Zappings von einem Multimedia-Empfänger
DE60118269T2 (de) Verfahren und Vorrichtung zur Synchronisierung und Übertragung von Echtzeit-Medieninhalt in einem Paketnetz
LU87306A1 (de) Bilddarstellungsgeraet
DE60308013T2 (de) Verfahren zur Verteilung von Echtzeitdatenströmen über ein Multimedianetz sowie Vermittlungvorrichtung und Multimedianetz
DE69917925T2 (de) Steuerung einer angekündigten sitzung
DE112006002644T5 (de) Mediendatenverarbeitung unter Verwendung von charakteristischen Elementen für Streaming- und Steuerprozesse
EP1428371B1 (de) Verfahren zum übertragen eines datenstroms von einem produzenten an eine mehrzahl von zuschauern
DE60220802T2 (de) Verfahren zur verbreitung von inhalt ein erfassungsserver und empfänger
DE10004829B4 (de) Verfahren und Vorrichtung zum Übertragen von Dateneinheiten eines Datenstroms
EP1418758B1 (de) Verfahren und Vorrichtung zum Informationsaustausch sowie entsprechendes Computerprogramm-Erzeugnis und entsprechendes computerlesbares Speichermedium
DE102005039669B3 (de) Verfahren zum rechnergestützten Erstellen einer Abstimmungs-Nachricht, Verfahren zum rechnergestützten Ermitteln mindestens eines Abstimmungs-Ergebnisses, Verfahren zum rechnergestützten Bearbeiten einer Abstimmungs-Nachricht, Transportprotokoll-Steuerungsprotokoll-Einheit, Konferenz-Abstimmungs-Auswerte-Einheit, Konferenz-Servereinheit und Kommunikations-Endgerät
DE60205393T2 (de) Verfahren und vorrichtung zum empfang von rundsendedaten
EP2469885B1 (de) Verfahren zur Integration von Funktionen eines Telekommunikationsnetzes in ein Datennetz
DE102006002265B4 (de) Verfahren und System zum Rundfunk-basierten Ausstrahlen eines Videosignals
EP2030474B1 (de) Verfahren und anordnung zum aufbau von kommunikationsbeziehungen
DE60315731T2 (de) Verfahren und vorrichtung für punkt-zu-punkt mehrpunktdienste
WO2021008943A1 (de) Verfahren zur übertragung von videoinformation an ein telekommunikationsgerät, wobei die videoinformation eine mehrzahl an videoinformationsströmen umfasst, system, telekommunikationsgerät, inhaltebezogene hintergrund-servereinrichtung, computerprogramm und computerlesbares medium
DE60016594T2 (de) Verfahren und vorrichtung zum kommunikationsaufbau
WO2003034730A1 (de) Verfahren zur übertragung von kommunikationsdaten, video-konferenz- und video-chat-system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

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

AL Designated countries for regional patents

Kind code of ref document: A2

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

WD Withdrawal of designations after international publication

Free format text: DE

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

Ref document number: 2002782684

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002782684

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWE Wipo information: entry into national phase

Ref document number: 10490098

Country of ref document: US

WWG Wipo information: grant in national office

Ref document number: 2002782684

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP