This invention relates generally to data networking, and more particularly, to de-skewing electrical signals in preparation to be modulated into a WDM optical signal.
A network element with an optical link can transmit multiple wavelengths on a single optical link in order to transmit more data on that optical link. In order to further increase capacity and extend reach of an optical link, multiple electrical signals are modulated into a single optical wavelength. For example, the optical signal can be a coherent optical signal where the multiple electrical signals are modulated into the optical wavelength. In this example, the electrical signals are modulated using polarization and quadrature to create a coherent optical signal on one wavelength from the electrical signals. In order to successfully demodulate the signals on the other end of the link, these signals need to arrive at the optical modulator at the same time. There also must be similar alignment on the receive physical interface (PHY). For example, if a pulse is transmitted on the four wires simultaneously, each of these pulses need to arrive within fractions of picoseconds in order for the pulses to be recovered on the receive PHY optimally. The amount of time difference in the pulse arrival between signals is known as skewing.
A pulse is delayed for a signal based on manufacturing variabilities that are inherent in the PHY, circuit board, connector interfaces and optical modules. A process known as de-skewing is performed to determine the amount of skew in the optical link and to configure the transmit and receive interfaces to remove this skew. The de-skewing process needs to be performed for each electrical interface that is manufactured for each network element. For example, the skew can be determined using a digital communications analyzer (DCA). The DCA measures the skew of the transmit PHYs and adjusts the skew to compensate for any difference between electrical signals. Properly de-skewed transmit signals then allows the receive PHY skews to be properly measured. This measurement can be performed by the PHY itself and requires no external hardware. With a de-skewed optical link, data transported in a coherent manner, arrive at the receive PHY within the allowed tolerances.
A problem with using the DCA to determine the transmit and receive PHYs skews is that this is an expensive process because the DCA itself is a very expensive and precise instrument. Introducing the DCA into the manufacture and calibration process of a network element with an optical interface increases the cost of manufacturing process for this device. Furthermore, the DCA is a precise instrument that is better suited in a lab environment rather than a manufacturing environment. This can mean that the DCA is not robust enough to be used long-term in a manufacturing environment leading to further cost due to DCA maintenance. Thus, using a DCA in such an environment increases the cost to produce and manufacturer network element with an optical interface.
A method and apparatus of a device that determines transmit and receive skew times between pairs of lanes of an electrical interface of a network element is described. In an exemplary embodiment, the device receives a plurality of configurations corresponding to a plurality of electrical loopbacks that can each couple transmit and receive interfaces of the electrical interface via the plurality of lanes in different patterns. In addition, for each of the plurality of electrical loopbacks, the device couples this electrical loopback to the transmit and receive interfaces of the electrical interface and measures overall skew times for pairs of the plurality of lanes of the electrical interface. Furthermore, the device computes the transmit and receive skew times for the transmit and receive interfaces from the overall skew times.
In another embodiment, the device couples an optical loopback to transmit and receive interfaces of an optical interface, the optical loopback capable of transporting a first optical signal with a plurality of polarization and quadrature combinations. In addition, the device determines the receive skew time by transmitting a second optical signal on the optical loopback with one of the plurality of polarization and quadrature combinations. Furthermore, the device determines the transmit skew time by tuning transmission delays on the transmit interface for a third optical signal with components corresponding to a pair of the plurality of polarization and quadrature combinations such that the third optical signal is recoverable on the receive interface.
Other methods and apparatuses are also described.
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements.
A method and apparatus of a device that determines transmit and receive skew times between pairs of lanes of an electrical interface of a network element is described. In the following description, numerous specific details are set forth to provide thorough explanation of embodiments of the present invention. It will be apparent, however, to one skilled in the art, that embodiments of the present invention may be practiced without these specific details. In other instances, well-known components, structures, and techniques have not been shown in detail in order not to obscure the understanding of this description.
Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification do not necessarily all refer to the same embodiment.
In the following description and claims, the terms “coupled” and “connected,” along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. “Coupled” is used to indicate that two or more elements, which may or may not be in direct physical or electrical contact with each other, co-operate or interact with each other. “Connected” is used to indicate the establishment of communication between two or more elements that are coupled with each other.
The processes depicted in the figures that follow, are performed by processing logic that comprises hardware (e.g., circuitry, dedicated logic, etc.), software (such as is run on a general-purpose computer system or a dedicated machine), or a combination of both. Although the processes are described below in terms of some sequential operations, it should be appreciated that some of the operations described may be performed in different order. Moreover, some operations may be performed in parallel rather than sequentially.
The terms “server,” “client,” and “device” are intended to refer generally to data processing systems rather than specifically to a particular form factor for the server, client, and/or device.
A method and apparatus of a device that determines transmit and receive skew times between pairs of lanes of an electrical interface of a network element is described. In one embodiment, the device determines the transmit and receive skew times for a transmit and receive PHY using either an electrical loopback or an optical loopback. These transmit and receive skew times can be used to compensate the transmit and receive PHY such that a coherent optical signal can be transmitted and/or received using the PHYs. In one embodiment, the device measures multiple overall skew times between different lanes of the transmit and receives PHYs using different electrical loopbacks so as to determine individual transmit and receive skew times. For example and in one embodiment, the device measures an overall skew times for lanes 1 and 2 and lanes 3 and 4 for a transmit and receive PHY using three or four different electrical loopbacks. In this example, the different electrical loopbacks represent different patterns of coupling the transmit PHY lanes to the receive PHY lanes. The electrical loopbacks can be a straight line connection or a twisted connection that couples one of the transmit lanes with a different numbered receive PHY lane. Each of the electrical loopback configurations has an associated set of equations that relates the overall skew times to the individual transmit and receive skew times. In one embodiment, by using three of the different electrical loopbacks, the individual transmit and receive skew times can be determined for a PHY with four lanes.
In another embodiment, the device determines the transmit and receive skew times using an optical loopback that couples a transmit and receive PHY by selectively transmitting electrical pulses on one, some, and/or all of the transmit electrical lanes of the transmit PHY. In this embodiment, by transmitting an electrical pulse on different ones of the transmit PHY lanes, the device can determine the individual receive skew times. With the known receive skew times, the device can determine the individual transmit skew times by transmitting electrical pulses on pairs or all of the electrical lanes and varying the pulse transmission times, such that a recoverable signal is found on the receive PHY.
In one embodiment, the electrical signals 110A-B carried between the PHY 102A and optical transceiver 104A and between the optical receiver 104B and PHY 102B are a set of electrical pulses. In this embodiment, the PHY 102A generates a set of electrical signals 110A that are converted into a coherent optical signal by modulating the electrical signals using the polarization and quadrature into an optical signal. Each of the electrical signals 110A is transported in a separate lane. The coherent signal is multiplexed with other optical signals, carried as part of the multiplexed optical signal (e.g., WDM), de-multiplexed by a de-multiplexer 108, and received by the optical receiver 104B of device 116B. The optical receiver 104B converts the received coherent optical into a set of electrical signals 110B. Each of the electrical signal 110B carries an electrical pulse in a different lane. In one embodiment, a lane is a wire that carries an electrical signal. In order for the device 116B to recover the data transported on these electrical signals, the different pulses of the electrical signals need to be off by a skew of less than fractions of picoseconds. If the electrical pulses are skewed by more than this amount, the resulting coherent optical signal will be degraded or unable to transport the data.
As described above, the pulses that are transmitted along these lanes need to be aligned within a tight tolerance so as to successfully transport data along the optical link. In one embodiment, the skews for the different lanes can originate in the physical layer (PHY) of the transmitting and receiving interfaces, which are in the electrical domain and before the signal gets transformed into an optical signal. In one embodiment, when a network element with these optical interfaces gets manufactured, each of the transmit and receive interfaces of these electrical interfaces is measured for an inherent skew. Each of these interfaces is then adjusted based upon the measurements so that the pulses transmitted and received by the interfaces of the receive PHY have zero skew or a skew tighter than the acceptable tolerance, such that data can be transmitted across the optical link 114 one coherent wavelength. In one embodiment, an optical interface includes electrical transmit and receive PHYs, as well as optical transmitter and receivers. In this embodiment, the optical transceivers are removable.
In one embodiment, a loopback is used to determine the skews of pulses transmitted across these electrical lanes.
As per above, manufacturing and calibrating a network element with multiple electrical lanes which are highly sensitive to skew using the DCA increases the cost of manufacturing calibrate such a network element.
S12=T12+R12+CA12 (1)
where T12 is the skew due to the transmit PHY 404 for lanes 1 and 2 (402A-B), R12 is the skew due to the receive PHY 406 for lanes 1 and 2 (410A-B), and CA12 is the skew due to the electrical loopback 408 for lanes 1 and 2. In one embodiment, the electrical loopback 408, CA12, skew is a known quantity that is determined before the skew is measured for the transmit and receive PHYs. Similarly, the overall skew times for lanes 3 and 4, S34, is equal to the skew due to the transmit PHY 404, the skew due to the receive PHY 406, and the skew due to the electrical loopback 408. Mathematically, this can be represented (414) as
S34=T34+R34+CA34 (2)
where T34 is the skew due to the transmit PHY 404 for lanes 3 and 4 (402C-D), R34 is the skew due to the receive PHY 406 for lanes 3 and 4 (410C-D), and CA34 is the skew due to the electrical loopback 408 for lanes 3 and 4. In one embodiment, the electrical loopback 408 constant, CA34, skew is a known quantity that is determined before the skew is measured for the transmit and receive PHYs. In one embodiment, the system 400 includes a supervisor 416 that records the overall skew times and which type of electrical loopback is used. In one embodiment, the supervisor 416 is a separate computer that includes an electrical skew module 418 that controls the skew time measurement and records the skew times. In another embodiment, the supervisor 416 is part of the network element that is testing and recording the skew times.
In one embodiment, the equations (1) and (2) have several unknowns (T12, R12, T34, and R34) that can be found by using additional loopbacks with different electrical connections between the transmit and receive lanes. In
S12=−T12+R12+CB12 (3)
where T12 is the skew due to the transmit PHY 424 for lanes 1 and 2 (422A-B), R12 is the skew due to the receive PHY 426 for lanes 1 and 2 (430A-B), and CB12 is the skew due to the electrical loopback 428 for lanes 1 and 2. In one embodiment, the electrical loopback 428, CB12, skew is a known quantity that is determined before the skew is measured for the transmit and receive PHYs. Similarly, the overall skew times for lanes 3 and 4, S34, is equal to the skew due to the transmit PHY 424, the skew due to the receive PHY 426, and the skew due to the electrical loopback 428. Mathematically, this can be represented (434) as
S34=−T34+R34+CB34 (4)
where T34 is the skew due to the transmit PHY 424 for lanes 3 and 4 (422C-D), R34 is the skew due to the receive PHY 426 for lanes 3 and 4 (430C-D), and CB34 is the skew due to the electrical loopback 428 for lanes 3 and 4. In one embodiment, the electrical loopback 428 constant, CB34, skew is a known quantity that is determined before the skew is measured for the transmit and receive PHYs. In one embodiment, the system 420 includes a supervisor 436 that records the overall skew times and which type of electrical loopback is used. In one embodiment, the supervisor 436 is a separate computer that includes an electrical skew module 438 that controls the skew time measurement and records the skew times. In another embodiment, the supervisor 436 is part of the network element that is testing and recording the skew times.
With loopbacks 408 and 428, the skew between lanes 1 and 2 and lanes 3 and 4 can be determined, but the skew between, for example, lanes 2 and 3 (or 1 and 4, etc.) is still unknown. In
S12=T13+R12+CC13 (5)
where T13 is the skew due to the transmit PHY 444 for lanes 1 and 3 (442A and 442C), R12 is the skew due to the receive PHY 446 for lanes 1 and 2 450A-B), and CC13 is the skew due to the electrical loopback 428 for lanes 1 and 3. In one embodiment, the electrical loopback 448, CC13, skew is a known quantity that is determined before the skew is measured for the transmit and receive PHYs. Similarly, the overall skew times for lanes 3 and 4, S34, is equal to the skew due to the transmit PHY 444, the skew due to the receive PHY 446, and the skew due to the electrical loopback 448. Mathematically, this can be represented (454) as
S34=T24+R34+CC24 (4)
where T24 is the skew due to the transmit PHY 444 for lanes 4 and 2 (442C and 422B), R34 is the skew due to the receive PHY 446 for lanes 3 and 4 (450C-D), and CC24 is the skew due to the electrical loopback 448 for lanes 2 and 4. In one embodiment, the electrical loopback 448 constant, CC24, skew is a known quantity that is determined before the skew is measured for the transmit and receive PHYs. In one embodiment, by using these three different electrical loopback gives equations (1)-(6) with six unknowns (T12, T34, T13, T24, R12, and R34) that can be solved. In one embodiment, the skew time T24 is a linear combination of the other three transmit skews, which reduces the number of unknowns to five. Solving these equations gives the transmit and receive skew times that can be used to de-skew the transmit and receive PHYs. While in one embodiment, specific electrical loopback configurations are illustrated, in alternate embodiments, different electrical loopback configurations can be used to determine transmit and receive PHY skew times. In a further embodiment, different electrical loopback configurations can be used for electrical lane de-skewing for more or less than four lanes. In a further embodiment, different skews can be measured to meet different requirements for optical modules and DSPs. In one embodiment, the system 440 includes a supervisor 456 that records the overall skew times, which type of electrical loopback is used, and solves for the transmit and receive PHY skew times. In one embodiment, the supervisor 456 is a separate computer that includes an electrical skew module 458 that controls the skew time measurement and records the skew times. In another embodiment, the supervisor 456 is part of the network element that is testing and recording the skew times.
In one embodiment, an additional electrical loopback configuration can be used to check the results of the electrical loopbacks used above in
S12=T14+R12+CD14 (7)
where T14 is the skew due to the transmit PHY 464 for lanes 1 and 4 (462A and 462D), R12 is the skew due to the receive PHY 466 for lanes 1 and 2 (462A-B), and CD14 is the skew due to the electrical loopback 428 for lanes 1 and 4 (462A and 462D). In one embodiment, the electrical loopback 468 skew CD14 is a known quantity that is determined before the skew is measured for the transmit and receive PHYs. Similarly, the overall skew times for lanes 3 and 4, S34, is equal to the skew due to the transmit PHY 464, the skew due to the receive PHY 466, and the skew due to the electrical loopback 468. Mathematically, this can be represented (474) as
S34=T32+R34+CD32 (8)
where T32 is the skew due to the transmit PHY 464 for lanes 3 and 2 (462C and 462B), R34 is the skew due to the receive PHY 466 for lanes 3 and 4 (462C-D), and CD32 is the skew due to the electrical loopback 468 for lanes 3 and 2 (462C-D). In one embodiment, the electrical loopback 468 constant, CC32, skew is a known quantity that is determined before the skew is measured for the transmit and receive PHYs. In one embodiment, with the additional electrical loopback, the skew times T14 and T32 can be determined. The skew times T14 and T32 can be compared to T14 and T32 that are derived from the T12, T24, T13, T24 determined using the electrical loopbacks in
Process 500 performs a processing loop (blocks 504-508) to measure overall skew times for each of the electrical loopbacks used to determine the transmit and receive PHY skew times. In one embodiment, process 500 performs the processing loop using the electrical loopbacks to determine the transmit and receive PHY skew times, such as the electrical loopbacks as illustrated in
At block 510, process 500 optionally measures the S12 and S34 skew times using an additional electrical loopback. In one embodiment, this additional electrical loopback is used to check and possibly adjust the transmit and receive PHY skew times that are computed using the electrical loopbacks skew times measured in block 506. For example and in one embodiment, process 500 uses the electrical loopback as illustrated in
At block 512, process 500 computes the transmit and receive PHY skew times using the overall S12 and S34 skew times measured at block 506 and optionally, block 510. In one embodiment, process 500 uses the measured S12 and S34 skew times along with the mathematical equations associated with each electrical loopback used to compute the transmit and receive PHY skew times. For example and in one embodiment, process 500 uses the measure S12 and S34 skew times for the electrical loopbacks as illustrated in
As described above, skew parameters and de-skewing can be accomplished using electrical loopbacks without the need for a DCA. In addition, skew parameters and de-skewing can also be accomplished using an optical loopback without the need for a DCA as well.
Similarly, R34 can be determined using a coherent optical signal generated from a single signal component corresponding to lane 3. In
In
In one embodiment, the T12 skew time is determined by sending a pulse on lanes 1 and 2 of the transmit PHY 704. In this embodiment, the optical TX 702 generates a coherent optical signal with two optical signal components 714A-B from these pulses. The coherent optical signal is recovered in the receive PHY 706 in lanes 1 and 2 (708A-B). In addition, two secondary optical signal components 716A-B are also generated from the transmit optical drivers 712A-B. Thus, each of the receive PHY lanes 1 and 2 receive two different electrical signals. Because these electrical signals originate from two different transmit PHY lanes, there will be a skew T12 between the two different electrical signals received on each lane 1 and 2 (708A-B). With an unknown skew, the received electrical signals may not be recoverable by the RX DSP that is part of the receive PHY 706. This is because the RX DSP cannot interpret the electrical signals that are not within the required skew tolerances. In one embodiment, the supervisor computer 720 adjusts the relative origination times of the electrical signals generated by lanes 1 and 2 of the transmit PHY 704 such that the RX DSP detects a recoverable signal on each of the lanes 1 and 2 (708A-B) of the receive PHY 704. In this embodiment, the difference of the origination times is related to the transmit skew time, T12 and the receive skew time, R12. Since the receive skew time is known from the determination as illustrated in
Similarly, the transmit skew time, T34, can be determined by sending signals originating from lanes 3 and 4 of the transmit PHY. In
In one embodiment, the T34 skew time is determined by sending a pulse on lanes 3 and 4 of the transmit PHY 734. In this embodiment, the optical TX 732 generates a coherent optical signal with two optical signal components 744A-B from these pulses. The coherent optical signal is recovered in the receive PHY 736 in lanes 3 and 4 (738C-D). In addition, two secondary optical signal components 746A-B are also generated from the transmit optical drivers 748C-D. Thus, each of the receive PHY lanes 3 and 4 receive two different electrical signals. Because these electrical signals originate from two different transmit PHY lanes, there will be a skew T34 between the two different electrical signals received on each lane 3 and 4 (738C-D). With an unknown skew, the received electrical signals may not be recoverable by the RX DSP that is part of the receive PHY 706. This is because the RX DSP cannot interpret the electrical signals that are not within the required skew tolerances. In one embodiment, the T34 module 750 adjusts the relative origination times of the electrical signals generated by lanes 3 and 4 of the transmit PHY 734 such that the RX DSP 736 detects a recoverable signal on each of the lanes 3 and 4 (738C-D) of the receive PHY 736. In this embodiment, the difference of the origination times is related to the transmit skew time, T34 and the receive skew time, R34. Since the receive skew time is known from the determination as illustrated in
As is illustrated in
In one embodiment, the T23 skew time is determined by sending a pulse on lanes 1-4 of the transmit PHY 764. In this embodiment, the optical TX 762 generates a coherent optical signal with four optical signal components 774A-D from these pulses. The coherent optical signal is recovered in the transmit PHY 766 in lanes 1-4 (768A-D). In addition, the coherent optical signal includes an additional twelve secondary optical signals 776A-D are also generated from the transmit optical drivers 778A-D. Thus, each of the receive PHY lanes 1-4 receive an electrical signal that was due to four different optical signals components. Because these electrical signals originate from four different transmit PHY lanes, there will be a skew T23 between the four different electrical signals received on each lane 1-4 (768A-D). With an unknown skew, the received electrical signals are may not be recoverable by the RX DSP that is part of the receive PHY 766. This is because the RX DSP cannot interpret the electrical signals that are not within the required skew tolerances. In one embodiment, the RX DSP adjusts the relative origination times of the electrical signals generated by lanes 1-4 of the transmit PHY 764 such that the RX DSP detects a recoverable signal on each of the lanes 1-4 (768A-D) of the receive PHY 766. In this embodiment, the difference of the origination times is related to the transmit skew times, (T12, T34, and T23) and the receive skew time, (R12 and R34) Since the transmit and receive skew times are known (except for T23) from the determination as illustrated in
With the R12 and R34 receive skew times know, process 800 can determine the transmit skew times. Process 800 determines the T12 skew time by tuning the transmit lane 1 and 2 signals and using the R12 skew time at block 806. In one embodiment, process 800 determines the T12 skew time by tuning transmit lane 1 and 2 signals and using the R12 skew time as described in
As shown in
Typically, the input/output devices 1115 are coupled to the system through input/output controllers 1113. The volatile RAM (Random Access Memory) 1109 is typically implemented as dynamic RAM (DRAM), which requires power continually in order to refresh or maintain the data in the memory.
The mass storage 1111 is typically a magnetic hard drive or a magnetic optical drive or an optical drive or a DVD ROM/RAM or a flash memory or other types of memory systems, which maintains data (e.g. large amounts of data) even after power is removed from the system. Typically, the mass storage 1111 will also be a random access memory although this is not required. While
Portions of what was described above may be implemented with logic circuitry such as a dedicated logic circuit or with a microcontroller or other form of processing core that executes program code instructions. Thus processes taught by the discussion above may be performed with program code such as machine-executable instructions that cause a machine that executes these instructions to perform certain functions. In this context, a “machine” may be a machine that converts intermediate form (or “abstract”) instructions into processor specific instructions (e.g., an abstract execution environment such as a “process virtual machine” (e.g., a Java Virtual Machine), an interpreter, a Common Language Runtime, a high-level language virtual machine, etc.), and/or, electronic circuitry disposed on a semiconductor chip (e.g., “logic circuitry” implemented with transistors) designed to execute instructions such as a general-purpose processor and/or a special-purpose processor. Processes taught by the discussion above may also be performed by (in the alternative to a machine or in combination with a machine) electronic circuitry designed to perform the processes (or a portion thereof) without the execution of program code.
The present invention also relates to an apparatus for performing the operations described herein. This apparatus may be specially constructed for the required purpose, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), RAMs, EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
A machine readable medium includes any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). For example, a machine readable medium includes read only memory (“ROM”); random access memory (“RAM”); magnetic disk storage media; optical storage media; flash memory devices; etc.
An article of manufacture may be used to store program code. An article of manufacture that stores program code may be embodied as, but is not limited to, one or more memories (e.g., one or more flash memories, random access memories (static, dynamic or other)), optical disks, CD-ROMs, DVD ROMs, EPROMs, EEPROMs, magnetic or optical cards or other type of machine-readable media suitable for storing electronic instructions. Program code may also be downloaded from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a propagation medium (e.g., via a communication link (e.g., a network connection)).
The preceding detailed descriptions are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the tools used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be kept in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as “receiving,” “generating,” “determining,” “performing,” “coupling,” “measuring,” “computing,” “de-skewing,” “tuning,” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The processes and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the operations described. The required structure for a variety of these systems will be evident from the description below. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.
The foregoing discussion merely describes some exemplary embodiments of the present invention. One skilled in the art will readily recognize from such discussion, the accompanying drawings and the claims that various modifications can be made without departing from the spirit and scope of the invention.
The application is a divisional of co-pending U.S. patent applicant Ser. No. 14/683,745, filed Apr. 10, 2015, the entirety of which is incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
9036751 | Wang | May 2015 | B1 |
9184834 | Zhang | Nov 2015 | B1 |
9240843 | Malouin | Jan 2016 | B1 |
9337934 | Agazzi | May 2016 | B1 |
9847841 | Kaneda | Dec 2017 | B1 |
9935707 | Pepper | Apr 2018 | B2 |
10038498 | Fan | Jul 2018 | B1 |
10305589 | Wang | May 2019 | B2 |
10574362 | Chen et al. | Feb 2020 | B2 |
10608746 | Zhuge | Mar 2020 | B2 |
20030043752 | Totsuka | Mar 2003 | A1 |
20040165888 | Gerstel et al. | Aug 2004 | A1 |
20070083786 | Chiang | Apr 2007 | A1 |
20070136621 | Alon | Jun 2007 | A1 |
20090074407 | Hornbuckle | Mar 2009 | A1 |
20100061731 | Conroy | Mar 2010 | A1 |
20100080570 | Conroy | Apr 2010 | A1 |
20100129088 | Akasaka | May 2010 | A1 |
20100162033 | Ahn | Jun 2010 | A1 |
20100209121 | Tanimura | Aug 2010 | A1 |
20100284486 | Kuwata | Nov 2010 | A1 |
20110229127 | Sakamoto et al. | Sep 2011 | A1 |
20120213510 | Stojanovic | Aug 2012 | A1 |
20120224847 | Ibragimov | Sep 2012 | A1 |
20120237202 | Abe | Sep 2012 | A1 |
20120250793 | Khatana | Oct 2012 | A1 |
20120263456 | Tanaka | Oct 2012 | A1 |
20130051790 | Yasuda | Feb 2013 | A1 |
20130259487 | Sakamoto | Oct 2013 | A1 |
20130266308 | Fukuchi | Oct 2013 | A1 |
20130302031 | Tanimura | Nov 2013 | A1 |
20130322872 | Jobert et al. | Dec 2013 | A1 |
20140270751 | Figueria | Sep 2014 | A1 |
20150222968 | Garcia | Aug 2015 | A1 |
20150381340 | Pandey | Dec 2015 | A1 |
20160248521 | Streshinsky | Aug 2016 | A1 |
20170244489 | Zhuge | Aug 2017 | A1 |
20170324476 | Bravi | Nov 2017 | A1 |
20180083707 | Fan | Mar 2018 | A1 |
20180287699 | Oyama | Oct 2018 | A1 |
20180323953 | Chiueh | Nov 2018 | A1 |
20180367220 | Nomura | Dec 2018 | A1 |
20190058527 | Okabe | Feb 2019 | A1 |
20190103922 | Akizawa | Apr 2019 | A1 |
20190342028 | He | Nov 2019 | A1 |
20200052795 | Morie | Feb 2020 | A1 |
Entry |
---|
PCT International Search Report and Written Opinion for PCT International Appln No. PCT/US2016/026225 dated Aug. 24, 2016, (13 pages). |
PCT Chapter I International Preliminary Report on Patentability (IPER) for PCT Application No. PCT/US2016/026225 dated Oct. 19, 2017, (10 pages). |
Number | Date | Country | |
---|---|---|---|
20180138985 A1 | May 2018 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14683745 | Apr 2015 | US |
Child | 15853584 | US |