HK1161482A - Data transmission over a network with channel bonding - Google Patents
Data transmission over a network with channel bonding Download PDFInfo
- Publication number
- HK1161482A HK1161482A HK12101423.1A HK12101423A HK1161482A HK 1161482 A HK1161482 A HK 1161482A HK 12101423 A HK12101423 A HK 12101423A HK 1161482 A HK1161482 A HK 1161482A
- Authority
- HK
- Hong Kong
- Prior art keywords
- data
- network
- transmission
- node
- transmission slot
- Prior art date
Links
Description
Technical Field
The present invention relates generally to communication networks, and more particularly to data packet transmission in communication networks.
Background
In some network environments, a communication network may be formed when multiple interoperable nodes communicating over a shared medium detect the presence of other nodes. One example of such a network is a network that operates in accordance with the multimedia over coax alliance ("MoCA") MAC/PHY specification. In such a network, a node may act as a "client". It should be noted that the client node is sometimes referred to as a "slave node". In addition to client nodes, such networks also include at least one "network coordinator node" (NC). It should be noted that an NC is sometimes referred to as a "master node" or "network controller node". A network typically has a single NC and any number of client nodes. The NC may transmit beacons and media access plans ("MAPs") and other control information to manage the network.
To set up the system to allocate network bandwidth, the NC schedules times during which communications occur on the network. The NC communicates the schedule to each client node in the MAP. Each MAP is a packet. One MAP is sent by the NC during each "MAP cycle". Fig. 1 is a timing diagram showing the timing relationship between the MAPs 201, 202 and the MAP cycles 203, 205. The MAP cycle 205 is defined as the communication activity on the channel under the control of the previously transmitted MAP 201. Thus, the MAP201 schedules all communication activity for the next MAP cycle 205 (only one such "next MAP cycle" 205 is shown in fig. 1). It should be noted that the next MAP202 is sent during the next MAP cycle 205 under the scheduling control of the previous MAP 201. Thus, the MAPs 201, 202 determine the following information about each packet to be sent in the next MAP cycle 205: i) packet start time; ii) a packet length; iii) a source node; and iv) a target node. The combination of the packet start time, the packet length of the packet to be transmitted at the start time, and the source and destination nodes of the packet is referred to herein as the "transmission slot assignment".
One particular type of packet for which the MAPs 201, 202 are responsible for scheduling is a Reservation Request (RR)207, 209, 211. Six such RRs are shown in the first MAP cycle 203 of fig. 1, beginning with the first RR207 and ending with the last RR 209. One RR211 is shown in the second MAP cycle 205. The client node sends an RR207, 209, 211 to indicate that the client node has packets it wishes to send and therefore requests the NC to schedule a time during the subsequent MAP cycle at which the client node can send these packets. Thus, when a client node has information to transmit, the client node must first wait for the NC to allocate a time when the client node can send RRs 207, 209, 211. Once the NC has allocated the time that the client node can send the RRs 207, 209, 211, the client node communicates the RRs 207, 209, 211 to the NC in the allocated time (i.e., at the packet start time and up to the packet length indicated by the MAPs 201, 202). In some systems (not shown), an Orthogonal Frequency Division Multiple Access (OFDMA) scheme may be employed. In this OFDMA scheme, each RR is modulated on a separate subcarrier and transmitted in the same transmission slot.
RRs 207, 209, 211 allow client nodes to communicate to the NC that the client node has packets it wishes to send. In addition, RRs 207, 209, 211 indicate the relevant destination nodes, packet lengths, packet priorities, etc. for these packets. The NC utilizes this information to schedule additional time that client nodes are able to transmit these additional data packets they wish to send. The NC then communicates this schedule by generating and transmitting a MAP201 with the transmission slot allocation of the next MAP cycle 205.
Networks, such as MoCA networks and ethernet-based networks, are increasingly demanding more bandwidth. However, such networks are typically formed of physical channels that have a limited amount of bandwidth. For example, each physical channel in a MoCA network has a bandwidth of about 100 MHz. One approach to increasing ethernet network bandwidth is through channel bonding or link aggregation, in which multiple ethernet network cables and/or ports are combined in parallel, thereby increasing traffic beyond the limits of any single cable and/or port and increasing redundancy, thus providing greater efficiency (i.e., reliability). However, known channel bonding approaches encounter difficulties when load balancing traffic between multiple channels for uniform distribution of data.
Summary of The Invention
In one embodiment of the disclosed method and apparatus, a client node receives a data packet. The client nodes merge the received data packets together (or "aggregate" data) to form a plurality of "data aggregates". The client node then sends a reservation request ("RR") in which the client node requests a Network Coordinator (NC) to time when the client node can transmit to another client node in the network. In response to this request, the client node receives a first transmission slot allocation indicating which slot (i.e., the "transmission slot") within a MAP cycle on the first network is used to transmit the first portion of data and a second transmission slot allocation indicating which transmission slot within a MAP cycle on the second network is used to transmit the second portion of data. The system then divides the data between the first allocated transmission time slots of the first network and the second allocated transmission time slots of the second network and transmits the data over these transmission time slots on the first network and the second network.
Drawings
FIG. 1 is a timing diagram illustrating the timing relationship between MAPS and MAP cycles.
Fig. 2 is a block diagram of a network in accordance with one embodiment of the disclosed method and apparatus.
Figure 3 is a block diagram of a node in accordance with one embodiment of the disclosed method and apparatus.
Fig. 4A is a schematic diagram of a data queue to be transmitted from a node.
Fig. 4B is a diagram of transmission slot allocation within a MAP, in accordance with one embodiment of the disclosed method and apparatus.
Fig. 5 illustrates channel bonding with coordinated partitioning in accordance with one embodiment of the disclosed methods and apparatus.
Fig. 6 is a flow diagram of the node functions in fig. 3 when transmitting packets over multiple channels in accordance with one embodiment of the disclosed method and apparatus.
Detailed Description
In one embodiment of the disclosed method and apparatus, a network transmits data packets using channel bonding in such a way that the packets are split between two channels on two different networks.
Fig. 2 is a block diagram of a network 10 in accordance with one embodiment of the disclosed method and apparatus. The network 10 includes a Network Coordinator (NC)12 and client nodes 13-15. In one embodiment of the disclosed method and apparatus, the network 10 is a home network. Each of the nodes 12-15 (including the NC and all client nodes) is integrated with, included within, or connected to entertainment devices in the home. Each such entertainment device is capable of data communication to form information that is communicated to other entertainment devices. Examples of such entertainment devices include, but are not limited to, set-top boxes, digital video recorders ("DVRs"), computers, televisions, routers, and the like. The nodes 12-15 are connected to a network medium 16 over which data is transmitted. In one embodiment of the disclosed method and apparatus, the network medium 16 is coaxial cable. However, network media 16 may be any other type of media or facility, including other wired or wireless media that enables devices to communicate with each other. In one embodiment of the disclosed method and apparatus, the network 10 is a full mesh network such that any node on the network is able to communicate directly with any other node on the network in any direction.
In one embodiment of the disclosed method and apparatus, the network 10 operates as a network within the allowed frequencies determined by the industry standard multimedia over coax alliance MAC/PHY specification v.1.0 (hereinafter referred to as "moca 1.0"). The frequency range in MoCA1.0 is 875-1500 MHz. The channels exist at a frequency interval of 25MHz or 50 MHz. Thus, one channel has a center frequency of 875MHz, another of 900MHz, another of 925MHz, and so on up to 1000 MHz. The frequency is then hopped to 1150MHz and the channels are thus spaced at 50MHz intervals up to 1500 MHz. The channels are centered at 1150MHz, 1200MHz, etc. up to 1500 MHz. In the example of fig. 2, the network operates at a 900MHz channel (referred to in the MoCA specification as channel B1). A second network having an NC and a plurality of client nodes operates at different frequencies.
In one specific example, the second network operates at 1200MHz (referred to as channel D2 in the MoCA Specification). However, any two effective channels may be used. The nodes 12-15 may belong to two or more networks simultaneously. All networks will transmit data over the same bus or backbone, but the transmission frequency of each network is different. In one embodiment of the disclosed method and apparatus, one node 12 acts as an NC in at least two networks. It is possible that the node is the only node common to different networks. In one embodiment of the disclosed method and apparatus, at least one node is not common to both the first and second networks. In one embodiment of the disclosed method and apparatus, each node that is common to more than one network has a separate network integrated circuit chip/processor (i.e., can transmit data) for each network to which the node belongs.
Fig. 3 is a block diagram of a node 21 in accordance with one embodiment of the disclosed method and apparatus. Node 21 may act as an NC, such as node 12 in FIG. 2, or may act as a client node, such as nodes 13-15 in FIG. 2. The node 21 comprises a processor 20, a transceiver 27 and a memory 22. The processor 20 may be any type of general purpose or special purpose processor. The transceiver 27 may be any device that transmits and receives data. Memory 22 stores instructions and information to be executed by processor 20. Memory 22 may include any combination of random access memory ("RAM"), read only memory ("ROM"), static memory (such as a magnetic or optical disk), or any other type of computer-readable medium.
Computer readable media can be any available media that can be accessed by processor 20 and includes both volatile and nonvolatile media, removable and non-removable media, and communication media. Communication media may include computer readable instructions, data structures, program modules or other data in a modulated data signal, such as a carrier wave or other transport mechanism, including any information delivery media.
In one embodiment of the disclosed method and apparatus, the memory 22 stores software modules that provide functionality when executed by the processor. The modules include an operating system 24, a MoCA module 25, and a channel bonding module 26. The functionality of these modules (although shown as software in fig. 3) may be performed by any combination of hardware or software in other embodiments.
In one embodiment of the disclosed method and apparatus, operating system 24 provides functionality to allow processor 20 to operate node 21, including control transceiver 27 and memory 22, and MoCA module 25 provides functionality to allow node 21 to operate in accordance with one or more MoCA standards. In one embodiment of the disclosed method and apparatus, the channel bonding module 26 performs channel bonding by distributing and transmitting packets over two or more channels, as disclosed in more detail below.
In one embodiment of the disclosed method and apparatus, node 21 may transmit or receive data over multiple channels/networks by including multiple receivers/transmitters at a single location. A single physical processor, such as processor 20, may function simultaneously on more than two channels or may be comprised of two or more processors, one of which acts as a master and the other of which acts as a slave. Each processor performs packet processing on its channel and the main processor performs the final assembly. In another embodiment, node 21 may include a separate physical processor for each channel on which the node operates. As disclosed above, each channel forms a separate network that includes the NC and transmits and receives at a unique frequency.
As described above, a node is allocated one or more transmission slots of a predetermined length in a frame structure commonly referred to as a MAP cycle (containing multiple transmission slots). All nodes are synchronized by a MAP broadcast by the network NC. The MAP is a message sent by the NC to determine when each node is allowed to transmit, as described in the MoCA1.0 industry standard.
In one embodiment of the disclosed method and apparatus, node 21 acts as an NC and schedules data transmission on two channels by channel bonding. Node 21 determines how to equally divide the data over two or more channels, where applicable.
Fig. 4A is a diagram of a Data Transfer Request (DTR) queue 30 in NC 12. Data Transfer Requests (DTRs) a-N received from all nodes through NC12 are loaded into DTR queue 30. In the disclosed method and apparatus operating in accordance with the MoCA1.0 industry standard, up to 17 DTRs may be transmitted from the client node 21 to the NC12 within one Reservation Request (RR) according to one embodiment. The RRs are scheduled in a MAP loop, which will be discussed in more detail below.
The DTR queue is divided into a plurality of sub-queues. One such sub-queue is a guaranteed quality of service ("QoS") queue 31 for critical data such as voice packets. The DTRA-C loaded into the QOS queue 31 gets the highest priority. The other sub-queue is the high priority queue 32. DTR D-G gets the next highest priority. Still others are a medium priority queue 33 and a low priority queue 34. DTR H-J gets the third highest priority, DTR K-N gets the lowest priority.
The DTRs a-N are each associated with data to be transmitted by a transmitting node to a receiving node. In one embodiment, data packets are aggregated for transmission from a transmitting node to a receiving node. The set of data packets aggregated together is referred to herein simply as "data aggregation". To describe the functionality of the disclosed method and apparatus, the DTRs A-N depicted in FIG. 4A each have a different relative length that indicates the amount of time required to transmit the relevant data. It should be understood, however, that the contents of the sub-queues 31-34 are DTRs which simply indicate the amount of data. Thus, the length of each DTR in the queue is approximately the same, even though they are shown to have respective lengths relative to the associated data length. In one embodiment, the amount of data is expressed in terms of the amount of time required to transfer the data. In yet another embodiment, the amount of data is expressed in terms of the number of symbols to be transmitted, the number of data bits, or any other quantity representing the actual amount of information to be transmitted. In one embodiment, the amount of data includes any overhead data as well as payload data. However, in an alternative embodiment, the data volume comprises only the payload. In another embodiment, the amount of data includes a payload and some portion of overhead.
The low priority queue 34 includes DTRMs, N for transmitting the original packets (or "non-channel bonded packets"). Non-channel bonding packets originate or are directed to nodes that do not support channel bonding (e.g., MoCA1.0 nodes that are not capable of communicating across two channels). The original packets associated with DTRM and N may be a single packet or an aggregation of multiple packets. Each DTR is associated with data and identifies the node that is to receive the data. In one embodiment, all packets in each aggregate associated with one DTRA-N in queue 30 are directed to the same receiving node.
Fig. 4B shows an example of a transmission slot allocated to each transmission request within one MAP cycle. As shown in fig. 4B, in a network without channel bonding, all packets that have been received and loaded into queue 30 by DTR will be allocated and scheduled to be sent on a single channel 40. In one embodiment, each sending node aggregates the sending DTR for each data that the sending node must send. Alternatively, the DTR may be associated with a single packet. NC12 receives the DTR and loads it into the appropriate sub-queue 31-34. The DTRs are loaded into the sub-queues 31-34 according to information indicating the priority of the data associated with the DTRs. The priority information is provided directly in the DTR. In response to loading the DTRs into the sub-queues 31-34, the NC12 schedules as much data as possible for transmission during a single scheduling period or "MAP loop".
In a single channel network (such as channel 40 as shown), the MAP cycle includes transmission slots for each of: (1) a set of reservation requests ("RRs") 41, each reservation request being sent on one of 224OFDMA subcarriers 41a-41 d; (2) aggregates in sequential order, starting with the aggregate associated with DTR a, B, C in the highest priority queue 31 up to DTR K, L, M, N in the lowest priority queue 34; (3) a MAP header 42, and (4) an admission control frame ("ACF") 43.
According to the MoCA1.0 standard, the MAP loop has a predetermined length, and the MAP header 42 and ACF43 must occur at a particular time within the MAP loop. Thus, as shown in fig. 4B, the aggregation related to DTR F and H is divided into two fragments, one of the two fragments related to DTR F is transmitted before transmission of the MAP header 42, and the other fragment related to DTR F is transmitted after the MAP header 42. Also, data related to DTR H is split into two pieces, one piece sent before transmission of ACF43 and one piece sent after transmission of ACF 43.
Because of the limited duration of each MAP cycle, the lowest priority aggregates associated with the DTR L, M, N in the queue 34 cannot fit into the MAP cycle shown in the single channel 40. Thus, these requests will be retained and the aggregates associated with them will have to be sent in subsequent MAP cycles.
In contrast to the arrangement shown in single channel 40, embodiments of the disclosed method and apparatus channel-bind at least two channels in one or more of the following arrangements: (1) a transmitter node transmitting data to a receiver node using two channels; (2) two transmitter nodes transmit data to one receiver node using two channels; and (3) one sender node transmits data to two receiver nodes using two channels. The two "bonded" channels may be denoted as a "primary" channel 50 and an "extension" channel 52. However, either of the two channels 50, 52 may be considered a primary channel. Further, those skilled in the art will appreciate that while much of the discussion provided herein is with respect to the use of two bonded channels, there may be more than two bonded channels in accordance with the disclosed methods and apparatus.
The disclosed method and apparatus of channel bonding changes little or no to the physical layer of each channel. Instead, the change is made to the medium access control ("MAC") layer. In all embodiments of the disclosed method and apparatus, there is at least one sender node, at least one receiver node, and an NC. The NC may be a sender node, a receiver node, or a node that is neither a sender nor a receiver node. However, the NC must be one of the members of all networks with channels to be "bonded".
In one embodiment of the disclosed method and apparatus, the client node 21 splits its queued data (requiring more than a predetermined minimum transmission time slot) into two portions. Each portion is transmitted on a different one of the two channels, main channel 50 and extension channel 52. The data associated with each DTR is partitioned so that each portion requires equal transmission time on one of the two channels on which it is transmitted accordingly. In this embodiment, a single transmitter transmits data to one receiver using two channels simultaneously. Each channel 50, 52 is on a different network. Each network has its own NC. The node 21 transmits over both networks. The two NCs are physically located at the same node.
Node 21 generates DTRs requesting transmission slots on both channels. The DTR requests a transmission slot on the primary channel 50 that has a duration sufficient to transmit the portion of the data being transmitted on the primary channel. Because the data is divided into portions that will take the same amount of time to transmit on each channel, the amount of time required to transmit on the primary channel 50 will be the same as the amount of time required to transmit on the extension channel 52.
The bit is set to indicate that the data is to be split over both transport channels simultaneously. Accordingly, the primary channel NC schedules the primary channel and duplicates the two equal-duration scheduling plans in the two channels, starting at about the same time and ending at about the same time in the extension channel.
The link control packet also starts at about the same time and ends at about the same time. In both the fundamental and extended channels of the data and control packets/aggregates (excluding conventional packets such as those associated with DTRM, N in column 34; packets requiring less than a minimum deadline transmission time slot such as those associated with DTR D in column 32; and ACF43 transmission time slots), the NC replicates its schedule. Thus, NC12 sends two nearly identical MAPs for both channels. However, the following is only transmitted on the primary channel 50: (1) RR 41; (2) traditional data aggregation M, N; (3) data packet D requiring less than the minimum transmission time slot; and (4) ACF time slot 43.
As shown in fig. 4B, data related to DTRs requiring more than the minimum transmission slot is equally divided into two parts requiring equal transmission time. Both portions are transmitted simultaneously across main channel 50 and extension channel 52. The two parts are then received by the receiving node in the same transmission slot where they can immediately combine to recover the original data aggregation. Therefore, minimal buffering is required at the receiving node.
In another embodiment, the NC performs the task of splitting the data, rather than transmitting nodes to split the data equally. In this embodiment, the client node sends a DTR with a request to send the entire data aggregation on the primary channel, rather than just requesting the amount of time needed to transfer equally divided portions. Then, the NC calculates how to divide data of each DTR, and specifies transmission slots allocated by the DTR in two MAPs (i.e., a MAP of the primary channel and a MAP of the extension channel). The MAP of the primary channel specifies the allocated transmission slot of the primary channel, and the MAP of the extension channel specifies the allocated transmission slot of the extension channel. When a transmission is split across two channels, two assigned transmission slots start at about the same time and end at about the same time. The link control packet transmission for both channels also starts at about the same time and ends at about the same time. As shown in fig. 4B, the MAP of the primary channel 50 may then be nearly identical to the MAP of the extension channel 52, except for the transmission of legacy packets, deadline packets, and ACF slots.
Fig. 5 illustrates channel bonding with coordinated partitioning in accordance with one embodiment of the disclosed methods and apparatus. In this embodiment, instead of dividing each individual DTR equally and independently as shown in fig. 4B, NC12 coordinates the division of one DTR into another. In this embodiment, each DTR of a single packet or an aggregation of packets can be equally or unequally split across two channels if the amount of time required to transmit one of the packets is longer than a minimum deadline. The client node sends its reservation request containing the overall transmission DTR of the main channel. As shown in fig. 5, the DTRs associated with data aggregations a and B are sent from the same source node and are directed to the same destination node. The NC12 separates the longer data aggregation B into two data aggregations B1 and B2. B1 is scheduled on primary channel 60 and B2 is scheduled on extension channel 62. The NC12 also schedules transmission of data aggregation a of the extension channel 62 such that the transmission deadline of data aggregation B1 is equal to the sum of the deadline of data aggregation B2 and data aggregation a, including an inter-frame gap ("IFG") between data aggregation B2 and data aggregation a. Thus, the NC splits longer deadline requests B so that: b1 deadline is a deadline + IFG + B2 deadline and its transmission is scheduled accordingly.
In another embodiment, a single transmitter utilizes two channels simultaneously to transmit data to two different receivers. As with the coordinated partitioning disclosed in fig. 5, NC12 coordinates the transmission of data aggregates a and B from the same source, but to two different endpoints. In addition, NC12 coordinates transmission power such that the transmitting node transmits data aggregation using the maximum power.
In another embodiment, two transmitters can utilize two channels to transmit data to one receiver simultaneously. As with the single transmitter to single receiver embodiment, data may be transmitted using channel bonding by equally splitting the data as disclosed in fig. 4, or by coordinated splitting as disclosed in fig. 5. In the example of fig. 5, data aggregations a and B must point to the same endpoint, but can come from the same or different sources. Further, in the present embodiment, the NC12 coordinates the transmission power of each transmitting node so that the received power is approximately equal.
Fig. 6 is a flow diagram of the functionality of node 21 of fig. 3 when communicating data packets over multiple channels in accordance with one embodiment of the disclosed method and apparatus. In one embodiment of the disclosed method and apparatus, the functions shown in FIG. 6 are performed by software. The software is stored on a computer readable medium and executed by a processor. In other embodiments, the functions are performed by hardware. Such hardware may include one or more application specific integrated circuits ("ASICs"), programmable gate arrays ("PGAs"), field programmable gate arrays ("FPGAs"), and the like. In another embodiment, the functions are performed by a combination of hardware and software.
At 602, a transmitting client node identifies a plurality of data packets to be transmitted to one or more receiving client nodes within the same network. Such data packets are typically received by the transmitting client node from other devices connected to or maintained in the transmitting client node. Such other devices include digital video recorders, televisions, computers, set-top boxes, media servers, and the like. In one embodiment, the data packets are aggregated according to priority and emphasis to form a data aggregate.
At 604, the transmitting node sends an RR to the primary channel NC 12. The RR includes one DTR associated with each data aggregation. Each DTR shows the amount of time required to transmit the data aggregation on the primary channel.
Accordingly, at 606, NC12 allocates the transmission slots of the MAPs of the fundamental and extension channels to as much data aggregation as will fit into the next MAP cycle. In one embodiment, transmission slot allocation is used to ensure that data aggregation is divided equally between the two channels. Further, as described above, the transmission slot allocation is used to make the most efficient use of the bandwidth controlled by the MAP. Each DTR shows whether the relevant data aggregation is split between the basic and extension channels and whether the transmission slot allocations of the two channels are thus the same. In one embodiment of the disclosed method and apparatus, the client node performs a splitting operation before sending the RR. In another embodiment, the NC determines how to divide the data aggregation between the channels.
At 608, data aggregation is transmitted over the primary channel and the extension channel. Transmissions on the primary and extension channels begin at about the same time and end at about the same time.
Some embodiments are specifically illustrated and/or described herein. However, it will be appreciated that modifications and variations of the disclosed embodiments are within the scope of the above teachings and the appended claims without departing from the spirit and intended scope of the invention.
Claims (42)
1. A method of transmitting data, comprising:
a) sending a data transmission request from a first node belonging to both the first and second networks;
b) receiving, at the first node, a first transmission slot assignment on the first network and a second transmission slot assignment on the second network;
c) dividing data to be transmitted into first and second portions; and
d) the first portion is transmitted from the first node during a first assigned transmission time slot and the second portion is transmitted from the first node during a second assigned transmission time slot.
2. The method of claim 1, wherein the first and second allocated transmission slots begin at approximately the same time and end at approximately the same time.
3. The method of claim 1, wherein the data transmission request is sent to a network coordinator, the network coordinator responsible for allocating transmission slots on the first and second networks.
4. The method of claim 3, wherein the network coordinator is further responsible for determining how to split data between allocated transmission slots.
5. The method of claim 1, wherein:
a) the first network comprises a first set of nodes each capable of communicating with each other;
b) the second network comprises a second set of nodes each capable of communicating with each other; and
c) there is at least one node that is not common to the first and second sets of nodes.
6. The method of claim 1, wherein the partitioning comprises partitioning the data substantially evenly among the networks.
7. The method of claim 1, wherein:
a) the data to be transmitted comprises a first data aggregation and a second data aggregation;
b) the segmenting comprises segmenting the second data aggregation into a first portion and a second portion; and
c) the amount of time required to transmit the first portion is approximately equal to the amount of time required to transmit the first data aggregation plus the amount of time taken for a frame gap plus the amount of time required to transmit the second portion.
8. The method of claim 1, wherein the partitioning is done by the first node.
9. The method of claim 1, wherein the partitioning is done by a first coordinator node.
10. The method of claim 1, wherein the first transmission slot assignment is an assignment for transmission on a primary channel.
11. The method of claim 10, wherein the first coordinator node on the first network uses the request made for a transmission slot on the primary channel as a request for an additional transmission slot on an extension channel.
12. The method of claim 1, wherein the first network conforms to multimedia over coax alliance (MoCA) industry standards.
13. The method of claim 1, wherein the data transmission request is a reservation request element in accordance with a MoCA industry standard.
14. The method of claim 1, wherein the first transmission slot and the second transmission slot start at approximately the same time and end at approximately the same time.
15. The method of claim 7, wherein the data aggregation is formed based on a priority and an endpoint associated with a packet to be aggregated.
16. A method of allocating transmission timeslots to a client node, comprising:
a) receiving a first data transmission request from a client node; and
b) at least a first transmission slot allocation on the first network and a second transmission slot allocation on the second network are sent to the client node.
17. The method of claim 16, wherein data related to the first data transmission request is split between the first and second allocated transmission slots such that a first portion of the data is sent during the first transmission slot and a second portion of the data is sent during the second transmission slot.
18. The method of claim 17, wherein:
a) the same amount of time is required for the client node to send the first and second portions of the data; and is
b) The first and second allocated transmission slots start at approximately the same time and end at approximately the same time.
19. The method of claim 17, further comprising:
a) receiving at least a second data transmission request from the client node relating to second data;
b) wherein:
i) allocating data associated with the second data transmission request to be transmitted during the second transmission slot; and
ii) the amount of time required for the client node to send the first portion of the data is equal to the amount of time required to transmit the second portion of the data plus a frame gap and data associated with the second data transmission request.
20. A client node, the client node belonging to at least two networks, the client node comprising:
a) a memory;
b) a processor coupled to the memory, the processor capable of reading instructions in the memory to perform the following functions;
i) sending a data transmission request;
ii) receiving a first transmission slot assignment on a first network of the at least two networks and a second transmission slot assignment on a second network of the at least two networks; and
iii) dividing the data to be transmitted into at least a first and a second part; and
c) a transmitter coupled to the processor and receiving first and second portions from the processor, the transmitter transmitting the first portion during the first assigned transmission time slot and the second portion during the second assigned transmission time slot.
21. The client node of claim 20, wherein the process performs the further functions of:
a) receiving at least a third transmission slot allocation on a third network of the at least two networks;
b) dividing data to be transmitted into at least a third portion, and wherein the transmitter receives the third portion and transmits the third portion during the third allocated transmission slot.
22. The client node of claim 20, wherein said transmitter transmits said first and second portions under control of said processor.
23. A network controller belonging to a first network and a second network, the network controller comprising:
a) a memory;
b) a transceiver;
b) a processor coupled to the memory and the transceiver, the processor receiving information received by the transceiver and sending the resulting information to the transceiver, the processor further reading instructions from the memory to perform the following functions;
i) receiving a first data transmission request relating to first data to be transmitted from and residing at a client node belonging to the network, the first data transmission request indicating a first amount of data to be sent from the client node;
ii) allocating a first portion of a first amount of data related to a first data transmission request to be transmitted during a first transmission slot on the first network; and
iii) allocating a second portion of the first amount of data associated with a first data transmission request to be transmitted during a second transmission slot on the second network; and
iv) communicating the first and second transmission time slot assignments to the transceiver; and
v) causing the transceiver to transmit the first transmission slot assignment on the first network and the second transmission slot assignment on the second network.
24. The network controller of claim 23, wherein the function of allocating the first and second portions further comprises ensuring that the first and second transmission slots start at approximately the same time and end at approximately the same time.
25. The network controller of claim 23, wherein the processor further reads instructions from the memory to perform functions of:
a) receiving a second data transmission request associated with second data to be transmitted from and residing at a client node, the data transmission request indicating a second amount of data to be sent from the client node;
b) second data to be transmitted during the first transmission slot on the first network is allocated with a first portion of the first data.
26. A network controller belonging to a first network and a second network, the network controller comprising:
a) a memory;
b) a transceiver;
c) a processor coupled to the memory and the transceiver, the processor receiving information received by the transceiver and sending the resulting information to the transceiver, the processor further reading instructions from the memory to perform the following functions;
d) receiving a first data transmission request relating to first data to be transmitted from and residing at a client node belonging to said network, said first data transmission request indicating a first amount of data to be sent from said client node over a first network and a first amount of data to be sent from said client node over a second network;
e) allocating a first amount of data to be transmitted on the first network to a first transmission slot on the first network; and
f) allocating the first amount of data sent by the second network to a second transmission slot on the second network; and
g) communicating the first and second transmission slot assignments to the transceiver; and
i) cause the transceiver to transmit the first transmission slot assignment on the first network and the second transmission slot assignment on the second network.
27. A computer readable medium having instructions stored thereon that, when executed by a processor, cause the processor to transmit digital data by:
a) sending a reservation request to a first Network Coordinator (NC) on a first network;
b) receiving a first transmission slot assignment on the first network and a second transmission slot assignment on the first network;
c) dividing data between the first allocated transmission time slot and the second allocated transmission time slot; and
d) transmitting the data on the first allocated transmission slot and the second allocated transmission slot.
28. The computer-readable medium of claim 27, wherein the instructions further cause the processor to form a plurality of data aggregates from a data packet, and the data partitioned comprises the data aggregates.
29. The computer-readable medium of claim 27, wherein the partitioning comprises partitioning the data approximately equally.
30. The computer-readable medium of claim 27, wherein the data comprises a first data aggregation and a second data aggregation, and the partitioning comprises dividing the second data aggregation into a first portion and a second portion, wherein the time required to transmit the first portion is approximately equal to a time required to transmit the second portion plus the time taken to transmit the first data aggregation plus the time taken to transmit the second data aggregation.
31. The computer-readable medium of claim 27, wherein the partitioning is performed by the client node.
32. The computer-readable medium of claim 27, wherein the partitioning is performed by the first NC.
33. The computer-readable medium of claim 27, wherein the first transmission slot is provided on a primary channel.
34. The computer-readable medium of claim 33, wherein the first NC of the first network generates a request for an extension channel using the request for a time slot of the primary channel.
35. The computer-readable medium of claim 27, wherein the first network is based on a multimedia over coax alliance industry standard.
36. The computer-readable medium of claim 35, wherein the request is a reservation request.
37. The computer-readable medium of claim 27, wherein the first transmission slot and the second transmission slot start and end at approximately the same instant.
38. The computer-readable medium of claim 27, wherein the data aggregation is formed based on a priority and an endpoint associated with each data packet.
39. A system for communicating digital data, comprising:
a) means for receiving a plurality of data packets at a client node and forming a plurality of data aggregates from the data packets;
b) means for sending a request to replicate transmissions to a first coordinator node of a first network;
c) means, responsive to the request, for receiving a first transmission slot of the first network and a second transmission slot of a second network transmitting the data aggregation;
d) means for partitioning the data aggregation between the first transmission slot and the second transmission slot; and
e) means for transmitting the data aggregation in the first transmission slot and the second transmission slot.
40. A network node comprising a first network controller node and at least one first client node in a first network and a second network controller node and at least one second client node in a second network, the network node comprising:
a) a transceiver that receives a plurality of data packets; and
b) a channel bonding module connected to the transceiver that forms a plurality of data aggregates from the data packets and sends a request for a duplicate transmission to the first network controller node;
c) wherein in response to the request, the channel bonding module receives a first transmission slot of the first network and a second transmission slot of the second network transmitting the data aggregation and splits the data aggregation between the first transmission slot and the second transmission slot; and
d) wherein the transceiver transmits the data aggregation in the first transmission slot and the second transmission slot.
41. The network node of claim 40, further comprising a first processor connected to the transceiver and comprising a master processor and a slave processor.
42. The network node of claim 40, further comprising a first processor connected to the transceiver and a second processor connected to the transceiver.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/241,629 | 2008-09-30 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| HK1161482A true HK1161482A (en) | 2012-08-24 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN102165799B (en) | Data transmission over a network with channel bonding | |
| US7724764B2 (en) | Adaptive synchronous media access protocol for shared media networks | |
| CN101601321B (en) | A method for transmitting a data packet and a method of allocating a channel in a wireless network | |
| US8397267B2 (en) | Hi-split upstream design for DOCSIS | |
| CN110838899B (en) | Direct communication link resource allocation method and terminal | |
| US6108314A (en) | Method, subscriber device, wireless router, and communication system efficiently utilizing the receive/transmit switching time | |
| US20070153815A1 (en) | System and Method For Establishing And Maintaining Simultaneous Operation of Asynchronous and Isochronous Communications | |
| US9973975B2 (en) | Method and system for providing reduced bandwidth acquisition latency | |
| KR20090049750A (en) | Cable Modem Initialization Technique and Apparatus Using Queue-length-Based Band Request Frame in Optical-Coaxial Networks | |
| CN107251634A (en) | The method and apparatus for controlling schedules message | |
| CN115766860A (en) | Data transmission method, TSN node and computer-readable storage medium | |
| US20240146433A1 (en) | Time slot allocation processing method, device and storage medium | |
| CN110492960A (en) | Synchronized communication method based on Ethernet | |
| JP4633713B2 (en) | Data transmission method and system in communication system | |
| CN110710163B (en) | Method and apparatus for transmitting upstream data in a cable network | |
| WO2017134603A1 (en) | Network devices for scalable point to multipoint networks | |
| US9270401B2 (en) | Method and apparatus for asynchronous orthogonal frequency division multiple access | |
| HK1161482A (en) | Data transmission over a network with channel bonding | |
| WO2023236145A1 (en) | Communication method and apparatus | |
| WO2016160040A1 (en) | Efficient packet aggregation using channel characteristics in a communication network | |
| WO2020029680A1 (en) | Docsis map preemption protocol | |
| CN116887363A (en) | Data aggregation method suitable for distributed fixed TDMA protocol | |
| Kung | DISTRIBUTED MULTICHANNEL MANUFACTURING AUTOMATION PROTOCOL NETWORK |