HK1161451B - Method and apparatus for using ranging measurements in a multimedia home network - Google Patents
Method and apparatus for using ranging measurements in a multimedia home network Download PDFInfo
- Publication number
- HK1161451B HK1161451B HK12101941.4A HK12101941A HK1161451B HK 1161451 B HK1161451 B HK 1161451B HK 12101941 A HK12101941 A HK 12101941A HK 1161451 B HK1161451 B HK 1161451B
- Authority
- HK
- Hong Kong
- Prior art keywords
- node
- packet
- network
- time
- ctc
- Prior art date
Links
Description
RELATED APPLICATIONS
The benefit of U.S. provisional patent application serial No. 61/105,942 filed on day 10/16 of 2008, U.S. provisional patent application serial No. 61/144,061 filed on day 1/12 of 2009, and U.S. provisional patent application serial No. 61/144,676 filed on day 14 of 2009, and the benefit of U.S. non-provisional patent application serial No. 12/580,127 filed on day 10/15 of 2009, as claimed in this application, are each incorporated herein by reference in its entirety.
Technical Field
The present disclosure relates to networks, and more particularly, some embodiments relate to using distance estimates to improve the efficiency of networks, particularly coaxial cable networking.
Background
With many continuing advances in communication and data transmission technologies, more and more devices are being introduced in the consumer and business areas of advanced high bandwidth communication capabilities. In addition, advances in processing power and low power consumption technologies have widely led to a proliferation of communication capabilities of various products.
For example, communication networks are becoming commonplace in many home and office environments today. Such networks allow many independent devices to share data and other information previously to enhance productivity or simply to improve convenience to users. In this context, home networking has become the center of the evolving home "information" market. Indeed, there is an increasing demand for the ability to connect content devices (e.g., televisions, DVD players and recorders, digital cameras, speakers, video cameras, etc.), computing devices, I/O devices, appliances, and modems.
Home entertainment networks are typically provided in one of two topologies. The first is an access topology, which may best resemble a tree structure, where the base node communicates with nodes in its legs, but the leg nodes typically do not communicate directly with other legs. The second is a mesh topology, where any node can communicate directly with any other node in the network. An access topology typically exists in a cell or office setting where a master node at the "source" is used to distribute data to multiple downstream nodes (e.g., to many cells in a cell building) and the downstream nodes (e.g., cells) do not have to share content with each other. On the other hand, a mesh topology may more typically exist in a home environment, although there may be a common source of broadband data (the main cable feeds in the house), but the homeowner may wish to share content from devices in one room with other devices in other rooms in his home.
To address the ever-increasing demand in the digital home networking market, the industry-leading association of enterprises has formed the multimedia over coax alliance (MoCA)TM). MoCA has provided a technical standard (referred to as "MoCA 1.0") defining protocols for distributing digital entertainment over available bandwidth on coaxial cable previously installed in homes for cable or satellite TV services. The initial MoCA standard was approved in 2006, month 2, and routers, MoCA set-top boxes, and MoCA adapters with built-in MoCA capabilities (i.e., compliant with the MoCA1.0 standard) soon appeared later. Thus, the moca1.0 standard defines a mesh topology.
The architecture of these and other networks, and the practical communication channels in general, have long struggled to overcome the challenges of various devices managing multiple communications over a limited channel. Accordingly, network architectures have proposed various schemes to arbitrate disputes or otherwise allocate bandwidth among various communication devices or clients on the network. Schemes used in known network configurations such as token ring, ethernet or other configurations have been developed to allow sharing of available bandwidth.
Fig. 1 is a diagram illustrating one example of a home cable network. The example of a home environment shown in fig. 1 also includes examples of equipment and other electronic devices or nodes that may be found in a typical home networking environment, such as the network defined by MoCA 1.0. The network of fig. 1 includes a set-top box 111 and a Television (TV)110 in a master bedroom 115, bedroom 114 and family room 113. Also, a typical home network may include computing systems such as desktop computing system 117 and peripherals as illustrated in den 113, and laptop computer 118 as illustrated in kitchen 112. Other content devices or network devices may also be provided.
The MoCA network includes a plurality of client nodes, e.g., TVs 110, set-top boxes 111, and computers 117, 118. It should be noted that the TV 110, set top box 111 and computers 117, 118 are configured with communication devices, allowing these devices to operate as client nodes on a MoCA network. Protocols created by MoCA include layered schemes in which the first layer is the Physical (PHY) layer and the second layer is the Medium Access Control (MAC) layer. Initially, one of the client nodes is automatically selected as a Network Coordinator (NC) when the MoCA network is established. A Network Coordinator (NC) is relied upon to schedule all traffic on the network, thereby allocating network bandwidth and avoiding packet collisions. The NC transmits the scheduling to each client node in a "media access packet" (MAP), where each MAP is an information packet. The NC sends a MAP during each "MAP cycle".
To facilitate scheduling, the NC and various nodes in the network maintain local Channel Time Clock (CTC) counters and all nodes are responsible for synchronizing their CTC counts with the counts of the NC. The period of each CTC marker is referred to as "SLOT _ TIME". Depending on the data type or link control packet, CTCs are encoded in the payload of a MAC header or MoCA network packet. In addition, CTC resolution was 20ns according to moca1.x specification. The CTC count of the encoded MoCA network packet represents the time at which the first sample of the PHY preamble was transmitted onto the network medium. Upon receiving a MAP packet (or any other packet from the NC), each node uses its local CTC count to record in time the time it receives the first sample of the PHY preamble of the MAP packet. The receiver then adjusts its own CTC count to synchronize it with the NC counter.
Fig. 2 is a diagram illustrating such CTC synchronization processing between a node (node 1) and an NC (node 0) according to the MoCA1.x standard. Based on the MoCA1.x specification, a CTC of any node will not lead the CTC of the NC more than 0.2 μ s (in the case of a-200 PPM shift) or lag the CTC of the NC more than 2.2 μ s (110SLOT _ TIME). The diagram of fig. 2 takes into account 2.1 mus, the remaining 0.1 mus being taken into account by the sample drift of the frequency shifted noise. Based on MoCA, the inaccuracy of CTCs can be introduced by several factors including, but not limited to: transmit delay (0.4 μ s), propagation delay (i.e., the TIME it takes an NC packet to propagate through the medium to the receiver-0.9 μ s), receive delay (variable-0.8 μ s in the manner of estimating packet arrival TIME), clock drift between nodes (-0.2 μ s, given at most + -200/1 e6 × 50e6SLOT _ TIME/s × 1e-3s/MAP + -10 SLOT _ TIME, drift per 1ms MAP period), implementation delay (delay through PHY and analog circuits in both transmit and receive directions; usually negligible), noise (usually negligible), and vendor-implemented differences in estimating packet transmit TIME (usually negligible).
Fig. 3 is a diagram illustrating the uncertainty of packet arrival time between two nodes (node 1 and node 2) according to the MoCA1.x standard. Specifically, the graph shows the results of 0 to 2.2 μ ctc time uncertainty as described above. To offset the CTC time uncertainty, the packet transmission time variability requires an additional 2.6 μ s in the inter-frame gap (IFG) as the amount of time between network packets. In addition, the degree of unpredictability of the packet arrival time will be-2.2 to +3.5 μ s.
Fig. 4 is a diagram illustrating a "true" inter-frame gap of a specific node according to the MoCA1.x standard. The "true" interframe space represents the amount of time the node has after processing the first packet to prepare for the next packet. Local CTC noted in the diagramStartAnd CTCEndThe time represents the expected start and end times of the node using its local CTC (as computed from the MAP). Hash marks in each row of the diagram indicate packet arrivals and relative to the local CTCStartAnd CTCEndVariability in the time of transmission. The transmission occurs with an uncertainty of 0 to +0.4 mus. There is also a hypothetical-1.3 to +3.5 μ s packet arrival uncertainty. Thus, the transmission of the first packet 401 is in CTCStartAnd CTCStartThen 0.4 mus later. Similarly, the next packet 403 is sent in CTCEndAnd CTCEndThen 0.4 mus later. Packet 405 is in CTCEnd1.3. mu.s with CTCEndReceived between +3.5 mus. Similarly, assuming no error exists in the local CTC clock, packet 407 is at CTCStartAnd later 3.5 mus. Thus, the "true" interframe space can be defined as the 'guaranteed' quiet portion of the IFG, as CTCStart3.5 μ s later and CTCEndThe previous 1.3. mu.s or equivalently IFG-4.8. mu.s. Thus, there is a relatively large IFG that needs to account for uncertainty.
Disclosure of Invention
According to various embodiments of the present disclosure, systems, methods, and devices are provided that use ranging to improve network efficiency. In particular, various embodiments of the present disclosure provide ranging to improve local clock time synchronization. Ranging is a method by which a node measures and/or estimates the propagation delay to and with another node in the network. Depending on the embodiment, ranging may achieve reduced interframe gaps (IFGs) by more accurately controlling the expected start and end times of arriving network packets. Ranging thus provides more predictable network packet arrival times that can be used to reduce the IFG without reducing the "true" IFG.
Also, for an Orthogonal Frequency Division Multiple Access (OFDMA) scheme such as that used in the MoCA standard, a plurality of packets are transmitted simultaneously. As such, it is desirable that all OFDMA packets arrive at the OFDMA receiver at approximately the same time, otherwise network performance suffers from the need for longer cyclic prefix lengths to synchronize multiple OFDMA packets. With some embodiments, ranging achieves clock synchronization, allowing OFDMA packets to arrive at the receiver at approximately the same time, thereby reducing the required cyclic prefix length. Ranging may also improve the Automatic Gain Control (AGC) and burst detection performance of the receiver.
Further, alternative embodiments may provide finer local clock resolution than has traditionally been provided. For example, as previously described, in MoCA1.x, CTC resolution is 20 ns. With some embodiments, a 5ns CTC resolution may be added given a 200MHz high radio frequency sampling rate (i.e., the CTC counter is incremented by 0.25SLOT _ TIMES at 200MHz sampling rate).
According to one embodiment, there is provided a method of synchronizing a plurality of nodes on a communication network, comprising: exchanging local clock times between a first node and a second node on the communication network; performing a ranging method between first and second nodes based on local clock times exchanged between the first and second nodes, wherein the ranging method produces an estimated propagation delay between the first and second nodes; and adjusting the local clock time of one or both of the nodes based on the estimated propagation delay, thereby producing a synchronized local clock time between the first and second nodes. In some such embodiments, the method further comprises using the synchronized local clock time in subsequent packet transmissions between said first and second nodes.
In some embodiments, exchanging local clock times, performing a ranging method, and adjusting the local clock times comprises: transmitting a first packet from the first node and receiving a first packet at the second node, wherein the first packet comprises a first packet clock time comprising a local clock time of the first node at a transmission time and a scheduled arrival clock time; setting a local clock time of the second node to the first packet clock time; transmitting a second packet from the second node and receiving at the first node at the first scheduled arrival clock time, wherein the second packet is received by the first node at a real arrival clock time; calculating and storing the estimated propagation delay at the first node, wherein calculating the estimated propagation delay is based on the first scheduled arrival clock time and the first real time; transmitting a third packet from the first node and receiving a third packet at a second node, wherein the third packet comprises the estimated propagation delay; and storing the estimated propagation delay at the second node. In an alternative embodiment, the delay is used to adjust the clock without storage.
For the various embodiments, the transmission time of a transmitted packet is measured at 90% of the peak amplitude of the transmitted signal, 90% of the peak power of the transmitted signal, 90% of the total power of the transmitted signal, the first arrival time of the packet, the last arrival time of the packet (different from the first arrival time in the case of a medium comprising multiple paths of different lengths between the transmitter and the receiver), or the average delay of the transmitted signal. For still other embodiments, the arrival time of the received packet is measured at 90% of the peak amplitude of the received signal, 90% of the peak power of the received signal, 90% of the total power of the received signal, or the average delay of the received signal.
In various embodiments, the first node may be a network coordinator and the second node is a new node and the method is performed as part of the second node's admission to the communications network. Additionally, in some embodiments, the method is performed periodically to maintain synchronization between the first and second nodes.
For some embodiments, the communication network is a mesh network. For further embodiments, the communication network operates in accordance with the multimedia over coax alliance (MoCA) standard.
Additional embodiments of the present disclosure provide computer program products, network devices, and network interface modules that incorporate functions or features similar to those described above with reference to the method embodiments of the present disclosure.
Other features and aspects of the present disclosure will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, which illustrate, by way of example, the features in accordance with embodiments of the present disclosure. The summary is not intended to limit the scope of the invention, which is defined solely by the appended claims.
Brief Description of Drawings
The present disclosure in accordance with one or more various embodiments is described in detail with reference to the accompanying drawings. The drawings are provided for purposes of illustration only and merely depict typical or example embodiments of the disclosure. These drawings are provided to aid the reader's understanding of the present disclosure and should not be construed to limit the breadth, scope, or applicability of the present disclosure. It should be noted that for simplicity and ease of illustration, the drawings are not necessarily drawn to scale.
Fig. 1 is an example implementation of a home cable network illustrating one example of an environment in accordance with the present disclosure.
Fig. 2 is a diagram illustrating a CTC synchronization process between a node and an NC according to the MoCA1.x standard.
Fig. 3 is a diagram illustrating the uncertainty of packet arrival time between two nodes (node 1 and node 2) according to the MoCA1.x standard.
Fig. 4 is a diagram illustrating a "true" inter-frame gap of a specific node according to the MoCA1.x standard.
Fig. 5 is a flow diagram of a method for synchronizing a plurality of nodes according to one embodiment of the present disclosure.
Fig. 6 is a flow diagram of a method for synchronizing a plurality of nodes on a MoCA network according to one embodiment of the disclosure.
Fig. 7 is a diagram illustrating an example of clock synchronization using ranging according to one embodiment of the present disclosure.
Fig. 8 is a diagram illustrating an example of communication between a node and an NC after clock synchronization and ranging operations according to one embodiment of the present disclosure.
Fig. 9 is a diagram illustrating an example of clock synchronization using hold synchronization and ranging according to one embodiment of the present disclosure.
Fig. 10 is a diagram illustrating an example of clock synchronization using hold synchronization and ranging according to one embodiment of the present disclosure.
Fig. 11 is a diagram illustrating an example of clock synchronization using node-to-node synchronization and ranging according to one embodiment of the present disclosure.
Fig. 12 is a graph illustrating example points at which packet transmission times are measured according to one embodiment of the present disclosure.
Fig. 13 is a graph illustrating example points at which packet arrival times are measured according to one embodiment of the present disclosure.
Fig. 14 is a diagram illustrating a "true" interframe space of an example node according to one embodiment of this disclosure.
FIG. 15 is a diagram illustrating an example of a general architecture of a network device in accordance with one embodiment of the disclosed systems, methods, and apparatus.
The drawings are not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. It is to be understood that the present disclosure may be practiced with modification and alteration, and that the invention be limited only by the claims and the equivalents thereof.
Detailed Description
The present disclosure relates to systems, methods, and devices for improving network efficiency using ranging. In some embodiments, ranging is utilized to improve local clock time synchronization. In so doing, various embodiments of the present disclosure can reduce inter-frame gaps (IFGs), improve predictability of packet arrival times, and reduce cyclic prefix lengths for some frequency division multiple access schemes, such as OFDMA. For additional embodiments, the present disclosure allows the receiver analog component to have more settling time (IFG-2 μ s); automatic Gain Control (AGC) to ensure that no pre-packet noise or interference is left; the burst detector thereby has a reduced search window time (e.g., to ± 10 samples) thereby eliminating false or false alarm detection; and a high throughput unicast preamble having a portion of the channel estimation symbols using only burst detection. For OFDMA, ranging may limit or eliminate burst detection (which is advantageous given the fact that the OFDMA preamble is mixed by multiple transmitters).
One example environment in which embodiments of the present disclosure may be implemented is a home cable network, such as the example network described above with reference to fig. 1.
Fig. 5 is a flow diagram of a method 50 of synchronizing a plurality of nodes according to one embodiment of the present disclosure. The method begins at operation 52 with a first NODE (NODE #1) sending a first network packet P1 to a second NODE (NODE #2) on a communication network. The network packet may be one of several different packet types including, but not limited to, a data packet, a control packet, and a probe packet. The packet type will vary depending on the type of communication network involved. For example, on a MoCA network, packet P1 may be an error vector magnitude packet (EVM), a beacon packet, an admission request packet, an admission response packet, or a MAP packet. Additionally, packets may be sent in a number of different modes, including but not limited to one-to-many "broadcast" packets, many-to-one packets (e.g., OFDMA packets), one-to-one "unicast" packets.
Continuing with operation 52, network packet P1 includes (1) NODE #1 as it is transmitted (CTC) at P11,TX) Local channel time clock count (CTC)1) And (2) the scheduled channel time clock count (CTC) for NODE #2 sending network packet P2 to NODE #1SCHED). For example, in the context of a MoCA network, the CTC count is encoded in the MAC header or payload of each MoCA network packet, where the encoded CTC count represents the time at which the first sample of the PHY preamble was transmitted onto the MoCA network medium (i.e., coax). In an alternative embodiment, the scheduled channel clock count transmitted by NODE #2 may be located in another packet.
After NODE #2 receives network packet P1 from NODE #1 (operation 55), NODE #2 counts its local Channel Time Clock (CTC) at operation 582,LOCAL) Set to the channel time clock count of NODE #1 (i.e., CTC) as reported in P11,TX). Subsequently, in operation 61, NODE #2 estimates its propagation delay (d)2) Set to a predetermined estimated value, e.g., 0 (i.e., d)20). In operation 64, NODE #2 then counts in the scheduled Channel Time Clock (CTC) as shown in network packet P1SCHED) Network packet P2 is sent to NODE # 1.
Once NODE #1 receives network packet P2 at operation 67, NODE #1 estimates its propagation delay (d)1) Set to desired packet arrival time (CTC)SCHED) And actual packet arrival time (CTC)ACTUAL) Half of the delay in between. Therefore, the temperature of the molten metal is controlled,
NODE #1 then compares the calculated estimated propagation delay (d) in operation 731) To NODE #2 in the third network packet P3. The third network packet P3 will calculate the delay (d)1) As a delay value dBEACONStored in its payload, once received by NODE #2 at operation 76, the delay is set to the estimated propagation delay (d) of NODE #2 at operation 792). Estimating the propagation delay d2Propagation delay stored locally for NODE # 2. In an alternative embodiment, the delay value is not stored locally, but is used without storage.
At the end of method 50, both NODE #1 and NODE #2 have knowledge of the estimated propagation delay for the network packet between them. With this knowledge, NODE #1 is able to accurately predict the time clock count (CTC) for a particular local channelSCHED) And when a scheduled network packet will arrive from NODE #2, and NODE #2 can accurately count its local Channel Time Clock (CTC)2) Enumeration with NODE #1 (CTC)1) And (6) synchronizing.
Depending on the embodiment and the network environment, method 50 may be performed as part of or during other processing to facilitate a communication network. For example, in a MoCA network, the method 50 may perform as follows: a new node that is admitted to be part of the MoCA network performs synchronization and ranging with the NC (e.g., beacon method); the new node that is licensed to become part of the MoCA network performs synchronization and ranging with another non-NC node that has completed the licensing process (e.g., the "new node to the existing node"); and performing periodic hold synchronization and ranging to track slow changes in propagation delay (e.g., performed in conjunction with EVM hold).
FIG. 6 is a flow of a method 100 of synchronizing a plurality of nodes on a MoCA network according to one embodiment of the present disclosureA flow chart. In particular, method 100 illustrates synchronizing NODE #1 with a Network Coordinator (NC), where NODE #1 is a new NODE allowed to enter a MoCA network. The method begins at operation 103, where a new NODE #1 receives a beacon packet from a Network Coordinator (NC). In operation 106, node A counts its local Channel Time Clock (CTC)NODE1) Set to channel time clock count (CTC) of NC as reported by beacon packetNC,BEACON). At this point, NODE #1 delays its propagation in operation 109 (d)0) Estimated to be 0.
In operation 112, NODE #1 schedules a time (CTC) in a beacon packetSCHED) The permission request packet is sent to the NC. In turn, the NC receives the grant request packet and estimates it for propagation delay (d) at operation 1151) Set to expected packet arrival time (CTC)SCHED) And actual packet arrival time (CTC)ACTUAL) Half of the delay in between. Thus, similar to the method 50 of FIG. 5,
the NC then sends an admission response packet to NODE #1 at operation 118, including the estimated propagation delay (d) set to the NC1) Delay value (d) of (a). Once NODE #1 receives the grant response packet in operation 121, NODE #1 estimates it as a propagation delay value (d)0) Set to the delay value (i.e., d) set in the grant response packet.
Referring now to fig. 7 through 11, these figures provide examples of using clock synchronization using ranging in a MoCA network according to various embodiments of the present disclosure. Before further describing these diagrams, it should be noted that the following naming convention is utilized: CTCkRepresents the scheduled CTC time for the kth packet; errnRepresenting a local CTC of an nth nodeNODEnCTC with NCNCRelative error of (2); dnmIs the actual propagation delay between the nth node and the mth node; and dmIs the propagation delay estimated through the nth node to/from the mth node. It should be noted that in these embodiments, the Network Coordinator (NC) is Node #0, and its relative error Err in terms of resolution0Is 0 (i.e., Err)0=0)。
Turning now to fig. 7, a diagram illustrating an example of clock synchronization using ranging in accordance with the method 100 of fig. 6 is provided. In this illustration, NODE #1 requests permission to enter the communications network during a beacon period. NODE #1 has a not-associated NC (local CTC) at the beginning of the license processNC) Synchronized local CTCNODE1. At this point, NODE #1 and NC both assume a propagation delay of 0 (i.e., d)1And d0Set to 0, respectively). Once the NC broadcasts a beacon packet to all available nodes on the network, including the CTC1The NODE #1 receives the beacon packet and CTCs its localNODE1Set to CTC1. Local CTCNODE1With local CTCNCRelative error therebetween is D01. NODE #1 subsequently in its native CTCNODE1Equaling CTC indicated in beacon packet2The permission request packet is transmitted at the scheduled time.
Admission request packet in CTC2+D01+D10To NC where D01+D10Is the propagation delay to NODE #1 and the propagation delay from NODE # 1. Assuming that the propagation delays to and from NODE #1 are reciprocal to each other, the NC estimates to the new NODE NODE #1 (d)1) Is expected (i.e., CTC)2) With actual packet arrival time (i.e., CTC)2+D01+D10) A half of delay therebetween to obtain
The NC stores the propagation delay locally as d1Then, the delay value d-d is set in the grant response packet1And at the scheduled CTC Time (CTC)3) The permission response is sent to the new NODE # 1. Upon receiving the grant response, the new NODE NODE #1 reads the NC-specific delay (d), and adds it to the NC-specific delay (d)0Set to a value d and add the value d to its local CTC time (local CTC)NODE1)。
Once the ranging and synchronization operations of FIG. 7 above are completed, the CTC time of NODE #1 accurately delays the CTC time of the NC (D)01-D10)/2. If the channels are opposite to each other, the error will be 0. Note that regardless of whether the channels are opposite to each other, a packet will always arrive at NC or NODE #1 exactly when the NODE expects the packet to arrive. Described after CTC synchronization and ranging (i.e., after NODE #1 receives the grant response packet) are other packets illustrating various usage scenarios.
Fig. 8 is a diagram illustrating an example of communication between a node and an NC after the clock synchronization and ranging operation shown in fig. 7. It should be noted that once NODE #1 is reached, the CTCs encoded in the network packets sent from the NC to NODE #1 will deviate from Err1。
Fig. 9 is a diagram illustrating an example of clock synchronization using hold synchronization and ranging according to one embodiment of the present disclosure. For embodiments implemented in a MoCA network, once a NODE (e.g., NODE #1) admits entry into the network, the NODE must periodically update its ranging and synchronization information to accommodate slow channel variations. Referring now to FIG. 9, a diagram illustrates the sequence of operations that a node must follow in order to track the propagation delay between itself and the NC, and to keep the CTC synchronized with the NC. It should be noted that in some embodiments implemented in a MoCA network, this hold process is performed only once per EVM session. Despite the differences in messages, maintaining synchronization and ranging as shown in fig. 9 is very similar to the initial acquisition method shown in fig. 7. In addition, the NC may average the propagation delay estimates over time to reduce jitter due to jitter in packet transmission times and jitter in the packet arrival time estimates.
Depending on the embodiment utilized in the MoCA network, the synchronization and ranging operations shown in fig. 7-11 may be performed as part of the EVM function only, as part of the beacon period only, or as part of both. When the synchronization and ranging operation implementation according to the present disclosure is implemented only as part of the EVM functionality, there is a minimal change to the MAC protocol that is required because only the EVM probe response of the EVM functionality requires a delay field to convey the estimated propagation delay. Fig. 10 is a diagram similar to fig. 9 illustrating a use case after completion of CTC synchronization and ranging during an EVM function.
Fig. 11 is a diagram illustrating an example of clock synchronization using node-to-node synchronization and ranging according to one embodiment of the present disclosure. Once a new NODE (e.g., NODE #1) has completed admission into the network and has synchronized and determined the distance to the NC, it must perform ranging with all other NODEs in the network. This aims to enable ranging to continue in the case of NC handover (i.e. the role of NC is shifted from one network node to another) and to enable the receiver to predict packet arrival times to improve Automatic Gain Control (AGC) and burst detection functions. Ranging also enables tighter on/off times for analog front end/radio frequency (AFE/RF) circuits that enable shorter IFGs. Referring now to fig. 11, a diagram illustrates a method of synchronization and ranging between two NODEs, NODE #1 and NODE #2, that have been admitted in a MoCA network. In doing so, the periodic update takes into account the slow drift of the local CTC counts of the respective nodes and possible variations in propagation delay. Depending on the embodiment, the node updates the ranging estimate at least once per EVM sounding session or, alternatively, every EVM report. As described above, these ranging estimates may be averaged over time to reduce variability in packet start times and estimated packet arrival times.
Turning now to the precision of the transmission and arrival times, according to some embodiments of the present disclosure, a node synchronizes its local Channel Time Clock (CTC) with another node by comparing the local reception time of a network packet with the CTC transmission time as indicated in the payload of the network packet. For example, in a MoCA network, a node synchronizes its CTC time and the time of the NC by comparing the local reception time of a beacon or MAP packet with the CTC transmission time of the NC reported by the beacon or MAP packet. To ensure the accuracy of the transmission and arrival times, the nodes in the network must accurately measure the transmission and arrival times of the network.
Thus, in some embodiments, the transmission time of a transmitted network packet is measured at 90% of the peak amplitude of the transmitted signal, 90% of the peak power of the transmitted signal, 90% of the total power of the transmitted signal, the first arrival time of the packet, the last arrival time of the packet (different from the first arrival time in the case of a medium comprising multiple paths of different lengths between the transmitter and the receiver), the reference CP start, the reference CP end, or the average delay of the transmitted signal carrying the transmitted network packet. In other embodiments, the arrival time of the received network packet is measured at 90% of the peak amplitude of the received new model, 90% of the peak power of the received signal, 90% of the total power of the received signal, or the average delay of the received signal carrying the received network packet. According to these embodiments, fig. 12 and 13 are graphs illustrating example points at which packet transmission and reception times are measured, respectively.
Referring now to fig. 12, the upper curve shows the transmitter impulse response, while the lower curve shows the corresponding power (solid curve) and the integrated power (dashed curve). Time 0 represents the time at which the first sample of the preamble is inserted into the interpolator. The impulse response between the interpolator input and the interface of the transmitter to the transmission medium is measured. The time of transmission of the pulse will vary depending on the method of measurement used. Fig. 12 shows three different possible transmission times: 90% of peak, average time, or 90% of power. It should be noted that the 90% threshold is arbitrary and may be replaced by any other threshold depending on the embodiment.
Referring now to fig. 13, a graph illustrates an exemplary receiver power delay waveform obtained from an echo waveform detection mechanism. The curves show the corresponding power (solid curves) and integration power (dashed curves). Time 0 represents the time when the first sample of the preamble arrives at the RF connector. Fig. 13 shows three examples of the reception time for this signal. Note that the reception time depends on the measurement method.
Fig. 14 is a diagram illustrating a "true" interframe space of an example node according to one embodiment of this disclosure. In particular, fig. 14 illustrates the effects of CTC and packet arrival time variability for c.link + and the effects of delay spread for received packets in a MoCA network. The delay spread takes into account the amount of time after the average packet arrival of the signal that the echo continues to arrive. In some embodiments, this delay spread may then be considered in the IFG to avoid channel collisions without affecting the amount of time the receiver has to prepare for the next packet after the first packet. In this example, the maximum delay spread is 800 ns. In one embodiment using OFDMA modulated signals, the use of measurements allows the accuracy and synchronization of the clocks to be adjusted in the various nodes. Additionally, knowing the amount of time it takes for a packet to pass from each node to the NC allows the transmission time delay of the nodes in the network to guarantee the amount that packets transmitted by each node in the network all arrive at the NC at the same time.
While various embodiments of the disclosed concept have been described above, it should be understood that they have been presented by way of example only, and not limitation. Likewise, the various diagrams may describe example architectures or other configurations for the disclosed concepts, which are described to facilitate an understanding of the features and functionality included in the concepts. Thus, the claimed aspects are not limited to the example architectures or configurations illustrated, but the desired features can be implemented using many alternative architectures and structures. Indeed, it will be apparent to one skilled in the art that logical or physical partitions and configurations may be implemented to achieve the desired characteristics. Also, a number of different constituent module names may be applied to the various parts in addition to those described herein. Additionally, the order in which the operations and method claims, and the steps presented herein, are referred to in the flow chart, should not be construed to imply that the various embodiments should be implemented to perform the recited functions in the same order, unless the context dictates otherwise.
With MoCA and other network environments, network nodes typically include network devices having processors, controllers, or other processing modules configured to perform device functions. The scheduling and other network management features described above may be performed by the device processing module or a dedicated network module may be provided to the device so that it acts as a network node. FIG. 15 illustrates one example network of network devices that may be used with a communication network, such as a MoCA network. Referring now to fig. 15, an example network device 520 includes a controller 522, a memory 525, and a system bus 540.
Controller 522 may be implemented using a general or special purpose processing engine such as, for example, a microprocessor, controller or other control logic. In one embodiment, some or all of the functionality of the apparatus 520 may be implemented using an ASIC, PLD, or other circuit arrangement, including processor cores and memory blocks. Thus, the controller 522 may be implemented using a processor core such as, for example, a RISC microprocessor core. Examples of RISC processor cores include the ARM core available from Advanced RISC Machines Ltd, Cambridge, UK, and the MIPS RISC core available from MIPS technologies, Inc. of Mountain View, Calif., although other cores are also available. In the example shown in fig. 8, controller 522 is connected to a bus 540 or other communication medium to facilitate interaction with other elements of the apparatus. Although a central bus architecture is described, other communication media and architectures are acceptable.
The controller 522 operates to execute program code that is typically stored in, for example, ROM 524 and that generally controls the functions of the network devices. RAM 526 may also be included as a working memory for the controller operations and other memory. Network device 520 may further include secondary storage 538 such as, but not limited to, a hard disk drive, a floppy disk drive, CD and DVD ROM and RWM drives, removable memory or storage.
For external communication, the network device may also include communication capabilities. For example, the example shown in fig. 8 includes a network transceiver 536 and an external interface 532. As an application example, in the case of an example environment, the network transceiver 536 may be a MoCA transceiver that enables the device to share data with other MoCA nodes.
The communication interfaces may be used to allow software and data to be transferred between network device 520 and other devices or nodes. Examples of a communication interface may include a modem or soft modem, a network interface (e.g., ethernet, network interface card, WiMedia, 802.11, MoCA, or other interface), a communication port (e.g., such as a USB port, IR port, RS 232 port, bluetooth interface, or other port), or other communication interface. Software and data transferred via a communication interface are typically carried on signals, which may be electronic, electromagnetic, optical or other signals capable of being exchanged by a given communication interface. These signals may be provided to the communication interface via a compatible channel, which may carry the signals and may be implemented using a wired or wireless communication medium. Some examples of a channel may include a telephone line, a cellular link, an RF link, an optical link, a network interface, a local or wide area network, and other wired or wireless communication channels.
In this document, the terms "computer program medium" and "computer usable medium" are used to generally refer to media such as, for example, memory or storage units, storage media, and signals on channels. These and other various forms of computer media may be involved in carrying one or more sequences of one or more instructions to a processing device for execution. Such instructions embodied on the medium are generally referred to as "computer program code" or "computer program product" (which may be categorized in the form of computer programs or other categories). Such instructions, when executed, may cause an apparatus to perform features or functions as described above.
The device module 562 is a black box representation of functions that may be performed by the network device 520 and that may vary depending on the characteristics of the actual device. Assume for example that network device 520 is a digital camera in this example. In this implementation, the device module 562 may include imaging optics, an image sensor, an image buffer, and other similar functionality. The device modules 562 may further include processing and memory capabilities, or may use the controller 522, or memory 525 for some or all of its operating capabilities. As shown in this example, network device 250 may be implemented as other devices having other elements, configurations, or functionality.
As used herein, the term module describes a given unit of functionality that can be performed. As used herein, a module may be implemented using any form of hardware, software, or combination thereof. For example, one or more processors, controllers, ASICs, PLAs, logic components, software routines or other mechanisms may be implemented to form a module. In an implementation, the various modules described herein may be implemented as discrete modules or the functions and features described may be shared, partially or entirely, among one or more modules. In other words, as will be apparent to those of skill in the art upon reading this specification, the various features and functions described herein can be implemented in a given application and in one or more separate or common modules in various combinations and permutations. Even though various features or elements of functionality may be described separately or claimed as separate modules, those skilled in the art will appreciate that such features and functionality may be shared in one or more common software and hardware components, and that such description will not require or imply the use of separate hardware or software components to implement such features or functionality.
While the concepts have been described above in terms of various embodiments and implementations, it should be understood that the various features, aspects, and functionality described in one or more of the individual embodiments are not limited in their applicability to the particular embodiment described, but instead can be applied, alone or in various combinations, to one or more of the other embodiments consistent with the disclosed concepts, whether or not such embodiments are described and whether or not such features are shown as being a part of a described embodiment. Thus, the breadth and scope of the claimed invention should not be limited by any of the above-described embodiments, but should instead be found to support the full extent of the concepts described throughout this disclosure as exemplified by the disclosed embodiments.
Terms or phrases used in this document, and variations thereof, unless otherwise stated, should be understood as open endpoints as opposed to limitations. As in the previous example: the term "including" should be interpreted as "including not limited to" or the like; the term "examples" is used to enhance selected examples of items in discussion, and is not intended to be exhaustive or limiting of the list; the terms "a" or "an" should be understood to mean "at least one," "one or more," and the like; and adjectives such as "conventional," "traditional," "normal," "standard," "known," and terms of similar meaning should not be construed as limiting the item described to a given time period or to an item available as of a given time, but instead should be read to encompass conventional, traditional, normal, or standard technologies available or known now or at any time in the future. Similarly, if the document refers to a process that is obvious or known to one of ordinary skill in the art, such process encompasses processes that are obvious or known to one of ordinary skill in the art at any time, whether currently or in the future.
A group of items linked with the conjunction "and" should not be read as requiring that each or every one of those items be present in the taxonomy, but rather should be read as "and/or" unless expressly stated otherwise. Similarly, a group of items linked with the conjunction "or" should not be read as requiring mutual exclusivity among that category, but rather should also be read as "and/or" unless expressly stated otherwise. Furthermore, although items, elements or components disclosed may be described or claimed in the singular, the plural is contemplated to be within the scope thereof unless limitation to the singular is explicitly stated.
The presence of expansion words and phrases such as "one or more," "at least," "but not limited to," or similar phrases in some instances should not be construed as meaning or requiring narrowing in instances where such expansion statements are not present. The use of the term "module" does not imply that the elements or functions described or claimed as part of the module are all arranged in a common grouping. Indeed, regardless of control logic or other elements, any or all of the various elements of a module may be combined in a single grouping or retained separately and may further be distributed over multiple classifications or groupings or multiple locations.
In addition, various embodiments presented herein are described in terms of block diagrams, flow charts and other illustrations. It will be apparent to those skilled in the art upon reading this document that the illustrated embodiments and various alternative embodiments thereof may be implemented without limitation to the illustrated examples. For example, block diagrams and their corresponding descriptions should not be read to imply a particular architecture or structure.
Claims (9)
1. A method of synchronizing a plurality of nodes on a communication network, comprising:
exchanging local clock times between a first node and a second node on the communication network, wherein the exchanging local clock times comprises:
transmitting a first packet from the first node to the second node, wherein the first packet comprises a first packet clock time and a first scheduled arrival clock time, wherein the first packet clock time is set to a local clock time of the first node at a transmission time;
setting a local clock time of the second node to the first packet clock time;
performing a ranging method between the first and second nodes based on the exchanged local clock times, wherein the ranging method produces an estimated propagation delay between the first and second nodes, and the ranging method comprises:
sending a second packet from the second node to the first node, wherein the second packet is sent from the second node at the first scheduled arrival clock time and the second packet is received by the first node at a real arrival clock time;
calculating and storing the estimated propagation delay at the first node, wherein the estimated propagation delay is calculated based on the first scheduled arrival clock time and the real arrival clock time;
transmitting a third packet from the first node to the second node, wherein the third packet includes the estimated propagation delay; and
adjusting a local clock time of the first or second node based on the estimated propagation delay, thereby producing a synchronized local clock time between the first and second nodes.
2. The method of claim 1, further comprising using synchronized local clock times in subsequent packet transmissions between the first and second nodes.
3. The method of claim 1, wherein the transmission time of the transmission packet is measured at 90% of a peak amplitude of the transmission signal, 90% of a peak power of the transmission signal, 90% of a total power of the transmission signal, or an average delay of the transmission signal.
4. The method of claim 1, wherein the arrival time of the received packet is measured at 90% of the peak amplitude of the received signal, 90% of the peak power of the received signal, 90% of the total power of the received signal, or the average delay of the received signal.
5. The method of claim 1, wherein the first node is a network coordinator.
6. The method of claim 1, wherein the second node is a new node and the method is performed as part of the second node's admission to the communications network.
7. The method of claim 1, wherein the method is performed periodically to maintain synchronization between the first and second nodes.
8. The method of claim 1, wherein the communication network is a mesh network.
9. The method of claim 1, wherein the communication network operates in accordance with the multimedia over coax alliance (MoCA) standard.
Applications Claiming Priority (9)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10594208P | 2008-10-16 | 2008-10-16 | |
| US61/105,942 | 2008-10-16 | ||
| US14406109P | 2009-01-12 | 2009-01-12 | |
| US61/144,061 | 2009-01-12 | ||
| US14467609P | 2009-01-14 | 2009-01-14 | |
| US61/144,676 | 2009-01-14 | ||
| US12/580,127 | 2009-10-15 | ||
| US12/580,127 US8363681B2 (en) | 2008-10-16 | 2009-10-15 | Method and apparatus for using ranging measurements in a multimedia home network |
| PCT/US2009/060952 WO2010045528A1 (en) | 2008-10-16 | 2009-10-16 | Method and apparatus for using ranging measurements in a multimedia home network |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1161451A1 HK1161451A1 (en) | 2012-08-24 |
| HK1161451B true HK1161451B (en) | 2015-08-07 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8363681B2 (en) | Method and apparatus for using ranging measurements in a multimedia home network | |
| EP1357705B1 (en) | Adaptive synchronous media access protocol for shared media networks | |
| EP2186230B1 (en) | Synchronizing related data streams in interconnection networks | |
| KR101247294B1 (en) | Communicating schedule and network information in a powerline network | |
| US10129839B2 (en) | Techniques for synchronizing timing of wireless streaming transmissions to multiple sink devices | |
| US20200007307A9 (en) | Method and system for cross-protocol time synchronization | |
| US20030172179A1 (en) | System and method for performing clock synchronization of nodes connected via a wireless local area network | |
| CN101494914A (en) | Master station of communication system and access control method | |
| JP2008544592A (en) | How to synchronize network nodes | |
| US20200178126A1 (en) | Method And System For Providing Reduced Bandwidth Acquisition Latency | |
| US10123294B2 (en) | Media access control method with time-coherence and deterministic scheduling for wireless communications network | |
| Mahmood et al. | Clock synchronization for IEEE 802.11 based wired-wireless hybrid networks using PTP | |
| CN113099527A (en) | 5G wireless edge absolute time synchronization method based on timing message exchange | |
| US11889441B2 (en) | Efficient validation of time-synchronization accuracy in a scheduled time sensitive network (TSN) | |
| JP6419340B2 (en) | Method for transmitting data between network devices over a non-deterministic network | |
| HK1161451B (en) | Method and apparatus for using ranging measurements in a multimedia home network | |
| US20250112719A1 (en) | Method and apparatus for quieting transmissions in a communication network | |
| US11581971B2 (en) | DOCSIS clock emulation in distributed access architectures | |
| CN121128260A (en) | WI-FI-based time-sensitive network | |
| Park et al. | Improved cycle time synchronization method for isochronous data transfer on wireless 1394 network | |
| CN116939489A (en) | Full-coverage TDOA wireless positioning method, device, system and medium |