[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4754010B2 - Message linking processing program, method and apparatus - Google Patents

Message linking processing program, method and apparatus Download PDF

Info

Publication number
JP4754010B2
JP4754010B2 JP2009139808A JP2009139808A JP4754010B2 JP 4754010 B2 JP4754010 B2 JP 4754010B2 JP 2009139808 A JP2009139808 A JP 2009139808A JP 2009139808 A JP2009139808 A JP 2009139808A JP 4754010 B2 JP4754010 B2 JP 4754010B2
Authority
JP
Japan
Prior art keywords
linking
key
processing
pattern
communication load
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.)
Expired - Fee Related
Application number
JP2009139808A
Other languages
Japanese (ja)
Other versions
JP2010102683A (en
Inventor
勇次 堀田
基行 河場
秀和 高橋
リリアン 原田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009139808A priority Critical patent/JP4754010B2/en
Priority to US12/559,918 priority patent/US8539035B2/en
Publication of JP2010102683A publication Critical patent/JP2010102683A/en
Application granted granted Critical
Publication of JP4754010B2 publication Critical patent/JP4754010B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本技術は、メッセージの紐付け処理を並列化するための技術に関する。   The present technology relates to a technology for parallelizing message linking processing.

例えば電子商取引など複数のサーバを有するシステムでは、クライアントからのリクエストを受け取ると、サーバ間でメッセージが交換され、処理が進行する。   For example, in a system having a plurality of servers such as electronic commerce, when a request from a client is received, messages are exchanged between the servers, and processing proceeds.

一方、このようなシステムの挙動監視やリクエスト遅延問題を解析するために、メッセージをトランザクション毎に紐付ける処理(以下、紐付け処理と呼ぶ)が行われる。なお、1リクエストの応答に必要なメッセージについては、メッセージに含まれるキーワード等(以下、紐付けキーと呼ぶ)によって1つのトランザクションとして認識される。   On the other hand, in order to analyze such system behavior monitoring and request delay problems, a process for associating a message for each transaction (hereinafter referred to as an association process) is performed. Note that a message required for the response of one request is recognized as one transaction by a keyword included in the message (hereinafter referred to as a linking key).

特開平11−53323号公報Japanese Patent Laid-Open No. 11-53323 特開平5−61697号公報JP-A-5-61697

例えば、大量のメッセージを高速に処理するため、メッセージの紐付け処理を行う紐付けサーバ等を複数台並列に動作させる構成が考えられる。しかし、単に並列処理を行う場合、紐付けサーバ間において紐付け処理のための通信の回数が多くなる場合があり、通信負荷が、並列化による効率向上の妨げになるという問題がある。なお、従来技術では、紐付けサーバ等の通信負荷を抑えつつ、メッセージの紐付け処理を並列化することはできない。   For example, in order to process a large number of messages at high speed, a configuration in which a plurality of linking servers that perform message linking processing and the like are operated in parallel is conceivable. However, when simply performing parallel processing, the number of times of communication for the linking process may increase between the linking servers, and there is a problem that the communication load hinders efficiency improvement by parallelization. In the prior art, it is not possible to parallelize message linking processes while suppressing the communication load of a linking server or the like.

従って、本技術の目的は、紐付けサーバ等の通信負荷を最小限に抑えつつ、メッセージの紐付け処理を並列化できるようにすることである。   Accordingly, an object of the present technology is to enable message linking processes to be parallelized while minimizing a communication load of a linking server or the like.

本メッセージ紐付け処理方法は、プロトコル毎に当該プロトコルに係るメッセージに含まれ且つメッセージの紐付け処理で用いられる紐付けキーを格納するキー定義データベースから各紐付けキーを抽出し、抽出した紐付けキーの各々に対応するノードと同一のプロトコルに属する紐付けキーのノード間を結ぶリンクとを含む構造体のデータを生成するステップと、複数のリンクによって構造体中にループが形成されているか判断する判断ステップと、構造体中にループが形成されていないと判断された場合、各々連携して紐付け処理を実施する複数の紐付け処理部の各々に対する紐付けキーの割り当ての組み合わせである割り当てパターンのうち、紐付け処理部間の通信負荷が最小であるという第1条件を含む所定の条件を満たす割り当てパターンを特定し、特定された割り当てパターンに係る割り当てデータをキー情報格納部に格納するパターン特定ステップとを含む。 This message linking processing method extracts each linking key from the key definition database that stores the linking key that is included in the message related to the protocol for each protocol and that is used in the message linking processing. A step of generating data of a structure including a node corresponding to each of the keys and a link connecting nodes of the tied keys belonging to the same protocol, and determining whether a loop is formed in the structure by the plurality of links An allocation that is a combination of a linking key allocation to each of a plurality of linking processing units that perform linking processing in cooperation with each other when it is determined that a loop is not formed in the structure. of pattern satisfy predetermined conditions allocation including a first condition that the communication load between the tying unit is minimum Identifying a turn, and a pattern specifying step of storing allocation data relating to the identified allocation pattern in the key information storage unit.

紐付けサーバ等の通信負荷を抑えつつ、メッセージ紐付け処理を並列化できるようになる。   The message linking process can be parallelized while suppressing the communication load of the linking server.

本実施の形態の前提となるメッセージ紐付け処理を説明するための図である。It is a figure for demonstrating the message correlation process used as the premise of this Embodiment. 本実施の形態の前提となるメッセージ紐付け処理における問題点を説明するための図である。It is a figure for demonstrating the problem in the message link | linking process used as the premise of this Embodiment. 本実施の形態の前提となるメッセージ紐付け処理を説明するための図である。It is a figure for demonstrating the message correlation process used as the premise of this Embodiment. 本実施の形態の前提となるメッセージ紐付け処理における問題点を説明するための図である。It is a figure for demonstrating the problem in the message link | linking process used as the premise of this Embodiment. 本実施の形態の概要を説明するための図である。It is a figure for demonstrating the outline | summary of this Embodiment. 本実施の形態に係るメッセージ紐付け処理装置の機能ブロック図である。It is a functional block diagram of the message correlation processing apparatus which concerns on this Embodiment. サーバDBに格納されるデータの一例を示す図である。It is a figure which shows an example of the data stored in server DB. キー定義DBに格納されるデータの一例を示す図である。It is a figure which shows an example of the data stored in key definition DB. キー配置格納部に格納されるデータの一例を示す図である。It is a figure which shows an example of the data stored in a key arrangement | positioning storage part. キー優先度格納部に格納されるデータの一例を示す図である。It is a figure which shows an example of the data stored in a key priority storage part. 本実施の形態におけるメインの処理フローを示す図である。It is a figure which shows the main processing flow in this Embodiment. 構造体を示す図である。It is a figure which shows a structure. 構造体を示す図である。It is a figure which shows a structure. 処理量計算処理の処理フロー(第1の部分)を示す図である。It is a figure which shows the processing flow (1st part) of a processing amount calculation process. 構造体を示す図である。It is a figure which shows a structure. 構造体を示す図である。It is a figure which shows a structure. (a)乃至(c)は、処理量計算処理を再帰的に実施する場合を説明するための図である。(A) thru | or (c) is a figure for demonstrating the case where a throughput calculation process is implemented recursively. 処理量計算処理の処理フロー(第2の部分)を示す図である。It is a figure which shows the processing flow (2nd part) of a processing amount calculation process. 割り当てパターンテーブルのテーブル例を示す図である。It is a figure which shows the example of a table of an allocation pattern table. (a)乃至(c)は、紐付けキー割り当てを示す図である。(A) thru | or (c) is a figure which shows tied key allocation. 割り当てパターンテーブルのテーブル例を示す図である。It is a figure which shows the example of a table of an allocation pattern table. (a)及び(b)は、紐付けキーが3つの場合の処理を説明するための図である。(A) And (b) is a figure for demonstrating the process in case there are three tied keys. コンピュータの機能ブロック図である。It is a functional block diagram of a computer.

まず、本実施の形態の前提となる、メッセージの紐付け処理について説明する。例えば図1に示すように、メッセージ振分部が、紐付けキーKc及びKdが割り当てられている紐付けサーバ1に、プロトコルOのメッセージ(Prot.O)とプロトコルRのメッセージ(Prot.R)とを割り振り、紐付けキーKa及びKbが割り当てられている紐付けサーバ2に、プロトコルPのメッセージ(Prot.P)とプロトコルSのメッセージ(Prot.S)とを割り振るものとする。また、紐付けサーバ1及び2は、割り当てられている紐付けキー毎のハッシュテーブルを有しており、メッセージ振分部からメッセージを受け取ると、紐付けキーからハッシュ値を計算し、ハッシュ値に従ってメッセージをハッシュテーブルに格納するものとする。なお、Prot.Oには、紐付けキーKc及びKaが含まれ、Prot.Pには、紐付けキーKa及びKdが含まれ、Prot.Rには、紐付けキーKd及びKbが含まれ、Prot.Sには、紐付けキーKbが含まれる。すなわち、Prot.OとProt.Pとは、紐付けキーKaによって紐付けられる。また、Prot.PとProt.Rとは、紐付けキーKdによって紐付けられる。さらに、Prot.RとProt.Sとは、紐付けキーKbによって紐付けられる。従って、Prot.OとProt.PとProt.RとProt.Sとは、同一のトランザクションに係るメッセージとして紐付けられる。   First, message linking processing, which is a premise of the present embodiment, will be described. For example, as shown in FIG. 1, the message distribution unit sends a protocol O message (Prot.O) and a protocol R message (Prot.R) to the linking server 1 to which the linking keys Kc and Kd are assigned. And the protocol P message (Prot.P) and the protocol S message (Prot.S) are allocated to the linking server 2 to which the linking keys Ka and Kb are allocated. In addition, the linking servers 1 and 2 have a hash table for each assigned linking key. When a message is received from the message distribution unit, a hash value is calculated from the linking key, and according to the hash value. The message is stored in a hash table. Prot.O includes linking keys Kc and Ka, Prot.P includes linking keys Ka and Kd, and Prot.R includes linking keys Kd and Kb. Prot.S includes a linking key Kb. That is, Prot.O and Prot.P are linked by the linking key Ka. Further, Prot.P and Prot.R are linked by the linking key Kd. Further, Prot.R and Prot.S are linked by the linking key Kb. Therefore, Prot.O, Prot.P, Prot.R, and Prot.S are linked as messages related to the same transaction.

例えば図2に示すように、メッセージの紐付け処理が行われる。具体的には、まず、紐付けサーバ1が、ハッシュテーブル(Kc)からProt.O(Kc=a,Ka=15)を取り出す。ここで、Prot.Oは、紐付けキーKaによってProt.Pと紐付けられるが、Prot.Pを格納しているのは、紐付けサーバ2であるため、紐付けサーバ間で通信(1回目)が発生する。次に、紐付けサーバ2が、Prot.Oと紐付くProt.P(Ka=15,Kd=37)をハッシュテーブル(Ka)から取り出す。ここで、Prot.Pは、紐付けキーKdによってProt.Rと紐付けられるが、Prot.Rを格納しているのは、紐付けサーバ1であるため、再び紐付けサーバ間で通信(2回目)が発生する。そして、紐付けサーバ1が、Prot.Pと紐付くProt.R(Kd=37,Kb=x)をハッシュテーブル(Kd)から取り出す。ここで、Prot.Rは、紐付けキーKbによってProt.Sと紐付けられるが、Prot.Sを格納しているのは、紐付けサーバ2であるため、再び紐付けサーバ間で通信(3回目)が発生する。そして、紐付けサーバ2が、Prot.Rと紐付くProt.S(Kb=x)をハッシュテーブル(Kb)から取り出し、紐付け処理は完了となる。すなわち、図1に示すように紐付けキーを割り当てると、紐付け処理のために、紐付けサーバ間で3回の通信が必要となる。なお、図1及び図2では、紐付けキーの数が4つの例を示しているが、紐付けキーが多くなると、紐付けサーバ間の通信回数も多くなり、通信負荷が並列処理による効率化を妨げることになる。   For example, as shown in FIG. 2, a message linking process is performed. Specifically, first, the associating server 1 extracts Prot.O (Kc = a, Ka = 15) from the hash table (Kc). Here, Prot.O is associated with Prot.P by the association key Ka, but since Prot.P is stored in the association server 2, communication between the association servers (first time) ) Occurs. Next, the associating server 2 retrieves Prot.P (Ka = 15, Kd = 37) associated with Prot.O from the hash table (Ka). Here, Prot.P is linked to Prot.R by the linking key Kd, but since Prot.R is stored in the linking server 1, communication between the linking servers again (2 Occurs). Then, the associating server 1 extracts Prot.R (Kd = 37, Kb = x) associated with Prot.P from the hash table (Kd). Here, Prot.R is associated with Prot.S by the association key Kb, but since Prot.S is stored in the association server 2, communication between the association servers again (3 Occurs). Then, the linking server 2 extracts Prot.S (Kb = x) linked to Prot.R from the hash table (Kb), and the linking process is completed. That is, when a linking key is assigned as shown in FIG. 1, three times of communication are required between linking servers for the linking process. 1 and 2 show an example in which the number of linking keys is four. However, as the number of linking keys increases, the number of communication between the linking servers also increases, and the communication load is improved by parallel processing. Will be disturbed.

