JPH11259559A - Financial information processing system - Google Patents
Financial information processing systemInfo
- Publication number
- JPH11259559A JPH11259559A JP6171598A JP6171598A JPH11259559A JP H11259559 A JPH11259559 A JP H11259559A JP 6171598 A JP6171598 A JP 6171598A JP 6171598 A JP6171598 A JP 6171598A JP H11259559 A JPH11259559 A JP H11259559A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- calculation
- mark
- portfolios
- market
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
(57)【要約】
【課題】 複数のポートフォリオについての値洗処理を
短時間で行うことができる金融情報処理システムを提供
する。
【解決手段】 計算プロセス32は、複数のポートフォ
リオが記憶されているデータベースから所定の一つのポ
ートフォリオを読み出し、その読み出した一つのポート
フォリオに対する値洗処理を実行するものである。制御
プロセス31は、計算サーバ30上に常に一つだけ常駐
している。制御プロセス31は、ディーラ端末20から
値洗処理要求が送られてくると、同時に実行可能な計算
プロセス32の数を決定し、その決定した数だけ計算プ
ロセス32を立ち上げる。そして、その立ち上げた各計
算プロセス32に、値洗処理要求に対応した複数のポー
トフォリオについて値洗処理を並列して実行させる。値
洗処理の結果は、ディーラ端末20のディスプレイ装置
50に表示される。
(57) [Summary] [PROBLEMS] To provide a financial information processing system capable of performing a mark-to-market process for a plurality of portfolios in a short time. A calculation process reads a predetermined one portfolio from a database storing a plurality of portfolios and executes a mark-to-market process on the read one portfolio. Only one control process 31 always resides on the calculation server 30. The control process 31 determines the number of calculation processes 32 that can be executed at the same time when the price-request processing request is sent from the dealer terminal 20, and starts the calculation processes 32 by the determined number. Then, the started calculation processes 32 are caused to execute the mark-down processing in parallel for a plurality of portfolios corresponding to the mark-up processing request. The result of the price washing process is displayed on the display device 50 of the dealer terminal 20.
Description
【0001】[0001]
【発明の属する技術分野】本発明は、スワップ、オプシ
ョンといった金融派生商品(デリバティブ)取引のディ
ーリングやリスク管理業務を支援する金融情報処理シス
テムに関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a financial information processing system for supporting dealings in financial derivative products (derivatives) such as swaps and options and risk management operations.
【0002】[0002]
【従来の技術】デリバティブ取引では、ディーラは、現
在の資産価値はいくらなのか、あるいは資産価値の増減
はどの程度なのか等、業務に伴うリスク状態を迅速且つ
正確に把握するために、コンピュータを用いて、複数の
ポートフォリオについて値洗処理を行っている。ここ
で、ポートフォリオとは、一定の基準で区分された約定
データの集まりをいう。また、約定データとは、過去に
成立したデリバティブ商品の取引の内容・条件を記録し
たデータのことである。通常、値洗処理では、金利や為
替レートのような市況データを用いて、一定の計算式に
よって資産の現在価値を評価している。特に、ポートフ
ォリオ単位で値洗処理を行うことにより、ディーラは、
現在のリスク状態をより詳しく評価することができる。2. Description of the Related Art In a derivative transaction, a dealer uses a computer in order to quickly and accurately grasp a risk state associated with a business, such as a current asset value or a change in the asset value. In addition, a mark-to-market process is performed for a plurality of portfolios. Here, the portfolio refers to a group of contract data classified according to a certain standard. In addition, the contract data is data that records the details and conditions of transactions of derivative products that have been completed in the past. Usually, in the mark-to-market process, the present value of an asset is evaluated by a certain formula using market data such as interest rates and exchange rates. In particular, by performing mark-to-market processing on a portfolio basis, dealers can:
The current risk status can be evaluated in more detail.
【0003】[0003]
【発明が解決しようとする課題】ところで、金利や為替
レート等の市況データは時々刻々と変動しており、これ
に伴い、現在の資産価値やリスク状態もどんどん変わっ
ていく。このため、ディーラは、実際の市場の動きに連
動させて、複数のポートフォリオについて一日に何度で
も値洗処理を行い、常に、最新のリスク状態を評価する
ことが望まれる。しかし、値洗処理の対象となるポート
フォリオには通常、数十から数千もの約定データが含ま
れており、また、約定データの数は今後も増大する傾向
にある。このため、複数のポートフォリオについての値
洗処理には何十分、場合によっては数時間もかかること
がある。この処理時間の短縮が課題となっていた。By the way, market condition data such as interest rates and exchange rates fluctuate from moment to moment, and accordingly, the current asset value and the risk status change steadily. For this reason, it is desired that the dealer performs a mark-up process on a plurality of portfolios as many times as possible in a day in association with the actual market movement, and always evaluates the latest risk status. However, portfolios that are subject to mark-to-market processing typically contain dozens to thousands of contract data, and the number of contract data tends to increase in the future. For this reason, the mark-to-market process for a plurality of portfolios can take tens of minutes, and in some cases, hours. Reduction of the processing time has been an issue.
【0004】本発明は上記事情に基づいてなされたもの
であり、複数のポートフォリオについての値洗処理を短
時間で行うことができる金融情報処理システムを提供す
ることを目的とするものである。The present invention has been made based on the above circumstances, and has as its object to provide a financial information processing system capable of performing a mark-to-market process for a plurality of portfolios in a short time.
【0005】[0005]
【課題を解決するための手段】上記の目的を達成するた
めの本発明に係る金融情報処理システムは、複数の約定
データを含む複数のポートフォリオを記憶する記憶手段
と、前記記憶手段から所定の一つ又は複数のポートフォ
リオを読み出し、その読み出した一つ又は複数のポート
フォリオに対する値洗処理を実行する複数の計算プロセ
ス手段と、一つ又は複数のポートフォリオについて値洗
処理を行うべき旨の指示を受けたときに、同時に実行可
能な前記計算プロセス手段の数を決定し、その決定した
数だけ前記計算プロセス手段を立ち上げ、前記指示され
た一つ又は複数のポートフォリオについての値洗処理を
その立ち上げた前記各計算プロセス手段により並列して
実行させる制御プロセス手段と、前記各計算プロセス手
段によって得られた一つ又は複数のポートフォリオにつ
いての値洗処理の結果を出力する出力手段と、を具備
し、前記各計算プロセス手段は、一つ又は複数のポート
フォリオに対する値洗処理を実行する際に、複数のスレ
ッドを生成し、前記各スレッドにそのポートフォリオに
含まれる約定データに対する所定の計算を独立して実行
させることを特徴とするものである。A financial information processing system according to the present invention for achieving the above object has a storage means for storing a plurality of portfolios including a plurality of contract data, and a predetermined one from the storage means. One or more portfolios are read, a plurality of calculation process means for executing a mark-to-market process on the read one or more portfolios, and an instruction to perform a mark-to-market process on one or more portfolios is received. Sometimes, the number of the calculation process means that can be executed simultaneously is determined, the calculation process means is started up by the determined number, and the mark-up processing for the one or more designated portfolios is started up. Control process means to be executed in parallel by each of the calculation process means; and Output means for outputting the result of the mark-to-market process for one or more portfolios, wherein each of the calculation process means executes a plurality of threads when executing the mark-to-market process for one or more portfolios. And causing the threads to independently execute predetermined calculations on contract data included in the portfolio.
【0006】制御プロセス手段は、一つ又は複数のポー
トフォリオについて値洗処理を行うべき旨の指示を受け
ると、同時に実行可能な計算プロセス手段の数を決定
し、その決定した数だけ計算プロセス手段を立ち上げ
る。そして、その立ち上げた各計算プロセス手段にマル
チプロセスで値洗処理を実行させる。このようにマルチ
プロセスで値洗処理を行うことにより、本発明では、迅
速な値洗処理が可能であり、結果が出るまでの時間を大
幅に短縮することができる。When the control process means receives an instruction to perform a mark-to-market process for one or a plurality of portfolios, the control process means determines the number of calculation process means that can be executed at the same time, and executes the calculation process means by the determined number. Launch. Then, each of the started calculation process means is caused to execute the mark-to-market processing in a multi-process. By performing the price washing process in a multi-process as described above, according to the present invention, a quick price washing process can be performed, and the time until a result is obtained can be greatly reduced.
【0007】また、上記の目的を達成するための本発明
に係るコンピュータ読み取り可能な記録媒体は、複数の
約定データを含む複数のポートフォリオを記憶する記憶
手段から所定の一つ又は複数のポートフォリオを読み出
し、その読み出した一つ又は複数のポートフォリオに対
する値洗処理を実行する複数の計算プログラムと、一つ
又は複数のポートフォリオについて値洗処理を行うべき
旨の指示を受けたときに、同時に実行可能な前記計算プ
ログラムの数を決定し、その決定した数だけ前記計算プ
ログラムを立ち上げ、前記指示された一つ又は複数のポ
ートフォリオについての値洗処理をその立ち上げた前記
各計算プログラムにより並列して実行させる制御プログ
ラムと、を具備し、前記各計算プログラムは、一つ又は
複数のポートフォリオに対する値洗処理を実行する際
に、複数のスレッドを生成し、前記各スレッドにそのポ
ートフォリオに含まれる約定データに対する所定の計算
を独立して実行させることを特徴とするものである。According to another aspect of the present invention, there is provided a computer-readable recording medium for reading one or more predetermined portfolios from storage means for storing a plurality of portfolios including a plurality of contract data. A plurality of calculation programs for executing the mark-to-market processing on the read one or a plurality of portfolios, and, when receiving an instruction to perform the mark-to-market processing on one or a plurality of portfolios, Determine the number of calculation programs, launch the calculation programs by the determined number, and execute the mark-to-market processing for the designated one or more portfolios in parallel by the launched calculation programs. And a control program, wherein each of the calculation programs has one or more In performing Nearai process for O, it generates a plurality of threads, is characterized in that for the execution independently a predetermined calculation for commitments data included in the portfolio each thread.
【0008】[0008]
【発明の実施の形態】以下に本発明の第一実施形態につ
いて図面を参照して説明する。図1は本発明の第一実施
形態である金融情報処理システムの全体的な構成を示す
図である。図1に示すように、第一実施形態の金融情報
処理システムは、ネットワーク10上に、複数のディー
ラ端末20と、ネットワーク10の中央部に位置する複
数の計算サーバ30と、データベース40とが接続され
ている。各ディーラ端末20は、ディーラが取引業務を
行うディーリングルームに設置され、各計算サーバ30
やデータベース40は、例えば別室に設置されている。
両者の間では、プロセス間通信が行われる。各計算サー
バ30はマルチプロセッサ対応の並列コンピュータであ
り、後述するように、マルチプロセス及びマルチスレッ
ドにより複数のポートフォリオについて値洗処理を実行
する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a diagram showing an overall configuration of a financial information processing system according to a first embodiment of the present invention. As shown in FIG. 1, the financial information processing system according to the first embodiment includes a network 10 in which a plurality of dealer terminals 20, a plurality of calculation servers 30 located in a central portion of the network 10, and a database 40 are connected. Have been. Each dealer terminal 20 is installed in a dealing room in which the dealer performs a transaction, and each of the calculation servers 30
The database 40 is installed in, for example, another room.
Inter-process communication is performed between the two. Each calculation server 30 is a multiprocessor-compatible parallel computer, and executes a mark-to-market process with respect to a plurality of portfolios using multi-processes and multi-threads, as described later.
【0009】第一実施形態の金融情報処理システムが主
として計算の対象とするのは、デリバティブ取引に関連
する約定データである。デリバティブ取引とは、原資産
の価格に応じ、その価値が決定される商品(デリバティ
ブ商品)を取引するもので、実際の決済は先のことにな
る。約定データとは、過去に成立したデリバティブ商品
の取引の内容・条件を記録したデータのことである。約
定データは、金融機関によって異なるが、多い場合には
数万から数十万という数に達するが、これらは一定の基
準でグループ化されている。各グループ毎に分けられた
約定データの集まりがポートフォリオである。グループ
分けは、例えば、スワップ、スワップション等の商品毎
又は部署毎等により行われる。また、一つのポートフォ
リオには、通常、数十から数千という約定データが含ま
れる。[0009] The financial information processing system of the first embodiment mainly calculates contract data related to derivative transactions. Derivative transactions involve trading products (derivative products) whose value is determined according to the price of the underlying asset, and the actual settlement is first. The contract data is data that records the details and conditions of a derivative product transaction that has been completed in the past. Contract data varies from financial institution to financial institution, but can range from tens of thousands to hundreds of thousands, but these are grouped according to certain criteria. A collection of execution data divided for each group is a portfolio. The grouping is performed, for example, for each product such as a swap or swaption, or for each department. In addition, one portfolio usually contains tens to thousands of contract data.
【0010】ディーラは、今現在保有しているポートフ
ォリオの現在価値や、マーケットの変動により発生し得
るリスク等を迅速に評価する必要がある。また、新たに
取引の引き合いがあったときに、ディーラは、その引き
合いを受けるべきかどうかを短時間に判断するために
も、現在保有する資産価値の時価評価を短時間に知る必
要がある。加えて、その資産が、将来のある時点におい
て、どの程度変動している可能性があるかという評価も
行う必要がある。[0010] The dealer needs to quickly evaluate the present value of the portfolio currently held, risks that may occur due to market fluctuations, and the like. In addition, when there is a new business inquiry, the dealer needs to know the market value evaluation of the asset value currently held in a short time in order to quickly determine whether or not the inquiry should be received. In addition, an assessment needs to be made of the extent to which the asset may have changed at some point in the future.
【0011】しかしながら、約定データに記述されるデ
リバティブの価値は、実際の金銭の集積ではなく、変動
金利、原資産価値に連動して変化する。しかも、一般的
に、その評価には高等数学を駆使した経済理論に基づく
高度な計算処理が必要で、約定件数が非常に多くなる
と、約定データを用いた資産の評価は、高性能なコンピ
ュータで行う必要がある。この約定データを使って、現
在の資産を評価する計算が、計算サーバ30によって行
われる。かかる現在の資産を評価する計算処理は値洗処
理と呼ばれる。特に、第一実施形態では、複数のポート
フォリオについてポートフォリオ単位で値洗処理を行う
ことにする。このようにポートフォリオ単位で値洗処理
を行うことにより、ディーラは現在の資産価値を詳しく
評価することができる。尚、第一実施形態では、値洗処
理の対象となる複数のポートフォリオは、同じような種
類のポートフォリオからなるものとする。すなわち、各
ポートフォリオについて、約定データの件数、スワップ
やスワップション等の商品の種類等がほとんど同じであ
るとする。[0011] However, the value of the derivative described in the contract data changes in accordance with the floating interest rate and the underlying asset value, not the actual accumulation of money. Moreover, in general, the evaluation requires advanced calculation processing based on economic theory that makes full use of advanced mathematics, and when the number of contracts becomes very large, the valuation of assets using contract data requires a high-performance computer. There is a need to do. The calculation server 30 performs a calculation for evaluating the current asset using the contract data. The calculation process for evaluating the current asset is called a mark-to-market process. In particular, in the first embodiment, a mark-to-market process is performed for a plurality of portfolios on a portfolio basis. By performing the mark-to-market processing on a portfolio basis in this way, the dealer can evaluate the current asset value in detail. In the first embodiment, it is assumed that a plurality of portfolios to be subjected to mark-to-market processing are composed of portfolios of the same type. That is, it is assumed that the number of contract data, the types of products such as swaps and swaptions, and the like are almost the same for each portfolio.
【0012】図2はディーラ端末20と計算サーバ30
を一台ずつ示している。ディーラ端末20には、ディス
プレイ装置50及びキーボード60等が接続されてい
る。ディスプレイ装置50には、値洗処理の実行状況や
処理結果などが表示される。キーボード60は、ディー
ラが値洗処理の対象となるポートフォリオを特定するI
Dを指定する場合等に使用される。また、ディーラ端末
20には、値洗処理の結果を紙に出力するプリンタ(不
図示)も接続されている。尚、ネットワークを介したプ
リンタサーバを用いてもよい。FIG. 2 shows the dealer terminal 20 and the calculation server 30.
Are shown one by one. A display device 50, a keyboard 60, and the like are connected to the dealer terminal 20. On the display device 50, the execution status of the price washing process, the processing result, and the like are displayed. The keyboard 60 is used by the dealer to identify the portfolio for which the price-marking process is to be performed.
It is used when D is specified. The dealer terminal 20 is also connected to a printer (not shown) that outputs the result of the price-wash process to paper. Note that a printer server via a network may be used.
【0013】ディーラ端末20の内部では、ネットワー
ク10を介しての値洗処理要求の計算サーバ30への送
信、値洗処理の実行状況の受信、値洗処理の結果の受信
などを行う金融デリバティブ資産価値評価用アプリケー
ションソフトウエア(以下単に「クライアントアプリケ
ーション」と称する。)21が稼働している。ディーラ
は、ディーリング業務中、複数のポートフォリオについ
て値洗処理を実行させようと思ったときには、ディーラ
端末20上でその旨の指示を、ポートフォリオのIDと
ともにキーボード60等から打ち込む。すると、クライ
アントアプリケーション21がこれを受け取り、計算サ
ーバ30に値洗処理要求として送信する。この値洗処理
要求には、ポートフォリオを特定するIDが含まれてい
る。計算サーバ12が値洗処理要求を受け取ると、実際
に値洗処理を開始する。この具体的に処理内容について
は後述する。尚、ディーラ端末20上では、クライアン
トアプリケーション21の他にも、デリバティブ取引の
リスク管理を行う種々のアプリケーションプログラムが
稼働している。[0013] Inside the dealer terminal 20, a financial derivative asset for transmitting a mark-to-market processing request to the calculation server 30 via the network 10, receiving the execution status of the mark-to-market processing, receiving the result of the mark-to-market processing, and the like. Value evaluation application software (hereinafter simply referred to as “client application”) 21 is running. When the dealer wants to execute the mark-to-market process on a plurality of portfolios during the dealing business, he or she inputs an instruction to that effect on the dealer terminal 20 together with the portfolio ID from the keyboard 60 or the like. Then, the client application 21 receives this and transmits it to the calculation server 30 as a mark-to-price processing request. This price-request processing request includes an ID for specifying the portfolio. When the calculation server 12 receives the price-request processing request, the price-reserve processing is actually started. The specific processing contents will be described later. In addition, on the dealer terminal 20, in addition to the client application 21, various application programs for managing risk of derivative transactions are running.
【0014】図1に示すデータベース40には、複数の
ポートフォリオが格納されている。各ポートフォリオに
含まれる約定データには、そのポートフォリオのIDが
付されている。また、現在又は過去の金利や為替レート
等の市況データもデータベース40に格納されている。
ディーラ端末20から計算サーバ30に値洗処理要求が
送られると、計算サーバ30は、その値洗処理要求と一
緒に送られたポートフォリオのIDに基づいて、そのI
Dに対応する約定データをデータベース40から、計算
サーバ30の主メモリ上に読み出す。また、このとき、
所定の市況データも主メモリ上に読み出す。A plurality of portfolios are stored in the database 40 shown in FIG. The contract data included in each portfolio is provided with the ID of the portfolio. Market conditions data such as current or past interest rates and exchange rates are also stored in the database 40.
When a request for mark-to-market processing is sent from the dealer terminal 20 to the calculation server 30, the calculation server 30 determines the I
The execution data corresponding to D is read from the database 40 onto the main memory of the calculation server 30. At this time,
Predetermined market condition data is also read out on the main memory.
【0015】計算サーバ30上では、図2に示すよう
に、制御プロセス31と計算プロセス32とが稼働して
いる。計算プロセス32は、制御プロセス31による制
御のもとで、データベース40から所定の一つのポート
フォリオを読み出し、その読み出した一つのポートフォ
リオに対する値洗処理を実行するものである。制御プロ
セス31は、計算サーバ30上に常に一つだけ常駐して
いて、ディーラ端末20からの値洗処理要求を待ってい
る。制御プロセス31は、ディーラ端末20から値洗処
理要求が送られてくると、同時に実行可能な計算プロセ
ス32の数を決定し、その決定した数だけ計算プロセス
32を立ち上げる。そして、その立ち上げた各計算プロ
セス32に、値洗処理要求に対応した複数のポートフォ
リオについて値洗処理を並列して実行させる。すなわ
ち、マルチプロセスにより複数のポートフォリオについ
ての値洗処理が実行される。尚、第一実施形態では、各
計算サーバ30には、複数の計算プロセス32による値
洗処理を実行するCPUを例えば八個搭載している。
尚、計算プロセス32自体を動作させるメインのCPU
は別個に設けられていてもよい。On the calculation server 30, as shown in FIG. 2, a control process 31 and a calculation process 32 are operating. The calculation process 32 reads one predetermined portfolio from the database 40 under the control of the control process 31 and executes a mark-to-market process on the read one portfolio. The control process 31 is always resident on the calculation server 30, and waits for a request for a mark-to-price process from the dealer terminal 20. The control process 31 determines the number of calculation processes 32 that can be executed at the same time when the price-request processing request is sent from the dealer terminal 20, and starts the calculation processes 32 by the determined number. Then, the started calculation processes 32 are caused to execute the mark-down processing in parallel for a plurality of portfolios corresponding to the mark-up processing request. That is, a mark-to-market process is performed on a plurality of portfolios by a multi-process. In the first embodiment, for example, each of the calculation servers 30 is equipped with eight CPUs for executing a price washing process by a plurality of calculation processes 32.
Note that a main CPU that operates the calculation process 32 itself is used.
May be provided separately.
【0016】また、各計算プロセス32は、常時、処理
状況を制御プロセス31に通知する。制御プロセス31
は、その処理状況をクライアントアプリケーション21
に送信し、その端末のディスプレイ装置50に表示させ
る。図3は計算サーバ30上における制御プロセス31
と計算プロセス32との関係を示した図である。図3で
は、ある一つのディーラ端末20上で稼働しているクラ
イアントアプリケーション21が、計算サーバ30上の
制御プロセス31に対して値洗処理要求を出している状
況を示している。この場合、第一実施形態では、制御プ
ロセス31は、まず、図3(a)に示すように、一つの
計算プロセス32だけを立ち上げ、その計算プロセス3
2に、値洗処理要求に対応した複数のポートフォリオの
うち、代表的な一つのポートフォリオに対する値洗処理
をトライアル的に実行させる。そして、その実行中にお
けるCPU稼働率をモニタし、そのCPU稼働率の最大
値を求める。ここで、CPU稼働率とは、値洗処理を実
行する八個のCPUすべてがフル稼働した場合を100
%としたときに、当該処理の実行中にCPUが何%稼働
しているかを表したものをいう。CPU稼働率が低いと
いうことは、計算サーバ30の処理能力に余裕があるこ
とを意味する。Each calculation process 32 always notifies the control process 31 of the processing status. Control process 31
Sends the processing status to the client application 21
And causes the display device 50 of the terminal to display it. FIG. 3 shows a control process 31 on the calculation server 30.
FIG. 4 is a diagram showing a relationship between the calculation process 32 and the calculation process 32; FIG. 3 shows a situation in which a client application 21 running on one dealer terminal 20 issues a request for a markdown process to a control process 31 on a calculation server 30. In this case, in the first embodiment, the control process 31 first starts only one calculation process 32 as shown in FIG.
In step 2, a mark-to-market process is executed on a representative one of the plurality of portfolios corresponding to the mark-to-market processing request on a trial basis. Then, the CPU operating rate during the execution is monitored, and the maximum value of the CPU operating rate is obtained. Here, the CPU operating rate is defined as 100 when all eight CPUs that execute the price-washing process are fully operated.
% Means what percentage the CPU is operating during the execution of the process. The fact that the CPU operating rate is low means that the processing capacity of the calculation server 30 has room.
【0017】次に、制御プロセス31は、上記のように
して求めたCPU稼働率の最大値に基づいて、同時に実
行可能な、すなわち、もしいくつかの計算プロセス32
を同時に実行させたとしたときに最大のCPU稼働率が
100%よりある程度小さくなるような計算プロセス3
2の数を決定する。ここで、最大のCPU稼働率が10
0%になるように計算プロセス32の数を決定しないの
は、最大のCPU稼働率が100%又はそれ以上では、
CPUに負荷をかけすぎてしまい、かえって処理の効率
が悪くなってしまうからである。例えば、トライアル的
に実行して求めたCPU稼働率の最大値が約30%であ
ったとすると、制御プロセス31は、同時に実行可能な
計算プロセス32の数を三つに決定する。Next, the control process 31 can be executed simultaneously based on the maximum value of the CPU operating rate obtained as described above, that is, if some calculation processes 32
Calculation process 3 in which the maximum CPU operation rate becomes somewhat smaller than 100% when the
Determine the number of 2. Here, the maximum CPU operation rate is 10
The reason why the number of the calculation processes 32 is not determined so as to be 0% is that when the maximum CPU operation rate is 100% or more,
This is because too much load is applied to the CPU, and the processing efficiency is rather deteriorated. For example, assuming that the maximum value of the CPU operation rate obtained by trial execution is about 30%, the control process 31 determines the number of simultaneously executable calculation processes 32 to be three.
【0018】制御プロセス31は、この決定した計算プ
ロセス32の数だけ、実際に計算プロセス32を立ち上
げる。図3(b)では、一例として、制御プロセス31
が三つの計算プロセス32,32,32を立ち上げた場
合を示している。そして、制御プロセス31は、立ち上
げた各計算プロセス32に、トライアル的に実行したポ
ートフォリオ以外の他のポートフォリオについて値洗処
理を並列して実行させる。尚、第一実施形態では、値洗
処理の対象となる複数のポートフォリオは同じような種
類のポートフォリオからなるので、各計算プロセス32
はポートフォリオを任意の順番で処理してよい。The control process 31 actually starts up the calculation processes 32 by the number of the determined calculation processes 32. In FIG. 3B, as an example, the control process 31
Has started three calculation processes 32, 32, 32. Then, the control process 31 causes the started calculation processes 32 to execute a mark-to-market process in parallel with respect to portfolios other than the portfolio executed on a trial basis. In the first embodiment, since a plurality of portfolios to be subjected to mark-to-market processing consist of the same type of portfolio, each calculation process 32
May process the portfolio in any order.
【0019】次に、各計算プロセス32によって実行さ
れる一つのポートフォリオに対する値洗処理の内容につ
いて説明する。一つのポートフォリオに対する値洗処理
は、大きく分けて、前処理と、約定計算処理と、後処理
という三つの処理からなる。前処理とは、当該計算プロ
セス32による処理対象であるポートフォリオをデータ
ベース40から計算サーバ30の主メモリ上に読み出
し、その読み出したポートフォリオの各約定データに対
して、約定計算に入るための準備処理を行うものであ
る。この準備処理では、具体的には、金利データ等を用
いて、約定データを後述のスレッドによる計算がしやす
いように加工し、その加工した結果の約定データを主メ
モリに書き込む。Next, the contents of the mark-to-market processing for one portfolio executed by each calculation process 32 will be described. The mark-to-market process for one portfolio is roughly divided into three processes: a pre-process, a contract calculation process, and a post-process. The pre-processing is a preparatory process for reading out the portfolio to be processed by the calculation process 32 from the database 40 onto the main memory of the calculation server 30, and for each execution data of the read out portfolio, to enter into the execution of the execution of the execution of the execution of the execution of the execution of the execution of the execution of the execution of the execution. Is what you do. In this preparation process, specifically, the contract data is processed using interest rate data or the like so that it can be easily calculated by a thread described later, and the processed contract data is written to the main memory.
【0020】尚、各計算プロセス32がデータベース4
0から読み出したポートフォリオはそれぞれ、主メモリ
上の異なる領域に一時記憶される。そして、第一実施形
態では、マルチアクセスをサポートするためのマルチエ
ンジンを用いて、各計算プロセス32が主メモリに記憶
されたデータの読み出し等を同時に行えるようにしてい
る。It is to be noted that each calculation process 32 is executed by the database 4
Each of the portfolios read from 0 is temporarily stored in a different area on the main memory. In the first embodiment, each calculation process 32 can simultaneously read data stored in the main memory and the like by using a multi-engine for supporting multi-access.
【0021】約定計算処理は、マルチスレッドで各約定
データに対する所定の計算を実行するものである。各計
算プロセス32は、約定計算処理に入ると、まず、スレ
ッドの数を決める。スレッドとは、計算サーバ30に備
えられているCPUの数に応じて分割された処理の単位
であり、計算プロセス32によってソフトウエア的に設
定される。すなわち、スレッドの数がその計算プロセス
32が専有するCPUの数となる。スレッドの数が決定
されると、計算プロセス32は、その数だけスレッドを
生成し、各スレッドは、ポートフォリオに含まれる各約
定データに対する所定の計算を独立して並列に実行す
る。The contract calculation processing is to execute a predetermined calculation for each contract data in a multi-thread. When each calculation process 32 enters the contract calculation process, first, the number of threads is determined. The thread is a unit of processing divided according to the number of CPUs provided in the calculation server 30, and is set by software by the calculation process 32. That is, the number of threads is the number of CPUs exclusively used by the calculation process 32. When the number of threads is determined, the calculation process 32 generates threads by that number, and each thread independently executes a predetermined calculation on each execution data included in the portfolio in parallel.
【0022】後処理とは、約定計算処理が終了した以降
の処理のことである。実際、約定計算が終わった時点
で、ポートフォリオについての最終的な結果が算出され
ているわけではない。この後処理では、各スレッドで処
理された結果を集めて、ポートフォリオについての最終
的な結果を計算したり、また、この得られた結果をデー
タベース40に書き込んだりする。The post-process is a process after the execution of the contract calculation process. In fact, at the end of the execution, the final result for the portfolio has not been calculated. In this post-processing, the results processed by each thread are collected to calculate the final result for the portfolio, and the obtained result is written to the database 40.
【0023】図4は一つの計算プロセス32の動作を模
式的に示した図である。図4において、入力側の共有メ
モリ38は、計算サーバ30に備えられたRAM等から
なる主メモリである。入力側共有メモリ38には、この
計算プロセス32が抱えているポートフォリオが記憶さ
れ、一つのテーブルとされる。図4の例では、そのポー
トフォリオに含まれるn件の約定データD1 ,D2 ,・・
・ ,Dn が記憶されている。ポートフォリオは、元々デ
ータベース40に蓄えられており、これを計算プロセス
32が引き出して、入力側の共有メモリ38に記憶させ
る。FIG. 4 is a diagram schematically showing the operation of one calculation process 32. 4, the input-side shared memory 38 is a main memory including a RAM and the like provided in the calculation server 30. The portfolio held by the calculation process 32 is stored in the input side shared memory 38, and is set as one table. In the example of FIG. 4, n pieces of execution data D 1 , D 2 ,.
, D n are stored. The portfolio is originally stored in the database 40, which is extracted by the calculation process 32 and stored in the shared memory 38 on the input side.
【0024】実際に値洗処理を行う場合には、計算プロ
セス32は、まず、前処理として、データベース40か
ら所定のポートフォリオを取ってきて、入力側共有メモ
リ38上に書き込む。その後、約定計算処理に入り、ソ
フトウエア的にスレッドを設定する。図4では、一例と
して、四つのスレッド33,33,33,33が設定さ
れている。一つのスレッド33が、一つのCPUを使っ
て独立に処理を行う単位となるので、四つのスレッド3
3,33,33,33がそれぞれ一つずつ、入力側共有
メモリ38から約定データを読み出して、合計四つのC
PUを使って並列度4の並列処理を行っている。すなわ
ち、n件の約定データD1 ,D2 ,・・・,Dn が一つず
つ順番に処理されるのではなく、四つのCPUが協調し
ながらn件の約定データD1 ,D2 ,・・・ ,Dn を処理
する。このようにマルチスレッドで並列的な処理を行う
ことにより、約定計算処理に要する時間が短縮される。When actually executing the mark-to-market process, the calculation process 32 first fetches a predetermined portfolio from the database 40 and writes it on the input side shared memory 38 as preprocessing. After that, the contract calculation process is started, and a thread is set by software. In FIG. 4, four threads 33, 33, 33, 33 are set as an example. Since one thread 33 is a unit that performs processing independently using one CPU, four threads 3
3, 33, 33, 33 read contract data from the input side shared memory 38 one by one, and a total of four C
Parallel processing with a degree of parallelism of 4 is performed using the PU. That is, the n pieces of execution data D 1 , D 2 ,..., D n are not processed one by one, but the n pieces of execution data D 1 , D 2 ,. .., D n are processed. By performing the parallel processing with the multi-thread as described above, the time required for the contract calculation processing is reduced.
【0025】約定データの読み出しの際には、ロック機
構34の排他制御によって、あるスレッドが入力側共有
メモリ38から約定データを読み出している間は、他の
スレッドが約定データの読み出しを行うことができない
ようになっている。また、同じ約定データを複数のスレ
ッドで処理することがないように、一度あるスレッドに
よって読み出された約定データは、他のスレッドからは
読み出されないようにしている。尚、ロック機構34
は、OS標準の排他ロック機構によって実現される。こ
の点については後述する。尚、このロック機構34は、
ロックファイルを作ると共に、各スレッドがこのロック
ファイルを見に行ってアクセスできるかどうかを判断す
ることによって実現するようにしてもよい。At the time of reading contract data, while a thread is reading contract data from the input side shared memory 38, another thread can read contract data under the exclusive control of the lock mechanism 34. I cannot do it. Further, in order to prevent the same contract data from being processed by a plurality of threads, the contract data once read by one thread is not read by another thread. The lock mechanism 34
Is implemented by an OS standard exclusive lock mechanism. This will be described later. The lock mechanism 34 is
This may be realized by creating a lock file and determining whether each thread can access by accessing the lock file.
【0026】各スレッド毎にCPUによって計算された
データは、出力側の共有メモリ39に、例えばマトリク
ス形式のデータとして書き込まれる。この出力側共有メ
モリ39も、計算サーバ30の主メモリである。このと
き、各スレッドが無秩序にデータを書き込むと、データ
全体が整合がとれないという問題が生じるので、この場
合も、ロック機構35が働いて、あるスレッドが出力側
共有メモリ39にデータを書き込んでいるときには、他
のスレッドがデータの書き込みを行うことができないよ
うな排他制御を行う。The data calculated by the CPU for each thread is written into the shared memory 39 on the output side, for example, as matrix data. This output side shared memory 39 is also the main memory of the calculation server 30. At this time, if each thread writes data randomly, there is a problem that the entire data cannot be consistent. In this case as well, the lock mechanism 35 operates and a thread writes data to the output side shared memory 39. When it is, exclusive control is performed so that other threads cannot write data.
【0027】図5は図4に示した入力側の共有メモリ3
8上に展開されている約定データのテーブルを示す図で
ある。このテーブルの各行に約定データが置かれてお
り、各行の右端には、1ビットの処理済フラグが設けら
れている。各スレッドは、自分が処理を実行している約
定データには処理済フラグ「1」をセットし、その約定
データは既に処理が済んでいることを表示する。他のス
レッドは、このテーブルを見るときに、処理済フラグ
「1」がセットされている約定データはスキップし、処
理済フラグが「0」の約定データを探して読み出す。こ
のとき、第一実施形態では、処理済フラグが「0」の約
定データのうち、一番上にある約定データをポインタで
指し示すようにしている。スレッドは、このポインタを
探して読み出すべきデータを見つけ出す。これにより、
スレッドが読み出すべき約定データを簡単に探し出せる
ようにしている。尚、ポインタを用いずに、スレッドが
処理済フラグをスキャンして、「0」のものを見つけ次
第それを読み出すようにしてもよい。FIG. 5 shows the shared memory 3 on the input side shown in FIG.
FIG. 8 is a view showing a table of contract data developed on 8. Contract data is placed in each row of the table, and a 1-bit processed flag is provided at the right end of each row. Each thread sets the processed flag "1" to the contract data for which it is executing the process, and indicates that the contract data has already been processed. When looking at this table, other threads skip the execution data for which the processed flag “1” is set, and search for and read execution data for which the processed flag is “0”. At this time, in the first embodiment, among the contract data whose processed flag is “0”, the contract data at the top is indicated by the pointer. The thread looks for this pointer to find the data to read. This allows
The thread can easily find the contract data to read. Instead of using the pointer, the thread may scan the processed flag and read out the flag as soon as it finds "0".
【0028】次に、第一実施形態の金融情報処理システ
ムにおいて、複数のポートフォリオについて値洗処理を
行う際の処理の手順について説明する。図6は複数のポ
ートフォリオについて値洗処理を行う際の処理手順を示
すフローチャートである。あるディーラが所定のディー
ラ端末20から複数のポートフォリオについて値洗処理
を行う旨の指示を計算サーバ30に送ると、計算サーバ
30の制御プロセス31は、一つの計算プロセス32を
立ち上げて、その計算プロセス32に特定の一つのポー
トフォリオについての値洗処理をトライアル的に実行さ
せる(step11)。制御プロセス31は、そのトライアル
的な値洗処理の実行中におけるCPU稼働率をモニタ
し、そのCPU稼働率の最大値を求める。そして、求め
たCPU稼働率の最大値に基づいて、最適な計算プロセ
ス32の数を決定する(step12)。その後、制御プロセ
ス31は、step12で決定した数だけ計算プロセス32を
立ち上げ、各計算プロセス32に複数のポートフォリオ
について所定の順番で値洗処理を並列して実行させる
(step13)。Next, a description will be given of a processing procedure when a mark-to-market process is performed on a plurality of portfolios in the financial information processing system of the first embodiment. FIG. 6 is a flowchart illustrating a processing procedure when a mark-to-market process is performed on a plurality of portfolios. When a dealer sends an instruction from a predetermined dealer terminal 20 to perform a mark-to-market process on a plurality of portfolios to the calculation server 30, the control process 31 of the calculation server 30 starts up one calculation process 32 and performs the calculation. The process 32 causes the mark-to-market processing for one specific portfolio to be executed on a trial basis (step 11). The control process 31 monitors the CPU operating rate during the execution of the trial price washing process, and obtains the maximum value of the CPU operating rate. Then, the optimal number of calculation processes 32 is determined based on the obtained maximum value of the CPU operation rate (step 12). Thereafter, the control process 31 starts up the calculation processes 32 by the number determined in step 12, and causes each calculation process 32 to execute a mark-to-market process in parallel in a predetermined order for a plurality of portfolios (step 13).
【0029】図7は一つの計算プロセスにおいて行われ
る処理の手順を示したフローチャートである。制御プロ
セス31が、図6のstep13の処理において複数の計算プ
ロセス32を立ち上げたときに、それぞれの計算プロセ
ス32において図7に示す処理が開始される。図7の処
理手順が開始されると、まず、計算プロセス32は、制
御プロセス31によって指示された処理対象となるポー
トフォリオをデータベース40から計算サーバ30の主
メモリ上に読み出すと共に、スレッドの数を決定し、そ
の決定した数だけスレッドを生成する(step21)。次
に、計算プロセス32は、各スレッドに約定計算をする
ための演算を並列処理で実行させる(step22)。すなわ
ち、スレッドの数に対応したCPUによって、同時に独
立して演算が実行される。並列処理が終了すると、スレ
ッドを消去する(step23)。これにより、一つの計算プ
ロセス32の処理が終了する。FIG. 7 is a flowchart showing the procedure of processing performed in one calculation process. When the control process 31 starts a plurality of calculation processes 32 in the process of step 13 in FIG. 6, the process shown in FIG. 7 is started in each calculation process 32. When the processing procedure of FIG. 7 is started, first, the calculation process 32 reads the portfolio to be processed specified by the control process 31 from the database 40 onto the main memory of the calculation server 30 and determines the number of threads. Then, threads are generated by the determined number (step 21). Next, the calculation process 32 causes each thread to execute an operation for executing a contract calculation in parallel (step 22). That is, arithmetic operations are simultaneously and independently executed by the CPUs corresponding to the number of threads. When the parallel processing ends, the thread is deleted (step 23). Thus, the processing of one calculation process 32 ends.
【0030】図8は図7に示した処理手順のうちstep22
の部分の処理手順を詳しく示したフローチャートであ
る。step30では、まず、スレッドは、図4に示したロッ
ク機構34がロック状態であるかどうか、すなわち別の
スレッドがロック機構34をロック状態にしているかど
うかを判断する。ロックされておらず、自分が入力側共
有メモリ38から約定データを読み出せる状態であれ
ば、他のスレッドが読み出しを行うことができないよう
に、ロック機構34のロックをかける(step31)。次
に、スレッドは、約定データの中から、図5に示すよう
にポインタが指し示している処理済フラグが「0」の約
定データを探して、それをフェッチするという処理を行
い、そして、その約定データの処理済フラグに「1」を
セットする(step32)。このようにスレッドが約定デー
タを読み出して、その約定データの処理済フラグに
「1」をセットすると、入力側共有メモリ38へのアク
セスを排除する必要がなくなるので、ロックを解除し
(step33)、その後、実際の計算処理に移行する(step
34)。計算が終わると、スレッドは、図4に示したロッ
ク機構35がロック状態であるかどうか、すなわち別の
スレッドがロック機構35をロック状態にしているかど
うかを判断する(step35)。ロックされておらず、自分
が出力側共有メモリ39に計算結果データを書き込める
状態であれば、他のスレッドが書き込みを行うことがで
きないように、ロック機構35のロックをかける(step
36)。次に、スレッドは、その計算結果データを出力側
共有メモリ39に書き込み(step37)、その後、ロック
を解除する(step38)。step39では、未処理の約定デー
タがあるかどうかを判断する。未処理のものがある場合
には、上で説明したのと同様の処理を繰り返し、一方、
未処理の約定データがなくなった場合には、処理を終了
する。FIG. 8 shows step 22 of the processing procedure shown in FIG.
3 is a flowchart showing a detailed processing procedure of a part of FIG. In step 30, the thread first determines whether or not the lock mechanism 34 shown in FIG. 4 is in a locked state, that is, whether or not another thread has locked the lock mechanism 34. If it is not locked and it is in a state where it can read contract data from the input side shared memory 38, the lock mechanism 34 is locked so that other threads cannot read it (step 31). Next, as shown in FIG. 5, the thread searches for the contracted data whose processing completion flag indicated by the pointer is “0” from the contracted data, and performs a process of fetching the contracted data. "1" is set to the data processing completion flag (step 32). As described above, when the thread reads the execution data and sets the processed flag of the execution data to “1”, it is not necessary to eliminate the access to the input-side shared memory 38, so that the lock is released (step 33). Then, move on to the actual calculation process (step
34). When the calculation is completed, the thread determines whether or not the lock mechanism 35 shown in FIG. 4 is in a locked state, that is, whether or not another thread has locked the lock mechanism 35 (step 35). If it is not locked and it is in a state where it can write the calculation result data to the output side shared memory 39, it locks the lock mechanism 35 so that other threads cannot write (step
36). Next, the thread writes the calculation result data in the output side shared memory 39 (step 37), and then releases the lock (step 38). In step 39, it is determined whether there is unprocessed contract data. If any are unprocessed, repeat the same process as described above,
If there is no unprocessed contract data, the process ends.
【0031】次に、第一実施形態の金融情報処理システ
ムを用いて、複数のポートフォリオについての値洗処理
を、上述したマルチプロセス及びマルチスレッドによる
処理方式(本発明の処理方式)で行った場合と、マルチ
プロセスによらずマルチスレッドだけによる処理方式
(マルチスレッド処理方式)で行った場合と、マルチプ
ロセスやマルチスレッドを用いない従来の処理方式で行
った場合とについて、比較して説明する。図9(a)は
従来の処理方式で複数のポートフォリオについての値洗
処理を行ったときのCPU稼働率と処理時間との関係を
示す図、図9(b)はマルチスレッド処理方式で複数の
ポートフォリオについての値洗処理を行ったときのCP
U稼働率と処理時間との関係を示す図、図9(c)は本
発明の処理方式で複数のポートフォリオについての値洗
処理を行ったときのCPU稼働率と処理時間との関係を
示す図である。ここで、図9(a),(b)及び(c)
において、縦軸はCPU稼働率を、横軸は処理時間を表
す。Next, a case in which the financial information processing system of the first embodiment is used to execute a mark-to-market process for a plurality of portfolios by the above-described multi-process and multi-thread processing method (processing method of the present invention) A description will be made of a comparison between a case where processing is performed by a processing method using only multi-threads without using multi-processes (multi-thread processing method) and a case where processing is performed by a conventional processing method not using multi-processing or multi-threading. FIG. 9A is a diagram showing the relationship between the CPU operation rate and the processing time when a mark-to-market process is performed on a plurality of portfolios by a conventional processing method, and FIG. CP when the mark-to-market process was performed on the portfolio
FIG. 9C is a diagram showing the relationship between the U operating rate and the processing time, and FIG. 9C is a diagram showing the relationship between the CPU operating rate and the processing time when the mark-up processing is performed on a plurality of portfolios by the processing method of the present invention. It is. Here, FIGS. 9 (a), (b) and (c)
, The vertical axis represents the CPU operation rate, and the horizontal axis represents the processing time.
【0032】従来の処理方式では、一つのCPUが各ポ
ートフォリオについて一つずつシーケンシャルに処理す
ると共に、そのホートフォリオに含まれる各約定データ
についても一つずつ処理することになる。第一実施形態
では、CPU稼働率は、八個のCPUすべてがフルに稼
働したときを100%として定められる。従来の処理方
式では、常時、一つのCPUしか稼働していないため、
当然、CPU稼働率は、図9(a)に示すように、各ポ
ートフォリオについて前処理、約定計算処理及び後処理
を行う全期間にわたってかなり小さい。したがって、す
べてのポートフォリオについて値洗処理が終了するまで
の処理時間は非常に長い。In the conventional processing method, one CPU sequentially processes one portfolio at a time, and also processes one contract data included in the portfolio. In the first embodiment, the CPU operating rate is defined as 100% when all eight CPUs are fully operated. In the conventional processing method, only one CPU is operating at all times,
Naturally, as shown in FIG. 9A, the CPU operation rate is considerably small over the entire period in which pre-processing, contract calculation processing, and post-processing are performed for each portfolio. Therefore, the processing time until the mark-down processing is completed for all portfolios is very long.
【0033】一方、マルチスレッド処理方式では、各ポ
ートフォリオについて一つずつシーケンシャルに値洗処
理を行うが、その値洗処理の中で約定計算処理について
はマルチスレッドで処理することになる。このため、図
9(b)に示すように、各ポートフォリオについて約定
計算処理を行う期間では、CPU稼働率が高くなる。こ
れに対し、前処理又は後処理を行う期間では、従来の処
理方式でもマルチスレッド処理方式でも、CPU稼働率
は同じである。また、一つのポートフォリオについて約
定計算処理を行うときの処理量は、図9(a)又は
(b)において、その約定計算処理を行っている期間に
対応する、CPU稼働率を表す曲線と横軸とで囲まれた
面積で表される。かかる処理量は、当然のことながら、
従来の処理方式を用いた場合であろうと、マルチスレッ
ド処理方式を用いた場合であろうと変わらない。このた
め、マルチスレッド処理方式により値洗処理を行う場合
は、約定計算処理を行う期間におけるCPU稼働率が高
いので、従来の処理方式により値洗処理を行う場合に比
べて、約定計算処理に要する処理時間が短くなる。した
がって、すべてのポートフォリオについて値洗処理が終
了するまでの処理時間が短縮する。On the other hand, in the multi-thread processing method, the mark-to-market processing is sequentially performed for each portfolio one by one. In the price-wash processing, the execution calculation processing is performed by multi-thread. For this reason, as shown in FIG. 9B, the CPU operation rate is high during the period in which the contract calculation process is performed for each portfolio. On the other hand, during the period of performing the pre-processing or the post-processing, the CPU operation rate is the same in the conventional processing method and the multi-thread processing method. In FIG. 9A or 9B, the processing amount when executing the contract calculation processing for one portfolio is represented by a curve representing the CPU utilization rate and a horizontal axis corresponding to the period during which the contract calculation processing is being performed. It is represented by the area enclosed by. Such throughput, of course,
It does not change whether the conventional processing method is used or the multi-thread processing method is used. For this reason, in the case where price-pickup processing is performed by the multi-thread processing method, the CPU operation rate during the period in which the contract calculation processing is performed is high. Processing time is reduced. Therefore, the processing time until the mark-down processing is completed for all portfolios is reduced.
【0034】ところで、現在、一つのポートフォリオに
は数十から数千の約定データが含まれている。かかる程
度の規模の約定データを含むポートフォリオを、第一実
施形態の金融情報処理システムを用いてマルチスレッド
処理方式で値洗処理を行う場合、通常、約定計算処理の
期間におけるCPU稼働率は例えば約20〜40%であ
ったとすると、CPUの処理能力にまだ余裕がある。本
発明の処理方式は、この点に着目し、余裕があるCPU
の処理能力を有効に活用して、複数の計算プロセス32
に複数のポートフォリオについて値洗処理を並列して実
行させるものである。したがって、ポートフォリオにつ
いての値洗処理はいくつか同時に実行されるので、CP
U稼働率は、図9(c)に示すように、極めて高くな
る。このため、複数のポートフォリオについての値洗処
理が終了するまでの処理時間は、マルチスレッド処理方
式により値洗処理を行う場合に比べて、大幅に短縮す
る。By the way, one portfolio currently contains tens to thousands of contract data. When a portfolio including contract data of such a scale is subjected to a mark-to-market processing by a multi-thread processing method using the financial information processing system of the first embodiment, the CPU operation rate during the contract calculation processing is usually, for example, about If it is 20 to 40%, there is still room for the processing capacity of the CPU. The processing method of the present invention pays attention to this point and
Of the plurality of calculation processes 32
To execute a mark-to-market process on a plurality of portfolios in parallel. Accordingly, several mark-to-market processings for the portfolio are executed at the same time.
The U operation rate becomes extremely high as shown in FIG. For this reason, the processing time until the mark-down processing for a plurality of portfolios is completed is significantly reduced as compared with the case where the mark-down processing is performed by the multi-thread processing method.
【0035】第一実施形態の金融情報処理システムで
は、複数の計算プロセスに複数のポートフォリオについ
ての値洗処理を並列して実行させることにより、迅速な
処理が可能であり、結果が出るまでの時間を大幅に短縮
することができる。このため、ディーラは、実際の市場
の動きに連動させて、複数のポートフォリオについて一
日に何度でも値洗処理を行い、常に、最新のリスク状態
を迅速に評価することが可能となる。In the financial information processing system according to the first embodiment, quick processing is possible by causing a plurality of calculation processes to execute mark-to-market processing on a plurality of portfolios in parallel, and the time required for obtaining a result is obtained. Can be greatly reduced. For this reason, the dealer can perform a mark-up process on a plurality of portfolios several times a day in association with the actual market movement, and can always quickly evaluate the latest risk status.
【0036】次に、本発明の第二実施形態である金融情
報処理システムについて説明する。第二実施形態の金融
情報処理システムでは、同時に実行可能な計算プロセス
の数を決定する方法が、上記第一実施形態の方法と異な
る。また、上記の第一実施形態では、値洗処理の対象と
なる複数のポートフォリオが同じような種類のポートフ
ォリオの集まりである場合を考えていた。しかし、第二
実施形態では、値洗処理の対象となる複数のポートフォ
リオには、種類の異なるポートフォリオが含まれていて
もよい。尚、第二実施形態において第一実施形態のもの
と同一の機能を有するものには、同一の符号を付すこと
により、その詳細な説明を省略する。Next, a financial information processing system according to a second embodiment of the present invention will be described. In the financial information processing system of the second embodiment, a method for determining the number of calculation processes that can be executed simultaneously is different from the method of the first embodiment. In the first embodiment, a case is considered in which a plurality of portfolios to be subjected to mark-to-market processing are a group of portfolios of the same type. However, in the second embodiment, different portfolios may be included in a plurality of portfolios to be subjected to mark-to-market processing. In the second embodiment, components having the same functions as those of the first embodiment are denoted by the same reference numerals, and a detailed description thereof will be omitted.
【0037】第二実施形態では、計算サーバ30の制御
プロセス31は、予め代表的な一つのポートフォリオに
対する値洗処理を実行させたときのCPU稼働率の最大
値に関するデータを持っている。制御プロセス31は、
ディーラ端末20から複数のポートフォリオについて値
洗処理を実行する旨の指示を受けたときに、CPU稼働
率の最大値に関するデータに基づいて、同時に実行可能
な計算プロセス32の数の初期値を決定する。そして、
その決定した初期値だけ計算プロセス32を立ち上げ
て、マルチプロセスで値洗処理を実行させる。In the second embodiment, the control process 31 of the calculation server 30 has data relating to the maximum value of the CPU operation rate when the mark-to-market process is executed for one representative portfolio in advance. The control process 31
Upon receiving an instruction from the dealer terminal 20 to execute a mark-to-market process for a plurality of portfolios, an initial value of the number of simultaneously executable calculation processes 32 is determined based on data relating to the maximum value of the CPU operation rate. . And
The calculation process 32 is started up by the determined initial value, and the price washing process is executed in a multi-process.
【0038】また、制御プロセス31は、CPU稼働率
に関する下限値Ta 及び上限値Tbのデータを予め持っ
ている。制御プロセス31は、複数の計算プロセス32
に値洗処理を実行させている間、常時、CPU稼働率を
モニタしている。そして、CPU稼働率が範囲[Ta ,
Tb ]に含まれているときは、制御プロセス31は、そ
のまま複数の計算プロセス32に処理を実行させる。一
方、制御プロセス31は、CPU稼働率が下限値Ta よ
り小さくなったと判断すると、同時に実行させるべき計
算プロセスの数を一つ増加することを決定する。また、
CPU稼働率が上限値Tb より大きくなったと判断する
と、同時に実行させるべき計算プロセス32の数を一つ
減少することを決定する。そして、かかる決定をする
と、制御プロセス31は、実際にその決定した数の計算
プロセス32に値洗処理を並列して実行させる。このよ
うに、第二実施形態では、CPU稼働率が一定の範囲内
に収まるように、制御プロセス31が同時実行させる計
算プロセス32の数を自動的に決定することにより、値
洗処理の対象となる複数のポートフォリオに、種類の異
なるポートフォリオが含まれていても、値洗処理を効率
よく実行させることができる。Further, the control process 31, in advance with the data of the lower limit value T a and the upper limit value T b for CPU utilization. The control process 31 includes a plurality of calculation processes 32
The CPU operating rate is constantly monitored during the execution of the price washing process. Then, the CPU operation rate is in the range [T a ,
Tb ], the control process 31 causes the plurality of calculation processes 32 to execute the processing as it is. On the other hand, the control process 31, when the CPU operation rate is determined to have become smaller than the lower limit value T a, decides to increase one the number of computation process to be executed simultaneously. Also,
If it is determined that the CPU operation rate has become larger than the upper limit value Tb , it is determined that the number of calculation processes 32 to be executed simultaneously is reduced by one. Then, when such a determination is made, the control process 31 causes the determined number of calculation processes 32 to execute the mark-down processing in parallel. As described above, in the second embodiment, the control process 31 automatically determines the number of the calculation processes 32 to be simultaneously executed so that the CPU operation rate falls within a certain range, so that the number of the calculation processes 32 can be reduced. Even when a plurality of portfolios include different types of portfolios, the mark-to-market process can be executed efficiently.
【0039】図10は第二実施形態の金融情報処理シス
テムにおいて複数のポートフォリオについて値洗処理を
行う際の処理手順を示すフローチャートである。あるデ
ィーラがディーラ端末20から複数のポートフォリオに
ついて値洗処理を行う旨の指示を計算サーバ30に送る
と、制御プロセス31は、予め設けられたCPU稼働率
の最大値に関するデータに基づいて、同時に実行可能な
計算プロセス32の数を決定する(step41)。次に、制
御プロセス31は、決定した数だけ計算プロセス32を
立ち上げ、各計算プロセス32に値洗処理を並列して実
行させる(step42)。そして、値洗処理を実行している
間(step43)、制御プロセス31は、常時、CPU稼働
率をモニタして、CPU稼働率が所定の範囲[Ta ,T
b ]内に収まっているか否かを判断する(step44)。C
PU稼働率が所定の範囲[Ta ,Tb ]内に収まってい
れば、そのまま各計算プロセス32に値洗処理を実行さ
せる(step42)。一方、CPU稼働率が所定の範囲[T
a ,Tb ]内に収まっていないと判断すると、制御プロ
セス31は、同時に実行させるべき計算プロセス32の
数を変更することを決定し(step45)、その変更した数
の計算プロセス32に値洗処理を実行させる(step4
2)。そして、制御プロセス31が処理対象のすべての
ポートフォリオについて値洗処理が終了したと判断する
と(step43)、図10のフローから抜ける。FIG. 10 is a flowchart showing a processing procedure when a mark-to-market process is performed on a plurality of portfolios in the financial information processing system of the second embodiment. When a dealer sends an instruction to the calculation server 30 to perform a mark-to-market process on a plurality of portfolios from the dealer terminal 20, the control process 31 executes the control process 31 at the same time based on data on the maximum CPU operating rate provided in advance. The number of possible calculation processes 32 is determined (step 41). Next, the control process 31 starts up the calculated processes 32 by the determined number, and causes each of the calculated processes 32 to execute the mark-down processing in parallel (step 42). Then, during the execution of the price washing process (step 43), the control process 31 constantly monitors the CPU operating rate and determines that the CPU operating rate is within a predetermined range [T a , T
b ] is determined (step 44). C
If the PU operation rate falls within the predetermined range [T a , T b ], the calculation process 32 is caused to execute the mark-down processing as it is (step 42). On the other hand, when the CPU operating rate is within a predetermined range [T
a, if it is determined that not within T b], the control process 31 determines to change the number of calculation processes 32 to be executed simultaneously (step 45), the number of computation process 32 that the change Nearai Execute the process (step4
2). When the control process 31 determines that the mark-to-market process has been completed for all portfolios to be processed (step 43), the process exits from the flow of FIG.
【0040】第二実施形態の金融情報処理システムで
は、上記第一実施形態のものと同様に、複数の計算プロ
セスに複数のポートフォリオについての値洗処理を並列
して実行させることにより、迅速な処理が可能であり、
結果が出るまでの時間を大幅に短縮することができる。
また、第二実施形態の金融情報処理システムでは、マル
チプロセスで値洗処理を実行させている間に、制御プロ
セスが、CPU稼働率が所定の範囲内に収まっているか
否かを判断し、それに応じて、計算プロセスの数を変更
することにより、値洗処理の対象となる複数のポートフ
ォリオに種類の異なるポートフォリオが含まれている場
合でも、値洗処理の効率を向上させることができるの
で、より迅速な処理が可能である。In the financial information processing system according to the second embodiment, as in the first embodiment, a plurality of calculation processes execute a mark-to-market process on a plurality of portfolios in parallel, thereby enabling quick processing. Is possible,
The time until a result is obtained can be greatly reduced.
In the financial information processing system according to the second embodiment, the control process determines whether or not the CPU operating rate is within a predetermined range while executing the mark-to-market processing in the multi-process. Accordingly, by changing the number of calculation processes, it is possible to improve the efficiency of the mark-to-market processing even when the portfolios of the mark-to-market processing include different types of portfolios. Rapid processing is possible.
【0041】次に、本発明の第三実施形態である金融情
報処理システムについて説明する。第三実施形態の金融
情報処理システムでは、同時に実行可能な計算プロセス
の数を決定する方法が、上記第一及び第二実施形態の方
法と異なる。また、上記の第一実施形態では、値洗処理
の対象となる複数のポートフォリオが同じような種類の
ポートフォリオの集まりである場合を考えていた。しか
し、第三実施形態では、第二実施形態と同様に、値洗処
理の対象となる複数のポートフォリオには、種類の異な
るポートフォリオが含まれていてもよい。尚、第三実施
形態において第一実施形態のものと同一の機能を有する
ものには、同一の符号を付すことにより、その詳細な説
明を省略する。Next, a financial information processing system according to a third embodiment of the present invention will be described. In the financial information processing system of the third embodiment, the method of determining the number of calculation processes that can be executed simultaneously is different from the methods of the first and second embodiments. In the first embodiment, a case is considered in which a plurality of portfolios to be subjected to mark-to-market processing are a group of portfolios of the same type. However, in the third embodiment, similarly to the second embodiment, a plurality of portfolios to be subjected to a mark-to-market process may include different types of portfolios. In the third embodiment, components having the same functions as those in the first embodiment are denoted by the same reference numerals, and a detailed description thereof will be omitted.
【0042】第三実施形態の金融情報処理システムで
は、データベース40は、複数のポートフォリオを格納
すると共に、ポートフォリオに対する値洗処理の特性を
記した処理特性データを表形式で格納している。図11
はポートフォリオの処理特性データの集まりである処理
特性テーブルを説明するための図である。かかる処理特
性テーブルには、図11に示すように、ポートフォリオ
のIDと、ポートフォリオの種類と、ポートフォリオに
対する値洗処理の実行中におけるCPU稼働率の最大値
と、ポートフォリオに対する値洗処理に要する処理時間
と、ポートフォリオに含まれる約定データの件数とが記
載される。ここで、ポートフォリオの種類の欄には、例
えば、このポートフォリオに含まれる約定データが、ス
ワップだけであるとか、スワップとスワップションとか
らなるとかが記載される。In the financial information processing system according to the third embodiment, the database 40 stores a plurality of portfolios and stores processing characteristic data describing characteristics of mark-to-market processing for the portfolios in a table format. FIG.
FIG. 4 is a diagram for explaining a processing characteristic table which is a collection of processing characteristic data of a portfolio. As shown in FIG. 11, the processing characteristic table includes the portfolio ID, the portfolio type, the maximum CPU operating rate during execution of the mark-to-market processing for the portfolio, and the processing time required for the mark-to-market processing for the portfolio. And the number of contract data included in the portfolio. Here, the portfolio type column describes, for example, whether the contract data included in this portfolio is only a swap or is composed of a swap and a swaption.
【0043】尚、ポートフォリオの処理特性データを、
予めすべてのポートフォリオに対して作成し、データベ
ース40に記憶させておく必要はない。第三実施形態で
は、処理特性データが作成されていないポートフォリオ
については、後述するように、値洗処理要求が出され、
実際に値洗処理を実行する際に、処理特性データが作成
される。The processing characteristic data of the portfolio is
It is not necessary to create all portfolios in advance and store them in the database 40. In the third embodiment, for a portfolio for which processing characteristic data has not been created, as described below, a mark-to-market request is issued,
At the time of actually executing the mark-to-price processing, processing characteristic data is created.
【0044】計算サーバ30の制御プロセス31は、デ
ィーラ端末20から複数のポートフォリオについて値洗
処理を実行する旨の指示を受けたときに、その指示に対
応したポートフォリオの処理特性データのうち、データ
ベース40に記憶されているものを、計算サーバ30の
主メモリ上に読み出す。そして、制御プロセス31は、
処理特性データがデータベース40に記憶されていない
ポートフォリオについては、一つの計算プロセス32に
値洗処理を個別に実行させると共に、処理特性データを
作成してデータベース40に記憶させる。一方、処理特
性データがデータベース40に記憶されているポートフ
ォリオについては、制御プロセス31は、データベース
40から読み出した処理特性データに基づいて、同時に
実行可能な計算プロセス32の数と、ポートフォリオの
処理順番とを決定する。そして、その決定した数だけ計
算プロセス32を立ち上げ、それらの計算プロセス32
に、その決定した処理順番に従って値洗処理を並列して
実行させる。When the control process 31 of the calculation server 30 receives an instruction from the dealer terminal 20 to execute a mark-to-market process for a plurality of portfolios, the database 40 of the processing characteristic data of the portfolio corresponding to the instruction. Is read out onto the main memory of the calculation server 30. Then, the control process 31
For portfolios for which processing characteristic data is not stored in the database 40, one calculation process 32 individually executes a mark-to-market process, and processing characteristic data is created and stored in the database 40. On the other hand, for a portfolio whose processing characteristic data is stored in the database 40, the control process 31 determines the number of simultaneously executable calculation processes 32, the processing order of the portfolio, and the like based on the processing characteristic data read from the database 40. To determine. Then, the calculation processes 32 are started up by the determined number, and the calculation processes 32
Then, a price wash process is executed in parallel according to the determined processing order.
【0045】次に、計算プロセス32の数とポートフォ
リオの処理順番との決定の仕方を具体的に説明する。例
えば、処理対象となる複数のポートフォリオのうち、二
つのポートフォリオがスワップションを多数含むもので
あり、他のポートフォリオがスワップのみを含むもので
あるとする。ここで、スワップションを多数含むポート
フォリオは、CPU稼働率の最大値が例えば40〜50
%であり、スワップのみを含むポートフォリオは、CP
U稼働率の最大値が例えば20〜30%である。この場
合、制御プロセス31は、最初に、二つの計算プロセス
32を立ち上げ、その二つの計算プロセス32に、スワ
ップションを多数含むポートフォリオについての値洗処
理を同時に実行させる。次に、かかるスワップションを
多数含む二つのポートフォリオについての値洗処理が終
了した後、もう一つの計算プロセス32を立ち上げ、合
計三つの計算プロセス32に、スワップのみを含むポー
トフォリオについての値洗処理を同時に実行させる。こ
のように、制御プロセス31は、複数のポートフォリオ
についての値洗処理が効率よく行われるように、計算プ
ロセス32の数とポートフォリオの処理順番を決定す
る。Next, how to determine the number of the calculation processes 32 and the processing order of the portfolio will be specifically described. For example, it is assumed that, of a plurality of portfolios to be processed, two portfolios include many swaptions, and the other portfolios include only swaps. Here, a portfolio including a large number of swaptions has a maximum CPU operating rate of, for example, 40 to 50.
% And the portfolio containing only swaps is CP
The maximum value of the U operation rate is, for example, 20 to 30%. In this case, the control process 31 first starts up two calculation processes 32, and causes the two calculation processes 32 to simultaneously execute a mark-to-market process on a portfolio including many swaptions. Next, after the mark-down processing for the two portfolios including a large number of such swaptions is completed, another calculation process 32 is started, and the mark-up processing for the portfolio including only the swap is added to the three calculation processes 32 in total. At the same time. As described above, the control process 31 determines the number of the calculation processes 32 and the processing order of the portfolios so that the mark-to-market processing for the plurality of portfolios is performed efficiently.
【0046】図12は第三実施形態の金融情報処理シス
テムにおいて複数のポートフォリオについて値洗処理を
行う際の処理手順を示すフローチャートである。あるデ
ィーラがディーラ端末20から複数のポートフォリオに
ついて値洗処理を行う旨の指示を計算サーバ30に送る
と、制御プロセス31は、その指示に対応したポートフ
ォリオについての処理特性データをデータベース40か
ら主メモリ上に読み出し、処理対象のポートフォリオの
すべてについて処理特性データがデータベース40に記
憶されているか否かを判断する(step51)。処理対象の
すべてのポートフォリオについて処理特性データがある
と判断すると、step54に移行する。一方、処理特性デー
タのないポートフォリオが少なくとも一つあると判断す
ると、制御プロセス31は、一つの計算プログラム32
を立ち上げ、その計算プログラム32に、その処理特性
データがないポートフォリオについて個別に値洗処理を
実行させる(step52)。そして、制御プロセス31は、
かかる処理の際に、CPU稼働率や処理時間等をモニタ
し、そのポートフォリオについての処理特性データを新
たに作成して、これをデータベース40に格納する(st
ep53)。その後、step54に移行する。尚、処理対象のポ
ートフォリオのすべてについて処理特性データがない場
合には、step52の値洗処理によって結果がすべて得られ
ているので、step54以下のステップに進むことなく、こ
のstep53で処理が終了する。FIG. 12 is a flowchart showing a processing procedure when a mark-to-market process is performed on a plurality of portfolios in the financial information processing system of the third embodiment. When a dealer sends an instruction from the dealer terminal 20 to execute a mark-to-market process on a plurality of portfolios to the calculation server 30, the control process 31 sends processing characteristic data for the portfolio corresponding to the instruction from the database 40 to the main memory. Then, it is determined whether or not processing characteristic data is stored in the database 40 for all of the portfolios to be processed (step 51). If it is determined that there is processing characteristic data for all portfolios to be processed, the process proceeds to step 54. On the other hand, if it is determined that there is at least one portfolio having no processing characteristic data, the control process 31
Is started, and the calculation program 32 individually executes a mark-to-market process on the portfolio without the processing characteristic data (step 52). Then, the control process 31
At the time of such processing, the CPU operating rate, the processing time, and the like are monitored, processing characteristic data for the portfolio is newly created, and this is stored in the database 40 (st
ep53). Thereafter, the process proceeds to step 54. If there is no processing characteristic data for all of the portfolios to be processed, since all the results have been obtained by the mark-to-market processing in step 52, the processing ends in step 53 without proceeding to the steps after step 54.
【0047】次に、step54では、制御プロセス31は、
step51の処理の際に読み出した処理特性データに基づい
て、同時に実行可能な計算プロセス32の数を決定する
と共に、ポートフォリオの処理順番を例えば稼働率の大
きい順に決定する(step54)。そして、制御プロセス3
1は、決定した数だけ計算プロセス32を立ち上げ、各
計算プロセス32に、決定した処理順番に従って、step
51で読み出した処理特性データに対応するポートフォリ
オについて値洗処理を並列して実行させる(step55)。Next, in step 54, the control process 31
Based on the processing characteristic data read in the processing of step 51, the number of simultaneously executable calculation processes 32 is determined, and the processing order of the portfolio is determined, for example, in descending order of the operation rate (step 54). And control process 3
1 starts the calculation processes 32 as many as the determined number, and makes each calculation process 32 execute step processing according to the determined processing order.
A mark-to-price process is executed in parallel on the portfolio corresponding to the processing characteristic data read out in step 51 (step 55).
【0048】このように、新たなポートフォリオについ
ては、処理特性データを作成するために、値洗処理が個
別に行われ、一方、すでに処理特性データが作成されて
いるポートフォリオについては、マルチプロセスにより
値洗処理が行われる。したがって、今回の処理対象とな
るポートフォリオのすべてが、これまでに少なくとも一
回値洗処理が行われたポートフォリオであれば、今回の
値洗処理では、step52及びstep53のステップを全く経由
せずに、step54のステップから処理が行われることにな
るので、処理時間が大幅に短縮する。As described above, a mark-to-market process is individually performed to create processing characteristic data for a new portfolio, while a portfolio for which processing characteristic data has already been created is multi-processed. A washing process is performed. Therefore, if all of the portfolios to be processed this time are portfolios that have been at least once price-marked, the current price-marking processing does not go through the steps 52 and 53 at all. Since the processing is performed from step 54, the processing time is greatly reduced.
【0049】尚、ポートフォリオは常に同じであるわけ
ではなく、将来、それに含まれる約定データの件数が増
加したり、それに伴って種類が変化することがある。か
かる場合に対処するために、処理特性データを一定の期
間毎に更新するようにしてもよい。第三実施形態の金融
情報処理システムでは、上記第一実施形態のものと同様
に、複数の計算プロセスに複数のポートフォリオについ
ての値洗処理を並列して実行させることにより、迅速な
処理が可能であり、結果が出るまでの時間を大幅に短縮
することができる。また、第三実施形態の金融情報処理
システムでは、ポートフォリオの処理特性データに基づ
いて、同時に実行可能な計算プロセスの数とポートフォ
リオの処理順番とを決定することにより、値洗処理の対
象となる複数のポートフォリオに種類の異なるポートフ
ォリオが含まれている場合でも、値洗処理の効率を向上
させることができる。It should be noted that the portfolio is not always the same, and the number of contract data included in the portfolio may increase in the future or the type may change in accordance with the increase. In order to deal with such a case, the processing characteristic data may be updated at regular intervals. In the financial information processing system of the third embodiment, similar to the first embodiment, quick processing is possible by causing a plurality of calculation processes to execute mark-to-market processing on a plurality of portfolios in parallel. Yes, the time it takes to get results can be significantly reduced. Further, in the financial information processing system according to the third embodiment, the number of calculation processes that can be executed simultaneously and the processing order of the portfolio are determined based on the processing characteristic data of the portfolio, so that a plurality of Even when portfolios of different types are included in the portfolio, the efficiency of the mark-to-price processing can be improved.
【0050】尚、本発明は上記の各実施形態に限定され
るものではなく、その要旨の範囲内において種々の変形
が可能である。上記の各実施形態では、約定計算処理を
マルチスレッドで行う場合について説明したが、約定計
算処理を必ずしもマルチスレッドで行う必要はない。但
し、この場合は、当然のことながら、マルチプロセスと
マルチスレッドで値洗処理を行う場合に比べて処理時間
が遅くなる。The present invention is not limited to the above embodiments, and various modifications can be made within the scope of the invention. In each of the embodiments described above, the case where the execution calculation process is performed by multi-threads has been described, but the execution calculation process does not necessarily need to be performed by multi-threads. However, in this case, it goes without saying that the processing time is slower than in the case where the price washing process is performed by multi-process and multi-thread.
【0051】また、上記の各実施形態では、各計算サー
バに、値洗処理を実行するCPUを八個搭載した場合に
ついて説明したが、一般に、八個以外の任意の数のCP
Uを各計算サーバに搭載してもよい。極端な場合、各計
算サーバは一つのCPUを用いたものであってもよい。Further, in each of the above embodiments, a case has been described in which each computation server is equipped with eight CPUs for executing the price-wash processing. However, in general, any number of CPs other than eight can be used.
U may be mounted on each calculation server. In extreme cases, each calculation server may use one CPU.
【0052】[0052]
【発明の効果】以上説明したように本発明に係る金融情
報処理システムによれば、複数の計算プロセスに複数の
ポートフォリオについての値洗処理を並列して実行させ
ることにより、迅速な処理が可能であり、結果が出るま
での時間を大幅に短縮することができる。このため、デ
ィーラは、実際の市場の動きに連動させて、複数のポー
トフォリオについて一日に何度でも値洗処理を行い、常
に、最新のリスク状態を迅速に評価することが可能とな
る。As described above, according to the financial information processing system according to the present invention, quick processing is possible by causing a plurality of calculation processes to execute a mark-to-market process on a plurality of portfolios in parallel. Yes, the time it takes to get results can be significantly reduced. For this reason, the dealer can perform a mark-up process on a plurality of portfolios several times a day in association with the actual market movement, and can always quickly evaluate the latest risk status.
【図1】本発明の第一実施形態である金融情報処理シス
テムの全体的な構成を示す図である。FIG. 1 is a diagram showing an overall configuration of a financial information processing system according to a first embodiment of the present invention.
【図2】その金融情報処理システムのうちディーラ端末
と計算サーバを一台ずつ示した図である。FIG. 2 is a diagram showing one dealer terminal and one calculation server in the financial information processing system.
【図3】計算サーバ上における制御プロセスと計算プロ
セスとの関係を示した図である。FIG. 3 is a diagram showing a relationship between a control process and a calculation process on a calculation server.
【図4】計算プロセスの動作を模式的に示した図であ
る。FIG. 4 is a diagram schematically showing an operation of a calculation process.
【図5】図4に示す入力側共有メモリ上に展開されてい
る約定データのテーブルを示す図である。5 is a diagram showing a table of contract data developed on the input-side shared memory shown in FIG. 4;
【図6】第一実施形態の金融情報処理システムにおいて
複数のポートフォリオについて値洗処理を行う際の処理
手順を示すフローチャートである。FIG. 6 is a flowchart showing a processing procedure when performing a mark-to-market process on a plurality of portfolios in the financial information processing system of the first embodiment.
【図7】一つの計算プロセスにおいて行われる処理の手
順を示したフローチャートである。FIG. 7 is a flowchart illustrating a procedure of processing performed in one calculation process.
【図8】図7に示した処理手順の一部の処理手順を詳し
く示したフローチャートである。FIG. 8 is a flowchart detailing a part of the processing procedure shown in FIG. 7;
【図9】従来の処理方式、マルチスレッド処理方式及び
本発明の処理方式のそれぞれで複数のポートフォリオに
ついての値洗処理を行ったときのCPU稼働率と処理時
間との関係を示す図である。FIG. 9 is a diagram showing a relationship between a CPU operation rate and a processing time when a mark-to-market process for a plurality of portfolios is performed in each of the conventional processing method, the multi-thread processing method, and the processing method of the present invention.
【図10】第二実施形態の金融情報処理システムにおい
て複数のポートフォリオについて値洗処理を行う際の処
理手順を示すフローチャートである。FIG. 10 is a flowchart showing a processing procedure when a mark-to-market process is performed on a plurality of portfolios in the financial information processing system of the second embodiment.
【図11】ポートフォリオの処理特性データの集まりで
ある処理特性テーブルを説明するための図である。FIG. 11 is a diagram illustrating a processing characteristic table which is a collection of processing characteristic data of a portfolio.
【図12】第三実施形態の金融情報処理システムにおい
て複数のポートフォリオについて値洗処理を行う際の処
理手順を示すフローチャートである。FIG. 12 is a flowchart showing a processing procedure when performing a mark-to-market process on a plurality of portfolios in the financial information processing system of the third embodiment.
10 ネットワーク 20 ディーラ端末 21 クライアントアプリケーション 30 計算サーバ 31 制御プロセス 32 計算プロセス 33 スレッド 34,35 ロック機構 38 入力側共有メモリ 39 出力側共有メモリ 40 データベース 50 ディスプレイ装置 60 キーボード DESCRIPTION OF SYMBOLS 10 Network 20 Dealer terminal 21 Client application 30 Calculation server 31 Control process 32 Calculation process 33 Thread 34,35 Lock mechanism 38 Input shared memory 39 Output shared memory 40 Database 50 Display device 60 Keyboard
Claims (7)
ォリオを記憶する記憶手段と、 前記記憶手段から所定の一つ又は複数のポートフォリオ
を読み出し、その読み出した一つ又は複数のポートフォ
リオに対する値洗処理を実行する複数の計算プロセス手
段と、 一つ又は複数のポートフォリオについて値洗処理を行う
べき旨の指示を受けたときに、同時に実行可能な前記計
算プロセス手段の数を決定し、その決定した数だけ前記
計算プロセス手段を立ち上げ、前記指示された一つ又は
複数のポートフォリオについての値洗処理をその立ち上
げた前記各計算プロセス手段により並列して実行させる
制御プロセス手段と、 前記各計算プロセス手段によって得られた一つ又は複数
のポートフォリオについての値洗処理の結果を出力する
出力手段と、 を具備し、前記各計算プロセス手段は、一つ又は複数の
ポートフォリオに対する値洗処理を実行する際に、複数
のスレッドを生成し、前記各スレッドにそのポートフォ
リオに含まれる約定データに対する所定の計算を独立し
て実行させることを特徴とする金融情報処理システム。1. A storage unit for storing a plurality of portfolios including a plurality of contract data, a predetermined one or a plurality of portfolios are read from the storage unit, and a mark-to-market process is performed on the read one or a plurality of portfolios. A plurality of calculation process means to be executed, and when receiving an instruction to perform a mark-to-market process for one or a plurality of portfolios, determine the number of the calculation process means that can be executed simultaneously, and determine only the determined number. Control process means for starting up the calculation process means, and causing the price calculation processing for the designated one or more portfolios to be executed in parallel by each of the started calculation process means; and Output means for outputting the result of the mark-to-market processing for the obtained one or more portfolios, Wherein each of the calculation process means generates a plurality of threads when executing a mark-to-market process for one or a plurality of portfolios, and performs a predetermined calculation on the execution data included in the portfolio in each of the threads. A financial information processing system characterized by being executed independently.
けたときに、一つの前記計算プロセス手段を立ち上げ、
その立ち上げた前記一つの計算プロセス手段に値洗処理
を実行させると共に、前記一つの計算プロセス手段によ
る値洗処理の実行中におけるCPU稼働率の最大値を求
めた後、その求めたCPU稼働率の最大値に基づいて、
前記同時に実行可能な前記計算プロセス手段の数を決定
することを特徴とする請求項1記載の金融情報処理シス
テム。2. The control process means, when receiving the instruction, activates one of the calculation process means,
The started calculation processing means is caused to execute the mark-down processing, and the maximum CPU operation rate during execution of the price-measurement processing by the one calculation processing means is determined. Based on the maximum value of
2. The financial information processing system according to claim 1, wherein the number of said calculation process units that can be executed simultaneously is determined.
フォリオについて前記各計算プロセス手段に値洗処理を
並列して実行させているときに、その並列処理の実行中
におけるCPU稼働率が所定の上限値より大きくなった
と判断すると、前記同時に実行可能な前記計算プロセス
手段の数を減少させ、一方、前記並列処理の実行中にお
けるCPU稼働率が所定の下限値よりも小さくなったと
判断すると、前記同時に実行可能な前記計算プロセス手
段の数を増加させることを特徴とする請求項1記載の金
融情報処理システム。3. When the control process means causes each of the calculation process means to execute a mark-to-market process in parallel for a plurality of portfolios, the CPU operation rate during the execution of the parallel process becomes a predetermined upper limit value. If it is determined that the CPU processing rate has become larger, the number of the calculation process means that can be executed at the same time is reduced. 2. The financial information processing system according to claim 1, wherein the number of possible calculation processing means is increased.
けたときに、予め設けられた代表的な一つのポートフォ
リオに対する値洗処理を実行したときのCPU稼働率の
最大値に関するデータに基づいて、前記同時に実行可能
な前記計算プロセス手段の数を決定することを特徴とす
る請求項3記載の金融情報処理システム。4. The control process means, upon receiving the instruction, based on data relating to the maximum value of the CPU operating rate when executing a mark-to-market process on one representative portfolio provided in advance. 4. The financial information processing system according to claim 3, wherein the number of said calculation process units that can be executed simultaneously is determined.
率に関する情報を含むポートフォリオについての処理特
性データを記憶しており、前記制御プロセス手段は、前
記指示を受けたときに、前記指示に対応したポートフォ
リオについての前記処理特性データのうち前記記憶手段
に記憶されているものを読み出し、前記処理特性データ
が前記記憶手段に記憶されているポートフォリオについ
ては、前記記憶手段から読み出した前記処理特性データ
に基づいて、前記同時に実行可能な前記計算プロセス手
段の数とポートフォリオの処理順番とを決定し、その決
定した数と処理順番とに従って前記各計算プロセス手段
に値洗処理を並列して実行させることを特徴とする請求
項1記載の金融情報処理システム。5. The storage means stores processing characteristic data for a portfolio including at least information relating to a CPU operation rate. When the control process means receives the instruction, the control process means performs processing on a portfolio corresponding to the instruction. Of the processing characteristic data stored in the storage means, and for the portfolio in which the processing characteristic data is stored in the storage means, based on the processing characteristic data read from the storage means. Determining the number of the calculation process units that can be executed simultaneously and the processing order of the portfolio, and causing each of the calculation process units to execute the mark-to-order processing in parallel according to the determined number and the processing order. The financial information processing system according to claim 1, wherein
データが前記記憶手段に記憶されていないポートフォリ
オについては、一つの前記計算プロセス手段に値洗処理
を個別に実行させると共に前記処理特性データを作成し
て前記記憶手段に記憶させることを特徴とする請求項5
記載の金融情報処理システム。6. The control process means, for a portfolio in which the processing characteristic data is not stored in the storage means, causes one of the calculation processing means to individually execute a mark-to-market process and creates the processing characteristic data. And storing the data in the storage means.
The financial information processing system as described.
ォリオを記憶する記憶手段から所定の一つ又は複数のポ
ートフォリオを読み出し、その読み出した一つ又は複数
のポートフォリオに対する値洗処理を実行する複数の計
算プログラムと、 一つ又は複数のポートフォリオについて値洗処理を行う
べき旨の指示を受けたときに、同時に実行可能な前記計
算プログラムの数を決定し、その決定した数だけ前記計
算プログラムを立ち上げ、前記指示された一つ又は複数
のポートフォリオについての値洗処理をその立ち上げた
前記各計算プログラムにより並列して実行させる制御プ
ログラムと、 を具備し、前記各計算プログラムは、一つ又は複数のポ
ートフォリオに対する値洗処理を実行する際に、複数の
スレッドを生成し、前記各スレッドにそのポートフォリ
オに含まれる約定データに対する所定の計算を独立して
実行させることを特徴とするコンピュータ読み取り可能
な記録媒体。7. A plurality of calculations for reading a predetermined one or a plurality of portfolios from storage means for storing a plurality of portfolios including a plurality of contract data, and executing a mark-to-market process on the read one or a plurality of portfolios When receiving an instruction to perform a mark-to-market process for one or more portfolios, determine the number of the calculation programs that can be executed simultaneously, and launch the calculation programs by the determined number, A control program for executing the mark-to-market processing for the instructed one or more portfolios in parallel by each of the launched calculation programs, and wherein each of the calculation programs comprises one or more portfolios. When executing a mark-to-price process for a plurality of threads, a plurality of threads are generated, and A computer-readable recording medium, characterized in that to execute independently a predetermined calculation for commitments data contained in over portfolio.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP06171598A JP4536833B2 (en) | 1998-03-12 | 1998-03-12 | Financial information processing system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP06171598A JP4536833B2 (en) | 1998-03-12 | 1998-03-12 | Financial information processing system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH11259559A true JPH11259559A (en) | 1999-09-24 |
| JP4536833B2 JP4536833B2 (en) | 2010-09-01 |
Family
ID=13179214
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP06171598A Expired - Fee Related JP4536833B2 (en) | 1998-03-12 | 1998-03-12 | Financial information processing system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4536833B2 (en) |
Cited By (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008234024A (en) * | 2007-03-16 | 2008-10-02 | Fujitsu Ltd | Batch processing program, batch processing method, and batch processing apparatus |
| US7464052B1 (en) * | 1999-06-04 | 2008-12-09 | Trading Research Design, Inc. | Portfolio accounting and risk management system |
| JP2011510382A (en) * | 2008-01-11 | 2011-03-31 | エクセジー・インコーポレイテツド | Method and system for low latency basket calculation |
| US7980457B2 (en) | 1999-12-30 | 2011-07-19 | Chicago Board Options Exchange, Incorporated | Automated trading exchange system having integrated quote risk monitoring and integrated quote modification services |
| JP2012514272A (en) * | 2008-12-29 | 2012-06-21 | エフエムアール エルエルシー | Real-time transaction forecast |
| JP2012128650A (en) * | 2010-12-15 | 2012-07-05 | Hitachi Ltd | Index calculation system, index calculation method, index calculation program |
| JP2012216024A (en) * | 2011-03-31 | 2012-11-08 | Toshiba Corp | Management terminal, program and method in security system |
| US8843408B2 (en) | 2006-06-19 | 2014-09-23 | Ip Reservoir, Llc | Method and system for high speed options pricing |
| US9396222B2 (en) | 2006-11-13 | 2016-07-19 | Ip Reservoir, Llc | Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors |
| US9672565B2 (en) | 2006-06-19 | 2017-06-06 | Ip Reservoir, Llc | High speed processing of financial information using FPGA devices |
| US9727916B1 (en) | 1999-12-30 | 2017-08-08 | Chicago Board Options Exchange, Incorporated | Automated trading exchange system having integrated quote risk monitoring and integrated quote modification services |
| US9990393B2 (en) | 2012-03-27 | 2018-06-05 | Ip Reservoir, Llc | Intelligent feed switch |
| US10037568B2 (en) | 2010-12-09 | 2018-07-31 | Ip Reservoir, Llc | Method and apparatus for managing orders in financial markets |
| US10062115B2 (en) | 2008-12-15 | 2018-08-28 | Ip Reservoir, Llc | Method and apparatus for high-speed processing of financial market depth data |
| US10121196B2 (en) | 2012-03-27 | 2018-11-06 | Ip Reservoir, Llc | Offload processing of data packets containing financial market data |
| US10650452B2 (en) | 2012-03-27 | 2020-05-12 | Ip Reservoir, Llc | Offload processing of data packets |
| US11436672B2 (en) | 2012-03-27 | 2022-09-06 | Exegy Incorporated | Intelligent switch for processing financial market data |
-
1998
- 1998-03-12 JP JP06171598A patent/JP4536833B2/en not_active Expired - Fee Related
Cited By (38)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7464052B1 (en) * | 1999-06-04 | 2008-12-09 | Trading Research Design, Inc. | Portfolio accounting and risk management system |
| US8266044B2 (en) | 1999-12-30 | 2012-09-11 | Chicago Board Options Exchange, Incorporated | Automated trading exchange system having integrated quote risk monitoring and integrated quote modification services |
| US9928550B2 (en) | 1999-12-30 | 2018-03-27 | Cboe Exchange, Inc. | Automated trading exchange system having integrated quote risk monitoring and integrated quote modification services |
| US7980457B2 (en) | 1999-12-30 | 2011-07-19 | Chicago Board Options Exchange, Incorporated | Automated trading exchange system having integrated quote risk monitoring and integrated quote modification services |
| US9727916B1 (en) | 1999-12-30 | 2017-08-08 | Chicago Board Options Exchange, Incorporated | Automated trading exchange system having integrated quote risk monitoring and integrated quote modification services |
| US11182856B2 (en) | 2006-06-19 | 2021-11-23 | Exegy Incorporated | System and method for routing of streaming data as between multiple compute resources |
| US10817945B2 (en) | 2006-06-19 | 2020-10-27 | Ip Reservoir, Llc | System and method for routing of streaming data as between multiple compute resources |
| US10504184B2 (en) | 2006-06-19 | 2019-12-10 | Ip Reservoir, Llc | Fast track routing of streaming data as between multiple compute resources |
| US8843408B2 (en) | 2006-06-19 | 2014-09-23 | Ip Reservoir, Llc | Method and system for high speed options pricing |
| US10360632B2 (en) | 2006-06-19 | 2019-07-23 | Ip Reservoir, Llc | Fast track routing of streaming data using FPGA devices |
| US12056767B2 (en) | 2006-06-19 | 2024-08-06 | Exegy Incorporated | System and method for distributed data processing across multiple compute resources |
| US9672565B2 (en) | 2006-06-19 | 2017-06-06 | Ip Reservoir, Llc | High speed processing of financial information using FPGA devices |
| US10169814B2 (en) | 2006-06-19 | 2019-01-01 | Ip Reservoir, Llc | High speed processing of financial information using FPGA devices |
| US9396222B2 (en) | 2006-11-13 | 2016-07-19 | Ip Reservoir, Llc | Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors |
| US11449538B2 (en) | 2006-11-13 | 2022-09-20 | Ip Reservoir, Llc | Method and system for high performance integration, processing and searching of structured and unstructured data |
| US10191974B2 (en) | 2006-11-13 | 2019-01-29 | Ip Reservoir, Llc | Method and system for high performance integration, processing and searching of structured and unstructured data |
| JP2008234024A (en) * | 2007-03-16 | 2008-10-02 | Fujitsu Ltd | Batch processing program, batch processing method, and batch processing apparatus |
| JP2011510382A (en) * | 2008-01-11 | 2011-03-31 | エクセジー・インコーポレイテツド | Method and system for low latency basket calculation |
| US10229453B2 (en) | 2008-01-11 | 2019-03-12 | Ip Reservoir, Llc | Method and system for low latency basket calculation |
| US10062115B2 (en) | 2008-12-15 | 2018-08-28 | Ip Reservoir, Llc | Method and apparatus for high-speed processing of financial market depth data |
| US10929930B2 (en) | 2008-12-15 | 2021-02-23 | Ip Reservoir, Llc | Method and apparatus for high-speed processing of financial market depth data |
| US12211101B2 (en) | 2008-12-15 | 2025-01-28 | Exegy Incorporated | Method and apparatus for high-speed processing of financial market depth data |
| US11676206B2 (en) | 2008-12-15 | 2023-06-13 | Exegy Incorporated | Method and apparatus for high-speed processing of financial market depth data |
| US8924276B2 (en) | 2008-12-29 | 2014-12-30 | Fmr Llc | Real-time trade forecaster |
| JP2012514272A (en) * | 2008-12-29 | 2012-06-21 | エフエムアール エルエルシー | Real-time transaction forecast |
| US11803912B2 (en) | 2010-12-09 | 2023-10-31 | Exegy Incorporated | Method and apparatus for managing orders in financial markets |
| US10037568B2 (en) | 2010-12-09 | 2018-07-31 | Ip Reservoir, Llc | Method and apparatus for managing orders in financial markets |
| US11397985B2 (en) | 2010-12-09 | 2022-07-26 | Exegy Incorporated | Method and apparatus for managing orders in financial markets |
| JP2012128650A (en) * | 2010-12-15 | 2012-07-05 | Hitachi Ltd | Index calculation system, index calculation method, index calculation program |
| JP2012216024A (en) * | 2011-03-31 | 2012-11-08 | Toshiba Corp | Management terminal, program and method in security system |
| US10963962B2 (en) | 2012-03-27 | 2021-03-30 | Ip Reservoir, Llc | Offload processing of data packets containing financial market data |
| US9990393B2 (en) | 2012-03-27 | 2018-06-05 | Ip Reservoir, Llc | Intelligent feed switch |
| US11436672B2 (en) | 2012-03-27 | 2022-09-06 | Exegy Incorporated | Intelligent switch for processing financial market data |
| US10650452B2 (en) | 2012-03-27 | 2020-05-12 | Ip Reservoir, Llc | Offload processing of data packets |
| US10121196B2 (en) | 2012-03-27 | 2018-11-06 | Ip Reservoir, Llc | Offload processing of data packets containing financial market data |
| US12148032B2 (en) | 2012-03-27 | 2024-11-19 | Exegy Incorporated | Intelligent packet switch |
| US10872078B2 (en) | 2012-03-27 | 2020-12-22 | Ip Reservoir, Llc | Intelligent feed switch |
| US12417495B2 (en) | 2012-03-27 | 2025-09-16 | Exegy Incorporated | Offload processing of data packets containing financial market data |
Also Published As
| Publication number | Publication date |
|---|---|
| JP4536833B2 (en) | 2010-09-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH11259559A (en) | Financial information processing system | |
| US10936947B1 (en) | Recurrent neural network-based artificial intelligence system for time series predictions | |
| CN110806933B (en) | Batch task processing method, device, equipment and storage medium | |
| US20100049715A1 (en) | Controlled parallel propagation of view table updates in distributed database systems | |
| CN112596871B (en) | Business processing method and device | |
| CN111292028B (en) | Inventory information processing method and system, computer system and readable storage medium | |
| US7676692B2 (en) | Database automated disaster recovery | |
| US20190114705A1 (en) | Systems and methods for optimizing computer resources for multiple automobile transactions | |
| CN112181443A (en) | Automatic deployment method, device and electronic device for service | |
| US20180225767A1 (en) | Investment management proposal system | |
| JP5755146B2 (en) | Real-time transaction forecast | |
| JP6489340B1 (en) | Comparison target company selection system | |
| JP5366550B2 (en) | Hybrid multi-thread and multi-process computer simulation system and method | |
| JP2002014829A (en) | Parallel processing control system, method, and medium storing program for parallel processing control | |
| CN114153427B (en) | Optimization method and system for continuous integration pipeline | |
| CN110415121B (en) | Hanging bill matching method and device | |
| CN113986487A (en) | A method and device for re-pulling a breakpoint in a batch processing system | |
| CN116485481A (en) | Auxiliary purchasing pricing method, system, terminal equipment and storage medium based on AI algorithm | |
| US10324758B1 (en) | Read load task throttling | |
| JP3797402B2 (en) | Information processing system, information processing method, and recording medium recording information processing program | |
| JPH0844670A (en) | File management method, computer system using the same, and operating method of the computer system | |
| US12277515B2 (en) | Method and device for managing project by using data filtering | |
| JP7399380B2 (en) | Trading strategy verification method, its device and its program | |
| US20220405678A1 (en) | Method and device for managing project by using data pointer | |
| US12112289B2 (en) | Method and device for managing project by using cost payment time point setting |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040913 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070522 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070723 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070919 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080125 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080324 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080404 |
|
| A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080502 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100513 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100617 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130625 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |