US20190037434A1 - Shared Communication Links in an Electronic Trading System - Google Patents
Shared Communication Links in an Electronic Trading System Download PDFInfo
- Publication number
- US20190037434A1 US20190037434A1 US16/146,977 US201816146977A US2019037434A1 US 20190037434 A1 US20190037434 A1 US 20190037434A1 US 201816146977 A US201816146977 A US 201816146977A US 2019037434 A1 US2019037434 A1 US 2019037434A1
- Authority
- US
- United States
- Prior art keywords
- trading device
- market information
- gateway
- network
- communication network
- 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
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0268—Traffic management, e.g. flow control or congestion control using specific QoS parameters for wireless networks, e.g. QoS class identifier [QCI] or guaranteed bit rate [GBR]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5032—Generating service level reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
Abstract
Certain embodiments provide methods, tangible computer storage medium, and systems of shared communication links in an electronic trading system. An example method includes determining a first network service state of a first communication network established between a first wireless trading device and an exchange and receiving a second network service state of a second communication network established between a second wireless trading device and the exchange. The first wireless trading device receives the second network state from the second wireless device via a shared communication link. The example method also includes determining an active communication network based on a quality-of-service metric calculated between the first communication network and the second communication network by comparing the first network service state and the second network service state. The example method also includes communicating market information related to one or more markets with the exchange utilizing the active communication network and distributing the market information via the shared communication link.
Description
- This patent application is a continuation of U.S. patent application Ser. No. 15/684,674, filed Aug. 23, 2017, which is a continuation of U.S. patent application Ser. No. 14/574,238, filed Dec. 17, 2014, now U.S. Pat. No. 9,788,234, the contents of each of which are hereby incorporated by reference for all purposes.
- An electronic trading system generally includes a trading device in communication with an electronic exchange. The trading device receives information about a market, such as prices and quantities, from the electronic exchange. The electronic exchange receives messages, such as messages related to orders, from the trading device.
- Mobile or wireless trading devices (e.g., a smart phone, a tablet, etc.) generally communicate with the electronic exchange via a wireless communication network. One or more network conditions (e.g., a connectivity level of the mobile trading device to the wireless communication network, server latency at a gateway, etc.) can affect communication between the mobile trading device and the electronic exchange via the wireless communication network.
- Certain embodiments are disclosed with reference to the following drawings.
-
FIG. 1 illustrates a block diagram representative of an example electronic trading system in which certain embodiments may be employed. -
FIG. 2 illustrates a block diagram of another example electronic trading system in which certain embodiments may be employed. -
FIG. 3 illustrates a block diagram of an example computing device which may be used to implement the disclosed embodiments. -
FIG. 4 illustrates an example shared communication link in accordance with the teachings herein. -
FIG. 5 illustrates an example shared communication network in accordance with the teachings herein. -
FIG. 6 illustrates a block diagram of an example system in which certain embodiments may be employed. -
FIG. 7 illustrates an example method to share market information via a shared communication link. -
FIG. 8 illustrates an example method to determine a network service state which may be employed within the method ofFIG. 7 . -
FIG. 9 illustrates another example method to share market information via a shared communication network. -
FIG. 10 illustrates a block diagram of another example system in which certain embodiments may be employed. -
FIG. 11 illustrates an example method to share information via a shared communication link. -
FIG. 12 illustrates another example method to share information via a shared communication network. -
FIG. 13 illustrates a method to distribute assigned information which may be employed within the method ofFIG. 12 . - Certain embodiments will be better understood when read in conjunction with the provided figures, which illustrate examples. It should be understood, however, that the embodiments are not limited to the arrangements and instrumentality shown in the attached figures.
- This disclosure relates generally to electronic trading systems and, more specifically, to shared communication links in an electronic trading system.
- Trading devices, such as mobile or portable trading devices (e.g., hand-held devices, laptops, tablets, cell phones, portable computing devices, etc.), establish a communication link (e.g., via a wireless communication network) with an exchange via a gateway. A state of one or more conditions (e.g., a connectivity level of the mobile trading device, memory usage at the gateway, etc.) of the communication link may impair communication between the trading device and the gateway. For example, if the connectivity level of the trading device deteriorates, the communication between the trading device and the gateway may be interrupted (e.g., delayed, incomplete, substantially impaired and/or lost).
- Embodiments disclosed herein include shared communication links in an electronic trading system. Certain embodiments disclosed herein include determining a service state of a communication network established between a trading device and an exchange. A second network service state is received that corresponds to a second communication network established between a second trading device and the exchange. Market information is communicated with the exchange by utilizing an active communication network that is determined based on a quality-of-service metric calculated between the communication network and the second communication network. The market information is distributed between the trading device and the second trading device via a shared communication link.
- Certain embodiments disclosed herein assign a first communication link to communicate a first set of information between a first device and a gateway and assign a second communication link to communicate a second set of information between a second device and the gateway. The sets of information are shared between the corresponding devices via a shared communication link. In some examples, determining which information is assigned to the first communication link and the second communication link is based on a first communication state of the first communication link and a second communication state of the second communication link.
- Although this description discloses embodiments including, among other components, software executed on hardware, it should be noted that the embodiments are merely illustrative and should not be considered as limiting. For example, it is contemplated that any or all of these hardware and software components may be embodied exclusively in hardware, exclusively in software, exclusively in firmware, or in any combination of hardware, software, and/or firmware. Accordingly, certain embodiments may be implemented in other ways.
- Certain embodiments provide a method including determining a first network service state of a first communication network established between a first wireless trading device and an exchange and receiving a second network service state of a second communication network established between a second wireless trading device and the exchange. The first wireless trading device receives the second network state from the second wireless device via a shared communication link. The example method also includes determining an active communication network based on a quality-of-service metric calculated between the first communication network and the second communication network by comparing the first network service state and the second network service state. The example method also includes communicating market information related to one or more markets with the exchange utilizing the active communication network and distributing the market information via the shared communication link.
- Certain embodiments provide a tangible computer readable storage medium including instructions which, when executed, cause a machine to at least determine a first network service state of a first communication network established between a first wireless trading device and an exchange and receive a second network service state of a second communication network established between a second wireless trading device and the exchange. The first wireless trading device receives the second network state from the second wireless device via a shared communication link. The instructions which, when executed, also cause the machine to determine an active communication network based on a quality-of-service metric calculated between the first communication network and the second communication network by comparing the first network service state and the second network service state. The instructions which, when executed, also cause the machine to communicate market information related to one or more markets with the exchange utilizing the active communication network and distribute the market information via the shared communication link.
- Certain embodiments provide a system including a mobile computing device configured to determine a first network service state of a first communication network established between a first wireless trading device and an exchange and receive a second network service state of a second communication network established between a second wireless trading device and the exchange. The first wireless trading device receives the second network state from the second wireless device via a shared communication link. The mobile computing device is also configured to determine an active communication network based on a quality-of-service metric calculated between the first communication network and the second communication network by comparing the first network service state and the second network service state. The mobile computing device is also configured to communicate market information related to one or more markets at the exchange utilizing the active communication network and distribute the market information via the shared communication link.
- Certain embodiments provide a method including assigning a first communication link to communicate a first set of information between a first wireless device and a gateway. The gateway is configured to provide access to one or more markets at an exchange. The method also includes assigning a second communication link to communicate a second set of information between a second wireless device and the gateway. The second wireless device is in communication with the first wireless device via a shared communication link, and the second set of information is different than the first set of information. The example method also includes sharing the first set of information and the second set of information between the first device and the second device via the shared communication link.
- Certain embodiments provide a tangible computer readable storage medium including instructions which, when executed, cause a machine to at least assign a first communication link to communicate a first set of information between a first wireless device and a gateway. The gateway is configured to provide access to one or more markets at an exchange. The instructions which, when executed, also cause the machine to assign a second communication link to communicate a second set of information between a second wireless device and the gateway. The second wireless device is in communication with the first wireless device via a shared communication link, and the second set of information is different than the first set of information. The instructions which, when executed, also cause the machine to share the first set of information and the second set of information between the first device and the second device via the shared communication link.
- Certain embodiments provide a system including a mobile computing device configured to assign a first communication link to communicate a first set of information between a first wireless device and a gateway. The gateway is configured to provide access to one or more markets at an exchange. The mobile computing device is also configured to assign a second communication link to communicate a second set of information between a second wireless device and the gateway. The second wireless device is in communication with the first wireless device via a shared communication link, and the second set of information is different than the first set of information. The mobile computing device is also configured to share the first set of information and the second set of information between the first device and the second device via the shared communication link.
-
FIG. 1 illustrates a block diagram representative of an exampleelectronic trading system 100 in which certain embodiments may be employed. Thesystem 100 includes atrading device 110, agateway 120, and anexchange 130. Thetrading device 110 is in communication with thegateway 120. Thegateway 120 is in communication with theexchange 130. As used herein, the phrase “in communication with” encompasses direct communication and/or indirect communication through one or more intermediary components. The exemplaryelectronic trading system 100 depicted inFIG. 1 may be in communication with additional components, subsystems, and elements to provide additional functionality and capabilities without departing from the teaching and disclosure provided herein. - In operation, the
trading device 110 may receive market data from theexchange 130 through thegateway 120. A user may utilize thetrading device 110 to monitor this market data and/or base a decision to send an order message to buy or sell one or more tradeable objects to theexchange 130. - Market data may include data about a market for a tradeable object. For example, market data may include the inside market, market depth, last traded price (“LTP”), a last traded quantity (“LTQ”), or a combination thereof. The inside market refers to the highest available bid price (best bid) and the lowest available ask price (best ask or best offer) in the market for the tradeable object at a particular point in time (since the inside market may vary over time). Market depth refers to quantities available at price levels including the inside market and away from the inside market. Market depth may have “gaps” due to prices with no quantity based on orders in the market.
- The price levels associated with the inside market and market depth can be provided as value levels which can encompass prices as well as derived and/or calculated representations of value. For example, value levels may be displayed as net change from an opening price. As another example, value levels may be provided as a value calculated from prices in two other markets. In another example, value levels may include consolidated price levels.
- A tradeable object is anything which may be traded. For example, a certain quantity of the tradeable object may be bought or sold for a particular price. A tradeable object may include, for example, financial products, stocks, options, bonds, future contracts, currency, warrants, funds derivatives, securities, commodities, swaps, interest rate products, index-based products, traded events, goods, or a combination thereof. A tradeable object may include a product listed and/or administered by an exchange, a product defined by the user, a combination of real or synthetic products, or a combination thereof. There may be a synthetic tradeable object that corresponds and/or is similar to a real tradeable object.
- An order message is a message that includes a trade order. A trade order may be, for example, a command to place an order to buy or sell a tradeable object; a command to initiate managing orders according to a defined trading strategy; a command to change, modify, or cancel an order; an instruction to an electronic exchange relating to an order; or a combination thereof.
- The
trading device 110 may include one or more electronic computing platforms. For example, thetrading device 110 may include a desktop computer, hand-held device, laptop, server, a portable computing device, a trading terminal, an embedded trading system, a workstation, an algorithmic trading system such as a “black box” or “grey box” system, cluster of computers, or a combination thereof. As another example, thetrading device 110 may include a single or multi-core processor in communication with a memory or other storage medium configured to accessibly store one or more computer programs, applications, libraries, computer readable instructions, and the like, for execution by the processor. - As used herein, the phrases “configured to” and “adapted to” encompass that an element, structure, or device has been modified, arranged, changed, or varied to perform a specific function or for a specific purpose.
- By way of example, the
trading device 110 may be implemented as a personal computer running a copy of X_TRADER®, an electronic trading platform provided by Trading Technologies International, Inc. of Chicago, Ill. (“Trading Technologies”). As another example, thetrading device 110 may be a server running a trading application providing automated trading tools such as ADL®, AUTOSPREADER®, and/or AUTOTRADER™, also provided by Trading Technologies. In yet another example, thetrading device 110 may include a trading terminal in communication with a server, where collectively the trading terminal and the server are thetrading device 110. - The
trading device 110 is generally owned, operated, controlled, programmed, configured, or otherwise used by a user. As used herein, the phrase “user” may include, but is not limited to, a human (for example, a trader), trading group (for example, a group of traders), or an electronic trading device (for example, an algorithmic trading system). One or more users may be involved in the ownership, operation, control, programming, configuration, or other use, for example. - The
trading device 110 may include one or more trading applications. As used herein, a trading application is an application that facilitates or improves electronic trading. A trading application provides one or more electronic trading tools. For example, a trading application stored by a trading device may be executed to arrange and display market data in one or more trading windows. In another example, a trading application may include an automated spread trading application providing spread trading tools. In yet another example, a trading application may include an algorithmic trading application that automatically processes an algorithm and performs certain actions, such as placing an order, modifying an existing order, deleting an order. In yet another example, a trading application may provide one or more trading screens. A trading screen may provide one or more trading tools that allow interaction with one or more markets. For example, a trading tool may allow a user to obtain and view market data, set order entry parameters, submit order messages to an exchange, deploy trading algorithms, and/or monitor positions while implementing various trading strategies. The electronic trading tools provided by the trading application may always be available or may be available only in certain configurations or operating modes of the trading application. - A trading application may be implemented utilizing computer readable instructions that are stored in a computer readable medium and executable by a processor. A computer readable medium may include various types of volatile and non-volatile storage media, including, for example, random access memory, read-only memory, programmable read-only memory, electrically programmable read-only memory, electrically erasable read-only memory, flash memory, any combination thereof, or any other tangible data storage device. As used herein, the term non-transitory or tangible computer readable medium is expressly defined to include any type of computer readable storage media and to exclude propagating signals.
- One or more components or modules of a trading application may be loaded into the computer readable medium of the
trading device 110 from another computer readable medium. For example, the trading application (or updates to the trading application) may be stored by a manufacturer, developer, or publisher on one or more CDs or DVDs, which are then loaded onto thetrading device 110 or to a server from which thetrading device 110 retrieves the trading application. As another example, thetrading device 110 may receive the trading application (or updates to the trading application) from a server, for example, via the Internet or an internal network. Thetrading device 110 may receive the trading application or updates when requested by the trading device 110 (for example, “pull distribution”) and/or un-requested by the trading device 110 (for example, “push distribution”). - The
trading device 110 may be adapted to send order messages. For example, the order messages may be sent to through thegateway 120 to theexchange 130. As another example, thetrading device 110 may be adapted to send order messages to a simulated exchange in a simulation environment which does not effectuate real-world trades. - The order messages may be sent at the request of a user. For example, a trader may utilize the
trading device 110 to send an order message or manually input one or more parameters for a trade order (for example, an order price and/or quantity). As another example, an automated trading tool provided by a trading application may calculate one or more parameters for a trade order and automatically send the order message. In some instances, an automated trading tool may prepare the order message to be sent but not actually send it without confirmation from a user. - An order message may be sent in one or more data packets or through a shared memory system. For example, an order message may be sent from the
trading device 110 to theexchange 130 through thegateway 120. Thetrading device 110 may communicate with thegateway 120 using a local area network, a wide area network, a wireless network, a virtual private network, a cellular network, a peer-to-peer network, a T1 line, a T3 line, an integrated services digital network (“ISDN”) line, a point-of-presence, the Internet, a shared memory system and/or a proprietary network such as TTNET™ provided by Trading Technologies, for example. - The
gateway 120 may include one or more electronic computing platforms. For example, thegateway 120 may be implemented as one or more desktop computer, hand-held device, laptop, server, a portable computing device, a trading terminal, an embedded trading system, workstation with a single or multi-core processor, an algorithmic trading system such as a “black box” or “grey box” system, cluster of computers, or any combination thereof. - The
gateway 120 may facilitate communication. For example, thegateway 120 may perform protocol translation for data communicated between thetrading device 110 and theexchange 130. Thegateway 120 may process an order message received from thetrading device 110 into a data format understood by theexchange 130, for example. Similarly, thegateway 120 may transform market data in an exchange-specific format received from theexchange 130 into a format understood by thetrading device 110, for example. - The
gateway 120 may include a trading application, similar to the trading applications discussed above, that facilitates or improves electronic trading. For example, thegateway 120 may include a trading application that tracks orders from thetrading device 110 and updates the status of the order based on fill confirmations received from theexchange 130. As another example, thegateway 120 may include a trading application that coalesces market data from theexchange 130 and provides it to thetrading device 110. In yet another example, thegateway 120 may include a trading application that provides risk processing, calculates implieds, handles order processing, handles market data processing, or a combination thereof. - In certain embodiments, the
gateway 120 communicates with theexchange 130 using a local area network, a wide area network, a wireless network, a virtual private network, a cellular network, a peer-to-peer network, a T1 line, a T3 line, an ISDN line, a point-of-presence, the Internet, a shared memory system, and/or a proprietary network such as TTNET™ provided by Trading Technologies, for example. - The
exchange 130 may be owned, operated, controlled, or used by an exchange entity. Example exchange entities include the CME Group, the London International Financial Futures and Options Exchange, the Intercontinental Exchange, and Eurex. Theexchange 130 may include an electronic matching system, such as a computer, server, or other computing device, which is adapted to allow tradeable objects, for example, offered for trading by the exchange, to be bought and sold. Theexchange 130 may include separate entities, some of which list and/or administer tradeable objects and others which receive and match orders, for example. Theexchange 130 may include an electronic communication network (“ECN”), for example. - The
exchange 130 may be an electronic exchange. Theexchange 130 is adapted to receive order messages and match contra-side trade orders to buy and sell tradeable objects. Unmatched trade orders may be listed for trading by theexchange 130. Once an order to buy or sell a tradeable object is received and confirmed by the exchange, the order is considered to be a working order until it is filled or cancelled. If only a portion of the quantity of the order is matched, then the partially filled order remains a working order. The trade orders may include trade orders received from thetrading device 110 or other devices in communication with theexchange 130, for example. For example, typically theexchange 130 will be in communication with a variety of other trading devices (which may be similar to trading device 110) which also provide trade orders to be matched. - The
exchange 130 is adapted to provide market data. Market data may be provided in one or more messages or data packets or through a shared memory system. For example, theexchange 130 may publish a data feed to subscribing devices, such as thetrading device 110 orgateway 120. The data feed may include market data. - The
system 100 may include additional, different, or fewer components. For example, thesystem 100 may include multiple trading devices, gateways, and/or exchanges. In another example, thesystem 100 may include other communication devices, such as middleware, firewalls, hubs, switches, routers, servers, exchange-specific communication equipment, modems, security managers, and/or encryption/decryption devices. -
FIG. 2 illustrates a block diagram of another exampleelectronic trading system 200 in which certain embodiments may be employed. In this example, atrading device 210 may utilize one or more communication networks to communicate with agateway 220 andexchange 230. For example, thetrading device 210 utilizesnetwork 202 to communicate with thegateway 220, and thegateway 220, in turn, utilizes thenetworks exchange 230. As used herein, a network facilitates or enables communication between computing devices such as thetrading device 210, thegateway 220, and theexchange 230. - The following discussion generally focuses on the
trading device 210,gateway 220, and theexchange 230. However, thetrading device 210 may also be connected to and communicate with “n” additional gateways (individually identified asgateways 220 a-220 n, which may be similar to gateway 220) and “n” additional exchanges (individually identified asexchanges 230 a-230 n, which may be similar to exchange 230) by way of the network 202 (or other similar networks). Additional networks (individually identified asnetworks 204 a-204 n and 206 a-206 n, which may be similar tonetworks trading device 210 and each of theadditional exchanges 230 a-230 n need not be the same as the communication between thetrading device 210 andexchange 230. Generally, each exchange has its own preferred techniques and/or formats for communicating with a trading device, a gateway, the user, or another exchange. It should be understood that there is not necessarily a one-to-one mapping betweengateways 220 a-220 n andexchanges 230 a-230 n. For example, a particular gateway may be in communication with more than one exchange. As another example, more than one gateway may be in communication with the same exchange. Such an arrangement may, for example, allow one ormore trading devices 210 to trade at more than one exchange (and/or provide redundant connections to multiple exchanges). -
Additional trading devices 210 a-210 n, which may be similar totrading device 210, may be connected to one or more of thegateways 220 a-220 n andexchanges 230 a-230 n. For example, thetrading device 210 a may communicate with theexchange 230 a via thegateway 220 a and thenetworks trading device 210 b may be in direct communication withexchange 230 a. In another example,trading device 210 c may be in communication with thegateway 220 n via anintermediate device 208 such as a proxy, remote host, or WAN router. - The
trading device 210, which may be similar to thetrading device 110 inFIG. 1 , includes aserver 212 in communication with atrading terminal 214. Theserver 212 may be located geographically closer to thegateway 220 than thetrading terminal 214 in order to reduce latency. In operation, thetrading terminal 214 may provide a trading screen to a user and communicate commands to theserver 212 for further processing. For example, a trading algorithm may be deployed to theserver 212 for execution based on market data. Theserver 212 may execute the trading algorithm without further input from the user. In another example, theserver 212 may include a trading application providing automated trading tools and communicate back to thetrading terminal 214. Thetrading device 210 may include additional, different, or fewer components. - In operation, the
network 202 may be a multicast network configured to allow thetrading device 210 to communicate with thegateway 220. Data on thenetwork 202 may be logically separated by subject such as, for example, by prices, orders, or fills. As a result, theserver 212 andtrading terminal 214 can subscribe to and receive data such as, for example, data relating to prices, orders, or fills, depending on their individual needs. - The
gateway 220, which may be similar to thegateway 120 ofFIG. 1 , may include aprice server 222,order server 224, and fillserver 226. Thegateway 220 may include additional, different, or fewer components. Theprice server 222 may process price data. Price data includes data related to a market for one or more tradeable objects. Theorder server 224 processes order data. Order data is data related to a user's trade orders. For example, order data may include order messages, confirmation messages, or other types of messages. The fill server collects and provides fill data. Fill data includes data relating to one or more fills of trade orders. For example, thefill server 226 may provide a record of trade orders, which have been routed through theorder server 224, that have and have not been filled. Theservers price server 222, theorder server 224, and/or thefill server 226 forgateway 220. In certain embodiments, theadditional gateways 220 a-220 n may each includes instances of theservers servers 222 a-222 n, 224 a-224 n, and 226 a-226 n). - The
gateway 220 may communicate with theexchange 230 using one or more communication networks. For example, as shown inFIG. 2 , there may be two communication networks connecting thegateway 220 and theexchange 230. Thenetwork 204 may be used to communicate market data to theprice server 222. In some instances, theexchange 230 may include this data in a data feed that is published to subscribing devices. Thenetwork 206 may be used to communicate order data to theorder server 224 and thefill server 226. Thenetwork 206 may also be used to communicate order data from theorder server 224 to theexchange 230. - The
exchange 230, which may be similar to theexchange 130 ofFIG. 1 , includes anorder book 232 and amatching engine 234. Theexchange 230 may include additional, different, or fewer components. Theorder book 232 is a database that includes data relating to unmatched trade orders that have been submitted to theexchange 230. For example, theorder book 232 may include data relating to a market for a tradeable object, such as the inside market, market depth at various price levels, the last traded price, and the last traded quantity. Thematching engine 234 may match contra-side bids and offers pending in theorder book 232. For example, thematching engine 234 may execute one or more matching algorithms that match contra-side bids and offers. A sell order is contra-side to a buy order. Similarly, a buy order is contra-side to a sell order. A matching algorithm may match contra-side bids and offers at the same price, for example. In certain embodiments, theadditional exchanges 230 a-230 n may each include order books and matching engines (individually identified as theorder book 232 a-232 n and thematching engine 234 a-234 n, which may be similar to theorder book 232 and thematching engine 234, respectively). Different exchanges may use different data structures and algorithms for tracking data related to orders and matching orders. - In operation, the
exchange 230 may provide price data from theorder book 232 to theprice server 222 and order data and/or fill data from thematching engine 234 to theorder server 224 and/or thefill server 226.Servers trading device 210. Thetrading device 210, for example, using a trading application, may process this data. For example, the data may be displayed to a user. In another example, the data may be utilized in a trading algorithm to determine whether a trade order should be submitted to theexchange 230. Thetrading device 210 may prepare and send an order message to theexchange 230. - In certain embodiments, the
gateway 220 is part of thetrading device 210. For example, the components of thegateway 220 may be part of the same computing platform as thetrading device 210. As another example, the functionality of thegateway 220 may be performed by components of thetrading device 210. In certain embodiments, thegateway 220 is not present. Such an arrangement may occur when thetrading device 210 does not need to utilize thegateway 220 to communicate with theexchange 230, such as if thetrading device 210 has been adapted to communicate directly with theexchange 230. -
FIG. 3 illustrates a block diagram of anexample computing device 300 which may be used to implement the disclosed embodiments. Thetrading device 110 ofFIG. 1 may include one ormore computing devices 300, for example. Thegateway 120 ofFIG. 1 may include one ormore computing devices 300, for example. Theexchange 130 ofFIG. 1 may include one ormore computing devices 300, for example. - The
computing device 300 includes acommunication network 310, aprocessor 312, amemory 314, aninterface 316, aninput device 318, and anoutput device 320. Thecomputing device 300 may include additional, different, or fewer components. For example, multiple communication networks, multiple processors, multiple memory, multiple interfaces, multiple input devices, multiple output devices, or any combination thereof, may be provided. As another example, thecomputing device 300 may not include aninput device 318 oroutput device 320. - As shown in
FIG. 3 , thecomputing device 300 may include aprocessor 312 coupled to acommunication network 310. Thecommunication network 310 may include a communication bus, channel, electrical or optical network, circuit, switch, fabric, or other mechanism for communicating data between components in thecomputing device 300. Thecommunication network 310 may be communicatively coupled with and transfer data between any of the components of thecomputing device 300. - The
processor 312 may be any suitable processor, processing unit, or microprocessor. Theprocessor 312 may include one or more general processors, digital signal processors, application specific integrated circuits, field programmable gate arrays, analog circuits, digital circuits, programmed processors, and/or combinations thereof, for example. Theprocessor 312 may be a single device or a combination of devices, such as one or more devices associated with a network or distributed processing. Any processing strategy may be used, such as multi-processing, multi-tasking, parallel processing, and/or remote processing. Processing may be local or remote and may be moved from one processor to another processor. In certain embodiments, thecomputing device 300 is a multi-processor system and, thus, may include one or more additional processors which are communicatively coupled to thecommunication network 310. - The
processor 312 may be operable to execute logic and other computer readable instructions encoded in one or more tangible media, such as thememory 314. As used herein, logic encoded in one or more tangible media includes instructions which may be executable by theprocessor 312 or a different processor. The logic may be stored as part of software, hardware, integrated circuits, firmware, and/or micro-code, for example. The logic may be received from an external communication device via a communication network such as thenetwork 340. Theprocessor 312 may execute the logic to perform the functions, acts, or tasks illustrated in the figures or described herein. - The
memory 314 may be one or more tangible media, such as computer readable storage media, for example. Computer readable storage media may include various types of volatile and non-volatile storage media, including, for example, random access memory, read-only memory, programmable read-only memory, electrically programmable read-only memory, electrically erasable read-only memory, flash memory, any combination thereof, or any other tangible data storage device. As used herein, the term non-transitory or tangible computer readable medium is expressly defined to include any type of computer readable medium and to exclude propagating signals. Thememory 314 may include any desired type of mass storage device including hard disk drives, optical media, magnetic tape or disk, etc. - The
memory 314 may include one or more memory devices. For example, thememory 314 may include local memory, a mass storage device, volatile memory, non-volatile memory, or a combination thereof. Thememory 314 may be adjacent to, part of, programmed with, networked with, and/or remote fromprocessor 312, so the data stored in thememory 314 may be retrieved and processed by theprocessor 312, for example. Thememory 314 may store instructions which are executable by theprocessor 312. The instructions may be executed to perform one or more of the acts or functions described herein or shown in the figures. - The
memory 314 may store atrading application 330. In certain embodiments, thetrading application 330 may be accessed from or stored in different locations. Theprocessor 312 may access thetrading application 330 stored in thememory 314 and execute computer-readable instructions included in thetrading application 330. - In certain embodiments, during an installation process, the trading application may be transferred from the
input device 318 and/or thenetwork 340 to thememory 314. When thecomputing device 300 is running or preparing to run thetrading application 330, theprocessor 312 may retrieve the instructions from thememory 314 via thecommunication network 310. - Example methods, tangible computer storage medium, and systems of shared communication links in an electronic trading system are disclosed herein. A trading device (e.g., a mobile or portable trading device, such as a hand-held device, a laptop, a tablet, a cell phone, a portable computing device, etc.) communicates with an exchange to obtain access to one or more markets via a communication link established between the trading device and a gateway. The communication link enables the trading device to interact with the gateway. For example, the communication link may be a wireless communication network that provides a channel for communication of messages between the trading device and the gateway via wireless signals.
- Communication via the trading device may be affected by one or more communication conditions. The communication conditions are functions, characteristics and/or attributes of the mobile trading device, the gateway, and/or the wireless communication network that enable, affect and/or support communication between the mobile trading device and the exchange via the communication link. The communication conditions include, for example, a strength of the signal of the wireless communication network received via the trading device (e.g., a connectivity level of the mobile trading device), and latency at a gateway server. A communication state or network service state is defined by a qualitative and/or quantitative measurement, value, and/or status of one or more communication conditions. For example, if the communication state deteriorates below a threshold state, the communication between the trading device and the exchange may be interrupted (e.g., delayed, incomplete, and/or substantially impaired). Thus, the communication state reflects an ability of the trading device to communicate with the exchange via the communication link. In some examples, the threshold state is set (e.g., by a user, automatically by a trading application, etc.). In some examples, the threshold state is a predetermined state of a communication condition at which a given amount of risk is present that the communication between the trading device and the exchange will be interrupted.
- In certain examples disclosed herein a trading device is enabled to communicate with the exchange via a shared communication link and/or a shared communication network in an effort to mitigate communication interruptions with the exchange. For example, the shared communication network communicates with trading devices that, in turn, communicate with the exchange via a corresponding communication network. Market information is communicated to and/or from the trading devices by utilizing an active communication network that is based on a quality-of-service metric calculated between the communication networks of the trading devices. In some examples, each communication network has a network service state. The quality-of-service metric may be calculated by comparing the network states of each of the communication networks corresponding to the trading devices. For example, the signal strength and/or the amount of memory utilization of each trading device are compared to calculate the quality-of-service metric and, thus, determine the active communication network that is utilized to communicate the market information with the exchange.
- Market information includes market data (e.g., inside market, market depth, last traded price (“LTP”), a last traded quantity (“LTQ”)), an order message, fill data, or any combination thereof. For example, the inside market refers to the highest available bid price and the lowest available ask price in the market for the tradeable object at a particular point in time, and market depth refers to quantities available at price levels including the inside market and away from the inside market. An order message refers to a message that includes a trade order (e.g., a command to place an order to buy or sell a tradeable object; a command to initiate managing orders according to a defined trading strategy; a command to change, modify, or cancel an order; an instruction to an electronic exchange relating to an order). Fill data refers to data relating to one or more fills of trade orders.
- To avoid an interruption in communication with the exchange, certain examples disclosed herein share market information via a shared communication link between trading devices that are in communication with the exchange. For example, a first communication link is assigned to communicate a first set of market information between a first identified trading device and the exchange, and a second communication link is assigned to communicate a second set of market information between a second identified trading devices and the exchange. The shared communication link enables the first and second sets of data to be shared between the first and second trading devices. In some examples, market information is assigned to a communication link based on a communication state or network service state of the communication link. For example, the market information may be assigned based on the signal strength and/or the amount of memory utilization of the trading device associated with each communication link.
- As described in conjunction with
FIG. 2 above, theexample trading device 210 a may be a mobile or portable trading device such as, for example, a hand-held device, a laptop, a tablet, a cell phone, a portable computing device, etc. In the current examples, thenetwork 202 a is a wireless communication network (e.g., a Wi-Fi network, a cellular or mobile network such as, for example, a Global System for Mobile Communications (GSM) network, a Personal Communications Service (PCS) network, a Digital Advanced Mobile Phone Service (D-AMPS) network, a 3G network, a 4G network, and/or any other wireless communication network), which may be terrestrial and/or satellite based. - When the
trading device 210 a is in communication with thegateway 220 a, a communication link is established between thegateway 220 a and thetrading device 210 a via thenetwork 202 a to enable thetrading device 210 a to interact with thegateway 220 a. The communication link may be monitored by measuring the connectivity at thetrading device 210 a (e.g., substantially continuously, at predetermined intervals of time, based on a location of thetrading device 210 a, etc.). In some examples, the communication link enables thetrading device 210 a to communicate with thegateway 220 a and/or enables thegateway 220 a to respond to instructions communicated by thetrading device 210 a. - One or more communication conditions of the
trading device 210 a and/or thegateway 220 a are related to the communication link. The communication conditions are functions, characteristics, and/or attributes of thetrading device 210 a, thegateway 220 a, and/or thenetwork 202 a that enable, affect, and/or support communication between thetrading device 210 a and theexchange 230 a via the communication link. The communication conditions include, for example, a strength of the signal of thenetwork 202 a received by thetrading device 210 a (e.g., a connectivity level of thetrading device 210 a), a remaining battery power of thetrading device 210 a, latency at thegateway 220 a, an amount of memory utilization of thetrading device 210 a and/or thegateway 210 a, a CPU load at thegateway 220 a, and/or other communication condition(s). - A communication state or network service state is a qualitative and/or quantitative measurement, value, and/or status of one or more communication conditions. The communication state reflects an ability of the
trading device 210 a to communicate with theexchange 230 a. In some examples, the communication state is defined by the connectivity level of thetrading device 210 a with thenetwork 202 a. In such examples, the communication state is defined as high, medium, intermittent, low or no connectivity and/or as a percentage of the maximum level of connectivity (e.g., 75% of the maximum level of connectivity). - In some examples, if the communication state reaches or falls below a threshold state, the communication between the
trading device 210 a and theexchange 230 a may be interrupted (e.g., delayed, incomplete, and/or substantially impaired). In some examples, the threshold state is a predetermined state of a communication condition at which a given amount of risk is present that the communication between thetrading device 210 a and theexchange 230 a will be interrupted. The threshold state may be based on, for example, a connectivity level of thetrading device 210 a, a latency period of thenetwork 202 a, available bandwidth of thetrading device 210 a, a percentage or rate of packet loss via thenetwork 202 a, or any combination thereof. In some examples, the threshold state is preset as an intermittent level of connectivity of thenetwork 202 a. In such examples, if the communication state of thenetwork 202 a equals or falls below (e.g., low connectivity, no connectivity) the intermittent connectivity of the threshold state, communication via thenetwork 202 a is interrupted. In some examples, the threshold state is set at a given percentage of a maximum signal strength that can be received by thetrading device 210 a. For example, the threshold state may be set at a predetermined percentage of the maximum level of connectivity (e.g., 50% of the maximum level of connectivity) of thenetwork 202 a. In such examples, communication via thenetwork 202 a is interrupted if the connectivity level of thenetwork 202 a is equal to or less than the predetermined percentage of the maximum level of connectivity of the threshold state. - In some examples, if a condition of the communication state falls below the threshold level, the
trading device 210 a is prevented from sending and/or receiving market information (e.g., market data, order messages, fill data) associated with theexchange 230 a. For example, a lack of remaining battery power of thetrading device 210 a, insufficient connectivity, and/or any other deteriorated condition of the communication state may prevent and/or delay thetrading device 210 a from sending and/or receiving market information to and/or from theexchange 230 a via thegateway 220 a. As a result, a user is prevented from monitoring market data, taking action in the market (e.g., adding, changing, or deleting an order to buy or sell one or more tradeable objects), and receiving order updates and fill messages. To mitigate the risk of the communication between thetrading device 210 a and theexchange 230 a from being interrupted, thetrading device 210 a of certain examples disclosed herein communicates with theexchange 230 a via a shared communication link and/or a shared communication network. - An example shared
communication link 400 is illustrated inFIG. 4 . As illustrated inFIG. 4 , twotrading devices gateway 220 a are in communication with each other via the sharedcommunication link 400. For example, thetrading devices exchanges FIG. 2 ) via correspondingnetworks - In the illustrated example, each of the
trading devices networks communication link 400 is, for example, a wireless or mobile ad hoc network (e.g., a network utilizing Bluetooth protocol) in which each of thetrading devices - When the
trading devices communication link 400, the communication state of at least one of thecommunication networks trading device 202 a and thegateway 220 a via thecommunication network 202 a can be interrupted (e.g., delayed, rendered incomplete, substantially impaired) such that thetrading device 210 a is unable to send and/or receive market data from thegateway 220 a via thenetwork 202 a. If the communication state of thenetwork 404 is greater than the communication state of thenetwork 202 a and/or a threshold state, the sharedcommunication link 400 enables thetrading device 210 a to send and/or receive the market information via thenetwork 404 between thetrading device 402 and thegateway 220 a. Further, the sharedcommunication link 400 enables thetrading devices gateway 220 a when communication between thetrading devices gateway 220 a via therespective networks - In some examples, the
trading device 210 a is assigned to communicate (e.g., send, request, receive, access, retrieve and/or obtain) a first set of market information (e.g., a first set of market data, order message, fill data, or combination thereof) and thetrading device 402 is assigned to communicate a second set of market information (e.g., a second set of market data, order message, fill data, or combination thereof) that is different than the first set of market information. In some examples, each set of requested market information is assigned a unique identification number such that when thegateway 220 a receives a request from one of thetrading devices gateway 220 a provides the requested market information corresponding to the unique identification number to only one of thetrading devices gateway 220 a via at least one ofnetworks trading devices communication link 400. As a result of thetrading devices networks networks trading devices -
FIG. 5 illustrates an example sharedcommunication network 500. As illustrated inFIG. 3 , threetrading devices communication network 500 and are in communication with thegateway 220 a via correspondingnetworks trading devices networks - As illustrated in
FIG. 5 , thetrading device 210 a communicates with thetrading device 210 b via the sharedcommunication link 400 of the sharedcommunication network 500, thetrading device 210 a communicates with thetrading device 502 via a sharedcommunication link 506 of the sharedcommunication network 500, and thetrading device 402 is in communication with thetrading device 502 via acommunication link 508 of the sharedcommunication network 500. The sharedcommunication network 500 of the illustrated example is a wireless or mobile ad hoc network (e.g., a network utilizing Bluetooth protocol) in which each of thetrading devices FIG. 5 is an example of the sharedcommunication network 500 and, thus, the sharedcommunication network 500 may be connected to other trading devices without departing from the scope of this disclosure. - When the
trading devices communication network 500, the communication state of at least one of thecommunication networks trading device 202 a and thegateway 220 a via thecommunication network 202 a can be interrupted (e.g., delayed, rendered inoperable, substantially impaired) such that thetrading device 210 a is unable to send and/or receive market information via thenetwork 202 a. In some examples, the sharedcommunication link 506 of the sharedcommunication network 500 enables thetrading device 210 a to send and/or receive the market information via thenetwork 404 if the communication state of thenetwork 404 is greater than the communication state of thenetwork 202 a. Similarly, the sharedcommunication link 508 of the sharedcommunication network 500 enables thetrading device 210 a to send and/or receive the market information via thenetwork 504 if the communication state of thenetwork 504 is greater than the communication state of thenetwork 202 a. Further, the sharedcommunication network 500 enables thetrading devices trading devices gateway 220 a via each of therespective networks - In some examples, the
trading device 210 a is assigned to communicate (e.g., send, request, receive, access, retrieve and/or obtain) a first set of market information (e.g., a first set of market data, order message, fill data, or combination thereof) from thegateway 220 a, thetrading device 402 is assigned to communicate a second set of market information from thegateway 220 a that is different than the first set of market information, and thetrading device 502 is assigned to communicate a third set of market information from thegateway 220 a that is different than the first and second set of market information. In some examples, each set of market information is assigned a unique identification number such that, when thegateway 220 a receives a request for market information from one of thetrading devices gateway 220 a provides the market information corresponding to the unique identification number to only one of thetrading devices - Upon the market information being received from the
gateway 220 a via at least one ofcommunication networks trading devices communication link 400. As a result, thetrading devices networks networks trading devices -
FIG. 6 illustrates a block diagram of anexample system 600 that may be employed to distribute the market information via a shared communication link (e.g., the sharedcommunication link 400 ofFIG. 4 ) and/or a shared communication network (e.g., the sharedcommunication network 500 ofFIG. 5 ). In some examples, thesystem 600 is implemented as part of software and/or an application associated with thetrading device 210 a ofFIGS. 4 and 5 , thetrading device 402 ofFIGS. 4 and 5 , thetrading device 502 ofFIG. 5 and/or thegateway 220 a ofFIGS. 4 and 5 . In some examples, thesystem 600 is implemented as computer implemented code or instructions operable independent of software associated with thetrading device 210 a, thetrading device 402, thetrading device 502 and/or thegateway 220 a. In some examples, the features and functionality of thesystem 600 are implemented in hardware operable in connection with thetrading device 210 a, thetrading device 402, thetrading device 502 and/or thegateway 220 a. - The
example system 600 ofFIG. 6 includes astate determiner 602 to determine a communication state or network service state of a communication network (e.g., thenetwork 202 a ofFIGS. 4 and 5 ) that communicatively couples a trading device (e.g., thetrading device 210 a ofFIGS. 4 and 5 ) and a gateway (e.g., thegateway 220 a ofFIGS. 4 and 5 ). The network service state is defined by a qualitative and/or quantitative measurement, value, and/or status of one or more communication conditions. In some examples, thestate determiner 602 determines the network service state of thecommunication network 202 a by monitoring a connectivity level of thetrading device 210 a with thecommunication network 202 a. In such examples, the connectivity level that defines the network service state is measured relative to a maximum level of connectivity. For example, the network service state may be defined as high, medium, intermittent, low or no connectivity and/or as a percentage of the maximum level of connectivity (e.g., 75% of the maximum level of connectivity). In some examples, thestate determiner 602 determines the network service state of thecommunication network 202 a by monitoring another communication condition of thetrading device 210 a, thegateway 220 a and/or thecommunication network 202 a, such as a remaining battery power of thetrading device 210 a, a geographic location of thetrading device 210 a, a latency of one or more servers at thegateway 220 a, an amount of memory being utilized by thegateway 220 a, a percentage or rate of packet loss via thenetwork 202 a, etc. - A
device identifier 604 of thesystem 600 identifies other trading devices (e.g., thetrading device 402 ofFIGS. 4 and 5 , thetrading device 502 ofFIG. 5 ) that are in communication with thegateway 220 a. Further, thedevice identifier 604 ofFIG. 6 may identify whether thetrading device 210 a is configured to communicate with the other identifiedtrading devices communication link 400 ofFIGS. 4 and 5 , the sharedcommunication link 506 ofFIG. 5 ) and/or a shared communication network (e.g., the sharedcommunication network 500 ofFIG. 5 ). - In some examples, the
device identifier 604 reviews one or more configuration settings of thetrading device 210 a to identify with which of theother trading devices trading device 210 a is configured to communicate. For example, thetrading device 210 a can be configured to communicate with allnearby trading devices device identifier 604. Alternatively, thetrading device 210 a can be configured to share with onlyother trading devices device identifier 604 that are associated with thetrading device 210 a. For example, if the user of thetrading device 210 a is a member of a trading group, thetrading device 210 a can be configured to share market information with only tradingdevices trading device 210 a can also be configured to enable a user of thetrading device 210 a to individually select and/or authorize thetrading devices trading device 210 a is to communicate. Furthermore, thetrading device 210 a can be configured to not share market information withother trading devices devices trading device 210 a. - The
example system 600 includes astate receiver 606 that receives a communication state or network service state of each communication network (e.g., thenetwork 404 ofFIGS. 4 and 5 , thenetwork 504 ofFIG. 5 ) that communicatively couples acorresponding trading device gateway 220 a. In some examples, each network service state received by thestate receiver 606 is based on a connectivity level of thetrading device corresponding communication network communication network trading device gateway 220 a, such as a remaining battery power of thetrading device corresponding trading device gateway 220 a, an amount of memory being utilized by thegateway 220 a, a percentage or rate of packet loss via thenetwork 202 a, etc. - A
network determiner 608 of theexample system 600 determines an active communication network that is to communicate with thegateway 220 a to send and/or receive market information. Thenetwork determiner 608 of the illustrated example determines the active communication network based on a quality-of-service metric calculated between each of thecommunication networks trading device gateway 220 a. The active communication network includes one or more of thecommunication networks trading devices - A
state comparator 610 of thenetwork determiner 608 calculates the quality-of-service metric by comparing the network service state determined by thestate determiner 602 with the network service states received by thestate receiver 606. In some examples, thestate comparator 610 calculates the quality-of-service metric of each communication network (e.g., thecommunication networks state comparator 610 calculates a quality-of-service metric of a shared communication network (e.g., the shared communication network 500) by comparing the network service state of each of thecommunication networks trading devices communication network 500. Examples of comparisons that may be performed by thestate comparator 610 include: comparing individually calculated quality-of-service metrics to an average quality-of-service metric calculated based on thecommunication networks communication networks state comparator 610 determines the quality-of-service metric of the sharedcommunication network 500 by comparing the respective connectivity levels of thecommunication networks communication network 500. - Based on the calculated quality-of-service metric, the
network determiner 608 determines which of thecommunication networks communication network 202 a has a high connectivity level and thecommunication networks network determiner 608 assigns thecommunication network 202 a to form the active communication network. In other such examples, thenetwork determiner 608 assigns the communication network with the lowest latency to form the active communication network. In some examples, the quality-of-service metric causes the active communication network to include more than one communication network. For example, the active communication network may include thecommunication network 202 a having a high connectivity level, include thecommunication network 404 having a medium connectivity level, and exclude thecommunication network 504 having an intermittent connectivity level. In other such examples, thenetwork determiner 608 may exclude, and/or rank lower any communication network that is experiencing packet loss from the active communication network. - Further, in some examples, the
state comparator 610 compares the network service state determined by thestate determiner 602 and/or the network service states received by thestate receiver 606 with a threshold state. The threshold state is a predetermined state or condition of the network service state at which an amount of risk is present that communication via thecommunication network network 202 a and/or as a predetermined percentage of the maximum level of connectivity (e.g., 50% of the maximum level of connectivity) of thenetwork 202 a. To avoid communication with thegateway 220 a from being interrupted, thenetwork determiner 608 may exclude acommunication network state comparator 610 determines that the corresponding network service state is less than or equal to the threshold state. For example, if the network service state of thecommunication network 504 is an intermittent connectivity level and the threshold state is a medium connectivity level, thenetwork determiner 608 excludes thecommunication network 504 from the active communication network. - The
example system 600 includes amarket information communicator 612 to send and/or receive market information (e.g., market data, order messages, fill data) via the active communication network. For example, themarket information communicator 612 accesses market data, order messages and/or fill data related to one or more markets at an exchange (e.g., theexchange 230 a ofFIG. 2 ) via the active communication network and thegateway 220 a. Further, themarket information communicator 612 may send order messages (e.g., commands to change, modify, or cancel orders) to theexchange 220 a and/or receive order updates and fill data via the active communication network. - In some examples, the
market information communicator 612 determines whichtrading device trading device market information communicator 612 assigns whichcommunication network gateway 220 a. For example, if the active communication network includes two communication networks (e.g., thecommunication networks 202 a, 404) that each correspond to a trading device (e.g., thetrading devices 210 a, 402) requesting the same market information, themarket information communicator 612 may assign the first of the two communication networks (e.g., thecommunication network 202 a) to communicate a first set of market information and assign the second of the two communication networks (e.g., the communication network 404) to communicate a second set of market information different than the first set of market information. In some examples, themarket information communicator 612 assigns each set of market information a unique identification number to help ensure that thegateway 220 a does not provide duplicative sets of market information to thetrading devices market information distributor 614 of theexample system 600 distributes or shares the accessed market information between thetrading devices communication link 400 ofFIGS. 4 and 5 , the sharedcommunication link 506 ofFIG. 5 , the sharedcommunication link 508 ofFIG. 5 ) and/or a shared communication network (e.g., the sharedcommunication network 500 ofFIG. 5 ). -
FIG. 7 illustrates anexample method 700 to share market information (e.g., market data, order messages, fill data) via a shared communication link in an electronic trading system. Theexample method 700 may be performed by any wireless trading device (e.g., thetrading devices FIG. 4 ) and/or gateway (e.g., thegateway 220 a ofFIG. 4 ). Theexample method 700 includes thestate determiner 602 determining a first communication state or network service state of a first communication network (e.g., thenetwork 202 a ofFIG. 4 ) established between a first wireless trading device (e.g., thetrading device 210 a ofFIG. 4 ) and a gateway (e.g., thegateway 220 a ofFIG. 4 ) (block 702). For example, the first network service state is determined by evaluating one or more communication conditions of thefirst trading device 210 a and/or thegateway 220 a such as a connectivity level of thefirst trading device 210 a, a latency period of thenetwork 202 a, available bandwidth of thetrading device 210 a, a percentage or rate of packet loss via thenetwork 202 a, or any combination thereof. In some examples, the first network service state is measured relative to a maximum level of connectivity and is defined as high, medium, intermittent, low or no connectivity and/or as a percentage of the maximum level of connectivity (e.g., 75% of the maximum level of connectivity). Theexample method 700 also includes thestate receiver 606 receiving a second network service state of a second communication network (e.g., thenetwork 404 ofFIG. 4 ) in communication with a second wireless trading device (e.g., thetrading device 402 ofFIG. 4 ) (block 704). The second network service state reflects one or more communication conditions of thesecond trading device 402 and/or thegateway 220 a such as a connectivity level of thesecond trading device 402, a latency period of thenetwork 404, available bandwidth of thetrading device 402, a percentage or rate of packet loss via thenetwork 404, or any combination thereof. - In response to the first network service state being determined (block 702) and the second network service state being received (block 704), the
state comparator 610 of thenetwork determiner 608 compares the first network service state and the second network service state (block 706). If the first network service state (e.g., high connectivity) is not less than (e.g., is greater than or equal to) the second network service state (e.g., low connectivity), thestate comparator 610 compares the first network service state to a predetermined threshold state (block 708). For example, the threshold value may be preset by a user or manufacturer to equal an intermittent connectivity between thefirst trading device 210 a and thecommunication network 202 a. If the first network service state (e.g., high connectivity) is not less than (e.g., is greater than or equal to) the threshold state (e.g., intermittent connectivity), theexample method 700 ends and/or returns to the start. Thus, in some examples in which the first network service state is not less than the second network service state and the threshold state, thefirst trading device 210 a may send and/or receive market information data to and/or from thegateway 220 a via thecommunication network 202 a without sharing market information via a communication link. - Conversely, if the first network service state (e.g., 25% of the maximum level of connectivity) is less than the second network service state (e.g., 75% of the maximum level of connectivity) (block 706) or is less than the threshold state (e.g., 50% of the maximum level of connectivity) (block 708), the
state comparator 610 of thenetwork determiner 608 calculates a quality-of-service metric between thefirst communication network 202 a and the second communication network 404 (block 710). Thestate comparator 610 calculates the quality-of-service metric by comparing the first network service state with the second network service state. In some examples, thestate comparator 610 calculates the quality-of-service metric of each of thecommunication networks state comparator 610 calculates a quality-of-service metric of a shared communication network (e.g., the shared communication network 500) by comparing the network service state of each of thecommunication networks communication network 500. In some such examples, the quality-of-service metric is calculated by comparing the connectivity level of thefirst communication network 202 a with the connectivity level of thesecond communication network 404. - Based on the calculated quality-of-service metric, the
network determiner 608 determines an active communication network that is to communicate (e.g., send, request, access, receive, retrieve and/or obtain) market information to and/or from an exchange (e.g. theexchange 230 a ofFIG. 2 ) via thegateway 220 a (block 712). The active communication network includes thefirst communication network 202 a and/or thesecond communication network 404. In some examples, the quality-of-service metric causes the active communication network to include only the communication network having the greater network service state. For example, the active communication network includes only thecommunication network 202 a if thecommunication network 202 a has a high connectivity level and thecommunication network 404 has an intermittent connectivity level. - Upon the active communication network being determined, the
market information communicator 612 communicates market information related to one or more markets at theexchange 230 a via the active communication network and thegateway 220 a (block 714). In some examples in which the first network service state of thefirst communication network 202 a is less than the threshold state, themarket information communicator 612 sends order messages (e.g., commands to change, modify, or cancel orders), accesses market data and/or receives order updates and fill data that were requested by thefirst trading device 210 a via thesecond communication network 404 of the active communication network. - Thus, the market information requested by the
first trading device 202 a is communicated to and/or from thegateway 220 a when communication via thefirst communication network 202 a is interrupted (e.g., delayed, substantially impaired, lost). For example, if communication between thefirst trading device 210 a and thegateway 220 a via thefirst communication network 202 a is interrupted to the extent that thefirst trading device 210 a is unable to send, request, access, receive, retrieve and/or obtain market information via thefirst communication network 202 a, the sharedcommunication link 400 enables thefirst trading device 210 a to send, request, access, receive, retrieve and/or obtain the market information via thesecond communication network 404. - In some examples in which the first and second network service states are greater than the threshold state, the
market information communicator 612 determines if any market information is requested by both thefirst trading device 210 a and thesecond trading device 402. To reduce the amount of market information communicated via the active communication network, themarket information communicator 612 assigns eachcommunication network market information communicator 612 may assign thefirst communication network 202 a to communicate a first set of commonly requested market information and may assign thesecond communication network 404 to communicate a second set of commonly requested market information different than the first set of market information. In some examples, themarket information communicator 612 assigns each set of market information a unique identification number to help ensure that thegateway 220 a does not provide duplicative sets of market information to thetrading devices - If neither the
first trading device 210 a nor thesecond trading device 402 are missing any requested market information (block 716), theexample method 700 ends and/or returns to the start. Conversely, if either thefirst trading device 210 a or thesecond trading device 402 is missing requested market information (block 716), themarket information distributor 614 distributes the requested market information via a shared communication link (e.g., the sharedcommunication link 400 ofFIG. 4 ). For example, if thefirst trading device 210 a is missing requested market information (e.g., market data, order updates, and/or fill data) that is available via the shared communication link 400 (block 718), themarket information distributor 614 distributes the missing market information from thesecond trading device 402 to thefirst trading device 210 a via the shared communication link 400 (block 720). Further, if thefirst trading device 210 a has accessed market information (e.g., market data, order updates and/or fill data) that thesecond trading device 402 has requested and is missing (block 722), themarket information distributor 614 distributes the missing market information from thefirst trading device 210 a to thesecond trading device 402 via the shared communication link 400 (block 720). After the market information is distributed, themethod 700 ends and/or returns to the start. -
FIG. 8 illustrates additional detail regarding theexample method 702 of determining the first network service state of thefirst trading device 210 a. In the illustrated example, determining the first network service state begins by thestate determiner 602 determining a first communication criterion of the first network service state (block 802). For example, the first communication criterion may be a connectivity level of thefirst trading device 210 a (e.g., a signal strength of thefirst communication network 202 a). In some examples, the connectivity level of thefirst trading device 210 a is measured relative to a maximum level of connectivity. For example, the first network service state may be defined as high, medium, intermittent, low or no connectivity and/or as a percentage of a maximum level of connectivity (e.g., 75% of the maximum level of connectivity). - After the first communication criterion is determined, the
state determiner 602 identifies whether there is another communication criterion to determine (block 804). If there is no other communication criterion, themethod 702 of determining the service state ends. Otherwise, if there is another communication criterion to determine, thestate determiner 602 determines a second communication criterion (block 802). For example, the second communication criterion may be a remaining battery power of thefirst trading device 210 a. In some examples, the remaining battery power of thefirst trading device 210 a may be defined as a full, medium, low or no battery power and/or as a percentage of a fully charged battery (e.g., 40% of a fully charged battery). A communication link associated with a trading device having at least a certain threshold level of battery power may be selected over a communication link associated with a trading device having less than the threshold of battery power, for example.Blocks example method 702 are repeated until all available communication criteria are determined. For example, theblocks FIG. 8 may be repeated to determine a latency at thegateway 220 a, an amount of memory utilization of thefirst trading device 210 a, an amount of memory utilization of thegateway 220 a, a CPU load at thegateway 220 a, a percentage or rate of packet loss via thenetwork 202 a, and/or other communication criteria. As illustrated in themethod 700 ofFIG. 7 , the determined network communication criterion(-ia) are provided as the first network service state, which can then be compared to the second network service state (which may have been similarly determined). -
FIG. 9 illustrates anotherexample method 900 to share market information (e.g., market data, order messages, fill data) via shared communication links of a shared communication network in an electronic trading system. Theexample method 900 may be performed by any wireless trading device (e.g., thetrading devices FIG. 5 ) and/or gateway (e.g., thegateway 220 a ofFIG. 5 ). Theexample method 900 includes thestate determiner 602 determining a first communication state or network service state of a first communication network (e.g., thenetwork 202 a ofFIG. 5 ) established between a first wireless trading device (e.g., thetrading device 210 a ofFIG. 5 ) and a gateway (e.g., thegateway 220 a ofFIG. 5 ) (block 902). In some examples, the first network service state is determined by evaluating one or more communication criterion of the firstwireless trading device 202 a and/or thegateway 220 a. For example, the first network service state may be determined utilizing the method illustrated inFIG. 8 . - The
example method 900 also includes thestate receiver 606 receiving a second network service state of a second communication network (e.g., thenetwork 404 ofFIG. 5 ) in communication with a second wireless trading device (e.g., thetrading device 402 ofFIG. 5 ) (block 904). The second network service state reflects one or more communication criterion of thesecond trading device 402 and/or thegateway 220 a (which, for example, may also have been determined using the method illustrated inFIG. 8 ). Upon the first network service state being determined (block 902) and the second network service state being received (block 904), thestate comparator 610 of thenetwork determiner 608 compares the first network service state and the second network service state (block 906). For example, if the first and second network service states are based on the connectivity of the respective first and secondwireless trading devices wireless trading device 210 a with thecommunication network 202 a to the connectivity level of thewireless trading device 402 with thecommunication network 404. - The
method 900 ofFIG. 9 includes thedevice identifier 604 identifying whether there is another wireless trading device in communication with thegateway 220 a (block 908). In some examples, thedevice identifier 604 reviews configuration settings of each identified wireless trading device to verify that the wireless trading device is configured to communicate and/or share market information with other wireless trading devices (e.g., the first andsecond trading devices 210 a, 402). If another wireless trading device (e.g., thethird trading device 502 ofFIG. 5 ) is identified, thestate receiver 606 receives a network service state of a communication network (e.g., the communication network 504) in communication with the other wireless trading device 502 (block 910). In some examples, the network service state has been determined using the method illustrated inFIG. 8 . The other network service state of theother communication network 504 reflects one or more communication criterion of the otherwireless trading device 502 and/or thegateway 220 a. Thestate comparator 608 of thenetwork determiner 610 compares the first network service state of thefirst communication network 202 a with the other network service state of the other communication network 504 (block 912). For example, if the first and other network service states are based on the connectivity of the respective first andother trading devices trading device 210 a with thecommunication network 202 a to the connectivity level of thetrading device 402 with thecommunication network 404. Thedevice identifier 604 again identifies whether there is another wireless trading device in communication with the gateway (block 908). If yet another wireless trading device is identified, blocks 910 and 912 are repeated. - Otherwise, the
network determiner 608 of thestate comparator 610 compares the first network service state of thefirst network communication 202 a to a threshold state (block 914). In some examples, the threshold state is a predetermined state of a communication condition at which a given amount of risk is present that the communication between thetrading device 210 a and thegateway 220 a will be interrupted. For example, the threshold state may be based on a connectivity level of thetrading device 210 a, a latency at thegateway 220 a, an amount of memory utilization of thefirst trading device 210 a, an amount of memory utilization of thegateway 220 a, a CPU load at thegateway 220 a, available bandwidth of thetrading device 210 a, a percentage or rate of packet loss via thenetwork 202 a, or any combination thereof. In some examples, the threshold state is preset as an intermittent connectivity of thenetwork 202 a and/or a predetermined percentage of the maximum level of connectivity (e.g., 50% of the maximum level of connectivity) of thenetwork 202 a. If the communication state of thenetwork 202 a equals or falls below the predetermined connectivity level of the threshold state, communication via thenetwork 202 a may be interrupted. - In the
example method 900 ofFIG. 9 , thenetwork determiner 608 calculates a quality-of-service metric (block 916). In some examples, thestate comparator 610 of thenetwork determiner 608 calculates the quality-of-service metric of each communication network (e.g., thecommunication networks state comparator 610 calculates a quality-of-service metric of a shared communication network (e.g., the shared communication network 500) by comparing the network service state of each of thecommunication networks communication network 500. In some such examples, the quality-of-service metric is calculated by comparing the first network service state with the second network service state, any other network service state and/or the threshold state. In other such examples, thestate comparator 610 determines the quality-of-service metric of the sharedcommunication network 500 by comparing the respective connectivity levels of thecommunication networks communication network 500. - Based on the quality-of-service metric, the
network determiner 608 determines an active communication network that is to communicate (e.g., send, request, access, receive, retrieve and/or obtain) market information to and/or from an exchange (e.g. theexchange 230 a ofFIG. 2 ) via thegateway 220 a (block 918). The active communication network includes thefirst communication network 202 a, thesecond communication network 404 and/or any other identified communication network (e.g., the other communication network 504). Upon the active communication network being determined, themarket information communicator 612 communicates market information related to one or more markets at theexchange 230 via the active communication network and the gateway 220 (block 920). In some examples, if communication via the one of the communication networks (e.g., thefirst communication network 202 a) is interrupted (e.g., delayed, substantially impaired, lost) to the extent that the respective trading device (e.g., thefirst trading device 210 a) is unable to communicate market information via the communication network, the sharedcommunication network 500 enables the trading device to request and/or receive the market information via another communication network. - In some examples in which the first network service state is less than the threshold state, the
market information communicator 612 accesses market information requested by thefirst trading device 210 a via thesecond communication network 404 and/or another identified communication network (e.g., the other communication network 504) of the active communication network. Thus, the market information requested by thefirst trading device 210 a is accessed from thegateway 220 a when communication via thefirst communication network 202 a is interrupted. In some examples in which the first network service state is greater than the threshold state, themarket information communicator 612 determines if any market information (e.g., market data, order messages, fill data) is requested by two or more of the wireless trading devices (e.g., the first andsecond trading devices 210 a, 402). - To reduce the amount of market information communicated via the active communication network, the
market information communicator 612 assigns thecommunication networks market information communicator 612 may assign thefirst communication network 202 a to access a first set of commonly requested market information, thesecond communication network 404 to access a second set of commonly requested market information different than the first set of market information, and the other identifiedcommunication network 504 to access a third set of commonly requested market information different than the first and second sets of market information. In some examples, themarket information communicator 612 assigns a unique identification number to each set of market information to ensure that thegateway 220 a does not provide duplicative sets of market information to thetrading devices - If each of the
trading devices method 900 ofFIG. 9 ends and/or returns to the start. In some examples, each of thetrading devices first trading device 210 a, thesecond trading device 402, or theother trading device 502 has yet to receive market information that it had requested (block 922), themarket information distributor 614 distributes the market information via a shared communication network (e.g., the sharedcommunication network 500 ofFIG. 5 ). - For example, if one of the trading devices (e.g., the
first trading device 210 a) has yet to receive requested market information (e.g., market data, order updates and/or fill data) that is available via the shared communication network 500 (block 924), themarket information distributor 614 distributes the missing market information to thefirst trading device 210 a from the secondwireless trading device 402 via a shared communication link (e.g., the sharedcommunication link 400 ofFIG. 5 ) and/or from the other identifiedtrading device 502 via another shared communication link (e.g., the sharedcommunication link 506 ofFIG. 5 ) of the shared communication network 500 (block 926). Further, if thefirst trading device 210 a has obtained (e.g., received, accessed and/or retrieved) market information that another wireless trading device (e.g., thesecond trading device 402, the other trading device 502) has requested and is missing (block 928), themarket information distributor 614 distributes the market information from thefirst trading device 210 a to thesecond trading device 402 and/or theother trading device 502 via the shared communication network 500 (block 926). Theexample method 900 ends and/or returns to the start after the market information is distributed between thetrading devices -
FIG. 10 illustrates a block diagram of anotherexample system 1000 that may be employed to distribute information (e.g., market information such as market data, order messages, fill data) via a shared communication link (e.g., the sharedcommunication link 400 ofFIG. 4 ) and/or a shared communication network (e.g., the sharedcommunication network 500 ofFIG. 5 ). In some examples, thesystem 1000 is implemented as part of software and/or an application associated with thetrading device 210 a ofFIGS. 4 and 5 , thetrading device 402 ofFIGS. 4 and 5 , thetrading device 502 ofFIG. 5 and/or thegateway 220 a ofFIGS. 4 and 5 . In some examples, thesystem 1000 is implemented as computer implemented code or instructions operable independent of software associated with thetrading device 210 a, thetrading device 402, thetrading device 502 and/or thegateway 220 a. In some examples, the features and functionality of thesystem 1000 are implemented in hardware operable in connection with thetrading device 210 a, thetrading device 402, thetrading device 502 and/or thegateway 220 a. - The
system 1000 ofFIG. 10 includes adevice identifier 1002 that identifies wireless devices (e.g., thetrading device 210 a ofFIGS. 4 and 5 , thetrading device 402 ofFIGS. 4 and 5 , thetrading device 502 ofFIG. 5 ) in communication with a gateway (e.g., thegateway 220 a ofFIGS. 4 and 5 ). For example, thedevice identifier 1002 identifies a first wireless device (e.g., thetrading device 210 a ofFIGS. 4 and 5 ), a second wireless device (e.g., thetrading device 402 ofFIGS. 4 and 5 ), and a third wireless device (e.g., thetrading device 502 ofFIG. 5 ). - In some examples, the
device identifier 1002 determines whether each of the identified wireless devices (e.g., thewireless device 210 a) is configured to communicate with any of the other identified wireless devices (e.g., thewireless devices 402, 502) via a share communication link (e.g., the sharedcommunication link 400 ofFIGS. 4 and 5 , the sharedcommunication link 506 ofFIG. 5 , the sharedcommunication link 508 ofFIG. 5 ) and/or a shared communication network (e.g., the sharedcommunication network 500 ofFIG. 5 ). For example, thewireless device 210 a can be configured to communicate with all nearby wireless devices. Alternatively, thewireless device 210 a can be configured to share with only other wireless devices associated with the wireless device. For example, if a user of thewireless device 210 a is a member of a trading group, the wireless device can be configured to share market information with only those wireless devices associated with other members of the trading group. Furthermore, thewireless device 210 a can be configured to enable the user to individually select and/or authorize the other wireless devices with which the wireless device is to communicate. Thewireless device 210 a also can be configured to withhold market information from other wireless devices and/or to share market information with only other wireless devices configured to share market information with thewireless device 210 a. - A
link assigner 1004 of theexample system 1000 assigns a unique communication link between each of the identifiedwireless devices gateway 220 a. For example, thelink assigner 1004 assigns a first communication link (e.g., thenetwork 202 a ofFIGS. 4 and 5 ) between thefirst wireless device 210 a and thegateway 220 a, a second communication link (e.g., thenetwork 404 ofFIGS. 4 and 5 ) between thesecond wireless device 402 and thegateway 220 a, and a third communication link (e.g., thenetwork 504 ofFIG. 5 ) between thethird wireless device 502 and thegateway 220 a. - The
example system 1000 includes astate determiner 1006 that determines a communication state or network service state for each of the assignedcommunication links state determiner 1006 determines a first communication state of thefirst communication link 202 a, a second communication state of thesecond communication link 404, and a third communication state of thethird communication link 504. In some examples, thestate determiner 602 determines the network service state of each of thecommunication networks corresponding trading device communication network state determiner 1006 determines the communication state of each communication link 202 a, 404, 504 by monitoring one or more other communication conditions of thecorresponding wireless device gateway 220 a and/or thecommunication link corresponding wireless device corresponding wireless device gateway 220 a, an amount of memory being utilized by thegateway 220 a, a percentage or rate of packet loss via thecommunication link - A
market information distributor 1008 of theexample system 1000 assigns each communication link 202 a, 404, 504 to communicate a unique set of information between thegateway 220 a and thecorresponding wireless device wireless devices market information distributor 1008 assigns thefirst communication link 202 a to communicate a first set of information (e.g., a first set of market information such as market data, order messages, fill data) between thefirst wireless device 210 a and thegateway 220 a, thesecond communication link 404 to communicate a second set of information (e.g., a second set of market information such as market data, order messages, fill data) between thesecond wireless device 402 and thegateway 220 a, and thethird communication link 504 to communicate a third set of information (e.g., a third set of market information such as market data, order messages, fill data) between thethird wireless device 502 and thegateway 220 a. In some examples, themarket information distributor 1008 assigns each set of information a unique identification number to prevent thegateway 220 a from providing duplicative sets of information to thewireless devices gateway 220 a provides information associated with a unique identification number to a wireless device (e.g., thewireless device 210 a) only if the gateway has yet to provide the market information associated with the unique identification number to any of the wireless devices (e.g., thewireless devices - In some examples, the
market information distributor 1008 determines if any information (e.g., market information such as market data, order messages, fill data) is requested by two or more of thewireless devices communication links market information distributor 1008 apportions the commonly requested information between the communication links 202 a, 404, 504. For example, themarket information distributor 1008 may assign thefirst communication link 202 a to access a first set of commonly requested information, thesecond communication link 404 to access a second set of commonly requested information different than the first set of information, and thethird communication link 504 to access a third set of commonly requested market information different than the first and second sets of information. In some examples, the amount of data themarket information distributor 1008 assigns to a communication link corresponds to the communication state of the communication link. For example, the largest and/or most frequently updated set of information may be assigned to the communication link with a high connectivity level, and the smallest and/or least frequently updated set of information may be assigned to the communication link with a low connectivity level. In other examples, themarket information distributor 1008 assigns the communication network with the lowest latency to form the active communication network. - The
market information distributor 1008 communicates (e.g., sends, requests, receives, accesses, retrieves and/or obtains) each set of information to and/or from thegateway 220 a via the corresponding assignedcommunication link market information distributor 1008 prioritizes communication of the commonly requested information. For example, the market information distributer 1008 sends, requests, receives, accesses and/or retrieves the first set of commonly requested information via thefirst communication link 202 a prior to communicating information that is only sought by thefirst wireless device 210 a. - In some examples, the
market information distributor 1008 is associated with only one of the wireless devices (e.g., a lead wireless device) identified by thedevice identifier 1002. In some such examples, thestate determiner 1006 selects the lead wireless device associated with themarket information distributor 1008 based on the communication states of the communication links 202 a, 404, 504. In some examples, thestate determiner 1006 may select the wireless device having the most available resources (e.g., RAM, CPU, connectivity level, etc.) to be the lead wireless device. - The
example system 1000 includes amarket information sharer 1010 that distributes or shares obtained (e.g., received, retrieved, accessed) information via a shared communication link (e.g., the sharedcommunication link 400 ofFIGS. 4 and 5 , the sharedcommunication link 506 ofFIG. 5 , the sharedcommunication link 508 ofFIG. 5 ) and/or a shared communication network (e.g., the sharedcommunication network 500 ofFIG. 5 ). For example, the first set of information is shared by thefirst wireless device 210 a with thesecond wireless device 402 via a first shared communication link (e.g., the sharedcommunication link 400 ofFIGS. 4 and 5 ) of the shared communication network and/or with thethird wireless device 502 via a second shared communication link (the sharedcommunication link 506 ofFIG. 5 ) of the sharedcommunication network 500. Thus, themarket information sharer 1010 prevents themarket information distributor 1008 from having to obtain duplicative sets of commonly requested information via the assignedcommunication links communication links trading devices - In some examples, the shared
communication links communication links gateway 220 a are cellular or mobile networks or Wi-Fi networks that have a significantly slower transmission rate compared to a Bluetooth ad hoc network as a result of a deteriorated communication state (e.g., a low connectivity level, latency at the gateway, etc.). Thus, because themarket information distributor 1008 and themarket information sharer 1010 of thesystem 1000 reduces the amount of information communicated via the assignedcommunication links system 1000 substantially reduces the amount of information communicated via the communication links 202 a, 404, 504 having low transmission rates and, consequentially, substantially increased the amount of information communicated via the sharedcommunication links system 1000 further increases the available collective bandwidth resources of thewireless devices communication links communication network 500. -
FIG. 11 illustrates anexample method 1100 to share information (e.g., market data, orders messages, fill data) via a shared communication link in an electronic trading system. Theexample method 1100 may be performed by any wireless device (e.g., thetrading devices FIG. 4 ), gateway (e.g., thegateway 220 a ofFIG. 4 ), or combination thereof. Themethod 1100 ofFIG. 11 includes thelink assigner 1004 assigning a first communication link (e.g., thenetwork 202 a ofFIG. 4 ) between a first wireless device (e.g., thetrading device 210 a ofFIG. 4 ) and a gateway (e.g., thegateway 220 a ofFIG. 4 ) (block 1102). Further, themethod 1100 includes thelink assigner 1004 assigning a second communication link (e.g., thenetwork 404 ofFIG. 4 ) between a second wireless device (e.g., thetrading device 402 ofFIG. 4 ) and the gateway (block 1104). - The
example method 1100 includes themarket information distributor 1008 communicating a first set of information (e.g., a first set of market information such as market data, order messages, and fill data) between thegateway 220 a and thefirst wireless device 210 a via thefirst communication link 202 a (block 1106). Further, themarket information distributor 1008 communicates a second set of information (e.g., a second set of market information) different than the first information between thegateway 220 a and thesecond wireless device 402 via the second communication link 404 (block 1108). Information may be communicated via a single market information distributor (e.g., the market information distributor 1008) and/or a plurality of market information distributors. In some examples in which there is a plurality of market information distributors, each market information distributor is performed on a different wireless device (e.g., thetrading devices FIG. 4 ). - In some examples, communicating the first and second sets of information via the respective first and
second communication links first communication link 202 a and a second communication state of thesecond communication link 404. In some such examples, themarket information distributor 1008 apportions which information is assigned to the first andsecond communication links first communication link 202 a is greater than the connectivity level (e.g., 60% of the maximum level of connectivity) of thesecond communication link 404, themarket information distributor 1008 assigns a greater quantity of information to the first set of information than the second set of information. In some examples, communicating the first and second sets of information via the respective first andsecond communication links second communication links market information distributor 1008 determines if any information is requested by both thefirst wireless device 210 a and thesecond wireless device 402 when communicating the first and second sets of information via the respective first andsecond communication links market information distributor 1008 apportions the commonly requested information between the first andsecond communication links second communication links - After the first set of information is communicated via the
first communication link 202 a, themarket information sharer 1010 identifies whether thefirst wireless device 210 a has requested information that was obtained (e.g., received, retrieved and/or accessed) by thesecond wireless device 402 via the second communication link 404 (block 1110). If thefirst wireless device 210 a has requested information that was obtained by thesecond wireless device 402, themarket information sharer 1010 communicates the information from thesecond wireless device 402 to thefirst wireless device 210 a via a shared communication link (e.g., the sharedcommunication link 400 ofFIG. 4 ) (block 1112). Further, themarket information sharer 1010 identifies whether thesecond wireless device 402 has requested information that was obtained by thefirst wireless device 210 a via the first communication link 400 (block 1114). If thesecond wireless device 402 has requested information that was obtained by thefirst wireless device 210 a, themarket information sharer 1010 communicates the information from thefirst wireless device 210 a to thesecond wireless device 402 via the shared communication link 400 (block 1112). By sharing information via the sharedcommunication link 400, themarket information sharer 1010 reduces the amount of information communicated via the first andsecond communications links second wireless devices method 1100 ends and/or returns to start after the requested information is shared between the first andsecond wireless devices communication link 400. -
FIG. 12 illustrates anotherexample method 1200 to share information via a shared communication network in an electronic trading system. Themethod 1200 may be performed by any wireless device (e.g., thetrading devices FIG. 5 ), gateway (e.g., thegateway 220 a ofFIG. 5 ), or combination thereof. Themethod 1200 ofFIG. 12 includes thedevice identifier 1002 identifying a wireless device (e.g., thetrading device 210 a ofFIG. 5 ) in communication with a gateway (e.g., thegateway 220 a ofFIG. 5 ) (block 1202). After thewireless device 210 a is identified, thedevice identifier 1002 verifies that thewireless device 210 a is configured to share information via a shared communication link (e.g., the sharedcommunication link 400 ofFIG. 5 , the sharedcommunication link 506 ofFIG. 5 ) and/or a shared communication network (e.g., the sharedcommunication network 500 ofFIG. 5 ) (block 1204). For example, thewireless device 210 a may be configured to communicate with all other wireless devices identified by thedevice identifier 1002, with only other wireless devices identified as being associated with thewireless device 210 a (e.g., associated with a trading group), with only those wireless devices a user individually selects and/or with only those wireless devices that are configured to share market information with thewireless device 210 a. - If the
wireless device 210 a is not configured to share information, thedevice identifier 1002 identifies whether there is another wireless device in communication with the gateway (block 1210). Otherwise, if thewireless device 210 a is configured to share information, thelink assigner 1004 assigns a communication link (e.g., thenetwork 202 a ofFIG. 5 ) between thewireless device 210 a and thegateway 220 a (block 1206). After thecommunication link 202 a is assigned, thestate determiner 1006 determines a communication state of thecommunication link 202 a (block 1208). For example, thestate determiner 1006 determines the communication state by monitoring one or more communication conditions of thewireless device 210 a, thegateway 220 a and/or thecommunication link 202 a, such as a connectivity level of thewireless device 210 a with thecommunication link 202 a, a remaining battery power of thewireless device 210 a, a geographic location of thewireless device 210 a, a latency of one or more servers at thegateway 220 a, an amount of memory being utilized by thegateway 220 a, a percent or rate of data loss via thecommunication link 202 a, etc. In examples in which the communication state is based on the connectivity level of thecommunication link 202 a, the connectivity level is measured relative to a maximum level of connectivity of thecommunication link 202 a. For example, the communication state may be defined as high, medium, intermittent, low or no connectivity and/or as a percentage of the maximum level of connectivity (e.g., 75% of the maximum level of connectivity). After the communication state of thecommunication link 202 a is determined, thedevice identifier 1002 identifies whether there is another wireless device in communication with the gateway (block 1210). If another wireless device (e.g., thetrading device 402 ofFIG. 5 , thetrading device 502 ofFIG. 5 ) is in communication with thegateway 220, blocks 1202, 1204, 1206, 1208 ofFIG. 12 are repeated for the other identified wireless device. Further, blocks 1202, 1204, 1206, 1208, 1210 are repeated until all devices in communication with the gateway are identified. - After the
wireless devices gateway 220 a are identified, themethod 1200 includes identifying whether there are at least two identified wireless devices that are configured to share information with other wireless devices (block 1212). If there are not at least two of such wireless devices, themethod 1200 ends and/or returns to the start. - If there are two or more wireless devices that are configured to share information, the
market information distributor 1008 communicates sets of information between thegateway 220 a and the identifiedwireless devices corresponding communication links communication links gateway 220 and thecorresponding wireless device market information distributor 1008 assigns the sets of information to the communication links 202 a, 404, 504 based on the communication state of each communication link 202 a, 404, 504. For example, the amount of information assigned to each communication link 202 a, 404, 504 may correspond to the connectivity level of thecommunication link market information distributor 1008 assigns a unique identification number to each set of information to prevent thegateway 220 a from providing duplicative sets of information to the identifiedwireless devices gateway 220 a via the communication links 202 a, 404, 504, themarket information distributor 1008 apportions information that is commonly requested by at least two of the identifiedwireless devices communication links gateway 220 a. In some examples in which there is commonly requested information, the commonly requested information is prioritized and, thus, is communicated before the non-commonly requested information is communicated from thegateway 220 a. - After the identified
wireless devices communication links market information sharer 1010 selects one of the identified wireless devices (e.g., thewireless device 210 a) (block 1216). If the selected wireless device has requested information that another wireless device (e.g., the wireless device 402) has obtained (e.g., received, retrieved and/or accessed) (block 1218), the other wireless device shares the requested information with the selected wireless device via a shared communication link (e.g., the sharedcommunication link 400 ofFIG. 5 ) of a shared communication network (e.g., the sharedcommunication network 500 ofFIG. 5 ) (block 1220). Similarly, if the selected wireless device has obtained data that another wireless device (e.g., the wireless device 502) has requested and has yet to receive (block 1222), the selected wireless device shares the obtained information with the other wireless device via a shared communication link (e.g., the shared communication link 506) of the shared communication network (block 1220). - After the information is shared and/or if there is no other requested information to share, the
market information sharer 1010 identifies whether there is another identified wireless device (block 1224). If there is not another identified wireless device, themethod 1200 ends and/or returns to start. If there is another identified wireless device (e.g., the trading device 402), blocks 1216, 1218, 1220, 1222 ofFIG. 12 are repeated for the other wireless device. Further, blocks 1216, 1218, 1220, 1222, 1224 ofFIG. 12 are repeated until all identified wireless devices have been selected. Afterwards, themethod 1200 ends and/or returns to start. -
FIG. 13 illustrates anexample method 1300 to distribute information assigned to a disconnected wireless device within themethod 1200 ofFIG. 12 . As illustrated inFIG. 13 , themethod 1300 includes determining whether there are at least two identified wireless devices configured to share information with other wireless devices (block 1212). If there are not at least two of such wireless devices, themethod 1200 ends and/or returns to the start. If there are two or more wireless devices that are configured to share information via the sharedcommunication link 400 and/or the sharedcommunication network 500, thedevice identifier 1002 identifies whether any of the wireless devices (e.g., thewireless device 210 a) configured to share information has disconnected from the sharedcommunication link 400, the sharedcommunication network 500 and/or thegateway 220 a (block 1302). In some examples, thewireless device 210 a becomes disconnected from the sharedcommunication link 400 and/or the sharedcommunication network 500 as a result of thewireless device 210 a lacking any battery power. In some examples, thewireless device 210 a becomes disconnected from the sharedcommunication link 400 and/or the sharedcommunication network 500 as a result of thewireless device 210 a moving away from the other identified trading devices (e.g., thewireless devices 402, 502) such that thewireless device 210 a is outside a communicative range of the sharedcommunication link 400 and/or the sharedcommunication network 500. In some examples, thewireless device 210 a disconnects from thegateway 220 a when the communication state of thewireless device 210 a becomes less than a threshold state. - If no identified wireless device has disconnected from the shared
communication link 400 and/or the sharedcommunication network 500, themarket information distributor 1008 communicates sets of information via the assignedcommunication links wireless device 210 a) has disconnected from the sharedcommunication link 400 and/or the sharedcommunication network 500, thedevice identifier 1002 removes the disconnectedwireless device 210 a from the set of identifiedwireless devices communication link 400 and/or the shared communication network 500 (block 1304). Further, theexample method 1300 includes themarket information distributor 1008 reassigning the set of information assigned to thecommunication link 202 a corresponding to thedisconnected wireless device 210 a (block 1306). In some examples, the set of information is reassigned to a communication link (e.g., the communication link 404) that remains in communication with the sharedcommunication link 400 and/or the sharedcommunication network 500. In some examples, the set of information is divided and distributed among a plurality of the assigned communication links (e.g., the communication links 404, 504). After the set of information associated with thedisconnected wireless device 210 a is redistributed, themarket information distributor 1008 communicates the assigned sets of information from thegateway 220 a to the remainingwireless devices corresponding communication links 404, 504 (block 1214). After the sets of information are communicated, themethod 1300 ends and/or is returned to the start. - Some of the described figures depict example block diagrams, systems, and/or flow diagrams representative of methods that may be used to implement all or part of certain embodiments. One or more of the components, elements, blocks, and/or functionality of the example block diagrams, systems, and/or flow diagrams may be implemented alone or in combination in hardware, firmware, discrete logic, as a set of computer readable instructions stored on a tangible computer readable medium, and/or any combinations thereof, for example.
- The example block diagrams, systems, and/or flow diagrams may be implemented using any combination of application specific integrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)), field programmable logic device(s) (FPLD(s)), discrete logic, hardware, and/or firmware, for example. Also, some or all of the example methods may be implemented manually or in combination with the foregoing techniques, for example.
- The example block diagrams, systems, and/or flow diagrams may be performed using one or more processors, controllers, and/or other processing devices, for example. For example, the examples may be implemented using coded instructions, for example, computer readable instructions, stored on a tangible computer readable medium. A tangible computer readable medium may include various types of volatile and non-volatile storage media, including, for example, random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), electrically programmable read-only memory (EPROM), electrically erasable read-only memory (EEPROM), flash memory, a hard disk drive, optical media, magnetic tape, a file server, any other tangible data storage device, or any combination thereof. The tangible computer readable medium is non-transitory.
- Further, although the example block diagrams, systems, and/or flow diagrams are described above with reference to the figures, other implementations may be employed. For example, the order of execution of the components, elements, blocks, and/or functionality may be changed and/or some of the components, elements, blocks, and/or functionality described may be changed, eliminated, sub-divided, or combined. Additionally, any or all of the components, elements, blocks, and/or functionality may be performed sequentially and/or in parallel by, for example, separate processing threads, processors, devices, discrete logic, and/or circuits.
- While embodiments have been disclosed, various changes may be made and equivalents may be substituted. In addition, many modifications may be made to adapt a particular situation or material. Therefore, it is intended that the disclosed technology not be limited to the particular embodiments disclosed, but will include all embodiments falling within the scope of the appended claims.
Claims (21)
1. (canceled)
2. A method including:
determining by a gateway a first network service state of a first communication network established between the gateway and a first wireless trading device;
determining by the gateway a second network service state of a second communication network established between the gateway and a second wireless trading device, wherein a shared communication link is shared between the first wireless trading device and the second wireless trading device;
determining by the gateway a first quality-of-service metric for the first communication network based on the first network service state;
determining by the gateway a second quality-of-service metric for the second communication network based on the second network service state;
determining by the gateway an active communication network based on the first quality-of-service metric and the second quality-of-service metric;
receiving by the gateway a first request for first market information from the first wireless trading device over the active communication network;
receiving by the gateway a second request for second market information from the second wireless trading device over the active communication network, wherein a first set of market information is common to the first market information and the second market information, wherein a second set of market information is not common to the first market information and the second market information;
assigning by the gateway a first unique identification number to the first set of market information;
assigning by the gateway a second unique identification number to the second set of market information;
sending by the gateway the first set of market information associated with the first unique identification number to the first wireless trading device over the first communication network, wherein the first wireless trading device distributes the first set of market information to the second wireless trading device over the shared communication link; and
sending by the gateway the second set of market information associated with the second unique identification number to the second wireless trading device over the second communication network.
3. The method of claim 2 , wherein the first network service state is based on at least one of: a connectivity level of the first trading device, a latency on the first communication network, a rate of packet loss on the first communication network, a remaining battery power of the first trading device, a memory utilization of the first trading device, a memory utilization of the gateway, and a CPU load at the gateway.
4. The method of claim 2 , wherein the second network service state is based on at least one of: a connectivity level of the second trading device, a latency on the second communication network, a rate of packet loss on the second communication network, a remaining battery power of the second trading device, a memory utilization of the second trading device, a memory utilization of the gateway, and a CPU load at the gateway.
5. The method of claim 2 , wherein at least one of the first network service state and the second network service state is determined based on a comparison to a threshold state.
6. The method of claim 2 , wherein the active communication network includes both the first communication network and the second communication network.
7. The method of claim 2 , further including:
determining by the gateway a third network service state of a third communication network established between the gateway and a third wireless trading device, wherein a second shared communication link is shared between the first wireless trading device and the third wireless trading device.
8. The method of claim 7 , further including:
determining by the gateway a third quality-of-service metric for the third communication network based on the third network service state; and
determining by the gateway the active communication network based on the first quality-of-service metric, the second quality-of-service metric, and the third quality-of-service metric.
9. The method of claim 7 , further including:
receiving by the gateway a third request for third market information from the third wireless trading device over the active communication network, wherein the first set of market information is common to the first market information, the second market information, and the third market information, wherein the first wireless trading device distributes the first set of market information to the third wireless trading device over the second shared communication link.
10. The method of claim 9 , wherein a third shared communication link is shared between the second wireless trading device and the third wireless trading device.
11. The method of claim 10 , further including:
assigning by the gateway a third unique identification number to a third set of market information, wherein the third set of market information is common to the second market information and the third market information; and
sending by the gateway the third set of market information associated with the third unique identification number to the third wireless trading device over the third communication network, wherein the third wireless trading device distributes the third set of market information to the second wireless trading device over the second shared communication link.
12. A computer readable medium having stored therein instructions executable by a processor of a gateway, including instructions executable to:
determine a first network service state of a first communication network established between the gateway and a first wireless trading device;
determine a second network service state of a second communication network established between the gateway and a second wireless trading device, wherein a shared communication link is shared between the first wireless trading device and the second wireless trading device;
determine a first quality-of-service metric for the first communication network based on the first network service state;
determine a second quality-of-service metric for the second communication network based on the second network service state;
determine an active communication network based on the first quality-of-service metric and the second quality-of-service metric;
receive a first request for first market information from the first wireless trading device over the active communication network;
receive a second request for second market information from the second wireless trading device over the active communication network, wherein a first set of market information is common to the first market information and the second market information, wherein a second set of market information is not common to the first market information and the second market information;
assign a first unique identification number to the first set of market information;
assign a second unique identification number to the second set of market information;
send the first set of market information associated with the first unique identification number to the first wireless trading device over the first communication network, wherein the first wireless trading device distributes the first set of market information to the second wireless trading device over the shared communication link; and
send the second set of market information associated with the second unique identification number to the second wireless trading device over the second communication network.
13. The computer readable medium of claim 12 , wherein the first network service state is based on at least one of: a connectivity level of the first trading device, a latency on the first communication network, a rate of packet loss on the first communication network, a remaining battery power of the first trading device, a memory utilization of the first trading device, a memory utilization of the gateway, and a CPU load at the gateway.
14. The computer readable medium of claim 12 , wherein the second network service state is based on at least one of: a connectivity level of the second trading device, a latency on the second communication network, a rate of packet loss on the second communication network, a remaining battery power of the second trading device, a memory utilization of the second trading device, a memory utilization of the gateway, and a CPU load at the gateway.
15. The computer readable medium of claim 12 , wherein at least one of the first network service state and the second network service state is determined based on a comparison to a threshold state.
16. The computer readable medium of claim 12 , wherein the active communication network includes both the first communication network and the second communication network.
17. The computer readable medium of claim 12 , further including instructions executable to:
determine a third network service state of a third communication network established between the gateway and a third wireless trading device, wherein a second shared communication link is shared between the first wireless trading device and the third wireless trading device.
18. The computer readable medium of claim 17 , further including instructions executable to:
determine a third quality-of-service metric for the third communication network based on the third network service state; and
determine the active communication network based on the first quality-of-service metric, the second quality-of-service metric, and the third quality-of-service metric.
19. The computer readable medium of claim 17 , further including instructions executable to:
receive a third request for third market information from the third wireless trading device over the active communication network, wherein the first set of market information is common to the first market information, the second market information, and the third market information, wherein the first wireless trading device distributes the first set of market information to the third wireless trading device over the second shared communication link.
20. The computer readable medium of claim 19 , wherein a third shared communication link is shared between the second wireless trading device and the third wireless trading device.
21. The computer readable medium of claim 20 , further including instructions executable to:
assign a third unique identification number to a third set of market information, wherein the third set of market information is common to the second market information and the third market information; and
send the third set of market information associated with the third unique identification number to the third wireless trading device over the third communication network, wherein the third wireless trading device distributes the third set of market information to the second wireless trading device over the second shared communication link.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/146,977 US20190037434A1 (en) | 2014-12-17 | 2018-09-28 | Shared Communication Links in an Electronic Trading System |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/574,238 US9788234B2 (en) | 2014-12-17 | 2014-12-17 | Shared communication links in an electronic trading system |
US15/684,674 US10129787B2 (en) | 2014-12-17 | 2017-08-23 | Shared communication links in an electronic trading system |
US16/146,977 US20190037434A1 (en) | 2014-12-17 | 2018-09-28 | Shared Communication Links in an Electronic Trading System |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/684,674 Continuation US10129787B2 (en) | 2014-12-17 | 2017-08-23 | Shared communication links in an electronic trading system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20190037434A1 true US20190037434A1 (en) | 2019-01-31 |
Family
ID=56127386
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/574,238 Expired - Fee Related US9788234B2 (en) | 2014-12-17 | 2014-12-17 | Shared communication links in an electronic trading system |
US15/684,674 Expired - Fee Related US10129787B2 (en) | 2014-12-17 | 2017-08-23 | Shared communication links in an electronic trading system |
US16/146,977 Abandoned US20190037434A1 (en) | 2014-12-17 | 2018-09-28 | Shared Communication Links in an Electronic Trading System |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/574,238 Expired - Fee Related US9788234B2 (en) | 2014-12-17 | 2014-12-17 | Shared communication links in an electronic trading system |
US15/684,674 Expired - Fee Related US10129787B2 (en) | 2014-12-17 | 2017-08-23 | Shared communication links in an electronic trading system |
Country Status (2)
Country | Link |
---|---|
US (3) | US9788234B2 (en) |
WO (1) | WO2016100076A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9788234B2 (en) | 2014-12-17 | 2017-10-10 | Trading Technologies International, Inc. | Shared communication links in an electronic trading system |
US10813169B2 (en) | 2018-03-22 | 2020-10-20 | GoTenna, Inc. | Mesh network deployment kit |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7072650B2 (en) * | 2000-11-13 | 2006-07-04 | Meshnetworks, Inc. | Ad hoc peer-to-peer mobile radio access system interfaced to the PSTN and cellular networks |
US7133368B2 (en) | 2002-02-01 | 2006-11-07 | Microsoft Corporation | Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same |
US20050036470A1 (en) | 2003-08-04 | 2005-02-17 | Calvert Nathan Hunter | Multi-hop peer-to-peer wireless local loop phone system and method |
US20140180892A1 (en) * | 2012-12-20 | 2014-06-26 | Trading Technologies International, Inc. | Mitigating Communication Risks in an Electronic Trading System |
US9253813B2 (en) * | 2014-05-16 | 2016-02-02 | Htc Corporation | Mobile communication device and communication management method thereof |
US9788234B2 (en) | 2014-12-17 | 2017-10-10 | Trading Technologies International, Inc. | Shared communication links in an electronic trading system |
-
2014
- 2014-12-17 US US14/574,238 patent/US9788234B2/en not_active Expired - Fee Related
-
2015
- 2015-12-10 WO PCT/US2015/064952 patent/WO2016100076A1/en active Application Filing
-
2017
- 2017-08-23 US US15/684,674 patent/US10129787B2/en not_active Expired - Fee Related
-
2018
- 2018-09-28 US US16/146,977 patent/US20190037434A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US9788234B2 (en) | 2017-10-10 |
US20170353884A1 (en) | 2017-12-07 |
WO2016100076A1 (en) | 2016-06-23 |
US10129787B2 (en) | 2018-11-13 |
US20160183120A1 (en) | 2016-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11880884B2 (en) | Methods and systems to prevent adverse exchange limit effects | |
JP7436588B2 (en) | Tailored messaging | |
US20210398217A1 (en) | Distribution of Market Data Based on Price Level Transitions | |
US20200111162A1 (en) | Methods and Systems to Employ Aggregated Order Quantity Modification Strategies | |
US20160300302A1 (en) | Distribution of market data updates in an electronic trading system | |
US20190037434A1 (en) | Shared Communication Links in an Electronic Trading System | |
US20170039640A1 (en) | Methods and Systems to Manage a Trading Strategy | |
US20180322578A1 (en) | Trading Availability Utilizing Alternate Messaging Channels | |
US20140180892A1 (en) | Mitigating Communication Risks in an Electronic Trading System | |
US20160371774A1 (en) | System, Tool and Method for Distributed Risk Analysis | |
US20140180891A1 (en) | Systems and Methods to Offload Risk P&L Calculations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: TRADING TECHNOLOGIES INTERNATIONAL, INC., ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BAKER, WILLIAM TIGARD`;REEL/FRAME:047011/0278 Effective date: 20141215 |
|
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 |