また、図3に示すように、メッセージ振分部が、複数の紐付けキーを含むメッセージの振分けを行う際に、例えばメッセージ中において先に検出した紐付けキーに従ってメッセージの割り振りを行うと、図4に示すような問題が生じてしまう。なお、図3では、紐付けサーバ1には、紐付けキーKc及びKaが割り当てられ、紐付けサーバ2には、紐付けキーKd及びKbが割り当てられているものとする。また、図3では、紐付けキーKaより先に紐付けキーKdを検出し、紐付けキーKdに従ってProt.Pを紐付けサーバ2に割り振るものとする。   In addition, as shown in FIG. 3, when the message distribution unit distributes a message including a plurality of association keys, for example, if the message is allocated according to the association key detected earlier in the message, The problem shown in FIG. In FIG. 3, it is assumed that the associating keys 1 are assigned to the associating server 1 and the associating keys Kd and Kb are assigned to the associating server 2. In FIG. 3, it is assumed that the linking key Kd is detected before the linking key Ka, and Prot. P is allocated to the linking server 2 according to the linking key Kd.

この状態で、メッセージの紐付け処理を行うと、図4に示すように、紐付けサーバ1は、紐付けキーKcのハッシュテーブルからProt.Oを取り出すが、紐付けサーバ1内の紐付けキーKaのハッシュテーブルにProt.Pが登録されていないため、Prot.Oと紐付くはずのProt.Pを探し出すことができない。この場合、Prot.Pを紐付けキーKaのハッシュテーブルにも登録することで、紐付け処理を行うことができるようになるが、ハッシュテーブルにおいて領域を余分に確保しなければならず、またメッセージコピーのための通信負荷がかかってしまい、並列化を妨げることになる。   When the message linking process is performed in this state, as shown in FIG. 4, the linking server 1 extracts Prot.O from the hash table of the linking key Kc, but the linking key in the linking server 1 Since Prot.P is not registered in Ka's hash table, Prot.P that should be associated with Prot.O cannot be found. In this case, registration can also be performed by registering Prot.P in the hash table of the linking key Ka, but an extra area must be secured in the hash table, and the message A communication load for copying is applied and parallelization is hindered.

そこで、本実施の形態では、紐付けキーの割り当てパターンのうち、所定の条件(例えば、各紐付けサーバの稼働率など)を満たし且つ紐付けサーバ間の通信負荷が最も少なくなるパターンを特定し、各紐付けサーバに対して割り当てる紐付けキーを最適化する。例えば図5に示すようなキー割り当てを行う。図5では、紐付けサーバ1には、紐付けキーKc及びKaが割り当てられ、紐付けサーバ2には、紐付けキーKd及びKbが割り当てられている。さらに、複数の紐付けキーを含むメッセージを重複登録しなくても済むように、紐付けキーの優先度を決定する。例えば、Prot.O(Kc,Ka)→Prot.P(Ka,Kd)→Prot.R(Kd,Kb)→Prot.S(Kb)の順に紐付けが行われる場合、Kc(=1),Ka(=2),Kd(=3),Kb(=4)の順に優先度を付与する。そして、メッセージ振分部において、優先度に従ってメッセージの振分けを行うようにすれば、例えばProt.Pは、KdよりKaの方が優先度が高いため、紐付けサーバ1に割り振られることとなる。これにより、重複登録しなくても、紐付け処理を行うことができるようになり、図2では3回だった通信回数が、1回まで減らすことができる。以下、本技術の一実施の形態について説明する。   Therefore, in the present embodiment, a pattern that satisfies a predetermined condition (for example, the operation rate of each linking server) and that minimizes the communication load between the linking servers is identified from the linking key allocation patterns. Optimize the linking key assigned to each linking server. For example, key assignment as shown in FIG. 5 is performed. In FIG. 5, linking keys Kc and Ka are allocated to the linking server 1, and linking keys Kd and Kb are allocated to the linking server 2. Further, the priority of the linking key is determined so that a message including a plurality of linking keys need not be registered repeatedly. For example, when linking is performed in the order of Prot.O (Kc, Ka) → Prot.P (Ka, Kd) → Prot.R (Kd, Kb) → Prot.S (Kb), Kc (= 1), Priorities are assigned in the order of Ka (= 2), Kd (= 3), and Kb (= 4). If the message distribution unit performs message distribution according to the priority, for example, Prot.P is assigned to the linking server 1 because Ka has higher priority than Kd. Thereby, it becomes possible to perform the linking process without registering redundantly, and the number of communications that was three times in FIG. 2 can be reduced to one time. Hereinafter, an embodiment of the present technology will be described.

まず、図6に本技術の一実施の形態に係るメッセージ紐付け処理装置のシステム概要を示す。本実施の形態におけるメッセージ紐付け処理装置は、各紐付け処理部の処理能力などを格納するサーバDB101と、プロトコル毎に当該プロトコルに係るメッセージに含まれる紐付けキーを格納するキー定義DB103と、サーバDB101及びキー定義DB103に格納されているデータに基づき、紐付けキーの割り当てパターンのうち、所定の条件を満たし且つ紐付け処理部(紐付けサーバ)間の通信負荷が最も少なくなるパターンを特定するキー配置最適化部105と、キー配置最適化部105により特定された割り当てパターンに係るキー配置を格納するキー配置格納部107と、キー配置格納部107に格納されているキー配置に基づき、各紐付けキーの優先度を決定するキー優先度決定部109と、キー優先度決定部109により決定された紐付けキーの優先度を格納するキー優先度格納部111と、各トランザクションに係るメッセージを受信するメッセージ受信部113と、キー配置格納部107に格納されているキー配置とキー優先度格納部111に格納されている優先度とに従ってメッセージ受信部113の受信したメッセージを、担当紐付け処理部に振分けるメッセージ振分部115と、担当する紐付けキー毎のハッシュテーブルを各々有し、各々連携してメッセージの紐付け処理を実施する紐付け処理部117乃至121とを有する。なお、紐付け処理部117乃至121は、例えば別サーバ上に構成されるものとする。   First, FIG. 6 shows a system overview of a message linking processing device according to an embodiment of the present technology. The message linking processing device in the present embodiment includes a server DB 101 that stores the processing capability of each linking processing unit, a key definition DB 103 that stores a linking key included in a message related to the protocol for each protocol, Based on the data stored in the server DB 101 and the key definition DB 103, a pattern that satisfies a predetermined condition and that minimizes the communication load between the linking processing units (linking servers) among the linking key allocation patterns is identified. Based on the key arrangement stored in the key arrangement storage unit 107, the key arrangement storage unit 107 that stores the key arrangement related to the allocation pattern specified by the key arrangement optimization unit 105, and the key arrangement stored in the key arrangement storage unit 107. A key priority determination unit 109 that determines the priority of each linking key and a key priority determination unit 109 The key priority storage unit 111 for storing the priority of the determined association key, the message receiving unit 113 for receiving a message related to each transaction, and the key arrangement and key priority stored in the key arrangement storage unit 107. A message distribution unit 115 that distributes the message received by the message reception unit 113 to the associated association processing unit according to the priority stored in the degree storage unit 111, and a hash table for each associated association key And linking processing units 117 to 121 for executing message linking processing in cooperation with each other. Assume that the association processing units 117 to 121 are configured on, for example, another server.

また、キー配置最適化部105は、キー定義DB103から各紐付けキーを抽出し、抽出した紐付けキーの各々に対応するノードと同一のプロトコルに属する紐付けキーのノード間を結ぶリンクとを含む構造体のデータに関連する処理を実施する構造体処理部1051と、紐付けキーの割り当てパターンのうち、所定の条件を満たし且つ紐付け処理部(紐付けサーバ)間の通信負荷が最も少なくなるパターンを特定するパターン特定部1053とを有する。   Further, the key arrangement optimizing unit 105 extracts each linking key from the key definition DB 103, and creates a link connecting the nodes of the linking keys belonging to the same protocol as the node corresponding to each of the extracted linking keys. The structure processing unit 1051 that performs processing related to the data of the included structure and the communication load between the linking processing unit (linking server) satisfying a predetermined condition among the linking key allocation patterns are the least A pattern specifying unit 1053 for specifying a pattern to be formed.

図7に、サーバDB101に格納されるデータの一例を示す。図7の例では、サーバDB101には、サーバ(紐付け処理部)IDの列と、処理能力の列とが含まれる。処理能力の列には、各紐付けサーバ(紐付け処理部)の相対的な処理能力を表す値が格納される。   FIG. 7 shows an example of data stored in the server DB 101. In the example of FIG. 7, the server DB 101 includes a server (linking processing unit) ID column and a processing capability column. The processing capability column stores a value representing the relative processing capability of each linking server (linking processing unit).

図8に、キー定義DB103に格納されるデータの一例を示す。図8の例では、キー定義DB103には、プロトコルの列と、キー(紐付けキー)の列とが含まれる。   FIG. 8 shows an example of data stored in the key definition DB 103. In the example of FIG. 8, the key definition DB 103 includes a protocol column and a key (linking key) column.

図9に、キー配置格納部107に格納されるデータの一例を示す。図9の例では、キー配置格納部107には、サーバ(紐付け処理部)IDの列と、キー(紐付けキー)の列とが含まれる。キーの列には、紐付けサーバ(紐付け処理部)に対して割り当てる紐付けキーが設定される。なお、キー配置格納部107には、キー配置に対応する構造体のデータと後で説明する最小通信負荷とが併せて格納される。   FIG. 9 shows an example of data stored in the key arrangement storage unit 107. In the example of FIG. 9, the key arrangement storage unit 107 includes a server (linking processing unit) ID column and a key (linking key) column. In the key column, a linking key assigned to the linking server (linking processing unit) is set. The key arrangement storage unit 107 stores data of a structure corresponding to the key arrangement and a minimum communication load described later.

図10に、キー優先度格納部111に格納されるデータの一例を示す。図10の例では、キー優先度格納部111には、キー(紐付けキー)の列と、優先度の列とが含まれる。   FIG. 10 shows an example of data stored in the key priority storage unit 111. In the example of FIG. 10, the key priority storage unit 111 includes a key (linking key) column and a priority column.

次に、図11乃至図21を用いて、図6に示したメッセージ紐付け処理装置の処理内容を説明する。なお、本実施の形態では、3つの紐付けサーバ(1乃至3)が存在する場合を例に説明する。まず、構造体処理部1051が、キー定義DB103から各紐付けキーを抽出し、抽出した紐付けキーの各々に対応するノードと同一のプロトコルに属する紐付けキーのノード間を結ぶリンクとを含む構造体のデータを生成し、記憶装置に格納する(図11:ステップS1)。例えば図8に示したようなデータ(P1乃至P10)がキー定義DB103に格納されている場合に、本ステップの処理を実施すると、図12に示すような構造体のデータが生成される。図12に示す構造体には、キー定義DB103(図8)における紐付けキーKx、Ka、Kb、Kc、Kd、Ke、Kf、Kg、Ky及びKzの各ノードが含まれている。さらに、図12に示す構造体には、キー定義DB103におけるプロトコルP1乃至P10の各々に対応するリンクP1乃至P10が含まれている。なお、リンクP1は、プロトコルP1に属する紐付けキーKx及びKaのノード間を結ぶリンクである。また、リンクP2は、プロトコルP2に属する紐付けキーKa及びKbのノード間を結ぶリンクである。さらに、リンクP3は、プロトコルP3に属する紐付けキーKb及びKcのノード間を結ぶリンクである。また、リンクP4は、プロトコルP4に属する紐付けキーKc及びKdのノード間を結ぶリンクである。さらに、リンクP5は、プロトコルP5に属する紐付けキーKd及びKyのノード間を結ぶリンクである。また、リンクP6は、プロトコルP6に属する紐付けキーKc及びKeのノード間を結ぶリンクである。さらに、リンクP7は、プロトコルP7に属する紐付けキーKe及びKfのノード間を結ぶリンクである。また、リンクP8は、プロトコルP8に属する紐付けキーKf及びKzのノード間を結ぶリンクである。さらに、リンクP9は、プロトコルP9に属する紐付けキーKe及びKgのノード間を結ぶリンクである。また、リンクP10は、プロトコルP10に属する紐付けキーKb及びKgのノード間を結ぶリンクである。   Next, processing contents of the message association processing apparatus shown in FIG. 6 will be described with reference to FIGS. In this embodiment, a case where there are three tying servers (1 to 3) will be described as an example. First, the structure processing unit 1051 includes each link key extracted from the key definition DB 103, and includes a link that connects between the nodes corresponding to each of the extracted link keys and the link key nodes belonging to the same protocol. Data of the structure is generated and stored in the storage device (FIG. 11: step S1). For example, when the data (P1 to P10) as shown in FIG. 8 is stored in the key definition DB 103, the data of the structure as shown in FIG. The structure shown in FIG. 12 includes the association keys Kx, Ka, Kb, Kc, Kd, Ke, Kf, Kg, Ky, and Kz in the key definition DB 103 (FIG. 8). Further, the structure shown in FIG. 12 includes links P1 to P10 corresponding to the protocols P1 to P10 in the key definition DB 103, respectively. The link P1 is a link that connects the nodes of the association keys Kx and Ka belonging to the protocol P1. The link P2 is a link that connects the nodes of the association keys Ka and Kb belonging to the protocol P2. Furthermore, the link P3 is a link that connects the nodes of the association keys Kb and Kc belonging to the protocol P3. The link P4 is a link connecting the nodes of the tying keys Kc and Kd belonging to the protocol P4. Furthermore, the link P5 is a link that connects the nodes of the association keys Kd and Ky belonging to the protocol P5. The link P6 is a link that connects the nodes of the tying keys Kc and Ke belonging to the protocol P6. Furthermore, the link P7 is a link that connects the nodes of the association keys Ke and Kf belonging to the protocol P7. The link P8 is a link connecting the nodes of the association keys Kf and Kz belonging to the protocol P8. Furthermore, the link P9 is a link that connects the nodes of the tying keys Ke and Kg belonging to the protocol P9. The link P10 is a link connecting the nodes of the tying keys Kb and Kg belonging to the protocol P10.

そして、構造体処理部1051は、単一のプロトコルに属する紐付けキーのノードを構造体から削除する(ステップS3)。なお、図8では、紐付けキーKxは、プロトコルP1にのみ含まれ、紐付けキーKyは、プロトコルP5にのみ含まれ、紐付けキーKzは、プロトコルP8にのみ含まれる。従って、図12に示した構造体から紐付けキーKx、Ky及びKzのノードが削除され、図13の右側に示すような構造体となる。なお、図13の右側の構造体には、紐付けキーKa、Kb、Kc、Kd、Ke、Kf及びKgのノードが含まれる。   And the structure process part 1051 deletes the node of the tied key which belongs to a single protocol from a structure (step S3). In FIG. 8, the linking key Kx is included only in the protocol P1, the linking key Ky is included only in the protocol P5, and the linking key Kz is included only in the protocol P8. Therefore, the nodes of the linking keys Kx, Ky, and Kz are deleted from the structure shown in FIG. 12, resulting in a structure as shown on the right side of FIG. Note that the right-side structure in FIG. 13 includes nodes for the association keys Ka, Kb, Kc, Kd, Ke, Kf, and Kg.

そして、構造体処理部1051及びパターン特定部1053が、サーバDB101に格納されているデータと記憶装置に格納されている構造体のデータとを用いて処理量計算処理を実施し、キー配置を特定してキー配置格納部107に格納する(ステップS5)。   Then, the structure processing unit 1051 and the pattern specifying unit 1053 use the data stored in the server DB 101 and the data of the structure stored in the storage device to specify the key arrangement. And stored in the key arrangement storage unit 107 (step S5).

処理量計算処理については、図14乃至図21を用いて説明する。まず、構造体処理部1051が、記憶装置に格納されている構造体のデータを解析し、構造体中にループがあるか否か判断する(図14:ステップS11)。例えば、構造体に含まれるリンクを辿って各ノードを検出し、検出したノードについてはフラグを立てる。そして、フラグの立てられたノードを再度検出した場合には、ループありと判断する。構造体中にループがないと判断された場合(ステップS11:Noルート)、端子Aを介してステップS21(図18)の処理に移行する。なお、図18の処理は後で説明する。   The processing amount calculation process will be described with reference to FIGS. First, the structure processing unit 1051 analyzes the structure data stored in the storage device, and determines whether or not there is a loop in the structure (FIG. 14: step S11). For example, each node is detected by tracing a link included in the structure, and a flag is set for the detected node. When a flagged node is detected again, it is determined that there is a loop. When it is determined that there is no loop in the structure (step S11: No route), the process proceeds to step S21 (FIG. 18) via the terminal A. The process of FIG. 18 will be described later.

一方、構造体中にループがあると判断された場合(ステップS11:Yesルート)、構造体処理部1051は、ループを構成するリンクを切断候補リンクとして抽出する(ステップS13)。例えば、図15に示すように、紐付けキーKbと紐付けキーKcとを結ぶリンクP3と、紐付けキーKcと紐付けキーKeとを結ぶリンクP6と、紐付けキーKeと紐付けキーKgとを結ぶリンクP9と、紐付けキーKgと紐付けキーKbとを結ぶリンクP10とによってループが形成されている場合には、リンクP3、P6、P9及びP10を切断候補リンクとして抽出する。   On the other hand, when it is determined that there is a loop in the structure (step S11: Yes route), the structure processing unit 1051 extracts a link constituting the loop as a disconnection candidate link (step S13). For example, as shown in FIG. 15, a link P3 that connects the tying key Kb and the tying key Kc, a link P6 that ties the tying key Kc and the tying key Ke, and a tying key Ke and a tying key Kg. When a loop is formed by the link P9 connecting the linking key Kg and the linking key Kb, the links P3, P6, P9 and P10 are extracted as the cutting candidate links.

そして、構造体処理部1051は、抽出した切断候補リンクのうち未処理の切断候補リンクを特定する(ステップS15)。ここでは、例えばリンクP10が特定されたものとする。そして、構造体処理部1051は、特定された切断候補リンクを切断したものとみなして、再帰的に処理量計算処理を実施する(ステップS17)。例えば、リンクP10が切断されると、図16の右側に示すような構造体となり、この構造体にて再度処理量計算処理を実施することとなる。なお、ステップS17の処理が終了すると、特定された切断候補リンクは再接続したものとみなす。   Then, the structure processing unit 1051 identifies unprocessed cutting candidate links among the extracted cutting candidate links (step S15). Here, for example, the link P10 is specified. Then, the structure processing unit 1051 considers that the specified cutting candidate link is cut, and recursively performs a processing amount calculation process (step S17). For example, when the link P10 is cut, a structure as shown on the right side of FIG. 16 is obtained, and the throughput calculation process is performed again with this structure. When the process of step S17 ends, the identified disconnection candidate link is regarded as having been reconnected.

なお、構造体中に形成されるループは1つとは限らない。例えば、図17(a)に示すようにループが2つ形成されている場合、まず、リンクP3、P6、P9及びP10によって形成されるループについて切断候補リンクを特定し(ここではリンクP10が特定されたものとする)、リンクP10を切断したものとみなして、処理量計算処理を実施する。なお、リンクP10が切断されると、図17(b)に示すような構造体となる。次に、図17(b)の構造体において、リンクP14、P16、P17及びP15によって形成されるループについて切断候補リンクを特定し(ここではリンクP17が特定されたものとする)、リンクP17を切断したものとみなして、さらに処理量計算処理を実施する。なお、リンクP17が切断されると、図17(c)に示すような構造体となる。図17(c)の構造体中には、ループは形成されていない。このように、構造体中のループがなくなるまで再帰的に処理量計算処理を実施する。   Note that the number of loops formed in the structure is not limited to one. For example, when two loops are formed as shown in FIG. 17A, first, a disconnection candidate link is specified for the loop formed by the links P3, P6, P9, and P10 (here, the link P10 is specified). It is assumed that the link P10 has been disconnected, and the processing amount calculation process is performed. When the link P10 is cut, a structure as shown in FIG. Next, in the structure shown in FIG. 17B, a candidate cut link is specified for the loop formed by the links P14, P16, P17, and P15 (here, it is assumed that the link P17 is specified), and the link P17 is changed. Considering that it has been cut, further processing for calculating the amount of processing is performed. When the link P17 is cut, a structure as shown in FIG. A loop is not formed in the structure of FIG. In this way, the processing amount calculation process is recursively performed until there is no loop in the structure.

そして、構造体処理部1051は、全ての切断候補リンクについて処理が完了したか判断する(ステップS19)。全ての切断候補リンクについて処理が完了していなければ(ステップS19:Noルート)、ステップS15の処理に戻る。一方、全ての切断候補リンクについて処理が完了した場合(ステップS19:Yesルート)、元の処理に戻る。   And the structure process part 1051 judges whether the process was completed about all the cutting | disconnection candidate links (step S19). If the processing has not been completed for all the disconnection candidate links (step S19: No route), the processing returns to step S15. On the other hand, when the process is completed for all the disconnection candidate links (step S19: Yes route), the process returns to the original process.

次に、端子A以降の処理を図18を用いて説明する。なお、図16の右側に示した構造体について処理する場合を例として説明する。まず、パターン特定部1053は、構造体に含まれるノード(紐付けキー)の数とサーバDB101に格納されている各紐付けサーバ(紐付け処理部)の処理能力とに基づき、各紐付けサーバ(紐付け処理部)の担当処理量を算出し、一旦記憶装置に格納する(図18:ステップS21)。具体的には、各紐付けサーバの処理能力を全て加算して全体の処理能力を算出し、「(ノードの総数)×(紐付けサーバnの処理能力)/(全体の処理能力)」を、紐付けサーバnの担当処理量(すなわち、紐付けサーバnの担当する紐付けキーの数)として算出する。例えば、紐付けサーバ1乃至紐付けサーバ3について、図7に示したようなデータがサーバDB101に格納されている場合、全体の処理能力は7(=2+2+3)となる。また、図16の右側に示した構造体には、7つのノード(紐付けキーKa、Kb、Kc、Kd、Ke、Kf及びKgの各々のノード)が含まれている。従って、紐付けサーバ1の担当処理量は、「7×2/7=2」となり、紐付けサーバ2の担当処理量は、「7×2/7=2」となり、紐付けサーバ3の担当処理量は、「7×3/7=3」となる。   Next, the processing after the terminal A will be described with reference to FIG. A case where the structure shown on the right side of FIG. 16 is processed will be described as an example. First, the pattern specifying unit 1053 is configured so that each linking server is based on the number of nodes (linking keys) included in the structure and the processing capability of each linking server (linking process unit) stored in the server DB 101. The processing amount in charge of the (association processing unit) is calculated and temporarily stored in the storage device (FIG. 18: step S21). Specifically, the total processing capacity is calculated by adding all the processing capacities of the linking servers, and “(total number of nodes) × (processing capacity of the linking server n) / (total processing capacity)” is calculated. , It is calculated as the processing amount in charge of the linking server n (that is, the number of linking keys handled by the linking server n). For example, when the data as shown in FIG. 7 is stored in the server DB 101 for the linking server 1 to the linking server 3, the overall processing capacity is 7 (= 2 + 2 + 3). Further, the structure shown on the right side of FIG. 16 includes seven nodes (each node of the association keys Ka, Kb, Kc, Kd, Ke, Kf, and Kg). Therefore, the processing amount in charge of the tying server 1 is “7 × 2/7 = 2”, and the processing amount in charge of the tying server 2 is “7 × 2/7 = 2”. The processing amount is “7 × 3/7 = 3”.

