US20190387292A1 - Specialized optical switches utilized to reduce latency in switching between hardware devices in computer systems and methods of use thereof - Google Patents

Specialized optical switches utilized to reduce latency in switching between hardware devices in computer systems and methods of use thereof Download PDF

Info

Publication number
US20190387292A1
US20190387292A1 US16/553,775 US201916553775A US2019387292A1 US 20190387292 A1 US20190387292 A1 US 20190387292A1 US 201916553775 A US201916553775 A US 201916553775A US 2019387292 A1 US2019387292 A1 US 2019387292A1
Authority
US
United States
Prior art keywords
server
data stream
trading
data
switch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US16/553,775
Inventor
Yury Hushchyn
Aliaksandr Kotseleu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Capital Com Sv Investments Ltd
Original Assignee
Capital Com Sv Investments Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Capital Com Sv Investments Ltd filed Critical Capital Com Sv Investments Ltd
Priority to US16/553,775 priority Critical patent/US20190387292A1/en
Publication of US20190387292A1 publication Critical patent/US20190387292A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/25Arrangements specific to fibre transmission
    • H04B10/2507Arrangements specific to fibre transmission for the reduction or elimination of distortion or dispersion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/27Arrangements for networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0005Switch and router aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0005Switch and router aspects
    • H04Q2011/0037Operation
    • H04Q2011/0043Fault tolerance

Definitions

  • the present invention relates generally to optical switches. More particularly, the present invention relates generally to optical switches configured to facilitate switching between redundant computing systems with minimal latency.
  • Electronic exchanges are financial exchanges that receive trading instructions electronically from traders and provide a matching process between buying and selling traders.
  • Traders may convey trading instructions to financial exchanges through the use of trading servers, and may operate backup trading servers to provide redundancy to primary trading servers. In situations where a primary trading server fails for any reason, a changeover to a backup trading server should happen with as short a latency period as possible.
  • a system includes at least one switch, at least one first server, at least one second server, and a precision time protocol master clock, the at least one switch including at least one first optical tap, at least one relay, and at least one second optical tap, the at least one first server including a first internal clock and being configured to synchronize the first internal clock with the precision time protocol master clock in accordance with a precision time protocol, the at least one second server including a second internal clock and being configured to synchronize the second internal clock with the precision time protocol master clock in accordance with the precision time protocol, the precision time protocol master clock being configured to perform a time synchronization of the at least one first server and the at least one second server in accordance with the precision time protocol, the at least one first optical tap being configured to: i) receive a first data stream from at least one third server, ii) split the first data stream into a first copy data stream and a second copy data stream, iii) transmit the first copy data stream to the at least one first server, and iv) transmit
  • the first data stream is an optical data stream.
  • the at least one first optical tap includes at least one of a planar light-wave circuit splitter, a fused biconical taper splitter, and a thin film splitter.
  • the at least one second optical tap includes at least one of a planar light-wave circuit splitter, a fused biconical taper splitter, and a thin film splitter.
  • the precision time protocol master clock is configured to perform the time synchronization periodically at a frequency that is between once per second and one hundred times per second.
  • a method includes providing at least one switch, the at least one switch comprising at least one first optical tap, at least one relay, and at least one second optical tap; providing at least one first server, the at least one first server comprising a first internal clock, wherein the at least one first server is configured to synchronize the first internal clock with a precision time protocol master clock in accordance with a precision time protocol; providing at least one second server, the at least one second server comprising a second internal clock, wherein the at least one second server is configured to synchronize the second internal clock with the precision time protocol master clock in accordance with the precision time protocol; providing the precision time protocol master clock, wherein the precision time protocol master clock is configured to perform a time synchronization of the at least one first server and the at least one second server in accordance with the precision time protocol; operating the at least one first optical tap to: i) receive a first data stream from at least one third server, ii) split the first data stream into a first copy data stream and a second copy data stream, i
  • FIG. 1 shows a specially programmed computing system with associated devices according to an exemplary embodiment.
  • FIG. 2 shows a diagram of an exemplary flow of data within the exemplary specially programmed computing system with associated devices of FIG. 1 .
  • FIG. 3 shows a diagram of an exemplary setup of optical data connections in the exemplary specially programmed computing system with associated devices of FIG. 1 .
  • the principles, methods, systems, and devices of the present invention can be implemented, with or without any modification(s) that may become apparent to those of ordinary skill in the art, in numerous industries, environments, and computing devices such as, but not limited to, aviation, industrial control, computers, medical devices, financial terminals, utilities management, home security, critical infrastructure computing systems (e.g., traffic lights, power grids, etc.), and other similarly suitable applications.
  • industries, environments, and computing devices such as, but not limited to, aviation, industrial control, computers, medical devices, financial terminals, utilities management, home security, critical infrastructure computing systems (e.g., traffic lights, power grids, etc.), and other similarly suitable applications.
  • the term “or” is an inclusive “or” operator, and is equivalent to the term “and/or,” unless the context clearly dictates otherwise.
  • the term “based on” is not exclusive and allows for being based on additional factors not described, unless the context clearly dictates otherwise.
  • the meaning of “a,” “an,” and “the” include plural references.
  • the meaning of “in” includes “in” and “on.”
  • the term “real-time” is directed to an event/action that can occur instantaneously or almost instantaneously in time when another event/action has occurred.
  • the terms “instantaneous,” “instantaneously,” “instantly,” and “in real time” refer to a condition where a time difference between a first time when a search request is transmitted and a second time when a response to the request is received is no more than 1 second. In some embodiments, the time difference between the request and the response is between less than 1 second and several seconds (e.g., 5-10 seconds).
  • events and/or actions in accordance with the present invention can be in real-time and/or based on a predetermined periodicity of at least one of: nanosecond, several nanoseconds, millisecond, several milliseconds, second, several seconds, minute, several minutes, hourly, several hours, daily, several days, weekly, monthly, etc.
  • runtime corresponds to any behavior that is dynamically determined during an execution of a software application or at least a portion of software application.
  • the inventive specially programmed computing systems with associated devices are configured to operate in the distributed network environment, communicating over a suitable data communication network (e.g., the Internet, etc.) and utilizing at least one suitable data communication protocol (e.g., IPX/SPX, X.25, AX. 25 , AppleTalkTM, TCP/IP (e.g., HTTP), etc.).
  • a suitable data communication network e.g., the Internet, etc.
  • suitable data communication protocol e.g., IPX/SPX, X.25, AX. 25 , AppleTalkTM, TCP/IP (e.g., HTTP), etc.
  • the present invention is not limited to such application, and a person skilled in the art of optical networks would understand that the present invention can be similarly applied in any other industry.
  • the present invention can be applied for minimizing down-time in automated manufacturing processes, processing Internet ecommerce transactions, telecommunication transmissions, and other similarly suitable applications.
  • Electronic exchanges are financial exchanges that receive trading instructions electronically from traders and provide a matching process between buying and selling traders.
  • Traders may convey trading instructions to financial exchanges through the use of trading servers, and may operate backup trading servers to provide redundancy to primary trading servers. In situations where a primary trading server fails for any reason, a changeover to a backup trading server should happen with as short a latency period as possible.
  • specially programmed computing systems and associated devices are configured to facilitate a data transfer to and from a financial exchange which is a central marketplace with established rules and regulations where buyers and sellers, referred to as traders, meet to trade.
  • Some exchanges referred to as open outcry exchanges, operate using a trading floor where buyers and sellers physically meet on the floor to trade.
  • Other exchanges referred to as electronic exchanges, operate by an electronic or telecommunications network instead of a trading floor to facilitate trading in an efficient, versatile, and functional manner.
  • An electronic exchange typically provides a matching process between buying and selling traders.
  • Electronic exchanges have made it possible for an increasing number of people to actively participate in a market at any given time. The increase in the number of potential market participants has led to, among other things, a more competitive market and greater liquidity.
  • Some example exchanges are Eurex, LIFFE, CME, and CBOT.
  • tradeable object refers to anything that can be traded with a quantity and/or price. It includes, but is not limited to, all types of traded events, goods and/or financial products, which can include, for example, stocks, options, bonds, futures, currency, and warrants, as well as funds, derivatives and collections of the foregoing, and all types of commodities, such as grains, energy, and metals.
  • the tradeable object may be “real,” such as products that are listed by an exchange for trading, or “synthetic,” such as a combination of real products that is created by the user. A tradeable object could actually be a combination of other tradeable objects, such as a class of tradeable objects.
  • Client entities such as computers being used by traders to trade, are typically connected to an electronic exchange by way of a communication link to facilitate electronic messaging between the trading entities and the exchange.
  • the messaging may include market information that is distributed from the electronic exchange to traders, as well as orders, quotes, acknowledgements, fills, cancels, deletes, cancel and replace, and other well-known financial transaction messages.
  • market information usually includes the inside market, which generally includes the current lowest sell price (often referred to as the best ask) and the current highest buy price (often referred to as the best bid).
  • Market information may also include market depth, which generally refers to quantities available in the market at the price levels other than those corresponding to the inside market.
  • electronic exchanges can offer other types of market data such as the open price, settlement price, net change, volume, last traded price, last traded quantity, and order fill information.
  • a trader at the client entity may be displayed on the trading screen.
  • traders can take certain actions including the actions of sending buy or sell orders to the electronic market, adjusting existing orders, deleting orders, or otherwise managing orders.
  • the inventive specially programmed computing systems with associated devices are configured to increase the speed with which trading data is transferred for execution and minimize or eliminate any potential “down-time” that could occur due to malfunctioning of computer systems (e.g., trading servers) utilized by traders for trading and additional actions.
  • computer systems e.g., trading servers
  • the inventive specially programmed computing systems with associated devices are configured to monitor and duplicate the network traffic over at least one optical connection.
  • the inventive specially programmed computing systems with associated devices are configured to monitor the network traffic to identify devices and/or communication pathways that are not performing to predetermined desirable operational characteristic(s), such as, but not limited to, traffic bottlenecks and link disconnections, and to redirect (e.g., switch) traffic to and/or from a particular network connection.
  • predetermined desirable operational characteristic(s) such as, but not limited to, traffic bottlenecks and link disconnections
  • redirect (e.g., switch) traffic to and/or from a particular network connection.
  • the exemplary inventive specially programmed computing system with associated device(s) determines that a particular server is not performing appropriately (e.g., the server is damaged)
  • the exemplary inventive specially programmed computing system can switch, in real-time, that connection to a different server. Consequently, the exemplary inventive specially programmed computing system with associated device(s) is configured to at least reduce or eliminate any latency which otherwise could have
  • the exemplary inventive specially programmed computing system with associated device(s) is also configured to mitigate various events which can occur within the financial trading environment (e.g., algorithmic trading on stock, commodity, and/or currency exchanges), such as, but not limited to, drop in liquidity, substantial deviation in behavior of market players, and any other events that could result in a dramatic decline in trading performance and/or a freeze in order executions.
  • various events which can occur within the financial trading environment (e.g., algorithmic trading on stock, commodity, and/or currency exchanges), such as, but not limited to, drop in liquidity, substantial deviation in behavior of market players, and any other events that could result in a dramatic decline in trading performance and/or a freeze in order executions.
  • the exemplary inventive specially programmed computing system with associated device(s) is also configured to monitor traffic over an optical connection(s) between a computer system of an exemplary exchange and particular trading server(s) to perform tasks such as, but not limited to, logging events, conducting real-time analysis of executed deals, performing risk management, allocating commission, and other trading and/or network related activities linked to having the ability to process relevant data on the particular server(s).
  • the exemplary inventive specially programmed computing system with associated device(s) is also configured to replicate the monitored traffic and store traffic data at at least one back-up (e.g., secondary) location (e.g., at least one secondary trading server). In some embodiments, the exemplary inventive specially programmed computing system with associated device(s) is also configured to monitor and replicate traffic without affecting the timing and structural integrity of the monitored data traffic. In some embodiments, because of the replication capability, the exemplary inventive specially programmed computing system with associated device(s) is also configured to switch, in real time, from a primary trading server to a back-up trading server. Consequently, the exemplary inventive specially programmed computing system with associated device(s) is configured to perform, at the same instance in real-time, monitoring and switching functions.
  • the exemplary inventive specially programmed computing system with associated device(s) is configured to, at least, eliminate any potential network latency and minimize any decrease in the strength of the optical signal.
  • associated device(s) of the exemplary inventive specially programmed computing system can be configured to function without any power supply (e.g., can be configured as passive equipment). In some embodiments, associated device(s) of the exemplary inventive specially programmed computing system can be configured to utilize power supplied through a USB stick (e.g., 5V).
  • a USB stick e.g., 5V
  • associated device(s) of the exemplary inventive specially programmed computing system can be configured to be remotely controlled.
  • FIG. 2 shows a diagram of an exemplary inventive specially programmed computing system with associated devices (hereinafter collectively “system 100 ”), including an illustration of an exemplary dataflow over optical network connections within the system 100 as operated in accordance with some principles of the present invention.
  • the system 100 includes a trading server 110 (e.g., a primary trading server), a monitoring server 130 (e.g., a backup trading server), and a switch 150 .
  • the system 100 is configured to operate in communication with an exchange E.
  • the system 100 is configured to communicate with the exchange E from a remote location.
  • a computer system of a trading exchange platform transmits output pricing data 1 , such as data regarding real-time prices for various financial instruments being traded on the trading exchange, to the system 100 .
  • the system 100 is communicatively coupled to the exchange E such that the switch 150 receives the output pricing data 1 as input pricing data 2 .
  • the switch 150 receives the input pricing data 2 via a fiber optic data link.
  • the switch 150 includes a first optical tap that is configured to duplicate (e.g., split) the input pricing data 2 , utilizing optical tapping, into at least two output pricing data streams ( 3 and 4 .
  • the first optical tap is a passive fiber optic tap.
  • the first output pricing data stream 3 reaches at least one intake channel of the trading server 110 , which is a primary intended destination for the pricing data, as input pricing data stream 5 .
  • the second output pricing data stream 4 reaches at least one intake channel of the monitoring server 130 , which is a back-up server and a secondary intended destination for the pricing data, as input pricing data 6 .
  • the trading server 110 and the monitoring server 130 are configured to determine trading orders to be made based on the pricing data 5 and 6 , respectively.
  • the trading server 110 and the monitoring server 130 execute algorithms to determine trading orders to be made based on the pricing data 5 and 6 , respectively.
  • the trading server 110 and the monitoring server 130 are configured to determine trading orders in an identical manner, such that when the trading server 110 and the monitoring server 130 are provided with identical pricing data 5 and 6 , respectively, the trading server 110 and the monitoring server 130 will determine identical trading orders to be made.
  • the exemplary trading server transmits, to the switch 150 , output trading data 7 regarding trading orders to be executed by the exchange E.
  • the output trading data 7 reaches the switch 150 as input trading data 8 .
  • the switch 150 includes a second optical tap that is configured to duplicate (e.g., split) the input trading data 8 to produce at least two output trading data streams 9 and 10 .
  • the second optical tap is a passive fiber optic tap.
  • the output trading data 9 is transmitted out of the system 100 and reaches at least one intake channel of the computer system of the exchange E as input trading data 11 .
  • the second output trading data stream 10 reaches at least one intake channel (via a network interface controller (NIC)) of the monitoring server 130 in the as input trading data 12 so that the monitoring server 130 is always updated in real-time as to the last data that was successfully transmitted by the trading server 110 via the switch 150 .
  • the monitoring server 130 is configured to determine trading orders to be made based on the pricing data 6 .
  • the monitoring server 130 compares the input trading data 12 (i.e., which indicates trades that have been instructed by the trading server 110 ) to the trading orders that the monitoring server 130 has determined to be made based on the pricing data 6 .
  • the monitoring server 130 determines that the trading server 110 is faulty. If it has been determined that the trading server 110 is faulty, the monitoring server 130 transmits output trading data 13 to the switch 150 . In some embodiments, because the trading server 110 and the monitoring server 130 are configured to determine the same trading orders based on the same pricing data, the output trading data 13 represents the same trading orders as those which would have been otherwise be transmitted by the trading server 110 , had the trading server 110 not been faulty. The output trading data 13 reaches the 150 switch as input trading data 14 . The switch 150 transmits the input trading data 14 out of the system 100 as the output trading data 9 , which reaches the at least one intake channel of the computer system of the exchange E as the input trading data 11 .
  • the trading server 110 and the monitoring server 130 operate based on instructions provided by a trader (e.g., a person providing trading instructions).
  • instructions are provided by a trader to the trading server 110 and to the monitoring server 130 simultaneously.
  • instructions are provided by a trader to the trading server 110 by a primary channel, and to the monitoring server 130 by a secondary channel that becomes active if the monitoring server 130 determines that the trading server 110 is faulty, as discussed above.
  • a switch e.g., a relay
  • FIG. 3 shows a diagram of an exemplary set-up of optical connections of the system 100 as operated in accordance with some principles of the present invention.
  • the term “Tx” in FIG. 3 identifies a source of an optical signal carrying communicated data, and the term “Rx” identifies a receiver of the optical signal.
  • the trading server 110 of the exemplary system 100 communicates data traffic with an exchange server E via optical connections.
  • the monitoring server 130 is configured to monitor and analyze the traffic between the trading server 110 and the exchange E.
  • the system 100 is configured such that data sent by the trading server “A Tx” reaches the switch 150 , which, in some embodiments, includes a “TAP Transmit Path” module that is a first optical tap which, as discussed above, is configured to duplicate the “A Tx” data (e.g., pricing data) in at least two data streams directed into: (1) an input channel (“B Rx”) of the trading server 110 , and (2) an input channel (“C Rx”) of the monitoring server 130 .
  • Tx data sent by the trading server “A Tx” reaches the switch 150 , which, in some embodiments, includes a “TAP Transmit Path” module that is a first optical tap which, as discussed above, is configured to duplicate the “A Tx” data (e.g., pricing data) in at least two data streams directed into: (1) an input channel (“B Rx”) of the trading server 110 , and (2) an input channel (“C Rx”) of the monitoring server 130 .
  • B Rx an input channel
  • C Rx an input channel
  • the system 100 is configured such that the communicated data (e.g., trading data) reaches a relay “Channel Switch” module 160 (hereinafter “relay 160 ”) of the switch 150 from 1) an output channel (“B Tx”) of the trading server 110 , when the trading server 110 functions properly, and 2) an output channel (“C Tx”) of the monitoring server 130 , when the monitoring server 130 is required to perform as a back-up server due to a deficiency with the trading server 110 , a problem with the connection between the trading server 110 and the switch 150 , or any other flaw that may prevent data (e.g., trading data) from being properly transmitted from the trading server 110 to the switch 150 .
  • relay 160 a relay “Channel Switch” module 160
  • B Tx output channel
  • C Tx output channel
  • the monitoring server 130 when the monitoring server 130 transmits trading data to the switch 150 , the monitoring server 130 also transmits a channel-switching signal to the switch 150 , and receipt of the channel-switching signal prompts the relay 160 to transmit trading data received from the monitoring server 130 rather than trading data received from the trading server 110 .
  • the monitoring server 130 is configured to alert an individual (e.g., a trader, etc.) when it has begun transmitting trading data to the switch 150 .
  • an individual may repair the defect (e.g., power outage, network outage, etc.) that caused the trading server 110 to fail to transmit trading data to the switch 150 , and may then manually reconfigure the switch 150 so as to switch back to conveying trading data from the trading server 110 .
  • the monitoring server 130 is configured to detect that the trading server 110 has returned to normal operation (e.g., by being communicatively coupled to the trading server 110 ) and to automatically instruct the switch 150 to switch back to conveying trading data from the trading server 110 .
  • the system 100 is configured such that the communicated data (e.g., trading data) from the “Channel Switch” module of the switch 150 is transmitted via a “TAP Receive Path” module that is a second optical tap which is configured to duplicate the data exiting the “Channel Switch” module into at least two data streams directed into: 1) an input channel (“A Rx”) of the exchange E and 2) an input channel (“D Rx”) of the monitoring server 130 .
  • the communicated data e.g., trading data
  • TAP Receive Path that is a second optical tap which is configured to duplicate the data exiting the “Channel Switch” module into at least two data streams directed into: 1) an input channel (“A Rx”) of the exchange E and 2) an input channel (“D Rx”) of the monitoring server 130 .
  • FIG. 1 shows a diagram of another exemplary set-up of optical connections of the system 100 operated in accordance with some principles of the present invention.
  • the system 100 is configured to provide time synchronization between at least the trading server 110 and the monitoring server 130 .
  • the system 100 is configured to utilize a precision time protocol (“PTP”) to achieve time synchronization between at least the trading server 110 and the monitoring server 130 .
  • PTP operates in accordance with the IEEE 1588-2008 standard, otherwise known as IEEE 1588v2.
  • the system 100 includes a PTP master clock 170 .
  • the PTP master clock 170 is integrated into the switch 150 .
  • the PTP master clock 170 is separate from the switch 150 .
  • the PTP supports system-wide time synchronization accuracy in the sub-microsecond range (e.g., less than 30 microseconds ( ⁇ s), less than 20 ⁇ s, less than 10 ⁇ s, less than 5 ⁇ s, less than 4 ⁇ s, less than 3 ⁇ s, less than 2 ⁇ s, less than 1 ⁇ s, etc.)
  • the PTP includes the transmission of a synchronization message (“Sync”), which is a multicast periodically sent to the trading server 110 and the monitoring server 130 at a fixed time interval (e.g., a “sync interval”).
  • Sync synchronization message
  • the “Sync” message can be transmitted at a sync interval which is selected between 1-4 sync messages per second. In some embodiments, the “Sync” message can be transmitted at a sync interval which is selected between 1-10 sync messages per second. In some embodiments, the “Sync” message can be transmitted at a sync interval which is selected between 1-50 sync messages per second. In some embodiments, the “Sync” message can be transmitted at a sync interval which is selected between 1-100 sync messages per second.
  • the PTP operates as described herein. In some embodiments, the PTP is performed substantially identically with respect to both the trading server 110 and the monitoring server 130 . However, for brevity, only the performance of the PTP with respect to the trading server 110 is described herein.
  • the PTP begins with the transmission of a “Sync” message by the PTP master clock 170 to the trading server 110 .
  • the “Sync” message includes a timestamp of the time (“T 1 ”) at which the “Sync” message was sent; the “Sync” message may include such a timestamp in embodiments in which the PTP master clock 170 includes hardware having the capability to send an accurate time stamp in the “Sync” message.
  • the “Sync” message does not include a time stamp
  • the PTP master clock 170 sends a “Follow-Up” message after the sending after the “Sync” message and including a time stamp of the time at which the “Sync” message was sent; the “Follow-Up” message may be used in embodiments in which the PTP master clock 170 does not include hardware having the capability to send an accurate time stamp in the “Sync” message.
  • the trading server 110 generates a hardware timestamp of the time (“T 1 ”) when the “Sync” message is received.
  • the trading server 110 upon receipt of the time-stamped “Sync” message, the trading server 110 generates and sends to the PTP master clock 170 a “Delay-Request” message, and generates and retains a hardware timestamp indicating the time (“T 2 ”) when the “Delay-Request” message was sent.
  • the trading server 110 upon receipt of the “Follow-Up” message indicating the time when the “Sync” message was sent, the trading server 110 generates and sends to the PTP master clock 170 a “Delay-Request” message, and generates and retains a hardware timestamp indicating the time (“T 2 ”) when the “Delay-Request” message was sent.
  • the PTP master clock 170 upon receipt of the “Delay-Request” message, the PTP master clock 170 will records a timestamp of the time (“T 2 ”) when the “Delay-Request” message was received and sends this timestamp back to the trading server 110 in a “Delay-Response” message.
  • the trading server 110 utilizes the timestamp information derived from the message sequence to calculate 1) the one-way-delay between the trading server 110 and the PTP master clock 170 , and 2) the time offset between the PTP master clock 170 and the internal clock of the trading server 110 .
  • the offset is calculated by the equation:
  • the trading server 110 adjusts its internal clock to synchronize with that of the PTP master clock 170 .
  • the monitoring server 130 synchronizes its internal clock with that of the PTP master clock 170 in an identical manner.
  • the internal clocks of the trading server 110 and of the monitoring server 130 are synchronized with one another.
  • the switch 150 is powered by a USB power supply. In some embodiments, the switch 150 is configured to operate such that, even without the USB power supply (e.g., if power is interrupted), the switch 150 remains a fully-featured functioning device that works as the optical network tap in a power-off mode. For example, having the power supply can be necessary to control the relay 160 that shifts from the main channel (e.g., conveying data, such as trading data, from the trading server 110 to the exchange E) to the back-up channel (e.g., conveying data, such as trading data, from the monitoring server 130 to the exchange E).
  • the main channel e.g., conveying data, such as trading data, from the trading server 110 to the exchange E
  • the back-up channel e.g., conveying data, such as trading data, from the monitoring server 130 to the exchange E.
  • the relay 160 if the power supply is interrupted, the relay 160 would remain in the same state (e.g., with the same channel still active) as it was when the power supply was provided.
  • the switch 150 is configured such that, if the power supply is interrupted, the optical tapping functions described above continue to operate in the same manner as described.
  • the exemplary switch 150 is configured to operate with various network bandwidths and is limited only by the physical capacity of the fiber optic itself. In some embodiments, the exemplary switch 150 is configured to operate on a physical layer. In some embodiments, the switch 150 is configured such that 1 Gigabyte (G) and 10 G connections can be linked to the switch 150 without regard to a communication protocol used. In some embodiments, the switch 150 is configured to operate at other connection rates such as 40 G, 50 G, 100 G, etc.
  • the switch 150 includes components that utilize single-mode optics. In some embodiments, the switch 150 includes components that utilize multimode optics. In some embodiments, the switch 150 includes components that utilize a combination of both single-mode and multimode optics.
  • the switch 150 can be configured to utilize various fiber types, by correspondingly adjusting the internal components to fit the type of fiber that is being utilized for optical connections in the system 100 .
  • the optical taps of the switch 150 include planar light-wave circuit (“PLC”) splitters. In some embodiments, the optical taps of the switch 150 provide a symmetrical splitting of the signal 1 ⁇ 2. In some embodiments, symmetrical splitting can allow comparing the strength of the signal on both outputs.
  • PLC planar light-wave circuit
  • the optical taps of the switch 150 include Fused Biconical Taper (“FBT”) splitters.
  • FBT Fused Biconical Taper
  • the optical taps of the exemplary inventive switch of the switch 150 include Thin Film splitters.
  • the relay 160 is configured so that it would take less than, for example, 4 ms to switch to a different channel after the channel-switching signal is sent to the switch 150 . In some embodiments, the relay 160 is configured so that it would take less than, for example, 3 milliseconds (ms) to switch to a different channel after the channel-switching signal is sent to the switch 150 . In some embodiments, the relay 160 is configured so that it would take less than, for example, 2 ms to switch to a different channel after the channel-switching signal is sent to the switch 150 . In some embodiments, the relay 160 is configured so that it would take less than, for example, 1 ms to switch to a different channel after the channel-switching signal is sent to the switch 150 .
  • ms milliseconds
  • the switch 160 includes one or more integrated circuits that are specifically programmed to be operate as a control module.
  • a system includes at least one switch, at least one first server, at least one second server, and a precision time protocol master clock, the at least one switch including at least one first optical tap, at least one relay, and at least one second optical tap, the at least one first server including a first internal clock and being configured to synchronize the first internal clock with the precision time protocol master clock in accordance with a precision time protocol, the at least one second server including a second internal clock and being configured to synchronize the second internal clock with the precision time protocol master clock in accordance with the precision time protocol, the precision time protocol master clock being configured to perform a time synchronization of the at least one first server and the at least one second server in accordance with the precision time protocol, the at least one first optical tap being configured to: i) receive a first data stream from at least one third server, ii) split the first data stream into a first copy data stream and a second copy data stream, iii) transmit the first copy data stream to the at least one first server, and iv) transmit
  • the first data stream is an optical data stream.
  • the at least one first optical tap includes at least one of a planar light-wave circuit splitter, a fused biconical taper splitter, and a thin film splitter.
  • the at least one second optical tap includes at least one of a planar light-wave circuit splitter, a fused biconical taper splitter, and a thin film splitter.
  • the precision time protocol master clock is configured to perform the time synchronization periodically at a frequency that is between once per second and one hundred times per second.
  • a method includes providing at least one switch, the at least one switch comprising at least one first optical tap, at least one relay, and at least one second optical tap; providing at least one first server, the at least one first server comprising a first internal clock, wherein the at least one first server is configured to synchronize the first internal clock with a precision time protocol master clock in accordance with a precision time protocol; providing at least one second server, the at least one second server comprising a second internal clock, wherein the at least one second server is configured to synchronize the second internal clock with the precision time protocol master clock in accordance with the precision time protocol; providing the precision time protocol master clock, wherein the precision time protocol master clock is configured to perform a time synchronization of the at least one first server and the at least one second server in accordance with the precision time protocol; operating the at least one first optical tap to: i) receive a first data stream from at least one third server, ii) split the first data stream into a first copy data stream and a second copy data stream, i
  • the first data stream is representative of pricing data relating to at least one price of at least one tradeable object traded on at least one exchange.
  • the first server is configured to determine a first at least one trade to be made based on the pricing data, and wherein the second data stream is representative of the first at least one trade to be made based on the pricing data.
  • the second server is configured to determine a second at least one trade to be made based on the pricing data, the second at least one trade being identical to the first at least one trade, and wherein the third data stream is representative of the second at least one trade to be made based on the pricing data.

