RTVP Open Research D. Aleksandrov Internet Draft: Radio and Television Protocol December 2003 Document: draft-aleksandrov-radio-and-television-protocol-00.txt Radio and Television Protocol STATUS OF THIS MEMO This document is an Internet-Draft and is NOT offered in accordance with Section 10 of RFC2026, and the author does not provide the IETF with any rights other than to publish as an Internet-Draft Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/1id-abstracts.html The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html This document expires 1 June 2004 ABSTRACT The purpose of the assignment is to emphasise on the necessity of available transport protocol for public broadcast of audio-video data in a packet switching network, in particular in Internet. A theoretic scheme of such protocol is suggested, conventionally called RTVP - Radio and Television Protocol. The spreading of information, that the teoretic protocol is trying to achieve, is general, i.e. independence in loading the supplying radio and television program server from the number of viewers has been sought. The purpose also is to achieve receiving quality which is independant from the number of viewers. The theoretical RTVP achieves these goals by implementing the radio transmitting idea in a packet switching network. D. Aleksandrov [Page 1] Internet-Draft Radio and Television Protocol December 2003 TABLE OF CONTENTS 1. AUDIO AND VIDEO PROGRAMS TRANSMISSION BY RADIO DISPERSION ........ 2 2. DATA PACKING. RULES BY TRANSMISSION OF PACKETS ................... 2 3. PRIMARY AND LOGICAL RADIO AND TELEVISION PROGRAM TRANSMITTERS .... 5 4. POSSIBLE RTVP IMPLEMENTING IN IP ................................. 7 5. HYPOTHETICAL RTVP ACCORDING TO THE OSI MODEL ..................... 7 6. MAKING THIS DEVELOPMENT CONCRETE ................................. 9 7. CONCLUSION ....................................................... 9 8. PUBLICITY OF THE DEVELOPMENT. COPYRIGHT STATEMENT ................ 10 9. SECURITY CONSIDERATIONS ......................................... 10 10. AUTHOR'S ADDRESS ................................................ 11 11. REFERENCES ...................................................... 11 1. AUDIO AND VIDEO PROGRAMS TRANSMISSION BY RADIO DISPERSION Real time information transmission, containing sound or/and picture, is common practice. The purpose of the section is to define the main characteristics, then to look for a mechanism to achieve these particular characteristics in a computer network. A radio dispersion characteristic that draws attention is the presence of full synchrony between the sender and the receivers from the human perceptional point of view and according to the size of the Earth. The receiver immediately gets the information sent without any danger of delay or split in intervals, in which case the pauses in-between could lead to delay. Another very valuable radio dispersion quality is the senderÆs independence from the number of receivers, located in the covered area. Consequently, the price of the program (the effort to accomplish it) is constant and it could be easily planned. It is necessary for the receivers, on the other hand, just to be in the senderÆs covered area, to receive the program with constant quality, and not be affected from the other consumers. A radio and television main quality is also the one-way flow of information. The lack of feed-back could be a disadvantage but in cases of mass-media it is natural. The radio and television transmission has one more special feature. There is no need for the listener (viewer) his receiver to obtain the full flow of information containing the program, to interpret it correctly. Even a radio station that is badly received could be used for listening of news or music, although the pleasure from this is not complete. 2. DATA PACKING. RULES BY TRANSMISSION OF PACKETS We will make an experiment with a common television transmitter and a mobile receiver. In the beginning of the experiment let the receiver be very near the transmitter. We begin moving it in a straight line, away from the transmitting point. As we move further, the receiving quality D. Aleksandrov [Page 2] Internet-Draft Radio and Television Protocol December 2003 will start to change - there will be interference in picture; the sound if it is stereo, will become mono; the quality of the picture will gradually become worse and worse and there will be also sound interference. In a certain moment, at a certain point away from the transmitter, the program can not be received anymore. In this kind of experiments it is interesting to trace the ability of interpreting the program properly while the receiver is moving. The information, fed by a certain sender, is available to the listener/viewer until almost reaching the point of not receiving the program. This is due to the adaptation of human perception. Naturally, the details and the pleasure in watching/listening the program are different, but the possibility to follow the information sent is preserved. Our aim is to accomplish such cascade with packet audio-video data. When mass-media is considered, using computer network as an area for distribution, the one that sends information could not know how many listeners (viewers) there would be. Hardware and network (as connection speed) clientsÆ abilities are unknown. Consequently, data has to be sent with such structure that the receivers could choose what they can or want to receive from it adaptively. Besides, the principle of synchrony has to be observed. The information sent is packed. Let (s) packets be generated with total maximum size k[b] for a certain time period (t). If for every (t) the client receives the corresponding (s) packets, the program will be fully viewed. The methods for reserving network resources [1 - 2] assume a choice of s(t)-value that satisfies both sides and they seek a mechanism to fulfill it. This mechanism could hardly guarantee access to the transferred information for unlimited number of users. For a client, unable to receive all (s) packets there has to be a mechanism to remove those that come too much. For this purpose, information could be structured according to its importance. The criteria of importance has to be the possibility for correct interpreting. Let the server, that feeds with information, numbers the packets from 1 to (n) for every time interval (t). Besides, let time intervals be numbered in cycles from 1 to (q). If these indices are written in the packets which have been sent, there would be information flow, indexed as follows: (1,1), (1,2)... (1,n), (2,1), (2,2), ... (2, n), (3,1) à (q-1, n), (q, 1), ... (q, n), (1, 1)... The purpose by this numbering is that the n-value shows the packetÆs importance for information interpreting. It has to be modulated on several levels, complement to one another. The possible modulation mechanisms are not subject of this assignment. For every time interval the packets with the smallest n-value bring information from the first D. Aleksandrov [Page 3] Internet-Draft Radio and Television Protocol December 2003 level, after them follow these from the complement second level and s.o. The q-values have to go through a full cycle for time longer than the life time/ number of hops determined as maximum for the respective network. (In IP [3] case and if TTL is set to its biggest value, it is for 256 sec at least.) Its purpose is that no pair of packets should be received with the same indices (q, n) without a clear chronology. The introduced indices are directly connected to the Application network layer, but in the model developed here, they are implementing in the Network layer. It exercises the functions of data limiting, when the client can not fully receive it. We assume that the network layer distinguishes the packets carrying radio or television data. We will call them RTVP packets for convenience. Let the receiverÆs traffic be routed through the only gateway. Let the gateway manipulate the passing packets according to these rules: 1) The routing host maintains different queues for RTVP packets of every pair program of server - client. Each queue of this kind is always sorted, according to the subsequence of indices (q, n). In the queue outgoing to client FIFO, instead of RTVP packets, pointers to the corresponding queues that contain them are maintained. When a pointer reaches the exit, the packet that stands at the exit of the corresponding RTVP queue is transmitted. 2) Every RTVP packet newly arrived is added to its relevant queue, if there is no packet in it, that has the same or smaller index (n) and index (q) of a previous time interval. In this case in the queue outgoing to client FIFO a pointer according to Rule No1 is added. 3) When a RTVP packet arrives, in case there is one with the same or smaller index (n) and index (q) of a previous time interval in the queue, all previous time interval packets are removed. In the queue outgoing to client FIFO, as many pointers are removed, as the number of the packets lessens in the corresponding RTVP queue. The removal of the pointers begins from the youngest one in time. These actions of the gateway ensure: - Synchrony of the client with server. Removal of old packets guarantees that any non-current information will not be received. After a packet is received with the same or bigger number from next time interval, the client has already fallen behind the transmittion at least with (t) and this has to be compensated. - Keeping the maximum information principle. The packets with most information are always put in the first place - with the smallest numbers for the corresponding time interval. - Democracy in transmission. RTVP packets do in no way hinder or outdistance the remaining transfer. They take place for transmission along with the rest of the packets. Transmission of "places" from the queue to the client is by keeping strictly to the FIFO model. D. Aleksandrov [Page 4] Internet-Draft Radio and Television Protocol December 2003 Example: Let packets (2, 4); (2, 5) etc. correspond to the pointers in the outgoing queue to the client till the end of the complete set of information. Due to a delay they are not transmitted, and during the same time the data begins to arrive from the program for the next time unit. Packet (3,1) will be added to the queue, according to the formulation above. After that packets (3, 2) and (3, 3) will be stored. If the packet (2, 4) standing in queue is still undelivered and a packet with numbers (3, 4) or bigger numbers arrives, it is obvious that the client falls behind from sending with at least one time interval. In this case all packets (2, *) will be removed. Packet (3, 1) would now be correspondent to the exit-closest pointer in the queue to the client. The application of the rules defined leads to unreliable data delivery in real time between two directly connected hosts. The scheme was made with assumption that all RTVP packets reach the gateway in time or it generates them itself. The transmission of the requested data type in a complicated network with a multitude of gateways, routers, clients and servers is viewed in the next section. 3. PRIMARY AND LOGICAL RADIO AND TELEVISION PROGRAM TRANSMITTERS Let the presented RTVP packets processing scheme is valid for the Network layer [4] of all hosts (incl. gateways and routers) in the network. The problem with the synchrony of data is solved with the described Transport layer behavior, but not the problem with the server independence, generating the program from the clients. With the radio dispersion this independence is complete. In this case relative independence is viewed. The single clients, who want to receive the program on the same server do not need individual data sessions. If there are any, same information will be transmitted repeatedly. The better option is data to be sent to one or several different hosts and to be multiplied by them, so it can be transmitted to the clients. Transmission through radio dispersion is made according to this principle. The program is generated in a studio, after that it is sent to transmitters, and every consumer makes settings to receive the signal of the one, which covers his area. We will call "primary transmitter" the program generating host where the server is working. We will call "local transmitters" hosts, whose data multiply, so it can reach several clients. The hosts and not the servers working on them are viewed, because once again the data manipulation is taking place in the Network layer basically. The suggested rules for RTVP data transportation are: 1) A client, who wants to receive RTVP program, gives a request to the server host and renews it every definite time interval (f). The first and repeated requests can not be discerned. 2) Each host, routing a clientÆs RTVP request according to item 1) turns on a timer for the corresponding client, server and program. It is D. Aleksandrov [Page 5] Internet-Draft Radio and Television Protocol December 2003 active for time (p), where f