Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

For iLink order entry on the CME Globex platform, CME provides two gateway access models.  

  • Convenience Gateway (CGW) - provides a connection to any CGW session, which manages routing for all order entry messages to all market segments; routing is transparent to customer.
  • Market Segment Gateway (MSGW) - provides a connection to a dedicated market segment, which is defined as a group of products on a given trading engine instance.
Info

Connecting directly to MSGWs involves a separate Session ID model, messaging behavior, and functional differences from that of the CGW.

Customers can choose to access CME Globex markets through the MSGWs or CGWs, which route through the MSGWs.

...

Table of Contents
maxLevel4

iLink Architecture Video Overview

Watch this brief video for an overview of iLink architecture.

iLink Session Model

For CGW, Session ID can exist on only one CGW.

For MSGW, Session IDs are shared across multiple MSGWs. Customers utilize a single Session ID, password, and port across all MSGWs.

...

Info

Sequence streams are unique per Market Segment ID and Session ID combination. For example, if session ABC has logged into Market Segment ID 50 and 60, then session ABC could receive Execution Reports from both market segments with the same message sequence number (tag 34-MsgSeqNum).

Excerpt

iLink Fault Tolerance

For iLink, Fault Tolerance is managed at the gateway application level. iLink has a designated host that is primary and another that is designated backup.

  • Customers must successfully log on to the primary before attempting to log on to the backup.
    • If a session logs on to the backup gateway before logging on to the primary gateway, CME Globex will send a Logout message (tag 35-MsgType=5), with tag 58-Text = Invalid Logon. Must be logged on to Primary. Logout forced.
  • Customers can only trade through primary connections.
  • Customers can connect to the backup, but can send only Administrative messages (e.g. Test Request, Heartbeat). Application messages sent to a backup gateway are rejected.
  • Disconnecting or logging out from the primary gateway—either client- or exchange-initiated—will trigger an automatic logout or disconnect from the backup gateway as well, except in the Primary gateway failure scenario.
    • A Logout message (tag 35-MsgType=5) with tag 58-Text = Logout initiated due to disconnect on primary connection will be sent from CME Globex to the customer.
  • If the primary gateway fails, failover occurs by promoting the backup gateway to assume the primary role.
    • During the designated primary instance failure condition, CME Group may keep the designated backup instance as primary gateway. 
    • Customers who experience log on issues with their primary iLink sessions must rely on the reason text (tag 58) to detect if they are connecting to primary gateway, which could be different than the primary host IP address.
    • To re-establish connection successfully, customer must log on to their backup iLink sessions.
Info
Client systems must examine tag 58-Text of the logout message to successfully reestablish connection to the newly promoted primary.

iLink Fault Tolerance Scenarios

ScenariosGiven Primary Gateway StateGiven Backup Gateway StateWhenThen Primary Connection StateThen Backup Connection StateResult
Initial Logon to Primary Session

Not connected

Not connected

Logon to primary followed by Logon to backup

Logged on 

Logged on 

Client system uses the fault tolerance feature.

Client system must send a Logon message to primary gateway first with the Fault Tolerance Indicator (FTI) in tag 49-SenderCompID set to 'U' for undefined.

Initial Logon to Primary Session

Not connected

Not connected

Logon to backup 


Logged out 

New behavior

Client system sends a Logon to backup gateway first.

CME Globex sends a Logout (tag 35-MsgType=5) message.

Primary Session Disconnect

Logged on


Logged on

Disconnect from primary

Disconnected

Logged out

Client system is disconnected from primary gateway, the backup connection is logged out as well.

All resting orders are cancelled for all Cancel on Disconnect registered iLink sessions.

All resting quotes are cancelled on behalf of the iLink 2 Mass Quote customers.

Backup Session Disconnect

Logged on

Logged on

Disconnect from backup

Logged on 

Disconnected

A TCP disconnection from backup gateway does not affect primary connection.

Resting orders and quotes are not cancelled.

Logout from Primary Session

Logged on 

Logged on 

Logout from primary 

Logged out 

Logged out 

Client system is logged out from primary gateway, the backup connection is logged out as well.

If the logout is exchange initiated, all resting orders are cancelled for all Cancel on Disconnect registered gateway sessions.

All resting quotes are cancelled on behalf of the Mass Quote customers.

Logout from Backup Session

Logged on 

Logged on 

Logout from backup

Logged on

Logged out

Logout from backup gateway does not affect primary connection.

All resting orders and quotes are not cancelled.

Logon with Fault Tolerance

(FTI value of U, P, or B)

Logged on

Logged on

Primary MSGW FailureDisconnectedBackup connection becomes Primary

Newly promoted primary will send a heartbeat.

Resting orders are not cancelled.

All resting quotes are cancelled on behalf of Mass Quote customers.

Logon with Fault Tolerance

(FTI value of U, P, or B)

Logged on

Not connected

Primary MSGW FailureDisconnectedSession must connect and login to the new promoted primary.

All resting orders are cancelled for all Cancel on Disconnect registered iLink sessions.

All resting quotes are cancelled on behalf of Mass Quote customers.

Logon without Fault Tolerance

(FTI value of N)

Logged on

Not allowed to connectPrimary MSGW FailureDisconnectedSession must connect and login to the new promoted primary.

All resting orders are cancelled for all Cancel on Disconnect registered iLink sessions.

All resting quotes are cancelled on behalf of Mass Quote customers.

Logon with Fault Tolerance

(FTI value of U, P, or B)

Logged on

Logged on

Backup MSGW FailureLogged onSession must connect and login to the restored backup.

The failed backup is restored.

All resting orders and quotes are not cancelled.

Logon without Fault Tolerance

(FTI value of N)

Logged on

Not allowed to connectBackup MSGW FailureLogged onNot connected

The status of the primary connection remains intact.

All resting orders and quotes are not cancelled.
Info
  • A TCP disconnection or a FIX logout can be either client-initiated or Exchange-initiated.
  • A TCP disconnection or a FIX logout does not lead to failover; only gateway failure leads to failover.
  • When client systems are logged out or disconnected from the primary connection, they will be logged out from the backup connection as well, if applicable. (Does not apply to the Primary gateway failure scenario.)


Convenience Gateway

Customers can continue access and trade on the "standard" iLink gateway, referred to as the iLink Convenience Gateway (CGW).

The CGW allows the client system to connect to any CGW session, which manages routing for all order messages.

CGW FIFO Message Processing Model

The CGW FIFO message handling is enforced once the message reaches the MSGW. The following diagram shows the CGW model in which the example Session, AB1, exists on a single gateway.

Gliffy
nameiLink-Architecture-Convenience-Gateway-FIFO
pagePin2

CGW Sequence Number Management

CGW message sequencing is managed using the SenderCompID value as in standard iLink Session Layer - Message Sequence Numbers.

Market Segment Gateway

One iLink MSGW provides connectivity to a single market segment. Currently there are 17 market segments or groups of products on a given trading engine instance.

Info
Client system messaging must identify the market segment for order entry routing. Market Segment is defined for each instrument in tag 1300-MarketSegmentID in the MDP Security Definition message.

SFTP - MSGW Configuration

An SFTP site (sftpng.cmegroup.com), accessed via a CME Globex network direct connection, is used to disseminate the MSGW configuration information. The MSGW Configuration allows client systems to receive the list of all market segments and MSGW IPs. This SFTP site contains the configuration files for all environments. The SFTP site is a secure site that requires a user name and password for access.

Table Key:

  • Environment - specific environment (i.e., Certification, New Release, Production).

   Note: The Autocert+ tool will use the NR MSGW config file.

  • Service - the Configuration service.
  • SFTP Site - address of SFTP site.
  • User Name - identifies the user name.
  • Password - identifies the password.
  • Directory Location - identifies the directory.
  • Client System Update Schedule - Client systems should download updates according to the schedule specified.

...

Info

Packet size maximum behavior based on MTU (Maximum Transmission Unit) - 1420 bytes, as defined on our network

  • If a customer sends a packet with an incomplete message, the message will be processed once the subsequent packet completes the message. The message is entered into the FIFO queue on the MSGW only when the message is complete.
  • If a customer sends a packet with one or more complete messages and a partial message at the end, all complete messages from that packet will be processed immediately and the partial message is held to be processed on the subsequent packet(s).
  • If a customer sends a packet with an incomplete message and the first complete message of the next packet on that session is not the continuation of the message, the MSGW will merge both messages into a single message and then discard the message due to the invalid tag 10-CheckSum value. 

MSGW Sequence Number Management

A single session is able to login to all 17 MSGW instances. To manage message sequence numbers, the customer must leverage the combination of Session ID (the first 3 characters of tag 49-SenderCompID) and tag 1300-MarketSegmentID. 

...


CGW Session ID

MSGW Session ID

Number of TCP connection(s)1 TCP connection to access all market segments1 to 17 TCP connections to access all market segments
Number of sequence stream(s)

1 sequence stream

Customers must manage 1 to 17 different sequence streams based on the combination of Session ID and Market Segment ID

Tag 57-TargetSubID

Customers may connect directly to all Market Segment Gateways using the same Session ID. Customers can use tag 1300-MarketSegmentID from the market data Security Definition (tag 35-MsgType=d) message to specify the market segment for the products they want to trade on CME Globex.

...

Info
CGW sessions will continue to use tag 57-TargetSubID=G for all messages sent from the client system to CME Globex.

MSGW Failover Scenarios

During a MSGW failover from the primary to the backup instance, customer iLink messages will be rejected.

...

  • The failure of a backup component will not affect the primary connection state.
  • The failed backup MSGW is restored.

CME Globex Timestamps

 Watch this brief video for an overview of CME Globex timestamps.

...

Gliffy
nameiLink-Architecture-Globex-Timestamps
pagePin2

Nanosecond Timestamp (tag 5979-RequestTime)

To provide more transparency between iLink order entry and MDP 3.0 market data, iLink supports a FIX tag 5979-RequestTime on all Convenience Gateway (CGW) and Market Segment Gateway (MSGW) sessions.

...

  • Execution Report: Order Creation, Cancel, or Modify (tag 35-MsgType=8, tag 39-OrdStatus=0, 4 or 5)
  • Execution Report: Fill Notice (tag 35-MsgType=8, tag 39-OrdStatus=1 or 2)
  • Execution Report: Trade Cancel (tag 35-MsgType=8, tag 39-OrdStatus=H
  • Execution Report: Order Elimination (tag 35-MsgType=8, tag 39-OrdStatus=4 or C
  • Execution Report Order Status Request Acknowledgment (tag 35-MsgType=8, tag 150-ExecType=I)
  • Execution Report: Reject (tag 35-MsgType=8, tag 39-OrdStatus=8)
  • Order Cancel/Replace Reject (tag 35-MsgType=9, tag 434-CancelRejResponseTo=2)
  • Order Cancel Reject (tag 35-MsgType=9, tag 434-CancelRejResponseTo=1)
  • Order Mass Action Report (tag 35-MsgType = BZ)
  • Quote Acknowledgement Acknowledgment (tag 35-MsgType=b)
  • Quote Reject (tag 35-MsgType=b, tag 297-QuoteAckStatus =5)
  • Quote Cancel Acknowledgement Acknowledgment (tag 35-MsgType=b, tag 297-QuoteAckStatus=134 or without tag 9775-UnsolicitedCancelType)
    • Only for Solicited Quote Cancel

...

Info

To ensure the 5979 timestamp never reflects an out-of-sequence event, in certain cases CME Globex will increment timestamp value. These forced timestamps still accurately reflect the sequence of events on the MSGW.

iLink Unsolicited Outbound Message Scenario

For unsolicited outbound messages where there are no iLink inbound messages, tag 5979 will represent the time at which the transaction is processed on the trading engine in nanoseconds.

...

  • the iLink tag 60 value will be derived from iLink tag 5979-RequestTime, but represented in the existing UTC format with millisecond precision. 
  • MDP 3.0 tag 60 timestamp is sent in number of nanoseconds since the Unix epoch synced to a master clock to microsecond accuracy.

Testing and Certification

...

  • .

New Release Weekly Failover Testing Windows

Market Segment ID (tag 1300)Market Segment DescriptionDateTime
54CME Equity optionsTuesday and Thursday

11:00 pm CT - MSGW failover to backup component

11:30 pm CT- MSGW failover to  primary component

70CME Commodity FuturesTuesday and Thursday

9:00 am CT - MSGW failover to backup component

9:30 am CT - MSGW failover to  primary component

84CBOT Treasury FuturesTuesday and Thursday

11:00 pm CT - MSGW failover to backup component

11:30 pm CT - MSGW failover to  primary component