WO2017003441A1 - Identification codewords for a rate-adapted version of a data stream - Google Patents

Identification codewords for a rate-adapted version of a data stream Download PDF

Info

Publication number
WO2017003441A1
WO2017003441A1 PCT/US2015/038450 US2015038450W WO2017003441A1 WO 2017003441 A1 WO2017003441 A1 WO 2017003441A1 US 2015038450 W US2015038450 W US 2015038450W WO 2017003441 A1 WO2017003441 A1 WO 2017003441A1
Authority
WO
WIPO (PCT)
Prior art keywords
data stream
codeword
rate
clock rate
identification
Prior art date
Application number
PCT/US2015/038450
Other languages
French (fr)
Inventor
Francesco Caggioni
Dimitrios Giannakopoulos
Original Assignee
Applied Micro Circuits Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Applied Micro Circuits Corporation filed Critical Applied Micro Circuits Corporation
Priority to CN201580081375.8A priority Critical patent/CN107925557B/en
Priority to PCT/US2015/038450 priority patent/WO2017003441A1/en
Priority to EP15897327.1A priority patent/EP3317996A4/en
Publication of WO2017003441A1 publication Critical patent/WO2017003441A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/05Electric or magnetic storage of signals before transmitting or retransmitting for changing the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • H04L2007/045Fill bit or bits, idle words

Definitions

  • the subject disclosure relates to networking, particularly to identification codewords for a rate-adapted version of a data stream.
  • Electronic communications can involve a variety of programmed actions and/or protocols.
  • programmed actions and/or protocols can facilitate timing for the transmission and/or reception of data (e.g., data signals).
  • a network timing protocol can be implemented for clock synchronization between network devices and/or network components.
  • a clock rate of a data signal can be modified via a rate adaptation process.
  • a Synchronous Ethernet (SYNC-E) standard can be implemented to synchronize data signals within the network.
  • SYNC-E Synchronous Ethernet
  • a system comprising a clock component and a rate adaptation component is disclosed.
  • the clock is disclosed.
  • a method comprises receiving a data stream in a computer system at a first clock rate is disclosed. The method comprises inserting a first identification codeword into a determined location in the data stream in the computer system in response to a determination that the first clock rate is lower than a second clock rate associated with a device configured for receiving a rate-adapted version of the data stream.
  • a system comprises means for receiving a data stream at a first clock rate.
  • the system also comprises a means for adding a first identification codeword into a valid location in the data stream based on a set of encoding rules in response to a determination that the first clock rate is lower than a second clock.
  • FIG. 1 is a block diagram illustrating an example of a rate adaptation system in accordance with aspects described herein.
  • FIG. 2 is a block diagram illustrating another example of a rate adaptation system in accordance with aspects described herein.
  • FIG. 3 is a block diagram illustrating yet another example of a rate adaptation system in accordance with aspects described herein.
  • FIG. 4 is a block diagram illustrating yet another example of a rate adaptation system in accordance with aspects described herein.
  • FIG. 5 is a block diagram illustrating yet another example of a rate adaptation system in accordance with aspects described herein.
  • FIG. 6 is a diagram illustrating an example of a codeword insertion process for rate adaptation in accordance with aspects described herein.
  • FIG. 7 is a diagram illustrating an example of a codeword removal process for rate adaptation in accordance with aspects described herein.
  • FIG. 8 is a diagram illustrating another example of a codeword insertion process for rate adaptation in accordance with aspects described herein.
  • FIG. 9 is a diagram illustrating another example of a codeword removal process for rate adaptation in accordance with aspects described herein.
  • FIG. 10 is a diagram illustrating another example of a codeword insertion process for rate adaptation in accordance with aspects described herein.
  • FIG. 11 is a diagram illustrating another example of a codeword removal process for rate adaptation in accordance with aspects described herein.
  • FIG. 12 illustrates a flow diagram of an example of a method for modifying a data stream for rate adaptation.
  • FIG. 13 illustrates a flow diagram of an example of a method for removing a codeword from a data stream for rate adaptation.
  • FIG. 14 illustrates a flow diagram of another example of a method for modifying a data stream for rate adaptation.
  • FIG. 15 illustrates a flow diagram of yet another example of a method for modifying a data stream for rate adaptation.
  • FIG. 16 illustrates a flow diagram of an example of a method for receiving a modified version of a data stream.
  • FIG. 17 illustrates a block diagram of an example electronic computing environment that can be implemented in conjunction with one or more aspects described herein.
  • FIG. 18 illustrates a block diagram of an example data
  • identification codewords can be employed for a rate-adapted version of a data stream.
  • identification codewords can facilitate adapting a data rate of a data stream across two clock domains while also identifying predefined codewords that have been inserted and/or deleted due to clock rate adaptation.
  • a first identification codeword can be inserted into a particular location in a data stream in response to a determination that a first clock rate is lower than a second clock rate associated with a device configured for receiving a rate-adapted version of the data stream (e.g., in response to a determination that a line clock is greater than a client clock).
  • the first identification codeword can be configured to indicate that a codeword has been inserted into the data stream by a rate adaptation process.
  • the first identification codeword can be inserted into the particular location in the data stream based on a set of encoding rules and/or one or more algorithms.
  • a predefined codeword can be removed from the data stream and/or another predefined codeword in the data stream can be transformed into a second identification codeword in response to a
  • the second identification codeword can be configured to indicate that a codeword has been removed from the data stream by a rate adaptation process.
  • the predefined codeword can indicate that a payload is not present in the data stream. Additionally or alternatively, the predefined codeword can indicate presence of an ordered set in the data stream. In one example, selection of a predefined codeword in the data stream to be transformed into the second identification codeword can be determined based on a set of encoding rules and/or one or more algorithms.
  • codewords in a data stream that are associated with an idle period between data transmissions (e.g., an interpacket gap) in a data stream can be differentiated from other codewords (e.g., identification codewords) in the data stream that are inserted and/or deleted due to rate adaptation (e.g., a clock rate adaptation process). Accordingly, timing throughout a network (e.g., an Ethernet network) can be maintained without implementing predetermined frames and/or timing protocols above a physical coding sublayer of the network.
  • a network e.g., an Ethernet network
  • a device implemented on a first end of a network e.g., a client-side interface
  • another device implemented on another end of the network e.g., a line-side interface
  • a remaining portion of the network e.g., other network devices in the network
  • System 100 includes a timing component 102.
  • Timing component 102 can include a clock component 104 and a rate adaptation component 106.
  • system 100 can be implemented in a data communication system and/or a telecommunication system.
  • system 00 can be implemented in and/or in connection with an Ethernet network system, an optical transport network (OTN) system, a Fibre Channel (FC) system and/or another type of network system.
  • OTN optical transport network
  • FC Fibre Channel
  • system 100 can be implemented as a different type of network system.
  • system 100 can be associated with more than one type of data communication system and/or telecommunication system.
  • system 100 can be associated with a multi-link gearbox (MLG) standard.
  • MLG multi-link gearbox
  • timing component 102 can be implemented on and/or in connection with a system interface, a client interface, a host interface and/or a line interface. Timing component 102 can be implemented on a transmitter device, a receiver device and/or a transceiver device. In an embodiment, rate-adaptation (e.g., at least the rate adaptation component 106) can be implemented on a transmitter device, a receiver device and/or a transceiver device. Additionally, device 108 can be implemented on a receiver device and/or a transceiver device. In one example, timing component 102 can be implemented on a transmitter device and device 108 can be implemented on a receiver device. In another example, timing component 102 can be implemented on a client-side interface and device 108 can be implemented on a line-side interface.
  • rate-adaptation e.g., at least the rate adaptation component 106
  • device 108 can be implemented on a receiver device and/or a transceiver device.
  • timing component 102 can be implemented on a transmitter
  • Timing component 102 can receive a data stream (e.g., DATA STREAM shown in FIG. 1).
  • the data stream can be received at a first clock rate (e.g., a client clock rate, a client-side clock rate, etc.).
  • clock component 104 can be configured to determine the first clock rate (e.g., a first clock rate value) associated with the data stream.
  • the data stream can be generated by a transmitter device.
  • the data stream can be generated by a receiver device.
  • the data stream can be generated by a processor.
  • the data stream can be generated by a network processing unit (NPU).
  • NPU network processing unit
  • the data stream can be generated by a media access control (MAC) device.
  • the data stream can be
  • Ethernet implemented as an Ethernet signal, a Fibre Channel (FC) signal, an optical transport network (OTN) signal, a synchronous optical networking
  • the data stream can be an encoded data stream (e.g., an encoded signal).
  • the data stream can be associated with a physical coding sublayer (PCS) encoding scheme.
  • PCS physical coding sublayer
  • the data stream can include a plurality of PCS blocks (e.g., a plurality of PCS
  • the data stream can be a serial stream of formatted blocks (e.g., codewords).
  • the data stream can be a serial stream of 64B/66B formatted blocks (e.g., a 64B/66B encoded signal), a serial stream of 8B/10B formatted blocks (e.g., an 8B/10B encoded signal), etc.
  • the data stream can be associated with a different PCS encoding scheme.
  • the data stream can include at least one or more formatted blocks that indicate that a payload is not present in the data stream.
  • the data stream can include at least one idle block that can be configured as a PCS idle codeword.
  • the at least one idle block can indicate that a payload is not present at a particular portion of the data stream.
  • the data stream can implemented without a data packet.
  • the data stream can be a data stream of idle blocks.
  • the data stream can be a data stream of ordered set (OSET) blocks.
  • the data stream can be associated with one or more data packets (e.g., a current data packet, a previous data packet, etc.).
  • the data stream can include, but is not limited to, one or more idle blocks, one or more data blocks, one or more start of packet (SOP) blocks and/or one or more end of packet (EOP) blocks.
  • data packets included in the data stream can be separated by an inter-packet gap (IPG) that includes one or more idle blocks.
  • IPG inter-packet gap
  • a current packet can include a SOP block, one or more data blocks and an EOP block.
  • an IPG can separate the current data packet from a previous data packet that includes a SOP block, one or more data blocks and an EOP block.
  • Rate adaptation component 106 can be configured for rate adaptation (e.g., to rate-adapt the data stream).
  • rate adaptation component 106 can be configured to adapt the first clock rate based on a second clock rate (e.g., a line clock rate, a line-side clock rate, etc.).
  • the second clock rate can be associated with a device 108 configured for receiving the data stream (e.g., a rate-adapted version of the data stream).
  • the second clock rate can be a clock rate required by device 108 and/or required by a communication line associated with device 108.
  • device 108 can be associated with a receiver device.
  • device 108 can transmit the rate-adapted version of the data stream (e.g., RATE- ADAPTED VERSION OF THE DATA STREAM shown in FIG. 1) to another device (e.g., a digitally controlled oscillator, a phase-locked loop, etc.) that can generate (e.g., recreate) a clock value for one or more other data streams.
  • another device e.g., a digitally controlled oscillator, a phase-locked loop, etc.
  • device 108 can be configured to generate (e.g., recreate) a clock value for one or more other data streams.
  • timing component 102 can transmit the rate-adapted version of the data stream to the device 108 via a network (e.g., one or more other devices in a network system).
  • timing component 102 can be implemented on a first end of a network (e.g., a client-side interface) and device 108 can be implemented on another end of the network (e.g., a line-side interface). Accordingly, timing component 102 and device 108 can be timing aware, while a remaining portion of the network (e.g., other network devices in the network) can continue to operate asynchronously. It is to be appreciated that device 108 can include one or more devices.
  • the rate adaptation component 106 can insert a first identification codeword (e.g., idle-plus codeword) into a particular location (e.g., a determined location, a valid location, etc.) in the data stream in response to a determination that the first clock rate is lower than the second clock rate associated with device 108.
  • rate adaptation component 106 can insert a first identification codeword into a particular location in the data stream in response to a determination that a write clock associated with timing component 102 is lower than (e.g. slower than) a read clock associated with timing component 102.
  • rate adaptation component 106 can insert the first identification codeword into a valid position (e.g., the particular location) of the data stream based on a set of encoding rules and/or one or more algorithms in response to the determination that the first clock rate is lower than the second clock rate.
  • the first identification codeword can be configured to indicate that a codeword has been inserted into the data stream by a rate adaptation process.
  • the first identification codeword can be a control block associated with rate adaptation.
  • the first identification codeword can be a control block associated with a standard for defining media access control (MAC) of a physical layer and/or a data link layer (e.g., associated with Ethernet, etc.).
  • the first identification codeword can comprise a total number of identification codewords (e.g., first identification codewords) inserted into the data stream.
  • the first identification codeword can include identification information (e.g., a tag, an identifier, etc.), information associated with rate adaptation and/or other information. It is to be appreciated that a block type for the first identification codeword can be determined based on a particular implementation of the data stream.
  • rate adaptation component 106 can remove a predefined codeword from the data stream and/or transform another predefined codeword in the data stream into a second identification codeword (e.g., an idle- minus codeword) in response to a determination that the first clock rate is greater than the second clock rate.
  • rate adaptation component 106 can remove a first identification codeword from a particular location in the data stream in response to a determination that a write clock associated with timing component 102 is greater than (e.g. faster than) a read clock associated with timing component 102.
  • the rate adaptation component 106 can select the other predefined codeword in the data stream to be transformed into the second identification codeword based on a set of encoding rules and/or one or more algorithms.
  • the rate adaptation component 06 can store information associated with the predefined codeword until a first opportunity to transform the other predefined codeword is available.
  • the rate adaptation component 106 can store the information associated with the predefined codeword in a state machine (e.g., a finite state machine).
  • rate adaptation component 106 can remove a previously inserted identification codeword (e.g., a first identification codeword) from the data stream and/or transform another predefined codeword in the data stream into a second identification codeword in response to a determination that the first clock rate is greater than the second clock rate and that the data stream comprises the previously inserted identification codeword (e.g., a first identification codeword was previously inserted into the data stream).
  • rate adaptation component 106 can store information associated with a previously inserted identification codeword (e.g., a first identification codeword) until a first opportunity to transform the other predefined codeword is available.
  • rate adaptation component 106 can store the information associated with a previously inserted identification codeword (e.g., first identification codeword) in a state machine (e.g., a finite state machine).
  • the second identification codeword can be configured to indicate that a codeword has been removed from the data stream by a rate adaptation process.
  • the second identification codeword can be a control block associated with rate adaptation.
  • the second identification codeword can be a control block associated with a standard for defining MAC of a physical layer and/or a data link layer (e.g., associated with Ethernet, etc.).
  • the second identification codeword can comprise a total number of codewords (e.g., predefined codewords, idle blocks, etc.) removed from the data stream.
  • a predefined codeword can indicate that a payload is not present at a particular portion of the data stream.
  • a predefined codeword can indicate presence of an ordered set at a particular portion of the data stream.
  • the second identification codeword can include identification information (e.g., a tag, an identifier, etc.), information associated with rate adaptation, information associated with a removed codeword, and/or other information. It is to be appreciated that a block type for the first identification codeword can be determined based on a particular implementation of the data stream.
  • timing component 102 can transmit a rate-adapted version of the data stream (e.g., a modified version of the data stream) at the second clock rate.
  • the device 108 can generate (e.g., recreate) one or more data streams that corresponds to the data stream received by timing component 102 (e.g., clock component 104).
  • device 108 can generate (e.g., recreate) one or more data streams at the first clock rate (e.g., without any identification codewords).
  • System 200 includes timing component 102 and device 108.
  • Timing component 102 can include clock component 104 and rate adaptation component 106.
  • Timing component 102 can transmit the rate-adapted version of the data stream to device 108 via a network 202.
  • timing component 102 can be implemented on a first end of network 202 and the device 108 can be implemented on a second end of network 202.
  • timing component 102 and device 108 can be implemented synchronously and network 202 can be implemented asynchronously.
  • Network 202 can be implemented as and/or in connection with an Ethernet network, an OTN network, a FC network and/or a SONET/SDH network.
  • network 202 can include one or more Ethernet network devices, one or more OTN network devices, one or more FC network devices and/or SONET/SDH network devices.
  • network 202 can be
  • network 202 can be a packet switched network and/or a circuit switched network.
  • network 202 can be a data communication network and/or a telecommunication network.
  • device 108 can be configured to recreate a data stream that corresponds to the data stream received by timing component 102.
  • device 108 can include a timing component 204.
  • timing component 204 can be configured to extract first identification
  • timing component 102 and device 108 can be configured to be aware of and/or determine the original clock rate (e.g., the first clock rate) associated with the rate-adapted version of the data stream, while network 202 (e.g., other network devices in network 202) can continue to operate asynchronously (e.g. , without being aware of the original clock rate associated with the rate-adapted version of the data stream).
  • device 108 can be associated with one or more devices configured to recreate a clock rate (e.g., the first clock rate) of the data stream for one or more other data streams.
  • device 108 can be associated with a digitally controlled oscillator (DCO).
  • device 108 can be associated with a phase-locked loop (PLL).
  • DCO digitally controlled oscillator
  • PLL phase-locked loop
  • Memory component 302 can be configured to store information associated with the data stream (e.g., a formatted block of the data stream) and/or rate adaptation. For example, memory component 302 can store information associated with a predefined codeword of the data stream (e.g., an idle block of the data stream). In another example, memory component 302 can store information associated with a first identification codeword of the data stream (e.g., an idle-plus block of the data stream). In an aspect, memory component 302 can store information associated with a deleted (e.g., a removed) formatted block of the data stream. In one example, memory component 302 can store information associated with a predefined codeword that is removed from the data stream. In another example, memory component 302 can store information associated with a previously inserted identification codeword (e.g., a first identification codeword) that is removed from the data stream.
  • a predefined codeword of the data stream e.g., an idle block of the data stream
  • a first identification codeword e.g.,
  • memory component 302 can store information associated with the predefined codeword and/or a previously inserted identification codeword (e.g., a first identification codeword) until a first opportunity to transform the other predefined codeword is available.
  • a previously inserted identification codeword e.g., a first identification codeword
  • memory component 302 can add the information associated with the predefined codeword and/or a previously inserted identification codeword (e.g., a first identification codeword) into the other predefined codeword when the first opportunity to transform the other predefined codeword is available.
  • memory component 302 can implement one or more algorithms to determine when the first opportunity to transform the other predefined codeword is available.
  • memory component 302 can store information associated with the predefined codeword and/or a previously inserted identification codeword (e.g., a first identification codeword) until a next predefined codeword in the data stream.
  • the predefined codeword and/or a previously inserted identification codeword can be associated with a first IPG in the data stream, and the next predefined codeword can be associated with a second IPG in the data stream.
  • memory component 302 can add information related to a predefined codeword and/or a previously inserted identification codeword associated with a first IPG into a next predefined codeword associated with a second IPG.
  • memory component 302 can include and/or be associated with a state machine (e.g., a finite state machine).
  • memory component 302 can store the information associated with a predefined codeword in a state machine.
  • memory component 302 can store the information associated with a previously inserted identification codeword (e.g., a first identification codeword) in a state machine.
  • System 400 includes timing component 102 and device 108.
  • Timing component 102 can include clock component 104, rate adaptation component 106 and/or memory component 302.
  • Rate adaptation component 106 can include at least a codeword insertion component 402.
  • Codeword insertion component 402 can be configured to insert a codeword into the data steam for rate adaptation.
  • codeword insertion component 402 can be configured to insert a first identification codeword into the data steam.
  • the first identification codeword can be an idle-plus codeword that identifies an idle codeword (e.g., uniquely identifies an idle block) that has been inserted by a rate adaptation process via codeword insertion component 402.
  • An idle codeword can be a codeword (e.g., a PCS codeword) that indicates that no payload is present at a particular location in the data stream.
  • the idle codeword can be included in an IPG of the data stream.
  • the idle codeword can be included in a data stream that exclusively comprises idle codewords.
  • codeword insertion component 402 can insert a first identification codeword into a particular location (e.g., a determined location) in the data stream in response to a determination that the first clock rate is lower than a second clock rate associated with device 108. For example, codeword insertion component 402 can insert the first identification codeword into a valid position of the data stream in response to the determination that the first clock rate is lower than the second clock rate. In an aspect, codeword insertion component 402 can insert a first identification codeword into the valid location in the data stream based on a set of encoding rules. In an aspect, the valid position of the data steam can be determined by a codeword insertion algorithm. In one example, the valid position can be a first available location in the data stream. However, it is to be appreciated that a valid position can be a different location in a data stream.
  • codeword insertion component 402 can insert the first identification codeword into a data stream that does not include a data packet. As such, codeword insertion component 402 can insert a first identification codeword into data stream that exclusively comprises idle codewords. Alternatively, codeword insertion component 402 can insert the first identification codeword into a data stream that exclusively comprises ordered set codewords. In another example, codeword insertion component 402 can insert the first identification codeword into a data stream that includes at least one data packet. As such, the codeword insertion component 402 can insert a first identification codeword into an IPG associated with the data packet in response to a determination that the first clock rate is lower than a second clock rate associated with device 108.
  • the IPG can be located in the data stream before the data packet. In another example, the IPG can be located in the data stream after the data packet. As such, in one example, codeword insertion component 402 can insert the first identification codeword at a beginning of an IPG. In another example, codeword insertion component 402 can insert the first identification codeword at an end of an IPG. In yet another example, codeword insertion component 402 can insert the first identification codeword between a beginning and an end of an IPG. However, codeword insertion component 402 can insert the first identification codeword at a different location in an IPG.
  • System 500 includes timing component 102 and device 108.
  • the timing component 102 can include clock component 104, rate adaptation component 106 and/or memory component 302.
  • Rate adaptation component 106 can include at least codeword insertion component 402 and/or a codeword removal component 502.
  • Codeword removal component 502 can be configured to remove a codeword from the data steam for rate adaptation.
  • codeword removal component 502 can be configured to remove a predefined codeword from the data steam.
  • the predefined codeword can be an idle codeword (e.g., an idle PCS codeword) that indicates that no payload is present at a particular location in the data stream.
  • the predefined codeword can be a ordered set (OSET) codeword (e.g., an ordered set PCS codeword) that indicates presence of ordered sets at a particular location in the data stream.
  • codeword removal component 502 can be configured to transform another predefined codeword in the data stream into a second identification codeword.
  • the second identification codeword can be an idle-minus codeword that identifies an idle codeword (e.g., uniquely identifies an idle code) that has been removed (e.g., deleted) by a rate adaptation process via codeword removal component 502.
  • codeword removal component 502 can be configured to transform another predefined codeword in the data stream into a third identification codeword.
  • the third identification codeword can be an OSET-minus codeword that identifies an OSET codeword that has been removed (e.g., deleted) by a rate adaptation process via codeword removal component 502.
  • codeword removal component 502 can remove a predefined codeword from the data stream in response to a determination that the first clock rate is greater than the second clock rate. Additionally, codeword removal component 502 can transform another predefined codeword in the data stream into a second identification codeword and/or a third identification codeword in response to the determination that the first clock rate is greater than the second clock rate. In an aspect, codeword removal component 502 can select the other predefined codeword in the data stream to be transformed into the second identification codeword and/or the third identification codeword based on a set of encoding rules.
  • codeword removal component 502 can select the other predefined codeword in the data stream to be transformed into the second identification codeword and/or the third identification codeword based on a codeword removal algorithm (e.g., a codeword removal algorithm associated with memory component 302)
  • a codeword removal algorithm e.g., a codeword removal algorithm associated with memory component 302
  • memory component 302 can store information associated with the predefined codeword until a first opportunity to transform the other predefined codeword is available in the data stream.
  • memory component 302 can store information associated with the predefined codeword until a next predefined codeword is available in the data stream.
  • the data stream can include at least a current data packet and a previous data packet.
  • codeword removal component 502 can remove a first codeword from a first IPG associated with a current data packet and/or insert a second identification codeword into a second IPG associated with the current data packet in response to a determination that the first clock rate is greater than the second clock rate.
  • the second IPG can be located in the data stream after the current data packet. Accordingly, memory component 302 can store information associated with the predefined codeword until an initial codeword associated with the second IPG is received.
  • FIG. 6 a diagram illustrating an example, non- limiting embodiment of a data stream 602 and a modified version of data stream 604 in accordance with various aspects described herein is shown.
  • FIG. 6 can illustrate a codeword insertion process for a data stream (e.g., a codeword insertion process associated with rate adaptation component 106 and/or codeword insertion component 402).
  • data stream 602 includes a previous packet 606, an inter- packet gap (IPG) 608, a current packet 610 and an IPG 612.
  • IPG inter- packet gap
  • the previous packet 606 can be a previous data packet in data stream 602
  • the current packet 610 can be a current data packet in data stream 602.
  • Previous packet 606 includes a start of packet (SOP) block (not shown), a plurality of data blocks and an end of packet (EOP) block.
  • IPG 608 includes a plurality of idle blocks (e.g., a plurality of idle codewords). For example, IPG 608 can include four idle blocks.
  • Current packet 610 includes a SOP block, a plurality of data blocks and an EOP block.
  • IPG 612 includes a plurality of idle blocks.
  • Data stream 602 can be transformed into the modified version of data stream 604 for rate adaptation.
  • data stream 602 can be a data stream before rate adaptation and the modified version of data stream 604 can be a data stream (e.g., data stream 602) after rate adaptation.
  • the modified version of data stream 604 can be a rate-adapted version of a data stream.
  • a codeword 614 e.g., a first identification codeword, an idle-*- codeword, etc.
  • the modified version of data stream 604 can include the codeword 614.
  • codeword 614 can be added to the IPG 608.
  • IPG 608 of the modified version of data stream 604 can include four idle blocks and codeword 614 (e.g., the first identification codeword, the idle+ codeword, etc.).
  • Codeword 614 can identify a codeword that has been inserted by a rate adaptation process.
  • codeword 614 can be inserted into data stream 602 in response to a determination that a clock rate of data stream 602 is lower than a clock rate associated with a device configured for receiving data stream 602 (e.g., the modified version of data stream 604).
  • codeword 614 can be inserted into data stream 602 (e.g., IPG 608) based on a set of encoding rules. For example, a location of codeword 614 in IPG 608 can be determined based on a set of encoding rules.
  • a location of codeword 614 in IPG 608 can be determined based on an algorithm (e.g., a codeword insertion algorithm, etc.).
  • codeword 614 is located at an end position of the IPG 608.
  • codeword 614 can be located at a different position of IPG 608 (e.g., at a beginning position of IPG 608, at a position between a beginning position and an end position of IPG 608, etc.).
  • FIG. 7 a diagram illustrating an example, non- limiting embodiment of a data stream 702 and a modified version of data stream 704 in accordance with various aspects described herein is shown.
  • FIG. 7 can illustrate a codeword removal process for a data stream (e.g., a codeword removal process associated with rate adaptation component 106 and/or codeword removal component 502).
  • data stream 702 includes a previous packet 706, an inter-packet gap (IPG) 708, a current packet 710 and an IPG 712.
  • the previous packet 706 includes a SOP block (not shown), a plurality of data blocks and an end of packet (EOP) block.
  • IPG 708 includes a plurality of idle blocks (e.g., a plurality of idle codewords). For example, IPG 708 can include four idle blocks.
  • Current packet 710 includes a SOP block, a plurality of data blocks and an EOP block.
  • IPG 712 includes a plurality of idle blocks (e.g., at least three idle blocks).
  • Data stream 702 can be transformed into the modified version of the data stream 704 for rate adaptation.
  • data stream 702 can be a data stream before rate adaptation and the modified version of data stream 704 can be a data stream (e.g., data stream 702) after rate adaptation.
  • the modified version of data stream 704 can be a rate-adapted version of a data stream.
  • a codeword 714 e.g., a predefined codeword, an idle codeword, etc.
  • IPG 708 IPG 708
  • a codeword 716 (e.g., a predefined codeword, an idle codeword, etc.) of data stream 704 can be transformed into a codeword 718 (e.g., a second identification codeword, an idle- codeword, etc.).
  • codeword 714 included in IPG 708 between previous packet 706 and current packet 710 of data stream 702 can be removed from the IPG 708.
  • codeword 716 included in IPG 712 after current packet 710 of data stream 702 can be transformed into a codeword 718 included in IPG 712 after current packet 710.
  • IPG 708 of the modified version of data stream 704 can include three idle blocks (e.g., instead of four idle blocks).
  • IPG 712 of the modified version of data stream 704 can include at least two idle blocks and codeword 718 (e.g., the second identification codeword, the idle- codeword, etc.).
  • Codeword 718 can identify a codeword that has been removed by a rate adaptation process.
  • codeword 714 can be removed from data stream 702 and codeword 716 can be transformed into codeword 718 in response to a determination that a clock rate of data stream 702 is greater than a clock rate associated with a device configured for receiving data stream 702 (e.g., the modified version of data stream 704).
  • codeword 716 can be transformed into the codeword 718 based on a set of encoding rules. For example, selection of codeword 716 to be transformed into codeword 718 can be determined based on a set of encoding rules.
  • codeword 716 can be transformed into codeword 718 based on an algorithm (e.g., a codeword removal algorithm, etc.).
  • codeword 716 and codeword 718 are located at a beginning position of IPG 712.
  • codeword 716 and codeword 718 can be located at a different position of IPG 712 (e.g., at an end position of IPG 712, at a position between a beginning position and an end position of IPG 712, etc.) or at another IPG.
  • FIG. 8 a diagram illustrating an example, non- limiting embodiment of a data stream 802 and a modified version of data stream 804 in accordance with various aspects described herein is shown.
  • FIG. 8 can illustrate a codeword insertion process for a data stream (e.g., a codeword insertion process associated with rate adaptation component 106 and/or codeword insertion component 402).
  • data stream 802 includes at least idle blocks 806a-k (e.g., idle codewords 806a-k).
  • Data stream 802 can be transformed into the modified version of data stream 804 for rate adaptation.
  • data stream 802 can be a data stream before rate adaptation and the modified version of data stream 804 can be a data stream (e.g., data stream 802) after rate adaptation.
  • the modified version of data stream 804 can be a rate-adapted version of a data stream.
  • a codeword 808 e.g., a first identification codeword, an idle+ codeword, etc.
  • the modified version of data stream 804 can include codeword 808.
  • Codeword 808 can identify a codeword that has been inserted by a rate adaptation process.
  • codeword 808 can be inserted into data stream 802 in response to a determination that a clock rate of data stream 802 is lower than a clock rate associated with a device configured for receiving data stream 802 (e.g., modified version of the data stream 804).
  • codeword 808 can be inserted into data stream 802 based on a set of encoding rules. For example, a location of codeword 808 in the data stream 802 can be determined based on a set of encoding rules.
  • a location of codeword 808 in data stream 802 can be determined based on an algorithm (e.g., a codeword insertion algorithm, etc.).
  • codeword 808 is located between idle block 806g and idle block 806h.
  • codeword 808 can be located at a different position in the modified version of data stream 804.
  • FIG. 9 a diagram illustrating an example, a data stream 902 and a modified version of data stream 904 in accordance with various aspects described herein is shown. For example, FIG.
  • data stream 902 includes at least idle blocks 906a-k (e.g., idle codewords 906a-k).
  • Data stream 902 can be transformed into the modified version of data stream 904 for rate adaptation.
  • data stream 902 can be a data stream before rate adaptation and the modified version of data stream 904 can be a data stream (e.g., data stream 902) after rate adaptation.
  • the modified version of data stream 904 can be a rate-adapted version of a data stream.
  • idle block 906g e.g., idle codeword 906g
  • the idle block 906h e.g., idle codeword 906h
  • a codeword 908 e.g., a second identification codeword, an idle- codeword, etc.
  • idle block 906h located after idle block 906g can be transformed into a codeword 908.
  • the modified version of the data stream 904 can include idle blocks 906a-f, codeword 908 and idle blocks 906i-k. Accordingly, the modified version of data stream 904 can include one less idle block than data stream 902.
  • Codeword 908 can identify a codeword that has been removed by a rate adaptation process.
  • idle block 906g can be removed from data stream 902 and idle block 906h can be transformed into codeword 908 in response to a determination that a clock rate of data stream 902 is greater than a clock rate associated with a device configured for receiving data stream 902 (e.g., modified version of data stream 904).
  • idle block 906h can be transformed into codeword 908 based on a set of encoding rules. For example, selection of idle block 906h to be transformed into codeword 908 can be determined based on a set of encoding rules.
  • idle block 906h can be transformed into codeword 908 based on an algorithm (e.g., a codeword removal algorithm, etc.). It is to be appreciated that a different idle block can be removed from data stream 902 and/or a different idle block can be transformed into a codeword (e.g., a second identification codeword, an idle- codeword, etc.).
  • an algorithm e.g., a codeword removal algorithm, etc.
  • a different idle block can be removed from data stream 902 and/or a different idle block can be transformed into a codeword (e.g., a second identification codeword, an idle- codeword, etc.).
  • FIG. 10 can illustrate another codeword insertion process for a data stream (e.g., a codeword insertion process associated with rate adaptation component 106 and/or codeword insertion component 402).
  • the data stream 1002 includes at least ordered set (OSET) blocks 1006a-k (e.g., OSET codewords 1006a-k).
  • An OSET block can be a codeword (e.g., a PCS code) that indicates presence of ordered sets in a data stream.
  • sequence ordered sets can be deleted from a data stream for rate adaptation (e.g., ordered set rate adaptation).
  • Data stream 1002 can be transformed into the modified version of data stream 1004 for rate adaptation (e.g., ordered set rate adaptation).
  • data stream 1002 can be a data stream before rate adaptation and the modified version of data stream 1004 can be a data stream (e.g., data stream 1002) after rate adaptation.
  • the modified version of data stream 1004 can be a rate-adapted version of a data stream.
  • a codeword 1008 e.g., a first identification codeword, an idle+ codeword, etc.
  • the modified version of data stream 1004 can include codeword 1008.
  • Codeword 1008 can identify a codeword that has been inserted by a rate adaptation process.
  • codeword 1008 can be inserted into data stream 1002 in response to a determination that a clock rate of data stream 1002 is lower than a clock rate associated with a device configured for receiving data stream 1002 (e.g., the modified version of data stream 1004).
  • codeword 1008 can be inserted into data stream 1002 based on a set of encoding rules. For example, a location of codeword 008 in data stream 1002 can be determined based on a set of encoding rules.
  • a location of codeword 1008 in data stream 1002 can be determined based on an algorithm (e.g., a codeword insertion algorithm, etc.).
  • codeword 1008 is located between idle block 1006g and idle block 1006h.
  • codeword 008 can be located at a different position of the modified version of data stream 1004.
  • FIG. 11 a diagram illustrating an example, a data stream 1102 and a modified version of data stream 1 04 in accordance with various aspects described herein is shown.
  • FIG. 11 can illustrate a codeword removal process for a data stream (e.g., a codeword removal process associated with rate adaptation component 106 and/or codeword removal component 502).
  • data stream 1102 includes at least OSET blocks 1106a-k (e.g., OSET codewords 1106a-k).
  • An OSET block can be a codeword (e.g., a PCS code) that indicates presence of ordered sets in a data stream.
  • Data stream 1102 can be transformed into the modified version of data stream 1104 for rate adaptation (e.g., ordered set rate adaptation).
  • data stream 1102 can be a data stream before rate adaptation and the modified version of data stream 1 104 can be a data stream (e.g., data stream 1102) after rate adaptation.
  • the modified version of data stream 1104 can be a rate-adapted version of a data stream.
  • OSET block 1106g e.g., OSET codeword 1106g
  • OSET block 1106g can be removed from data stream 1102.
  • the OSET block 1106h (e.g., the OSET codeword 1106h) of data stream 1104 can be transformed into a codeword 1108 (e.g., a third identification codeword, an OSET-minus codeword, etc.).
  • OSET block 1106g included in data stream 1102 between OSET block 1106f and OSET block 1106h can be removed from data stream 1102.
  • OSET block 1 106h located after OSET block 1 06g can be transformed into a codeword 1108.
  • the modified version of data stream 1 04 can include OSET blocks 1 106a-f, codeword 1 108 and OSET blocks 1106i-k.
  • the modified version of data stream 104 can include one less OSET block than data stream 1102.
  • Codeword 1108 can identify an ordered set codeword that has been removed by a rate adaptation process.
  • OSET block 1 06g can be removed from data stream 1102 and OSET block 1 106h can be transformed into codeword 1108 in response to a determination that a clock rate of data stream 1102 is greater than a clock rate associated with a device configured for receiving data stream 1102 (e.g., the modified version of data stream 1104).
  • OSET block 1106h can be transformed into codeword 1108 based on a set of encoding rules. For example, selection of OSET block 1 06h to be transformed into codeword 1 108 can be determined based on a set of encoding rules.
  • OSET block 1106h can be transformed into codeword 1108 based on an algorithm (e.g., a codeword removal algorithm, etc.). It is to be appreciated that a different OSET block can be removed from data stream 1 102 and/or a different OSET block can be transformed into a codeword (e.g., a second identification codeword, an idle- minus codeword, etc.).
  • an algorithm e.g., a codeword removal algorithm, etc.
  • a different OSET block can be removed from data stream 1 102 and/or a different OSET block can be transformed into a codeword (e.g., a second identification codeword, an idle- minus codeword, etc.).
  • Method 1200 can begin at block 1202, where a data stream at a first clock rate is received (e.g., by a clock component 104).
  • the data stream can be an encoded data stream (e.g., an encoded signal).
  • the data stream can be associated with a PCS encoding scheme.
  • the data stream can include at least one predefined PCS block.
  • a first identification codeword is inserted into a particular location in the data stream (e.g., using a rate adaptation component 06) based on a set of encoding rules in response to a determination that the first clock rate is lower than a second clock rate associated with a device configured for receiving a rate-adapted version of the data stream.
  • a first identification codeword can be configured to indicate that a codeword has been inserted into the data stream by a rate adaptation process.
  • a predefined codeword is removed from the data stream (e.g., using a rate adaptation component 106) and/or another predefined codeword in the data stream is transformed into a second identification codeword (e.g., using a rate adaptation component 106) in response to a determination that the first clock rate is greater than the second clock rate.
  • a second identification codeword can be configured to indicate that a codeword has been removed from the data stream by a rate adaptation process.
  • a predefined codeword can indicate that a payload is not present at a particular portion in the data stream.
  • a predefined codeword can indicate presence of an ordered set at a particular portion in the data stream.
  • configuration of the data stream is maintained (e.g., by a rate adaptation component 06) in response to a determination that the first clock rate equals the second clock rate.
  • the data stream is not modified for rate adaptation in response to a determination that the first clock rate equals the second clock rate.
  • FIG. 13 a flow diagram of an example, a method for removing a codeword from a data stream for rate adaptation is shown.
  • Method 1300 can begin at block 302, where a data stream at a first clock rate is received (e.g., by a clock component 104).
  • a predefined codeword from the data stream is removed (e.g., using a rate adaptation component 106) in response to a determination that the first clock rate is greater than a second clock rate associated with a device configured for receiving a rate-adapted version of the data stream.
  • information associated with the predefined codeword is stored (e.g., by a memory component 302).
  • another predefined codeword in the data stream is transformed into a second identification codeword (e.g., using a rate adaptation component 106).
  • the information associated with the predefined codeword is inserted into the second identification codeword (e.g., using a rate adaptation component 106).
  • Method 1400 can begin at block 1402, where a data stream at a first clock rate is received (e.g., by a clock component 104).
  • a first identification codeword is inserted into a determined location in the data stream (e.g., using a rate adaptation component 106) based on a set of encoding rules in response to a determination that the first clock rate is lower than a second clock rate associated with a device configured for receiving a rate-adapted version of the data stream.
  • a predefined codeword is removed from the data stream (e.g., using a rate adaptation component 106) in response to a determination that the first clock rate is greater than the second clock rate and that the data stream does not comprise a previously inserted first identification codeword.
  • a first identification codeword is removed from the data stream (e.g., using a rate adaptation component 106) in response to a determination that the first clock rate is greater than the second clock rate and that the data stream comprises a previously inserted first identification codeword.
  • another predefined codeword in the data stream is transformed into a second identification codeword (e.g., using a rate adaptation component 106) in response to the determination that the first clock rate is greater than the second clock rate.
  • Method 1500 can begin at block 1502, where a data stream at a first clock rate is received (e.g., by a clock component 104).
  • a first identification codeword is added into a location in the data stream (e.g., using a rate adaptation component 106) based on a set of encoding rules to generate a modified version of the data stream in response to a determination that the first clock rate is lower than a second clock rate associated with a device configured for receiving a rate-adapted version of the data stream.
  • a predefined codeword from the data stream is deleted (e.g., using a rate adaptation component 106) and/or another predefined codeword in the data stream is converted into a second identification codeword (e.g., using a rate adaptation component 106) to generate a modified version of the data stream in response to a determination that the first clock rate is greater than the second clock rate.
  • the modified version of the data stream is transmitted at the second clock rate (e.g., using a rate adaptation component 106).
  • Method 1600 can begin at block 1602, where a data stream at a clock rate is received (e.g., by a device 108).
  • the data stream comprises one or more identification codewords for rate adaptation.
  • information included in the one or more identification codewords is extracted (e.g., by a device 108).
  • an original clock rate associated with the data stream is generated (e.g., recreated) for one or more other data streams based on the one or more identification codewords and/or the information included in the one or more identification codewords (e.g., using a device 108).
  • the techniques described herein can be applied to any device and/or network where it is desirable to employ one or more identification codewords for a rate-adapted version of a data stream. Therefore, handheld, portable and other computing devices and computing objects of all kinds are useable in connection with the various embodiments. Accordingly, the below general purpose remote computer described below in FIG. 17 is but one example, and the disclosed subject matter can be implemented with any client having network/bus interoperability and interaction. Thus, the disclosed subject matter can be implemented in an environment of networked hosted services in which very little or minimal client resources are implicated, e.g., a networked environment in which the client device serves merely as an interface to the network/bus, such as an object placed in an appliance.
  • FIG. 17 illustrates an example of a suitable computing system environment 700 in which aspects of the disclosed subject matter can be implemented, although as made clear above, the computing system
  • computing environment 1700 is only one example of a suitable computing environment for a device and is not a limitation as to the scope of use or functionality of the disclosed subject matter. Neither should the computing environment 1700 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 1700.
  • an exemplary device for implementing the disclosed subject matter includes a general-purpose computing device in the form of a computer 17 0.
  • Computer 1710 typically includes a variety of computer readable media.
  • Computer readable media can be any available media that can be accessed by computer 1710.
  • memory 1730 may also include an operating system, application programs, other program modules, and program data.
  • the computer 1710 may also include other removable/nonremovable, volatile/nonvolatile computer storage media.
  • a user can enter commands and information into the computer 1710 through input devices such as a keyboard and pointing device, commonly referred to as a mouse, trackball, or touch pad.
  • the computer 1710 can operate in a networked or distributed environment using logical connections to one or more other remote computer(s), such as remote computer 1770, which can in turn have media capabilities different from device 1710.
  • FIG. 18 provides a schematic diagram of an exemplary networked or distributed computing environment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Systems and methods for modifying a data stream for rate adaptation. A clock component receives a data stream at a first clock rate. In an aspect, a rate adaptation component inserts a first identification codeword into a particular location in the data stream based on a set of encoding rules in response to a determination that the first clock rate is lower than a second clock rate associated with a device configured for receiving a rate-adapted version of the data stream. In another aspect, the rate adaptation component removes a predefined codeword from the data stream and transforms another predefined codeword in the data stream into a second identification codeword in response to a determination that the first clock rate is greater than the second clock rate.

Description

IDENTIFICATION CODEWORDS FOR A RATE-ADAPTED VERSION OF A
DATA STREAM
TECHNICAL FIELD
[0001] The subject disclosure relates to networking, particularly to identification codewords for a rate-adapted version of a data stream.
BACKGROUND
[0002] Electronic communications can involve a variety of programmed actions and/or protocols. For instance, programmed actions and/or protocols can facilitate timing for the transmission and/or reception of data (e.g., data signals). In one example, a network timing protocol can be implemented for clock synchronization between network devices and/or network components. In certain instances, a clock rate of a data signal can be modified via a rate adaptation process. Furthermore, in certain networks (e.g., an Ethernet network), a Synchronous Ethernet (SYNC-E) standard can be implemented to synchronize data signals within the network. However, current approaches for SYNC-E are based on recovery of a bit-rate for a data signal transmitted throughout the network. Therefore, each device in the network is required to run synchronously (e.g., every data signal in the network needs to be
transmitted by an external clock), resulting in added cost to the network and/or decreased efficiency of the network.
SUMMARY
[0003] In an example embodiment, a system comprising a clock component and a rate adaptation component is disclosed. The clock
component is configured for receiving a data stream at a first clock rate. In an aspect, the rate adaptation component is configured for inserting a first identification codeword into a particular location in the data stream based on a set of encoding rules in response to a determination that the first clock rate is lower than a second clock rate associated with a device configured for receiving a rate-adapted version of the data stream. In another aspect, the rate adaptation component is configured for removing a predefined codeword from the data stream and transforming another predefined codeword in the data stream into a second identification codeword in response to a determination that the first clock rate is greater than the second clock rate. [0004] In another example, a method comprises receiving a data stream in a computer system at a first clock rate is disclosed. The method comprises inserting a first identification codeword into a determined location in the data stream in the computer system in response to a determination that the first clock rate is lower than a second clock rate associated with a device configured for receiving a rate-adapted version of the data stream.
[0005] In yet another example, a system comprises means for receiving a data stream at a first clock rate is disclosed. The system also comprises a means for adding a first identification codeword into a valid location in the data stream based on a set of encoding rules in response to a determination that the first clock rate is lower than a second clock.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] FIG. 1 is a block diagram illustrating an example of a rate adaptation system in accordance with aspects described herein.
[0007] FIG. 2 is a block diagram illustrating another example of a rate adaptation system in accordance with aspects described herein.
[0008] FIG. 3 is a block diagram illustrating yet another example of a rate adaptation system in accordance with aspects described herein.
[0009] FIG. 4 is a block diagram illustrating yet another example of a rate adaptation system in accordance with aspects described herein.
[0010] FIG. 5 is a block diagram illustrating yet another example of a rate adaptation system in accordance with aspects described herein.
[0011] FIG. 6 is a diagram illustrating an example of a codeword insertion process for rate adaptation in accordance with aspects described herein.
[0012] FIG. 7 is a diagram illustrating an example of a codeword removal process for rate adaptation in accordance with aspects described herein.
[0013] FIG. 8 is a diagram illustrating another example of a codeword insertion process for rate adaptation in accordance with aspects described herein.
[0014] FIG. 9 is a diagram illustrating another example of a codeword removal process for rate adaptation in accordance with aspects described herein. [0015] FIG. 10 is a diagram illustrating another example of a codeword insertion process for rate adaptation in accordance with aspects described herein.
[0016] FIG. 11 is a diagram illustrating another example of a codeword removal process for rate adaptation in accordance with aspects described herein.
[0017] FIG. 12 illustrates a flow diagram of an example of a method for modifying a data stream for rate adaptation.
[00 8] FIG. 13 illustrates a flow diagram of an example of a method for removing a codeword from a data stream for rate adaptation.
[0019] FIG. 14 illustrates a flow diagram of another example of a method for modifying a data stream for rate adaptation.
[0020] FIG. 15 illustrates a flow diagram of yet another example of a method for modifying a data stream for rate adaptation.
[0021] FIG. 16 illustrates a flow diagram of an example of a method for receiving a modified version of a data stream.
[0022] FIG. 17 illustrates a block diagram of an example electronic computing environment that can be implemented in conjunction with one or more aspects described herein.
[0023] FIG. 18 illustrates a block diagram of an example data
communication network that can be operable in conjunction with aspects described herein.
DETAILED DESCRIPTION
[0024] Aspects of the present disclosure provide a system for modifying a data stream for rate adaptation. For example, identification codewords can be employed for a rate-adapted version of a data stream. As such, identification codewords can facilitate adapting a data rate of a data stream across two clock domains while also identifying predefined codewords that have been inserted and/or deleted due to clock rate adaptation. In an aspect, a first identification codeword can be inserted into a particular location in a data stream in response to a determination that a first clock rate is lower than a second clock rate associated with a device configured for receiving a rate-adapted version of the data stream (e.g., in response to a determination that a line clock is greater than a client clock). For example, the first identification codeword can be configured to indicate that a codeword has been inserted into the data stream by a rate adaptation process. In one example, the first identification codeword can be inserted into the particular location in the data stream based on a set of encoding rules and/or one or more algorithms.
[0025] In another aspect, a predefined codeword can be removed from the data stream and/or another predefined codeword in the data stream can be transformed into a second identification codeword in response to a
determination that a first clock rate is higher than a second clock rate associated with a device configured for receiving a rate-adapted version of the data stream (e.g., in response to a determination that a line clock is lower than a client clock). For example, the second identification codeword can be configured to indicate that a codeword has been removed from the data stream by a rate adaptation process. Furthermore, the predefined codeword can indicate that a payload is not present in the data stream. Additionally or alternatively, the predefined codeword can indicate presence of an ordered set in the data stream. In one example, selection of a predefined codeword in the data stream to be transformed into the second identification codeword can be determined based on a set of encoding rules and/or one or more algorithms.
[0026] Therefore, codewords in a data stream that are associated with an idle period between data transmissions (e.g., an interpacket gap) in a data stream can be differentiated from other codewords (e.g., identification codewords) in the data stream that are inserted and/or deleted due to rate adaptation (e.g., a clock rate adaptation process). Accordingly, timing throughout a network (e.g., an Ethernet network) can be maintained without implementing predetermined frames and/or timing protocols above a physical coding sublayer of the network. Moreover, a device implemented on a first end of a network (e.g., a client-side interface) and another device implemented on another end of the network (e.g., a line-side interface) can be timing aware, while a remaining portion of the network (e.g., other network devices in the network) can continue to operate asynchronously.
[0027] Turning now to FIG. 1 , a block diagram illustrating an example, embodiment of a network system in accordance with various aspects described herein is shown. System 100 includes a timing component 102. Timing component 102 can include a clock component 104 and a rate adaptation component 106. In one example, system 100 can be implemented in a data communication system and/or a telecommunication system. For example, system 00 can be implemented in and/or in connection with an Ethernet network system, an optical transport network (OTN) system, a Fibre Channel (FC) system and/or another type of network system. However, system 100 can be implemented as a different type of network system. Furthermore, system 100 can be associated with more than one type of data communication system and/or telecommunication system. In another example, system 100 can be associated with a multi-link gearbox (MLG) standard.
[0028] In an aspect, timing component 102 can be implemented on and/or in connection with a system interface, a client interface, a host interface and/or a line interface. Timing component 102 can be implemented on a transmitter device, a receiver device and/or a transceiver device. In an embodiment, rate-adaptation (e.g., at least the rate adaptation component 106) can be implemented on a transmitter device, a receiver device and/or a transceiver device. Additionally, device 108 can be implemented on a receiver device and/or a transceiver device. In one example, timing component 102 can be implemented on a transmitter device and device 108 can be implemented on a receiver device. In another example, timing component 102 can be implemented on a client-side interface and device 108 can be implemented on a line-side interface.
[0029] Timing component 102 (e.g., clock component 104) can receive a data stream (e.g., DATA STREAM shown in FIG. 1). The data stream can be received at a first clock rate (e.g., a client clock rate, a client-side clock rate, etc.). As such, clock component 104 can be configured to determine the first clock rate (e.g., a first clock rate value) associated with the data stream. In one embodiment, the data stream can be generated by a transmitter device. In another embodiment, the data stream can be generated by a receiver device. For example, the data stream can be generated by a processor. In another example, the data stream can be generated by a network processing unit (NPU). In yet another example, the data stream can be generated by a media access control (MAC) device. In an aspect, the data stream can be
implemented as an Ethernet signal, a Fibre Channel (FC) signal, an optical transport network (OTN) signal, a synchronous optical networking
(SONET/SDH) signal and/or another type of signal.
[0030] The data stream can be an encoded data stream (e.g., an encoded signal). In an aspect, the data stream can be associated with a physical coding sublayer (PCS) encoding scheme. For example, the data stream can include a plurality of PCS blocks (e.g., a plurality of PCS
codewords). As such, the data stream can be a serial stream of formatted blocks (e.g., codewords). For example, the data stream can be a serial stream of 64B/66B formatted blocks (e.g., a 64B/66B encoded signal), a serial stream of 8B/10B formatted blocks (e.g., an 8B/10B encoded signal), etc. However, the data stream can be associated with a different PCS encoding scheme.
[0031] Furthermore, the data stream can include at least one or more formatted blocks that indicate that a payload is not present in the data stream. For example, the data stream can include at least one idle block that can be configured as a PCS idle codeword. The at least one idle block can indicate that a payload is not present at a particular portion of the data stream. In an aspect, the data stream can implemented without a data packet. For example, the data stream can be a data stream of idle blocks. In another example, the data stream can be a data stream of ordered set (OSET) blocks. In another aspect, the data stream can be associated with one or more data packets (e.g., a current data packet, a previous data packet, etc.). For example, the data stream can include, but is not limited to, one or more idle blocks, one or more data blocks, one or more start of packet (SOP) blocks and/or one or more end of packet (EOP) blocks. In one example, data packets included in the data stream can be separated by an inter-packet gap (IPG) that includes one or more idle blocks. For example, a current packet can include a SOP block, one or more data blocks and an EOP block. Furthermore an IPG can separate the current data packet from a previous data packet that includes a SOP block, one or more data blocks and an EOP block.
[0032] Rate adaptation component 106 can be configured for rate adaptation (e.g., to rate-adapt the data stream). For example, rate adaptation component 106 can be configured to adapt the first clock rate based on a second clock rate (e.g., a line clock rate, a line-side clock rate, etc.). The second clock rate can be associated with a device 108 configured for receiving the data stream (e.g., a rate-adapted version of the data stream). For example, the second clock rate can be a clock rate required by device 108 and/or required by a communication line associated with device 108. In an aspect, device 108 can be associated with a receiver device. In one example, device 108 can transmit the rate-adapted version of the data stream (e.g., RATE- ADAPTED VERSION OF THE DATA STREAM shown in FIG. 1) to another device (e.g., a digitally controlled oscillator, a phase-locked loop, etc.) that can generate (e.g., recreate) a clock value for one or more other data streams. In another example, device 108 can be configured to generate (e.g., recreate) a clock value for one or more other data streams. In an aspect, timing component 102 can transmit the rate-adapted version of the data stream to the device 108 via a network (e.g., one or more other devices in a network system). As such, timing component 102 can be implemented on a first end of a network (e.g., a client-side interface) and device 108 can be implemented on another end of the network (e.g., a line-side interface). Accordingly, timing component 102 and device 108 can be timing aware, while a remaining portion of the network (e.g., other network devices in the network) can continue to operate asynchronously. It is to be appreciated that device 108 can include one or more devices.
[0033] In an aspect, the rate adaptation component 106 can insert a first identification codeword (e.g., idle-plus codeword) into a particular location (e.g., a determined location, a valid location, etc.) in the data stream in response to a determination that the first clock rate is lower than the second clock rate associated with device 108. For example, rate adaptation component 106 can insert a first identification codeword into a particular location in the data stream in response to a determination that a write clock associated with timing component 102 is lower than (e.g. slower than) a read clock associated with timing component 102. In an aspect, rate adaptation component 106 can insert the first identification codeword into a valid position (e.g., the particular location) of the data stream based on a set of encoding rules and/or one or more algorithms in response to the determination that the first clock rate is lower than the second clock rate.
[0034] The first identification codeword can be configured to indicate that a codeword has been inserted into the data stream by a rate adaptation process. In an aspect, the first identification codeword can be a control block associated with rate adaptation. For example, the first identification codeword can be a control block associated with a standard for defining media access control (MAC) of a physical layer and/or a data link layer (e.g., associated with Ethernet, etc.). In an aspect, the first identification codeword can comprise a total number of identification codewords (e.g., first identification codewords) inserted into the data stream. The first identification codeword can include identification information (e.g., a tag, an identifier, etc.), information associated with rate adaptation and/or other information. It is to be appreciated that a block type for the first identification codeword can be determined based on a particular implementation of the data stream.
[0035] In another aspect, rate adaptation component 106 can remove a predefined codeword from the data stream and/or transform another predefined codeword in the data stream into a second identification codeword (e.g., an idle- minus codeword) in response to a determination that the first clock rate is greater than the second clock rate. For example, rate adaptation component 106 can remove a first identification codeword from a particular location in the data stream in response to a determination that a write clock associated with timing component 102 is greater than (e.g. faster than) a read clock associated with timing component 102.
[0036] In an aspect, the rate adaptation component 106 can select the other predefined codeword in the data stream to be transformed into the second identification codeword based on a set of encoding rules and/or one or more algorithms. In one example, the rate adaptation component 06 can store information associated with the predefined codeword until a first opportunity to transform the other predefined codeword is available. For example, the rate adaptation component 106 can store the information associated with the predefined codeword in a state machine (e.g., a finite state machine).
[0037] In another aspect, rate adaptation component 106 can remove a previously inserted identification codeword (e.g., a first identification codeword) from the data stream and/or transform another predefined codeword in the data stream into a second identification codeword in response to a determination that the first clock rate is greater than the second clock rate and that the data stream comprises the previously inserted identification codeword (e.g., a first identification codeword was previously inserted into the data stream). In one example, rate adaptation component 106 can store information associated with a previously inserted identification codeword (e.g., a first identification codeword) until a first opportunity to transform the other predefined codeword is available. For example, rate adaptation component 106 can store the information associated with a previously inserted identification codeword (e.g., first identification codeword) in a state machine (e.g., a finite state machine).
[0038] The second identification codeword can be configured to indicate that a codeword has been removed from the data stream by a rate adaptation process. In an aspect, the second identification codeword can be a control block associated with rate adaptation. For example, the second identification codeword can be a control block associated with a standard for defining MAC of a physical layer and/or a data link layer (e.g., associated with Ethernet, etc.). In an aspect, the second identification codeword can comprise a total number of codewords (e.g., predefined codewords, idle blocks, etc.) removed from the data stream. In one example, a predefined codeword can indicate that a payload is not present at a particular portion of the data stream. In another example, a predefined codeword can indicate presence of an ordered set at a particular portion of the data stream. The second identification codeword can include identification information (e.g., a tag, an identifier, etc.), information associated with rate adaptation, information associated with a removed codeword, and/or other information. It is to be appreciated that a block type for the first identification codeword can be determined based on a particular implementation of the data stream.
[0039] As such, timing component 102 (e.g., rate adaptation component 106) can transmit a rate-adapted version of the data stream (e.g., a modified version of the data stream) at the second clock rate. Furthermore, the device 108 can generate (e.g., recreate) one or more data streams that corresponds to the data stream received by timing component 102 (e.g., clock component 104). For example, device 108 can generate (e.g., recreate) one or more data streams at the first clock rate (e.g., without any identification codewords).
[0040] Referring now to FIG. 2, a block diagram illustrating another example, an embodiment of network system in accordance with various aspects described herein is shown. System 200 includes timing component 102 and device 108. Timing component 102 can include clock component 104 and rate adaptation component 106.
[0041] Timing component 102 can transmit the rate-adapted version of the data stream to device 108 via a network 202. In an aspect, timing component 102 can be implemented on a first end of network 202 and the device 108 can be implemented on a second end of network 202. For example, timing component 102 and device 108 can be implemented synchronously and network 202 can be implemented asynchronously.
[0042] Network 202 can be implemented as and/or in connection with an Ethernet network, an OTN network, a FC network and/or a SONET/SDH network. For example, network 202 can include one or more Ethernet network devices, one or more OTN network devices, one or more FC network devices and/or SONET/SDH network devices. However, network 202 can be
implemented as and/or in connection with a different type of network and/or different network devices. Therefore, network 202 can be a packet switched network and/or a circuit switched network. In an aspect, network 202 can be a data communication network and/or a telecommunication network.
[0043] In an aspect, device 108 can be configured to recreate a data stream that corresponds to the data stream received by timing component 102. For example device 108 can include a timing component 204. In an aspect, timing component 204 can be configured to extract first identification
codeword(s) and/or second identification codeword(s) from the rate-adapted version of the data stream transmitted by timing component 102 (e.g., received by device 108). As such, timing component 102 and device 108 (e.g., timing component 204) can be configured to be aware of and/or determine the original clock rate (e.g., the first clock rate) associated with the rate-adapted version of the data stream, while network 202 (e.g., other network devices in network 202) can continue to operate asynchronously (e.g. , without being aware of the original clock rate associated with the rate-adapted version of the data stream). In an aspect, device 108 can be associated with one or more devices configured to recreate a clock rate (e.g., the first clock rate) of the data stream for one or more other data streams. In one example, device 108 can be associated with a digitally controlled oscillator (DCO). In another example, device 108 can be associated with a phase-locked loop (PLL). [0044] Referring now to FIG. 3, a block diagram illustrating another example, a network system in accordance with various aspects described herein is shown. System 300 includes timing component 102 and the device 108. Timing component 102 can include clock component 104, rate adaptation component 106 and memory component 302.
[0045] Memory component 302 can be configured to store information associated with the data stream (e.g., a formatted block of the data stream) and/or rate adaptation. For example, memory component 302 can store information associated with a predefined codeword of the data stream (e.g., an idle block of the data stream). In another example, memory component 302 can store information associated with a first identification codeword of the data stream (e.g., an idle-plus block of the data stream). In an aspect, memory component 302 can store information associated with a deleted (e.g., a removed) formatted block of the data stream. In one example, memory component 302 can store information associated with a predefined codeword that is removed from the data stream. In another example, memory component 302 can store information associated with a previously inserted identification codeword (e.g., a first identification codeword) that is removed from the data stream.
[0046] Furthermore, memory component 302 can store information associated with the predefined codeword and/or a previously inserted identification codeword (e.g., a first identification codeword) until a first opportunity to transform the other predefined codeword is available.
Furthermore, memory component 302 can add the information associated with the predefined codeword and/or a previously inserted identification codeword (e.g., a first identification codeword) into the other predefined codeword when the first opportunity to transform the other predefined codeword is available. In an aspect, memory component 302 can implement one or more algorithms to determine when the first opportunity to transform the other predefined codeword is available. In an example, memory component 302 can store information associated with the predefined codeword and/or a previously inserted identification codeword (e.g., a first identification codeword) until a next predefined codeword in the data stream. In one example, the predefined codeword and/or a previously inserted identification codeword (e.g., a first identification codeword) can be associated with a first IPG in the data stream, and the next predefined codeword can be associated with a second IPG in the data stream. As such, memory component 302 can add information related to a predefined codeword and/or a previously inserted identification codeword associated with a first IPG into a next predefined codeword associated with a second IPG. In another aspect, memory component 302 can include and/or be associated with a state machine (e.g., a finite state machine). For example, memory component 302 can store the information associated with a predefined codeword in a state machine. Additionally or alternatively, memory component 302 can store the information associated with a previously inserted identification codeword (e.g., a first identification codeword) in a state machine.
[0047] Referring now to FIG. 4, a block diagram illustrating an example, non-limiting embodiment of a rate adaptation component implemented in a network system in accordance with various aspects described herein is shown. System 400 includes timing component 102 and device 108. Timing component 102 can include clock component 104, rate adaptation component 106 and/or memory component 302. Rate adaptation component 106 can include at least a codeword insertion component 402.
[0048] Codeword insertion component 402 can be configured to insert a codeword into the data steam for rate adaptation. In one example, codeword insertion component 402 can be configured to insert a first identification codeword into the data steam. For example, the first identification codeword can be an idle-plus codeword that identifies an idle codeword (e.g., uniquely identifies an idle block) that has been inserted by a rate adaptation process via codeword insertion component 402. An idle codeword can be a codeword (e.g., a PCS codeword) that indicates that no payload is present at a particular location in the data stream. In one example, the idle codeword can be included in an IPG of the data stream. In another example, the idle codeword can be included in a data stream that exclusively comprises idle codewords.
[0049] In an aspect, codeword insertion component 402 can insert a first identification codeword into a particular location (e.g., a determined location) in the data stream in response to a determination that the first clock rate is lower than a second clock rate associated with device 108. For example, codeword insertion component 402 can insert the first identification codeword into a valid position of the data stream in response to the determination that the first clock rate is lower than the second clock rate. In an aspect, codeword insertion component 402 can insert a first identification codeword into the valid location in the data stream based on a set of encoding rules. In an aspect, the valid position of the data steam can be determined by a codeword insertion algorithm. In one example, the valid position can be a first available location in the data stream. However, it is to be appreciated that a valid position can be a different location in a data stream.
[0050] In one example, codeword insertion component 402 can insert the first identification codeword into a data stream that does not include a data packet. As such, codeword insertion component 402 can insert a first identification codeword into data stream that exclusively comprises idle codewords. Alternatively, codeword insertion component 402 can insert the first identification codeword into a data stream that exclusively comprises ordered set codewords. In another example, codeword insertion component 402 can insert the first identification codeword into a data stream that includes at least one data packet. As such, the codeword insertion component 402 can insert a first identification codeword into an IPG associated with the data packet in response to a determination that the first clock rate is lower than a second clock rate associated with device 108. In one example, the IPG can be located in the data stream before the data packet. In another example, the IPG can be located in the data stream after the data packet. As such, in one example, codeword insertion component 402 can insert the first identification codeword at a beginning of an IPG. In another example, codeword insertion component 402 can insert the first identification codeword at an end of an IPG. In yet another example, codeword insertion component 402 can insert the first identification codeword between a beginning and an end of an IPG. However, codeword insertion component 402 can insert the first identification codeword at a different location in an IPG.
[0051] Referring now to FIG. 5, a block diagram illustrating another example, a rate adaptation component implemented in a network system in accordance with various aspects described herein is shown. System 500 includes timing component 102 and device 108. The timing component 102 can include clock component 104, rate adaptation component 106 and/or memory component 302. Rate adaptation component 106 can include at least codeword insertion component 402 and/or a codeword removal component 502.
[0052] Codeword removal component 502 can be configured to remove a codeword from the data steam for rate adaptation. In one example, codeword removal component 502 can be configured to remove a predefined codeword from the data steam. For example, the predefined codeword can be an idle codeword (e.g., an idle PCS codeword) that indicates that no payload is present at a particular location in the data stream. In another example, the predefined codeword can be a ordered set (OSET) codeword (e.g., an ordered set PCS codeword) that indicates presence of ordered sets at a particular location in the data stream. Additionally, codeword removal component 502 can be configured to transform another predefined codeword in the data stream into a second identification codeword. For example, the second identification codeword can be an idle-minus codeword that identifies an idle codeword (e.g., uniquely identifies an idle code) that has been removed (e.g., deleted) by a rate adaptation process via codeword removal component 502. Alternatively, codeword removal component 502 can be configured to transform another predefined codeword in the data stream into a third identification codeword. For example, the third identification codeword can be an OSET-minus codeword that identifies an OSET codeword that has been removed (e.g., deleted) by a rate adaptation process via codeword removal component 502.
[0053] In an aspect, codeword removal component 502 can remove a predefined codeword from the data stream in response to a determination that the first clock rate is greater than the second clock rate. Additionally, codeword removal component 502 can transform another predefined codeword in the data stream into a second identification codeword and/or a third identification codeword in response to the determination that the first clock rate is greater than the second clock rate. In an aspect, codeword removal component 502 can select the other predefined codeword in the data stream to be transformed into the second identification codeword and/or the third identification codeword based on a set of encoding rules. In another aspect, codeword removal component 502 can select the other predefined codeword in the data stream to be transformed into the second identification codeword and/or the third identification codeword based on a codeword removal algorithm (e.g., a codeword removal algorithm associated with memory component 302)
[0054] Furthermore, memory component 302 can store information associated with the predefined codeword until a first opportunity to transform the other predefined codeword is available in the data stream. For example, memory component 302 can store information associated with the predefined codeword until a next predefined codeword is available in the data stream. In one example, the data stream can include at least a current data packet and a previous data packet. As such, codeword removal component 502 can remove a first codeword from a first IPG associated with a current data packet and/or insert a second identification codeword into a second IPG associated with the current data packet in response to a determination that the first clock rate is greater than the second clock rate. For example, the second IPG can be located in the data stream after the current data packet. Accordingly, memory component 302 can store information associated with the predefined codeword until an initial codeword associated with the second IPG is received.
[0055] Referring now to FIG. 6, a diagram illustrating an example, non- limiting embodiment of a data stream 602 and a modified version of data stream 604 in accordance with various aspects described herein is shown. For example, FIG. 6 can illustrate a codeword insertion process for a data stream (e.g., a codeword insertion process associated with rate adaptation component 106 and/or codeword insertion component 402). In the non-limiting example shown in FIG. 6, data stream 602 includes a previous packet 606, an inter- packet gap (IPG) 608, a current packet 610 and an IPG 612. For example, the previous packet 606 can be a previous data packet in data stream 602 and the current packet 610 can be a current data packet in data stream 602. Previous packet 606 includes a start of packet (SOP) block (not shown), a plurality of data blocks and an end of packet (EOP) block. IPG 608 includes a plurality of idle blocks (e.g., a plurality of idle codewords). For example, IPG 608 can include four idle blocks. Current packet 610 includes a SOP block, a plurality of data blocks and an EOP block. IPG 612 includes a plurality of idle blocks.
[0056] Data stream 602 can be transformed into the modified version of data stream 604 for rate adaptation. For example, data stream 602 can be a data stream before rate adaptation and the modified version of data stream 604 can be a data stream (e.g., data stream 602) after rate adaptation. As such, the modified version of data stream 604 can be a rate-adapted version of a data stream. In the example shown in FIG. 6, a codeword 614 (e.g., a first identification codeword, an idle-*- codeword, etc.) can be added to data stream 602. As such, the modified version of data stream 604 can include the codeword 614. For example, codeword 614 can be added to the IPG 608. As such, IPG 608 of the modified version of data stream 604 can include four idle blocks and codeword 614 (e.g., the first identification codeword, the idle+ codeword, etc.).
[0057] Codeword 614 can identify a codeword that has been inserted by a rate adaptation process. In an aspect, codeword 614 can be inserted into data stream 602 in response to a determination that a clock rate of data stream 602 is lower than a clock rate associated with a device configured for receiving data stream 602 (e.g., the modified version of data stream 604). In one example, codeword 614 can be inserted into data stream 602 (e.g., IPG 608) based on a set of encoding rules. For example, a location of codeword 614 in IPG 608 can be determined based on a set of encoding rules. In another example, a location of codeword 614 in IPG 608 can be determined based on an algorithm (e.g., a codeword insertion algorithm, etc.). In the non-limiting example shown in FIG. 6, codeword 614 is located at an end position of the IPG 608. However, it is to be appreciated that codeword 614 can be located at a different position of IPG 608 (e.g., at a beginning position of IPG 608, at a position between a beginning position and an end position of IPG 608, etc.).
[0058] Referring now to FIG. 7, a diagram illustrating an example, non- limiting embodiment of a data stream 702 and a modified version of data stream 704 in accordance with various aspects described herein is shown. For example, FIG. 7 can illustrate a codeword removal process for a data stream (e.g., a codeword removal process associated with rate adaptation component 106 and/or codeword removal component 502). In the example shown in FIG. 7, data stream 702 includes a previous packet 706, an inter-packet gap (IPG) 708, a current packet 710 and an IPG 712. The previous packet 706 includes a SOP block (not shown), a plurality of data blocks and an end of packet (EOP) block. IPG 708 includes a plurality of idle blocks (e.g., a plurality of idle codewords). For example, IPG 708 can include four idle blocks. Current packet 710 includes a SOP block, a plurality of data blocks and an EOP block. IPG 712 includes a plurality of idle blocks (e.g., at least three idle blocks).
[0059] Data stream 702 can be transformed into the modified version of the data stream 704 for rate adaptation. For example, data stream 702 can be a data stream before rate adaptation and the modified version of data stream 704 can be a data stream (e.g., data stream 702) after rate adaptation. As such, the modified version of data stream 704 can be a rate-adapted version of a data stream. In the non-limiting example shown in FIG. 7, a codeword 714 (e.g., a predefined codeword, an idle codeword, etc.) can be removed from data stream 702 (e.g., removed from IPG 708). Furthermore, a codeword 716 (e.g., a predefined codeword, an idle codeword, etc.) of data stream 704 can be transformed into a codeword 718 (e.g., a second identification codeword, an idle- codeword, etc.). For example, codeword 714 included in IPG 708 between previous packet 706 and current packet 710 of data stream 702 can be removed from the IPG 708. Furthermore, codeword 716 included in IPG 712 after current packet 710 of data stream 702 can be transformed into a codeword 718 included in IPG 712 after current packet 710.
[0060] As such, IPG 708 of the modified version of data stream 704 can include three idle blocks (e.g., instead of four idle blocks). Furthermore, IPG 712 of the modified version of data stream 704 can include at least two idle blocks and codeword 718 (e.g., the second identification codeword, the idle- codeword, etc.).
[0061] Codeword 718 can identify a codeword that has been removed by a rate adaptation process. In an aspect, codeword 714 can be removed from data stream 702 and codeword 716 can be transformed into codeword 718 in response to a determination that a clock rate of data stream 702 is greater than a clock rate associated with a device configured for receiving data stream 702 (e.g., the modified version of data stream 704). In one example, codeword 716 can be transformed into the codeword 718 based on a set of encoding rules. For example, selection of codeword 716 to be transformed into codeword 718 can be determined based on a set of encoding rules. In another example, codeword 716 can be transformed into codeword 718 based on an algorithm (e.g., a codeword removal algorithm, etc.). In the example shown in FIG. 7, codeword 716 and codeword 718 are located at a beginning position of IPG 712. However, it is to be appreciated that codeword 716 and codeword 718 can be located at a different position of IPG 712 (e.g., at an end position of IPG 712, at a position between a beginning position and an end position of IPG 712, etc.) or at another IPG.
[0062] Referring now to FIG. 8, a diagram illustrating an example, non- limiting embodiment of a data stream 802 and a modified version of data stream 804 in accordance with various aspects described herein is shown. For example, FIG. 8 can illustrate a codeword insertion process for a data stream (e.g., a codeword insertion process associated with rate adaptation component 106 and/or codeword insertion component 402). In the non-limiting example shown in FIG. 8, data stream 802 includes at least idle blocks 806a-k (e.g., idle codewords 806a-k).
[0063] Data stream 802 can be transformed into the modified version of data stream 804 for rate adaptation. For example, data stream 802 can be a data stream before rate adaptation and the modified version of data stream 804 can be a data stream (e.g., data stream 802) after rate adaptation. As such, the modified version of data stream 804 can be a rate-adapted version of a data stream. In the example shown in FIG. 8, a codeword 808 (e.g., a first identification codeword, an idle+ codeword, etc.) can be added to the data stream 802. As such, the modified version of data stream 804 can include codeword 808.
[0064] Codeword 808 can identify a codeword that has been inserted by a rate adaptation process. In an aspect, codeword 808 can be inserted into data stream 802 in response to a determination that a clock rate of data stream 802 is lower than a clock rate associated with a device configured for receiving data stream 802 (e.g., modified version of the data stream 804). In one example, codeword 808 can be inserted into data stream 802 based on a set of encoding rules. For example, a location of codeword 808 in the data stream 802 can be determined based on a set of encoding rules. In another example, a location of codeword 808 in data stream 802 can be determined based on an algorithm (e.g., a codeword insertion algorithm, etc.). In the non-limiting example shown in FIG. 8, codeword 808 is located between idle block 806g and idle block 806h. However, it is to be appreciated that codeword 808 can be located at a different position in the modified version of data stream 804. [0065] Referring now to FIG. 9, a diagram illustrating an example, a data stream 902 and a modified version of data stream 904 in accordance with various aspects described herein is shown. For example, FIG. 9 can illustrate a codeword removal process for a data stream (e.g., a codeword removal process associated with the rate adaptation component 106 and/or codeword removal component 502). In the non-limiting example shown in FIG. 9, data stream 902 includes at least idle blocks 906a-k (e.g., idle codewords 906a-k).
[0066] Data stream 902 can be transformed into the modified version of data stream 904 for rate adaptation. For example, data stream 902 can be a data stream before rate adaptation and the modified version of data stream 904 can be a data stream (e.g., data stream 902) after rate adaptation. As such, the modified version of data stream 904 can be a rate-adapted version of a data stream. In the non-limiting example shown in FIG. 9, idle block 906g (e.g., idle codeword 906g) can be removed from data stream 902. Furthermore, the idle block 906h (e.g., idle codeword 906h) of data stream 904 can be transformed into a codeword 908 (e.g., a second identification codeword, an idle- codeword, etc.). For example, idle block 906g included in data stream 902 between idle block 906f and idle block 906h can be removed from data stream 902.
Furthermore, idle block 906h located after idle block 906g can be transformed into a codeword 908. As such, the modified version of the data stream 904 can include idle blocks 906a-f, codeword 908 and idle blocks 906i-k. Accordingly, the modified version of data stream 904 can include one less idle block than data stream 902.
[0067] Codeword 908 can identify a codeword that has been removed by a rate adaptation process. In an aspect, idle block 906g can be removed from data stream 902 and idle block 906h can be transformed into codeword 908 in response to a determination that a clock rate of data stream 902 is greater than a clock rate associated with a device configured for receiving data stream 902 (e.g., modified version of data stream 904). In one example, idle block 906h can be transformed into codeword 908 based on a set of encoding rules. For example, selection of idle block 906h to be transformed into codeword 908 can be determined based on a set of encoding rules. In another example, idle block 906h can be transformed into codeword 908 based on an algorithm (e.g., a codeword removal algorithm, etc.). It is to be appreciated that a different idle block can be removed from data stream 902 and/or a different idle block can be transformed into a codeword (e.g., a second identification codeword, an idle- codeword, etc.).
[0068] Referring now to FIG. 10, a diagram illustrating an example, non- limiting embodiment of a data stream 1002 and a modified version of data stream 1004 in accordance with various aspects described herein is shown. For example, FIG. 10 can illustrate another codeword insertion process for a data stream (e.g., a codeword insertion process associated with rate adaptation component 106 and/or codeword insertion component 402). in the example shown in FIG. 10, the data stream 1002 includes at least ordered set (OSET) blocks 1006a-k (e.g., OSET codewords 1006a-k). An OSET block can be a codeword (e.g., a PCS code) that indicates presence of ordered sets in a data stream. As such, sequence ordered sets can be deleted from a data stream for rate adaptation (e.g., ordered set rate adaptation).
[0069] Data stream 1002 can be transformed into the modified version of data stream 1004 for rate adaptation (e.g., ordered set rate adaptation). For example, data stream 1002 can be a data stream before rate adaptation and the modified version of data stream 1004 can be a data stream (e.g., data stream 1002) after rate adaptation. As such, the modified version of data stream 1004 can be a rate-adapted version of a data stream. In the example shown in FIG. 10, a codeword 1008 (e.g., a first identification codeword, an idle+ codeword, etc.) can be added to data stream 002. As such, the modified version of data stream 1004 can include codeword 1008.
[0070] Codeword 1008 can identify a codeword that has been inserted by a rate adaptation process. In an aspect, codeword 1008 can be inserted into data stream 1002 in response to a determination that a clock rate of data stream 1002 is lower than a clock rate associated with a device configured for receiving data stream 1002 (e.g., the modified version of data stream 1004). In one example, codeword 1008 can be inserted into data stream 1002 based on a set of encoding rules. For example, a location of codeword 008 in data stream 1002 can be determined based on a set of encoding rules. In another example, a location of codeword 1008 in data stream 1002 can be determined based on an algorithm (e.g., a codeword insertion algorithm, etc.). In the example shown in FIG. 10, codeword 1008 is located between idle block 1006g and idle block 1006h. However, codeword 008 can be located at a different position of the modified version of data stream 1004.
[0071] Referring now to FIG. 11 , a diagram illustrating an example, a data stream 1102 and a modified version of data stream 1 04 in accordance with various aspects described herein is shown. For example, FIG. 11 can illustrate a codeword removal process for a data stream (e.g., a codeword removal process associated with rate adaptation component 106 and/or codeword removal component 502). In the example shown in FIG. 11, data stream 1102 includes at least OSET blocks 1106a-k (e.g., OSET codewords 1106a-k). An OSET block can be a codeword (e.g., a PCS code) that indicates presence of ordered sets in a data stream.
[0072] Data stream 1102 can be transformed into the modified version of data stream 1104 for rate adaptation (e.g., ordered set rate adaptation). For example, data stream 1102 can be a data stream before rate adaptation and the modified version of data stream 1 104 can be a data stream (e.g., data stream 1102) after rate adaptation. As such, the modified version of data stream 1104 can be a rate-adapted version of a data stream. In the example shown in FIG. 11 , OSET block 1106g (e.g., OSET codeword 1106g) can be removed from data stream 1102. Furthermore, the OSET block 1106h (e.g., the OSET codeword 1106h) of data stream 1104 can be transformed into a codeword 1108 (e.g., a third identification codeword, an OSET-minus codeword, etc.). For example, OSET block 1106g included in data stream 1102 between OSET block 1106f and OSET block 1106h can be removed from data stream 1102.
Furthermore, OSET block 1 106h located after OSET block 1 06g can be transformed into a codeword 1108. As such, the modified version of data stream 1 04 can include OSET blocks 1 106a-f, codeword 1 108 and OSET blocks 1106i-k. Accordingly, the modified version of data stream 104 can include one less OSET block than data stream 1102.
[0073] Codeword 1108 can identify an ordered set codeword that has been removed by a rate adaptation process. In an aspect, OSET block 1 06g can be removed from data stream 1102 and OSET block 1 106h can be transformed into codeword 1108 in response to a determination that a clock rate of data stream 1102 is greater than a clock rate associated with a device configured for receiving data stream 1102 (e.g., the modified version of data stream 1104). In one example, OSET block 1106h can be transformed into codeword 1108 based on a set of encoding rules. For example, selection of OSET block 1 06h to be transformed into codeword 1 108 can be determined based on a set of encoding rules. In another example, OSET block 1106h can be transformed into codeword 1108 based on an algorithm (e.g., a codeword removal algorithm, etc.). It is to be appreciated that a different OSET block can be removed from data stream 1 102 and/or a different OSET block can be transformed into a codeword (e.g., a second identification codeword, an idle- minus codeword, etc.).
[0074] In the example systems described above, methods that may be implemented in accordance with the described subject matter may be better appreciated with reference to the flow charts of FIGs. 12-16. While for simplicity of explanation, the methods are shown and described as a series of blocks, the claimed subject matter is not limited by the order of the blocks, as some blocks may occur in different orders and/or concurrently with other blocks from what is depicted and described herein. Moreover, not all illustrated blocks may be required to implement the methods described hereinafter.
[0075] Referring now to FIG. 12, a flow diagram of an example, an embodiment of a method for modifying a data stream for rate adaptation is shown. Method 1200 can begin at block 1202, where a data stream at a first clock rate is received (e.g., by a clock component 104). For example, the data stream can be an encoded data stream (e.g., an encoded signal). In an aspect, the data stream can be associated with a PCS encoding scheme. As such, the data stream can include at least one predefined PCS block.
[0076] At block 1204, a first identification codeword is inserted into a particular location in the data stream (e.g., using a rate adaptation component 06) based on a set of encoding rules in response to a determination that the first clock rate is lower than a second clock rate associated with a device configured for receiving a rate-adapted version of the data stream. For example, a first identification codeword can be configured to indicate that a codeword has been inserted into the data stream by a rate adaptation process.
[0077] At block 1206, a predefined codeword is removed from the data stream (e.g., using a rate adaptation component 106) and/or another predefined codeword in the data stream is transformed into a second identification codeword (e.g., using a rate adaptation component 106) in response to a determination that the first clock rate is greater than the second clock rate. For example, a second identification codeword can be configured to indicate that a codeword has been removed from the data stream by a rate adaptation process. A predefined codeword can indicate that a payload is not present at a particular portion in the data stream. Alternatively, a predefined codeword can indicate presence of an ordered set at a particular portion in the data stream.
[0078] At block 1208, configuration of the data stream is maintained (e.g., by a rate adaptation component 06) in response to a determination that the first clock rate equals the second clock rate. For example, the data stream is not modified for rate adaptation in response to a determination that the first clock rate equals the second clock rate.
[0079] Referring now to FIG. 13, a flow diagram of an example, a method for removing a codeword from a data stream for rate adaptation is shown.
Method 1300 can begin at block 302, where a data stream at a first clock rate is received (e.g., by a clock component 104). At block 1304, a predefined codeword from the data stream is removed (e.g., using a rate adaptation component 106) in response to a determination that the first clock rate is greater than a second clock rate associated with a device configured for receiving a rate-adapted version of the data stream. At block 1306, information associated with the predefined codeword is stored (e.g., by a memory component 302). At block 1308, another predefined codeword in the data stream is transformed into a second identification codeword (e.g., using a rate adaptation component 106). At block 1310, the information associated with the predefined codeword is inserted into the second identification codeword (e.g., using a rate adaptation component 106).
[0080] Referring now to FIG. 14, a flow diagram of another example, a method for modifying a data stream for rate adaptation is shown. Method 1400 can begin at block 1402, where a data stream at a first clock rate is received (e.g., by a clock component 104). At block 1404, a first identification codeword is inserted into a determined location in the data stream (e.g., using a rate adaptation component 106) based on a set of encoding rules in response to a determination that the first clock rate is lower than a second clock rate associated with a device configured for receiving a rate-adapted version of the data stream. At block 1406, a predefined codeword is removed from the data stream (e.g., using a rate adaptation component 106) in response to a determination that the first clock rate is greater than the second clock rate and that the data stream does not comprise a previously inserted first identification codeword. At block 1408, a first identification codeword is removed from the data stream (e.g., using a rate adaptation component 106) in response to a determination that the first clock rate is greater than the second clock rate and that the data stream comprises a previously inserted first identification codeword. At block 1410, another predefined codeword in the data stream is transformed into a second identification codeword (e.g., using a rate adaptation component 106) in response to the determination that the first clock rate is greater than the second clock rate.
[0081] Referring now to FIG. 15, a flow diagram of yet another example, a method for modifying a data stream for rate adaptation is shown. Method 1500 can begin at block 1502, where a data stream at a first clock rate is received (e.g., by a clock component 104). At block 1504, a first identification codeword is added into a location in the data stream (e.g., using a rate adaptation component 106) based on a set of encoding rules to generate a modified version of the data stream in response to a determination that the first clock rate is lower than a second clock rate associated with a device configured for receiving a rate-adapted version of the data stream. At block 1506, a predefined codeword from the data stream is deleted (e.g., using a rate adaptation component 106) and/or another predefined codeword in the data stream is converted into a second identification codeword (e.g., using a rate adaptation component 106) to generate a modified version of the data stream in response to a determination that the first clock rate is greater than the second clock rate. At block 1508, the modified version of the data stream is transmitted at the second clock rate (e.g., using a rate adaptation component 106).
[0082] Referring now to FIG. 16, a flow diagram of an example of a method for receiving a modified version of a data stream is shown. Method 1600 can begin at block 1602, where a data stream at a clock rate is received (e.g., by a device 108). The data stream comprises one or more identification codewords for rate adaptation. At block 1604, information included in the one or more identification codewords is extracted (e.g., by a device 108). At block 1606, an original clock rate associated with the data stream is generated (e.g., recreated) for one or more other data streams based on the one or more identification codewords and/or the information included in the one or more identification codewords (e.g., using a device 108).
EXAMPLE COMPUTING ENVIRONMENT
[0083] The techniques described herein can be applied to any device and/or network where it is desirable to employ one or more identification codewords for a rate-adapted version of a data stream. Therefore, handheld, portable and other computing devices and computing objects of all kinds are useable in connection with the various embodiments. Accordingly, the below general purpose remote computer described below in FIG. 17 is but one example, and the disclosed subject matter can be implemented with any client having network/bus interoperability and interaction. Thus, the disclosed subject matter can be implemented in an environment of networked hosted services in which very little or minimal client resources are implicated, e.g., a networked environment in which the client device serves merely as an interface to the network/bus, such as an object placed in an appliance.
[0084] FIG. 17 illustrates an example of a suitable computing system environment 700 in which aspects of the disclosed subject matter can be implemented, although as made clear above, the computing system
environment 1700 is only one example of a suitable computing environment for a device and is not a limitation as to the scope of use or functionality of the disclosed subject matter. Neither should the computing environment 1700 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 1700.
[0085] With reference to FIG. 17, an exemplary device for implementing the disclosed subject matter includes a general-purpose computing device in the form of a computer 17 0.
[0086] Computer 1710 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 1710. By way of example, memory 1730 may also include an operating system, application programs, other program modules, and program data. [0087] The computer 1710 may also include other removable/nonremovable, volatile/nonvolatile computer storage media. A user can enter commands and information into the computer 1710 through input devices such as a keyboard and pointing device, commonly referred to as a mouse, trackball, or touch pad.
[0088] The computer 1710 can operate in a networked or distributed environment using logical connections to one or more other remote computer(s), such as remote computer 1770, which can in turn have media capabilities different from device 1710.
[0089] FIG. 18 provides a schematic diagram of an exemplary networked or distributed computing environment.

Claims

CLAIMS What is claimed is:
1. A system, comprising:
a memory storing computer executable components; and
a processor operably connected to the memory and configured to execute the computer executable components comprising:
a clock component configured for receiving a data stream at a first clock rate; and
a rate adaptation component configured for inserting a first identification codeword into a particular location in the data stream based on a set of encoding rules in response to a determination that the first clock rate is lower than a second clock rate associated with a device configured for receiving a rate-adapted version of the data stream.
2. The system of claim 1 , wherein the rate adaptation component is configured for inserting the first identification codeword into a valid position of the data stream in response to the determination that the first clock rate is lower than the second clock rate.
3. The system of claim 1 , wherein the rate adaptation component is configured for removing a predefined codeword from the data stream and transforming another predefined codeword in the data stream into a second identification codeword in response to a determination that the first clock rate is greater than the second clock rate.
4. The system of claim 3, wherein
the rate adaptation component is configured for storing information associated with the predefined codeword until a first opportunity to transform the other predefined codeword is available;
the first identification codeword and the second identification codeword are control blocks associated with rate adaptation; and
the predefined codeword is configured for at least one of indicating that a) a payload is not present in the data stream, or b) a presence of an ordered set in the data stream.
5. The system of claim 1 , wherein the rate adaptation component is configured for removing a previously inserted identification codeword from the data stream in response to a determination that the first clock rate is greater than the second clock rate and that the data stream comprises the previously inserted identification codeword.
6. A computer implemented method, comprising:
receiving a data stream in a computer system at a first clock rate;
inserting a first identification codeword into a determined location in the data stream in the computer system in response to a determination that the first clock rate is lower than a second clock rate associated with a device configured for receiving a rate-adapted version of the data stream.
7. The computer implemented method of claim 6, further comprising: removing a predefined codeword from the data stream in response to a determination that the first clock rate is greater than the second clock rate; transforming another predefined codeword in the data stream into a second identification codeword in response to the determination that the first clock rate is greater than the second clock rate; and
storing information associated with the predefined codeword in a finite state machine.
8. The computer implemented method of claim 6, further comprising: removing a predefined codeword from the data stream in response to a determination that the first clock rate is greater than the second clock rate and that the data stream comprises the first identification codeword; and
removing a previously inserted identification codeword from the data stream in response to a determination that the first clock rate is greater than the second clock rate and that the data stream comprises the previously inserted identification codeword.
9. A system, comprising:
means for receiving a data stream at a first clock rate; and
means for adding a first identification codeword into a valid location in the data stream based on a set of encoding rules in response to a determination that the first clock rate is lower than a second clock rate.
10. The system of claim 9, further comprising:
means for removing a predefined codeword from the data stream; and means for transforming another predefined codeword in the data stream into a second identification codeword in response to a determination that the first clock rate is greater than the second clock rate.
PCT/US2015/038450 2015-06-30 2015-06-30 Identification codewords for a rate-adapted version of a data stream WO2017003441A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201580081375.8A CN107925557B (en) 2015-06-30 2015-06-30 Identification codeword for rate-adapted version of data stream
PCT/US2015/038450 WO2017003441A1 (en) 2015-06-30 2015-06-30 Identification codewords for a rate-adapted version of a data stream
EP15897327.1A EP3317996A4 (en) 2015-06-30 2015-06-30 Identification codewords for a rate-adapted version of a data stream

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/038450 WO2017003441A1 (en) 2015-06-30 2015-06-30 Identification codewords for a rate-adapted version of a data stream

Publications (1)

Publication Number Publication Date
WO2017003441A1 true WO2017003441A1 (en) 2017-01-05

Family

ID=57608774

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/038450 WO2017003441A1 (en) 2015-06-30 2015-06-30 Identification codewords for a rate-adapted version of a data stream

Country Status (3)

Country Link
EP (1) EP3317996A4 (en)
CN (1) CN107925557B (en)
WO (1) WO2017003441A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110620809A (en) * 2018-06-20 2019-12-27 安华高科技股份有限公司 System and method for performing inter-packet gap repair for lossy protocols

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040028164A1 (en) * 2002-08-07 2004-02-12 Hongtao Jiang System and method for data transition control in a multirate communication system
US20070177701A1 (en) * 2006-01-27 2007-08-02 Ati Technologies Inc. Receiver and method for synchronizing and aligning serial streams
JP2009246668A (en) * 2008-03-31 2009-10-22 Fujitsu Ltd Clock recovery apparatus and clock recovery method, transmission device, and relay communication system
US20110170868A1 (en) * 2005-06-29 2011-07-14 Boyd Edward W Method and Apparatus for Accommodating Differrent Clock Frequencies in an Ethernet Passive Optical Network
KR20130116477A (en) * 2012-04-03 2013-10-24 (주)유비쿼스 Ethernet l2 switch system and the method of transmitting data

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5323426A (en) * 1992-02-21 1994-06-21 Apple Computer, Inc. Elasticity buffer for data/clock synchronization
US20020159552A1 (en) * 2000-11-22 2002-10-31 Yeshik Shin Method and system for plesiosynchronous communications with null insertion and removal
US7366803B1 (en) * 2005-02-23 2008-04-29 Xilinx, Inc. Integrated circuit for buffering data by removing idle blocks to create a modified data stream when memory device is not near empty
US7281077B2 (en) * 2005-04-06 2007-10-09 Qlogic, Corporation Elastic buffer module for PCI express devices
US8351450B2 (en) * 2005-12-30 2013-01-08 Intel Corporation Information transparent adaptation function for packet based network connections
SE533185C2 (en) * 2007-02-16 2010-07-13 Scalado Ab Method for processing a digital image and image representation format
US8873579B1 (en) * 2011-09-29 2014-10-28 Marvell International Ltd. Multi-rate media independent interface over a physical coding sublayer

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040028164A1 (en) * 2002-08-07 2004-02-12 Hongtao Jiang System and method for data transition control in a multirate communication system
US20110170868A1 (en) * 2005-06-29 2011-07-14 Boyd Edward W Method and Apparatus for Accommodating Differrent Clock Frequencies in an Ethernet Passive Optical Network
US20070177701A1 (en) * 2006-01-27 2007-08-02 Ati Technologies Inc. Receiver and method for synchronizing and aligning serial streams
JP2009246668A (en) * 2008-03-31 2009-10-22 Fujitsu Ltd Clock recovery apparatus and clock recovery method, transmission device, and relay communication system
KR20130116477A (en) * 2012-04-03 2013-10-24 (주)유비쿼스 Ethernet l2 switch system and the method of transmitting data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3317996A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110620809A (en) * 2018-06-20 2019-12-27 安华高科技股份有限公司 System and method for performing inter-packet gap repair for lossy protocols
CN110620809B (en) * 2018-06-20 2022-06-10 安华高科技股份有限公司 System and method for performing inter-packet gap repair for lossy protocols

