US20120151001A1 - Clearing Message Broker System - Google Patents
Clearing Message Broker System Download PDFInfo
- Publication number
- US20120151001A1 US20120151001A1 US13/403,200 US201213403200A US2012151001A1 US 20120151001 A1 US20120151001 A1 US 20120151001A1 US 201213403200 A US201213403200 A US 201213403200A US 2012151001 A1 US2012151001 A1 US 2012151001A1
- Authority
- US
- United States
- Prior art keywords
- message
- routers
- router
- sources
- partitioning
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Systems and methods are provided for efficiently permitting the transmission and receipt of trading messages between message sources configured to use a variety of different protocols. Messaging gateways may be configured to reformat messages for proper transmission across a transport mechanism. Routers may be dynamically partitioned so that manual reconfiguration is not required when sources and/or routers are added or deleted. The routers may be configured to route messages based on content to limit the amount of formatting required at message sources.
Description
- This is application is a continuation of U.S. patent application Ser. No. 11/234,727, filed Sep. 23, 2005 and entitled “Clearing Message Broker System,” the entire disclosure of which is hereby incorporated by reference herein.
- The present invention relates to distributed computing systems that exchange messages. More particularly, aspects of the invention providing messaging systems and methods that may be used by exchange computer systems to exchange messages in a cost-efficient manner.
- Modern exchanges use a variety of different computer systems to match trades, clear trades and perform other exchange functions. It is common for exchanges to use computer hardware and software that rely on point-to-point routing of messages between applications that are initially designed to support different protocols. For example, a software application may be structured to create messages formatted in accordance with a first protocol and another software application may only be able to interpret messages formatted in accordance with a second protocol.
- Typically these types of incompatibility issues have been addressed by modifying the software applications. In the example given above, the software application creating the message may be modified to create messages formatted in accordance with the second protocol. When the number of software applications and transport mechanisms reach the level found at modern exchanges, the overhead incurred in modifying applications and transport mechanisms so that each application is capable of communicating with all other relevant applications becomes enormous. For example, adding a software application may require modifying several other existing applications, which may have already been modified before.
- Therefore, there is a need in the art for systems and methods that allow application to communicate with one another while reducing the overhead incurred in maintaining such systems.
- Aspects of the present invention overcome problems and limitations of the prior art by providing trading methods and systems to more efficiently provide for the transmission and receipt of trading messages. One aspect relates to associating an application to a messaging gateway that may be configured to alter the message for proper transmission. In one embodiment, the messaging gateway formats the message for proper transmission through one or more transport protocols. In yet another embodiment, the messaging gateway formats the message to allow another unrelated application to receive and/or read the message. Another aspect relates to assigning one router with a distributed computing environment to serve as a partitioning coordinator router. The dynamic partitioning of the routers does not require reconfiguration of the router to the specific sources or applications it has been assigned to. In one embodiment, the first router detected may serve as the partitioning coordinator router. Yet still further aspects of the invention relate to allowing the partitioning coordinator router to dynamically partition the available sources or applications configured to transmit among the available routers. Computer readable instructions may comprise routing rules configured, that when executed, allow for content based routing as opposed to point-to-point based routing. The content based routing may be accomplished regardless of the protocols of the different sources and/or endpoints and
- Of course, the methods and systems of the above-referenced embodiments may also include other additional elements, steps, computer-executable instructions, or computer-readable data structures. In this regard, other embodiments are disclosed and claimed herein as well.
- The details of these and other embodiments of the present invention are set forth in the accompanying drawings and the description below. Other features and advantages of the invention will be apparent from the description and drawings, and from the claims.
- The present invention may take physical form in certain parts and steps, embodiments of which will be described in detail in the following description and illustrated in the accompanying drawings that form a part hereof, wherein:
-
FIG. 1 shows a computer network system that may be used to implement aspects of the present invention; -
FIG. 2 illustrates a flowchart of one exemplary computer implemented method according to one embodiment of the present invention; -
FIG. 3 shows one exemplary distributed computing system that may be used to implement one or more aspects of the invention; and -
FIG. 4 shows one illustrative trading application communicating with an exchange computer system through at least one router in a distributed computer environment according to one embodiment of the invention. - Aspects of the present invention may be implemented with computer devices and computer networks that allow exchanges to process trades and exchange data among applications. An exemplary trading network environment for implementing trading systems and methods is shown in
FIG. 1 . Anexchange computer system 100 receives orders and transmits market data related to orders and trades to users. Exchangecomputer system 100 may be implemented with one or more mainframe, desktop or other computers. Auser database 102 includes information identifying traders and other users ofexchange computer system 100. Data may include user names and passwords potentially with other information to identify users uniquely or collectively. Anaccount data module 104 may process account information that may be used during trades. Amatch engine module 106 is included to match bid and offer prices.Match engine module 106 may be implemented with software that executes one or more algorithms for matching bids and offers. - A
trade database 108 may be included to store information identifying trades and descriptions of trades. In particular, a trade database may store information identifying the time that a trade took place and the contract price. Anorder book module 110 may be included to compute or otherwise determine current bid and offer prices. Amarket data module 112 may be included to collect market data and prepare the data for transmission to users. Arisk management module 134 may be included to compute and determine a user's risk utilization in relation to the user's defined risk thresholds. Anorder processing module 136 may be included to decompose variable defined derivative product and aggregate order types for processing byorder book module 110 andmatch engine module 106. - The trading network environment shown in
FIG. 1 includescomputer devices -
Computer device 114 is shown directly connected toexchange computer system 100. Exchangecomputer system 100 andcomputer device 114 may be connected via a T1 line, a common local area network (LAN) or other mechanism for connecting computer devices.Computer device 114 is shown connected to aradio 132. The user ofradio 132 may be a trader or exchange employee. The radio user may transmit orders or other information to a user ofcomputer device 114. The user ofcomputer device 114 may then transmit the trade or other information to exchangecomputer system 100. -
Computer devices LAN 124. LAN 124 may have one or more of the well-known LAN topologies and may use a variety of different protocols, such as Ethernet.Computers LAN 124. Computers and other devices may be connected toLAN 124 via twisted pair wires, coaxial cable, fiber optics or other media. Alternatively, a wireless personal digital assistant device (PDA) 122 may communicate withLAN 124 or theInternet 126 via radio waves.PDA 122 may also communicate withexchange computer system 100 via aconventional wireless hub 128. As used herein, a PDA includes mobile telephones and other wireless devices that communicate with a network via radio waves. -
FIG. 1 also showsLAN 124 connected to theInternet 126.LAN 124 may include a router to connectLAN 124 to theInternet 126.Computer device 120 is shown connected directly to theInternet 126. The connection may be via a modem, DSL line, satellite dish or any other device for connecting a computer device to the Internet. - One or
more market makers 130 may maintain a market by providing bid and offer prices for a derivative or security to exchangecomputer system 100.Exchange computer system 100 may also exchange information with other trade engines, such astrade engine 138. One skilled in the art will appreciate that numerous additional computers and systems may be coupled toexchange computer system 100. Such computers and systems may include clearing, regulatory and fee systems. Coupling can be direct as described or any other method described herein. - The operations of computer devices and systems shown in
FIG. 1 may be controlled by computer-executable instructions stored on a computer-readable medium. For example,computer device 116 may include computer-executable instructions for receiving order information from a user and transmitting that order information to exchangecomputer system 100. In another example,computer device 118 may include computer-executable instructions for receiving market data fromexchange computer system 100 and displaying that information to a user. - Of course, numerous additional servers, computers, handheld devices, personal digital assistants, telephones and other devices may also be connected to exchange
computer system 100. Moreover, one skilled in the art will appreciate that the topology shown inFIG. 1 is merely an example and that the components shown inFIG. 1 may be connected by numerous alternative topologies. -
FIG. 2 illustrates a flowchart of one exemplary computer implemented method according to one embodiment of the present invention. Instep 205, a router accesses a list of available message sources. The message sources may comprise software applications that are configured to communicate with one another. The software applications may be developed by different vendors and use inconsistent messaging protocols. As illustrated, the messages may comprise information relating to trading, such as clearing information, orders, etc. One exemplary distributed computing system that may be used to implementstep 205 is shown inFIG. 3 . As seen inFIG. 3 , distributedcomputing system 300 comprises a plurality of routers, such asrouters routers - Returning briefly to
FIG. 2 , step 210 may be initiated to designate one of the plurality of routers as a partitioning coordinator router. The partitioning coordinator router may be the first router to be placed on-line or start. As seen inFIG. 3 ,router 305 has been designated as the partitioning coordinator router. In at least one embodiment of the invention, any of the plurality of routers in the distributed computing system may serve as the partitioning coordinator router. Each of the plurality or at least a subset of the plurality of routers comprises computer executable instructions to serve as the partitioning coordinator router. Indeed, in yet other embodiments, the duties and partitioning functions of the partitioning coordinator router (described below) may be distributed among several routers. - In the illustrated embodiment,
router 305 may be the first router to be placed on-line or otherwise to be detected by thesystem 300 and therefore determined to be the partitioning coordinator router. As one skilled in the art will readily understand, any set of criteria may be used to determine which router(s) are selected as a partitioning coordinator router, such as for example, reliability, total bandwidth, available bandwidth, status, and or location of the router. - At
step 215, the partitioning coordinator router dynamically partitions the available sources among the available plurality of routers. Step 215 may include accessing a list of message sources, such as that in database table 320, and assigning the messages sources to specific routers. The dynamic partitioning allows the sources of the messages to be “assigned” to a router without requiring reconfiguration of the router to specific sources. As seen inFIG. 3 , sources 321-323 have been assigned torouter 305 and sources 326-328 have been assigned torouter 310. When new message sources are added, database table 320 may be updated to list the sources and the sources will be assigned to routers at the next dynamic partitioning step. Dynamic partitioning may be initiated at router start up, periodically, when new sources are added, at a time selected by a user or any other time. -
Optional step 220 may be implemented to assign “backup” routers to specific sources. For example, whilesource 321 is associated withrouter 305,router 310 may be assigned as a backup router to source 321, wherein upon the malfunctioning ofrouter 305,source 321 may be associated withrouter 315. - Step 225 may also be implemented to detect the status of one or more of the routers, such as for example, when a router goes “offline”, malfunctions, or is overwhelmed with requests. In one embodiment, a status signal may be in the form of a heartbeat signal, wherein heartbeat messages may be transmitted from the routers to ensure they are functioning properly. In one such embodiment, available routers may be deemed “available” if heartbeat messages are received from the routers within a predetermined period of time. Conversely, if a heartbeat signal is not received from a router within a predetermined amount of time, the router may be deemed malfunctioning and any associated sources may be reassigned to other available routers. In those embodiments utilizing a backup router as described above, the available sources may be associated with a predetermined backup router. Yet in other embodiments, the sources associated with the malfunctioning router may be dynamically partitioned by the partitioning coordinator router, for example by initiating step 230.
- In yet other embodiments, one or more routers may be configured to send a status signal indicating their status. For example, if
router 315 is configured to handle a maximum of 100 message sources per unit of time and is already close to, at, or above that maximum threshold, a status signal may be transmitted fromrouter 315 to another router or any computing device within thecomputing system 100. The signal may be used to reassign some sources to other available routers. Indeed, one skilled in the art will realize the status signal may be configured to provide any information regarding the status of the router or associated sources. - In the event that a router goes offline, is overwhelmed with requests, or becomes unavailable, step 230 may be implemented to reassign or otherwise associate those sources associated with the particular router with another available router. This is done without requiring manual reprogramming of each router. Likewise step 230 may be implemented to reassign sources when a new router becomes available, underutilized or otherwise desirable to have the source associated with. As one skilled in the art will realize, all the reassigned sources may not collectively be reassigned to another router, but rather may be distributed among other routers depending on a myriad of factors, such as the format and/or content of messages being communicated to/from those sources.
-
FIG. 4 shows one illustrative trading application communicating with an exchange computer system through at least one router in a distributed computer environment according to one embodiment of the invention. Forexample trading application 405 may be configured to initiate an order or otherwise transmit and receive trading data with one or more computers in a distributed computing system. As seen inFIG. 4 ,trading application 405 is configured to be in operative communication withexchange computer system 450 through the distributedcomputing system 400. As will be explained in greater detail below,trading application 405 may be configured to communicate with a plurality of computers, some of which may have differing functions thanexchange computer system 450. - In one embodiment,
trading application 405 may be a source, (such as source 321) that is associated withrouter 435. As previously discussed, in such an embodiment,trading application 405 may be associated with another router ifrouter 435, for example, becomes unavailable or overwhelmed with other sources.Trading application 405 may be for example, software, hardware, firmware, or indeed any computer readable instructions capable of sending and/or receiving a message or permitting other instructions to send and/or receive a message to another computing device. The trading application may communicate with other peripherals and computers within thesystem 400 by wired or wireless protocols. - In the illustrated embodiment,
trading application 405 is configured to transmitmessage 410.Message 410 comprises amessage type 410 a andcontent 410 b. The message type may be used to categorize the type of message. For example, themessage type 410 a indicates thatmessage 410 is a trade message. One skilled in the art will realize that thesystem 400 may be configured to allow a vast array of message categories that may be updated or otherwise changed over time by an administrator or end users. Indeed, in one embodiment, the type of the message determines one or more transport protocols that may be used to transport the message. In the illustrated embodiment,message 410 includescontent 410 b comprising “add trade A”. While the content inmessage 410 is in plain text, it is to be understood that any alphanumeric combination may be used. Indeed, in one embodiment, the content of the message may be computer executable code.Message 410 may be in any format, including propriety or open-source. The label “Protocol X” has been placed within the message to more readily illustrate aspects of the invention to the reader. As discussed above and throughout the specification, the format and protocol of messages may be distinct from other messages from other applications and/or sources communicating within the distributedcomputing system 400. - As seen in the
FIG. 4 ,message 410 may then be received atmessaging gateway 415.Messaging gateway 415 is configured to placemessage 410 and other received messages into a proper format to be transferred through a transport mechanism, such astransport mechanism 420.Transport mechanism 420 may be any computer aided method of transmitting data, such as sockets, e-mail servers, or indeed any method known to those skilled in the art or developed in the art to electronically transport information. For example, in one embodiment the message may be in HTML format and transported across the web or other network supporting HTML, whereas in another embodiment a plurality of differing transport mechanisms are utilized to deliver the messages. - As one skilled in the art will readily appreciate, trading messages may not be received at a messaging gateway in the order it was received. For example,
source 327 may be in communication withmessage gateway 310 through a high speed connection that allows more messages to be received in a shorter time frame than a message received fromsource 328. It is often important to process the trading messages in a sequential order. In one embodiment of the invention, the messages entering the message gateway further comprise a message ID or other mechanism to allow the message gateways to determine the proper sequence of the messages. Therefore, although the message gateways may be configured to simultaneously process a plurality of messages (even from different sources), the message gateway may be configured to allow concurrent processing with sequence preservation. - The transport mechanism may communicate with a plurality of messaging gateways, such as
messaging gateways ports ports outgoing message 410 may be received ininput port 422 and transmitted first tomessaging gateway 430 throughoutput port 423. As seen inFIG. 4 ,messaging gateway 430 is associated withrouter 435, whereinmessaging gateway 430 may be configured to listen for messages transmitted to or otherwise received at therouter 435. While the figure shows the messaging gateways and the router (such asmessaging gateway 430 and router 435) as two separate structures, in one alternative embodiment, messaging gateways may perform the function of the disclosed routers and may further allow for point-to-point communications in addition with communications disclosed herein. One or more the disclosed messaging gateways may also be configured to manage transactions and threads on behalf of client systems, which may include routers. Many of the aspects of the invention are illustrated to the user as individual structures to more readily portray to various embodiments; however, each of the illustrated structures may be combined. - As
router 435 illustrates, a set of routing rules may be applied to a message incoming to the router. The routing rules may be stored on a computer readable medium within a router, for example, a partitioning coordinating router, such asrouter 305, or in a plurality of the routers within the distributed computing system.Rules - Looking to rule 436, it has instructions to indicate messages having the content “add trade A” are to be routed to exchange
computer system 450. Upon receivingmessage 410 and analyzing at least a portion of its content with the rules, it is determined where to transmit the message. In the illustrated example,message 410 is transmitted to exchangecomputer system 450. The message may then be again routed throughmessaging gateway 430 or a separate gateway to format the outgoing message based on the protocol(s) utilized by the application to receive the message atsystem 450. In this manner,trading application 405 may utilize a different protocol thanexchange computer system 450 and still receive the message without substantial inefficiencies.Messaging gateway 430 may also reformat or adjust the message or container holding the message to a format to properly be transmitted across the transport layer or layers that the message - The present invention has been described herein with reference to specific exemplary embodiments thereof. It will be apparent to those skilled in the art that a person understanding this invention may conceive of changes or other embodiments or variations, which utilize the principles of this invention without departing from the broader spirit and scope of the invention as set forth in the appended claims. All are considered within the sphere, spirit, and scope of the invention. For example, aspects of the invention may be used with any number of combinations of spread strategies that when examined on a link-by-link basis are comprised of the same underlying financial instruments.
Claims (20)
1. An exchange computer system comprising:
a plurality of routers configured to route messages;
a computer readable medium storing the identification of a plurality of message sources that generate messages; and
a partitioning coordinator router programmed with computer-executable instructions to cause the partitioning coordinator router to perform steps comprising
(a) accessing the identification of the plurality of message sources,
(b) dynamically partitioning the plurality of message sources among the plurality of routers to create a first assignment of the plurality of message sources to the plurality of routers,
(c) determining to initiate a partitioning of the plurality of message sources among the plurality of routers, and
(d) in response to (c), dynamically partitioning the plurality of message sources among the plurality of routers to create a second assignment of the plurality of message sources to the plurality of routers, wherein the second assignment is different from the first assignment.
2. The exchange computer system of claim 1 , wherein the plurality of message sources includes a match engine.
3. The exchange computer system of claim 1 , wherein the plurality of message sources includes a trade clearing application.
4. A computer implemented method of configuring a distributed computing system having a plurality of routers configured to route messages, the method comprising:
(a) storing an identification of a plurality of available message sources that are configured to communicate with one another;
(b) accessing with a partitioning coordinator router the identification of the plurality of available message sources;
(c) dynamically partitioning the plurality of available message sources among a plurality of routers that includes the partitioning coordinator router to create a first assignment of the plurality of available message sources to the plurality of routers;
(d) determining to initiate a partitioning of the plurality of available message sources among the plurality of routers; and
(e) in response to (d), dynamically partitioning the plurality of available message sources among the plurality of routers to create a second assignment of the plurality of available message sources to the plurality of routers, wherein the second assignment is different from the first assignment.
5. The computer implemented method of claim 4 , wherein (b) comprises designating the first router detected within the distributed computer system as the partitioning coordinator router.
6. The computer implemented method of claim 5 , wherein the designation of the partitioning coordinator router is based on a factor of the router selected from the group consisting of: reliability, total bandwidth, available bandwidth, status, location and combinations thereof.
7. The computer implemented method of claim 4 , further comprising:
(d) assigning at least one of the plurality of routers as a backup router;
(e) periodically receiving an indication of the status of the partitioning coordinator router; and
(f) when the partitioning coordinator router malfunctions, repartitioning the sources so that the at least one backup router performs the function of the partitioning coordinator router.
8. The computer implemented method of claim 4 , further comprising:
(d) configuring at least one router to transmit a status signal to the partitioning coordinator router at a predetermined period of time, wherein if the status signal is not received within the predetermined period of time, the sources associated with the at least one router are assigned to at least one other router within the distributed computer system without requiring reconfiguration of the at least one other router to the sources that have reassigned to it.
9. The computer implemented method of claim 8 , further comprising:
(e) upon receiving the status signal in (d), deciphering the signal to determine whether to reassign the sources assigned to the at least one router transmitting the status signal to another router among the plurality of routers.
10. The computer implemented method of claim 4 , further comprising:
(d) providing a messaging gateway to be in operative communication with the at least one message source, the messaging gateway being configured to place a message transmitted from the at least one message source into a proper format to be transferred through a transport mechanism.
11. A distributed computing system for exchanging trading information comprising:
(a) at least one message source configured to transmit a trade message, wherein the trade message comprises content;
(b) a messaging gateway in operative communication with the at least one message source that is configured to communicate with other message sources, the messaging gateway being configured to place a message transmitted from the at least one message source into a format to be transferred through a transport mechanism;
(c) a plurality of routers, comprising at least one partitioning coordinator router, and each including a computer readable medium having computer readable instructions for
(i) dynamically partitioning available message sources among the plurality of routers to create a first assignment of the available message sources to the plurality of routers,
(ii) determining to initiate a partitioning of the available message sources among the plurality of routers, and
(iii) in response to (ii), dynamically partitioning the available message sources among the plurality of routers to create a second assignment of the available message sources to the plurality of routers, wherein the second assignment is different from the first assignment; and
(d) a computer readable medium having computer readable instructions comprising routing rules for routing the message of (a) to a computing device in the distributed computing environment based upon the content of the message.
12. The distributed computing system of claim 11 , wherein the at least one message source comprises a plurality of different applications.
13. The distributed computing system of claim 12 , wherein the plurality of different applications are not configured to create and process messages with a single format.
14. The distributed computing system of claim 11 , wherein computer readable medium having the computer readable instructions for dynamically partitioning the available sources is integrated with the partitioning coordinator router.
15. The distributed computing system of claim 11 , further comprising:
(e) a message gateway in operative communication at least one of the routers, wherein upon the message being routed by the router, the message is transmitted to the message gateway and altered for transport through a transport mechanism.
16. The distributed computing system of claim 11 , further comprising:
(e) a message gateway in operative communication at least one of the routers and configured to change the format of received messages into formats that may be interpreted by applications at endpoints.
17. A method of transporting a trade message in a distributed computing system comprising a plurality of routers, the method comprising the steps of:
(a) detecting a plurality of routers within the distributed computing system;
(b) dynamically partitioning a plurality of available message sources that are configured to communicate with one another among the plurality of routers;
(c) transmitting from one of the message sources to a message gateway a trade message comprising content;
(d) altering a format of the trade message at the message gateway so that the message is in a format that may be interpreted by a destination message source; and
(e) routing the trade message to an associated router from (b), wherein routing of the trade message at the router is based upon the content of the message, wherein (b) comprises
(i) dynamically partitioning the plurality of available message sources among the plurality of routers to create a first assignment of the plurality of available message sources to the plurality of routers,
(ii) determining to initiate a partitioning of the plurality of available message sources among the plurality of routers, and
(iii) in response to (ii), dynamically partitioning the plurality of available message sources among the plurality of routers to create a second assignment of the plurality of available message sources to the plurality of routers, wherein the second assignment is different from the first assignment.
18. The method of claim 17 , wherein the messages further comprise a message ID and the message gateway is configured to provide sequence preservation while permitting simultaneous concurrent processing of a plurality of messages.
19. The method of claim 17 , wherein the message further comprises a type, wherein the type of the trade message determines at least one transport mechanism that is utilized to transport the message.
20. The method of claim 17 , wherein one of the available message sources includes a match engine.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/403,200 US20120151001A1 (en) | 2005-09-23 | 2012-02-23 | Clearing Message Broker System |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/234,727 US8149732B1 (en) | 2005-09-23 | 2005-09-23 | Clearing message broker system |
US13/403,200 US20120151001A1 (en) | 2005-09-23 | 2012-02-23 | Clearing Message Broker System |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/234,727 Continuation US8149732B1 (en) | 2005-09-23 | 2005-09-23 | Clearing message broker system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120151001A1 true US20120151001A1 (en) | 2012-06-14 |
Family
ID=45877385
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/234,727 Active 2029-01-24 US8149732B1 (en) | 2005-09-23 | 2005-09-23 | Clearing message broker system |
US13/403,200 Abandoned US20120151001A1 (en) | 2005-09-23 | 2012-02-23 | Clearing Message Broker System |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/234,727 Active 2029-01-24 US8149732B1 (en) | 2005-09-23 | 2005-09-23 | Clearing message broker system |
Country Status (1)
Country | Link |
---|---|
US (2) | US8149732B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170099162A1 (en) * | 2015-10-02 | 2017-04-06 | Hiroyuki Kanda | Transmission management system and relay device selecting method |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8149732B1 (en) * | 2005-09-23 | 2012-04-03 | Chicago Mercantile Exchange, Inc. | Clearing message broker system |
US10554534B1 (en) | 2005-09-23 | 2020-02-04 | Chicago Mercantile Exchange Inc. | Clearing message broker system messaging gateway |
US8885514B2 (en) * | 2009-07-30 | 2014-11-11 | New Jersey Institute Of Technology | Assigning source nodes to a select group in a wireless communication network |
US10263888B2 (en) * | 2010-09-30 | 2019-04-16 | Trading Technologies International, Inc. | Sticky order routers |
US20160344669A1 (en) * | 2015-05-20 | 2016-11-24 | Ryan Bonham | Managing government messages |
CN110473101A (en) * | 2019-08-15 | 2019-11-19 | 中国银行股份有限公司 | Mock trading message processing method and device |
US11178091B1 (en) | 2020-11-12 | 2021-11-16 | Chicago Mercantile Exchange Inc. | Message ordering buffer |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5602839A (en) * | 1995-11-09 | 1997-02-11 | International Business Machines Corporation | Adaptive and dynamic message routing system for multinode wormhole networks |
US20010021189A1 (en) * | 2000-03-02 | 2001-09-13 | Yoshiaki Shiota | Packet exchange and router and input packet processing method thereof |
US6333933B2 (en) * | 1998-09-08 | 2001-12-25 | Hitachi, Ltd. | Programmable network |
US20020103930A1 (en) * | 2000-11-28 | 2002-08-01 | Navic Systems, Inc. | Protocol for throttling high volume messages |
US20040052212A1 (en) * | 2002-09-13 | 2004-03-18 | Steve Baillargeon | Packet flow control in a wireless communications network based on an indication contained in a packet |
US20040215596A1 (en) * | 2000-09-29 | 2004-10-28 | Fukuhara Keith T | System, method and apparatus for data processing and storage to provide continuous operations independent of device failure or disaster |
US20050117576A1 (en) * | 2000-11-28 | 2005-06-02 | Mci, Inc. | Network access system including a programmable access device having distributed service control |
US7009987B1 (en) * | 1998-10-30 | 2006-03-07 | Kabushiki Kaisha Toshiba | Router device and cut-through path control method for realizing load balancing at intermediate routers |
US7286529B1 (en) * | 1999-02-26 | 2007-10-23 | Cisco Technology, Inc. | Discovery and tag space identifiers in a tag distribution protocol (TDP) |
US8149732B1 (en) * | 2005-09-23 | 2012-04-03 | Chicago Mercantile Exchange, Inc. | Clearing message broker system |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870556A (en) | 1996-07-12 | 1999-02-09 | Microsoft Corporation | Monitoring a messaging link |
US7765133B1 (en) * | 2000-02-16 | 2010-07-27 | Omgeo Llc | System for facilitating trade processing and trade management |
US6781992B1 (en) | 2000-11-30 | 2004-08-24 | Netrake Corporation | Queue engine for reassembling and reordering data packets in a network |
US20030165139A1 (en) * | 2001-08-15 | 2003-09-04 | Tsu-Wei Chen | Packet routing via payload inspection |
KR100411134B1 (en) * | 2001-11-27 | 2003-12-18 | 에스케이 텔레콤주식회사 | MPLS based Multicast Routing Protocol Method |
US7039671B2 (en) * | 2001-11-30 | 2006-05-02 | Sonic Software Corporation | Dynamically routing messages between software application programs using named routing nodes and named message queues |
US7720910B2 (en) | 2002-07-26 | 2010-05-18 | International Business Machines Corporation | Interactive filtering electronic messages received from a publication/subscription service |
US8045566B2 (en) * | 2003-08-01 | 2011-10-25 | Hewlett-Packard Development Company, L.P. | Automated router load balancing |
US7756033B2 (en) * | 2004-05-03 | 2010-07-13 | Verizon Business Global Llc | Systems and methods for managing multicast data transmissions |
US8849892B2 (en) | 2004-06-10 | 2014-09-30 | Verizon Patent And Licensing Inc. | Method and system for brokering messages in a distributed system |
US20060215666A1 (en) * | 2005-03-23 | 2006-09-28 | Shepherd Frederick B | Methods and devices for routing traffic using randomized load balancing |
-
2005
- 2005-09-23 US US11/234,727 patent/US8149732B1/en active Active
-
2012
- 2012-02-23 US US13/403,200 patent/US20120151001A1/en not_active Abandoned
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5602839A (en) * | 1995-11-09 | 1997-02-11 | International Business Machines Corporation | Adaptive and dynamic message routing system for multinode wormhole networks |
US6333933B2 (en) * | 1998-09-08 | 2001-12-25 | Hitachi, Ltd. | Programmable network |
US7009987B1 (en) * | 1998-10-30 | 2006-03-07 | Kabushiki Kaisha Toshiba | Router device and cut-through path control method for realizing load balancing at intermediate routers |
US7286529B1 (en) * | 1999-02-26 | 2007-10-23 | Cisco Technology, Inc. | Discovery and tag space identifiers in a tag distribution protocol (TDP) |
US20010021189A1 (en) * | 2000-03-02 | 2001-09-13 | Yoshiaki Shiota | Packet exchange and router and input packet processing method thereof |
US20040215596A1 (en) * | 2000-09-29 | 2004-10-28 | Fukuhara Keith T | System, method and apparatus for data processing and storage to provide continuous operations independent of device failure or disaster |
US20020103930A1 (en) * | 2000-11-28 | 2002-08-01 | Navic Systems, Inc. | Protocol for throttling high volume messages |
US20050117576A1 (en) * | 2000-11-28 | 2005-06-02 | Mci, Inc. | Network access system including a programmable access device having distributed service control |
US20040052212A1 (en) * | 2002-09-13 | 2004-03-18 | Steve Baillargeon | Packet flow control in a wireless communications network based on an indication contained in a packet |
US8149732B1 (en) * | 2005-09-23 | 2012-04-03 | Chicago Mercantile Exchange, Inc. | Clearing message broker system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170099162A1 (en) * | 2015-10-02 | 2017-04-06 | Hiroyuki Kanda | Transmission management system and relay device selecting method |
Also Published As
Publication number | Publication date |
---|---|
US8149732B1 (en) | 2012-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10776864B2 (en) | System and method of utilizing a distributed order book in an electronic trade match engine | |
US20120151001A1 (en) | Clearing Message Broker System | |
US8626625B2 (en) | Trade engine processing of mass quote messages and resulting production of market data | |
US9774462B2 (en) | Methods and apparatus for requesting message gap fill requests and responding to message gap fill requests | |
US7987283B1 (en) | System and method for transferring data between a user space and a kernel space in a server associated with a distributed network environment | |
US7805360B2 (en) | Template based matching | |
US20050198351A1 (en) | Content-based routing | |
US20050203826A1 (en) | Implied spread trading system | |
US20150170279A1 (en) | Processing Binary Options in Future Exchange Clearing | |
CN101202714A (en) | Method and system dispatching a message request to a service provider in a messaging environment | |
US20230206330A1 (en) | System and Method for Multi-Market Risk Control in a Distributed Electronic Trading Environment | |
JP5007239B2 (en) | Distributed transaction matching service | |
US10554534B1 (en) | Clearing message broker system messaging gateway | |
CN111522662B (en) | Node system for financial analysis and implementation method thereof | |
US7254611B1 (en) | Multi-hub connectivity in a system for collaborative planning | |
US8560415B2 (en) | Smart trade template based matching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CHICAGO MERCANTILE EXCHANGE, INC., ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BORRO, TODD;HOAG, DAVID;MADHAVAN, AJAY;REEL/FRAME:027750/0759 Effective date: 20050922 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |