This invention relates generally to the field of communications systems and more specifically to multipurpose use of a delay measurement message buffer for software processing of a delay measurement response.
A communication network may include network elements that route packets through the network. Some network elements may include a distributed architecture, wherein packet processing may be distributed among several subsystems of the network element (e.g., line cards). Service Operation, Administration, and Management (“Service OAM” or “SOAM”), is defined by ITU-T Y.1731/IEEE 802.1ag and defines Maintenance Entity Group End Points (MEPs) that may be provisioned on a network element. A MEP may be associated with a particular maintenance level (e.g., 0 to 7) and may be configured to communicate management traffic, for example continuity check messages (CCMs), delay measurement messages (DMMs), and delay management responses (DMRs) to a peer MEP at the same maintenance level that resides in the communication network.
In accordance with relevant standards, a DMM frame may be communicated from one MEP (a controller MEP) to another MEP (a responder MEP) which in turn may respond with a DMR frame. The DMR frame may include timestamps indicative of the ingress time of the DMM at the responder MEP and the egress time of the DMR from the responder MEP, such that the controller MEP may determine a round-trip delay based on its time of receipt of the DMR frame along with timestamps present in the DMR frame.
While some approaches have provided for processing of DMR frames in hardware, such hardware-based solutions may not be preferable due to increased cost and/or design complexity. In addition, known approaches to software processing of DMR frames may be undesirable, as they may introduce unaccounted-for delays from software processing before the ingress timestamp is written and after the egress of the frames, which may be included in the delay measurements and may lead to inaccurate results. In addition, Interrupt Service Routine (ISR) driven packet processing in software may be best suited to perform ingress and egress timestamping, but ISR may not be feasible, as such processing may be complex and require memory allocation to store data for time stamps.
In accordance with the present disclosure, disadvantages and problems associated with processing of delay measurement responses may be reduced or eliminated.
In accordance with the present disclosure, a method may include receiving a delay measurement message frame at a responder maintenance end point from a controller maintenance end point. The method may further include writing an ingress time value to the delay measurement message frame upon receipt of the delay measurement message at the responder maintenance end point. The method may also include generating a delay measurement response frame based on the delay measurement message frame, the delay measurement response frame comprising an egress timestamp field having a value equal to the difference between a time at which the delay measurement response frame is transmitted from the responder maintenance end point and a time represented by the ingress time value. The method may additionally include transmitting the delay measurement response from the responder maintenance end point to the controller maintenance end point.
Technical advantages of the present disclosure may be readily apparent to one skilled in the art from the figures, description and claims included herein. The objects and advantages of the embodiments will be realized and achieved at least by the elements, features, and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
For a more complete understanding of the present invention and its features and advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:
Embodiments of the present invention and its advantages are best understood by referring to
Each transmission medium 12 may include any system, device, or apparatus configured to communicatively couple network devices 102 to each other and communicate information between corresponding network devices 102. For example, a transmission medium 12 may include an optical fiber, an Ethernet cable, a T1 cable, a WiFi signal, a Bluetooth signal, or other suitable medium.
Network 10 may communicate information or “traffic” over transmission media 12. As used herein, “traffic” means information transmitted, stored, or sorted in network 10. Such traffic may comprise optical or electrical signals configured to encode audio, video, textual, and/or any other suitable data. The data may also be real-time or non-real-time. Traffic may be communicated via any suitable communications protocol, including, without limitation, the Open Systems Interconnection (OSI) standard and Internet Protocol (IP). Additionally, the traffic communicated in network 10 may be structured in any appropriate manner including, but not limited to, being structured in frames, packets, or an unstructured bit stream.
Each network element 102 in network 10 may comprise any suitable system operable to transmit and receive traffic. In the illustrated embodiment, each network element 102 may be operable to transmit traffic directly to one or more other network elements 102 and receive traffic directly from the one or more other network elements 102. Network elements 102 will be discussed in more detail below with respect to
Modifications, additions, or omissions may be made to network 10 without departing from the scope of the disclosure. The components and elements of network 10 described may be integrated or separated according to particular needs. Moreover, the operations of network 10 may be performed by more, fewer, or other components.
As depicted in
Master control unit 103 may include any suitable system, apparatus, or device configured to manage network element 102, including management of routing of data between ports 110. Master control unit 103 may maintain a routing table in accordance with open shortest path first (OSPF) protocol, intermediate system-intermediate system (ISIS) protocol, or any other suitable protocol, wherein such routing table may include any table, database, file, or other data structure configured to maintain information relating a particular ingress port 110 to a corresponding egress port 110.
Switching element 104 may be communicatively coupled to master control unit 103 and may include any suitable system, apparatus, or device configured to receive traffic via a port 110 and route such traffic to a particular network interface 106 and/or port 110 based on analyzing the contents of the data and/or based on a characteristic of a signal carrying the data (e.g., a wavelength and/or modulation of the signal). For example, in certain embodiments, a switching element 104 may include a switch fabric (SWF).
Each network interface 106 may include any suitable system, apparatus, or device configured to serve as an interface between a network element 102 and a transmission medium 12. Each network interface 106 may enable its associated network element 102 to communicate to other network elements 102 using any suitable transmission protocol and/or standard. Network interface 106 and its various components may be implemented using hardware, software, or any combination thereof. For example, in certain embodiments, one or more network interfaces 106 may include a network interface card. In the same or alternative embodiments, one or more network interfaces 106 may include a line card.
As depicted in
Also as shown in
Upon receipt of the DMM frame by a responder maintenance end point 112, the responder maintenance end point 112 may store a value in the otherwise empty reserved fields of the DMM frame (e.g. byte positions 13-20) indicative of a time in which the DMM frame ingresses to the responder maintenance end point 112. Such value may be equal to the value of a clock register associated with the responder MEP. As described below, such value may be stored in the DMM frame by an Interrupt Service Routine (ISR) of the responder maintenance end point 112. It may be desirable to perform time stamping using ISR, as it may avoid inclusion of software delays in delay measurements.
During generation of the DMR frame in response to the DMM frame, the responder MEP may, in accordance with applicable standards, write an ingress timestamp and an egress timestamp to the DMR frame. The ingress timestamp may be written (e.g., at byte positions 13-20) to have a value of 0, while the egress timestamp may written (e.g., at byte positions 21-28) to be a value equal to a time of egress of the DMR from the responder maintenance end point 112 (e.g., a present value of the clock register associated with the responder MEP upon completion of processing) minus the time value stored in the DMM frame. Thus, the difference between the egress timestamp and ingress timestamp will be indicative of the difference in time between ingress of the DMM frame and egress of the DMR frame. In some embodiments, values for the ingress timestamp and/or the egress timestamp may be stored in accordance with IEEE 1588-2002 format.
Although
Is noted that the various timestamps reflecting ingress and egress written to DMM and DMR frames, as discussed herein, may not be the exact times of ingress or egress or may not be the exact time between ingress and egress due to limitations in processing.
The methods and system disclosed herein may be advantageous in that they provide a software-based solution to DMR processing, while not requiring complex memory allocation. Memory allocation for the DMM and DMR frames is generally inherent, thus no data structure for storing timestamps and thus no additional memory associated with such data structure are needed, as timestamps are stored in data overhead already allocated for DMM and DMR frames.
A component of network 10 may include an interface, logic, memory, and/or other suitable element. An interface receives input, sends output, processes the input and/or output, and/or performs other suitable operation. An interface may comprise hardware and/or software.
Logic performs the operations of the component, for example, executes instructions to generate output from input. Logic may include hardware, software, and/or other logic. Logic may be encoded in one or more tangible computer readable storage media and may perform operations when executed by a computer. Certain logic, such as a processor, may manage the operation of a component. Examples of a processor include one or more computers, one or more microprocessors, one or more applications, and/or other logic.
A memory stores information. A memory may comprise one or more tangible, computer-readable, and/or computer-executable storage medium. Examples of memory include computer memory (for example, Random Access Memory (RAM) or Read Only Memory (ROM)), application specific integrated circuit (ASIC), field-programmable gate array (FPGA), mass storage media (for example, a hard disk), removable storage media (for example, a Compact Disk (CD) or a Digital Video Disk (DVD)), database and/or network storage (for example, a server), and/or other computer-readable medium.
Modifications, additions, or omissions may be made to network 10 and its various components without departing from the scope of the invention. The components of network 10 may be integrated or separated. Moreover, the operations of network 10 may be performed by more, fewer, or other components. Additionally, operations of network 10 and its various components may be performed using any suitable logic. As used in this document, “each” refers to each member of a set or each member of a subset of a set.
This disclosure encompasses all changes, substitutions, variations, alterations, and modifications to the example embodiments herein that a person having ordinary skill in the art would comprehend. Similarly, where appropriate, the appended claims encompass all changes, substitutions, variations, alterations, and modifications to the example embodiments herein that a person having ordinary skill in the art would comprehend. Moreover, reference in the appended claims to an apparatus or system or a component of an apparatus or system being adapted to, arranged to, capable of, configured to, enabled to, operable to, or operative to perform a particular function encompasses that apparatus, system, component, whether or not it or that particular function is activated, turned on, or unlocked, as long as that apparatus, system, or component is so adapted, arranged, capable, configured, enabled, operable, or operative.
All examples and conditional language recited herein are intended for pedagogical objects to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are construed as being without limitation to such specifically recited examples and conditions. Although embodiments of the present inventions have been described in detail, it should be understood that various changes, substitutions, and alterations could me made hereto without departing from the spirit and scope of the invention.