Method and Computer Program for Sending a Data Packet, Method and Computer Program for Receiving a Data Packet, Communication Unit and Motor Vehicle with Communication Unit
20210144099 · 2021-05-13
Assignee
Inventors
Cpc classification
H04L67/568
ELECTRICITY
H04L12/413
ELECTRICITY
H04L12/40163
ELECTRICITY
International classification
H04L12/413
ELECTRICITY
Abstract
The present invention relates to a method (100) for sending a data packet (430, 440) from a first communication unit (300) of a communication system via a transmission channel that is shared with at least one further communication unit (500). The method (100) comprises determining (110) a current access priority for the shared transmission channel by the first communication unit (300), wherein the current access priority is directed towards data currently transmitted over the transmission channel. The data packet (430, 440) is segmented (120) into packet segments (432, 434), wherein the packet segments (432, 434) have a priority value (410) which corresponds to a priority value (410) of the data packet (430, 440). The method also comprises sending (130) the packet segments (432, 434) from the first communication unit (300) via the shared transmission channel, wherein the packet segments (432, 434) are sent successively depending on the priority value and the current access priority.
Claims
1. A method (100) for sending a data packet (430, 440) from a first communication unit (300) of a communication system via a transmission channel that is shared with at least one further communication unit (500), wherein access is provided to the communication units on the shared communication channel according to a round-robin method, the method (100) comprising: determining (110) a current access priority for the shared transmission channel by the first communication unit (300), wherein the current access priority is directed towards data currently transmitted over the transmission channel; segmenting (120) the data packet (430, 440) into packet segments (432, 434), wherein the packet segments (432, 434) have a priority value (410) which corresponds to a priority value (410) of the data packet (430, 440); sending (130) the packet segments (432, 434) from the first communication unit (300) via the shared transmission channel, wherein the packet segments (432, 434) are sent successively depending on the priority value and the current access priority.
2. The method (100) according to claim 1, wherein the sending of the data packet (430, 440) is interrupted when the access priority exceeds the priority value of the packet segments (432, 434), and/or wherein the sending of the data packet (430, 440) is continued when the value of the access priority falls to a value that is the same as or less than the priority value of the packet segments (432, 434).
3. The method (100) according to one of the preceding claims, wherein the data packet corresponds to a first data packet (430) with a first priority value, and wherein the sending of packet segments (432, 434) of the first data packet (430) is interrupted when packet segments (442, 444) of a second data packet (440) with a higher second priority value are available in the first communication unit (300).
4. The method (100) according to one of the preceding claims, wherein the segmenting is performed by means of a control unit of the first communication unit (300) configured to control the transmission channel.
5. The method (100) according to one of the preceding claims, wherein a maximum size of a packet segment (432, 434) is set depending on the transmission channel and/or depending on the type of communication units (300, 500) of the communication system.
6. The method (100) according to one of the preceding claims, wherein the packet segments (432, 434) are transmitted via a wired transmission channel of a local communication system.
7. The method (100) according to one of the preceding claims, wherein the packet segments (432, 434) are provided to a physical layer of the communication system.
8. The method (100) according to one of the preceding claims, wherein a particular segment header is added to each packet segment (432, 434, 438), wherein the segment header at least indicates when a packet segment (432) is a first or a last packet segment (438) of a data packet (430).
9. A method (200) for receiving a data packet (430) at a first communication unit (500), wherein the data packet (430) is transmitted via a shared transmission channel of a communication system with the first communication unit (500), the method (200) comprising: receiving (210) a packet segment (432, 434) from another communication unit (300) of the communication system; determining (220) a priority value (410) of the packet segment (432, 434), and caching the packet segment (432, 434) assigned to the other communication unit (300) and depending on the priority value of the packet segment (432, 434); and outputting (230) the data packet (430) composed of the received packet segments (432, 434) after receiving all packet segments (432, 434, 436, 438) constituting the data packet (430).
10. The method (200) according to claim 9, wherein packet segments (432, 434) of the data packet (430, 440) cached following the reception of a last-received packet segment (432, 434) of a data packet (430, 440) are deleted after a given dead time, and/or wherein cached packet segments (432, 434) of a data packet (430, 440) with the lowest priority value of all cached segments (432, 434) are deleted if cache is scarce.
11. The method (200) according to claim 10, wherein the dead time is set depending on the priority value of the data packet (430, 440).
12. The method (200) according to one of claims 9 to 11, wherein caching packet segments (432, 434) of new data packets (430, 440) in the first communication unit (500) is suspended when cache is scarce.
13. A computer program for performing one of the methods (100, 200) according to one of claims 1 to 12 when the computer program runs on a computer, a processor, or a programmable hardware component.
14. A communication unit (300, 500) for transmitting a data packet (430, 440) via a shared transmission channel, wherein the communication unit is configured to perform one of the preceding methods (100, 200) according to one of claims 1 to 12.
15. A motor vehicle with a communication system that comprises a shared transmission channel, wherein the communication system has at least one communication unit (300, 500) according to claim 14.
Description
[0041] In the following, examples of the present invention will be described in greater detail with reference to the attached drawings. In the following:
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048] In one example, the method 100 is executed in a motor vehicle. For example, a first communication unit can be a radar sensor that sends messages or data packets to a control unit to execute automated driving functions of the motor vehicle, for example via a shared 10 Mbit/s Ethernet channel. A second communication unit can be a switch for opening and closing a window that also sends data to the control unit. If the switch has sent first packet segments of a message, the radar sensor can interrupt the message from the switch in order to send a message since the radar sensor can have a higher priority than the switch. For example, the switch can then send remaining packet segments of the message when the message from the radar sensor is completely sent.
[0049] For example, the first communication unit can be a microphone that must send time-critical data packets in order to ensure high audio quality. It is possible for the microphone to share a transmission channel with a control unit that sends large data packets. Through the proposed segmentation, it is possible for messages from the microphone to interrupt the long messages from the control unit, for example if the microphone has a higher priority than the control unit. An advantageous high quality of service (QoS) can for example be achieved by the segmenting and the priority-based assignment of access rights.
[0050]
[0051] The methods 100, 200 can for example be used in industrial control and regulation, as well as in building automation and/or railway technology as well as in aeronautics and shipping.
[0052] It is possible to use the Ethernet networking technology, for example with a data rate of 10 Mbit/s in vehicles. In contrast to other methods, for example with data rates of 100 Mbit/s or 1 Gbit/s, a jointly used transmission channel (shared medium) can be used. This means that a maximum of one network participant may transmit on the joint transmission medium at one point in time. Some vehicle systems fall into the class of real-time systems. This means that for example error-free transmission may include not just the integrity of data such as data packets, but also the timeliness of the transmission. To ensure that the joint transmission medium is not unnecessarily blocked by a message such as a data packet that can have a lower requirement on the time behavior than other messages or data packets, a prioritization can occur when accessing the bus, for example by an access priority. Consequently, this can allow messages with a low priority to only be transmitted when no higher priority (higher prioritized) messages are pending for transmission. When configuring the time behavior of the network (such as a maximum anticipated transmission latency), it is for example possible to take into account that the transmission of a message with a low priority and maximum permissible size has already started. Other bus access methods may perhaps not allow such a transmission on the joint transmission channel to be interrupted by another communication participant when he wishes to transmit a message with a higher priority. Consequently, according to other methods, the end of the current transmission must be waited out in order to then send a new message (for example with a high priority). The wait time that thereby arises could be reduced by exclusively transmitting comparatively small messages with a short transmission time.
[0053] Messages or data packets that are transmitted within vehicle networks are however often comparatively large. Within Ethernet-based networks, typically messages (Ethernet frames) with a size of 1500 bytes can be used to transmit larger data volumes. Within a network with a data transmission rate of 10 Mbit/s, a 1500-byte message requires about 1.2 ms to transmit. This can mean that to transmit a high priority (high prioritized) message, for example an additional wait time of at least 1.2 ms must always be scheduled for the arbitration of the network.
[0054] When using the proposed method, the wait time that must be scheduled can be reduced. The proposed method can be employed for use in real-time systems since it takes into account the use of priorities. Messages of a high-priority can interrupt messages of a low priority without data loss occurring. After the interruption, the previously interrupted message can for example be continued and compiled into the original form in the receiver(s); for example, packet segments can be recompiled into data packets.
[0055] Examples of the method can be converted into an Ethernet-based system in a media access controller (MAC). For example, the Ethernet standard IEEE 802.1Q provides eight different priorities, wherein a priority 0 corresponds to the lowest priority, and a priority 7 corresponds to the highest priority. MACs with consideration of priority can possess several (typically 8) sending queues. A scheduler can ensure that the messages from the queue with the highest priority are always transmitted first, and only when this queue is empty are messages transmitted from queues with a low priority. The reception of prioritized messages functions for example according to a similar principle. The MAC has access to several (typically 8) receiving queues. Once it receives a message, it can place it in the associated queue and issue a notification (typically a hardware interrupt) to a processor. Associated (software) applications then for example retrieve the data from the receiving queues. With applications having low time requirements (with which for example large communication latencies are permitted), this is done for example with a larger time delay than is the case with applications having very high time requirements (with which for example lower communication latencies are needed). The behavior of several queues can make it possible for messages with a low priority (that for example are retrieved with a larger time delay) to not be able to “clog up” the receiving queues. Since the transmission of messages with a high priority can always occur quickly, (all) the messages such as data packets are divided up into smaller segments (the packet segments) when sending according to the method described herein and recompiled in the receiver. Messages with a high priority can also be segmented according to this method since several participants in the network may wish to send with this priority, and they thereby have the same opportunity (fair behavior) to start sending the message within a certain time.
[0056] To perform the proposed method, a sender is proposed such as the communication unit for sending the data packet. The message to be sent can be located at the frontmost position of the queue with the currently highest priority. The segmentation mechanism can generate a segment header that can be sent together with a previously defined number of bytes of the message. Actual sending only occurs when the network participant receives sending access to the joint communication medium (after arbitration, for example by comparing the priority of the data packet with the current access priority). For a vehicle network with a data rate of 10 Mbit/s, for example 64 bytes is a potential segment size. The transmission time of a segment including the segment header can then be approximately 54 □s. This allows for example fast control and regulation systems to also be realized. After the first segment of the message has been sent, the segmenting apparatus can generate the next segment (following segment) and also send it. Only when for example all segments of the message have been sent is the message removed from the sending queue. The last segment of a message can be shorter than the other segments of the message, except if the message is for example a precise multiple of the segment size.
[0057] According to the method, it is unnecessary for the sender to send all segments belonging to a message one directly after the other. It is for example conceivable that, at a first point in time, the message with the highest priority possesses the priority 3 and the network participant starts to send the first segments of this message. Then, however, another message may appear in the queue with the priority 4. Consequently, the participant for example first does not send any other segments of priority 3, but rather starts to send segments of the message with the priority of 4. This can also for example be interrupted when for example messages with the priority of 5 or higher arrive to be sent or appear. The previously interrupted message for example with the priority of 3 is for example only continued when no messages are in the queues of a higher priority. Advantageously, the system can be configured so that there are 8 priorities. Consequently, a recursive interruption can occur up to a depth of 7.
[0058]
[0059] According to the method, messages of a lower priority can be interrupted by messages of a higher priority and then continued at the same point. In this regard,
[0060] For example, a segment header can be added to the packet segments. The task of the segment header can consist of recompiling the message into the original form in the receiver. The segment header does not have for example any reference to the content of the message. Since a receiver can receive messages from several senders, it must be able to assign the sender from which a particular segment comes. Each sender has for example up to 8 sending queues. The receiver must for example know the queue, or respectively the priority to which the segment belongs. Within a queue, the sequence of the packet or data segments is unambiguous so that for example no information regarding the sequence has to be transmitted. It can be advantageous to separately mark the first segment of a message. This makes it possible for example to recognize when a message has concluded and when a new message begins. When there is for example transmission errors or a loss of synchronization, the receiver can reject all segments of a queue for example until it receives the beginning of a new message. The last segment of a message can for example also be marked. This allows the segmenting mechanism in the receiver to recognize when the message has been completely received and can be processed further. For example, a notification (such as an interrupt) is then sent to an application. The identity of the sending network participant must for example only be unambiguous within the network segment. The network-wide unambiguous addressing is achieved by the header of the message, such as an Ethernet header. Consequently, for example 10 bits are therefore sufficient to identify the sender (for 1024 possible network participants). For example, 3 bits (0 to 7) are needed to address the queue. Together with the bit that indicates whether it is an initial segment, as well as the bit that indicates whether it is the concluding segment, for example 15 bits are therefore needed for the segment header. The size of headers can for example be configured to be a multiple of 8 bits. This simplifies for example the byte-wise access to the data. For this reason, an additional bit can be introduced that for example can be sent as an indicator of future expansions. The total segment header is for example 2 bytes long.
[0061] For example, a receiver is proposed that is configured to receive packet segments that it can compose into a data packet. In a network with a jointly used communication medium, for example each participant (for example each communication unit) receives all data segments and must independently decide whether the data segment is intended for it or can be rejected. The information on the receiver(s) for which the message is intended is for example in a header of the message (for example not in a segment header). With messages in the Ethernet format, this can be the Ethernet header. According to the method described here, the receiver address can always be in the first segment of a message. With the Ethernet frame format, the receiver address occupies for example the first 6 bytes of the 18-byte large header. Consequently, segments much smaller than 64 bytes are for example also possible. First, the network participant rejects for example segments until he receives an initial segment. For example, the receiver address is extracted from the initial segment or initial frame. In the case of Ethernet addresses, this can be a unicast address (addressed precisely to one receiver), a multicast address (addressed to several receivers) or a broadcast address (addressed to all receivers). If the receiver has ascertained that the message to which the received segment belongs must be received, the segment is for example copied to an internal memory of the segmenting mechanism or the communication unit. In addition, the receiver extracts for example the sender ID as well as the queue ID from the segmenting header. In a “list of partially received messages” in an internal memory, the receiver can note for itself that it has received a part of a message with a specific sender ID and queue ID, and/or the memory sector (buffer) in which the first segment was saved. For example, references to memory sectors for other received segments can be added to the list entry. From this point in time, the receiver also evaluates all following segments (the bit for the initial segment is not set) in addition to all initial segments that are sent via the joint communication medium once the sender ID and queue ID of the previously saved values correspond. If a following segment is received that belongs to a message which is already partially received, this can also be copied to a memory segment of the receiver. The address of the memory segment is for example saved after the address of the initial segment in a “table of partially received messages”. If a segment is received that has set the final segment bit, a message for example has been completely received. Then all segments of the message can be copied from the memory sector of the segmenting mechanism into a receiving queue. For example, one network participant possesses several receiving queues, for example eight—one queue for each priority class. For example, only completely received messages are copied to the queues. Subsequently, a notification (such as an interrupt) can be initiated to process the received data. Moreover, previously used memory sectors can be again released within the segmenting mechanism (for example a cache of the receiver). This relates to for example the segment buffers of all associated segments, as well as for example the entry into a “list of partially received messages”. It is for example possible for messages to be small enough for them to fit in a single segment. In this case, both the bit for the initial frame as well as for the final frame can be set in the segment header. Since other segments do not have to be waited for when receiving such a segment, the message can be copied directly into the receiving queue. If the receiver receives an initial segment that contains the same sender ID and queue ID as one that is already in the “list of partially received messages”, this indicates for example an error since the previous message was obviously not completely transmitted from the queue of the sender or was for example lost along the way. Since the partially transmitted message may perhaps no longer be able to be completed, all previously received corresponding segments in the receiver are for example discarded. Instead, the new initial segment can be saved. This makes it possible for example to ensure that the required memory for partially transmitted messages does not grow infinitely. The size of a message (such as an Ethernet frame) does not have to be a multiple of the maximum segment size. This means for example that the last segment of a message is smaller than the other segments. Once all segments of a message have been received, the content of all segments is for example copied into a message object in the receiving queue.
[0062]
[0063] Examples show variation and optimization options of the method, for example an adjustable maximum segment size. The size of packet segments or segments can for example deviate from a size of 64 bytes. Depending on whether the network is to be configured for maximum data throughput or minimum communication latency, it may be advantageous to adapt this value. The method is configured according to the examples such that it is possible to send segments that are smaller than the maximum segment size. This is for example the case with the final frame. The setting of the maximum segment size can therefore primarily have an influence on the sender. The receiver can for example be able to process segments of any size when using this option.
[0064] One exemplary optimization has a compatibility with unsegmented messages. This improvement provides that the receiver is able to read both segmented messages (packet segments) as well as unsegmented messages (complete data packets) from the bus or transmission channel. This can for example yield backwards compatibility to systems that do not yet support the segmenting mechanism. It is also possible for only large messages to be segmented. Small messages (smaller than or equal to the segment size) can then for example be transmitted without the additional segment header. In order to implement this expansion, it is for example necessary for the receiver to be able to distinguish unsegmented messages from message segments. To accomplish this, for example an additional feature is needed. In order to obtain backwards compatibility, it is for example not possible to miss unsegmented messages with an additional feature. One possibility of achieving this in an Ethernet network is for example an adaptation of the Ethernet frame preamble. An Ethernet frame begins for example with a 64-bit long sequence in the form of “101010 . . . 1011”. A message segment can for example begin with a different preamble. A suggestion for this is for example “10101000”. This four-bit-long preamble significantly differs from that of an unsegmented standard frame.
[0065] One exemplary optimization relates to a checksum in the segment header. Transmission errors in the area of the segment header can for example be disadvantageous since the data in certain circumstances could be sorted to an incorrect receiving queue. Consequently, it can be provided to additionally transmit a checksum. For methods of this kind, an 8-bit CRC can be advantageous.
[0066] One exemplary optimization relates to omitting a sender ID in the segment header. Depending on which bus access method is used, a transmission of the sender ID in the segment header may be omitted in certain circumstances. With the PLCA bus access method, for example each network participant already possesses an ID by means of which the bus access sequence is regulated. By using the point in time at which the message segment appears on the transmission medium, the network participant can for example clearly establish the other participant from which the segment is coming. In order to also be able to use this information for desegmenting (compiling the packet segments), an adaptation is provided for example of the interface between the Ethernet PHY component that controls the network access and the Ethernet MAC component that contains the segmenting mechanism described herein as well as the sending and receiving queues. The normally used interface between the PHY and MAC transmits for example only the content of the received data, but however not the position of the data within the communication cycle. Consequently, an expansion of the interface is proposed here for transmitting the position of the data within the communication cycle. This can be realized by additional bits in the data stream.
[0067] One exemplary optimization relates to considering the sender ID in the CRC without an explicit transmission. Even if the sender ID is not transmitted within the segment header, it may be advantageous to take this into account when calculating the CRC. This can allow errors in the arbitration method, in the PHY, or in the communication between the PHY and MAC to not lead to misguided segments being inserted in a wrong message.
[0068] One exemplary optimization relates to the regulation of the required memory in the receiver. The available memory in the segmentation mechanism can be limited in principle so that a lack of available memory may occur for example depending on the received data segments. In the proposed method, each network participant possesses for example eight sending queues, and for example 1023 (10 bits-1) other participants may be on the network. If each participant starts sending a large message such as 1500 bytes for each queue (corresponding to 24 segments of 64 bytes each) to everyone, the segmenting mechanism in all the receivers must be able to cache more than 12 Mbytes of data for incompletely received messages. This might be associated with high costs. Consequently, methods are proposed for getting by with significantly less memory. Received segments of partially transmitted messages should for example be discarded as early as possible if it can be assumed that the missing part of the message will not be transmitted in order to be able to use the memory for other messages.
[0069] To accomplish this, one exemplary optimization correspondingly relates to the recognition of lost segments. An expansion of the method provides that a counter is contained in the segment header. If during the transmission individual segments are lost, this can for example be recognized by a jump >1 in the value of the counter between two adjacent segments. It must be assumed that the received message is incomplete even if a final segment is received at some point. Incompletely received messages do not need to be passed on to the next highest network levels since they may be rejected there in any case. The optimization provides deleting all received segments as well as the entry in the “list of partially received messages” once a jump of the counter value >1 is recognized.
[0070] One exemplary optimization relates to the recognition of dead connections. If a communication partner (communication unit) or a network connection fails before a message has been completely transmitted, this would cause the memory of the already received segments of a message to not be released until the next reset before a message has been completely transmitted according to the above-described method. The optimization provides recognizing such “dead connections” and releasing the blocked memory. To accomplish this, the segmenting mechanism requires for example a local time reference in order to determine the age of the last received segment and for example to release the memory when a limit value (maximum permissible age) has been exceeded. The local time reference can be realized by a local oscillator and a counter. Upon each reception of a segment, the current counter value is saved in the “list of incompletely received messages” as a “time of the last received segment”. At regular intervals, the “list of incompletely received messages” can be checked to see if there are for example entries where the difference between the “time of the last received segment” and the current counter value exceeds a given value. If this is the case, for example the entry as well as all referenced segments are deleted, and the memory is released. The value (timeout) as of which a connection can be considered “dead” can be set by a register.
[0071] One exemplary optimization relates to a recognition of dead connections due to low priority (low prioritized) segments. In the previously described method, a network participant only sends segments of a message with a specific priority when there is no message in a sending queue with a higher priority. If this behavior is known to the receiver and it receives a segment for example with the priority of 4, it can for example conclude that the queues with priorities 5, 6 and 7 are empty. If entries from the same sender with this priority are in the “list of incompletely received messages”, it can be assumed that these messages will not be completed. The optimization provides deleting these entries from the list and releasing the associated memory of all previously received segments.
[0072] One exemplary optimization relates to a queue-dependent timeout. In real-time systems, messages with a very short permissible communication latency are assigned to a queue with a high priority (such as 7), and messages with a very long permissible communication latency are assigned to a queue with a lower priority. With messages that are intended for a queue with a high priority (information is for example in the segment header), the permissible wait period for recognizing a dead connection can be chosen to be much shorter than is the case with messages that are still valid after a long wait period. Consequently, it can be advantageous to be able to individually set the timeout value for each queue (typically 7). This allows memory to for example be released earlier.
[0073] One exemplary optimization relates to a refusal of new messages when memory is scarce. After memory has been released, the normal way is to completely receive a message and transmit the data to the next protocol layer (via the reception queue). The aim of the optimization when memory is getting low is not to use any memory for new messages (initial segment), but rather to only attempt concluding already started messages. For this purpose, a threshold is set. Once the amount of the allocated memory has exceeded this value, all initial segments are ignored for example by the segmenting mechanism, and only following and final segments of messages that have already started are processed.
[0074] One exemplary optimization relates to an interruption of connections with low priority when memory is scarce. Messages that are transmitted using a queue with a low priority allow for example an additional delay (communication latency). It is therefore sometimes possible for such messages to interrupt the transmission in the event that the receiver is overloaded and repeat the transmission at a later point in time. With messages that only permit a very short communication latency, this is for example impossible. The optimization therefore provides that segments from low priority messages can be deleted, for example when the available memory is insufficient for completely receiving a high priority message. This measure is for example employed when the available memory is actually entirely used up. By deleting partially received messages, for example free memory is created for several new segments. The incomplete message with the lowest priority can then be deleted. If several messages with the same low priority exist and the “time of the last received segment” is known, the message can be deleted whose time is the oldest. The probability is minimal that this message will be soon completed.
[0075] Further exemplary embodiments are computer programs for executing at least one of the above-described methods, if the computer program runs on a computer, a processor, or a programmable hardware component. Depending on specific implementation requirements, exemplary embodiments of the invention can be implemented in hardware or in software. The implementation can be performed using a digital storage medium such as a floppy disk, DVD, Blu-ray disc, CD, ROM, PROM, EPROM, EEPROM or flash memory, hard disk, or another magnetic or optical memory on which electronically-readable control signals are saved that interact or can interact with a programmable hardware component so that the respective method is performed.
[0076] A programmable hardware component can be formed by a processor, a computer processor (CPU=central processing unit), a graphics processor (GPU=graphics processing unit), a computer, a computer system, an application-specific integrated circuit (ASIC), an integrated circuit (IC), a single chip system (SOC=system-on-a-chip), a programmable logic element or a field-programmable gate array with a microprocessor (FPGA=field-programmable gate array).
[0077] The digital storage medium can therefore be machine or computer-readable. Several exemplary embodiments therefore comprise a data carrier that has electronically-readable control signals which are capable of interacting with a programmable computer system or a programmable hardware component such that one of the methods described herein is performed. An exemplary embodiment is accordingly a data carrier (or a digital storage medium or a computer-readable medium) on which the program for performing one of the methods described herein is recorded.
[0078] In general, exemplary embodiments of the present invention can be implemented as a program, firmware, computer program or computer program product with a program code or as data, wherein the program code or the data is, or respectively are effective in performing one of the methods when the program runs on a processor or a programmable hardware component. The program code or the data can for example also be saved on a machine-readable carrier or data carrier. The program code or the data can inter alia exist as source code, machine code or byte code as well as another intermediate code.
[0079] The above-described exemplary embodiments merely represent an illustration of the principles of the present invention. Of course, modifications and variations of the arrangements and details described herein are apparent to other persons skilled in the art. It is therefore intended that the invention is only restricted by the scope of protection of the following claims, and not by the specific details which were presented herein with reference to the description and the explanation of the exemplary embodiments.
LIST OF REFERENCE NUMBERS
[0080] 100 Method for sending a data packet [0081] 110 Determining an access priority [0082] 120 Segmenting of the data packet [0083] 130 Sending the packet segments [0084] 200 Method for receiving a data packet [0085] 210 Receiving a packet segment [0086] 220 Determining a priority value [0087] 230 Outputting of a data packet [0088] 300 Sender [0089] 310 First sending queue [0090] 312 Second sending queue [0091] 314 Third sending queue [0092] 320 Memory [0093] 400 Sending protocol [0094] 410 Priority [0095] 420 Time axis [0096] 430 First data packet [0097] 432, 434, 436, 438 Packet segments of the first data packet [0098] 440 Second data packet [0099] 442, 444, 446, 448 Packet segments of the second data packet [0100] 450 Third data packet [0101] 452, 454 Packet segments of the third data packet [0102] 460 Fourth data packet [0103] 470 Fifth data packet [0104] 500 Receiver [0105] 510 First receiving queue [0106] 512 Second receiving queue [0107] 514 Third receiving queue