そして、パターン特定部1053は、割り当てパターンテーブルを生成し、記憶装置に格納する(ステップS23)。具体的には、ステップS21において算出された担当処理量に従って紐付けキーを各紐付けサーバに割り当てる場合における紐付けキーの組み合わせである割り当てパターンを全て抽出し、抽出した全ての割り当てパターンを含む割り当てパターンテーブルを生成する。図19に、割り当てパターンテーブルの一例を示す。図19の例では、割り当てパターンテーブルには、サーバ(紐付け処理部)IDの列と、処理能力の列と、パターン1の列と、パターン2の列と、パターン3の列と、・・・とが含まれる。さらに、各パターンの列は、キー配置の列と、担当処理量の列と、通信負荷の列と、処理量の列と、稼働率の列とに分かれている。なお、処理能力の列には、サーバDB101に格納されている当該紐付けサーバ(紐付け処理部)の処理能力が設定される。キー配置の列には、当該パターンにおける紐付けキーの組み合わせが設定される。担当処理量の列には、ステップS21で算出した担当処理量が設定される。なお、通信負荷の列と処理量の列と稼働率の列との各列は、後で説明するステップS27の処理によって設定される。   And the pattern specific | specification part 1053 produces | generates an allocation pattern table, and stores it in a memory | storage device (step S23). Specifically, all the allocation patterns that are combinations of the linking keys in the case of allocating the linking keys to each linking server according to the assigned processing amount calculated in step S21 are extracted, and the allocation includes all the extracted allocation patterns. Generate a pattern table. FIG. 19 shows an example of an allocation pattern table. In the example of FIG. 19, the allocation pattern table includes a server (linking processing unit) ID column, a processing capability column, a pattern 1 column, a pattern 2 column, a pattern 3 column, and so on.・ And are included. Further, each pattern column is divided into a key arrangement column, a responsible processing amount column, a communication load column, a processing amount column, and an operation rate column. In the processing capability column, the processing capability of the linking server (linking processing unit) stored in the server DB 101 is set. A combination of linking keys in the pattern is set in the key arrangement column. The assigned processing amount calculated in step S21 is set in the assigned processing amount column. Note that each of the communication load column, the processing amount column, and the operation rate column is set by the processing in step S27 described later.

そして、パターン特定部1053は、割り当てパターンテーブルにおいて、未処理の割り当てパターンを特定する(ステップS25)。そして、パターン特定部1053は、特定された割り当てパターンにおける各紐付けサーバの通信負荷と処理量と稼働率とを算出し、割り当てパターンテーブルに設定する(ステップS27)。この処理については図20を用いて説明する。   Then, the pattern identification unit 1053 identifies an unprocessed allocation pattern in the allocation pattern table (step S25). And the pattern specific | specification part 1053 calculates the communication load of each tied server in the specified allocation pattern, a processing amount, and an operation rate, and sets it to an allocation pattern table (step S27). This process will be described with reference to FIG.

例えば、図19に示した割り当てパターンテーブルにおけるパターン1の場合、図20(a)に示すような割り当てとなる。図20(a)では、紐付けサーバ1と紐付けサーバ2に跨っているリンクは1つ存在する(ノード(Kb)とノード(Kc)とを結ぶリンク)。ここで、紐付けサーバ1と紐付けサーバ2に跨っているリンクの数に所定の重み付け値(ここでは1とする)を乗じて紐付けサーバ1と紐付けサーバ2間の通信負荷(1×1=1)を算出し、紐付けサーバ1と紐付けサーバ2との各々に均等に割り振る。すなわち、紐付けサーバ1と紐付けサーバ2とに0.5ずつ割り振る。また、図20(a)では、紐付けサーバ2と紐付けサーバ3に跨っているリンクも1つ存在する(ノード(Kc)とノード(Ke)とを結ぶリンク)。同様に、紐付けサーバ2と紐付けサーバ3に跨っているリンクの数に所定の重み付け値(ここでは1とする)を乗じて紐付けサーバ2と紐付けサーバ3間の通信負荷(1×1=1)を算出し、紐付けサーバ2と紐付けサーバ3との各々に均等に割り振る。すなわち、紐付けサーバ2と紐付けサーバ3とに0.5ずつ割り振る。結果として、パターン1の場合、紐付けサーバ1の通信負荷は0.5、紐付けサーバ2の通信負荷は1(=0.5+0.5)、紐付けサーバ3の通信負荷は0.5となる。なお、例えば、紐付けサーバ間の通信速度が遅い場合などは、通信負荷が高くなるような重み付け値を採用することもある。そして、紐付けサーバ毎に、担当処理量と通信負荷とを加算して処理量を算出する。すなわち、紐付けサーバ1の処理量は2.5(=2+0.5)、紐付けサーバ2の処理量は3(=2+1)、紐付けサーバ3の処理量は3.5(=3+0.5)となる。さらに、紐付けサーバ毎に、処理能力に対する処理量の比(=処理量/処理能力)を稼働率として算出する。すなわち、紐付けサーバ1の稼働率は125%(=2.5/2)、紐付けサーバ2の稼働率は150%(=3/2)、紐付けサーバ3の稼働率は117%(≒3.5/3)となる。   For example, in the case of pattern 1 in the assignment pattern table shown in FIG. 19, the assignment is as shown in FIG. In FIG. 20A, there is one link straddling the tying server 1 and the tying server 2 (link that connects the node (Kb) and the node (Kc)). Here, the communication load (1 ×) between the linking server 1 and the linking server 2 is obtained by multiplying the number of links straddling the linking server 1 and the linking server 2 by a predetermined weighting value (here, 1). 1 = 1) is calculated and equally allocated to each of the linking server 1 and the linking server 2. That is, 0.5 is allocated to each of the linking server 1 and the linking server 2. In FIG. 20A, there is also one link straddling the linking server 2 and the linking server 3 (link connecting the node (Kc) and the node (Ke)). Similarly, the communication load (1 ×) between the tying server 2 and the tying server 3 is obtained by multiplying the number of links straddling the tying server 2 and the tying server 3 by a predetermined weight value (here, 1). 1 = 1) is calculated and equally allocated to each of the linking server 2 and the linking server 3. That is, 0.5 is allocated to each of the linking server 2 and the linking server 3. As a result, in the case of pattern 1, the communication load of the linking server 1 is 0.5, the communication load of the linking server 2 is 1 (= 0.5 + 0.5), and the communication load of the linking server 3 is 0.5. Become. For example, when the communication speed between the tied servers is slow, a weighting value that increases the communication load may be employed. Then, the processing amount is calculated by adding the assigned processing amount and the communication load for each linking server. That is, the processing amount of the linking server 1 is 2.5 (= 2 + 0.5), the processing amount of the linking server 2 is 3 (= 2 + 1), and the processing amount of the linking server 3 is 3.5 (= 3 + 0.5). ) Further, the ratio of the processing amount to the processing capability (= processing amount / processing capability) is calculated as the operation rate for each linking server. That is, the operating rate of the linking server 1 is 125% (= 2.5 / 2), the operating rate of the linking server 2 is 150% (= 3/2), and the operating rate of the linking server 3 is 117% (≈ 3.5 / 3).

また、図19に示した割り当てパターンテーブルにおけるパターン2の場合、図20(b)に示すような割り当てとなる。図20(b)では、紐付けサーバ1と紐付けサーバ2に跨っているリンクは1つ存在する(ノード(Kb)とノード(Kc)とを結ぶリンク)。紐付けサーバ1と紐付けサーバ2に跨っているリンクの数に所定の重み付け値(ここでは1とする)を乗じて紐付けサーバ1と紐付けサーバ2間の通信負荷(1×1=1)を算出し、紐付けサーバ1と紐付けサーバ2との各々に均等に割り振る。すなわち、紐付けサーバ1と紐付けサーバ2とに0.5ずつ割り振る。また、図20(b)では、紐付けサーバ2と紐付けサーバ3に跨っているリンクは3つ存在する(ノード(Kc)とノード(Kd)とを結ぶリンク、ノード(Ke)とノード(Kf)とを結ぶリンク、ノード(Ke)とノード(Kg)とを結ぶリンク)。紐付けサーバ2と紐付けサーバ3に跨っているリンクの数に所定の重み付け値(ここでは1とする)を乗じて紐付けサーバ2と紐付けサーバ3間の通信負荷(3×1=3)を算出し、紐付けサーバ2と紐付けサーバ3との各々に均等に割り振る。すなわち、紐付けサーバ2と紐付けサーバ3とに1.5ずつ割り振る。結果として、パターン2の場合、紐付けサーバ1の通信負荷は0.5、紐付けサーバ2の通信負荷は2(=0.5+1.5)、紐付けサーバ3の通信負荷は1.5となる。そして、紐付けサーバ毎に、担当処理量と通信負荷とを加算して処理量を算出する。すなわち、紐付けサーバ1の処理量は2.5(=2+0.5)、紐付けサーバ2の処理量は4(=2+2)、紐付けサーバ3の処理量は4.5(=3+1.5)となる。さらに、紐付けサーバ毎に、処理能力に対する処理量の比(=処理量/処理能力)を稼働率として算出する。すなわち、紐付けサーバ1の稼働率は125%(=2.5/2)、紐付けサーバ2の稼働率は200%(=4/2)、紐付けサーバ3の稼働率は150%(=4.5/3)となる。   In the case of pattern 2 in the allocation pattern table shown in FIG. 19, the allocation is as shown in FIG. In FIG. 20B, there is one link straddling the linking server 1 and the linking server 2 (link connecting the node (Kb) and the node (Kc)). Communication load (1 × 1 = 1) between the linking server 1 and the linking server 2 by multiplying the number of links straddling the linking server 1 and the linking server 2 by a predetermined weighting value (here, 1). ) And is equally allocated to each of the linking server 1 and the linking server 2. That is, 0.5 is allocated to each of the linking server 1 and the linking server 2. In FIG. 20B, there are three links straddling the linking server 2 and the linking server 3 (links connecting the node (Kc) and the node (Kd), the node (Ke) and the node ( Kf), a link connecting node (Ke) and node (Kg)). Communication load (3 × 1 = 3) between the tying server 2 and the tying server 3 by multiplying the number of links straddling the tying server 2 and the tying server 3 by a predetermined weighting value (here, 1). ) And is equally allocated to each of the linking server 2 and the linking server 3. That is, 1.5 is allocated to each of the linking server 2 and the linking server 3. As a result, in the case of Pattern 2, the communication load of the linking server 1 is 0.5, the communication load of the linking server 2 is 2 (= 0.5 + 1.5), and the communication load of the linking server 3 is 1.5. Become. Then, the processing amount is calculated by adding the assigned processing amount and the communication load for each linking server. That is, the processing amount of the linking server 1 is 2.5 (= 2 + 0.5), the processing amount of the linking server 2 is 4 (= 2 + 2), and the processing amount of the linking server 3 is 4.5 (= 3 + 1.5). ) Further, the ratio of the processing amount to the processing capability (= processing amount / processing capability) is calculated as the operation rate for each linking server. That is, the operating rate of the linking server 1 is 125% (= 2.5 / 2), the operating rate of the linking server 2 is 200% (= 4/2), and the operating rate of the linking server 3 is 150% (= 4.5 / 3).

さらに、図19に示した割り当てパターンテーブルにおけるパターン3の場合、図20(c)に示すような割り当てとなる。図20(c)では、紐付けサーバ1と紐付けサーバ2に跨っているリンクは1つ存在する(ノード(Kb)とノード(Kc)とを結ぶリンク)。紐付けサーバ1と紐付けサーバ2に跨っているリンクの数に所定の重み付け値(ここでは1とする)を乗じて紐付けサーバ1と紐付けサーバ2間の通信負荷(1×1=1)を算出し、紐付けサーバ1と紐付けサーバ2との各々に均等に割り振る。すなわち、紐付けサーバ1と紐付けサーバ2とに0.5ずつ割り振る。また、図20(c)では、紐付けサーバ2と紐付けサーバ3に跨っているリンクは3つ存在する(ノード(Kc)とノード(Kd)とを結ぶリンク、ノード(Kc)とノード(Ke)とを結ぶリンク、ノード(Kf)とノード(Ke)とを結ぶリンク)。紐付けサーバ2と紐付けサーバ3に跨っているリンクの数に所定の重み付け値(ここでは1とする)を乗じて紐付けサーバ2と紐付けサーバ3間の通信負荷(3×1=3)を算出し、紐付けサーバ2と紐付けサーバ3との各々に均等に割り振る。すなわち、紐付けサーバ2と紐付けサーバ3とに1.5ずつ割り振る。結果として、パターン3の場合、紐付けサーバ1の通信負荷は0.5、紐付けサーバ2の通信負荷は2(=0.5+1.5)、紐付けサーバ3の通信負荷は1.5となる。そして、紐付けサーバ毎に、担当処理量と通信負荷とを加算して処理量を算出する。すなわち、紐付けサーバ1の処理量は2.5(=2+0.5)、紐付けサーバ2の処理量は4(=2+2)、紐付けサーバ3の処理量は4.5(=3+1.5)となる。さらに、紐付けサーバ毎に、処理能力に対する処理量の比(=処理量/処理能力)を稼働率として算出する。すなわち、紐付けサーバ1の稼働率は125%(=2.5/2)、紐付けサーバ2の稼働率は200%(=4/2)、紐付けサーバ3の稼働率は150%(=4.5/3)となる。   Further, in the case of pattern 3 in the assignment pattern table shown in FIG. 19, the assignment is as shown in FIG. In FIG. 20C, there is one link straddling the tying server 1 and the tying server 2 (links connecting the node (Kb) and the node (Kc)). Communication load (1 × 1 = 1) between the linking server 1 and the linking server 2 by multiplying the number of links straddling the linking server 1 and the linking server 2 by a predetermined weighting value (here, 1). ) And is equally allocated to each of the linking server 1 and the linking server 2. That is, 0.5 is allocated to each of the linking server 1 and the linking server 2. In FIG. 20C, there are three links straddling the linking server 2 and the linking server 3 (links connecting the node (Kc) and the node (Kd), the nodes (Kc) and the nodes ( A link connecting Ke) and a link connecting node (Kf) and node (Ke). Communication load (3 × 1 = 3) between the tying server 2 and the tying server 3 by multiplying the number of links straddling the tying server 2 and the tying server 3 by a predetermined weighting value (here, 1). ) And is equally allocated to each of the linking server 2 and the linking server 3. That is, 1.5 is allocated to each of the linking server 2 and the linking server 3. As a result, in the case of pattern 3, the communication load of the connection server 1 is 0.5, the communication load of the connection server 2 is 2 (= 0.5 + 1.5), and the communication load of the connection server 3 is 1.5. Become. Then, the processing amount is calculated by adding the assigned processing amount and the communication load for each linking server. That is, the processing amount of the linking server 1 is 2.5 (= 2 + 0.5), the processing amount of the linking server 2 is 4 (= 2 + 2), and the processing amount of the linking server 3 is 4.5 (= 3 + 1.5). ) Further, the ratio of the processing amount to the processing capability (= processing amount / processing capability) is calculated as the operation rate for each linking server. That is, the operating rate of the linking server 1 is 125% (= 2.5 / 2), the operating rate of the linking server 2 is 200% (= 4/2), and the operating rate of the linking server 3 is 150% (= 4.5 / 3).

そして、パターン特定部1053は、特定された割り当てパターンにおける通信負荷の合計を算出し、割り当てパターンテーブルに格納する(ステップS28)。 Then, the pattern identification unit 1053 calculates the total communication load in the identified allocation pattern and stores it in the allocation pattern table (step S28).

そして、パターン特定部1053は、全ての割り当てパターンについて処理が完了したか判断する(ステップS29)。全ての割り当てパターンについて処理が完了していなければ(ステップS29:Noルート)、ステップS25の処理に戻る。一方、全ての割り当てパターンについて処理が完了した場合(ステップS29:Yesルート)、ステップS31の処理に移行する。なお、全ての割り当てパターンについて処理が完了すると、割り当てパターンテーブルには、図21に示すようなデータが格納される。   Then, the pattern identification unit 1053 determines whether the processing has been completed for all the allocation patterns (step S29). If processing has not been completed for all allocation patterns (step S29: No route), the processing returns to step S25. On the other hand, when the process is completed for all the allocation patterns (step S29: Yes route), the process proceeds to step S31. When processing is completed for all allocation patterns, data as shown in FIG. 21 is stored in the allocation pattern table.

ステップS31の処理に移行して、パターン特定部1053は、稼働率が所定の条件を満たし且つ通信負荷の合計が最小となる割り当てパターンを特定する(ステップS31)。ここで、所定の条件とは、例えば、割り当てパターンにおける紐付けサーバの稼働率が全て所定の基準値以内という条件である。なお、所定の条件を満たす割り当てパターンが1つも存在しない場合には、基準値との差が最も少ない割り当てパターンを選択する。   Shifting to the process of step S31, the pattern specifying unit 1053 specifies an allocation pattern in which the operation rate satisfies a predetermined condition and the total communication load is minimized (step S31). Here, the predetermined condition is, for example, a condition that all the operating rates of the linking servers in the allocation pattern are within a predetermined reference value. If there is no allocation pattern that satisfies the predetermined condition, an allocation pattern with the smallest difference from the reference value is selected.

そして、パターン特定部1053は、キー配置格納部107にキー配置と最小通信負荷とが既に格納されているか判断する(ステップS33)。キー配置格納部107にキー配置と最小通信負荷とが未だ格納されていないと判断した場合(ステップS33:Noルート)、すなわち初回の処理の場合には、パターン特定部1053は、特定された割り当てパターンに係るキー配置をキー配置格納部107に格納すると共に、特定された割り当てパターンに係る通信負荷の合計を最小通信負荷としてキー配置格納部107に格納する(ステップS35)。なお、現在の構造体のデータについてもキー配置格納部107に格納する。その後、端子Bを介して図14に戻り、処理量計算処理を終了する。そして、元の処理に戻る。   Then, the pattern specifying unit 1053 determines whether the key arrangement and the minimum communication load are already stored in the key arrangement storage unit 107 (step S33). When it is determined that the key arrangement and the minimum communication load are not yet stored in the key arrangement storage unit 107 (step S33: No route), that is, in the case of the first processing, the pattern specifying unit 1053 specifies the specified allocation. The key arrangement related to the pattern is stored in the key arrangement storage unit 107, and the total communication load related to the specified allocation pattern is stored in the key arrangement storage unit 107 as the minimum communication load (step S35). The data of the current structure is also stored in the key arrangement storage unit 107. Then, it returns to FIG. 14 via the terminal B, and complete | finishes a processing amount calculation process. Then, the process returns to the original process.

一方、キー配置格納部107にキー配置と最小通信負荷とが既に格納されていると判断した場合(ステップS33:Yesルート)、すなわち2回目以降の処理の場合(再帰的に実行する際はこちらの場合がある)には、パターン特定部1053は、特定された割り当てパターンに係る通信負荷の合計とキー配置格納部107に格納されている最小通信負荷とを比較し、特定された割り当てパターンに係る通信負荷の合計がキー配置格納部107に格納されている最小通信負荷より小さいか判断する(ステップS37)。特定された割り当てパターンに係る通信負荷の合計がキー配置格納部107に格納されている最小通信負荷以上と判断した場合(ステップS37:Noルート)、端子Bを介して図14に戻り、処理量計算処理を終了する。そして、元の処理に戻る。   On the other hand, when it is determined that the key arrangement and the minimum communication load are already stored in the key arrangement storage unit 107 (step S33: Yes route), that is, in the case of the second and subsequent processing (when executing recursively, click here) The pattern specifying unit 1053 compares the total communication load related to the specified allocation pattern with the minimum communication load stored in the key arrangement storage unit 107, and determines the specified allocation pattern. It is determined whether the total communication load is smaller than the minimum communication load stored in the key arrangement storage unit 107 (step S37). When it is determined that the total communication load related to the specified allocation pattern is equal to or greater than the minimum communication load stored in the key arrangement storage unit 107 (step S37: No route), the process returns to FIG. The calculation process ends. Then, the process returns to the original process.

一方、特定された割り当てパターンに係る通信負荷の合計がキー配置格納部107に格納されている最小通信負荷より小さいと判断した場合(ステップS37:Yesルート)、パターン特定部1053は、特定された割り当てパターンに係るキー配置と通信負荷の合計とで、キー配置格納部107に格納されているキー配置と最小通信負荷とを更新する(ステップS39)。なお、さらに、現在の構造体のデータでキー配置格納部107に格納されている構造体のデータを更新する。その後、端子Bを介して図14に戻り、処理量計算処理を終了する。そして、元の処理に戻る。   On the other hand, if it is determined that the total communication load related to the specified allocation pattern is smaller than the minimum communication load stored in the key arrangement storage unit 107 (step S37: Yes route), the pattern specifying unit 1053 is specified The key arrangement and the minimum communication load stored in the key arrangement storage unit 107 are updated with the key arrangement and the total communication load related to the allocation pattern (step S39). Furthermore, the structure data stored in the key arrangement storage unit 107 is updated with the current structure data. Then, it returns to FIG. 14 via the terminal B, and complete | finishes a processing amount calculation process. Then, the process returns to the original process.

以上のような処理を実施することにより、所定の条件を満たし且つ通信負荷が最小となる割り当てパターンを特定することができる。なお、構造体中にループが形成されている場合には、ループを形成するリンクを切断したものとみなして、再帰的に処理量計算処理を実施するので、構造体中にループが形成されている場合でも、最適な割り当てパターンを特定することができる。なお、ステップS3において、単一のプロトコルに属する紐付けキーのノード(上の例では、Kx、Ky及びKz)を削除しており、これらの紐付けキーは割り当てパターンに含まれていないが、メッセージの紐付け処理において、これらの紐付けキーを使用することはないので問題ない。   By performing the processing as described above, it is possible to specify an allocation pattern that satisfies a predetermined condition and minimizes the communication load. If a loop is formed in the structure, it is assumed that the link forming the loop is cut and the processing amount calculation process is performed recursively, so the loop is formed in the structure. Even in such a case, the optimum allocation pattern can be specified. Note that in step S3, the linking key nodes (Kx, Ky, and Kz in the above example) belonging to a single protocol are deleted, and these linking keys are not included in the allocation pattern. There is no problem because these linking keys are not used in the message linking process.

図11の説明に戻って、処理量計算処理(ステップS5)を実施した後、キー優先度決定部109は、キー配置格納部107に格納されているデータに基づき、紐付けキーの優先度を決定し、キー優先度格納部111に格納する(ステップS7)。この処理については、例えば、図21に示した割り当てパターンテーブルにおけるパターン1が、通信負荷が最小となる割り当てパターンとして特定された場合を例に説明する。まず、キー優先度決定部109は、構造体において葉ノードとみなされるノードを開始ノードとして特定する。例えば、パターン1の場合には、図20(a)に示したような割り当てとなるが、図20(a)では、ノード(Ka)、ノード(Kd)、ノード(Kf)及びノード(Kg)が葉ノードとしてみなされる。ここでは、ノード(Ka)を開始ノードとして特定したものとする。そして、キー優先度決定部109は、開始ノードからリンクを辿ることにより各ノードを検出する。例えば図20(a)では、ノード(Ka)→ノード(Kb)→ノード(Kc)→ノード(Kd)の順にノードを検出する。また、ノード(Kc)に戻って、ノード(Kc)→ノード(Ke)→ノード(Kf)の順にノードを検出する。さらに、ノード(Ke)に戻って、ノード(Ke)→ノード(Kg)の順にノードを検出する。そして、ノードを検出した順に連続する番号を当該ノードに対応する紐付けキーの優先度として付与する。従って、紐付けキーKaの優先度(1)が最も高く、紐付けキーKb、Kc、Kd、Ke、Kf及びKgの順に優先度(2から7まで)を付与する。なお、ノード(Kc)からノード(Kd)とノード(Ke)とが枝分かれになっているが、紐付けキーKdと紐付けキーKeとを両方含むプロトコルは存在しないため、紐付けキーKdと紐付けキーKeとに同じ優先度を付与してもよい。紐付けキーKfと紐付けキーKgについても同様である。その後、本処理を終了する。   Returning to the description of FIG. 11, after performing the processing amount calculation process (step S <b> 5), the key priority determination unit 109 determines the priority of the linking key based on the data stored in the key arrangement storage unit 107. It is determined and stored in the key priority storage unit 111 (step S7). This process will be described with reference to an example in which pattern 1 in the allocation pattern table shown in FIG. 21 is specified as an allocation pattern that minimizes the communication load. First, the key priority determination unit 109 specifies a node regarded as a leaf node in the structure as a start node. For example, in the case of the pattern 1, the allocation is as shown in FIG. 20A, but in FIG. 20A, the node (Ka), the node (Kd), the node (Kf), and the node (Kg) Are considered leaf nodes. Here, it is assumed that the node (Ka) is specified as the start node. Then, the key priority determination unit 109 detects each node by following the link from the start node. For example, in FIG. 20A, nodes are detected in the order of node (Ka) → node (Kb) → node (Kc) → node (Kd). Returning to the node (Kc), the nodes are detected in the order of the node (Kc) → the node (Ke) → the node (Kf). Further, returning to the node (Ke), the nodes are detected in the order of the node (Ke) → the node (Kg). Then, consecutive numbers in the order in which the nodes are detected are assigned as the priorities of the linking keys corresponding to the nodes. Accordingly, the priority (1) of the linking key Ka is the highest, and the priority (from 2 to 7) is given in the order of the linking keys Kb, Kc, Kd, Ke, Kf, and Kg. Note that although the node (Kd) and the node (Ke) are branched from the node (Kc), there is no protocol including both the linking key Kd and the linking key Ke. The same priority may be given to the attached key Ke. The same applies to the linking key Kf and the linking key Kg. Thereafter, this process is terminated.

以上のような処理を実施することにより、所定の条件を満たし且つ通信負荷が最小となる割り当てパターンを特定することができ、さらに紐付けキーの優先度を適切に決定することができるので、紐付け処理部117乃至121の通信負荷を抑えつつ、紐付け処理を並列化できるようになる。なお、紐付け処理部117乃至121では、キー配置格納部107に格納されているキー配置に従って紐付け処理を実施するようにすればよい。また、メッセージ振分部115では、キー配置格納部107に格納されているキー配置とキー優先度格納部111に格納されている優先度とに従ってメッセージの振分けを行うようにすればよい。   By performing the processing as described above, it is possible to specify an allocation pattern that satisfies a predetermined condition and minimizes the communication load, and furthermore, it is possible to appropriately determine the priority of the binding key. The tying process can be parallelized while suppressing the communication load of the tying processing units 117 to 121. Note that the linking processing units 117 to 121 may perform the linking process according to the key arrangement stored in the key arrangement storage unit 107. Further, the message distribution unit 115 may perform message distribution according to the key arrangement stored in the key arrangement storage unit 107 and the priority stored in the key priority storage unit 111.

以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、図6で示した構成については、複数のコンピュータで実現されることが前提であるが、どの構成要素をどのコンピュータに実装するかは任意である。例えば複数の紐付け処理部を1つのコンピュータで起動させるようにしても良い。なお、図6では、紐付け処理部の数が3つの例を示しているが、紐付け処理部の数は3つに限定されない。   Although one embodiment of the present technology has been described above, the present technology is not limited to this. For example, the configuration shown in FIG. 6 is premised on being realized by a plurality of computers, but which component is mounted on which computer is arbitrary. For example, a plurality of linking processing units may be activated by one computer. Although FIG. 6 shows an example in which the number of tying processing units is three, the number of tying processing units is not limited to three.

また、上では、メッセージに紐付けキーが2つ含まれる場合を例に説明したが、紐付けキーが3つ以上含まれる場合もある。例えば紐付けキーが3つ含まれる場合の一例を図22(a)に示す。この場合、図22(b)に示すような構造体に従って処理を実施するようにすればよい。なお、図22(b)の構造体におけるリンクP1は、2点を結ぶ一般的なリンクではなく、3点を結ぶ概念的なリンクを表している。すなわち、図22(b)において、ノード(Ka)とノード(Kb)、ノード(Kb)とノード(Kc)、及びノード(Ka)とノード(Kc)がリンクP1を介して接続されている。ただし、ノード(Ka)、ノード(Kb)及びノード(Kc)によってループは形成されない。このように、3つ以上の紐付けキーを含む場合には、概念的なリンクを用いて構造体を表現する。このようにすれば、紐付けキーが3つ以上含まれる場合であっても対処できるようになる。   In the above description, the case where two linking keys are included in the message has been described as an example, but there may be cases where three or more linking keys are included. For example, FIG. 22A shows an example in which three linking keys are included. In this case, the process may be performed according to a structure as shown in FIG. Note that the link P1 in the structure of FIG. 22B represents a conceptual link connecting three points, not a general link connecting two points. That is, in FIG. 22B, the node (Ka) and the node (Kb), the node (Kb) and the node (Kc), and the node (Ka) and the node (Kc) are connected via the link P1. However, a loop is not formed by the node (Ka), the node (Kb), and the node (Kc). As described above, when three or more linking keys are included, the structure is expressed using a conceptual link. In this way, it is possible to cope even when three or more tying keys are included.

また、上で説明した各テーブルの構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。また、並列に実行させるようにしても良い。   Further, the configuration of each table described above is an example, and the configuration as described above is not necessarily required. Further, in the processing flow, the processing order can be changed if the processing result does not change. Moreover, you may make it perform in parallel.

以上本実施の形態をまとめると以下のようになる。   The present embodiment can be summarized as follows.

本メッセージ紐付け処理方法は、プロトコル毎に当該プロトコルに係るメッセージに含まれ且つメッセージの紐付け処理で用いられる紐付けキーを格納するキー定義データベースから各紐付けキーを抽出し、抽出した紐付けキーの各々に対応するノードと同一のプロトコルに属する紐付けキーのノード間を結ぶリンクとを含む構造体のデータを生成するステップと、複数のリンクによって構造体中にループが形成されているか判断する判断ステップと、構造体中にループが形成されていないと判断された場合、各々連携して紐付け処理を実施する複数の紐付け処理部の各々に対する紐付けキーの割り当ての組み合わせである割り当てパターンのうち、紐付け処理部間の通信負荷が最小であるという第1条件を含む所定の条件を満たすパターンを特定し、特定された割り当てパターンに係る割り当てデータをキー情報格納部に格納するパターン特定ステップとを含む。   This message linking processing method extracts each linking key from the key definition database that stores the linking key that is included in the message related to the protocol for each protocol and that is used in the message linking processing. A step of generating data of a structure including a node corresponding to each of the keys and a link connecting nodes of the tied keys belonging to the same protocol, and determining whether a loop is formed in the structure by the plurality of links An allocation that is a combination of a linking key allocation to each of a plurality of linking processing units that perform linking processing in cooperation with each other when it is determined that a loop is not formed in the structure. Among the patterns, a pattern that satisfies a predetermined condition including the first condition that the communication load between the linking processing units is the smallest Identified, and a pattern specifying step of storing allocation data relating to the identified allocation pattern in the key information storage unit.

このようにすれば、紐付け処理部間の通信負荷が最小となる割り当てパターンが特定されるので、紐付け処理部の通信負荷を抑えつつ、メッセージの紐付け処理を並列化できるようになる。   In this way, since the allocation pattern that minimizes the communication load between the linking processing units is specified, it is possible to parallelize the message linking processing while suppressing the communication load of the linking processing unit.

また、構造体中にループが形成されていないと判断された場合、構造体において葉ノードとみなされるノードのいずれかを開始ノードとして特定するステップと、構造体において開始ノードからリンクを辿ることによりノードを検出し、検出した順に連続する番号を当該ノードに対応する紐付けキーの優先度として付与し、優先度格納部に格納するステップとをさらに含むようにしてもよい。このようにすれば、リンク(すなわち、紐付けキーの繋がり)に沿って各紐付けキーに優先度が付与されるため、例えば複数の紐付けキーを含むメッセージを受信した場合に、優先度の高い紐付けキーに従ってメッセージを担当紐付け処理部に振分けるようにすれば、メッセージの紐付けを適切に並列処理できるようになる。   Also, when it is determined that no loop is formed in the structure, a step of identifying one of the nodes regarded as a leaf node in the structure as a start node, and following the link from the start node in the structure The method may further include a step of detecting a node, assigning consecutive numbers in the order of detection as a priority of a linking key corresponding to the node, and storing the priority in a priority storage unit. In this way, since priority is given to each linking key along the link (that is, linking of linking keys), for example, when a message including a plurality of linking keys is received, If messages are assigned to a responsible linking processing unit according to a high linking key, message linking can be appropriately processed in parallel.

さらに、構造体中にループが形成されていると判断された場合、ループを形成する複数のリンクの各々について、当該リンクを切断したものとみなして、上記判断ステップ以降の処理を実施するステップをさらに含むようにしてもよい。そして、上で述べたパターン特定ステップが、キー情報格納部に割り当てデータと通信負荷とが格納されていない場合、特定された割り当てパターンに係る割り当てデータと通信負荷とをキー情報格納部に格納するステップと、キー情報格納部に割り当てデータと通信負荷とが既に格納されている場合、特定された割り当てパターンに係る通信負荷とキー情報格納部に格納されている通信負荷とを比較し、キー情報格納部に格納されている通信負荷より、特定された割り当てパターンに係る通信負荷の方が小さい場合、特定された割り当てパターンに係る割り当てデータと通信負荷とでキー情報格納部を更新するステップとを含むようにしてもよい。このようにすれば、構造体中にループが形成されている場合でも対処することができるようになる。   Further, when it is determined that a loop is formed in the structure, for each of the plurality of links forming the loop, the link is considered to have been disconnected, and the steps after the determination step are performed. Further, it may be included. When the pattern specifying step described above does not store the allocation data and the communication load in the key information storage unit, the allocation data and the communication load related to the specified allocation pattern are stored in the key information storage unit. When the allocation data and the communication load are already stored in the key information storage unit, the key information is compared with the communication load related to the specified allocation pattern and the communication load stored in the key information storage unit. A step of updating the key information storage unit with the allocation data and communication load related to the specified allocation pattern when the communication load related to the specified allocation pattern is smaller than the communication load stored in the storage unit; It may be included. In this way, it is possible to cope with a case where a loop is formed in the structure.

また、上で述べたパターン特定ステップが、割り当てパターン毎に、各紐付け処理部について、当該紐付け処理部における紐付けキーのノードと他の紐付け処理部における紐付けキーのノードとを結ぶリンクの数を計数し、当該リンクの数に所定の重み付け値を乗じて通信負荷を算出するステップを含むようにしてもよい。   In addition, the pattern specifying step described above connects, for each allocation pattern, a linking key node in the linking processing unit and a linking key node in another linking processing unit for each linking processing unit. A step of counting the number of links and calculating a communication load by multiplying the number of links by a predetermined weighting value may be included.

さらに、上で述べた所定の条件が、紐付け処理部の稼働率に関する第2条件を含む場合もある。   Furthermore, the predetermined condition described above may include a second condition regarding the operating rate of the linking processing unit.

また、上で述べたパターン特定ステップが、割り当てパターン毎に、各紐付け処理部について、通信負荷と当該紐付け処理部における紐付けキーの数とを加算して当該紐付け処理部の処理量を算出し、紐付け処理部の処理能力に対する処理量の比を稼働率として算出するステップを含むようにしてもよい。   In addition, the pattern specifying step described above adds the communication load and the number of linking keys in the linking processing unit for each linking processing unit for each allocation pattern, and the processing amount of the linking processing unit And calculating the ratio of the processing amount to the processing capability of the linking processing unit as the operation rate.

さらに、紐付け処理部の稼働率に関する条件が、割り当てパターンにおける各紐付け処理部の稼働率が全て所定の基準値以内であるという条件である場合もある。これによって、例えば、ある1台の紐付け処理部に処理が集中するような割り当てパターンは通信負荷が少なくても採用されなくなり、より適切な並列処理を行うことができるようになる。   Furthermore, the condition regarding the operating rate of the linking processing unit may be a condition that the operating rates of the linking processing units in the allocation pattern are all within a predetermined reference value. As a result, for example, an allocation pattern in which processing is concentrated on a certain linking processing unit is not adopted even if the communication load is small, and more appropriate parallel processing can be performed.

なお、上記装置を実現するためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。なお、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。   A program for realizing the above apparatus can be created, and the program is stored in a storage medium or storage device such as a flexible disk, a CD-ROM, a magneto-optical disk, a semiconductor memory, or a hard disk. The intermediate processing result is temporarily stored in a storage device such as a main memory.

なお、図6で示した構成で用いられるコンピュータは、図23に示すように、メモリ2501(記憶部)とCPU2503(処理部)とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。OS及びWebブラウザを含むアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。このようなコンピュータは、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。   The computer used in the configuration shown in FIG. 6 has a display connected to a memory 2501 (storage unit), a CPU 2503 (processing unit), a hard disk drive (HDD) 2505, and a display device 2509 as shown in FIG. A control unit 2507, a drive device 2513 for a removable disk 2511, an input device 2515, and a communication control unit 2517 for connecting to a network are connected by a bus 2519. Application programs including the OS and the Web browser are stored in the HDD 2505, and are read from the HDD 2505 to the memory 2501 when executed by the CPU 2503. If necessary, the CPU 2503 controls the display control unit 2507, the communication control unit 2517, and the drive device 2513 to perform necessary operations. Further, data in the middle of processing is stored in the memory 2501 and stored in the HDD 2505 if necessary. Such a computer realizes various functions as described above by organically cooperating hardware such as the CPU 2503 and the memory 2501 described above with the OS and necessary application programs.

(付記1)
プロトコル毎に当該プロトコルに係るメッセージに含まれ且つ前記メッセージの紐付け処理で用いられる紐付けキーを格納するキー定義データベースから各前記紐付けキーを抽出し、抽出した前記紐付けキーの各々に対応するノードと同一の前記プロトコルに属する前記紐付けキーのノード間を結ぶリンクとを含む構造体のデータを生成するステップと、
複数の前記リンクによって前記構造体中にループが形成されているか判断する判断ステップと、
前記構造体中にループが形成されていないと判断された場合、各々連携して前記紐付け処理を実施する複数の紐付け処理部の各々に対する前記紐付けキーの割り当ての組み合わせである割り当てパターンのうち、前記紐付け処理部間の通信負荷が最小であるという第1条件を含む所定の条件を満たすパターンを特定し、特定された前記割り当てパターンに係る割り当てデータをキー情報格納部に格納するパターン特定ステップと、
をコンピュータに実行させるためのメッセージ紐付け処理プログラム。
(Appendix 1)
Each linking key is extracted from a key definition database that stores a linking key included in a message related to the protocol and used in the linking process of the message for each protocol, and corresponds to each of the extracted linking keys Generating data of a structure including a link connecting nodes of the tying key belonging to the same protocol as the node to be
A determination step of determining whether a loop is formed in the structure by a plurality of the links;
When it is determined that no loop is formed in the structure, an assignment pattern that is a combination of assignment of the linking keys to each of a plurality of linking processes that perform the linking process in cooperation with each other. Among these, a pattern that specifies a pattern that satisfies a predetermined condition including a first condition that the communication load between the linking processing units is minimum, and stores allocation data related to the specified allocation pattern in a key information storage unit Specific steps,
Message linking processing program for causing a computer to execute

(付記2)
前記構造体中にループが形成されていないと判断された場合、前記構造体において葉ノードとみなされる前記ノードのいずれかを開始ノードとして特定するステップと、
前記構造体において前記開始ノードから前記リンクを辿ることにより前記ノードを検出し、検出した順に連続する番号を当該ノードに対応する前記紐付けキーの優先度として付与し、優先度格納部に格納するステップと、
をさらにコンピュータに実行させるための付記1記載のメッセージ紐付け処理プログラム。
(Appendix 2)
If it is determined that no loop is formed in the structure, specifying any of the nodes regarded as leaf nodes in the structure as a start node;
The node is detected by tracing the link from the start node in the structure, and a consecutive number in the detected order is assigned as the priority of the linking key corresponding to the node, and stored in the priority storage unit Steps,
The message linking process program according to supplementary note 1 for causing the computer to further execute.

(付記3)
前記構造体中にループが形成されていると判断された場合、前記ループを形成する複数の前記リンクの各々について、当該リンクを切断したものとみなして、前記判断ステップ以降の処理を実施するステップ
をさらにコンピュータに実行させ、
前記パターン特定ステップが、
前記キー情報格納部に前記割り当てデータと前記通信負荷とが格納されていない場合、特定された前記割り当てパターンに係る前記割り当てデータと前記通信負荷とを前記キー情報格納部に格納するステップと、
前記キー情報格納部に前記割り当てデータと前記通信負荷とが既に格納されている場合、特定された前記割り当てパターンに係る前記通信負荷と前記キー情報格納部に格納されている前記通信負荷とを比較し、前記キー情報格納部に格納されている前記通信負荷より、特定された前記割り当てパターンに係る前記通信負荷の方が小さい場合、特定された前記割り当てパターンに係る前記割り当てデータと前記通信負荷とで前記キー情報格納部を更新するステップと、
を含む付記1又は2記載のメッセージ紐付け処理プログラム。
(Appendix 3)
When it is determined that a loop is formed in the structure, each of the plurality of links forming the loop is regarded as a link cut, and the processing after the determination step is performed. Is further executed on the computer,
The pattern specifying step includes
Storing the allocation data and the communication load related to the specified allocation pattern in the key information storage unit when the allocation data and the communication load are not stored in the key information storage unit;
When the allocation data and the communication load are already stored in the key information storage unit, the communication load related to the specified allocation pattern is compared with the communication load stored in the key information storage unit When the communication load related to the specified allocation pattern is smaller than the communication load stored in the key information storage unit, the allocation data and the communication load related to the specified allocation pattern Updating the key information storage unit with:
The message linking process program according to supplementary note 1 or 2 including:

(付記4)
前記パターン特定ステップが、
前記割り当てパターン毎に、各前記紐付け処理部について、当該紐付け処理部における前記紐付けキーのノードと他の前記紐付け処理部における前記紐付けキーのノードとを結ぶ前記リンクの数を計数し、当該リンクの数に所定の重み付け値を乗じて前記通信負荷を算出するステップ
を含む付記1乃至3のいずれか1つ記載のメッセージ紐付け処理プログラム。
(Appendix 4)
The pattern specifying step includes
For each of the allocation processing units, for each allocation pattern, the number of the links that connect the node of the association key in the association processing unit and the node of the association key in the other association processing unit is counted. The message linking processing program according to any one of appendices 1 to 3, further comprising: calculating the communication load by multiplying the number of the links by a predetermined weighting value.

(付記5)
前記所定の条件が、前記紐付け処理部の稼働率に関する第2条件を含む
ことを特徴とする付記1乃至4のいずれか1つ記載のメッセージ紐付け処理プログラム。
(Appendix 5)
The message linking process program according to any one of appendices 1 to 4, wherein the predetermined condition includes a second condition related to an operation rate of the linking process unit.

(付記6)
前記パターン特定ステップが、
前記割り当てパターン毎に、各前記紐付け処理部について、前記通信負荷と当該紐付け処理部における前記紐付けキーの数とを加算して当該紐付け処理部の処理量を算出し、前記紐付け処理部の処理能力に対する前記処理量の比を前記稼働率として算出するステップ
を含む付記5記載のメッセージ紐付け処理プログラム。
(Appendix 6)
The pattern specifying step includes
For each of the allocation patterns, for each of the linking processing units, the processing load of the linking processing unit is calculated by adding the communication load and the number of linking keys in the linking processing unit, and the linking The message linking process program according to appendix 5, including a step of calculating a ratio of the processing amount to the processing capacity of the processing unit as the operation rate.

(付記7)
前記第2条件が、前記割り当てパターンにおける前記紐付け処理部の稼働率が全て所定の基準値以内であるという条件である
ことを特徴とする付記5記載のメッセージ紐付け処理プログラム。
(Appendix 7)
The message linking process program according to appendix 5, wherein the second condition is a condition that all the operating rates of the linking process unit in the allocation pattern are within a predetermined reference value.

(付記8)
プロトコル毎に当該プロトコルに係るメッセージに含まれ且つ前記メッセージの紐付け処理で用いられる紐付けキーを格納するキー定義データベースから各前記紐付けキーを抽出し、抽出した前記紐付けキーの各々に対応するノードと同一の前記プロトコルに属する前記紐付けキーのノード間を結ぶリンクとを含む構造体のデータを生成するステップと、
複数の前記リンクによって前記構造体中にループが形成されているか判断する判断ステップと、
前記構造体中にループが形成されていないと判断された場合、各々連携して前記紐付け処理を実施する複数の紐付け処理部の各々に対する前記紐付けキーの割り当ての組み合わせである割り当てパターンのうち、前記紐付け処理部間の通信負荷が最小であるという第1条件を含む所定の条件を満たすパターンを特定し、特定された前記割り当てパターンに係る割り当てデータをキー情報格納部に格納するパターン特定ステップと、
を含み、コンピュータにより実行されるメッセージ紐付け処理方法。
(Appendix 8)
Each linking key is extracted from a key definition database that stores a linking key included in a message related to the protocol and used in the linking process of the message for each protocol, and corresponds to each of the extracted linking keys Generating data of a structure including a link connecting nodes of the tying key belonging to the same protocol as the node to be
A determination step of determining whether a loop is formed in the structure by a plurality of the links;
When it is determined that no loop is formed in the structure, an assignment pattern that is a combination of assignment of the linking keys to each of a plurality of linking processes that perform the linking process in cooperation with each other. Among these, a pattern that specifies a pattern that satisfies a predetermined condition including a first condition that the communication load between the linking processing units is minimum, and stores allocation data related to the specified allocation pattern in a key information storage unit Specific steps,
A message linking processing method executed by a computer.

(付記9)
プロトコル毎に当該プロトコルに係るメッセージに含まれ且つ前記メッセージの紐付け処理で用いられる紐付けキーを格納するキー定義データベースから各前記紐付けキーを抽出し、抽出した前記紐付けキーの各々に対応するノードと同一の前記プロトコルに属する前記紐付けキーのノード間を結ぶリンクとを含む構造体のデータを生成する構造体処理手段と、
複数の前記リンクによって前記構造体中にループが形成されているか判断し、前記構造体中にループが形成されていないと判断された場合、各々連携して前記紐付け処理を実施する複数の紐付け処理手段の各々に対する前記紐付けキーの割り当ての組み合わせである割り当てパターンのうち、前記紐付け処理手段間の通信負荷が最小であるという第1条件を含む所定の条件を満たすパターンを特定し、特定された前記割り当てパターンに係る割り当てデータをキー情報格納部に格納するパターン特定手段と、
を有するメッセージ紐付け処理装置。
(Appendix 9)
Each linking key is extracted from a key definition database that stores a linking key included in a message related to the protocol and used in the linking process of the message for each protocol, and corresponds to each of the extracted linking keys A structure processing means for generating data of a structure including a link connecting nodes of the linking key belonging to the same protocol as the node to be
It is determined whether a loop is formed in the structure by the plurality of links, and when it is determined that a loop is not formed in the structure, a plurality of strings that perform the linking process in cooperation with each other A pattern satisfying a predetermined condition including a first condition that the communication load between the linking processing means is the minimum among the allocation patterns that are combinations of the linking keys assigned to each of the linking processing means; Pattern specifying means for storing allocation data related to the specified allocation pattern in a key information storage unit;
A message linking processing apparatus.

101 サーバDB 103 キー定義DB
105 キー配置最適化部 107 キー配置格納部
109 キー優先度決定部 111 キー優先度格納部
113 メッセージ受信部 115 メッセージ振分部
117,119,121 紐付け処理部
1051 構造体処理部 1053 パターン特定部
101 Server DB 103 Key definition DB
105 Key arrangement optimization unit 107 Key arrangement storage unit 109 Key priority determination unit 111 Key priority storage unit 113 Message reception unit 115 Message distribution unit 117, 119, 121 Association processing unit 1051 Structure processing unit 1053 Pattern specifying unit

Claims (5)

プロトコル毎に当該プロトコルに係るメッセージに含まれ且つ同一のトランザクションに係るメッセージを関連付ける処理である紐付け処理で用いられる予定の紐付けキーを格納するキー定義データベースから各前記紐付けキーを抽出し、抽出した前記紐付けキーの各々に対応するノードと同一の前記プロトコルに属する前記紐付けキーに対応するノード間を結ぶリンクとを含む構造体のデータを生成するステップと、
複数の前記リンクによって前記構造体中にループが形成されているか判断する判断ステップと、
前記構造体中にループが形成されていないと判断された場合、各々連携して前記紐付け処理を実施する複数の紐付け処理部の各々に対する前記紐付けキーの割り当ての組み合わせである割り当てパターンのうち、前記紐付け処理部間の通信負荷が最小であるという第1条件を含む所定の条件を満たす割り当てパターンを特定し、特定された前記割り当てパターンに係る割り当てデータをキー情報格納部に格納するパターン特定ステップと、
をコンピュータに実行させるためのメッセージ紐付け処理プログラム。
For each protocol, each of the linking keys is extracted from a key definition database that stores a linking key that is included in a message related to the protocol and is used in a linking process that is a process of associating messages related to the same transaction, and generating a node corresponding to each of the extraction the link key that is, a link connecting the nodes corresponding to the link key belonging to the same of the protocol, the data structure including,
A determination step of determining whether a loop is formed in the structure by a plurality of the links;
When it is determined that no loop is formed in the structure, an assignment pattern that is a combination of assignment of the linking keys to each of a plurality of linking processes that perform the linking process in cooperation with each other. Among them, an allocation pattern that satisfies a predetermined condition including a first condition that the communication load between the linking processing units is minimum is specified, and allocation data related to the specified allocation pattern is stored in the key information storage unit A pattern identification step;
Message linking processing program for causing a computer to execute
前記構造体中にループが形成されていないと判断された場合、前記構造体において葉ノードとみなされる前記ノードのいずれかを開始ノードとして特定するステップと、
前記構造体において前記開始ノードから前記リンクを辿ることにより前記ノードを検出し、検出した順に連続する番号を当該ノードに対応する前記紐付けキーの優先度として付与し、優先度格納部に格納するステップと、
をさらにコンピュータに実行させるための請求項1記載のメッセージ紐付け処理プログラム。
If it is determined that no loop is formed in the structure, specifying any of the nodes regarded as leaf nodes in the structure as a start node;
The node is detected by tracing the link from the start node in the structure, and a consecutive number in the detected order is assigned as the priority of the linking key corresponding to the node, and stored in the priority storage unit Steps,
The message linking processing program according to claim 1, further causing the computer to execute.
前記構造体中にループが形成されていると判断された場合、前記ループを形成する複数の前記リンクの各々について、当該リンクを切断したものとみなして、前記判断ステップ以降の処理を実施する実施ステップ
をさらにコンピュータに実行させ、
前記パターン特定ステップが、
前記実施ステップにおける処理を最初に実施する場合、特定された前記割り当てパターンに係る前記割り当てデータと前記通信負荷とを前記キー情報格納部に格納するステップと、
前記実施ステップにおける処理を2回目以降に実施する場合、特定された前記割り当てパターンに係る前記通信負荷と前記キー情報格納部に格納されている前記通信負荷とを比較し、前記キー情報格納部に格納されている前記通信負荷より、特定された前記割り当てパターンに係る前記通信負荷の方が小さい場合、特定された前記割り当てパターンに係る前記割り当てデータと前記通信負荷とで前記キー情報格納部を更新するステップと、
を含む請求項1又は2記載のメッセージ紐付け処理プログラム。
When it is determined that a loop is formed in the structure, it is assumed that each of the plurality of links forming the loop is disconnected, and the processing after the determination step is performed. Let the computer perform more steps,
The pattern specifying step includes
Storing the allocation data and the communication load related to the specified allocation pattern in the key information storage unit when performing the processing in the implementation step for the first time;
When the process in the implementation step is performed for the second time or later, the communication load related to the specified allocation pattern is compared with the communication load stored in the key information storage unit, and the key information storage unit When the communication load related to the specified allocation pattern is smaller than the stored communication load, the key information storage unit is updated with the allocation data and the communication load related to the specified allocation pattern And steps to
The message linking processing program according to claim 1 or 2, comprising:
プロトコル毎に当該プロトコルに係るメッセージに含まれ且つ同一のトランザクションに係るメッセージを関連付ける処理である紐付け処理で用いられる予定の紐付けキーを格納するキー定義データベースから各前記紐付けキーを抽出し、抽出した前記紐付けキーの各々に対応するノードと同一の前記プロトコルに属する前記紐付けキーに対応するノード間を結ぶリンクとを含む構造体のデータを生成するステップと、
複数の前記リンクによって前記構造体中にループが形成されているか判断する判断ステップと、
前記構造体中にループが形成されていないと判断された場合、各々連携して前記紐付け処理を実施する複数の紐付け処理部の各々に対する前記紐付けキーの割り当ての組み合わせである割り当てパターンのうち、前記紐付け処理部間の通信負荷が最小であるという第1条件を含む所定の条件を満たす割り当てパターンを特定し、特定された前記割り当てパターンに係る割り当てデータをキー情報格納部に格納するパターン特定ステップと、
を含み、コンピュータにより実行されるメッセージ紐付け処理方法。
For each protocol, each of the linking keys is extracted from a key definition database that stores a linking key that is included in a message related to the protocol and is used in a linking process that is a process of associating messages related to the same transaction, and generating a node corresponding to each of the extraction the link key that is, a link connecting the nodes corresponding to the link key belonging to the same of the protocol, the data structure including,
A determination step of determining whether a loop is formed in the structure by a plurality of the links;
When it is determined that no loop is formed in the structure, an assignment pattern that is a combination of assignment of the linking keys to each of a plurality of linking processes that perform the linking process in cooperation with each other. Among them, an allocation pattern that satisfies a predetermined condition including a first condition that the communication load between the linking processing units is minimum is specified, and allocation data related to the specified allocation pattern is stored in the key information storage unit A pattern identification step;
A message linking processing method executed by a computer.
プロトコル毎に当該プロトコルに係るメッセージに含まれ且つ同一のトランザクションに係るメッセージを関連付ける処理である紐付け処理で用いられる予定の紐付けキーを格納するキー定義データベースから各前記紐付けキーを抽出し、抽出した前記紐付けキーの各々に対応するノードと同一の前記プロトコルに属する前記紐付けキーに対応するノード間を結ぶリンクとを含む構造体のデータを生成する構造体処理手段と、
複数の前記リンクによって前記構造体中にループが形成されているか判断し、前記構造体中にループが形成されていないと判断された場合、各々連携して前記紐付け処理を実施する複数の紐付け処理手段の各々に対する前記紐付けキーの割り当ての組み合わせである割り当てパターンのうち、前記紐付け処理手段間の通信負荷が最小であるという第1条件を含む所定の条件を満たす割り当てパターンを特定し、特定された前記割り当てパターンに係る割り当てデータをキー情報格納部に格納するパターン特定手段と、
を有するメッセージ紐付け処理装置。
For each protocol, each of the linking keys is extracted from a key definition database that stores a linking key that is included in a message related to the protocol and is used in a linking process that is a process of associating messages related to the same transaction, a node corresponding to each of the extracted the link key, and the structure processing means for generating a data structure comprising a link connecting the nodes corresponding to the link key belonging to the same of the protocol, and
It is determined whether a loop is formed in the structure by the plurality of links, and when it is determined that a loop is not formed in the structure, a plurality of strings that perform the linking process in cooperation with each other An assignment pattern that satisfies a predetermined condition including a first condition that a communication load between the association processing means is the minimum is specified among assignment patterns that are combinations of assignment of the association keys to each of the association processing means. Pattern specifying means for storing allocation data related to the specified allocation pattern in a key information storage unit;
A message linking processing apparatus.
JP2009139808A 2008-09-29 2009-06-11 Message linking processing program, method and apparatus Expired - Fee Related JP4754010B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009139808A JP4754010B2 (en) 2008-09-29 2009-06-11 Message linking processing program, method and apparatus
US12/559,918 US8539035B2 (en) 2008-09-29 2009-09-15 Message tying processing method and apparatus

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008249638 2008-09-29
JP2008249638 2008-09-29
JP2009139808A JP4754010B2 (en) 2008-09-29 2009-06-11 Message linking processing program, method and apparatus

Publications (2)

Publication Number Publication Date
JP2010102683A JP2010102683A (en) 2010-05-06
JP4754010B2 true JP4754010B2 (en) 2011-08-24

Family

ID=42293248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009139808A Expired - Fee Related JP4754010B2 (en) 2008-09-29 2009-06-11 Message linking processing program, method and apparatus

Country Status (1)

Country Link
JP (1) JP4754010B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0830558A (en) * 1994-07-20 1996-02-02 Fujitsu Ltd Load distributing method in computer system and computer system utilizing the method
JPH08115244A (en) * 1994-10-14 1996-05-07 Hitachi Ltd Distributed transaction processing system and transaction control system
JP3675623B2 (en) * 1997-10-31 2005-07-27 株式会社東芝 Program development support apparatus and method, and recording medium recording program development support software
JP3732648B2 (en) * 1998-03-19 2006-01-05 富士通株式会社 Process allocation method

Also Published As

Publication number Publication date
JP2010102683A (en) 2010-05-06

Similar Documents

Publication Publication Date Title
CN106981024B (en) Transaction limit calculation processing system and processing method thereof
JP5331123B2 (en) Various route server systems and devices
JP5664098B2 (en) Composite event distribution apparatus, composite event distribution method, and composite event distribution program
CN110113387A (en) A kind of processing method based on distributed batch processing system, apparatus and system
CN112395300B (en) Data processing method, device and equipment based on block chain and readable storage medium
CN105933408B (en) A kind of implementation method and device of Redis universal middleware
US8898422B2 (en) Workload-aware distributed data processing apparatus and method for processing large data based on hardware acceleration
CN111460504B (en) Service processing method, device, node equipment and storage medium
CN111932257B (en) Block chain parallelization processing method and device
CN111722918A (en) Service identification code generation method and device, storage medium and electronic equipment
CN105138691A (en) Method and system for analyzing user traffic
CN109903050A (en) Transaction De-weight method, transaction building method, equipment and storage medium
CN107070709A (en) A kind of NFV implementation methods based on bottom NUMA aware
CN109544344B (en) Block chain transaction processing method and equipment based on DAG
CN113191901A (en) Transaction service processing method, device, equipment and storage medium
US20100070462A1 (en) Storage medium storing trouble handling program, and trouble handling apparatus
US8539035B2 (en) Message tying processing method and apparatus
JP4754010B2 (en) Message linking processing program, method and apparatus
JP5388134B2 (en) Computer system and moving data determination method
CN107832121B (en) Concurrency control method applied to distributed serial long transactions
CN112685167A (en) Resource using method, electronic device and computer program product
CN112685199B (en) Message queue repairing method and device, computer equipment and storage medium
CN116302328A (en) Intelligent contract data processing method and system
US12058201B2 (en) Read access for computational results of a distributed network
CN115220907A (en) Resource scheduling method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100831

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110420

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110524

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: 20110524

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140603

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees