1. Field of the Invention
The present invention generally relates to clock synchronization and, more particularly, to an internal signaling method to support stringent clock synchronization at a higher-layer protocol.
2. Description of the Related Art
High-precision clock synchronization is one of the most basic requirements in distributed real-time systems. Due to the unavoidable drift of local clocks, a global time base can be achieved only by means of a clock-synchronization protocol. Co-pending U.S. application Ser. No. 60/362,518, filed on Mar. 7, 2002, incorporated by reference herein in its entirety, is directed to a clock-synchronization protocol for wirelessly synchronizing clock registers of wired or wireless nodes via a wireless local area network (i.e., 802.11 network). To support the clock-synchronization protocol disclosed therein, there is a need for a set of management primitives (i.e., internal signaling) which will provide information about the synchronization frames from the medium access control (MAC) to a higher-layer protocol.
The present invention provides a set of internal signaling (i.e., management primitives) to support a clock-synchronization protocol for wirelessly synchronizing clock registers of wired or wireless nodes via a wireless local area network (i.e., 802.11 network). The clock synchronization is performed between two higher-layer protocol entities residing within two different wireless stations (STAs).
The foregoing features of the present invention will become more readily apparent and may be understood by referring to the following detailed description of an illustrative embodiment of the present invention, taken in conjunction with the accompanying drawings, where:
a illustrates the master node and a representative non-master node from the communication system of
b illustrates two successively transmitted synchronization frames which are transmitted at near-periodic intervals from the master node to all of the non-master nodes;
In the following description, for purposes of explanation rather than limitation, specific details are set forth such as the particular architecture, interfaces, techniques, etc., in order to provide a thorough understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced in other embodiments, which depart from these specific details. In some instances, well-known structures and devices are shown in block-diagram form, rather than in detail, in order to avoid obscuring the present invention.
The present invention is described below in the context of synchronizing 1394 wireless nodes via an 802.11 wireless LAN. However, it is to be appreciated that the teachings of the invention discussed herein are not so limited. That is, the invention is applicable to any communication system, wired or wireless, that requires stringent synchronization as defined herein. For example, the present invention has applicability to wired communication systems, such as IEEE 802.3 and Ethernet.
With reference now to the figures, and in particular with reference to
The exemplary embodiment of
To perform clock synchronization in the network 10, time-stamp values are generated from a node arbitrarily designated as a master node (or “root node”) in the network 10. In the network 10, the node 16a is arbitrarily selected as the master-clock master node to which every other non-master node (slave node) in the network is synchronized. The master node 16a in the network 10 has the role of clock distribution Within the network.
With reference now to
b illustrates two successively-transmitted synchronization frames, Fi 27 and, Fi+1 28 to perform clock synchronization. The synchronization frames 27 and 28 may be transmitted at near-periodic intervals from the master node 16a to all of the non-master nodes—i.e., non-master node 18a—in the network 10. Each synchronization frame is identified by both its source address (i.e., the MAC address of the master node transmitting the frame) and a destination address. The destination address is a special multicast address reserved explicitly for performing clock synchronization. Each synchronization frame includes clock-synchronization information to synchronize cycle-time registers 16d and 18d at near-periodic intervals. Synchronization frames 27 and 28 are generated from the master node 16a so as to synchronize the higher-layer protocol entities which reside within the master node 16a and the non-master nodes 18. The present invention is directed to a method for supporting these higher-layer protocols.
To illustrate the management primitives between the Station Management Entity (SME) and the MAC of the master node 16a and the non-master node 18, an 802.11 general-management architecture is described below and illustrated in
With reference now to the flowchart of
The process starts at step 55 where a higher-layer protocol in the master node 16a makes a synchronization request of the SME. Synchronization request from the higher-layer protocol is required to initiate the higher-layer synchronization protocol. The SME then issues a synchronization request to the MLME 31 in the form of a MLME-HL-SYNC.request primitive which specifically requests activation of the synchronization-support mechanism in the MLME 31. The first management primitive is described as follows:
A. The General form of the MLME-HL-SYNC.request Primitive
B. Parameter Description
It should be noted that the MAC layer 37 has no way of knowing on its own which frames are synchronization frames. It therefore must have some way of recognizing synchronization frames when they are issued by the higher-layer protocol. The “RxAddress” parameter is the means by which the MAC layer 37 recognizes a frame as a synchronization frame. Specifically, the “RxAddress” informs the MAC layer 37 that when the MAC layer 37 receives a frame from the higher layers or from the PHY layer, having a destination address equal to “RxAddress,” which is a multicast address, that frame should be identified by the MAC layer 37 as a synchronization frame.
At step 59, it is determined whether or not the MAC layer 37 accepts the synchronization-service request from the SME 35. If the service request is not accepted by the MAC layer 37, then the process terminates at step 61. Otherwise if the MAC layer 37 accepts the synchronization-service request of the SME 35 then the process continues at step 63.
At step 61, the process terminates because the MAC layer 37 does not accept the synchronization-service request from the SME. In this case the MLME 31 issues an MLME-HL-SYNC.confirm primitive to the SME 35 indicating that the synchronization service is not supported in the MAC layer 37 with the parameter setting: “ResultCode”=Not Supported.
At step 63, the synchronization-service request is determined to have been accepted by the MAC layer 37. In this case, the MLMF 31 issues the MLME-HL-SYNC.confirm primitive to the SME indicating that the synchronization service is supported, with the parameter setting, “ResultCode”=Success.
A. The General form of the MLME-HL-SYNC.confirm Primitive
B. Parameter Description
At step 65, a third primitive reports the complete transmission/reception of a synchronization frame. Specifically, an MLME-HL-SYNC.indication primitive is generated by the MLME 31 and sent to the SME 35 as a result of the PLME 33 informing the MLME 31 that it has received/transmitted a frame.
This third primitive involves two cases: reception and transmission of synchronization frames. Reception of synchronization frames takes place at the non-master nodes—i.e., node 18a, which receive synchronization frames from the master node—i.e., node 16a. Transmission of synchronization frames takes place at the master node 16a.
In the case of a synchronization frame being received at a non-master node 18a, the MAC layer 37 will look at the destination address of the synchronization frame being received and compare it to its own “RxAddress” previously specified by the MLME-HL-SYNC.request primitive. In the case of a match, the MLMT 31 will indicate to the SME 35, via the MLME-HL-SYNC.indication primitive, that it has received a synchronization frame. The MLME-HL-SYNC.indication is issued when the last symbol on air of the received synchronization frame is detected and announced by the PHY layer.
In the case of a synchronization frame being transmitted from the master node 16a, the MAC layer 37 will look at the destination address of the transmitted frame and compare it with its own “RxAddress” previously specified by the MLME-HL-SYNC.request primitive. In the case of a match, the MLME 31 will indicate to the SME 35, via the MLME-HL-SYNC.indication primitive, that it has transmitted a synchronization frame. The MLME-HL-SYNC.indication is issued when the last symbol on air of the transmitted synchronization frame is detected and announced by the PHY layer.
A. The General form of the Primitive
B. Parameter Description
>0
While the preferred embodiments of the present invention have been illustrated and described, it will be understood by those skilled in the art that various changes and modifications may be made, and equivalents may be substituted for elements thereof without departing from the true scope of the present invention. In addition, many modifications may be made to adapt to a particular situation and the teaching of the present invention without departing from the central scope. Therefore, it is intended that the present invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out the present invention, but that the present invention include all embodiments falling within the scope of the appended claims.
This application claims the benefit of U.S. Provisional Application Ser. No. 60/362,518 filed on Mar. 7, 2002, and U.S. Provisional Application Ser. No. 60/369,550 filed on Apr. 3, 2002, the teachings of which are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
6081533 | Laubaach et al. | Jun 2000 | A |
6347084 | Hulyalkar et al. | Feb 2002 | B1 |
6804222 | Lin et al. | Oct 2004 | B1 |
6834045 | Lappetelainen et al. | Dec 2004 | B1 |
Number | Date | Country |
---|---|---|
0213429 | Feb 2002 | WO |
Number | Date | Country | |
---|---|---|---|
20030169774 A1 | Sep 2003 | US |
Number | Date | Country | |
---|---|---|---|
60369550 | Apr 2002 | US | |
60362518 | Mar 2002 | US |