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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/25—Arrangements specific to fibre transmission
- H04B10/2507—Arrangements specific to fibre transmission for the reduction or elimination of distortion or dispersion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/27—Arrangements for networking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
- H04Q2011/0037—Operation
- H04Q2011/0043—Fault 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
- 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.
- 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.
- 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.
-
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 ofFIG. 1 . -
FIG. 3 shows a diagram of an exemplary setup of optical data connections in the exemplary specially programmed computing system with associated devices ofFIG. 1 . - 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 thesystem 100 as operated in accordance with some principles of the present invention. In some embodiments, thesystem 100 includes a trading server 110 (e.g., a primary trading server), a monitoring server 130 (e.g., a backup trading server), and aswitch 150. In some embodiments, thesystem 100 is configured to operate in communication with an exchange E. In some embodiments, thesystem 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 ) transmitsoutput pricing data 1, such as data regarding real-time prices for various financial instruments being traded on the trading exchange, to thesystem 100. Thesystem 100 is communicatively coupled to the exchange E such that theswitch 150 receives theoutput pricing data 1 asinput pricing data 2. In some embodiments, theswitch 150 receives theinput pricing data 2 via a fiber optic data link. In some embodiments, theswitch 150 includes a first optical tap that is configured to duplicate (e.g., split) theinput 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 outputpricing data stream 3 reaches at least one intake channel of thetrading 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 themonitoring 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, thetrading server 110 and themonitoring server 130 are configured to determine trading orders to be made based on the pricing data 5 and 6, respectively. In some embodiments, thetrading server 110 and themonitoring server 130 execute algorithms to determine trading orders to be made based on the pricing data 5 and 6, respectively. In some embodiments, thetrading server 110 and themonitoring server 130 are configured to determine trading orders in an identical manner, such that when thetrading server 110 and themonitoring server 130 are provided with identical pricing data 5 and 6, respectively, thetrading server 110 and themonitoring server 130 will determine identical trading orders to be made. - Continuing to refer to
FIG. 2 , the exemplary trading server transmits, to theswitch 150,output trading data 7 regarding trading orders to be executed by the exchange E. Theoutput trading data 7 reaches theswitch 150 as input trading data 8. In some embodiments, theswitch 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 thesystem 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 outputtrading data stream 10 reaches at least one intake channel (via a network interface controller (NIC)) of themonitoring server 130 in the asinput trading data 12 so that themonitoring server 130 is always updated in real-time as to the last data that was successfully transmitted by thetrading server 110 via theswitch 150. As noted above, in some embodiments, themonitoring server 130 is configured to determine trading orders to be made based on the pricing data 6. In some embodiments, themonitoring 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 themonitoring server 130 has determined to be made based on the pricing data 6. In some embodiments, if theinput trading data 12 differs from the trading orders that themonitoring server 130 has determined, themonitoring server 130 determines that thetrading server 110 is faulty. If it has been determined that thetrading server 110 is faulty, themonitoring server 130 transmits output trading data 13 to theswitch 150. In some embodiments, because thetrading server 110 and themonitoring 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 thetrading server 110, had thetrading server 110 not been faulty. The output trading data 13 reaches the 150 switch as input trading data 14. Theswitch 150 transmits the input trading data 14 out of thesystem 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 themonitoring 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 thetrading server 110 and to themonitoring server 130 simultaneously. In some embodiments, instructions are provided by a trader to thetrading server 110 by a primary channel, and to themonitoring server 130 by a secondary channel that becomes active if themonitoring server 130 determines that thetrading 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 thesystem 100 as operated in accordance with some principles of the present invention. The term “Tx” inFIG. 3 identifies a source of an optical signal carrying communicated data, and the term “Rx” identifies a receiver of the optical signal. InFIG. 3 , thetrading server 110 of theexemplary system 100 communicates data traffic with an exchange server E via optical connections. InFIG. 3 , themonitoring server 130 is configured to monitor and analyze the traffic between thetrading server 110 and the exchange E. AsFIG. 3 demonstrates, in one illustrative example, thesystem 100 is configured such that data sent by the trading server “A Tx” reaches theswitch 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 thetrading server 110, and (2) an input channel (“C Rx”) of themonitoring server 130. - Continuing to refer to
FIG. 3 , in one illustrative example, thesystem 100 is configured such that the communicated data (e.g., trading data) reaches a relay “Channel Switch” module 160 (hereinafter “relay 160”) of theswitch 150 from 1) an output channel (“B Tx”) of thetrading server 110, when thetrading server 110 functions properly, and 2) an output channel (“C Tx”) of themonitoring server 130, when themonitoring server 130 is required to perform as a back-up server due to a deficiency with thetrading server 110, a problem with the connection between thetrading server 110 and theswitch 150, or any other flaw that may prevent data (e.g., trading data) from being properly transmitted from thetrading server 110 to theswitch 150. In some embodiments, when themonitoring server 130 transmits trading data to theswitch 150, themonitoring server 130 also transmits a channel-switching signal to theswitch 150, and receipt of the channel-switching signal prompts therelay 160 to transmit trading data received from themonitoring server 130 rather than trading data received from thetrading 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 theswitch 150. In some embodiments, an individual may repair the defect (e.g., power outage, network outage, etc.) that caused thetrading server 110 to fail to transmit trading data to theswitch 150, and may then manually reconfigure theswitch 150 so as to switch back to conveying trading data from thetrading server 110. In some embodiments, themonitoring server 130 is configured to detect that thetrading server 110 has returned to normal operation (e.g., by being communicatively coupled to the trading server 110) and to automatically instruct theswitch 150 to switch back to conveying trading data from thetrading server 110. - Continuing to refer to
FIG. 3 , in one illustrative example, thesystem 100 is configured such that the communicated data (e.g., trading data) from the “Channel Switch” module of theswitch 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 themonitoring server 130. -
FIG. 1 shows a diagram of another exemplary set-up of optical connections of thesystem 100 operated in accordance with some principles of the present invention. In some embodiments, thesystem 100 is configured to provide time synchronization between at least thetrading server 110 and themonitoring server 130. In some non-limiting embodiments, thesystem 100 is configured to utilize a precision time protocol (“PTP”) to achieve time synchronization between at least thetrading server 110 and themonitoring 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, thesystem 100 includes aPTP master clock 170. In some embodiments, thePTP master clock 170 is integrated into theswitch 150. In some embodiments, thePTP master clock 170 is separate from theswitch 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 thetrading server 110 and themonitoring 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 themonitoring server 130. However, for brevity, only the performance of the PTP with respect to thetrading server 110 is described herein. In some embodiments, the PTP begins with the transmission of a “Sync” message by thePTP master clock 170 to thetrading 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 thePTP 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 thePTP 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 thePTP master clock 170 does not include hardware having the capability to send an accurate time stamp in the “Sync” message. In some embodiments, thetrading 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, thetrading 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, thetrading 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, thePTP master clock 170 will records a timestamp of the time (“T2”) when the “Delay-Request” message was received and sends this timestamp back to thetrading 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 thetrading server 110 and thePTP master clock 170, and 2) the time offset between thePTP master clock 170 and the internal clock of thetrading 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 thePTP master clock 170. As noted above, themonitoring server 130 synchronizes its internal clock with that of thePTP master clock 170 in an identical manner. As a result, the internal clocks of thetrading server 110 and of themonitoring server 130 are synchronized with one another. By virtue of this synchronization, - In some embodiments, the
switch 150 is powered by a USB power supply. In some embodiments, theswitch 150 is configured to operate such that, even without the USB power supply (e.g., if power is interrupted), theswitch 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 therelay 160 that shifts from the main channel (e.g., conveying data, such as trading data, from thetrading server 110 to the exchange E) to the back-up channel (e.g., conveying data, such as trading data, from themonitoring server 130 to the exchange E). In some embodiments, if the power supply is interrupted, therelay 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, theswitch 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, theexemplary switch 150 is configured to operate on a physical layer. In some embodiments, theswitch 150 is configured such that 1 Gigabyte (G) and 10G connections can be linked to theswitch 150 without regard to a communication protocol used. In some embodiments, theswitch 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, theswitch 150 includes components that utilize multimode optics. In some embodiments, theswitch 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 thesystem 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 theswitch 150 provide a symmetrical splitting of thesignal 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 theswitch 150. In some embodiments, therelay 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 theswitch 150. In some embodiments, therelay 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 theswitch 150. In some embodiments, therelay 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 theswitch 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)
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.
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)
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)
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)
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)
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 |
-
2018
- 2018-02-20 US US15/899,618 patent/US10158929B1/en active Active
- 2018-12-17 US US16/222,461 patent/US20190182570A1/en not_active Abandoned
-
2019
- 2019-08-28 US US16/553,775 patent/US20190387292A1/en not_active Abandoned
Patent Citations (4)
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)
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 |