Also Published As

Publication number Publication date
EP3317996A1 (en) 2018-05-09
CN107925557A (en) 2018-04-17
EP3317996A4 (en) 2019-03-13
CN107925557B (en) 2020-11-06

Similar Documents

Publication Publication Date Title
US11223438B2 (en) Service transmission method, network device, and network system
US9088403B1 (en) Identification codewords for a rate-adapted version of a data stream
TWI753199B (en) Indirect packet classification timestamping system and method
KR102466081B1 (en) Time information confirmation method, device and equipment
US20180123714A1 (en) Method, Device, and System for Sending and Receiving Code Block Data Stream
AU2017437863B2 (en) Clock synchronization method and apparatus
CN111147181B (en) Service sending method, service receiving method, device, system and storage medium
EP2751941B1 (en) A system and a method for identifying a point in time of receipt of a data packet
CN105519035B (en) A method of for operating communication network user terminal
RU2677376C2 (en) Stack timing adjustment for serial communications
CN107925557B (en) Identification codeword for rate-adapted version of data stream
KR101232782B1 (en) System and method for detection of multiple timing masters in a network
EP2974109B1 (en) Systems and methods to explicitly realign packets
EP3618317A1 (en) Message sending method and message receiving method and apparatus
US9225446B2 (en) Methods and apparatus for minimizing wander generation in constant bit rate asynchronously mapped digital transport systems
US20020037018A1 (en) Apparatus and method for reducing the line rate of time-multiplexed signals
US20080310450A1 (en) Method of Passing a Constant Bit Rate Digital Signal Through an Ethernet Interface and System for Carrying Out the Method
KR20170099230A (en) Apparatus and method of data synchronization

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15897327

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2015897327

Country of ref document: EP