CA2995702C

System and method for managing relationships between brokers and traders using a messaging format

Abstract

According to one embodiment, a method of managing messages in a trading network is provided. A set of user relationships between a first user and one or more second users authorized to act on behalf of the first user is stored. A trading message regarding a trading order submitted on behalf of the first user is received from a trading system. The trading message is communicated to the first user. Each of the second users is identifying from the set of user relationships. For each of the identified second users, a carrier message is generated that includes the trading message and routing information associated with that second user. For each of the identified second users, the respective carrier message is communicated toward a user application associated with that second user based at least on the routing information included in the respective carrier message.

CA2995702C, drawing sheet 1
Sheet 1 of 9

Term

Term ended

Expired 28 October 2024, 1.9 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

58 claims: 4 independent, 54 dependent

  1. 1
    Claims:1. A method, comprising: receiving, by a computing server from a first broker via a first graphical user interface associated with a first broker application of a first computing terminal, a request by the first broker to manage trading orders, via a trading system, on behalf of a user, wherein to manage trading orders via the trading system includes at least: to submit, on behalf of the user, trading orders to the trading system, to modify, on behalf of the user, existing trading orders on the trading system, and to cancel, on behalf of the user, existing trading orders on the trading system, and wherein the computing server and the first computing terminal are communicatively coupled via a communications network;based at least in part on receiving the request from the first broker, storing, by the computing server, first data that: (i) indicates a relationship between the first broker and the user, wherein the relationship between the first broker and the user indicates that the first broker is authorized, via the trading system, to manage trading orders on behalf of the user;(ii) indicates an association between: (a) a connection between the computing server and the trading system, the connection being one of the plurality of connections between the computing server and the trading system, and (b) the relationship between the first broker and the user;receiving, by the computing server from a second broker via a second graphical user interface associated with a second broker application of a second computing terminal, a request by the second broker to manage trading orders, via the trading system, on behalf of the user, wherein the computing server and the second computing terminal are communicatively coupled via the communications network;based at least in part on receiving the request from the second broker, storing, by the computing server, second data that: CA 2995702 2020-01-02 (i) indicates a relationship between the second broker and the user, wherein the relationship between the second broker and the user indicates that the second broker is authorized, via the trading system, to manage trading orders on behalf of the user, and (ii) indicates an association between: 5 (a) a connection between die computing server and the trading system, the connection being from the plurality of connections between the computing server and the trading system, and (b) the relationship between the second broker and the user;receiving, by the computing server from the first broker via the first graphical user 10 interface associated with the first broker application of the first computing terminal, a trading order submitted by the first broker on behalf of the user, wherein the trading order comprises at least one of a bid to buy and an offer to sell a financial instrument and information that identifies the user;based at least in part on the information from the trading order that identifies the user, 15 identifying, by the computing server from the first data, the relationship between the first broker and the user;in response to identifying the relationship between the first broker and the user, identifying, by the computing server, the connection from the plurality of connections that is associated with the relationship;20 based at least in part on identifying the connection, communicating, by the computing server, the trading order to the trading system via the identified connection, receiving, by the computing server from the trading system, a trading message that is directed to the user and is in response to the trading order;based at least in part on the trading message being directed to the user, identifying by the 25 computing server, from at least the first and the second stored data, brokers having a relationship with the user, including identifying at least the first broker and the second broker;based at least in part on identifying the first broker, communicating, by the computing server, the trading message to the first broker via the first computing terminal;and based at least in part on identifying the second broker, communicating, by the 30 computing server, the trading message to the second broker via the second computing terminal, wherein communicating the trading message to the first broker comprises: CA 2995702 2020-01-02 generating a first carrier message that includes a first data packet that includes a first header encapsulated with (i) the trading message and (ii) routing information associated with the first computing terminal;and communicating the first carrier message to the first computing terminal;and wherein communicating the trading message to the second broker comprises: generating a second carrier message that includes a second data packet that includes a second header encapsulated with (i) the trading message and (ii) routing information associated with the second computing terminal;and communicating the second carrier message to the second computing terminal.
  2. 2
    An apparatus, comprising at least one computing server that includes instructions, that when executed by the at least one computing server, direct the at least one computing server to:receive, from a first broker via a first graphical user interface associated with a first broker application of a first computing terminal, a request by the first broker to manage trading orders, via a trading system, on behalf of a user, wherein to manage trading orders via the trading system includes at least: to submit, on behalf of the user, trading orders to the trading system, to modify, on behalf of the user, existing trading orders on the trading system, and to cancel, on behalf of the user, existing trading orders on the trading system, and wherein the at least one computing server is operable to communicate with the first computing terminal via a communications network;based at least in part on receiving the request from the first broker, store first data that: (i) indicates a relationship between the first broker and the user, wherein the relationship between the first broker and the user indicates that the first broker is authorized, via the trading system, to manage trading orders on behalf of the user, and (ii) indicates an association between: (a) a connection between the computing server and the trading system, the connection being one of the plurality of connections between the computing CA 2995702 2020-01-02 server and the trading system, and (b) the relationship between the first broker and the user;receive, from a second broker via a second graphical user interface associated with a second broker application of a second computing terminal, a request by the second broker to manage trading orders, via the trading system, on behalf of the user, wherein the at least one computing server is operable to communicate with the second computing terminal via the communications network;based at least in part on receiving the request from the second broker, store second data that: (i) indicates a relationship between the second broker and the user, wherein the relationship between the second broker and the user indicates that the second broker is authorized, via the trading system, to manage trading orders on behalf of the user, and (ii) indicates an association between: (a) a connection between the computing server and the trading system, the connection being from the plurality of connections between the computing server and the trading system, and (b) the relationship between the second broker and the user;receive, from the first broker via the first computing terminal, a trading order submitted by the first broker on behalf of the user, wherein the trading order comprises at least one of a bid to buy and an offer to sell a financial instrument and information that identifies the user;based at least in part on the information from the trading order that identifies the user, identifying, by the computing server from the first data, the relationship between the first broker and the user;in response to identifying the relationship between the first broker and the user, identifying, by the computing server, the connection from the plurality of connections that is associated with the relationship;based at least in part on identifying the connection, communicating, by the computing server, the trading order to the trading system via the identified connection, receive, from the trading system, a trading message that is directed to the user and is response to the trading order;based at least in part on the trading message being directed to the user, identify from at CA 2995702 2020-01-02 least the first and the second stored data brokers having a relationship with the user, including identifying at least the first broker and the second broker;based at least in part on identifying the first broker, communicate the trading message to the first broker via the first computing tenninal;and based at least in part on identifying the second broker, communicate the trading message to the second broker via the second computing terminal, wherein to communicate the trading message to the first broker comprises to: generate a first carrier message that includes a first data packet that includes a first header encapsulated with (i) the trading message and (ii) routing information associated with the first computing terminal;and communicate the first carrier message to the first computing terminal;and wherein to communicate the trading message to the second broker comprises to: generate a second carrier message that includes a second data packet that includes a second header encapsulated with (i) the trading message and (ii) routing information associated with the second computing terminal;and communicate the second carrier message to the second computing tenninal.
  3. 3
    A method, comprising:receiving, by a computing server from a first broker via a first graphical user interface associated with a first broker application of a first computing tenninal, a request by the first broker to manage trading orders, via a trading system, on behalf of a user, wherein to manage trading orders via the trading system includes at least: to submit, on behalf of the user, trading orders to the trading system, to modify, on behalf of the user, existing trading orders on the trading system, and to cancel, on behalf of the user, existing trading orders on the trading system, and wherein the computing server and the first computing terminal are communicatively coupled via a communications network;based at least in part on receiving the request from the first broker, storing, by the CA 2995702 2020-01-02 computing server, first data, wherein the first data: (i) indicates a relationship between the first broker and the user, wherein the relationship between the first broker and the user indicates that the first broker is authorized, via the trading system, to mange trading orders on behalf of the user, and (ii) indicates an association between: (a) a connection between the computing server and the trading system, the connection being one of a plurality of connections between the computing server and the trading system, and (b) the relationship between the first broker and the user;rec eiving, by the computing server from the first broker via the first computing terminal a trading command submitted by the first broker on behalf of the user, the trading command comprising information that identifies the user;based at least in part on the information from the trading command that identifies the user, identifying, by the computing server from the first data, the relationship between the first broker and the user;in response to identifying the relationship between the first broker and the user, identifying, by the computing server, the connection from the plurality of connections that is associated with the relationship;and based at least in part on identifying the connection, communicating, by the computing server, the trading command to the trading system via the identified connection, wherein receiving the trading command from the first broker comprises receiving from the first computing terminal a carrier message that includes a first data packet that includes a first header encapsulated with the trading command, and wherein the method further comprises separating by the computing server the trading command from the carrier message prior to communicating the trading command to the trading system.
  4. 15
    An apparatus, comprising at least one computing server that includes instructions, that when executed by the at least one computing server, direct the at least one computing server to:receive from a first broker via a first graphical user interface associated with a first broker application of a first computing terminal a request by the first broker to manage trading orders, via a trading system, on behalf of a user, wherein to manage trading orders via the trading system includes at least: to submit, on behalf of the user, trading orders to the trading system, to modify, on behalf of the user, existing trading orders on the trading system, and to cancel, on behalf of the user, existing trading orders on the trading system, and wherein the at least one computing server is operable to communicate with the first computing terminal via a communications network;based at least in part on receiving the request from the first broker, store first data, CA 2995702 2020-01-02 wherein the first data: (i) indicates a relationship between the first broker and the user, wherein the relationship between the first broker and the user indicates that the first broker is authorized, via the trading system, to manage trading orders on behalf of the user, and (ii) indicates an association between: (a) a connection between the at least one computing server and the trading system, the connection being one plurality of connections between the at least one computing server and the trading system, and (b) the relationship between the first broker and the user;receive from the first broker via the first graphical user interface associated with the first broker application of the first computing terminal a trading command submitted by the first broker on behalf of the user, the trading command comprising information that identifies the user;based at least in part on the information from the trading command that identifies the user, identify from the first data the relationship between the first broker and the user;in response to identifying the relationship between the first broker and the user, identify the connection, from the plurality of connections, that is associated with the relationship;and based at least in part on identifying the connection, communicate the trading command to the trading system via the identified connection, wherein to receive the trading command from the first broker comprises to receive from the first computing terminal a carrier message that includes a first data packet that includes a first header encapsulated with the trading command;and wherein the instructions, when executed by the at least one computing server, further direct the at least one computing server to separate the trading command from the carrier message prior to communicating the trading command to the trading system.