Professional Documents
Culture Documents
System Interface Specifications For Arrowhead - ESP (Exchange Standard Protcol)
System Interface Specifications For Arrowhead - ESP (Exchange Standard Protcol)
Reference Translation
Version 4.0
Released September 2015
Applied September 2015
Prior to using these interface specifications, users are required to read and agree to the terms and conditions described below.
Scope of Use
These interface specifications shall be disclosed only to 1. trading participants of Tokyo Stock Exchange, Inc. (hereinafter referred to as "TSE") and 2. any
person or legal entity who has entered into a disclosure agreement with TSE (hereinafter 1. and 2. are referred to as "user").
Copyright, etc.
All rights, including copyright for various information in these interface specifications (hereinafter referred to as "technical information, etc.") are vested in
TSE.
Prohibitions
Whether with or without consideration, in whatever form or media, including but not limited to a license, transfer, resale or lease, these interface
specifications or any part of it including but not limited to technical information, etc. herein must not be provided to any third parties or published.
Disclaimer
In no event shall TSE be liable for any damage or loss arising directly or indirectly from the use or inability to use of information due to errors, omission,
or missing, etc. of information in this document.
TSE accepts no responsibility or liability for damage or loss incurred by the users or customers of the users, etc. arising from connecting their systems to
the TSE trading system according to information provided in this document or arising in connection with the use of this document unless due to intentional
act or gross negligence of TSE.
In addition, TSE accepts no liability for damage or loss of profit incurred by the users or customers of the users, etc. arising from any special circumstances
irrespective of whether or not TSE has foreseen such circumstances.
The right to claim compensation for damage or loss shall be extinguished unless exercised within 12 months from the date such damage or loss occurs.
Breaches
In the event of any breach of terms or conditions described herein, users shall accept instructions of TSE without dissent.
Miscellaneous
TSE does not warrant, whether express or implied, that the content of these interface specifications is error-free.
i
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Change History
No. Created/Modified Version Page Summary of Change
1 July 2007 1.0 - Issued.
3.5.1
"1. Reject Message (resend flag set to "no"), 2. Logout Response Message (resend flag set to "no"), and 3. Messages
2 January 2009 1.3 23 to be sent to the Virtual Server in response to a resend request"=>"1. Reject Message (resend flag set to "no"), 2.
Logout Response Message (resend flag set to "no"), 3. Logout Request Message (resend flag set to "no"), and 4.
Messages to be sent to the Virtual Server in response to a resend request"
3.8.3
3 January 2009 1.3 88 "The Virtual Server has to notify the Exchange Trading System of the ARMSN immediately"=>"The Virtual Server
has to update the ARMSN immediately and notify the Exchange Trading System of the updated ARMSN"
3.10.2
"If the receiver encounters the "Cases" below, it does not send any message to the sender and immediately releases
4 January 2009 1.3 102
the TCP connection and the ESP link"=>"If the receiver encounters the "Cases" below, it discards such message
without sending any Message to the sender and immediately releases the TCP connection and the ESP link"
Table4.2-A
5 January 2009 1.3 109 A value in the table 4.2-A has been changed from “Yes" to "No" as Logout Response Messages cannot be sent from
the Virtual Servers in the Upstream Direction.
Table 4.4.1-A
The following Reject Reason Codes have been added.
No.8 “0008:Incorrect ARMSN”
6 January 2009 1.3 114
No.9 “0009:Incorrect SAMSN”
No.10 “0010:Incorrect Message Length”
No.11 “0011:Incorrect Number of Data Transaction”
ii
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
iii
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
iv
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
v
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Contents
4.1.2. Data Format.............................................................................. 108 4.3.6. Logout Response Message ......................................................... 115
4.1.3. Message Header Data Format .................................................... 109 4.3.7. Heartbeat Message .................................................................... 116
4.1.4. Data Format - Data Area ............................................................ 110 4.3.8. Resend Request Message ........................................................... 116
4.2. List of Link Control Messages .......................................................... 111 4.3.9. Skip Message ........................................................................... 117
4.3. Link Control Message Data Format .................................................. 113 4.3.10. Reject Message ....................................................................... 117
4.3.1. Login Request Message ............................................................. 113 4.4. List of Reason Codes ....................................................................... 118
4.3.2. Login Response Message ........................................................... 113 4.4.1. Reject Reason Code .................................................................. 118
4.3.3. Pre-Logout Request Message ..................................................... 114 4.4.2. Logout Reason Code ................................................................. 119
4.3.4. Pre-Logout Response Message ................................................... 114
4.3.5. Logout Request Message ........................................................... 115
vii
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Introduction
viii
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
ix
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
x
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
xi
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
xii
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
1. Overview
This chapter describes overview of the system and scope of the specifications.
The Exchange Trading System and a Trading Participant system are connected via the network to enable efficient trading operations.
The Exchange Trading System consists of two processing components; 1. operation processor to address trading and query operations and 2. front processor to address
connectivity with Virtual Servers and Message relaying as an FEP to the operation processor.
A Trading Participant connects to the Exchange Trading System with a router or other equipment and implements functionalities as defined in these specifications into a
Virtual Server to achieve various trading operations such as placing orders, querying order statuses and receiving execution, etc. See the following connection diagram.
Front Operation
Processor Processor
1
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
A Trading Participant can handle both equities trading and CBs trading with a single Virtual Server (Order/Notice). However, it is not possible for a Trading
Participant to handle trading operations (Order/Notice), query operations (Query) and Drop Copy reception operations (Drop Copy) on a single Virtual Server.
* Note that we do not expressly mention the types of Virtual Server Order/Notice, Query, or Drop Copy, in these specifications. Thus, if we simply mention
"Virtual Server" it means that the topic is common for the three types of Virtual Servers.
This document only covers interfacing specifications between Virtual Servers and the Exchange Trading System as a part of intersystem connections. Any other
Messages that do not appear in these specifications are not acceptable within the intersystem connection.
2
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
The Exchange Standard Protocol (hereinafter referred to as "ESP") described in these specifications, implemented in the middle of the operation layer (for
sending/receiving operation Messages) and the TCP layer, is a transmission control protocol to ensure an orderly and accurate messaging.
TCP
TCP connection
3
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
2. TCP Connection
This chapter describes the TCP connection between Virtual Servers and the Exchange Trading System.
2.1. IP Address
The WAN side IP address for Participant Side router and the IP address for Participant Side LAN located directly below the router will be assigned by the Exchange. IP
addresses for each host machine (Virtual Server) in the Participant Side LAN located directly below the router will be designated by the Trading Participant or Exchange on
the application for the Virtual Servers, whereas the IP addresses used in the Exchange Trading System to which the Trading Participant connects will be assigned by the
Exchange. These are local IP addresses uniquely assigned by the Exchange. Therefore, when a Trading Participant installs Virtual Servers within its local IP network, it is
recommended to take special care to prevent a duplication of IP addresses.
4
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
A single TCP connection is used between a Virtual Server and the Exchange Trading System. A Trading Participant can install and run multiple Virtual Servers in a
single server machine but each Virtual Server must have a unique TCP port number. Also, a Trading Participant can install a Virtual Server (Order/Notice), a Virtual Server
(Query), and a Virtual Server (Drop Copy) in a single server machine. The Exchange Trading System uses the IP address of the Virtual Server machine, a port number and
the Virtual Server Number specified in the Login Request Message to uniquely identify a Virtual Server. In other words, a Trading Participant cannot connect to the
Exchange Trading System using an IP address and a port number not the ones designated by the Exchange. The following diagram shows how IP addresses and port
numbers are assigned.
Router Router
(Participant (Exchange Side)
SideTrading
Participant)
Virtual Server TCP connection
(Query)
: IP address
A TCP connection establishment request will always be made from a Virtual Server to the Exchange Trading System. A TCP connection release request will typically be
made from a Virtual Server. However, it sometimes will be made from the Exchange Trading System when the Operation ends. Additionally, release of the connection
may be requested by the Exchange Trading System if a system failure or exception occurs. Note that the TCP connection will in principle be released via FIN connection
termination procedures. Refer to "3. Link Control" for details on when to establish/release a TCP connection.
5
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
3. Link Control
This chapter describes the link control mechanism implemented between Virtual Servers and the Exchange Trading System.
An ESP link is defined as an orderly flow of Messages controlled via a bidirectional and consecutive Message Sequence Number mechanism that is implemented between
Virtual Servers and the Exchange Trading System. The following diagram shows the overview of an ESP link.
6
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
ESP Link Established Login Process Mes. Seq. No. "init val = 1"
ESP Link Re-established Login Process Mes. Seq. No. "init val = 1"
7
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
8
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
ESP Link
"N": Upstream Mes. Seq. No.
Downstream
M M+1 M+2 Assign Mes. Seq. No.
An ESP link must always be established by exchanging Login Messages; an Upstream Message and a Downstream Message, each has a Message Sequence
Number of '1', and released by exchanging Logout Messages. It is not allowed to send a Login Message if an ESP link has already been established. Also, if the
value of the Message Sequence Number does not equal to '1', such Login Message will be denied. An ESP link is also established by exchanging Login Messages
in association with an establishment of a TCP connection and released by releasing the TCP connection in association with an exchanging of Logout Messages.
When an ESP link has already been established, such state is described as follows.
- By checking the inbound and outbound sequence numbers, an orderly messaging has been maintained over the ESP link.
- The sent Messages has been retained to prepare for a resend request. Note that sent Messages will be retained as per description in "3.7 Control of
Message Recovery."
Thus, if an ESP link has already been established, an orderly, consecutive and bidirectional messaging between a Virtual Server and the Exchange Trading System
9
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
is guaranteed. A Logout process that involves an Exchange of Logout Messages enables a Virtual Server and the Exchange Trading System to first confirm that no
message gap exists and then release the ESP link.
If an ESP link between a Virtual Server and the Exchange Trading System was released without normally performing a Logout process due to an exception, it is
possible to assure continuity of operations by performing failure recovery procedures specified in the "System Interface Specifications for arrowhead - Operation
(Order/Notice)" and "System Interface Specifications for arrowhead - Operation (Drop Copy)". A normal Logout process is defined as a process to first confirm
that no message gap exists and then release the ESP link.
For the relationship between a TCP connection and an ESP link, refer to "3.3 Relationship between a TCP connection and an ESP Link."
The following diagram shows how the Message Sequence Numbers are controlled with regard to the establishment and release of an ESP link.
Mes. Seq. Nums and Sent Messages are Maintained Mes. Seq. Nums and Sent Messages are Maintained
(Mes. Seq. No. continue) (Mes. Seq. No. reset) (Mes. Seq. No. continue)
Mes. Seq. No. = '1' Mes. Seq. No. = '1'
A day's Operation
Figure 3.2 - b Establishment and Release of an ESP Link and Message Sequence Numbers
When an ESP link has been established, the TCP connection and the ESP link are in a one-to-one relationship. Therefore, it is not possible to establish multiple ESP links
within a single TCP connection. It is also not possible for a single ESP link to be established over multiple TCP connections. The following diagram shows the
relationship between a TCP connection and an ESP link.
10
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
<TCP connection>
<TCP connection>
11
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
By successfully completing a Login process, a Virtual Server and the Exchange Trading System can establish an ESP link. Note that the Message Sequence Number
must be '1' for each of the Login Messages.
A Login process can be started only from a Virtual Server according to the following steps.
・ A Virtual Server establishes a TCP connection with the Exchange Trading System (once a TCP connection has been established, the Virtual Server must
immediately send a Login Request Message).
・ The Virtual Server sends a Login Request Message (Message seq. no. = '1') to the Exchange Trading System.
・ The Exchange Trading System receives the Login Request Message.
・ The Exchange Trading System validates the received Login Request Message.
・ If the Exchange Trading System regards the Login Request Message as valid, it sends a Login Response Message (Message seq. no. = '1') to the Virtual Server.
・ The Virtual Server receives the Login Response Message.
・ If the Virtual Server regards the Login Response Message as valid, the Login process ends and an ESP link is established.
Once the Login process has been successfully completed and an ESP link has been established, the Virtual Server and the Exchange Trading System are able to send
and receive Messages.
12
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
During a Login process, the following sending operations are prohibited. A Virtual Server cannot;
・ Send any Messages before sending a Login Request Message in a Login process.
・ Send a Login Request Message which has a value other than '1' in the Message Sequence Number field or the resend flag is set to "yes."
・ Send any Messages after sending a Login Request Message up until it receives a Login Response Message from the Exchange Trading System and an ESP
link is established.
・ Send a Login Request Message if an ESP link has already been established.
During a Login process, the following sending operation is prohibited. The Exchange Trading System cannot;
・ Send any Messages before sending a Login Response Message in a Login process.
・ Send a Login Response Message which has a value other than '1' in the Message Sequence Number field or the resend flag is set to "yes."
A Virtual Server and the Exchange Trading System perform a Login process according to the procedures described in the tables below by checking the type, Message
Sequence Number and resend flag of the Messages received during the link establishment process.
Note that the words "during the link establishment process" represents the periods, for Virtual Servers; from the establishment of a TCP connection to the receipt of a
successful Login Response Message, and for the Exchange Trading System; from the establishment of a TCP connection to the sending of a Login Response Message to
13
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
15
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
3.4.3. Exceptions
Figure 3.4.3 - a Receipt of Other Message (other than Login Request Message)
16
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Timeout
TCP connection Released
17
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
18
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Timeout
TCP connection Released
19
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Figure 3.4.3 - e Receipt of Other Message (other than Login Response Message)
20
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
21
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Reject Message
(8) The Case that Last Established ESP Link has been Released withoutState
Confirming that no Message Gap Exists via a Logout Process
If the last established ESP link during the same business day has been released without confirming that no message gap exists via a Logout process, there
is a possibility that a Message gap has occurred. Thus the Virtual Server (Order/Notice), after establishing(*) a new ESP link by performing another Login
process, must confirm that no Message gap exists for order or notice by using an appropriate administrative instruction and get the missing Messages if
necessary.
Refer to "System Interface Specifications for arrowhead - Operation (Order/Notice)" for details on administrative instruction functionalities.
The Virtual Server (Drop Copy), after establishing a new ESP link by performing another Login process, must start operations by sending an Operation
Start Request Message for which Already Received Notice Sequence Number is set. Refer to “System Interface Specifications for arrowhead – Operation
22
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
23
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
By successfully completing a Logout process, a Virtual Server and the Exchange Trading System can release an ESP link.
A Logout process must be started from a Virtual Server. The following steps must first be completed to make sure no message gap exists and then the ESP link is
released.
・ The Virtual Server sends a Pre-Logout Request Message to the Exchange Trading System.
・ The Exchange Trading System receives the Pre-Logout Request Message from the Virtual Server.
・ The Exchange Trading System validates the Message Sequence Number of the received Pre-Logout Request Message to check if no message gap
exists.
・ The Exchange Trading System, if no message gap has been detected, sends a Pre-Logout Response Message to the Virtual Server.
・ The Virtual Server receives the Pre-Logout Response Message from the Exchange Trading System.
・ The Virtual Server validates the Message Sequence Number of the received Pre-Logout Response Message to check if no message gap exists.
・ The Virtual Server, if no message gap has been detected, sends a Logout Request Message to the Exchange Trading System.
・ The Exchange Trading System receives the Logout Request Message from the Virtual Server.
・ The Exchange Trading System sends a Logout Response Message to the Virtual Server.
・ The Virtual Server receives the Logout Response Message from the Exchange Trading System.
・ The Virtual Server releases the TCP connection that has been in established state with the Exchange Trading System and then releases the ESP link
(upon receipt of a Logout Response Message from the Exchange Trading System, a Virtual Server must immediately release the TCP connection).
Once the Logout process is successfully completed and the ESP link is released, the Virtual Server and the Exchange Trading System will no longer be able to send
and receive Messages.
24
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
During the Logout process, the following sending operation is prohibited. A Virtual Server can not;
・ Send any other Messages after sending a Pre-Logout Request Message except, 1. Reject Message (resend flag set to "no"), 2. Logout Request Message
(resend flag set to "no"), 3. Resend Request Message (resend flag set to "no"), 4. Heartbeat Message, and 5. Messages to be sent to the Exchange Trading
System in response to a resend request.
・ Send any Messages after sending a Logout Request Message.
During the Logout process, the following sending operation is prohibited. The Exchange Trading System cannot;
・ Send any other Messages after sending a Pre-Logout Response Message except, 1. Reject Message (resend flag set to "no"), 2. Logout Response Message
(resend flag set to "no"), 3. Logout Request Message (resend flag set to "no"), and 4. Messages to be sent to the Virtual Server in response to a resend
request.
・ Send any Messages after sending a Logout Response Message.
25
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
A Virtual Server and the Exchange Trading System perform a Logout process according to the procedures described in the tables below by checking the type,
Message Sequence Number and resend flag of the Messages received during the link release process. Note that the words "during the link release process" represents
the periods, for Virtual Servers; from the receipt of a Pre-Logout Response Message to the release of the TCP connection, and for the Exchange Trading System; from
the receipt of a Pre-Logout Request Message to the release of the TCP connection.
However, if the Logout process is based on a link reject, the periods are, for each of the Virtual Server and the Exchange Trading System; from the sending of a
Logout Request Message to the release of the TCP connection, and for the counterpart; from the receipt of a Logout Request Message to the release of the TCP
connection. For details on link reject, refer to "3.10. Link Reject."
26
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Table 3.5.2 - B How the Exchange Trading System Processes Incoming Messages
(from the receipt of a Pre-Logout Request Message to the receipt of a Logout Request Message)
Incoming Message
Procedure
Message Type Message Sequence Number Resend Flag
Expected Sequence Number No This is not a normal Message. Perform the steps described in "3.5.3. Exceptions,
> Received Message (3) Exchange Trading System Receives Incorrect Message 1 after Receiving
Yes
Sequence Number Pre-Logout Request ."
Perform a resend process according to the steps described in "3.7. Control of
Message Recovery" and proceed with the Logout process. Note that if this Message
causes a message gap, the receiver must not request a resend. Also, if the received
Resend Request Message No
Expected Sequence Number Resend Request Message includes any defect, such Message is not normal. Thus,
≦ Received Message perform the steps described in "3.5.3. Exceptions, (3) Exchange Trading System
Sequence Number Receives Incorrect Message 1 after Receiving Pre-Logout Request ."
This is not a normal Message. Perform the steps described in "3.5.3. Exceptions,
Yes (3) Exchange Trading System Receives Incorrect Message 1 after Receiving
Pre-Logout Request ."
Expected Sequence Number No This is not a normal Message. Perform the steps described in "3.5.3. Exceptions,
> Received Message (3) Exchange Trading System Receives Incorrect Message 1 after Receiving
Yes
Sequence Number Pre-Logout Request ."
Logout Request Message No This is a normal Logout Request Message. Proceed with the Logout process.
Expected Sequence Number
This is not a normal Message. Perform the steps described in "3.5.3. Exceptions,
≦ Received Message
Yes (3) Exchange Trading System Receives Incorrect Message 1 after Receiving
Sequence Number
Pre-Logout Request ."
27
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Incoming Message
Procedure
Message Type Message Sequence Number Resend Flag
This is not a normal Message. Perform the steps described in "3.5.3. Exceptions,
Other Messages Regardless of this. Regardless of this. (4) Exchange Trading System Receives Incorrect Message 2 after Receiving
Pre-Logout Request ."
Table 3.5.2 - C How the Exchange Trading System Processes Incoming Messages (after receiving a Logout Request Message)
Incoming Message
Procedure
Message Type Message Sequence Number Resend Flag
This is not a normal Message. Perform the steps described in "3.5.3.
All Messages Regardless of this. Regardless of this. Exceptions, (9) Exchange Trading System Receives Incorrect Message after
Receiving Logout Request ."
28
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
3.5.3. Exceptions
(1) Virtual Server Receives Resend Request Message from Exchange Trading System after Sending Pre-Logout Request Message
If the Virtual Server, during the period after sending a Pre-Logout Request Message to the Exchange Trading System up until it receives a Pre-Logout
Response Message from the Exchange Trading System, receives a Resend Request Message from the Exchange Trading System, it performs the steps
described in "3.7. Control of Message Recovery, 3.7.1. Basic Procedures."
(2) Exchange Trading System Detects Message Gap while Validating Pre-Logout Request Message
The Exchange Trading System receives a Pre-Logout Request Message from a Virtual Server. It validates the Message Sequence Number and detects a
message gap. In this case, for the steps to follow, refer to "3.7. Control of Message Recovery, 3.7.2. Case-by-Case Explanations, (7) Exchange Trading
System Detects Message Gap while Validating Pre-Logout Request ."
(3) Exchange Trading System Receives Incorrect Message 1 after Receiving Pre-Logout Request Message
If the Exchange Trading System, during the period after receiving a Pre-Logout Request Message from the Virtual Server up until it receives a Logout
Request Message from the Virtual Server, receives a Resend Request Message (resend flag set to "no") that has a duplicate in Message Sequence Number, or
an incorrect Resend Request Message (resend flag set to "no"), or a Resend Request Message (resend flag set to "yes"), or a Logout Request Message
(resend flag set to "yes"), then it proceeds with the Logout process according to the following steps.
・ The Exchange Trading System receives an Incorrect Message from the Virtual Server.
・ The Exchange Trading System discards the received Message (the expected sequence number remains unchanged).
・ The Exchange Trading System sends a Reject Message to the Virtual Server.
・ The Exchange Trading System handles the next Message received from the Virtual Server.
Note that if the Resend Start Message Sequence Number is greater than the Already Sent Message Sequence Number, such Message is called an
"Incorrect Resend Request Message."
(4) Exchange Trading System Receives Incorrect Message 2 after Receiving Pre-Logout Request Message
If the Exchange Trading System, during the period after receiving a Pre-Logout Request Message from the Virtual Server up until it receives a Logout
Request Message from the Virtual Server, receives a valid Resend Request Message (resend flag set to "no"), or a Logout Request Message (resend flag set
to "no"), or other Messages except those which are described in "(3) Exchange Trading System Receives Incorrect Message 1 after Receiving Pre-Logout
Request " above, then it proceeds with the Logout process according to the following steps.
29
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
・ The Exchange Trading System receives an Incorrect Message from the Virtual Server.
・ The Exchange Trading System discards the received Message (the expected sequence number remains unchanged).
・ The Exchange Trading System does not send any Message to the Virtual Server and proceeds to the next Message.
(5) Virtual Server Detects Message Gap while Validating Pre-Logout Response Message
The Virtual Server receives a Pre-Logout Response Message from the Exchange Trading System. It validates the Message Sequence Number and
detects a message gap. In this case, for the steps to follow, refer to "3.7. Control of Message Recovery, 3.7.2. Case-by-Case Explanations, (8) Virtual
Server Detects Message Gap while Validating Pre-Logout Response ."
(6) Virtual Server Receives incorrect Message after Receiving Pre-Logout Response Message
If the Virtual Server, after receiving a Pre-Logout Response Message from the Exchange Trading System, receives a Message that is not a Logout
Response Message (regardless of the Message Sequence Number and the resend flag), then it proceeds with the Logout process according to the following
steps.
・ The Virtual Server receives an Incorrect Message from the Exchange Trading System.
・ The Virtual Server discards the received Message (the expected sequence number remains unchanged).
・ The Virtual Server does not send any Message to the Exchange Trading System and proceeds with the Logout process.
30
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Timeout
Logout Request Message
31
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
(8) Exchange Trading System Detects Message Gap while Validating Logout Request Message
The Exchange Trading System validates the Message Sequence Number of the received Logout Request Message and detects a message gap. In this
case, it will not perform any recovery process and proceed with the Logout process.
・ The Exchange Trading System receives a Logout Request Message from the Virtual Server.
・ The Exchange Trading System validates the Message Sequence Number of the received Logout Request Message and a gap is detected.
・ The Exchange Trading System will not perform any recovery process and sends a Logout Response Message to the Virtual Server to proceed with
the Logout process.
Figure 3.5.3 - b Message Gap Detected while Validating Logout Request Message
32
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
(9) Exchange Trading System Receives Incorrect Message after Receiving Logout Request Message
If the Exchange Trading System, after receiving a Logout Request Message from the Virtual Server, receives a Message (regardless of the Message
Sequence Number and the resend flag), then it proceeds with the Logout process according to the following steps.
・ The Exchange Trading System receives an Incorrect Message from the Virtual Server.
・ The Exchange Trading System discards the received Message (the expected sequence number remains unchanged).
・ The Exchange Trading System does not send any Message to the Virtual Server and proceed with the next process.
(10) Delay in Receiving Logout Request Message
The Exchange Trading System, if it does not receive a Logout Request Message from the Virtual Server in a given period of time (hereinafter referred to
as "Logout Request Timer") after sending a Pre-Logout Response Message to the Virtual Server, performs the following steps to complete the Logout
process. For details on the Logout Request Timer, refer to "3.11. Link Control Parameters."
・ The Exchange Trading System receives a Pre-Logout Request Message from the Virtual Server.
・ The Exchange Trading System sends a Pre-Logout Response Message to the Virtual Server.
・ The Exchange Trading System, even though a given period of time specified for the Logout Request Timer elapses after sending a Pre-Logout
Response Message, does not receive a Logout Request Message from the Virtual Server. In this case, it sends a Logout Request Message to the
Virtual Server.
・ The Exchange Trading System immediately releases the TCP connection without waiting for the response Message.
33
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
(11) Virtual Server Detects message gap while Validating Logout Response Message
The Virtual Server validates the Message Sequence Number of the received Logout Response Message and detects a Message gap. In this case, it will
not perform any recovery process and proceed with the Logout process.
・ The Virtual Server receives a Logout Response Message from the Exchange Trading System.
・ The Virtual Server validates the Message Sequence Number of the received Logout Response Message and a gap is detected.
・ The Virtual Server will not perform any recovery process and release the TCP connection to complete the Logout process.
34
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Figure 3.5.3 - d Message Gap Detected while Validating Logout Response Message
35
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
36
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Timeout
TCP connection Released
37
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
38
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Every Message sent/received between a Virtual Server and the Exchange Trading System including Message for Login/Logout processes has a Message Sequence Number
(unique sequential numbers in increments of '1'). These numbers enable orderly Message transmissions without any duplications or gaps.
(1) Sender
On both Virtual Server side and the Exchange Trading System side, Message Sequence Numbers must be separately maintained and set for every
outgoing Message. Note that the value of the Message Sequence Number must be '1' for the link establishment process.
・ The Message sender sets an appropriate value to the Message Sequence Number field of the Message and sends it to the receiver.
・ The sender must maintain the Message Sequence Number to assure the continuity of the numbers to be assigned to the subsequent Messages.
・ The sender also has to retain the sent Messages along with the Message Sequence Numbers to prepare for a resend request from a receiver.
Regarding the range of Messages and Message Sequence Numbers a sender has to retain, refer to "3.7. Control of Message Recovery."
(2) Receiver
On both Virtual Server side and the Exchange Trading System side, expected sequence numbers (i.e. the Message Sequence Number that the receiver
expects to receive next) must be separately maintained to validate the Message Sequence Number in every incoming Message. Note that the value of the
expected sequence number must be '1' for the link establishment process.
・ Every time the receiver receives a Message from the sender, it must check if the Message Sequence Number in the Message is the same number as
the expected sequence number to validate the continuity, i.e. no duplication or gap in the Messages.
・ The receiver, once it confirms that no duplication or gap has been found in the Message, must update the expected sequence number to prepare for
the next Message Sequence Number validation process.
For cases where the receiver detects any duplication or gap in the Message Sequence Numbers, refer to "3.6.3. Exceptions."
39
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
N-1 N
Message (Seq. No. = N)
Update Update
N N+1
Message (Seq. No. = N + 1)
Update Update
N+1 N+2
Message (Seq. No. = N + 2)
Update Update
N+2 N+3
Message (Seq. No. = N + 3)
Update Update
40
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
A Virtual Server and the Exchange Trading System process all incoming Messages according to the procedures described in the tables below by checking the type,
Message Sequence Number and resend flag.
Table 3.6.2 - A How the Incoming Messages are Processed (Virtual Servers and the Exchange Trading System)
Incoming Message
State Procedure
Message Type Msg. Seq. No. Resend Flag
During Link Establishment Process Follow the steps described in "3.4. Link Establishment."
Login Request Message Regardless of this. Regardless of this.
This is not a Normal Message. Perform the steps described in
Login Response Message Regardless of this. Regardless of this.
"3.6.3. Exceptions, (1) Receipt of Incorrect Message."
Expected Sequence Number > No
Link Received Message Sequence Discard the received Message (the expected sequence number
Yes
Established Number remains unchanged) and proceed to the next Message.
State (*), This is not a normal Message. Perform the steps described in
Expected Sequence Number = No
other than "3.6.3. Exceptions, (1) Receipt of Incorrect Message."
Received Message Sequence
subsequent Process this Message normally and then handle the next
Skip Message Number Yes
Messages Message.
(*2) This is not a normal Message. Perform the steps described in
No
( Expected Sequence Number < "3.6.3. Exceptions, (1) Receipt of Incorrect Message."
Received Message Sequence This is the case where a message gap is detected in validating the
Number Yes received Message. Perform the steps described in "3.7. Control
of Message Recovery."
(continued on the next page)
41
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
42
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Incoming Message
State Procedure
Message Type Msg. Seq. No. Resend Flag
Expected Sequence Number > No
This is not a normal Message. Perform the steps described in
Received Message Sequence
Yes "3.6.3. Exceptions, (1) Receipt of ."
Number
Logout Request Message
Expected Sequence Number ≦ This is a normal Logout Request Message. Perform the steps
No
Received Message Sequence described in "3.5. Link Release."
Number Yes
This is not a normal Message. Perform the steps described in
Logout Response
Regardless of this. Regardless of this. "3.6.3. Exceptions, (1) Receipt of ."
Message
Perform the steps described in "3.7. Control of Message
Link Established State, Subsequent Messages
Recovery."
During Link Release Process Perform the steps described in "3.5. Link Release."
*2 "Subsequent Messages" means those Messages that are received after sending a Resend Request Message up until the receiver receives resend Messages.
For details, refer to "3.7. Control of Message Recovery."
43
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Table 3.6.2 - C How the Exchange Trading System Processes Incoming Messages
Incoming Message
State Procedure
Message Type Msg. Seq. No. Resend Flag
Link Expected Sequence Number > This is not a normal Message. Perform the steps described in
Pre-Logout Request Message No
Established Received Message Sequence "3.6.3. Exceptions, (1) Receipt of ."
44
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Incoming Message
State Procedure
Message Type Msg. Seq. No. Resend Flag
State, other Number Discard the received Message (the expected sequence number
Yes
than remains unchanged) and proceed to the next Message.
subsequent Expected Sequence Number =
Regardless of This is a normal Pre-Logout Request Message. Perform the
Messages Received Message Sequence
this. steps described in "3.5. Link Release."
Number
Expected Sequence Number < This is the case where a message gap is detected in validating
Regardless of
Received Message Sequence the received Message. Perform the steps described in "3.7.
this.
Number Control of Message Recovery" to recover the gap.
Regardless of This is not a normal Message. Perform the steps described in
Pre-Logout Response Message Regardless of this.
this. "3.6.3. Exceptions, (1) Receipt of ."
45
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
46
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
(1) Sender
On both Virtual Server side and the Exchange Trading System side, Message Sequence Numbers (unique sequential numbers in increments of '1') must be
separately set for every outgoing Message. However, this will not be applied for the following case.
・ When the sender, in response to a resend request from the receiver, resend "Already Sent Message(s)" to the receiver.
If a receiver detects a message gap in its Message Sequence Number validation process, a resend request will be made to the sender. In response to this
resend request, the sender will resend "Already Sent Message(s)" to the receiver setting the resend flag to "yes." This resend operation by a sender
corresponds to the above case.
(2) Receiver
On both Virtual Server side and the Exchange Trading System side, Message Sequence Numbers must separately be validated. If a duplicate is found, it
is regarded as an exception. However, this will not be applied for the following case.
・ When the receiver receives Message(s) from the sender with the resend flag set to "yes."
47
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
3.6.3. Exceptions
48
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
This figure assumes that the Virtual Expected Seq. No. Admin
Server is the sender and the Exchange
Message (Seq. No. = N + 2)
Trading System is the receiver. N+2
Update
49
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
On both Virtual Server side and the Exchange Trading System side, Message Sequence Numbers (unique sequential numbers in increments of '1') must be set for every
outgoing Message. These numbers must always be validated by the receiving side to enable orderly Message transmissions without any duplications or gaps. If the
receiving side detects a gap in the validation process, it will be recovered by performing the steps below.
On both Virtual Server side and the Exchange Trading System side, Message Sequence Numbers in all incoming Messages are validated. If the receiving side
detects any missing Message, it must immediately request a resend to the sender to recover the message gap. Upon receipt of a resend request, the sender of the
missing Message must resend the requested Message(s) before sending new Messages.
Note: We are going to use the term "resend" to avoid confusion between "resend operation in the link control" and "Administrative Instruction (retransmission) in the
System Interface Specifications for arrowhead - Operation (Order/Notice)."
・ The Exchange Trading System performs a Message Sequence Number validation process and a gap is detected in the Messages received from a
Virtual Server.
・ The Exchange Trading System discards the received Message that caused the message gap (the expected sequence number remains unchanged).
The discarded Message is to be received from the Virtual Server via a resend operation.
・ The Exchange Trading System sends a Resend Request Message to the Virtual Server. In this resend request, the Exchange Trading System sets
the Message Sequence Number of the Message that it expects to receive after the last successfully received Message (hereinafter referred to as
"resend start Message Sequence Number").
・ The Virtual Server receives the Resend Request Message from the Exchange Trading System.
・ The Virtual Server stops sending new Messages.
・ The Virtual Server resends Messages to the Exchange Trading System starting from the one that has the resend start Message Sequence Number
specified in the Resend Request Message to the last one that the Virtual Server recognizes as "already sent." Note that the Message Sequence
Numbers of those resend Messages must be the original sequence numbers and the resend flags must also be set to "yes" (i.e. no renumbering
allowed).
・ The Virtual Server resumes its sending operation (new Messages) after completing the resend operation.
50
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
・ The Exchange Trading System receives the resend Messages from the Virtual Server to recover the message gap.
When we use the term "resend Message" it represents all the resent Messages with the resend flags set to "yes" starting from the one that has the resend start Message
Sequence Number specified in a Resend Request Message and those subsequent resent Messages. However, if any gap raises in the resend Messages, all subsequent
resent Messages will not be regarded as "resend Messages" because the continuity in the Message Sequence Numbers has been broken.
The resend flag can only be set for those Messages that are resent in response to a Resend Request Message, i.e. it is not possible to set the flag for other types of
Messages.
It depends on the status managed by a Virtual Server to stop and resume sending new Messages, in other words, it does not depend on the receive status on the
Exchange Trading System side. Messages that have "already been sent" status represents those Messages sent before a Virtual Server stops sending new Messages
upon receipt of a Resend Request Message from the Exchange Trading System. If it is the case where a Virtual Server detects a message gap, replace "Virtual Server"
with "Exchange Trading System" in the explanation above, and vice versa.
51
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Figure 3.7.1-a Switching Between New Messages and Already Sent Messages
52
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Resend Start
Message (Seq. No. = N + 1)
(resend flag "yes") N+2
Resend Messages - from "N + 1" Message (Seq. No. = N + 2)
Message to the last the sender thinks as
"already sent." (resend flag "yes") N+3
Resend End
Message (Seq. No. = N + 3)
(resend flag "yes") N+4
53
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
The receiver, as for the "Subsequent Message" i.e. Messages received after the Message that caused the message gap up until the Message which has the resend start
Message Sequence Number specified in the Resend Request Message (resend flag set to "yes"), performs the steps described in the tables below according to the type of
Message and how the Message Sequence Number and the resend flag are set.
54
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
[Normal Case] [Message Gap Case 1] [Message Gap Case 2] [Message Gap Case 3]
No Message gap involved. A Message gap is detected, A Message gap is detected, and then A Message gap is detected and resend
and then recovered by sending another gap is detected in the resend Messages are sent to recover the gap, and
a resend request. Messages to recover the first gap. then another gap is detected in the first
2nd resend request is sent resend Message. In this case, the second
immediately after the 2nd gap is resend request is triggered by a timer
Msg. Seq. No. detected. (re-resend request), not by the second gap.
1 1 1 1
5 5 5 5
6 6 6 6
Msg Gap Msg Gap Msg Gap
10 10 10 10
11 11 後続電文 11 後続電文 11 後続電文
Subseq. Msg Subseq. Msg Subseq. Msg
15 15 15 15
16 6 後続電文 6 後続電文 6 後続電文
Resend Msg
20 10 Resend Msg 10 10
21 11 11 11
Subseq. Msg
後続電文
25 15 15
Subseq. Msg 15
16 16 16
20 20
後続電文 20
21 11 6
25 15 10
New Msg 16
Resend Msg 11
Resend Msg
20 15
Msg Gap 21 16
25 20
Subseq. Msg 21
後続電文 : a resend request is sent 25
Resend Msg
後続電文
Figure 3.7.2 - a Subsequent Messages
55
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Table 3.7.2 - A How the Incoming Messages are Processed (Virtual Servers and the Exchange Trading System)
Incoming Message
State Procedure
Message Type Msg. Seq. No. Resend Flag
Login Request Message Regardless of this. Regardless of this.
This is not a normal Message. Perform the steps described in
Login Response Message Regardless of this. Regardless of this.
"3.7.3. Exceptions, (2) Receipt of ."
Expected Sequence Number > No
Received Message Sequence Discard the received Message (the expected sequence number
Yes
Number remains unchanged) and proceed to the next Message.
This is not a normal Message. Perform the steps described in
No
"3.7.3. Exceptions, (2) Receipt of ."
Expected Sequence Number =
This is a normal Skip Message. Process the Message and
Received Message Sequence
Link Skip Message proceed to the next Message. Note that the next Message is
Number Yes
Established processed according to, not this table but the procedures
State, described in "3.6. Send/Receive Control of Messages."
subsequent This is not a normal Message. Perform the steps described in
Expected Sequence Number < No
Messages "3.7.3. Exceptions, (2) Receipt of ."
Received Message Sequence
Discard the received Message (the expected sequence number
Number Yes
remains unchanged) and proceed to the next Message.
Expected Sequence Number > No
This is not a normal Message. Perform the steps described in
Received Message Sequence
Yes "3.7.3. Exceptions, (2) Receipt of ."
Heartbeat Message Number
Resend Request Message Expected Sequence Number Process this Message normally and then handle the next
≦ Received Message No Message. Note that the expected sequence number must not be
Sequence Number updated.
56
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Incoming Message
State Procedure
Message Type Msg. Seq. No. Resend Flag
This is not a normal Message. Perform the steps described in
Yes
"3.7.3. Exceptions, (2) Receipt of ."
57
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Incoming Message
State Procedure
Message Type Msg. Seq. No. Resend Flag
Expected Sequence Number > This is not a normal Message. Perform the steps described in
No
Received Message Sequence "3.7.3. Exceptions, (2) Receipt of ."
Number Yes Discard the received Message (the expected sequence number
No remains unchanged) and proceed to the next Message.
Expected Sequence Number = This is a normal Message. Process the Message and proceed
Operation Messages
Received Message Sequence to the next Message. Note that the next Message is processed
Reject Message Yes
Number according to, not this table but the procedures described in "3.6.
Link Send/Receive Control of Messages."
Established Expected Sequence Number < No
Discard the received Message (the expected sequence number
State, Received Message Sequence
Yes remains unchanged) and proceed to the next Message.
subsequent Number
Messages Expected Sequence Number > No
This is not a normal Message. Perform the steps described in
Received Message Sequence
Yes "3.7.3. Exceptions, (2) Receipt of ."
Number
Logout Request Message
Expected Sequence Number Discard the received Message (the expected sequence number
No
≦ Received Message remains unchanged) and proceed to the next Message.
Sequence Number Yes
This is not a normal Message. Perform the steps described in
Logout Response
Regardless of this. Regardless of this. "3.7.3. Exceptions, (2) Receipt of ."
Message
58
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
59
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Table 3.7.2 - C How the Exchange Trading System Processes Incoming Messages
Incoming Message
State Procedure
Message Type Msg. Seq. No. Resend Flag
Expected Sequence Number > This is not a normal Message. Perform the steps described in
No
Received Message Sequence "3.7.3. Exceptions, (2) Receipt of ."
Number Yes Discard the received Message (the expected sequence number
Link Expected Sequence Number = No remains unchanged) and proceed to the next Message.
Established Pre-Logout Request Message Received Message Sequence This is a normal Pre-Logout Request Message. Perform the
Yes
State, Number steps described in "3.5. Link Release."
subsequent Expected Sequence Number <
Discard the received Message (the expected sequence number
Messages Received Message Sequence Regardless of this.
remains unchanged) and proceed to the next Message.
Number
This is not a normal Message. Perform the steps described in
Pre-Logout Response Message Regardless of this. Regardless of this.
"3.7.3. Exceptions, (2) Receipt of ."
60
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
(1) Subsequent Message Processing by Receiver after Sending Resend Request Message
The receiver, as for the subsequent Messages received up until it receives resend Messages, performs the steps according to the tables above.
61
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Resend Request Message (Seq. No. = M) Resend Request Receive Process Message
(Expected Seq. No.
(Resend Start Msg. Seq. No. = N + 1) Remains Unchanged)
64
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Non-resend Messages
Message (Seq. No. = N + 3)
Resend End
Message (Seq. No. = N + 5)
(resend flag "yes") N+6
65
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Retained Msg
for Resend
M+1
*In case where number of retained messages for
M+2
resend operation is “3”
M+3
Resend Request Send Resend Request Message (Seq. No,.= N) Resend Request Receive
(Resend Start Msg. Seq. No. = M + 1)
Resend Start
Skip Message (Seq. No. = M + 1) Replace with Skip Msg M+1
(resend flag “yes”, skip Msg Seq. No. = 00000000)
M+2
Message (Seq. No. = M + 2) Resend Send Seq. No. (M+1) is out of
M+3
(resend flag "yes") range of Resend operations. The
M+4
Message (Seq. No. = M + 3) Message is not resent but instead
(3) Receipt of Another Resend Request while Sender is Sending Resend Messages
If the sender receives another resend request from the receiver while sending resend Messages, the sender performs the following steps. These steps are
applied for the cases described below.
・ The Virtual Server sends resend Messages in response to the Resend Request Message (i) from the Exchange Trading System.
・ The Virtual Server receives another Resend Request Message (ii) from the Exchange Trading System while resending Messages.
・ The Virtual Server stops resending for the first request, i.e. Resend Request Message (i).
・ The Virtual Server starts resending for the second request, i.e. Resend Request Message (ii).
Cases:
・ When the second request from the receiver and the Message resending from the sender cross.
・ When the receiver detects a message gap in the resend Messages and makes another resend request.
Note that if it is the case where the Exchange Trading System receives another resend request from the Virtual Server while sending resend Messages,
replace "Virtual Server" with "Exchange Trading System" in the explanation above, and vice versa.
67
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
68
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
69
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
70
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Resend Start
Message (Seq. No. = N + 1)
(resend flag "yes") N+2
71
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
72
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Resend Start
Message (Seq. No. = N + 1)
(resend flag "yes") N+2
Resend End
Message (Seq. No. = N + 2)
(resend flag "yes") N+3
Figure 3.7.2 - f Message Gap Detected while Validating Resend Request Message
73
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
(7) Exchange Trading System Detects Message Gap while Validating Pre-Logout Request Message
The Exchange Trading System validates the Message Sequence Number in a Pre-Logout Request Message received from the Virtual Server. If a gap is
detected, it must perform the following steps to recover the message gap.
・ The Exchange Trading System receives a Pre-Logout Request Message from the Virtual Server.
・ The Exchange Trading System validates the Message Sequence Number of the received Pre-Logout Request Message and a gap is detected.
・ The Exchange Trading System discards the received Pre-Logout Request Message (the expected sequence number remains unchanged).
・ The Exchange Trading System sends a Resend Request Message to the Virtual Server to recover the message gap.
・ The Exchange Trading System receives a Pre-Logout Request Message from the Virtual Server as a resend Message (resend flag set to "yes").
・ The Exchange Trading System sends a Pre-Logout Response Message to the Virtual Server to proceed with the Logout process.
Note that the Exchange Trading System sends the Pre-Logout Response Message in response to the resend Message from the Virtual Server, that is, to the
Pre-Logout Request Message (resend flag set to "yes"), not to the Pre-Logout Request Message that caused the gap.
74
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Resend Start
Message (Seq. No. = N + 1)
(resend flag "yes") N +2
Figure 3.7.2 - g Message Gap Detected while Validating Pre-Logout Request Message
75
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
(8) Virtual Server Detects Message Gap while Validating Pre-Logout Response Message
The Virtual Server validates the Message Sequence Number in the Pre-Logout Response Message received from the Exchange Trading System. If a gap
is detected, it must perform the following steps to recover the message gap.
・ The Virtual Server receives a Pre-Logout Response Message from the Exchange Trading System.
・ The Virtual Server validates the Message Sequence Number of the received Pre-Logout Response Message and a gap is detected.
・ The Virtual Server discards the Pre-Logout Response Message (the expected sequence number remains unchanged).
・ The Virtual Server sends a Resend Request Message to the Exchange Trading System to recover the message gap.
・ The Virtual Server receives a Pre-Logout Response Message from the Exchange Trading System as a resend Message (resend flag set to "yes").
・ The Virtual Server sends a Logout Request Message to the Exchange Trading System to proceed with the Logout process.
Note that the Virtual Server sends the Logout Request Message in response to the resend Message from the Exchange Trading System, that is, to the
Pre-Logout Response Message (resend flag set to "yes"), not to the Pre-Logout Response Message that caused the gap.
76
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Figure 3.7.2 - h Message Gap Detected while Validating Pre-Logout Response Message
77
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
3.7.3. Exceptions
78
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Figure 3.7.3 - a Receiver Repeated Requests for Number of Times of Re-resend Request
79
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
This figure assumes that the Virtual Expected Seq. No. Admin
Server is the sender and the Exchange
Message (Seq. No. = N + 2)
Trading System is the receiver. N+2
Update
Reject Message
Detects Duplicate of Msg.
Seq. No.
ESP Link Continues
80
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
When a Virtual Server sends any operation Message to the Exchange Trading System, it must follow the steps described in this section. This section also shows how the
Exchange Trading System and each Virtual Server Exchange the Already Received Message Sequence Number (ARMSN) each other.
The procedures will be applied to, among various Messages sent/received based on the link control mechanism described in "3. Link Control," the operation
Messages sent from a Virtual Server. Note that the procedures described below will not be applied to the Link Control Messages used for the purposes of link control
(refer to "4.2. List of Link Control Messages").
81
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
There are two types of different transmission procedures per direction between Virtual Servers and the Exchange Trading System as follows.
・ Upstream Operation Message Transmission Procedures (UOMTP): this is for operation Messages from a Virtual Server to the Exchange Trading
System.
・ Downstream Operation Message Transmission Procedures (DOMTP): this is for operation Messages from the Exchange Trading System to a
Virtual Server.
The UOMTP is based on the following information that the Exchange Trading System notifies the Virtual Server.
・ The range of Message Sequence Numbers that the Virtual Server can use for a series of outgoing Messages (Sending Allowed Message Sequence
Number: SAMSN).
・ The Message Sequence Number that the Exchange Trading System recognizes as "already received from the Virtual Server" (Already Received
Message Sequence Number: ARMSN).
A Virtual Server is not able to send Messages by setting sequence numbers out of the range of SAMSN. The concept of UOMTP is shown in the first diagram
below.
The DOMTP is based on the following information that the Virtual Server notifies the Exchange Trading System.
・ The Message Sequence Number that the Virtual Server recognizes as "already received from the Exchange Trading System" (ARMSN).
Note that there is no concept of using SAMSN for the Downstream Message procedures (DOMTP), unlike procedures for the Upstream Messages (UOMTP). The
concept of DOMTP is shown in the second diagram below.
We assume that each of Operation Message Transmission Procedures described in this section is a kind of function that the Exchange Trading System utilizes to
secure the system's stability by maintaining the SAMSN mechanism in the following situations.
・ If an abnormal case, for example where the number of operation Messages from a Virtual Server goes far beyond the expected bounds and such
situation greatly influences the system or the market, occurs and the Exchange Trading System has to respond to such cases to assure the security
and the reliability as a market infrastructure using, for example, a kind of Message flow control mechanism.
82
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
The Virtual Server can not send any operation Message The Exchange Trading System sends the SAMSN to
until it gets the SAMSN from the Exchange Trading SAMSN the Virtual Server.
System.
<Image 2: SAMSN has been obtained from the Exchange Trading System>
SAMSN
SAMSN
<Image 3: Sending Operation Messages to the Exchange Trading System> (received operation Message)
operation operation
SAMSN Message Message
essage 業
務電文
Already Sent Message
Sequence Numbers
SAMSN
The Virtual Server can send a series of operation The Exchange Trading System accordingly sends a
Messages until it reaches the SAMSN. new SAMSN to the Virtual Server.
<Image 4: A new SAMSN has been obtained from the Exchange Trading System>
(received operation Message)
New SAMSN
Sending Allowed operation
Message Increases Message
SAMSN
SAMSN operation
Message
Already Sent Message
Sequence Numbers operation
Message
SAMSN
The Virtual Server, if it reaches the allowed Message The Exchange Trading System accordingly sends a
Sequence Number, can not send new operation new SAMSN to the Virtual Server.
Messages.
* The Exchange Trading System also notifies the Virtual Server of the Already Received Message Sequence
Number (ARMSN) along with the SAMSN, but the sequence is not shown in this figure.
Figure 3.8.2 - a Concept of Upstream Operation Message Transmission Procedures (UOMTP)
84
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
85
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
i. Virtual Server
・ The Virtual Server cannot send any operation Message until it gets the SAMSN from the Exchange Trading System at the beginning of the day.
・ The Virtual Server receives the SAMSN from the Exchange Trading System.
・ The Virtual Server can send a series of Messages until it reaches the allowed Message Sequence Number.
・ If the Virtual Server receives a new SAMSN from the Exchange Trading System, then it extends the range the Virtual Server can send a series of
Messages.
・ The Virtual Server, if it reaches the allowed Message Sequence Number without receiving a new SAMSN from the Exchange Trading System,
then it stops sending new operation Messages.
Table 3.8.3 - A Range of Stop Sending
Category Message Type Stop Sending Remarks
For details on each Message, refer to "System Interface Specifications
for arrowhead - Operation (Order/Notice)", "System Interface
Operation all Messages Yes
Specifications for arrowhead - Operation (Query)" and "System
Interface Specifications for arrowhead - Operation (Drop Copy)".
Login Request/Response Message, Pre-Logout Request/Response
Link Control all Messages No Message, Logout Request/Response Message, Heartbeat Message,
Resend Request Message, Skip Message and Reject Message
The Virtual Server also receives the ARMSN from the Exchange Trading System. For details on the ARMSN, refer to "3.7. Control of Message
Recovery."
86
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
87
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
<1. The Virtual Server has not yet obtained the Sending Allowed Message Sequence Number (SAMSN).>
Message Sequence Number (MSN)
1
<< The Virtual Server can not send any This shows the situation where the Virtual Server has
10 operation Message. >> not yet obtained the SAMSN (i.e. it can not send any
operation Message).
20
<3. The Virtual Server has sent ten operation Messages (MSN = '10').>
MSN
This shows the situation where the Virtual Server has
1 MSN = '1' sent ten operation Messages (MSN = '10').
10 MSN = '10'
This means that the Virtual Server still can send ten
20 Messages.
88
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
<5. The Virtual Server has sent twenty operation Messages (MSN = '20') and obtained new SAMSN (= '40').>
MSN
This shows the situation where the Virtual Server has
1 obtained new SAMSN (= '40') from the
10 MSN = '10' Exchange Trading System after sending twenty
operation Messages (MSN = '20').
20 MSN = '20'
The Virtual Server changes the allowed MSN range
30 from '30' to '40'
40 SAMSN = '40'
Update
: a series of Messages can be sent
50
: already sent
: SAMSN
Figure 3.8.3 - a Operation Message Transmission Procedures (Basic Procedures for Upstream Flow)
89
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Virtual Server
The Virtual Server has to update the ARMSN immediately and notify the Exchange Trading System of the updated ARMSN, but it does not notify
the SAMSN as used in the UOMTP.
The value of the ARMSN must be equal to or greater than the last notified value (either continuously incremented values or discontinuous greater
values), i.e. no lesser values allowed. Whenever the Virtual Server has any Message to send to the Exchange Trading System, it always set the
ARMSN to the corresponding field of such Message.
Exchange Trading System
Note that when the Exchange Trading System sends operation Messages according to the Downstream Message procedures, there is no concept of
using SAMSN, unlike procedures for the Upstream Messages.
For details on the ARMSN that a Virtual Server notifies the Exchange Trading System, refer to "3.7. Control of Message Recovery."
90
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
110 MSN = '110' This shows the situation where the Virtual Server has
sent some Messages and the MSN reaches '110'.
120
130
<2. The Virtual Server has used all allowed Message Sequence Numbers (i.e. it reaches SAMSN) and stops sending Messages.>
MSN This shows the situation where the Virtual Server has
<< earlier part omitted >> sent Messages up until the MSN reaches '120' and
101 stops sending.
110 At this stage, the Virtual Server has not received a
MSN = '120' new SAMSN from the Exchange Trading System and
120 Stop Sending
it stops sending operation Messages because the MSN
130 reaches the current SAMSN.
3.8.5. Exceptions
<1. The Virtual Server has used all allowed Message Sequence Numbers (i.e. it reaches SAMSN) and stops sending Messages.>
120 Stop Sending MSN = '120' The Virtual Server stops sending Messages.
130
<2. The Virtual Server has sent a Message by setting a MSN that is greater than the current SAMSN.>
<< earlier part omitted >>
This shows the situation where the Virtual Server,
MSN although it stops sending, has sent a Message by
SAMSN = '120' setting a MSN (= '121') that is greater than the current
101 SAMSN (= '120').
110
The Exchange Trading System rejects this Message
120 Stop Sending MSN = '121' because the MSN of the received Message (='121') is
greater than the current SAMSN (= '120').
130 Reject Message
140 : a series of Messages can be sent
: already sent
: SAMSN
Figure 3.8.5 - a Receipt of Operation Message (MSN is Greater than the Last Notified SAMSN)
93
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
94
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
101 MSN = '101' This shows the situation where the Virtual Server has
sent Messages up until the MSN reaches '110'.
110 MSN = '110'
The Virtual Server can send operation Messages until
120 the MSN reaches '120'.
130
95
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
96
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
A Virtual Server and the Exchange Trading System monitors each other's system status by checking the intervals of Messages received from the counterpart.
(1) Sender
The sender, a Virtual Server or the Exchange Trading System, if it has no Message to send for a given period of time (hereinafter referred to as "Heartbeat
Transmission Timer"), sends a Heartbeat Message to the receiver to let the receiver know that the sender is "alive." Note, however, that the Exchange
Trading System may send a Heartbeat Message regardless of the Heartbeat Transmission Timer for the purposes of immediately notifying a Virtual Server of
a Sending Allowed Message Sequence Number (SAMSN). For details on the Heartbeat Transmission Timer, refer to "3.11. Link Control Parameters."
(2) Receiver
The receiver, a Virtual Server or the Exchange Trading System, monitors if the sender is "alive" by monitoring whether it receives a Message in a given
period of time (hereinafter referred to as "Heartbeat Receipt Timer"). For details on the Heartbeat Receipt Timer, refer to "3.11. Link Control Parameters."
97
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
time reset
a given period of time
Timeout Heartbeat Message 一定時間 Msg comes in within the time.
time reset
time reset
Timeout
a given period of time
time reset Msg comes in within the time.
Heartbeat Message
time reset
In the heartbeat process, a Virtual Server becomes the sender of Heartbeat Messages for the upward stream and the Exchange Trading System becomes the sender of
Heartbeat Messages for the downward stream to monitor each other. Note that the heartbeat mechanism is not a request-response type process.
None.
98
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
3.9.3. Exceptions
(1) Timeout
The receiver, a Virtual Server or the Exchange Trading System, if it receives no Message after a given period of time (Heartbeat Receipt Timer) elapses,
thinks that any trouble occurred in the sender's system and releases the ESP link according to the following steps.
・ The receiver does not receive any Heartbeat Message and a given period of time (Heartbeat Receipt Timer) elapses.
・ The receiver sends a Logout Request Message to the sender.
・ The receiver releases the TCP connection without waiting for the Logout Response Message from the sender.
time reset
99
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
100
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
If a Virtual Server or the Exchange Trading System receives a highly abnormal Message or encounters a serious event before establishing an ESP link or in an ESP link
established state, it performs the following steps.
If a Virtual Server or the Exchange Trading System receives a highly abnormal Message or encounters a serious event before establishing an ESP link, follow the
steps described in "3.4. Link Establishment."
If a Virtual Server or the Exchange Trading System encounters the "Cases" below in an ESP link established state, it performs the following steps.
Note that for exceptions described in "3.6. Send/Receive Control of Messages," "3.7. Control of Message Recovery" and "3.9. Heartbeat Process," refer to each
respective procedures.
(1) Operation Message Transmission Procedures Reject
The Exchange Trading System performs the following steps when it encounters one of the "Cases" below.
・ If the Exchange Trading System receives the Message described in the "Cases" below, it does not process the Message (but the expected sequence
number is updated).
・ The Exchange Trading System sends a Reject Message to the sender.
・ The Exchange Trading System retains the ESP link and proceeds to the next Message.
Cases:
・ Receives an operation Message that has a greater Message Sequence Number than the last notified SAMSN with regard to the Upstream
Operation Message Transmission Procedures (UOMTP).
Note that the Exchange Trading System updates the expected sequence number when it encounters this case. For details on the Operation Message
Transmission Procedures and the SAMSN, refer to "3.8. Operation Message Transmission Procedures."
101
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
102
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
103
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
If a Virtual Server or the Exchange Trading System receives a highly abnormal Message or encounters a serious event while releasing the ESP link, follow the steps
described in "3.5. Link Release."
104
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
The tables below show the parameters a Virtual Server and the Exchange Trading System use to control a link. Note that all parameters will be stopped or cleared at the
time the TCP connection is released. Specific setting values will be determined separately.
Establishment Time from when the Virtual Server sends a Login Request
A Login Request A Login Response
Login Response Timer (T2) Message till when it receives a Login Response Message from
Message is sent. Message is received.
○
the Exchange Trading System.
Link Release
Logout Request Timer (T4)
Request Message. Note that this does not include time for Message is sent. Message is received.
○
resend process.
Time from when a Logout Request Message is sent till when a A Logout Request A Logout Response
Logout Response Timer (T5)
Logout Response Message is received. Message is sent. Message is received.
○
Connection Release Timer Time from when a Logout Response Message is sent till when A Logout response is The TCP connection is
(T6) the TCP connection is released. sent. released.
○
(continued on the next page)
105
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
[Virtual Server]
[Virtual Server]
A Pre-Logout Response Message is
A Login Response Message is
When the sender has no Message to received.
received.
send, this timer measures time from [Exchange Trading System]
Heartbeat Transmission Timer [Exchange Trading System]
(T7)
when the sender sent the last
A Login Response Message is sent.
A Pre-Logout Response Message is ○ ○
Message till when it sends a sent.
[VS and ETS, afterward]
Heartbeat Message. [VS and ETS]
The timer starts again when a
A Logout Request Message is sent.
Message is sent.
A Logout Response Message is sent.
Heartbeat
[Virtual Server]
[Virtual Server]
A Pre-Logout Response Message is
A Login Response Message is
received.
received.
[Exchange Trading System]
Time in which the receiver monitors [Exchange Trading System]
Heartbeat Receipt Timer (T8)
the sender (if it is "alive"). A Login Response Message is sent.
A Pre-Logout Response Message is ○ ○
sent.
[VS and ETS, afterward]
[VS and ETS]
The timer starts again when a
A Logout Request Message is received.
Message is received.
A Logout Response Message is sent.
107
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
4. Message
A Message sent/received between a Virtual Server and the Exchange Trading System consists of a Message header and a data area. The Message header is common
for all Messages. The data area, however, contains various data depending on the type of the Message and differs even between the same Message types depending on
the data classification. Refer to "System Interface Specifications for arrowhead - Operation (Order/Notice)", "System Interface Specifications for arrowhead -
Operation (Query)" and "System Interface Specifications for arrowhead - Operation (Drop Copy)" for details on the data classification.
(* Protocol header, etc. for layers below the transport layer are omitted.)
Figure 4.1.1 - a Message Basic Format
A Virtual Server and the Exchange Trading System use the following data format for the link control.
Table 4.1.2 - A Data Format
Notation of Character Code Character Set
Attribute
The character set is JIS8 for single-byte characters and Shifted JIS for double-byte characters. Note that double-byte
C Represents character set. characters (Shifted JIS) may not be used for the Message headers of link control Messages and other Messages.
* All message fields that can use alphabet characters from 'A' to 'Z' and from 'a' to 'z' are case sensitive.
108
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
The following table shows the data format of the Message header used for the Messages sent/received between a Virtual Server and the Exchange Trading System.
Table 4.1.3 - A Data Format - Message Header
No. Field Name Bytes Attr. Description
Set the length of the Message excluding the "Message Length" field itself. Right-align the Message
1 Message Length 5 C
length, suppressing zeros.
2 Message Type 2 C Set the type of the Message. Refer to "4.2. List of Link Control Messages."
3 Message Sequence Number 8 C Set the Message Sequence Number. (*) Right-align the Message Sequence Number, suppressing zeros.
Set this flag to "yes" for resend Messages for recovery purposes. Set the field as below.
4 Resend Flag 1 C '0': no
'1': yes
For Upstream Messages, set the Participant Code of the sender.
For Downstream Messages, set the Exchange Participant Code of the destination.
5 Participant Code 5 C
Always use the Securities Company Standard Code defined by the Securities Identification Code
Committee (SICC).
For Upstream Messages, set the Virtual Server number of the sender.
6 Virtual Server No. 6 C For Downstream Messages, set the Virtual Server number of the destination.
Set using single-byte alphanumeric characters from ‘0’ to ’9’, from ’A’ to ’Z’, and from ’a’ to ’z’.
Already Received Message Set the Message Sequence Number recognized as "already received." Right-align the ARMSN,
7 8 C
Sequence Number (ARMSN) suppressing zeros.
Set the Sending Allowed Message Sequence Number (SAMSN) the Exchange Trading System notifies
Sending Allowed Message
8 8 C the Virtual Server. Right-align the SAMSN, suppressing zeros.
Sequence Number (SAMSN)
Set all zeros for Upstream Messages (this field is not used for Upstream Messages).
(continued on the next page)
109
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
For the data format of the data area used for the Messages sent/received between a Virtual Server and the Exchange Trading System, refer to "4.3. Link Control
Message Data Format" for link control Messages and refer to "System Interface Specifications for arrowhead - Data Format (Order/Notice)", "System Interface
Specifications for arrowhead - Data Format (Query)" and "System Interface Specifications for arrowhead - Data Format (Drop Copy)" for operation Messages.
110
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
The following table shows the link control Messages used between a Virtual Server and the Exchange Trading System.
Table 4.2 - A List of Link Control Messages
Able to send?
Category Message Name Direction Message Type
Virtual Server Exchange Trading System
Login Request Message Up 01 Yes No
Login Response Message Down 11 No Yes
Pre-Logout Request Message Up 02 Yes No
Pre-Logout Response Message Down 12 No Yes
Up 03 Yes No
Logout Request Message
Down 13 No Yes
Up 04 No No
Logout Response Message
Down 14 No Yes
Link Control Message
Up 05 Yes No
Heartbeat Message
Down 15 No Yes
Up 06 Yes No
Resend Request Message
Down 16 No Yes
Up 07 Yes No
Skip Message
Down 17 No Yes
Up 08 Yes No
Reject Message
Down 18 No Yes
(continued on the next page)
111
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
112
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
113
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
114
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
115
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
Number
suppressing zeros.
116
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
2 8 C
Number Number, suppressing zeros.
If only a single non-resend Message exists, set zeros.
3 Reserved 8 C Set spaces.
set zeros.
Set the Message type of the reject target Message.
3 Reject Message Type 2 C
Note that if the Message type of the reject target Message is not identified, set zeros.
4 Reject Reason Code 4 C The Reject Reason Code is set. Refer to "4.4.1. Reject Reason Code."
5 Reserved 2 C Set spaces.
117
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
118
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
119
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version
and the original Japanese version, the Japanese version shall prevail. TSE, Japan Exchange Group, Inc. (JPX), Japan Exchange Regulation (JPX-R),
and/or their affiliates shall not jointly or individually accept any responsibility or liability for damage or loss caused by any error, inaccuracy,
misunderstanding or misspelling with regard to this translation. This translation may be used only for reference purposes. TSE, JPX, JPX-R, and/or their
affiliates jointly or individually maintain rights to claim compensation for any damage or loss it may suffer from a violation of these conditions.
120
Reference Translation
This English version is not an official translation of the original Japanese document. In cases where any differences occur between the English version and the original Japanese version, the Japanese version shall prevail.