This application is based on and hereby claims priority to German Application No. 10339497.4 filed on Aug. 27, 2003, the contents of which are hereby incorporated by reference.
1. Field of the Invention
The invention relates to a method for transmitting data in a data network and a corresponding device for processing data and a corresponding network.
2. Description of the Related Art
When transmitting multimedia data in a data network, the problem arises that the data is usually transported via a plurality of networks and therefore unpredictable fluctuations occur in the available bandwidths of the networks. This applies particularly in the case of transmission via wireless networks e.g. UMTS (UMTS=Universal Mobile Telecommunication Service), GPRS (GPRS=General Package Radio Service) and WLAN (WLAN=Wireless Local Area Network). At the critical network transition points, in particular in the case of a transition point from a wire-based network to a wireless network, it is desirable to adapt the data streams in a network node, e.g. a gateway server or a proxy server, in order to avoid overload situations and data packet losses resulting therefrom.
The related art discloses various solutions for adapting multimedia streams to bandwidth fluctuations. In a first solution, the quality of the data stream is monitored by the server which provides the multimedia data, and the data speed is adapted correspondingly in the event of packet losses. The disadvantage of this solution is a long response time, since the server is often very far away from the network points at which the bandwidth fluctuations occur.
As a second solution which is known from the related art, so-called TOS bytes (TOS=Type of Service) or DS bytes (DS=Differentiated Service) are used in the IP layer of the data packets, wherein various priorities of the packets can be flagged using these bytes. A gateway server, for example, is consequently able to recognize and if necessary discard unimportant packets in order to adapt the data speed. The disadvantage of this solution is that the bytes can be modified by all network computers on the path from the server to the client, and it is therefore impossible to guarantee integrity upon receipt at the gateway server.
According to a third alternative, the related art proposes monitoring the so-called RTP connection (RTP=Real Time Protocol) by a so-called Application Layer Gateway. The priority of the data packets can be recognized from the RTP payload of the RTP packets and corresponding measures can be derived therefrom. The disadvantage here is that this procedure is very resource intensive because the whole connection, in particular its setup and its modification, must be monitored in order that the RTP packets can be interpreted.
An aspect of the invention therefore is to address the problem of providing a method for transmitting data in a data network, which method simply and efficiently guarantees an adaptation of the data speed in the case of bandwidth fluctuations.
A method according to the invention provides for the data to be transmitted using at least one protocol having a plurality of layers, wherein the layers include a transport layer and a plurality of upper layers above the transport layer and a plurality of lower layers below the transport layer. In this context, the data transmission via layers relates to the OSI reference model (OSI=Open System Interconnection) which is sufficiently well known to a person skilled in the art. A method according to the invention is characterized in that the transport layer contains information from the upper layers. This means that the transport layer, which can easily be read and interpreted by a network computer and particularly by a gateway computer, provides information which originates from higher layers and therefore contains specifications relating to the application being executed and the session that has been established. With the aid of this information, a gateway server can prioritize the individual packets and effectively control the data speed by discarding data in accordance with a predetermined sequence.
In a particularly preferred embodiment of the invention, the information from the upper layers originates from an application layer and/or a session layer. In a further preferred embodiment, the information from the upper layers includes information relating to the application for which the transmitted data is provided. As a result, a gateway server can decide in particular to what extent the discarding of data packets could be problematic for the application.
In a particularly preferred embodiment of the invention, the information from the upper layers contains a priority level for the transmitted data. In this type of configuration, the transmitted data preferably includes encoded data and the priority level specifies how important the data is for correct decoding. The use of the priority level is particularly advantageous when transmitting encoded digitized images, wherein the reciprocal dependencies of the encoded images can be specified using the priority level in such a case. In particular, it is possible to specify here how the individual images depend on each other, i.e. which images preceding an image that must be decoded are required in order to allow a correct decoding.
In a particularly preferred embodiment, the RTP protocol is utilized for the data transmission in the upper layers. This protocol is sufficiently well known from the related art, and is utilized in particular for transmitting multimedia data.
In a further particularly preferred configuration of the invention, the DCCP protocol (DCCP=Datagram Congestion Control Protocol) which is currently being standardized by the IETF is utilized in the transport layer. If this protocol is used, the information from the upper layers is contained in particular in the CCval field of the generic header of the data which is transmitted in the DCCP protocol. Alternatively, however, the information from the upper layers can also be contained in the options field of the special header of the data which is transmitted in the DCCP protocol.
In addition to the above described method for transmitting data, the invention also relates to a device for processing data which is transmitted using the method, wherein the device includes a processor unit by which information from the upper layers can be read and processed, the information being derived from the data that is transmitted in the transport layer. The device is preferably a network computer, in particular a gateway server and/or a proxy server.
The invention also relates to a data network which includes the above mentioned device for processing data. In particular, the data network is a UMTS network and/or an IP network in this context.
These and other objects and advantages of the present invention will become more apparent and more readily appreciated from the following description of the exemplary embodiments, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout.
The lowest layer of the model is the physical layer PHYS, via which the transmission of the data bits takes place. Above this layer is the data link layer LINK, which provides suitable checking and error correction mechanisms for the data streams. Attached to the LINK layer is the network layer NET, where the route is selected via which the data will be carried. The NET layer uses the IP protocol (IP=Internet Protocol), for example. Connected to the NET layer is the transport layer TRANS, which today normally uses the known transport protocols TCP/UDP (TCP=Transport Control Protocol; UDP=User Datagram Protocol). The data is e.g. segmented into packets of suitable size in the TRANS layer. The session layer SESSION is situated above the transport layer and is used for synchronizing the communication in the data network. Attached to the session layer is a presentation layer PRES, and this is finally followed by the highest layer in the form of the application layer APPL, where the actual applications run. The RTP protocol (RTP=Real Time Protocol) is often utilized on the layers above the transport layer and is sufficiently well known to a person skilled in the art.
In the context of data transmission in the network in
In the currently described embodiment of the invention, a third algorithm GCCA (GCCA=Gateway Congestion Control Algorithm) can be initiated in addition to the two CCA algorithms, the third algorithm being executed by the gateway server 3 and used to adjust the data speed in the case of data bottlenecks at the air interface. In order for this GCCA algorithm to function, the algorithm must be given information about the importance of the data packets to be transferred, so that the algorithm can decide which data it can most readily discard in the event of bottlenecks, without resulting in significant impairment of the application for which the data is intended. Therefore it is necessary for the DCCP data packets to contain information about the priority of the individual transmitted data packets.
In the currently described embodiment, the CCval field in the DCCP header is utilized for transferring information relating to the priority of data packets. During the connection setup, the gateway server detects whether the GCCA algorithm is used. If this is the case, the gateway server knows that information relating to the importance of the data packets is contained in the CCval field. Depending on the value of the CCval field, and possibly also on the status or feedback of the data network, the gateway server can then make decisions with the aid of the GCCA algorithm, thereby deciding what should happen to the individual data packets. According to the invention, a preferred decision could be the binary decision whether the data packet is to be discarded or forwarded to the terminal.
The CCval field consists of four bits, i.e. the field can accept 16 different values in total. In addition to signaling the two CCA algorithms which are already provided, further interpretation possibilities of this field can therefore be implemented, from which further actions of the gateway computer can be derived. One possibility for the contents of the CCval field provides for using the size of the value in the CCval field to specify the importance of an encoded data packet for a subsequent correct decoding at the terminal. In this context, for example, the value zero in the field could signify: “Packet can be discarded without affecting the decoding of subsequent packets”. In contrast, the value 15 in the field could signify: “Do not discard, since it will no longer be possible to decode the next subsequent packets otherwise”. Using a signaling of this type, the gateway to the UMTS network in
A sequence of encoded digitized images is transmitted in a video data stream, wherein the individual data packets contain video frames by which encoded intraframes I, prediction frames P and bidirectional frames B are transmitted. The meaning of the individual frames is sufficiently well known to a person skilled in the art. An intraframe is encoded without using information from other frames. By contrast, a P frame requires information from preceding frames for correct decoding. A B frame is characterized in that inter alia its image information is not used by any of the other frames for encoding.
In a configuration of the GCCA algorithm, the individual frames could be assigned CCval values between 0 and 15 as follows:
I(15)P(14)P(14)B(0)P(13)P(13)B(0) . . . I(15).
In this context, the letter I, P or B signifies a data packet including an I frame, P frame or B frame respectively, and the number in parentheses corresponds to the CCval value which is used for the data packet.
From this sequence, a gateway computer could determine that if a packet is deleted all subsequent packets having a lower CCval value can be discarded, since correct decoding is no longer possible with such packets. For example, if the third packet of the above series is lost, all subsequent packets having a CCval value of less than or equal to 14 can be discarded.
This means that correct decoding only becomes possible again when a new intraframe having the CCval value 15 is transmitted.
More subtle dependencies between the individual frames are also possible in the video encoding. For example, individual prediction frames can be dependent not on the preceding frame but on the frame before the preceding frame. In order to allow for such a dependency, the above described signaling of video frames could be refined further by forming dependency classes containing CCval values. The classes could appear as follows, for example:
{0, 1, 14, 15}, {2, 3, 4, 5}, {6, 7, 8, 9}, {10, 11, 12, 13}
The CCval values of the first class express e.g. global substantive matter, such as the fact that all specified dependencies are reset. The second, third and fourth classes according to the above classification express dependencies between data packets, wherein data packets having CCval values of the same class are dependent on each other. For example, the signaling I(15)P(5)P(9)P(4)P(8)P(3)P(7) would signify:
If the second packet having the CCval value 5 is lost, all packets having CCval values 5, 4, 3, 2 are discarded by the gateway until a reset is sent using the CCval value 15. On the other hand, packets having the CCval values 9, 8, 7, 6 are nonetheless still allowed though by the gateway server since they belong to a different class. By contrast, if the fourth packet having the CCval value 4 is lost, only packets having the CCval values 4, 3, 2 need be discarded, while the packets having CCval values from the other classes or having higher CCval values within the same class need not be discarded.
The above described method essentially provides for information relating to the importance of the data packets to be transferred during the data transmission, wherein such information can be extracted from the layers that are situated above the DCCP transport layer.
The invention has been described in detail with particular reference to preferred embodiments thereof and examples, but it will be understood that variations and modifications can be effected within the spirit and scope of the invention covered by the claims which may include the phrase “at least one of A, B and C” as an alternative expression that means one or more of A, B and C may be used, contrary to the holding in Superguide v. DIRECTV, 69 USPQ2d 1865 (Fed. Cir. 2004).
Number | Date | Country | Kind |
---|---|---|---|
10339497.4 | Aug 2003 | DE | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP04/51705 | 8/4/2005 | WO | 2/27/2006 |