Method and apparatus for p2MP communication

The class-based cyclic access and deterministic collision resolution mechanism in shared media environments address the limitations of PLCA and PPLCA by ensuring flexible priority assignment and bounded latency, enhancing communication efficiency and scalability for time-sensitive applications.

WO2026114509A1PCT designated stage Publication Date: 2026-06-04HUAWEI TECH CO LTD +1

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2024-11-29
Publication Date
2026-06-04

AI Technical Summary

Technical Problem

Existing point-to-multipoint (P2MP) communication technologies in shared media environments, such as PLCA and PPLCA, suffer from unpredictability, extended latency, and limited scalability due to fixed priority structures, which are inadequate for time-sensitive applications and flexible priority handling.

Method used

A method and apparatus that utilize a class-based cyclic access mechanism with deterministic collision resolution, where transmission opportunities are assigned based on data priority classes, ensuring flexible priority assignment and bounded latency through a sequential and cyclic monitoring of transmission opportunities, combined with a deterministic tree splitting mechanism for collision resolution.

Benefits of technology

This approach achieves deterministic network access with predictable maximum latency, reduced overhead, and improved scalability by ensuring that higher-priority data is transmitted efficiently while maintaining flexibility in handling varying transmission priorities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024084175_04062026_PF_FP_ABST
    Figure EP2024084175_04062026_PF_FP_ABST
Patent Text Reader

Abstract

This disclosure relates to a data transmission method for a shared medium network. The method is applied to a transmitter and comprises determining a priority of data to be transmitted and mapping this priority to a corresponding priority class using a preset mapping relationship. A plurality of transmission opportunities associated with priority classes are monitored, where these opportunities are arranged in a sequential and cyclic manner. When a priority class associated with a transmission opportunity matches the priority class of the data to be transmitted, the data is transmitted in the matched transmission opportunity. This approach provides deterministic access to the shared medium while maintaining flexibility in handling varying transmission priorities, making it particularly suitable for time-sensitive applications in industrial automation and in- vehicle networks.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] METHOD AND APPARATUS FOR P2MP COMMUNICATION

[0002] TECHNICAL FIELD

[0003] The present disclosure generally relates to the field of communication technology. For instance, the present disclosure provides a method and apparatus for data transmission, so as to ensure deterministic point-to-multipoint (P2MP) communication.

[0004] BACKGROUND

[0005] In shared media environments, multiple devices or nodes typically connect via a single cable, sharing a common collision domain. Such configurations are particularly relevant in industrial automation and in-vehicle networking applications, where cost-effectiveness and simplified wiring are important considerations.

[0006] For managing network access in such shared media environments, various protocols have been developed. A widely implemented approach utilizes Carrier Sense Multiple Access with Collision Detection (CSMA / CD), as employed in traditional Ethernet protocols. In CSMA / CD systems, nodes sense the carrier before transmission and implement collision detection mechanisms during transmission. When collisions occur, the protocol employs exponential back-off mechanisms for collision resolution. However, collisions and exponential back-off resolution mechanisms in CSMA / CD introduce unpredictability and extended latency.

[0007] SUMMARY

[0008] A development in the field is the IEEE 802.3cg standard (10BASE-T1S), which introduced Single Pair Ethernet (SPE) with Physical Layer Collision Avoidance (PLCA). PLCA implements a cyclic access mechanism where nodes receive allocated Transmission Opportunities (TO) during each cycle.

[0009] PLCA operates on a cyclic network access mechanism, where each node is sequentially assigned a TO based on its unique ID. Notably, PLCA relies on CSMA / CD for channel sensing. At the beginning of each cycle, a BEACON is sent to signal the start of a new PLCA cycle, initializing the TO counters across all nodes. When the TO counter matches a node's ID, it may either transmit a COMMIT message to reserve its TO opportunity followed by the data packet or yield the opportunity by staying silent. After each transmission or time-out, the TO counter increments, and the next node has the opportunity to send.

[0010] While PLCA reduces collisions, it is insufficient for time-sensitive applications that require tighter latency bounds. Network access in PLCA is determined by the node ID only, leading to higher-priority data being delayed by lower-priority transmissions. Additionally, the access latency grows with the number of nodes in the network, limiting scalability. For instance, in an 8-node network at 10 Mbps, PLCA bounds access latency to around 8.574 ms, which fails to meet the requirements of time-sensitive applications. Overall, standard PLCA lacks priority awareness.

[0011] Recent developments in this field include priority-based extensions to PLCA (PPLCA), which aim to accommodate urgent transmission requirements through node prioritization mechanisms. PPLCA builds on PLCA by adding an Inter-Packet Gap (IPG) phase that allows priority nodes to interrupt the PLCA cycle and transmit data with lower latency. Each priority node has a unique priority value, and during the IPG phase, priority nodes request fast transmission in their assigned slots. Only when all priority nodes yield their fast transmission opportunity can the node with ID match the TO counter transmit. This ensures that higher-priority data can be transmitted before the regular PLCA cycle resumes. Though PPLCA offers low bounded latency for priority nodes, it suffers from inflexibility and scalability issues. In PPLCA, only specific nodes are given fixed priorities. Only specific nodes are assigned fixed priorities, meaning that these nodes are the only ones capable of sending high-priority data, regardless of the actual urgency of the transmitted data. Furthermore, as the number of nodes or priority nodes increases, the overhead introduced by the PLCA cycle and IPG increases, respectively, causing extended latency. Thus, PPLCA faces high overhead and has limited scalability due to the fixed priority structure and additional cycles.

[0012] There exists a need for transmission control that can provide enhanced deterministic behavior while efficiently handling varying transmission priorities in a shared media environment.

[0013] In view of the above, an objective of this disclosure is to provide a transmission control solution that achieves deterministic network access in shared media environments while maintaining flexibility in handling varying transmission priorities. Further objectives may include ensuring predictable maximum latency, achieving a scalable transmission control solution, and reducing overhead.

[0014] This and other objectives are achieved by the solutions of the present disclosure, as described in the independent claims. Advantageous implementations are further defined in the dependent claims.

[0015] A first aspect of the present disclosure provides a data transmission method applied to a transmitter. The transmitter is located in a shared medium network. The network comprises a plurality of transmitters (including the transmitter of the first aspect). The method comprises the following steps: determining a priority of data to be transmitted; determining a priority class of the data corresponding to the priority based on a preset mapping relationship; monitoring a plurality of transmission opportunities associated with priority classes arranged in a sequential and cyclic manner; and in response to determining that a priority class associated with a transmission opportunity matches the priority class of the data, transmitting the data in the matched transmission opportunity.

[0016] In this way, a flexible priority-based transmission can be achieved while maintaining bounded latency due to cyclic predictability.

[0017] The plurality of transmission opportunities are time resources for data transmission, and can be seen as a plurality of time windows (or time durations) each eligible for a specific kind of data transmission. According to the present disclosure, whether a data transmission is eligible for a specific transmission opportunity is determined based on the priority class of the data to be transmitted. That is, each transmission opportunity is dedicated / reserved for transmitting data of a respective priority class. The length of each transmission opportunity depends on whether there is any data transmitted and the length of the data being transmitted. For instance, if there is no data transmitted, the length of the transmission opportunity may be equal to a preset timeout. All the transmitters are configured to wait for the preset timeout to see if there is any data transmission. If there is no data transmission during the timeout, all the transmitters increment the eligible priority class for transmission for a subsequent transmission opportunity. If there is data transmission, the length of the transmission opportunity may be equal to a length needed for completing the data transmission.

[0018] In an implementation form of the first aspect, the step of monitoring the plurality of transmission opportunities and transmitting the data comprises the following steps: initializing a class counter equal to one (or the highest priority class) for each cycle; for each of the plurality of transmission opportunities in the cycle: in response to determining that the priority class of the data is not equal to the class counter, waiting for a preset timeout of the respective transmission opportunity during which no data is sent and incrementing the class counter by one, or after the respective transmission opportunity is used by a further transmitter other than the transmitter to send data, setting the class counter equal to one; in response to determining that the class of the data is equal to the class counter, transmitting the data in the respective transmission opportunity as the matched transmission opportunity and setting the class counter equal to one.

[0019] In this way, the overhead can be reduced.

[0020] It is noted that the class counter being initialized to one shall be generally understood that the class counter is initialized to the highest class. For priority class [1, K] (K is the number of supported priority classes): a class k=l may denote the highest priority, or a class k=K may denote the highest priority. In the former case, the TO counter is initiated to 1, and is incremented by one after each timeout of no data transmission (TO counter ++). In the latter case, the TO counter is initiated to K, and is decremented by one after each timeout of no data transmission (TO counter — ).

[0021] In a further implementation form of the first aspect, the step of transmitting the data in the matched transmission opportunity comprises the following steps: sending a message for reserving the matched transmission opportunity; in response to determining that there is no collision of the message, transmitting the data.

[0022] Optionally, the message may be a COMMIT message. This can be used to avoid collision of data transmissions from multiple transmitters in a same transmission opportunity.

[0023] In a further implementation form of the first aspect, in response to determining a collision where one or more further reservation messages exist for reserving the matched transmission opportunity, employing a deterministic tree splitting mechanism to resolve the collision and transmit the data.

[0024] Instead of using a random tree splitting mechanism, the deterministic tree splitting mechanism can ensure a bounded latency.

[0025] In a further implementation form of the first aspect, for performing the tree splitting mechanism, the method comprises: determining a quantity C of collided messages for reserving the matched transmission opportunity; splitting the plurality of transmitter into a number of C groups based on identities of the transmitters, such that only one group is allowed to transmit; if the group allowed to transmit is resolved, a subsequent group is allowed to transmit; if there is a collision in the group allowed to transmit, iterating the tree splitting mechanism in the group that has the collision.

[0026] This can provide scalable collision resolution with predictable worst-case performance, thus ensuring a bounded latency.

[0027] In a further implementation form of the first aspect, the method further comprises receiving, from a network device or a master transmitter, one or more of the following: a quantity of transmitters in the network; identification information of the transmitter; a number of supported priority classes; information on the preset mapping relationship; and a duration of the timeout.

[0028] Optionally, when the one or more parameters are not received, a default value may apply. The default value may be preset (e.g., according to related specification, or during network initialization, which are not limited in the present disclosure).

[0029] In a further implementation form of the first aspect, the transmitter is a master transmitter. The method comprises determining and sending (e.g., broadcasting), in the network, one or more of: a quantity of transmitters in the network; identification information of the plurality of transmitters; a number of supported priority classes; information on the preset mapping relationship; and a duration of the timeout.

[0030] A second aspect of the present disclosure provides a transmitter for transmitting data in a shared medium network. The network comprises a plurality of transmitters. The transmitter is configured to: determine a priority of data to be transmitted; determine a priority class of the data corresponding to the priority based on a preset mapping relationship; monitor a plurality of transmission opportunities associated with priority classes arranged in a sequential and cyclic manner; and in response to determining that a priority class associated with a transmission opportunity matches the priority class of the data, transmit the data in the matched transmission opportunity.

[0031] In an implementation form of the second aspect, for monitoring the plurality of transmission opportunities and transmitting the data, the transmitter is configured to: initialize a class counter equal to one for each cycle; for each of the plurality of transmission opportunities in the cycle: in response to determining that the priority class of the data is not equal to the class counter, wait for a preset timeout of the respective transmission opportunity during which no data is sent and increment the class counter by one, or after the respective transmission opportunity is used by a further transmitter other than the transmitter to send data, set the class counter equal to one; in response to determining that the class of the data is equal to the class counter, transmit the data in the respective transmission opportunity as the matched transmission opportunity and set the class counter equal to one.

[0032] In a further implementation form of the second aspect, for transmitting the data in the matched transmission opportunity, the transmitter is configured to: send a message for reserving the matched transmission opportunity; in response to determining that there is no collision of the message, transmit the data. In a further implementation form of the second aspect, in response to determining a collision where one or more further reservation messages exist for reserving the matched transmission opportunity, the transmitter is configured to employ a deterministic tree splitting mechanism to resolve the collision and transmit the data.

[0033] In a further implementation form of the second aspect, for performing the tree splitting mechanism, the transmitter is configured to: determine a quantity C of collided messages for reserving the matched transmission opportunity; split the plurality of transmitter into a number of C groups based on identities of the transmitters, such that only one group is allowed to transmit; if the group allowed to transmit is resolved, a subsequent group is allowed to transmit; if there is a collision in the group allowed to transmit, iterate the tree splitting mechanism in the group that has the collision.

[0034] In a further implementation form of the second aspect, the transmitter is configured to receiving, from a network device or a master transmitter, one or more of the following: a quantity of transmitters in the network; identification information of the transmitter; a number of supported priority classes; information on the preset mapping relationship; and a duration of the timeout.

[0035] In a further implementation form of the second aspect, the transmitter is a master node and is configured to sending (e.g., broadcast), in the network, one or more of the following: a quantity of transmitters in the network; identification information of the transmitter; a number of supported priority classes; information on the preset mapping relationship; and a duration of the timeout.

[0036] The transmitter of the second aspect may share the same optional features and technical effects as the method of the first aspect.

[0037] A third aspect of this disclosure provides a communication system comprising a plurality of wireless communication device. Each device is according to the second aspect.

[0038] A fourth aspect of the present disclosure provides a computer program product comprising a program code for performing the method according to the first aspect or any implementation form thereof, when executed on a computer.

[0039] A fifth aspect of the present disclosure provides a computer-readable medium comprising instructions which, when executed by a computer, cause the computer to carry out the method according to the first aspect or any implementation form thereof.

[0040] A sixth aspect of the present disclosure provides a chipset comprising instructions which, when executed by the chipset, cause the chipset to carry out the method according to the first aspect or any implementation form thereof.

[0041] It has to be noted that all apparatus, devices, elements, units, and means described in the present application could be implemented in software or hardware elements or any kind of combination thereof. All steps which are performed by the various entities described in the present application as well as the functionalities described to be performed by the various entities are intended to mean that the respective entity is adapted to or configured to perform the respective steps and functionalities. Even if, in the following description of specific embodiments, a specific functionality or step to be performed by external entities is not reflected in the description of a specific detailed element of that entity, which performs that specific step or functionality, it should be clear for a skilled person that these methods and functionalities may be implemented in respective software or hardware elements, or any kind of combination thereof.

[0042] BRIEF DESCRIPTION OF DRAWINGS

[0043] The above-described aspects and implementation forms will be explained in the following description of specific embodiments in relation to the enclosed drawings, in which:

[0044] FIG. 1 shows a schematic diagram of a communication system and a plurality of transmission opportunities;

[0045] FIGs. 2A-2D show an example of a tree resolution mechanism;

[0046] FIG. 3 shows a diagram of a cyclic access mechanism;

[0047] FIG. 4 shows a diagram of a cyclic access mechanism integrated with collision resolution; and

[0048] FIG. 5 shows a diagram of a data transmission method.

[0049] DETAILED DESCRIPTION OF EMBODIMENTS

[0050] FIG. 1 shows a schematic diagram of a communication system 100 and a plurality of transmission opportunities 110, 120. The system 100 comprises a plurality of communication devices 101, 102 103 (also referred to as nodes). The nodes are connected using a shared medium. According to this disclosure, a class-based cyclic access is disclosed for data transmission, where each transmission opportunity (TO) 110, 120 is given to each priority class (simply referred to as class) sequentially, so as to ensure a reduced latency for data with higher priorities.

[0051] The class-based cyclic access operates on a cyclic mechanism, where every class k E [1, / f] is sequentially assigned a shared transmission opportunity 110, 120 as show in FIG. 1. K <= P and P is the number of total priorities used by the nodes in the network 100. It is noted that labels 1, 2, ... , K shown in FIG. 1 is for annotation purposes only and shall not be interpreted as a beacon. All the nodes share a same cycle and are configured to independently keep and update a common class TO counter.

[0052] As an example, there are a total of P=8 priorities of data. The number of data priorities may be specified by related communication protocol specifications and / or configured by the network. In this example, priority 1 denotes the highest priority, and priority 8 denotes the lowest priority. There may be a total of K=4 priority classes in the network 100 for transmission opportunity. The number of classed may be configured by the network or by a master node, and it may be notified to all the nodes in the network. Each data priority may be mapped to a respective class based on a preset mapping relationship or a mapping rule (e.g., based on a maximum number of priorities in a same class). For instance, shown in FIG. 1, priorities 1 and 2 may be mapped to class 1 ; priorities 3 and 4 may be mapped to class 2, and so on.

[0053] When a node has a data to be transmitted, the node is configured to determine a priority of the data. Based on the preset mapping relationship, a respective class of the data to be transmitted can be determined. The node is configured to monitor a plurality of transmission opportunities associated with classes arranged in a sequential and cyclic manner in a time resource of the network 100. In response to determining that a class associated with a transmission opportunity matches the class of the data, the node is configured to transmit the data in the matched transmission opportunity.

[0054] For instance, node 102 (with node ID #2) have a packet with priority 3. According to the mapping relationship, the packet is associated with class 2. Node 102 thus monitors the transmission opportunities. When the transmission opportunity associated with class 2 arrives, Node 102 can arrange transmission of the data in the corresponding transmission opportunity. In another case where there has been a successful data transmission in the class 1 transmission opportunity, a new cycle begins. FIG. 1 merely represents an expected transmission order and a general data transmission behavior: data with high-priority class is transmitted before data with low-priority class.

[0055] For transmitting the data in the matched transmission opportunity, the node may be configured to send a message for reserving the matched transmission opportunity. In response to determining that there is no collision of the message (i.e., no other node sends the reservation message), the node is configured to transmit the data in the matched transmission opportunity.

[0056] For instance, at the beginning of transmission opportunity associated class 2, node 102 may send a COMMIT message. If there is no other nodes sending the same COMMIT message in the same transmission opportunity, node 102 can transmit the data.

[0057] When there is a collision, two or more nodes tries to reserve the same transmission opportunity (e.g., multiple COMMIT messages are sent in the same transmission opportunity), a tree resolution / splitting mechanism based on node ID may be used to resolve the collision.

[0058] FIGs. 2A-2D show an example of a tree resolution mechanism, where it is assumed that in an 8-node network, two nodes collide at every step.

[0059] In general, when a collision occurs, the nodes are split into C groups / branches, where the number of groups / branches C equals the number of collided nodes. These groups are formed by dividing the range of node IDs, with each group containing users whose IDs fall within specific subranges.

[0060] Only one group is allowed to transmit in the transmission opportunity, starting with the first group. If a collision occurs again within that group, the process is repeated, further splitting that group into smaller subgroups, each with a smaller subrange, creating new branches in the tree structure. In each collision, a split occurs until there is only one node left in the group / branch.

[0061] Once no collision occurs, only one node transmits successfully, or no transmission occurs, further groups can proceed and resolve their transmission.

[0062] For instance, FIG. 2A shows a split tree when there are two collided nodes. FIG. 2B shows an example where node #1 and node #7 collide. Nodes 1 to 8 ([1, 8]) are split into two branches: [1, 4] and [5, 8], Node #1 and node # 7 are in the respective branch without collision. Therefore, after one collision of the reservation messages of node # 1 and node #7, node # 1 and node #7 can transmit their data in respective slots.

[0063] FIG. 2C shows an example where node #1 and node #2 collide. According to the split tree shown in FIG. 2A, nodes 1 to 8 is split until node #1 and node #2 are in separate branches. In this case, after three (successive) collisions of their reservation messages, node # 1 and node #2 can transmit their data in respective slots.

[0064] FIG. 2D shows an example where node #7 and node #8 collide. According to the split tree shown in FIG. 2A, nodes 1 to 8 is split until node #7 and node #8 are in separate branches. In this case, after three collisions of the reservation messages of node #7 and node #8 plus timeout for branch [1, 4] and timeout for branch [5, 6] (to make sure there is no transmission from nodes 1 to 6), node #7 and node #8 transmit their data in respective slots. This would be the worst case (longest delay) that would happen for an 8-node network.

[0065] FIG. 3 shows a diagram of a cyclic access mechanism according to the present disclosure. Once a node has any packet to send, the node is configured to determine a priority of the packet and the corresponding class. Then, the node is configured to monitor transmission opportunities that are sequentially and cyclically rotated in time. Once a matched transmission opportunity arrives, the node is configured to arrange a packet transmission, e.g., by sending a packet transmission request and initiating the transmission.

[0066] In general, each node is configured to initialize a class counter equal to one for each cycle. For each of the plurality of transmission opportunities in the cycle: each node is configured to: in response to determining that the priority class of the data is not equal to the class counter, wait for a preset timeout of the respective transmission opportunity during which no data is sent and incrementing the class counter by one, or after the respective transmission opportunity is used by a further transmitter other than the transmitter to send data, set the class counter equal to one; in response to determining that the class of the data is equal to the class counter, transmit the data in the respective transmission opportunity as the matched transmission opportunity and set the class counter equal to one.

[0067] FIG. 4 shows a diagram of a cyclic access mechanism integrated with collision resolution. An example algorithm of collision resolution may be as follows.

[0068] In general, each node is configured to determine a quantity C of collided messages for reserving the matched transmission opportunity and split the identities the plurality of transmitter into a number of C groups. Only one group is allowed to transmit, which may start from a group with smaller node IDs. If the node ID falls in the group allowed to transmit, the respective node is configured to announce the data transmission. If no collision, the respective node can start transmission. In case of collision, the group is split again, and the same steps are iterated until collision is resolved. After the group allowed to transmit is resolved, a subsequent group is allowed to transmit.

[0069] In general, the worst-case number of iterations for successful transmission is bounded to: logcN 1 + (C - l)(| ofircTV 1 - 1), where N is the number of transmitters in the network, and C is the number of collided messages, i.e., the number of nodes requesting transmission.

[0070] Thus, a deterministic resolution mechanism is achieved and a bounded latency can be ensured. The worst-case of latency for the highest priority class packet may be bounded by:

[0071] T = Tpkt+ \logcTV] ■ Tc+ (C - 1) ■ ( logcIV] - 1) ■ TTO, where TTOis the timeout of each transmission opportunity (no transmission occurs), Tcis the duration to transmit a reservation message (e.g., a COMMIT message), and Tpklis the duration of the current data transmission.

[0072] It is noted that each node may be configured to receive one or more of the following parameters for performing the algorithms in FIG. 3 and FIG. 4: a quantity of transmitters N in the network; identification information of the transmitter (e.g., node ID); a number of supported priority classes (K); information on the preset mapping relationship; and a duration of the timeout.

[0073] The one or more parameters may be received from the network (e.g., a network management entity) or from a master node. A node with the smallest ID may act as a master node. For instance, referring to FIG. 1, node 101 with the smallest node ID=1 is the master node. The master node is configured to determine and notify the one or more parameters in the network. How to determine the one or more parameters is not related to the present disclosure. Any means commonly known in the field to collect or determine the one or more parameters may be used.

[0074] If some of the parameters (e.g., the timeout duration, the supported data priorities and / or priority classes) are not notified, each node may be configured to apply a default value.

[0075] FIG. 5 shows a diagram of a data transmission method 50. The method 50 is applied to a transmitter in a shared medium network comprising a plurality of transmitters. The method 50 comprises the following steps.

[0076] Step 51 : determining a priority of data to be transmitted.

[0077] Step 52: determining a priority class of the data corresponding to the priority based on a preset mapping relationship.

[0078] Step 53: monitoring a plurality of transmission opportunities associated with priority classes arranged in a sequential and cyclic manner in the network

[0079] Step 54: in response to determining that a priority class associated with a transmission opportunity matches the priority class of the data, transmitting the data in the matched transmission opportunity.

[0080] The steps of the method 50 may share the same features introduced above with respect to FIGs 1-4.

[0081] In general, the present disclosure provides a cyclic-based network access in shared media environments. The cyclic-based network access may be combined with a deterministic collision resolution mechanism. The present disclosure can achieve ultra-low bounded latency by ensuring that priority packets experience minimum and bounded delays, which is crucial for timesensitive applications. Further, priority is not fixed to specific nodes with specific values. Instead, priority can be assigned based on the data being transmitted at every cycle. Thus, more flexibility is introduced. The class-based cyclic access and the resolution mechanism operates with significantly lower overhead, since transmission opportunities are associated with a respective class eligible for transmission. There is no need for any explicit signaling. Unlike the traditional methods where the overhead increase with the number of nodes, in the resolution mechanism of the present disclosure, the overhead is dependent to the number of nodes sharing the same priority every cycle. Therefore, the scalability is improved. Overall, the communication efficiency can be improved, since available network resources are better used.

[0082] The present disclosure can be applied to any point-to-multipoint (P2MP) communication networks, such as but not limited to a 10BASE-T1S Ethernet network (IEEE P802.3cg), or a network based on 10BASE-T1M (IEEE P802.3da).

[0083] The transmitter in the present disclosure may comprise processing circuitry (not shown) configured to perform, conduct or initiate the various operations of the method described in the present disclosure. The processing circuitry may comprise hardware and software. The hardware may comprise analog circuitry or digital circuitry, or both analog and digital circuitry. The digital circuitry may comprise components such as application-specific integrated circuits (ASICs), field-programmable arrays (FPGAs), digital signal processors (DSPs), or multi-purpose processors. In an example, the processing circuitry comprises one or more processors and a non-transitory memory connected to the one or more processors. The non-transitory memory may carry executable program code which, when executed by the one or more processors, causes the transmitter to perform, conduct or initiate the operations or methods described herein, respectively.

[0084] This disclosure has been described in conjunction with various embodiments as examples as well as implementations. However, other variations can be understood and effected by those persons skilled in the art and practicing the claimed subject matter, from the studies of the drawings, this disclosure and the independent claims. In the claims as well as in the description the word “comprising” does not exclude other elements or steps and the indefinite article “a” or “an” does not exclude a plurality. For example, the user-defined code indicated by the data request may comprise a series of executable binaries and / or commands.

[0085] A single element or another unit may fulfill the functions of several entities or items recited in the claims. The mere fact that certain measures are recited in the mutual different dependent claims does not indicate that a combination of these measures cannot be used in an advantageous implementation.

Claims

CLAIMS1. A data transmission method (50) applied to a transmitter in a shared medium network comprising a plurality of transmitters, the method (50) comprising: determining (51 ) a priority of data to be transmitted; determining (52) a priority class of the data corresponding to the priority based on a preset mapping relationship; monitoring (53) a plurality of transmission opportunities associated with priority classes arranged in a sequential and cyclic manner; and in response to determining that a priority class associated with a transmission opportunity matches the priority class of the data, transmitting (54) the data in the matched transmission opportunity.

2. The method (50) according to claim 1, wherein monitoring (53) the plurality of transmission opportunities and transmitting (54) the data comprises: initializing a class counter equal to one for each cycle; for each of the plurality of transmission opportunities in the cycle: in response to determining that the priority class of the data is not equal to the class counter, waiting for a preset timeout of the respective transmission opportunity during which no data is sent and incrementing the class counter by one, or after the respective transmission opportunity is used by a further transmitter other than the transmitter to send data, setting the class counter equal to one; in response to determining that the class of the data is equal to the class counter, transmitting the data in the respective transmission opportunity as the matched transmission opportunity and setting the class counter equal to one.

3. The method (50) according to claim 1 or 2, wherein transmitting (54) the data in the matched transmission opportunity comprises: sending a message for reserving the matched transmission opportunity; in response to determining that there is no collision of the message, transmitting the data.

4. The method (50) according to claim 3, wherein in response to determining a collision where one or more further reservation messages exist for reserving the matched transmission opportunity, employing a deterministic tree splitting mechanism to resolve the collision and transmit the data.

5. The method (50) according to claim 4, wherein the tree splitting mechanism comprises: determining a quantity C of collided messages for reserving the matched transmission opportunity; splitting the plurality of transmitter into a number of C groups based on identities of the transmitters, such that only one group is allowed to transmit; if the group allowed to transmit is resolved, a subsequent group is allowed to transmit; if there is a collision in the group allowed to transmit, iterating the tree splitting mechanism in the group that has the collision.

6. The method (50) according to any one of claims 1 to 5, further comprising: receiving, from a network device or a master transmitter, one or more of the following: a quantity of transmitters in the network; identification information of the transmitter;a number of supported priority classes; information on the preset mapping relationship; and a duration of the timeout.

7. The method (50) according to any one of claims 1 to 5, wherein the transmitter is a master transmitter, and the method comprises determining and sending, in the network, one or more of: a quantity of transmitters in the network; identification information of the plurality of transmitters; a number of supported priority classes; information on the preset mapping relationship; and a duration of the timeout.

8. A transmitter (101; 102; 103) for transmitting data in a shared medium network comprising a plurality of transmitters (101, 102, 103), wherein the transmitter (101; 102; 103) is configured to: determine a priority of data to be transmitted; determine a priority class of the data corresponding to the priority based on a preset mapping relationship; monitor a plurality of transmission opportunities (110, 120) associated with priority classes arranged in a sequential and cyclic manner; and in response to determining that a priority class associated with a transmission opportunity matches the priority class of the data, transmit the data in the matched transmission opportunity.

9. The transmitter (101; 102; 103) according to claim 8, wherein for monitoring the plurality of transmission opportunities (110, 120) and transmitting the data, the transmitter (101; 102; 103) is configured to: initialize a class counter equal to one for each cycle; for each of the plurality of transmission opportunities (110, 120) in the cycle: in response to determining that the priority class of the data is not equal to the class counter, wait for a preset timeout of the respective transmission opportunity during which no data is sent and increment the class counter by one, or after the respective transmission opportunity is used by a further transmitter other than the transmitter to send data, set the class counter equal to one; in response to determining that the class of the data is equal to the class counter, transmit the data in the respective transmission opportunity as the matched transmission opportunity and set the class counter equal to one.

10. The transmitter (101; 102; 103) according to claim 8 or 9, wherein for transmitting the data in the matched transmission opportunity, the transmitter is configured to: send a message for reserving the matched transmission opportunity; in response to determining that there is no collision of the message, transmit the data.

11. The transmitter (101; 102; 103) according to any one of claims 8 to 10, wherein in response to determining a collision where one or more further reservation messages exist for reserving the matched transmission opportunity, the transmitter (101; 102; 103) is configured to employ a deterministic tree splitting mechanism to resolve the collision and transmit the data.

12. The transmitter (101; 102; 103) according to claim 11, wherein for performing the tree splitting mechanism, the transmitter (101; 102; 103) is configured to: determine a quantity C of collided messages for reserving the matched transmission opportunity;split the plurality of transmitter into a number of C groups based on identities of the transmitters, such that only one group is allowed to transmit; if the group allowed to transmit is resolved, a subsequent group is allowed to transmit; if there is a collision in the group allowed to transmit, iterate the tree splitting mechanism in the group that has the collision.

13. The transmitter (101; 102; 103) according to any one of claims 8 to 12, wherein the transmitter (101; 102; 103) is configured to receiving, from a network device or a master transmitter, one or more of the following: a quantity of transmitters in the network; - identification information of the transmitter; a number of supported priority classes; information on the preset mapping relationship; and a duration of the timeout.

14. A system (100) comprising a plurality of transmitters (101, 102, 103) each according to any one of claims 8 to 13.

15. A computer program comprising instructions which, when the program is executed by a computer, cause the computer to perform the method according to any one of claims 1 to 7.