Abstract:
A method for ranging a plurality of remote modules at the physical layer is provided. The method includes transmitting a signal under control of the physical layer from a head end to a plurality of remote modules indicating the beginning of a ranging period and receiving ranging signals from each remote module during a specified time slot for the remote module generated under control of the physical layer.

Description:
TECHNICAL FIELD  
         [0001]    The present invention relates generally to the field of telecommunications and, in particular, to ranging in the physical layer.  
         BACKGROUND  
         [0002]    Telecommunication networks transport data, e.g., voice, video, or other data, between user equipment at various locations. To accomplish this, telecommunication networks include a variety of electronic modules, such as switches, transmitters, receivers, amplifiers, line cards, etc., that work together to carry data to the user equipment. Often, electronic modules in the network are separated by a significant distance. The distance between modules affects the timing of signals transmitted between modules. Thus, many telecommunication systems include circuitry that adjusts the timing of signals to account for the distance between modules. At selected times, the system monitors the timing of signals transported over these links. This is referred to as “ranging.” 
           [0003]    Ranging can be complicated when multiple communication modules sharing the same link attempt to range to a single modem or head end at the same time. This often results in collisions between signals from the various communication modules. When this occurs, each communication module typically backs off a selected period of time and attempts again to range. Ranging following a service disruption, e.g., a cable cut, or initial ranging can be a time consuming process with a large number of modules attempting to range at the same time due to many iterations of collisions and back-offs. In addition, the development of standards is hindered when ranging requires complex interactions utilizing the MAC (media access control) layer.  
           [0004]    For the reasons stated above, and for other reasons stated below which will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for a technique for improving ranging of remote devices after a service interruption, fiber protection switch, as well as initial ranging.  
         SUMMARY  
         [0005]    The above-mentioned problems with ranging and other problems are addressed by embodiments of the present invention and will be understood by reading and studying the following specification. Specifically, embodiments of the present invention provide for ranging of electronic modules at the physical layer. In one embodiment, the elements of the ranging process are hard coded into the circuitry of the electronic modules such that each module attempting to range is assigned a selected, static ranging time slot. Each electronic module knows its assigned slot. Thus, after a service interruption or at any other appropriate time, all of the electronic modules are guaranteed to be re-ranged in a single pass through the ranging time slots.  
           [0006]    In one embodiment, a method for ranging a plurality of remote modules at the physical layer is provided. The method includes transmitting a signal under control of the physical layer from a head end to a plurality of modems indicating the beginning of a ranging period and receiving ranging signals from each modem during a specified time slot for the modem generated under control of the physical layer. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0007]    [0007]FIG. 1 is a block diagram of one embodiment of a network according to the teachings of the present invention.  
         [0008]    [0008]FIG. 2 is a flow chart of one embodiment of a process for ranging a remote module according to the teachings of the present invention.  
         [0009]    [0009]FIG. 3 is a flow chart of one embodiment of a process for a head end for ranging a plurality of remote modules according to the teachings of the present invention.  
         [0010]    [0010]FIG. 4 is a flow chart of one embodiment of a process for a remote module to range according to the teachings of the present invention.  
         [0011]    [0011]FIG. 5 is a flow chart of another embodiment of a process for a remote module to range according to the teachings of the present invention.  
     
    
     DETAILED DESCRIPTION  
       [0012]    In the following detailed description, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific illustrative embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical and electrical changes may be made without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense.  
         [0013]    Embodiments of the present invention address problems with ranging of electronic modules in communication systems. The embodiments described below provide ranging of electronic modules at the physical layer. This is accomplished by assigning each module a selected time slot in a ranging interval for ranging purposes. The modules are ranged in turn, in a single pass. Each module is ranged during its assigned time slot. Although the embodiment below is described in terms of a passive optical network, the teachings of the present invention are not limited to optical networks. Rather, the teachings of the present invention are applicable to other types of communication networks, e.g., hybrid fiber/coax, coax, wireless and other appropriate communication networks that use ranging of electronic modules.  
         [0014]    In one embodiment, ranging in the physical layer is accomplished in a passive optical network between a head end and up to 128 modems. In this embodiment, the ranging interval for 128 modems is approximately 12.8 to 25.6 milliseconds. The ranging interval includes 128 time slots (one per modem) of approximately 100 to 200 microseconds each. The duration of the time slots is based on a maximum allowable distance between the head end and any given modem. As the maximum allowable distance is increased, the duration of the time slots and the ranging interval also increase. For example, the 100 microsecond time slots relate to a 10 Kilometer maximum range. If the maximum range is increased to 20 Kilometers, then the time interval doubles. The ranging interval of this embodiment may be configured to use less than 1 percent of the available bandwidth in the network. Further, with the time between ranging intervals of 12.8 to 25.6 milliseconds, the total time to recover from a catastrophic fiber protection switch (resulting in a transport delay change) is on the order of 1.28 to 2.56 seconds. If the system switches to a fast ranging mode upon detection of failure or delay change, the ranging can consume 100% of the bandwidth and the total ranging time is reduced to 12.8 to 25.6 ms.  
       I. Network with Ranging in the Physical Layer  
       [0015]    [0015]FIG. 1 is a block diagram of one embodiment of a network, indicated generally at  100 , according to the teachings of the present invention. Advantageously, network  100  determines timing and other parameters for remote modules  104 - 1  to  104 -N, e.g., a plurality of modems, using a procedure implemented in the physical layer so that the remote modules can be re-ranged, in turn, during a single pass, e.g., following a service interruption or fiber protection switch. Network  100  includes head-end  102  that communicates with a plurality of remote modules  104 - 1  to  104 -N over a distribution network. In one embodiment, head end  102  communicates with up to 128 modems.  
         [0016]    In one embodiment, network  100  is a passive optical network although the principle of ranging at the physical layer can be applied in other network topologies and network types. Network  100  includes a plurality of optical splitters represented by optical splitter  106 . Optical splitter  106  is coupled to head end  102  over optical path  108 , e.g., an optical fiber. Optical splitter  106  is shown in a star configuration. It is understood that in other embodiments a bus or other appropriate configuration is used. Optical splitter  106  is also coupled to a plurality of remote modules, including remote module  104 - 1 .  
         [0017]    A. The Head End  
         [0018]    Head end  102  determines when to initiate a ranging process for the remote modules  164 - 1  to  104 -N of network  100 . Advantageously, head end  102  ranges the remote modules  104 - 1  to  104 -N in the physical layer thus avoiding complexities in implementing a higher level approach to ranging, e.g., making changes to the Media Access Control (MAC) layer.  
         [0019]    Head end  102  includes transceiver  110  and state machine  112  that are used to implement this physical layer ranging process. Transceiver  110  transmits downstream signals to and receives upstream signals from remote modules  104 - 1  to  104 -N. State machine  112  controls the ranging process at the physical layer.  
         [0020]    State machine  112  initiates a ranging operation for remote modules  104 - 1  to  104 -N. Each remote module  104 - 1  to  104 -N has a static time slot in a ranging period or interval during which it is allowed to send ranging signals to head end  112 . In one embodiment, the ranging interval is a period of time sufficient to allow each remote module to transmit a round trip signal at the maximum distance in the network. Each time slot is similarly equal to the time for a signal to travel the maximum roundtrip distance in the network. All of the remote modules  104 - 1  to  104 -N are ranged in a single pass by ranging each remote module in its assigned time slot as initiated by state machine  112 .  
         [0021]    In one embodiment, the assignment of a time slot for each modem is controlled by higher layer software in head end  102 . In one embodiment, state machine  112  incorporates a list of used time slots in the message initiating a ranging interval. In one embodiment, this list provides a map between the remote modules and the assigned time slots. The map is transmitted to the modems periodically from the head end. Any remote module without a time slot is allowed to select the next time slot at the end of the ranging interval. Alternatively, in another embodiment, state machine  112  includes a list of all available time slots in the message initiating a ranging interval. Each remote module without an assigned time slot is free to select any of the available slots in the interval. Since it is unlikely that multiple remote modules would be added to network  100  at the same instant in time, it is unlikely that two remote modules would attempt to use the same slot. If, however, two or more remote modules were to attempt to use the same slot, a back-off algorithm is used to allow each remote module to be assigned a separate slot.  
         [0022]    When a remote module is removed from the system, state machine  112  is allowed to re-assign its time slot to another remote module. In one embodiment, if a remote module re-joins a network, the remote module waits for an indication from state machine  112  that the former time slot is either still assigned to the remote module or is available before using the time slot during a ranging interval. In one embodiment, this is accomplished by comparing a time slot assignment indicated in a downstream message with a stored prior time slot value.  
         [0023]    State machine  112  determines ranging parameters for the remote modules  104 - 1  to  104 -M. In one embodiment, these parameters include power level, frequency, timing, equalizer coefficients and the like. In another embodiment, state machine  112  determines parameters such as timing and power levels for optical “1” and optical “0.” For hybrid fiber/coax and wireless networks, other parameters such as carrier frequency and channel distortions are also compensated for.  
         [0024]    B. Remote Modules  
         [0025]    Remote modules  104 - 1  to  104 -N respond to a command from head end  112  to initiate a ranging process. In one embodiment, remote modules  104 - 1  to  104 -N are modems that communicate with head end  112  over a passive optical network. Remote modules  104 - 1  to  104 -N each include similar components for ranging at the physical layer. For simplicity, only remote module  104 - 1  is described in detail.  
         [0026]    Remote module  104 - 1  includes transceiver  114 , state machine  116  and non-volatile memory (NVM)  117  that implement the ranging process. Transceiver  114  transmits upstream signals to and receives down stream signals from head end  102 . State machine  116  implements the ranging process for remote module  114 - 1 . In one embodiment, state machine  116  implements the process described below with respect to FIGS. 4 and 5. NVM  117  stores the assigned, static time slot used by remote module  104 - 1  during the ranging process. In one embodiment, remote module  104 - 1  selects the static time slot based on information provided by the head end  102  as described above.  
         [0027]    State machine  116  receives a command from the head end  102  at the physical layer to initiate the ranging process. When initiated, state machine  116  waits until the assigned time slot and transmits a ranging signal. In one embodiment, the ranging signal includes a preamble, a MAC address, and other information that is specific to the remote module. This signal is received at the head end and ranging parameters for the modem are determined.  
         [0028]    C. Operation of Ranging in the Physical Layer  
         [0029]    [0029]FIG. 3 is a flow chart of one embodiment of a process, indicated generally at  300 , for a head end for ranging a plurality of remote modules, e.g., modems, according to the teachings of the present invention. The method begins at block  302 . At block  304 , the method determines that a ranging process is to begin. For example, the method determines that a system failure has been fixed and that the remote modules need to be re-ranged. Alternatively, a ranging interval is initiated without a system failure, such as initial ranging.  
         [0030]    Method  300  transmits a message to the remote modules that a ranging interval is about to begin. In one embodiment, this message also includes an indication of unused ranging slot(s) that can be used by remote modules that have recently been attached to the network, but not registered. The unused ranging slot(s) can be at the end of the ranging interval or spread throughout. In another embodiment, this message includes a map between the remote modules and the assigned slots.  
         [0031]    At block  306 , the method selects a first time slot associated with a first remote module to be ranged. At block  308 , method  300  determines ranging parameters, e.g., round trip delay, for the remote module. At block  310 , method  300  determines whether the method has processed all time slots (e.g., all remote modules have been processed). If there are more remote modules, method  300  moves to the next time slot at block  312  and returns to block  308 . If not, method  300  proceeds to end at block  314 .  
         [0032]    [0032]FIG. 4 is a flow chart of one embodiment of a process, indicated generally at  400 , for ranging at a remote module according to the teachings of the present invention. The method begins at  402 . At block  404 , the method determines whether the head end has indicated to start a ranging interval. If not, the method returns to block  404 .  
         [0033]    When a ranging interval starts, the method proceeds to block  406 . At block  406 , the method determines whether the current time slot is a time slot assigned to the remote module. In one embodiment, the method determines whether the slot is assigned based on the time since the beginning of a ranging interval. Further, the remote module determines the appropriate time to wait based on data stored in its non-volatile memory. If the time slot has not arrived, the method returns to block  406 .  
         [0034]    When the time slot for the remote module arrives, the method proceeds to block  408  and transmits a ranging signal to the head end. The method ends at block  410 . Advantageously, by assigning a static time slot to each remote module in a ranging interval, the process allows all remote modules in a network to be ranged in a single pass through the ranging interval without the need for slow and indeterminate collision detection and back-off algorithms. Thus, all remote modules in a network, e.g., up to 128 modems, can be completely re-ranged in as little at 12.8 milliseconds (e.g., 128 times a maximum round trip delay for signals traveling up to 10 Km).  
         [0035]    Although the process described above is designed to avoid collisions in the ranging modules in a communication system, a mechanism is provided in the event of unexpected collisions. In one embodiment, this includes a conventional back off algorithm in which each module backs off a random amount of time and retries to range.  
         [0036]    [0036]FIG. 5 is a flow chart of another embodiment of a process, indicated generally at  500 , for ranging at a remote module according to the teachings of the present invention. This process is similar to the process of FIG. 4 but adds the selection of a time slot by a remote module that previously did not have a time slot for ranging purposes.  
         [0037]    The method begins at  502 . At block  504 , the method determines whether the head end has indicated to start a ranging interval. If not, the method returns to block  504 .  
         [0038]    When a ranging interval starts, the method proceeds to block  505 . At block  505 , the method selects a ranging slot if one is not currently available in the remote modules non-volatile memory, e.g., a ranging slot has not been previously assigned or a previously assigned ranging slot has been lost from non-volatile memory. The method proceeds to block  506 .  
         [0039]    At block  506 , the method determines whether the current time slot is a time slot assigned to the remote module. In one embodiment, the method determines whether the slot is assigned based on the time since the beginning of a ranging interval. Further, the remote module determines the appropriate time to wait based on data stored in its non-volatile memory. If time slot has not arrived, the method returns to block  506 .  
         [0040]    When the time slot for the remote module arrives, the method proceeds to block  508  and transmits a ranging signal to the head end. The method ends at block  510 . Advantageously, by assigning a static time slot to each remote module in a ranging interval, the process allows all remote modules in a network to be ranged in a single pass through the ranging interval without the need for complicated collision detection and back-off algorithms. Thus, all remote modules in a network, e.g., up to 128 modems, can be completely re-ranged following a system failure in a single pass in approximately 12.8 to 25.6 milliseconds (e.g., 128 times a maximum round trip delay for signals traveling between 10 to 20 Km) as long as the system bandwidth is dedicated to ranging opportunities after a failure.  
       II. Alternative Processes for Ranging at the Physical Layer  
       [0041]    [0041]FIG. 2 is a flow chart of another embodiment of a process, indicated generally at  200 , for ranging electronic modules according to the teachings of the present invention. In one embodiment, method  200  monitors a plurality of remote modules to determine, unambiguously, whether changes in timing have occurred at a level sufficient to require re-ranging of the remote modules. For example, method  200  determines when timing has changed enough due to, e.g., a fiber protection switch or a fiber cut, to require ranging for the remote modules. If so, method  200  captures the magnitude of the change using remote modules in an audit. Finally, method  200  determines and implements a mass change for all remote modules when necessary. This is an alternative to using the assigned time slot approach described above with respect to FIGS.  1 ,  3 - 5 . Again, this process may be accomplished in the physical layer.  
         [0042]    Method  200  begins at block  202 . At block  204 , method  200  selects a remote module to monitor. Method  200  proceeds to monitor the selected remote module at block  206 . At block  208 , method  200  determines whether the timing of signals for the remote module has changed sufficiently, e.g., whether the timing change exceeds a threshold. In one embodiment, method  200  monitors a round-trip delay for signals between the head end and the remote module. If the change in this timing is not significant, method  200  proceeds to block  210  and determines whether there are more remote modules to be monitored. If so, method  200  returns to block  206 . If not, method  200  ends at block  220 .  
         [0043]    If the timing has changed significantly, method  200  proceeds to block  212  and records the change in timing for the remote module. At block  214 , method  200  determines whether a sufficient number, e.g., more than three, of the monitored remote modules have experienced a significant change in timing. If not, method  200  proceeds to block  210 . If, however, method  200  determines that more than three of the remote modules have experienced significant changes in timing, the method further proceeds to block  216 . At block  216 , method  200  determines whether the changes in timing for the remote modules correlate (are close enough in magnitude and direction to be the result of a universal delay and/or power change). If not, the method also returns to block  210 . If, however, method  200  determines that the measured differences in timing correlate, the method proceeds to block  218  to initiate a ranging adjustment.  
         [0044]    In one embodiment, method  200  implements the method of FIG. 3 to adjust the ranging for the remote modules. In another embodiment, method  200  uses the recorded changes in timing to generate a timing adjustment for all remote modules. This timing adjustment is broadcast to all of the remote modules in order to bring the remote modules back into proper timing alignment. Method  200  ends at block  220 .  
         [0045]    Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement, which is calculated to achieve the same purpose, may be substituted for the specific embodiments shown. For example, in other embodiments, any appropriate number of modems is accounted for in the ranging process. Further, other embodiments of a network implementing ranging in the physical layer include a passive optical network with a bus configuration between the head end and the remote modules. Further, in other embodiments, ranging at the physical layer is applied in other appropriate communications networks, e.g., hybrid fiber/coax, coax, wireless and any other appropriate networks. This application is intended to cover any adaptations or variations of the present invention. Therefore, it is intended that this invention be limited only by the claims and the equivalents thereof.