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 PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/05—Electric or magnetic storage of signals before transmitting or retransmitting for changing the transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/041—Speed or phase control by synchronisation signals using special codes as synchronising signal
- H04L2007/045—Fill 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
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.
Priority Applications (3)
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 |
EP15897327.1A EP3317996A4 (en) | 2015-06-30 | 2015-06-30 | Identification codewords for a rate-adapted version of a data stream |
CN201580081375.8A CN107925557B (en) | 2015-06-30 | 2015-06-30 | Identification codeword for rate-adapted version of 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)
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)
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)
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 |
US7113507B2 (en) * | 2000-11-22 | 2006-09-26 | Silicon Image | Method and system for communicating control information via out-of-band symbols |
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 |
US8885664B1 (en) * | 2011-09-29 | 2014-11-11 | Marvell International Ltd. | Multi-rate media independent interface over a physical coding sublayer |
-
2015
- 2015-06-30 CN CN201580081375.8A patent/CN107925557B/en active Active
- 2015-06-30 EP EP15897327.1A patent/EP3317996A4/en not_active Withdrawn
- 2015-06-30 WO PCT/US2015/038450 patent/WO2017003441A1/en active Application Filing
Patent Citations (5)
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)
Title |
---|
See also references of EP3317996A4 * |
Cited By (2)
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 |
---|---|
CN107925557B (en) | 2020-11-06 |
EP3317996A1 (en) | 2018-05-09 |
EP3317996A4 (en) | 2019-03-13 |
CN107925557A (en) | 2018-04-17 |
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 | |
US20180123714A1 (en) | Method, Device, and System for Sending and Receiving Code Block Data Stream | |
KR102466081B1 (en) | Time information confirmation method, device and equipment | |
AU2017437863B2 (en) | Clock synchronization method and apparatus | |
US12040981B2 (en) | Service receiving methods, 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 | |
US9160604B2 (en) | Systems and methods to explicitly realign packets | |
EP3618317A1 (en) | Message sending method and message receiving method and apparatus | |
CN101374145B (en) | Method and apparatus for adapting velocity | |
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 |