Abstract

A system includes a switch and first and second servers. The switch receives first data and provides the first data to the first and second servers. The first server determines second data based on the first data and transmits the second data to the switch. The second server determines third data based on the first data in response to a faulty indication that the first server has failed to transmit the second data to the switch and transmits the third data to the switch. The switch transmits fourth data to the second server and a third server. The fourth data is either the second data or the third data. The second data is identical to the third data so as to confirm that one of the second data or the third data is transmitted to the third server when the first server has failed to transmit the second data.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application is a continuation of U.S. patent application Ser. No. 15/899,618, titled “SPECIALIZED OPTICAL SWITCHES UTILIZED TO REDUCE LATENCY IN SWITCHING BETWEEN HARDWARE DEVICES IN COMPUTER SYSTEMS AND METHODS OF USE THEREOF,” filed Feb. 20, 2018, which is a Section 111(a) application relating to and claiming the benefit of commonly owned, co-pending U.S. Provisional Patent Application No. 62/460,210, titled “SPECIALIZED OPTICAL SWITCHES UTILIZED TO REDUCE LATENCY IN SWITCHING BETWEEN HARDWARE DEVICES IN COMPUTER SYSTEMS AND METHODS OF USE THEREOF,” filed Feb. 17, 2017, which are incorporated herein by reference in their entirety.
  • FIELD OF THE INVENTION
  • The present invention relates generally to optical switches. More particularly, the present invention relates generally to optical switches configured to facilitate switching between redundant computing systems with minimal latency.
  • BACKGROUND
  • Electronic exchanges are financial exchanges that receive trading instructions electronically from traders and provide a matching process between buying and selling traders. Traders may convey trading instructions to financial exchanges through the use of trading servers, and may operate backup trading servers to provide redundancy to primary trading servers. In situations where a primary trading server fails for any reason, a changeover to a backup trading server should happen with as short a latency period as possible.
  • SUMMARY OF THE INVENTION
  • In some embodiments, a system includes at least one switch, at least one first server, at least one second server, and a precision time protocol master clock, the at least one switch including at least one first optical tap, at least one relay, and at least one second optical tap, the at least one first server including a first internal clock and being configured to synchronize the first internal clock with the precision time protocol master clock in accordance with a precision time protocol, the at least one second server including a second internal clock and being configured to synchronize the second internal clock with the precision time protocol master clock in accordance with the precision time protocol, the precision time protocol master clock being configured to perform a time synchronization of the at least one first server and the at least one second server in accordance with the precision time protocol, the at least one first optical tap being configured to: i) receive a first data stream from at least one third server, ii) split the first data stream into a first copy data stream and a second copy data stream, iii) transmit the first copy data stream to the at least one first server, and iv) transmit the second copy data stream to the at least one second server, the at least one relay being configured to: i) receive a second data stream from the at least one first server, wherein the at least one first server has generated the second data stream in response to the first copy data stream, ii) receive a third data stream from the at least one second server, wherein the at least one second server has generated the third data stream in response to: 1) the second copy data stream and 2) at least one faulty indication, identifying that the at least one first server has failed to transmit the second data stream, and iii) transmit a fourth data stream to the at least one second optical tap, wherein the fourth data stream is either the second data stream or the third data stream based on a receipt of a switching indicator by the at least one relay, the at least one second optical tap being configured to: i) receive the fourth data stream, ii) split the fourth data stream into a third copy data stream and a fourth copy data stream, iii) transmit the third copy data stream to the at least one third server, and iv) transmit the fourth copy data stream to the at least one second server, wherein the second data stream is identical to the third data stream so as to confirm that one of the second data stream or the third data stream is transmitted to the at least one third server when the at least one first server has failed to transmit the second data stream.
  • In some embodiments, the first data stream is an optical data stream.
  • In some embodiments, the at least one first optical tap includes at least one of a planar light-wave circuit splitter, a fused biconical taper splitter, and a thin film splitter. In some embodiments, the at least one second optical tap includes at least one of a planar light-wave circuit splitter, a fused biconical taper splitter, and a thin film splitter.
  • In some embodiments, the precision time protocol master clock is configured to perform the time synchronization periodically at a frequency that is between once per second and one hundred times per second.
  • In some embodiments, a method includes providing at least one switch, the at least one switch comprising at least one first optical tap, at least one relay, and at least one second optical tap; providing at least one first server, the at least one first server comprising a first internal clock, wherein the at least one first server is configured to synchronize the first internal clock with a precision time protocol master clock in accordance with a precision time protocol; providing at least one second server, the at least one second server comprising a second internal clock, wherein the at least one second server is configured to synchronize the second internal clock with the precision time protocol master clock in accordance with the precision time protocol; providing the precision time protocol master clock, wherein the precision time protocol master clock is configured to perform a time synchronization of the at least one first server and the at least one second server in accordance with the precision time protocol; operating the at least one first optical tap to: i) receive a first data stream from at least one third server, ii) split the first data stream into a first copy data stream and a second copy data stream, iii) transmit the first copy data stream to the at least one first server, and iv) transmit the second copy data stream to the at least one second server; operating the at least one relay to: i) receive a second data stream from the at least one first server, wherein the at least one first server has generated the second data stream in response to the first copy data stream; ii) receive a third data stream from the at least one second server, wherein the at least one second server has generated the third data stream in response to: 1) the second copy data stream and 2) at least one faulty indication, identifying that the at least one first server has failed to transmit the second data stream; and iii) transmit a fourth data stream to the at least one second optical tap, wherein the fourth data stream is either the second data stream or the third data stream based on a receipt of a switching indicator by the at least one relay; operating the second optical tap to: i) receive the fourth data stream, ii) split the fourth data stream into a third copy data stream and a fourth copy data stream, iii) transmit the third copy data stream to the at least one third server, and iv) transmit the fourth copy data stream to the at least one second server, wherein the second data stream is identical to the third data stream so as to confirm that one of the second data stream or the third data stream is transmitted to the at least one third server when the at least one first server has failed to transmit the second data stream.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows a specially programmed computing system with associated devices according to an exemplary embodiment.
  • FIG. 2 shows a diagram of an exemplary flow of data within the exemplary specially programmed computing system with associated devices of FIG. 1.
  • FIG. 3 shows a diagram of an exemplary setup of optical data connections in the exemplary specially programmed computing system with associated devices of FIG. 1.
  • DETAILED DESCRIPTION
  • The present invention can be further explained with reference to the included drawings, wherein like structures are referred to by like numerals throughout the several views. The drawings shown are not necessarily to scale, with emphasis instead generally being placed upon illustrating the principles of the present invention. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention.
  • Among those benefits and improvements that have been disclosed, other objects and advantages of this invention can become apparent from the following description taken in conjunction with the accompanying figures. Detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely illustrative of the invention that may be embodied in various forms. In addition, each of the examples given in connection with the various embodiments of the present invention is intended to be illustrative, and not restrictive.
  • For instance, the principles, methods, systems, and devices of the present invention can be implemented, with or without any modification(s) that may become apparent to those of ordinary skill in the art, in numerous industries, environments, and computing devices such as, but not limited to, aviation, industrial control, computers, medical devices, financial terminals, utilities management, home security, critical infrastructure computing systems (e.g., traffic lights, power grids, etc.), and other similarly suitable applications.
  • Throughout the specification, the following terms take the meanings explicitly associated herein, unless the context clearly dictates otherwise. The phrases “in one embodiment” and “in some embodiments” as used herein do not necessarily refer to the same embodiment(s), though it may. Furthermore, the phrases “in another embodiment” and “in some other embodiments” as used herein do not necessarily refer to a different embodiment, although it may. Thus, as described below, various embodiments of the invention may be readily combined, without departing from the scope or spirit of the invention.
  • In addition, as used herein, the term “or” is an inclusive “or” operator, and is equivalent to the term “and/or,” unless the context clearly dictates otherwise. The term “based on” is not exclusive and allows for being based on additional factors not described, unless the context clearly dictates otherwise. In addition, throughout the specification, the meaning of “a,” “an,” and “the” include plural references. The meaning of “in” includes “in” and “on.”
  • It is understood that at least one aspect/functionality of various embodiments described herein can be performed in real-time and/or dynamically. As used herein, the term “real-time” is directed to an event/action that can occur instantaneously or almost instantaneously in time when another event/action has occurred. In some embodiments, the terms “instantaneous,” “instantaneously,” “instantly,” and “in real time” refer to a condition where a time difference between a first time when a search request is transmitted and a second time when a response to the request is received is no more than 1 second. In some embodiments, the time difference between the request and the response is between less than 1 second and several seconds (e.g., 5-10 seconds).
  • As used herein, the term “dynamic(ally)” means that events and/or actions can be triggered and/or occur without any human intervention. In some embodiments, events and/or actions in accordance with the present invention can be in real-time and/or based on a predetermined periodicity of at least one of: nanosecond, several nanoseconds, millisecond, several milliseconds, second, several seconds, minute, several minutes, hourly, several hours, daily, several days, weekly, monthly, etc.
  • As used herein, the term “runtime” corresponds to any behavior that is dynamically determined during an execution of a software application or at least a portion of software application.
  • In some embodiments, the inventive specially programmed computing systems with associated devices are configured to operate in the distributed network environment, communicating over a suitable data communication network (e.g., the Internet, etc.) and utilizing at least one suitable data communication protocol (e.g., IPX/SPX, X.25, AX.25, AppleTalk™, TCP/IP (e.g., HTTP), etc.).
  • While principles of the present invention are further explained in an application related to financial trading activities, the present invention is not limited to such application, and a person skilled in the art of optical networks would understand that the present invention can be similarly applied in any other industry. For example, the present invention can be applied for minimizing down-time in automated manufacturing processes, processing Internet ecommerce transactions, telecommunication transmissions, and other similarly suitable applications.
  • Exemplary Implementations of the Present Invention in the Financial Trading Environment
  • Electronic exchanges are financial exchanges that receive trading instructions electronically from traders and provide a matching process between buying and selling traders. Traders may convey trading instructions to financial exchanges through the use of trading servers, and may operate backup trading servers to provide redundancy to primary trading servers. In situations where a primary trading server fails for any reason, a changeover to a backup trading server should happen with as short a latency period as possible.
  • In some embodiments, specially programmed computing systems and associated devices are configured to facilitate a data transfer to and from a financial exchange which is a central marketplace with established rules and regulations where buyers and sellers, referred to as traders, meet to trade. Some exchanges, referred to as open outcry exchanges, operate using a trading floor where buyers and sellers physically meet on the floor to trade. Other exchanges, referred to as electronic exchanges, operate by an electronic or telecommunications network instead of a trading floor to facilitate trading in an efficient, versatile, and functional manner. An electronic exchange typically provides a matching process between buying and selling traders. Electronic exchanges have made it possible for an increasing number of people to actively participate in a market at any given time. The increase in the number of potential market participants has led to, among other things, a more competitive market and greater liquidity. Some example exchanges are Eurex, LIFFE, CME, and CBOT.
  • With respect to electronic exchanges, traders may connect to an electronic exchange trading platform by way of a communication link through their user terminals. Once connected, traders may typically choose which tradeable objects they wish to trade. As used herein, the term “tradeable object” refers to anything that can be traded with a quantity and/or price. It includes, but is not limited to, all types of traded events, goods and/or financial products, which can include, for example, stocks, options, bonds, futures, currency, and warrants, as well as funds, derivatives and collections of the foregoing, and all types of commodities, such as grains, energy, and metals. The tradeable object may be “real,” such as products that are listed by an exchange for trading, or “synthetic,” such as a combination of real products that is created by the user. A tradeable object could actually be a combination of other tradeable objects, such as a class of tradeable objects.
  • Client entities, such as computers being used by traders to trade, are typically connected to an electronic exchange by way of a communication link to facilitate electronic messaging between the trading entities and the exchange. The messaging may include market information that is distributed from the electronic exchange to traders, as well as orders, quotes, acknowledgements, fills, cancels, deletes, cancel and replace, and other well-known financial transaction messages. Although the amount or type of market information published by an electronic exchange often differs, there are typically some standard pieces of information. For instance, market information usually includes the inside market, which generally includes the current lowest sell price (often referred to as the best ask) and the current highest buy price (often referred to as the best bid). Market information may also include market depth, which generally refers to quantities available in the market at the price levels other than those corresponding to the inside market. In addition to providing order book information including price and quantity information, electronic exchanges can offer other types of market data such as the open price, settlement price, net change, volume, last traded price, last traded quantity, and order fill information.
  • Once a trader at the client entity receives the market information, it may be displayed on the trading screen. Upon viewing the market information, traders can take certain actions including the actions of sending buy or sell orders to the electronic market, adjusting existing orders, deleting orders, or otherwise managing orders.
  • In some embodiments, the inventive specially programmed computing systems with associated devices are configured to increase the speed with which trading data is transferred for execution and minimize or eliminate any potential “down-time” that could occur due to malfunctioning of computer systems (e.g., trading servers) utilized by traders for trading and additional actions.
  • In some embodiments, the inventive specially programmed computing systems with associated devices are configured to monitor and duplicate the network traffic over at least one optical connection. In some embodiments, the inventive specially programmed computing systems with associated devices are configured to monitor the network traffic to identify devices and/or communication pathways that are not performing to predetermined desirable operational characteristic(s), such as, but not limited to, traffic bottlenecks and link disconnections, and to redirect (e.g., switch) traffic to and/or from a particular network connection. For example, in some embodiments, if an exemplary inventive specially programmed computing system with associated device(s) determines that a particular server is not performing appropriately (e.g., the server is damaged), the exemplary inventive specially programmed computing system can switch, in real-time, that connection to a different server. Consequently, the exemplary inventive specially programmed computing system with associated device(s) is configured to at least reduce or eliminate any latency which otherwise could have developed due to a need to switch network traffic from the damaged server to another (back-up) server.
  • In some embodiments, the exemplary inventive specially programmed computing system with associated device(s) is also configured to mitigate various events which can occur within the financial trading environment (e.g., algorithmic trading on stock, commodity, and/or currency exchanges), such as, but not limited to, drop in liquidity, substantial deviation in behavior of market players, and any other events that could result in a dramatic decline in trading performance and/or a freeze in order executions.
  • In some embodiments, the exemplary inventive specially programmed computing system with associated device(s) is also configured to monitor traffic over an optical connection(s) between a computer system of an exemplary exchange and particular trading server(s) to perform tasks such as, but not limited to, logging events, conducting real-time analysis of executed deals, performing risk management, allocating commission, and other trading and/or network related activities linked to having the ability to process relevant data on the particular server(s).
  • In some embodiments, the exemplary inventive specially programmed computing system with associated device(s) is also configured to replicate the monitored traffic and store traffic data at at least one back-up (e.g., secondary) location (e.g., at least one secondary trading server). In some embodiments, the exemplary inventive specially programmed computing system with associated device(s) is also configured to monitor and replicate traffic without affecting the timing and structural integrity of the monitored data traffic. In some embodiments, because of the replication capability, the exemplary inventive specially programmed computing system with associated device(s) is also configured to switch, in real time, from a primary trading server to a back-up trading server. Consequently, the exemplary inventive specially programmed computing system with associated device(s) is configured to perform, at the same instance in real-time, monitoring and switching functions.
  • In some embodiments, the exemplary inventive specially programmed computing system with associated device(s) is configured to, at least, eliminate any potential network latency and minimize any decrease in the strength of the optical signal.
  • In some embodiments, associated device(s) of the exemplary inventive specially programmed computing system can be configured to function without any power supply (e.g., can be configured as passive equipment). In some embodiments, associated device(s) of the exemplary inventive specially programmed computing system can be configured to utilize power supplied through a USB stick (e.g., 5V).
  • In some embodiments, associated device(s) of the exemplary inventive specially programmed computing system can be configured to be remotely controlled.
  • FIG. 2 shows a diagram of an exemplary inventive specially programmed computing system with associated devices (hereinafter collectively “system 100”), including an illustration of an exemplary dataflow over optical network connections within the system 100 as operated in accordance with some principles of the present invention. In some embodiments, the system 100 includes a trading server 110 (e.g., a primary trading server), a monitoring server 130 (e.g., a backup trading server), and a switch 150. In some embodiments, the system 100 is configured to operate in communication with an exchange E. In some embodiments, the system 100 is configured to communicate with the exchange E from a remote location.
  • In one example, a computer system of a trading exchange platform (e.g., the exchange E shown in FIG. 2) transmits output pricing data 1, such as data regarding real-time prices for various financial instruments being traded on the trading exchange, to the system 100. The system 100 is communicatively coupled to the exchange E such that the switch 150 receives the output pricing data 1 as input pricing data 2. In some embodiments, the switch 150 receives the input pricing data 2 via a fiber optic data link. In some embodiments, the switch 150 includes a first optical tap that is configured to duplicate (e.g., split) the input pricing data 2, utilizing optical tapping, into at least two output pricing data streams (3 and 4. In some embodiments, the first optical tap is a passive fiber optic tap.
  • Continuing to refer to FIG. 2, the first output pricing data stream 3 reaches at least one intake channel of the trading server 110, which is a primary intended destination for the pricing data, as input pricing data stream 5. The second output pricing data stream 4 reaches at least one intake channel of the monitoring server 130, which is a back-up server and a secondary intended destination for the pricing data, as input pricing data 6. In some embodiments, the trading server 110 and the monitoring server 130 are configured to determine trading orders to be made based on the pricing data 5 and 6, respectively. In some embodiments, the trading server 110 and the monitoring server 130 execute algorithms to determine trading orders to be made based on the pricing data 5 and 6, respectively. In some embodiments, the trading server 110 and the monitoring server 130 are configured to determine trading orders in an identical manner, such that when the trading server 110 and the monitoring server 130 are provided with identical pricing data 5 and 6, respectively, the trading server 110 and the monitoring server 130 will determine identical trading orders to be made.
  • Continuing to refer to FIG. 2, the exemplary trading server transmits, to the switch 150, output trading data 7 regarding trading orders to be executed by the exchange E. The output trading data 7 reaches the switch 150 as input trading data 8. In some embodiments, the switch 150 includes a second optical tap that is configured to duplicate (e.g., split) the input trading data 8 to produce at least two output trading data streams 9 and 10. In some embodiments, the second optical tap is a passive fiber optic tap. The output trading data 9 is transmitted out of the system 100 and reaches at least one intake channel of the computer system of the exchange E as input trading data 11.
  • Continuing to refer to FIG. 2, the second output trading data stream 10 reaches at least one intake channel (via a network interface controller (NIC)) of the monitoring server 130 in the as input trading data 12 so that the monitoring server 130 is always updated in real-time as to the last data that was successfully transmitted by the trading server 110 via the switch 150. As noted above, in some embodiments, the monitoring server 130 is configured to determine trading orders to be made based on the pricing data 6. In some embodiments, the monitoring server 130 compares the input trading data 12 (i.e., which indicates trades that have been instructed by the trading server 110) to the trading orders that the monitoring server 130 has determined to be made based on the pricing data 6. In some embodiments, if the input trading data 12 differs from the trading orders that the monitoring server 130 has determined, the monitoring server 130 determines that the trading server 110 is faulty. If it has been determined that the trading server 110 is faulty, the monitoring server 130 transmits output trading data 13 to the switch 150. In some embodiments, because the trading server 110 and the monitoring server 130 are configured to determine the same trading orders based on the same pricing data, the output trading data 13 represents the same trading orders as those which would have been otherwise be transmitted by the trading server 110, had the trading server 110 not been faulty. The output trading data 13 reaches the 150 switch as input trading data 14. The switch 150 transmits the input trading data 14 out of the system 100 as the output trading data 9, which reaches the at least one intake channel of the computer system of the exchange E as the input trading data 11.
  • In some embodiments, the trading server 110 and the monitoring server 130 operate based on instructions provided by a trader (e.g., a person providing trading instructions). In some embodiments, instructions are provided by a trader to the trading server 110 and to the monitoring server 130 simultaneously. In some embodiments, instructions are provided by a trader to the trading server 110 by a primary channel, and to the monitoring server 130 by a secondary channel that becomes active if the monitoring server 130 determines that the trading server 110 is faulty, as discussed above. In some embodiments, a switch (e.g., a relay) provides for switching between the primary and secondary channels.
  • FIG. 3 shows a diagram of an exemplary set-up of optical connections of the system 100 as operated in accordance with some principles of the present invention. The term “Tx” in FIG. 3 identifies a source of an optical signal carrying communicated data, and the term “Rx” identifies a receiver of the optical signal. In FIG. 3, the trading server 110 of the exemplary system 100 communicates data traffic with an exchange server E via optical connections. In FIG. 3, the monitoring server 130 is configured to monitor and analyze the traffic between the trading server 110 and the exchange E. As FIG. 3 demonstrates, in one illustrative example, the system 100 is configured such that data sent by the trading server “A Tx” reaches the switch 150, which, in some embodiments, includes a “TAP Transmit Path” module that is a first optical tap which, as discussed above, is configured to duplicate the “A Tx” data (e.g., pricing data) in at least two data streams directed into: (1) an input channel (“B Rx”) of the trading server 110, and (2) an input channel (“C Rx”) of the monitoring server 130.
  • Continuing to refer to FIG. 3, in one illustrative example, the system 100 is configured such that the communicated data (e.g., trading data) reaches a relay “Channel Switch” module 160 (hereinafter “relay 160”) of the switch 150 from 1) an output channel (“B Tx”) of the trading server 110, when the trading server 110 functions properly, and 2) an output channel (“C Tx”) of the monitoring server 130, when the monitoring server 130 is required to perform as a back-up server due to a deficiency with the trading server 110, a problem with the connection between the trading server 110 and the switch 150, or any other flaw that may prevent data (e.g., trading data) from being properly transmitted from the trading server 110 to the switch 150. In some embodiments, when the monitoring server 130 transmits trading data to the switch 150, the monitoring server 130 also transmits a channel-switching signal to the switch 150, and receipt of the channel-switching signal prompts the relay 160 to transmit trading data received from the monitoring server 130 rather than trading data received from the trading server 110.
  • In some embodiments, the monitoring server 130 is configured to alert an individual (e.g., a trader, etc.) when it has begun transmitting trading data to the switch 150. In some embodiments, an individual may repair the defect (e.g., power outage, network outage, etc.) that caused the trading server 110 to fail to transmit trading data to the switch 150, and may then manually reconfigure the switch 150 so as to switch back to conveying trading data from the trading server 110. In some embodiments, the monitoring server 130 is configured to detect that the trading server 110 has returned to normal operation (e.g., by being communicatively coupled to the trading server 110) and to automatically instruct the switch 150 to switch back to conveying trading data from the trading server 110.
  • Continuing to refer to FIG. 3, in one illustrative example, the system 100 is configured such that the communicated data (e.g., trading data) from the “Channel Switch” module of the switch 150 is transmitted via a “TAP Receive Path” module that is a second optical tap which is configured to duplicate the data exiting the “Channel Switch” module into at least two data streams directed into: 1) an input channel (“A Rx”) of the exchange E and 2) an input channel (“D Rx”) of the monitoring server 130.
  • Exemplary Illustrations of Some Implementations of Synchronization Utilized by the Present Invention
  • FIG. 1 shows a diagram of another exemplary set-up of optical connections of the system 100 operated in accordance with some principles of the present invention. In some embodiments, the system 100 is configured to provide time synchronization between at least the trading server 110 and the monitoring server 130. In some non-limiting embodiments, the system 100 is configured to utilize a precision time protocol (“PTP”) to achieve time synchronization between at least the trading server 110 and the monitoring server 130. In some embodiments, the PTP operates in accordance with the IEEE 1588-2008 standard, otherwise known as IEEE 1588v2. To facilitate time synchronization, in some embodiments, the system 100 includes a PTP master clock 170. In some embodiments, the PTP master clock 170 is integrated into the switch 150. In some embodiments, the PTP master clock 170 is separate from the switch 150. In some embodiments, the PTP supports system-wide time synchronization accuracy in the sub-microsecond range (e.g., less than 30 microseconds (μs), less than 20 μs, less than 10 μs, less than 5 μs, less than 4 μs, less than 3 μs, less than 2 μs, less than 1 μs, etc.) In some embodiments, the PTP includes the transmission of a synchronization message (“Sync”), which is a multicast periodically sent to the trading server 110 and the monitoring server 130 at a fixed time interval (e.g., a “sync interval”). In some embodiments, the “Sync” message can be transmitted at a sync interval which is selected between 1-4 sync messages per second. In some embodiments, the “Sync” message can be transmitted at a sync interval which is selected between 1-10 sync messages per second. In some embodiments, the “Sync” message can be transmitted at a sync interval which is selected between 1-50 sync messages per second. In some embodiments, the “Sync” message can be transmitted at a sync interval which is selected between 1-100 sync messages per second.
  • In some embodiments, the PTP operates as described herein. In some embodiments, the PTP is performed substantially identically with respect to both the trading server 110 and the monitoring server 130. However, for brevity, only the performance of the PTP with respect to the trading server 110 is described herein. In some embodiments, the PTP begins with the transmission of a “Sync” message by the PTP master clock 170 to the trading server 110. In some embodiments, the “Sync” message includes a timestamp of the time (“T1”) at which the “Sync” message was sent; the “Sync” message may include such a timestamp in embodiments in which the PTP master clock 170 includes hardware having the capability to send an accurate time stamp in the “Sync” message. In some embodiments, the “Sync” message does not include a time stamp, and the PTP master clock 170 sends a “Follow-Up” message after the sending after the “Sync” message and including a time stamp of the time at which the “Sync” message was sent; the “Follow-Up” message may be used in embodiments in which the PTP master clock 170 does not include hardware having the capability to send an accurate time stamp in the “Sync” message. In some embodiments, the trading server 110 generates a hardware timestamp of the time (“T1”) when the “Sync” message is received. In some embodiments, upon receipt of the time-stamped “Sync” message, the trading server 110 generates and sends to the PTP master clock 170 a “Delay-Request” message, and generates and retains a hardware timestamp indicating the time (“T2”) when the “Delay-Request” message was sent. In some embodiments, upon receipt of the “Follow-Up” message indicating the time when the “Sync” message was sent, the trading server 110 generates and sends to the PTP master clock 170 a “Delay-Request” message, and generates and retains a hardware timestamp indicating the time (“T2”) when the “Delay-Request” message was sent. In some embodiments, upon receipt of the “Delay-Request” message, the PTP master clock 170 will records a timestamp of the time (“T2”) when the “Delay-Request” message was received and sends this timestamp back to the trading server 110 in a “Delay-Response” message.
  • In some embodiments, the trading server 110 utilizes the timestamp information derived from the message sequence to calculate 1) the one-way-delay between the trading server 110 and the PTP master clock 170, and 2) the time offset between the PTP master clock 170 and the internal clock of the trading server 110. In some embodiments, the offset is calculated by the equation:

  • õ=½(T 1 ′−T 1 −T 2 ′+T 2)
  • In Some Embodiments, the Delay d is Calculated by the Equation: d=T1′−T1−õ
  • In some embodiments, once the offset õ has been calculated, the trading server 110 adjusts its internal clock to synchronize with that of the PTP master clock 170. As noted above, the monitoring server 130 synchronizes its internal clock with that of the PTP master clock 170 in an identical manner. As a result, the internal clocks of the trading server 110 and of the monitoring server 130 are synchronized with one another. By virtue of this synchronization,
  • Illustrative Examples of Some Hardware Characteristics Applicable to the Inventive Devices the Present Invention
  • In some embodiments, the switch 150 is powered by a USB power supply. In some embodiments, the switch 150 is configured to operate such that, even without the USB power supply (e.g., if power is interrupted), the switch 150 remains a fully-featured functioning device that works as the optical network tap in a power-off mode. For example, having the power supply can be necessary to control the relay 160 that shifts from the main channel (e.g., conveying data, such as trading data, from the trading server 110 to the exchange E) to the back-up channel (e.g., conveying data, such as trading data, from the monitoring server 130 to the exchange E). In some embodiments, if the power supply is interrupted, the relay 160 would remain in the same state (e.g., with the same channel still active) as it was when the power supply was provided. In some embodiments, the switch 150 is configured such that, if the power supply is interrupted, the optical tapping functions described above continue to operate in the same manner as described.
  • In some embodiments, the exemplary switch 150 is configured to operate with various network bandwidths and is limited only by the physical capacity of the fiber optic itself. In some embodiments, the exemplary switch 150 is configured to operate on a physical layer. In some embodiments, the switch 150 is configured such that 1 Gigabyte (G) and 10G connections can be linked to the switch 150 without regard to a communication protocol used. In some embodiments, the switch 150 is configured to operate at other connection rates such as 40G, 50G, 100G, etc.
  • In some embodiments, the switch 150 includes components that utilize single-mode optics. In some embodiments, the switch 150 includes components that utilize multimode optics. In some embodiments, the switch 150 includes components that utilize a combination of both single-mode and multimode optics.
  • In some embodiments, the switch 150 can be configured to utilize various fiber types, by correspondingly adjusting the internal components to fit the type of fiber that is being utilized for optical connections in the system 100.
  • In some embodiments, the optical taps of the switch 150 include planar light-wave circuit (“PLC”) splitters. In some embodiments, the optical taps of the switch 150 provide a symmetrical splitting of the signal 1×2. In some embodiments, symmetrical splitting can allow comparing the strength of the signal on both outputs.
  • In some embodiments, the optical taps of the switch 150 include Fused Biconical Taper (“FBT”) splitters.
  • In some embodiments, the optical taps of the exemplary inventive switch of the switch 150 include Thin Film splitters.
  • In some embodiments, the relay 160 is configured so that it would take less than, for example, 4 ms to switch to a different channel after the channel-switching signal is sent to the switch 150. In some embodiments, the relay 160 is configured so that it would take less than, for example, 3 milliseconds (ms) to switch to a different channel after the channel-switching signal is sent to the switch 150. In some embodiments, the relay 160 is configured so that it would take less than, for example, 2 ms to switch to a different channel after the channel-switching signal is sent to the switch 150. In some embodiments, the relay 160 is configured so that it would take less than, for example, 1 ms to switch to a different channel after the channel-switching signal is sent to the switch 150.
  • In some embodiments, the switch 160 includes one or more integrated circuits that are specifically programmed to be operate as a control module.
  • Of note, the embodiments described herein may, of course, be implemented using any appropriate hardware and/or computing software languages. In this regard, those of ordinary skill in the art are well versed in the type of computer hardware that may be used, the type of computer programming techniques that may be used (e.g., object oriented programming), and the type of computer programming languages that may be used (e.g., C++, Basic, AJAX, Javascript). The aforementioned examples are, of course, illustrative and not restrictive.
  • In some embodiments, a system includes at least one switch, at least one first server, at least one second server, and a precision time protocol master clock, the at least one switch including at least one first optical tap, at least one relay, and at least one second optical tap, the at least one first server including a first internal clock and being configured to synchronize the first internal clock with the precision time protocol master clock in accordance with a precision time protocol, the at least one second server including a second internal clock and being configured to synchronize the second internal clock with the precision time protocol master clock in accordance with the precision time protocol, the precision time protocol master clock being configured to perform a time synchronization of the at least one first server and the at least one second server in accordance with the precision time protocol, the at least one first optical tap being configured to: i) receive a first data stream from at least one third server, ii) split the first data stream into a first copy data stream and a second copy data stream, iii) transmit the first copy data stream to the at least one first server, and iv) transmit the second copy data stream to the at least one second server, the at least one relay being configured to: i) receive a second data stream from the at least one first server, wherein the at least one first server has generated the second data stream in response to the first copy data stream, ii) receive a third data stream from the at least one second server, wherein the at least one second server has generated the third data stream in response to: 1) the second copy data stream and 2) at least one faulty indication, identifying that the at least one first server has failed to transmit the second data stream, and iii) transmit a fourth data stream to the at least one second optical tap, wherein the fourth data stream is either the second data stream or the third data stream based on a receipt of a switching indicator by the at least one relay, the at least one second optical tap being configured to: i) receive the fourth data stream, ii) split the fourth data stream into a third copy data stream and a fourth copy data stream, iii) transmit the third copy data stream to the at least one third server, and iv) transmit the fourth copy data stream to the at least one second server, wherein the second data stream is identical to the third data stream so as to confirm that one of the second data stream or the third data stream is transmitted to the at least one third server when the at least one first server has failed to transmit the second data stream.
  • In some embodiments, the first data stream is an optical data stream.
  • In some embodiments, the at least one first optical tap includes at least one of a planar light-wave circuit splitter, a fused biconical taper splitter, and a thin film splitter. In some embodiments, the at least one second optical tap includes at least one of a planar light-wave circuit splitter, a fused biconical taper splitter, and a thin film splitter.
  • In some embodiments, the precision time protocol master clock is configured to perform the time synchronization periodically at a frequency that is between once per second and one hundred times per second.
  • In some embodiments, a method includes providing at least one switch, the at least one switch comprising at least one first optical tap, at least one relay, and at least one second optical tap; providing at least one first server, the at least one first server comprising a first internal clock, wherein the at least one first server is configured to synchronize the first internal clock with a precision time protocol master clock in accordance with a precision time protocol; providing at least one second server, the at least one second server comprising a second internal clock, wherein the at least one second server is configured to synchronize the second internal clock with the precision time protocol master clock in accordance with the precision time protocol; providing the precision time protocol master clock, wherein the precision time protocol master clock is configured to perform a time synchronization of the at least one first server and the at least one second server in accordance with the precision time protocol; operating the at least one first optical tap to: i) receive a first data stream from at least one third server, ii) split the first data stream into a first copy data stream and a second copy data stream, iii) transmit the first copy data stream to the at least one first server, and iv) transmit the second copy data stream to the at least one second server; operating the at least one relay to: i) receive a second data stream from the at least one first server, wherein the at least one first server has generated the second data stream in response to the first copy data stream; ii) receive a third data stream from the at least one second server, wherein the at least one second server has generated the third data stream in response to: 1) the second copy data stream and 2) at least one faulty indication, identifying that the at least one first server has failed to transmit the second data stream; and iii) transmit a fourth data stream to the at least one second optical tap, wherein the fourth data stream is either the second data stream or the third data stream based on a receipt of a switching indicator by the at least one relay; operating the second optical tap to: i) receive the fourth data stream, ii) split the fourth data stream into a third copy data stream and a fourth copy data stream, iii) transmit the third copy data stream to the at least one third server, and iv) transmit the fourth copy data stream to the at least one second server, wherein the second data stream is identical to the third data stream so as to confirm that one of the second data stream or the third data stream is transmitted to the at least one third server when the at least one first server has failed to transmit the second data stream.
  • In some embodiments, the first data stream is representative of pricing data relating to at least one price of at least one tradeable object traded on at least one exchange. In some embodiments, the first server is configured to determine a first at least one trade to be made based on the pricing data, and wherein the second data stream is representative of the first at least one trade to be made based on the pricing data. In some embodiments, the second server is configured to determine a second at least one trade to be made based on the pricing data, the second at least one trade being identical to the first at least one trade, and wherein the third data stream is representative of the second at least one trade to be made based on the pricing data.
  • While a number of embodiments of the present invention have been described, it is understood that these embodiments are illustrative only, and not restrictive, and that many modifications may become apparent to those of ordinary skill in the art, including that the inventive methodologies, the inventive systems, and the inventive devices described herein can be utilized in any combination with each other. Further still, the various steps may be carried out in any desired order (and any desired steps may be added and/or any desired steps may be eliminated).

Claims (1)

What is claimed is:
1. A system, comprising:
at least one switch;
at least one first server;
at least one second server;
at least one first optical tap;
wherein the at least one first optical tap is configured to:
i) receive a first data stream from at least one third server,
ii) split the first data stream into a first copy data stream and a second copy data stream,
iii) transmit the first copy data stream to the at least one first server, and
iv) transmit the second copy data stream to the at least one second server.
US16/553,775 2017-02-17 2019-08-28 Specialized optical switches utilized to reduce latency in switching between hardware devices in computer systems and methods of use thereof Abandoned US20190387292A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/553,775 US20190387292A1 (en) 2017-02-17 2019-08-28 Specialized optical switches utilized to reduce latency in switching between hardware devices in computer systems and methods of use thereof

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762460210P 2017-02-17 2017-02-17
US15/899,618 US10158929B1 (en) 2017-02-17 2018-02-20 Specialized optical switches utilized to reduce latency in switching between hardware devices in computer systems and methods of use thereof
US16/222,461 US20190182570A1 (en) 2017-02-17 2018-12-17 Specialized optical switches utilized to reduce latency in switching between hardware devices in computer systems and methods of use thereof
US16/553,775 US20190387292A1 (en) 2017-02-17 2019-08-28 Specialized optical switches utilized to reduce latency in switching between hardware devices in computer systems and methods of use thereof

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US16/222,461 Continuation US20190182570A1 (en) 2017-02-17 2018-12-17 Specialized optical switches utilized to reduce latency in switching between hardware devices in computer systems and methods of use thereof

Publications (1)

Publication Number Publication Date
US20190387292A1 true US20190387292A1 (en) 2019-12-19

Family

ID=64604941

Family Applications (3)

Application Number Title Priority Date Filing Date
US15/899,618 Active US10158929B1 (en) 2017-02-17 2018-02-20 Specialized optical switches utilized to reduce latency in switching between hardware devices in computer systems and methods of use thereof
US16/222,461 Abandoned US20190182570A1 (en) 2017-02-17 2018-12-17 Specialized optical switches utilized to reduce latency in switching between hardware devices in computer systems and methods of use thereof
US16/553,775 Abandoned US20190387292A1 (en) 2017-02-17 2019-08-28 Specialized optical switches utilized to reduce latency in switching between hardware devices in computer systems and methods of use thereof

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US15/899,618 Active US10158929B1 (en) 2017-02-17 2018-02-20 Specialized optical switches utilized to reduce latency in switching between hardware devices in computer systems and methods of use thereof
US16/222,461 Abandoned US20190182570A1 (en) 2017-02-17 2018-12-17 Specialized optical switches utilized to reduce latency in switching between hardware devices in computer systems and methods of use thereof

Country Status (1)

Country Link
US (3) US10158929B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024036087A1 (en) * 2022-08-10 2024-02-15 Bgc Partners, L.P. Method, apparatus and system for time stamping and sequencing data items

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2980196A1 (en) * 2015-03-20 2016-09-29 Royal Bank Of Canada System and methods for message redundancy

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090313503A1 (en) * 2004-06-01 2009-12-17 Rajeev Atluri Systems and methods of event driven recovery management
US20120008944A1 (en) * 2010-07-08 2012-01-12 Nec Laboratories America, Inc. Optical switching network
US20120099863A1 (en) * 2010-10-25 2012-04-26 Nec Laboratories America, Inc. Hybrid optical/electrical switching system for data center networks
US20160285648A1 (en) * 2013-12-04 2016-09-29 Huawei Technologies Co., Ltd. Data processing method and apparatus, storage controller, and cabinet

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6948000B2 (en) * 2000-09-22 2005-09-20 Narad Networks, Inc. System and method for mapping end user identifiers to access device identifiers
US7620736B2 (en) * 2003-08-08 2009-11-17 Cray Canada Corporation Network topology having nodes interconnected by extended diagonal links
US8068408B2 (en) * 2004-11-01 2011-11-29 Alcatel Lucent Softrouter protocol disaggregation
US8145760B2 (en) * 2006-07-24 2012-03-27 Northwestern University Methods and systems for automatic inference and adaptation of virtualized computing environments
CN101630979B (en) 2008-07-16 2015-05-06 华为技术有限公司 Extender, data transmission method and passive optical network system
US8639113B2 (en) * 2009-08-12 2014-01-28 International Business Machines Corporation Network protection switching
US8396952B2 (en) * 2009-08-12 2013-03-12 International Business Machines Corporation Provisioning and commissioning a communications network with a virtual network operations center and interface
US8504660B2 (en) * 2009-08-12 2013-08-06 International Business Machines Corporation Validation of the configuration of a data communications network using a virtual network operations center
US8488960B2 (en) * 2009-08-12 2013-07-16 International Business Machines Corporation Synchronizing events on a communications network using a virtual command interface
US20120250679A1 (en) * 2011-03-29 2012-10-04 Amazon Technologies, Inc. Network Transpose Box and Switch Operation Based on Backplane Ethernet
US20130156425A1 (en) * 2011-12-17 2013-06-20 Peter E. Kirkpatrick Optical Network for Cluster Computing
EP2665212B1 (en) * 2012-05-16 2016-11-30 Alcatel Lucent Optical data transmission system
US9008095B2 (en) * 2012-10-02 2015-04-14 Cisco Technology, Inc. System and method for hardware-based learning of internet protocol addresses in a network environment
US9350481B2 (en) * 2012-10-08 2016-05-24 Futurewei Technologies, Inc. Transport functions virtualization for wavelength division multiplexing (WDM)-based optical networks
US9068066B2 (en) * 2012-12-04 2015-06-30 E I Du Pont De Nemours And Company Heat resistant hydrocarbon elastomer compositions
US9225624B2 (en) * 2012-12-20 2015-12-29 Dell Products L.P. Systems and methods for topology discovery and application in a border gateway protocol based data center
US9372726B2 (en) * 2013-01-09 2016-06-21 The Research Foundation For The State University Of New York Gang migration of virtual machines using cluster-wide deduplication
US9161107B2 (en) * 2013-01-29 2015-10-13 Nec Laboratories America, Inc. Switching for a MIMO-OFDM based flexible rate intra-data center network
EP2961108A4 (en) * 2013-02-20 2016-03-09 Fujitsu Ltd Switch and program
US20150043905A1 (en) * 2013-08-07 2015-02-12 Futurewei Technologies, Inc. System and Method for Photonic Switching and Controlling Photonic Switching in a Data Center
WO2015051023A1 (en) * 2013-10-03 2015-04-09 Coadna Photonics Inc. Distributed optical switching architecture for data center networking
US9247325B2 (en) * 2013-11-27 2016-01-26 Nec Laboratories America, Inc. Hybrid electro-optical distributed software-defined data center architecture
CN104730653B (en) * 2013-12-23 2016-08-31 华为技术有限公司 Optical interconnection system and method
US9654852B2 (en) * 2013-12-24 2017-05-16 Nec Corporation Scalable hybrid packet/circuit switching network architecture
US9520961B2 (en) * 2014-01-17 2016-12-13 Telefonaktiebolaget L M Ericsson (Publ) System and methods for optical lambda flow steering
US9503391B2 (en) * 2014-04-11 2016-11-22 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for network function placement
CN105099556B (en) * 2014-04-24 2017-11-24 华为技术有限公司 A kind of method of data center network and the deployment data center network
JP2016018387A (en) * 2014-07-08 2016-02-01 富士通株式会社 Information processing system, control method, and control program
US10009668B2 (en) * 2014-12-01 2018-06-26 The Royal Institution For The Advancement Of Learning / Mcgill University Methods and systems for board level photonic bridges

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090313503A1 (en) * 2004-06-01 2009-12-17 Rajeev Atluri Systems and methods of event driven recovery management
US20120008944A1 (en) * 2010-07-08 2012-01-12 Nec Laboratories America, Inc. Optical switching network
US20120099863A1 (en) * 2010-10-25 2012-04-26 Nec Laboratories America, Inc. Hybrid optical/electrical switching system for data center networks
US20160285648A1 (en) * 2013-12-04 2016-09-29 Huawei Technologies Co., Ltd. Data processing method and apparatus, storage controller, and cabinet

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024036087A1 (en) * 2022-08-10 2024-02-15 Bgc Partners, L.P. Method, apparatus and system for time stamping and sequencing data items

Also Published As

Publication number Publication date
US20190182570A1 (en) 2019-06-13
US10158929B1 (en) 2018-12-18

Similar Documents

Publication Publication Date Title
US11665222B2 (en) Distributed and transactionally deterministic data processing architecture
Guide Release 4.0
US20140149273A1 (en) Market Microstructure Data Method and Appliance
CN107408269B (en) Transaction abnormal cut-off switch
US20190387292A1 (en) Specialized optical switches utilized to reduce latency in switching between hardware devices in computer systems and methods of use thereof
US20220076337A1 (en) System and method for executing synchronized messages in multiple geographically distributed servers
US11631134B2 (en) Methods and apparatus to internalize trade orders
US20240087024A1 (en) Distributed Spreading Tools and Methods
EP1208508A1 (en) Interest matching and price improvement platform method and system
US20080306857A1 (en) Method for displaying transmission time intervals of orders on electronic trading system
US20220198560A1 (en) System and method for dissemination of data from interactive multi-agents venues
JP5928976B2 (en) Survival monitoring system

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION