JP7087921B2 - Processing framework linkage device, processing framework linkage method and processing framework linkage program - Google Patents

Processing framework linkage device, processing framework linkage method and processing framework linkage program Download PDF

Info

Publication number
JP7087921B2
JP7087921B2 JP2018205941A JP2018205941A JP7087921B2 JP 7087921 B2 JP7087921 B2 JP 7087921B2 JP 2018205941 A JP2018205941 A JP 2018205941A JP 2018205941 A JP2018205941 A JP 2018205941A JP 7087921 B2 JP7087921 B2 JP 7087921B2
Authority
JP
Japan
Prior art keywords
processing
queuing system
linkage
delay
memory type
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.)
Active
Application number
JP2018205941A
Other languages
Japanese (ja)
Other versions
JP2020071729A (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 JP2018205941A priority Critical patent/JP7087921B2/en
Publication of JP2020071729A publication Critical patent/JP2020071729A/en
Application granted granted Critical
Publication of JP7087921B2 publication Critical patent/JP7087921B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、複数の処理フレームワークを連携させる処理フレームワーク連携装置、処理フレームワーク連携方法および処理フレームワーク連携プログラムに関する。 The present invention relates to a processing framework linkage device for linking a plurality of processing frameworks, a processing framework linkage method, and a processing framework linkage program.

近年のIoT(Internet of Things)では、センサのデータだけに限らず、カメラの映像や音声等のメディアを活用することでより多様なIoTサービスが実現可能となっている。このようなIoTサービスを簡単かつ短時間に開発できるとともに、低遅延でリアルタイムに実行するための処理フレームワークが多数存在している。例えば、これらの処理フレームワークの利用者が、キューイングシステムを用いて連携させれば複数の処理フレームワークを用いるサービスが開発できるようになる。 In recent years, IoT (Internet of Things) has made it possible to realize a wider variety of IoT services by utilizing not only sensor data but also media such as camera video and audio. It is possible to develop such an IoT service easily and in a short time, and there are many processing frameworks for executing it in real time with low delay. For example, if users of these processing frameworks cooperate using a queuing system, it becomes possible to develop a service using a plurality of processing frameworks.

従来技術として、システム停止時に高速で揮発性の記憶領域から低速で不揮発性の記憶領域にメッセージを退避させて処理速度の向上とシステム停止時のメッセージの損失を防ぐ技術がある(例えば、下記特許文献1参照。)。また、高速小容量キューの空きとメッセージの滞留速度、およびメッセージの優先度に基づいて、高速小容量のキューあるいは低速大容量のキューのいずれかから選択し、キューの処理遅延を防ぐ技術がある(例えば、下記特許文献2参照。)。 As a conventional technique, there is a technique of saving a message from a high-speed volatile storage area to a low-speed non-volatile storage area when the system is stopped to improve the processing speed and prevent message loss when the system is stopped (for example, the following patent). See Document 1). There is also a technique to prevent delay in queue processing by selecting either a high-speed small-capacity queue or a low-speed large-capacity queue based on the freeness of the high-speed small-capacity queue, the message retention rate, and the message priority. (For example, see Patent Document 2 below.).

特開2007-226385号公報Japanese Unexamined Patent Publication No. 2007-226385 特開2006-277483号公報Japanese Unexamined Patent Publication No. 2006-277483

しかしながら、従来技術では複数の処理フレームワークを連携させたサービスを低遅延でリアルタイムに実行することができなかった。従来技術2のようにキューをメモリ等の揮発領域に配置する構成(in Memory、インメモリ型)と、キューをディスク等の不揮発領域に配置する構成(not in Memory、非インメモリ型と称す)の組み合わせにより、高速小容量と低速大容量の特性を活かすことができる。しかし、例えば、キューイングシステムに高速なインメモリ型を選択した場合、サービスをリアルタイムに実行可能であるものの、多数のサービスの同時利用により、メモリ不足が生じサービスのスループットが低下してしまう。 However, in the prior art, it has not been possible to execute a service in which multiple processing frameworks are linked in real time with low delay. A configuration in which the queue is arranged in a volatile area such as a memory (in Memory, in-memory type) as in the prior art 2 and a configuration in which the queue is arranged in a non-volatile area such as a disk (not in Memory, referred to as a non-in-memory type). By combining these, the characteristics of high-speed small capacity and low-speed large capacity can be utilized. However, for example, when a high-speed in-memory type is selected for the queuing system, although the service can be executed in real time, the simultaneous use of a large number of services causes a memory shortage and the service throughput decreases.

ここで、従来技術では、処理フレームワークの処理にかかる処理遅延以外の他の遅延を考慮していない。このため、複数の処理フレームワーク間を、各キューイングシステムを用いて連携させる場合に、転送遅延等の他の遅延に対応して適切なキューイングシステムを選択できず、複数の処理フレームワークを連携させたサービスを低遅延でリアルタイムに実行できず処理全体のスループットを向上できなかった。例えば、処理遅延が少ないインメモリ型であっても処理フレームワーク間の距離が離れている場合には、転送遅延が大きくなり、非インメモリ型の転送遅延に近づく。 Here, in the prior art, the delay other than the processing delay related to the processing of the processing framework is not considered. Therefore, when linking multiple processing frameworks using each queuing system, it is not possible to select an appropriate queuing system in response to other delays such as transfer delay, and multiple processing frameworks can be used. The linked service could not be executed in real time with low latency, and the overall processing throughput could not be improved. For example, even if the in-memory type has a small processing delay, if the processing frameworks are far apart, the transfer delay becomes large and approaches the non-in-memory type transfer delay.

一つの側面では、本発明は、処理フレームワーク連携時のスループットを向上できることを目的とする。 In one aspect, it is an object of the present invention to be able to improve the throughput at the time of cooperation with processing frameworks.

本発明の一側面によれば、処理フレームワーク連携装置は、要求されたサービス定義に含まれる処理を有する処理フレームワーク間の連携ポイントをキューイングシステムで接続する処理フレームワーク連携装置において、メモリ上にキューを配置したインメモリ型およびディスク上にキューを配置した非インメモリ型の前記キューイングシステムそれぞれのキューイングの処理遅延と、前記処理フレームワーク間でのデータ転送にかかる転送遅延とに基づき、前記インメモリ型あるいは前記非インメモリ型を前記キューイングシステムとして選択する制御部、を備えたことを要件とする。 According to one aspect of the present invention, the processing framework linkage device is a processing framework linkage device in which a linkage point between processing frameworks having a process included in the requested service definition is connected by a queuing system on a memory. Based on the processing delay of the queuing of each of the in-memory type queues placed in the queue and the non-in-memory type queuing systems placed on the disk, and the transfer delay of data transfer between the processing frameworks. It is a requirement that a control unit for selecting the in-memory type or the non-in-memory type as the queuing system is provided.

本発明の一態様によれば、処理フレームワーク連携時のスループットを向上できるという効果を奏する。 According to one aspect of the present invention, there is an effect that the throughput at the time of linking with the processing framework can be improved.

図1は、実施の形態かかる処理フレームワーク連携装置が行う処理フレームワーク連携処理の説明図である。FIG. 1 is an explanatory diagram of processing framework linkage processing performed by the processing framework linkage device according to the embodiment. 図2は、実施の形態にかかる処理フレームワーク連携装置の機能を示すブロック図である。FIG. 2 is a block diagram showing a function of the processing framework cooperation device according to the embodiment. 図3は、実施の形態にかかる処理フレームワーク連携装置のハードウェア構成例を示す図である。FIG. 3 is a diagram showing a hardware configuration example of the processing framework cooperation device according to the embodiment. 図4は、実施の形態にかかる処理フレームワーク連携装置の連携ポイント抽出部の処理を説明する図である。FIG. 4 is a diagram illustrating the processing of the cooperation point extraction unit of the processing framework cooperation device according to the embodiment. 図5は、実施の形態にかかる処理フレームワーク連携装置の連携システム抽出部の処理を説明する図表である。FIG. 5 is a diagram illustrating the processing of the cooperation system extraction unit of the processing framework cooperation device according to the embodiment. 図6は、実施の形態にかかる処理フレームワーク連携装置の遅延測定部および連携システム選択部の処理を説明する図である。FIG. 6 is a diagram illustrating the processing of the delay measurement unit and the cooperation system selection unit of the processing framework cooperation device according to the embodiment. 図7は、実施の形態にかかる処理フレームワーク連携装置の連携システム挿入部の処理を説明する図である。FIG. 7 is a diagram illustrating the processing of the cooperation system insertion unit of the processing framework cooperation device according to the embodiment. 図8は、実施の形態にかかる処理フレームワーク連携装置の処理例を示すフローチャートである。FIG. 8 is a flowchart showing a processing example of the processing framework cooperation device according to the embodiment. 図9は、実施の形態にかかる処理フレームワーク連携装置の他の処理例を示す図である。(その1)FIG. 9 is a diagram showing another processing example of the processing framework cooperation device according to the embodiment. (Part 1) 図10は、実施の形態にかかる処理フレームワーク連携装置の他の処理例を示す図である。(その2)FIG. 10 is a diagram showing another processing example of the processing framework cooperation device according to the embodiment. (Part 2) 図11は、実施の形態にかかる処理フレームワーク連携装置の他の処理例を示す図である。(その3)FIG. 11 is a diagram showing another processing example of the processing framework cooperation device according to the embodiment. (Part 3) 図12は、実施の形態にかかる処理フレームワーク連携装置の他の処理例を示す図である。(その4)FIG. 12 is a diagram showing another processing example of the processing framework cooperation device according to the embodiment. (Part 4) 図13は、実施の形態にかかる処理フレームワーク連携装置の他の処理例を示す図である。(その5)FIG. 13 is a diagram showing another processing example of the processing framework cooperation device according to the embodiment. (Part 5)

以下に図面を参照して、開示の処理フレームワーク連携装置、処理フレームワーク連携方法および処理フレームワーク連携プログラムの実施の形態を詳細に説明する。 Hereinafter, embodiments of the disclosed processing framework linkage device, processing framework linkage method, and processing framework linkage program will be described in detail with reference to the drawings.

図1は、実施の形態にかかる処理フレームワーク連携装置が行う処理フレームワーク連携処理の説明図である。例えば、多様なIoTのサービスを簡単・短時間に開発し、低遅延でリアルタイムに実行するための処理フレームワークが多数存在している。各処理フレームワークは、データやメディアの取得、加工・検出・分析などの処理(フィルタと称す)をライブラリとして提供している。処理フレームワーク連携装置は、フィルタの組み合わせによって様々なサービスを提供できる。 FIG. 1 is an explanatory diagram of processing framework linkage processing performed by the processing framework linkage device according to the embodiment. For example, there are many processing frameworks for developing various IoT services easily and in a short time and executing them in real time with low delay. Each processing framework provides processing (called a filter) such as data and media acquisition, processing / detection / analysis as a library. The processing framework linkage device can provide various services depending on the combination of filters.

図1(a)に示すように、既存の単一の処理フレームワークFW-AはフィルタA1,~A3を有し、FW-BはフィルタB1,B2を有しており、それぞれ利用可能なフィルタや開発可能なサービスに制限がある。このため、異なる処理フレームワークFW-A,FW-B間をキューイングシステムQで接続することで、要求するサービスのフィルタを有する複数の処理フレームワークFW-A,FW-Bを連携させたサービスが提供できる。 As shown in FIG. 1 (a), the existing single processing framework FW-A has filters A1 to A3, and FW-B has filters B1 and B2, respectively, which can be used. And there are restrictions on the services that can be developed. Therefore, by connecting different processing frameworks FW-A and FW-B with the queuing system Q, a service in which a plurality of processing frameworks FW-A and FW-B having a filter of the requested service are linked is linked. Can be provided.

キューイングシステムQは、インメモリ型と、非インメモリ型とを有する。インメモリ型は、キュー(Queue)をメモリ等の揮発領域に配置する構成であり、高速(高スループット、処理遅延小)だが、メモリ使用量が大きい特性を有する。実施の形態では、非インメモリ型は、キューをディスク等の不揮発領域に配置する構成を称し、メモリ使用量は小さいが、低速(低スループットで処理遅延大)の特性を有する。 The queuing system Q has an in-memory type and a non-in-memory type. The in-memory type has a configuration in which a queue is arranged in a volatile area such as a memory, and has a characteristic of high speed (high throughput, small processing delay) but a large memory usage. In the embodiment, the non-memory type refers to a configuration in which a queue is arranged in a non-volatile area such as a disk, and has a characteristic of low speed (low throughput and large processing delay) although the memory usage is small.

ここで、キューイングシステムQに高速なインメモリ型を選択した場合、サービスをリアルタイムに実行可能であるものの、多数のサービスの同時利用により、メモリ不足が生じサービスのスループットが低下してしまう。 Here, when a high-speed in-memory type is selected for the queuing system Q, the service can be executed in real time, but due to the simultaneous use of a large number of services, a memory shortage occurs and the service throughput decreases.

実施の形態では、図1(b)に示す処理により処理フレームワークFW-A,FW-Bを連携させる処理を行う。発明者らは、複数の処理フレームワークFW-A,FW-Bを連携させる際に、キューイングシステムQの処理遅延Taが、他の遅延より十分に小さければ、非インメモリ型を利用しても大きな影響が生じないことに着目した。実施の形態では、キューイングシステムQの処理遅延Taが、他の遅延より十分に小さければ、非インメモリ型のキューイングシステムQを利用する。他の遅延とは、処理フレームワークFW-A,FW-B間の転送遅延Tb、サービス全体の処理時間である実行遅延(後述する)等である。例えば、処理遅延Taが小さいインメモリ型であっても処理フレームワークFW-A,FW-B間の距離が離れている場合には、転送遅延Tbが大きくなり、非インメモリ型の転送遅延Tbに近づく。 In the embodiment, the processing frameworks FW-A and FW-B are linked by the processing shown in FIG. 1B. When the plurality of processing frameworks FW-A and FW-B are linked, the inventors utilize the non-in-memory type if the processing delay Ta of the queuing system Q is sufficiently smaller than the other delays. Attention was paid to the fact that there was no significant impact. In the embodiment, if the processing delay Ta of the queuing system Q is sufficiently smaller than the other delays, the non-in-memory queuing system Q is used. Other delays include a transfer delay Tb between the processing frameworks FW-A and FW-B, an execution delay (described later) which is the processing time of the entire service, and the like. For example, even if the processing delay Ta is a small in-memory type, if the processing frameworks FW-A and FW-B are far apart, the transfer delay Tb becomes large and the non-in-memory type transfer delay Tb. Approaching.

ここで、転送遅延Tbが処理遅延Taに対して大きい場合、処理遅延Taが大きくなっても影響度が小さいため、キューイングシステムQとしてメモリ使用量が少ない非インメモリ型を選択することで、メモリ不足の発生を抑制する。一方、転送遅延Tbが小さい場合は、処理遅延の影響度が大きいため、キューイングシステムQとしてインメモリ型を選択して、高速な処理を実行可能とする。 Here, when the transfer delay Tb is larger than the processing delay Ta, the influence is small even if the processing delay Ta is large. Therefore, by selecting a non-in-memory type with a small memory usage as the queuing system Q, the queuing system Q can be selected. Suppress the occurrence of memory shortage. On the other hand, when the transfer delay Tb is small, the influence of the processing delay is large, so that the in-memory type is selected as the queuing system Q so that high-speed processing can be executed.

はじめに、処理フレームワーク連携装置は、サービス定義Sに含まれる各フィルタが動作する処理フレームワークFWを求める。図1(b)の例では、サービス定義Sがフィルタ1、フィルタ2、フィルタ3であったとする。この場合、処理フレームワーク連携装置は、フィルタ1,2が処理フレームワークFW-A、フィルタ3が処理フレームワークFW-Bである。加えて、処理フレームワーク連携装置は、処理フレームワークFWが切り替わる連携ポイントPを抽出する。この際、処理フレームワーク連携装置は、連携ポイントP両端の処理フレームワークFW-A,FW-Bが利用(共用)可能なキューイングシステムQ(連携システム)を抽出する。 First, the processing framework linkage device obtains a processing framework FW in which each filter included in the service definition S operates. In the example of FIG. 1 (b), it is assumed that the service definition S is the filter 1, the filter 2, and the filter 3. In this case, in the processing framework linkage device, the filters 1 and 2 are the processing framework FW-A, and the filter 3 is the processing framework FW-B. In addition, the processing framework linkage device extracts the linkage point P to which the processing framework FW switches. At this time, the processing framework cooperation device extracts the queuing system Q (cooperation system) that can be used (shared) by the processing frameworks FW-A and FW-B at both ends of the cooperation point P.

ここで、処理フレームワークFW-A,FW-Bが利用可能なキューイングシステムQ(連携システム)がキュー(Queue1,4,5)であったとする。Queue1がインメモリ型、Queue4,5が非インメモリ型であったとする。処理フレームワーク連携装置は、抽出したキューイングシステムQ(Queue1,4,5)で処理フレームワーク間をそれぞれ接続し、実際にデータ(サンプルデータ)を転送して転送遅延Tbを測定する。そして、処理フレームワーク連携装置は、転送遅延Tbの測定結果を用いて最適なキューイングシステムQとして、Queue1,4,5のいずれかを選択する。 Here, it is assumed that the queuing system Q (cooperation system) that can be used by the processing frameworks FW-A and FW-B is a queue (Queue 1, 4, 5). It is assumed that QUEUE1 is an in-memory type and QUEUE4 and 5 are non-in-memory type. The processing framework linkage device connects the processing frameworks with the extracted queuing system Q (Queue 1, 4, 5), actually transfers data (sample data), and measures the transfer delay Tb. Then, the processing framework cooperation device selects one of Queue 1, 4, and 5 as the optimum queuing system Q using the measurement result of the transfer delay Tb.

各キューイングシステムQ(Queue1,4,5)は、それぞれキュー受信からキュー送信までに所定の処理遅延(処理時間に相当)Taを有する。また、データ送信側の処理フレームワークFW-A(フィルタ2(402))からデータ送信した後、データ受信側の処理フレームワークFW-B(フィルタ3(413))でデータ受信するまでに所定の転送遅延(転送時間に相当)Tbを有する。転送遅延TbはキューイングシステムQ(Queue1,4,5)の処理遅延Taを含む。 Each queuing system Q (Queue 1, 4, 5) has a predetermined processing delay (corresponding to processing time) Ta from queue reception to queue transmission. Further, after data is transmitted from the processing framework FW-A (filter 2 (402)) on the data transmitting side, it is predetermined before data is received by the processing framework FW-B (filter 3 (413)) on the data receiving side. It has a transfer delay (corresponding to the transfer time) Tb. The transfer delay Tb includes the processing delay Ta of the queuing system Q (Queue 1, 4, 5).

そして、処理フレームワーク連携装置は、所定の条件にしたがい、利用するキューイングシステムQを選択する。この際、例えば、最短のキューイングシステムQがインメモリ型のQueue1であり、非インメモリ型のキューイングシステムQ(例えばQueue5)の転送遅延TbがQueue1に近い所定の許容度の範囲内であったとする。 Then, the processing framework cooperation device selects the queuing system Q to be used according to a predetermined condition. At this time, for example, the shortest queuing system Q is the in-memory type Queue1 and the transfer delay Tb of the non-in-memory type queuing system Q (for example, Queue5) is within a predetermined tolerance range close to Queue1. Suppose.

この場合、処理フレームワーク連携装置は、非インメモリ型のキューイングシステムQ(Queue5)を選択する。このように、実施の形態の処理フレームワーク連携装置は、単にキューイングシステムQを処理遅延Taだけで選択せずに、実際のデータ転送を行った時の転送遅延Tbを用いてキューイングシステムQを選択する。これにより、高速なインメモリ型だけではなく、大容量でメモリ使用量が小さい非インメモリ型のキューイングシステムQも選択可能としている。 In this case, the processing framework linkage device selects the non-in-memory type queuing system Q (Queue5). As described above, the processing framework linkage device of the embodiment does not simply select the queuing system Q only by the processing delay Ta, but uses the transfer delay Tb when the actual data is transferred to the queuing system Q. Select. This makes it possible to select not only a high-speed in-memory type but also a non-in-memory type queuing system Q having a large capacity and a small memory usage.

この後、処理フレームワーク連携装置は、選択したキューイングシステムQ(Queue5)を用いるために必要な連携処理(入出力処理)701,702を連携ポイントPの両端の処理フレームワークFW-A,FW-Bに挿入する。連携処理701は、処理フレームワークFW-Aのフィルタ2(402)が出力したデータをQueue5へ出力する出力処理である。連携処理702は、Queue5から入力されるデータを入力処理し、処理フレームワークFW-Bのフィルタ3(413)へ出力する入力処理である。 After that, the processing framework linkage device performs the linkage processing (input / output processing) 701 and 702 necessary for using the selected queuing system Q (Queue5), and the processing frameworks FW-A and FW at both ends of the linkage point P. -Insert in B. The linkage process 701 is an output process for outputting the data output by the filter 2 (402) of the processing framework FW-A to the QUEUE 5. The linkage process 702 is an input process for inputting data input from the QUEUE 5 and outputting it to the filter 3 (413) of the processing framework FW-B.

そして、処理フレームワーク連携装置は、当初のサービス定義Sに連携処理701,702を挿入した修正後のサービス定義S’をユーザに出力する。 Then, the processing framework linkage device outputs the modified service definition S'in which the linkage processes 701 and 702 are inserted into the initial service definition S to the user.

上記のように、実施の形態では、サービス定義Sに対応するフィルタが動作する処理フレームワークFW-A,FW-Bを抽出して連携させる。この際、処理フレームワークFW-A,FW-B間の転送遅延Tbを実際に測定する。また、選択したキューイングシステムQを用いるために必要な連携処理701,702を連携ポイントPの両端の処理フレームワークFW-A,FW-Bにそれぞれ挿入する。 As described above, in the embodiment, the processing frameworks FW-A and FW-B in which the filter corresponding to the service definition S operates are extracted and linked. At this time, the transfer delay Tb between the processing frameworks FW-A and FW-B is actually measured. Further, the cooperation processes 701 and 702 necessary for using the selected queuing system Q are inserted into the processing frameworks FW-A and FW-B at both ends of the cooperation point P, respectively.

これにより、処理フレームワーク間を接続する最適なキューイングシステムQを選択することができ、インメモリ型に限らず非インメモリ型のキューイングシステムQも選択可能となる。例えば、非インメモリ型のキューイングシステムQの選択時には、多数のサービスを同時に利用する際のメモリ不足を回避でき、結果として低遅延かつスループットの向上を図ることができるようになる。 As a result, the optimum queuing system Q for connecting the processing frameworks can be selected, and not only the in-memory type but also the non-in-memory type queuing system Q can be selected. For example, when selecting a non-in-memory type queuing system Q, it is possible to avoid a memory shortage when using a large number of services at the same time, and as a result, it becomes possible to achieve low latency and improve throughput.

また、異なる処理フレームワークFW-Aで動作するフィルタ1,2と,FW-Bで動作するフィルタ3をキューイングシステムQで接続でき、複数の処理フレームワークFW-A,FW-Bの連携により要求されるサービスに対して柔軟に対応できる。これにより、要求される各種サービスの開発および提供が行えるようになる。 Further, the filters 1 and 2 operating in different processing frameworks FW-A and the filters 3 operating in FW-B can be connected by the queuing system Q, and by the cooperation of a plurality of processing frameworks FW-A and FW-B. We can flexibly respond to the required services. This makes it possible to develop and provide various required services.

図2は、実施の形態にかかる処理フレームワーク連携装置の機能を示すブロック図である。処理フレームワーク連携装置100は、連携ポイント抽出部201、フィルタデータベース(DB)202、連携システム抽出部203、フレームワークDB204、遅延測定部205、連携システム選択部206、連携システム挿入部207、を含む。 FIG. 2 is a block diagram showing a function of the processing framework cooperation device according to the embodiment. The processing framework linkage device 100 includes a linkage point extraction unit 201, a filter database (DB) 202, a linkage system extraction unit 203, a framework DB 204, a delay measurement unit 205, a linkage system selection unit 206, and a linkage system insertion unit 207. ..

連携ポイント抽出部201は、ユーザが要求するサービス定義Sに含まれるフィルタを利用可能な複数の処理フレームワークをフィルタDB202から抽出し、処理フレームワークが切り替わる連携ポイントを抽出する。フィルタDB202は、フィルタ毎の処理フレームワークを記憶保持する。 The cooperation point extraction unit 201 extracts from the filter DB 202 a plurality of processing frameworks that can use the filter included in the service definition S requested by the user, and extracts the cooperation points at which the processing frameworks are switched. The filter DB 202 stores and holds a processing framework for each filter.

連携システム抽出部203は、フレームワークDB204を参照して、連携ポイント両端の処理フレームワークが利用(共用)可能なキューイングシステムQを連携システムとして抽出する。フレームワークDB204は、処理フレームワーク毎の対応キューイングシステムQをインメモリ型および非インメモリ型別に記憶保持する。 The cooperation system extraction unit 203 refers to the framework DB 204 and extracts the queuing system Q that can be used (shared) by the processing frameworks at both ends of the cooperation point as the cooperation system. The framework DB 204 stores and holds the corresponding queuing system Q for each processing framework for each in-memory type and non-in-memory type.

フィルタDB202およびフレームワークDB204が保持する情報は、フレームワークFW毎に固有の情報であり、予め記憶保持しておくことができる。 The information held by the filter DB 202 and the framework DB 204 is information unique to each framework FW and can be stored and held in advance.

遅延測定部205は、連携システム抽出部203が抽出したキューイングシステムQで処理フレームワーク間をそれぞれ接続し、データ転送した時の転送遅延を測定する。この遅延測定部205は、実際に適当なサンプルデータを用いて遅延特性を測定する。連携システム選択部206は、測定した転送遅延を用い所定の判断条件に基づいて、最適なキューイングシステムQを選択する。この連携システム選択部206では、所定の判断条件により、インメモリ型あるいは非インメモリ型のキューイングシステムQを選択する。 The delay measurement unit 205 connects the processing frameworks with the queuing system Q extracted by the cooperation system extraction unit 203, and measures the transfer delay when data is transferred. The delay measuring unit 205 actually measures the delay characteristics using appropriate sample data. The cooperative system selection unit 206 selects the optimum queuing system Q based on a predetermined determination condition using the measured transfer delay. The cooperation system selection unit 206 selects an in-memory type or non-in-memory type queuing system Q according to a predetermined determination condition.

連携システム挿入部207は、連携システム選択部206が選択したキューイングシステムQを用いるために必要な連携処理を両端の処理フレームワークにそれぞれ挿入し、複数の処理フレームワークが連携して実行可能なサービス定義S’の情報を出力する。 The linkage system insertion unit 207 inserts the linkage processing necessary for using the queuing system Q selected by the linkage system selection unit 206 into the processing frameworks at both ends, and a plurality of processing frameworks can be executed in cooperation with each other. Output the information of service definition S'.

図3は、実施の形態にかかる処理フレームワーク連携装置のハードウェア構成例を示す図である。図2に示した処理フレームワーク連携装置100は、図3に示すハードウェアを用いることができ、例えば、サーバを用いることができる。 FIG. 3 is a diagram showing a hardware configuration example of the processing framework cooperation device according to the embodiment. As the processing framework linkage device 100 shown in FIG. 2, the hardware shown in FIG. 3 can be used, and for example, a server can be used.

例えば、処理フレームワーク連携装置100は、CPU(Central Processing Unit)301、メモリ302、ネットワークインタフェース(I/F)303、記録媒体IF304、記録媒体305、を含む。300は各部を接続するバスである。 For example, the processing framework linkage device 100 includes a CPU (Central Processing Unit) 301, a memory 302, a network interface (I / F) 303, a recording medium IF 304, and a recording medium 305. Reference numeral 300 is a bus connecting each part.

CPU301は、処理フレームワーク連携装置100の全体の制御を司る制御部として機能する演算処理装置である。メモリ302は、不揮発性メモリおよび揮発性メモリを含む。不揮発性メモリは、例えば、CPU301のプログラムを格納するROM(Read Only Memory)である。揮発性メモリは、例えば、CPU301のワークエリアとして使用されるDRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)等である。 The CPU 301 is an arithmetic processing device that functions as a control unit that controls the entire processing framework cooperation device 100. The memory 302 includes a non-volatile memory and a volatile memory. The non-volatile memory is, for example, a ROM (Read Only Memory) for storing the program of the CPU 301. The volatile memory is, for example, a DRAM (Dynamic Random Access Memory) used as a work area of the CPU 301, a SRAM (Static Random Access Memory), or the like.

ネットワークI/F303は、ネットワーク310を通じてサーバやクラウド等、処理フレームワーク連携装置100外部の処理フレームワークにアクセスし、外部の処理フレームワークを利用することもできる。ネットワークIF303は、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク310を介して外部のサーバやクラウド等に通信接続される。 The network I / F 303 can also access a processing framework outside the processing framework linkage device 100, such as a server or a cloud, through the network 310, and use the external processing framework. The network IF 303 is communicated and connected to an external server, cloud, or the like via a network 310 such as a LAN (Local Area Network), a WAN (Wide Area Network), or the Internet.

記録媒体IF304は、CPU301が処理した情報を記録媒体305との間で読み書きするためのインタフェースである。記録媒体305は、メモリ302を補助する記録装置である。例えば、HDD(Hard Disk Drive)や、SSD(Solid State Drive)、USB(Universal Serial Bus)フラッシュドライブ等を用いることができる。 The recording medium IF 304 is an interface for reading and writing the information processed by the CPU 301 to and from the recording medium 305. The recording medium 305 is a recording device that assists the memory 302. For example, an HDD (Hard Disk Drive), an SSD (Solid State Drive), a USB (Universal Serial Bus) flash drive, or the like can be used.

メモリ302または記録媒体305に記録されたプログラムをCPU301が実行することにより、図2に示した処理フレームワーク連携装置100の各機能を実現する。また、メモリ302や記録媒体305は、図2に示したフィルタDB202、フレームワークDB204の情報を予め保持しておくことができる。そして、CPU301は、サービスに対応してフィルタが動作するフレームワークFWの情報や、フレームワークFW毎のキューイングシステムの情報を簡単に読み出すことができる。 By executing the program recorded in the memory 302 or the recording medium 305 by the CPU 301, each function of the processing framework linkage device 100 shown in FIG. 2 is realized. Further, the memory 302 and the recording medium 305 can hold the information of the filter DB 202 and the framework DB 204 shown in FIG. 2 in advance. Then, the CPU 301 can easily read the information of the framework FW in which the filter operates corresponding to the service and the information of the queuing system for each framework FW.

そして、実施の形態では、例えば、インメモリ型のキューイングシステムQは、キュー(Queue)をメモリ302上に配置する。また、非インメモリ型のキューイングシステムQでは、キュー(Queue)をディスク等の記録媒体305上に配置する。 Then, in the embodiment, for example, in the in-memory type queuing system Q, the queue (Queue) is arranged on the memory 302. Further, in the non-in-memory type queuing system Q, a cue is arranged on a recording medium 305 such as a disk.

次に、実施の形態にかかる処理フレームワーク連携装置が行う処理を機能別に順に説明する。 Next, the processes performed by the processing framework linkage device according to the embodiment will be described in order by function.

図4は、実施の形態にかかる処理フレームワーク連携装置の連携ポイント抽出部の処理を説明する図である。処理フレームワーク連携装置100の連携ポイント抽出部201が行う処理について説明する。図4(a)は、所定のサービス定義Sに対応するフィルタを示す図、図4(b)は、フィルタDB202が保持するフィルタ毎の処理フレームワークの情報を示す図表である。 FIG. 4 is a diagram illustrating the processing of the cooperation point extraction unit of the processing framework cooperation device according to the embodiment. The processing performed by the cooperation point extraction unit 201 of the processing framework cooperation device 100 will be described. FIG. 4A is a diagram showing a filter corresponding to a predetermined service definition S, and FIG. 4B is a diagram showing information of a processing framework for each filter held by the filter DB 202.

図4(a)に示すように、サービス定義Sがフィルタ1(401)~フィルタ2(402)~フィルタ3(413)であったとする。この場合、連携ポイント抽出部201は、図4(b)に示すフィルタDB202を参照して該当するフィルタ1(401)、フィルタ2(402)、フィルタ3(413)を利用可能な処理フレームワークFWを求める。 As shown in FIG. 4A, it is assumed that the service definition S is the filter 1 (401) to the filter 2 (402) to the filter 3 (413). In this case, the cooperation point extraction unit 201 refers to the filter DB 202 shown in FIG. 4 (b) and can use the corresponding filter 1 (401), filter 2 (402), and filter 3 (413) as a processing framework FW. Ask for.

図4(b)に示す例では、フィルタDB202には、フィルタ1,2(401,402)は処理フレームワークFW-Aであり、フィルタ3(413)は処理フレームワークFW-Bであることが保持されている。この場合、連携ポイント抽出部201は、処理フレームワークFWが切り替わる連携ポイントPの処理フレームワークFWが、処理フレームワークFW-A(フィルタ2)と、FW-B(フィルタ3)部分であることを抽出する。 In the example shown in FIG. 4B, in the filter DB 202, the filters 1 and 2 (401, 402) are the processing framework FW-A, and the filter 3 (413) is the processing framework FW-B. It is being held. In this case, the linkage point extraction unit 201 determines that the processing framework FW of the linkage point P to which the processing framework FW is switched is the processing framework FW-A (filter 2) and the FW-B (filter 3) portion. Extract.

図5は、実施の形態にかかる処理フレームワーク連携装置の連携システム抽出部の処理を説明する図表である。処理フレームワーク連携装置100の連携システム抽出部203は、フレームワークDB204に格納された処理フレームワーク毎のキューイングシステムQを参照する。そして、連携ポイントPの両端の処理フレームワークFWが利用(共用)可能なキューイングシステムQ(連携システム)を抽出する。 FIG. 5 is a diagram illustrating the processing of the cooperation system extraction unit of the processing framework cooperation device according to the embodiment. The cooperation system extraction unit 203 of the processing framework cooperation device 100 refers to the queuing system Q for each processing framework stored in the framework DB 204. Then, the queuing system Q (cooperation system) that can be used (shared) by the processing framework FW at both ends of the cooperation point P is extracted.

図5に示す例では、フレームワークDB204には、処理フレームワークFW-Aに対応するキューイングシステムQとして、インメモリ型がQueue1と、Queue2であり、非インメモリ型がQueue4と、Queue5である情報が格納されている。また、処理フレームワークFW-Bに対応するキューイングシステムQとして、インメモリ型がQueue1であり、非インメモリ型がQueue3と、Queue4と、Queue5である情報が格納されている。 In the example shown in FIG. 5, in the framework DB 204, the in-memory types are Queue1 and Queue2, and the non-in-memory types are Queue4 and Queue5 as the queuing system Q corresponding to the processing framework FW-A. Information is stored. Further, as the queuing system Q corresponding to the processing framework FW-B, information that the in-memory type is Queue1 and the non-in-memory type is Queue3, Queue4, and Queue5 is stored.

この場合、連携システム抽出部203は、異なる2つの処理フレームワークFW-AとFW-Bとの間で共通する(共用可能な)キューとして、インメモリ型はQueue1を抽出し、非インメモリ型はQueue4とQueue5を抽出する。ここで、連携システム抽出部203は、インメモリ型のQueue1と、非インメモリ型のQueue4,5が連携ポイントPの両端(フィルタ2とフィルタ3)の処理フレームワークFW-AとFW-Bが利用可能なキューイングシステムQと判断し、抽出する。 In this case, the cooperation system extraction unit 203 extracts Queue1 as an in-memory type as a common (shared) queue between two different processing frameworks FW-A and FW-B, and is a non-in-memory type. Extracts Queue 4 and Queue 5. Here, in the linkage system extraction unit 203, the in-memory type QUEUE1 and the non-in-memory type QUEUE4, 5 are the processing frameworks FW-A and FW-B at both ends of the linkage point P (filter 2 and filter 3). Judge that it is an available queuing system Q and extract it.

なお、連携システム抽出部203は、インメモリ型のQueue2は、一方の処理フレームワークFW-Aのみにあり、FW-Bにはなく共用できないため抽出しない。同様に、非インメモリ型のQueue3は、一方の処理フレームワークFW-Bのみにあり、FW-Aにはなく共用できないため抽出しない。 The cooperation system extraction unit 203 does not extract the in-memory type QUEUE2 because it exists only in one of the processing frameworks FW-A and cannot be shared in FW-B. Similarly, the non-in-memory type QUEUE3 is not extracted because it exists only in one of the processing frameworks FW-B and cannot be shared because it is not in FW-A.

図6は、実施の形態にかかる処理フレームワーク連携装置の遅延測定部および連携システム選択部の処理を説明する図である。処理フレームワーク連携装置100の遅延測定部205は、連携システム抽出部203が抽出したキューイングシステムQで処理フレームワーク間をそれぞれ接続し、データ(サンプルデータ)を転送した時の転送遅延を測定する。また、連携システム選択部206は、遅延測定部205による転送遅延の測定結果を用いて最適なキューイングシステムQを選択する。 FIG. 6 is a diagram illustrating the processing of the delay measurement unit and the cooperation system selection unit of the processing framework cooperation device according to the embodiment. The delay measuring unit 205 of the processing framework linkage device 100 connects the processing frameworks with the queuing system Q extracted by the linkage system extraction unit 203, and measures the transfer delay when data (sample data) is transferred. .. Further, the cooperation system selection unit 206 selects the optimum queuing system Q by using the measurement result of the transfer delay by the delay measurement unit 205.

図6(a)は、連携システム抽出部203が抽出したキューイングシステムQであるインメモリ型のQueue1と、非インメモリ型のQueue4,5を示す。これらインメモリ型のQueue1と、非インメモリ型のQueue4,5は、連携ポイントP両端に位置する。処理フレームワークFW-Aは、フィルタ2(402)がQueue1,4,5にデータ出力する。Queue1,4,5は、処理フレームワークFW-Bのフィルタ3(413)にデータ入力する。 FIG. 6A shows an in-memory type Queue 1 which is a queuing system Q extracted by the cooperation system extraction unit 203, and a non-in-memory type Queue 4, 5. These in-memory type Queue 1 and non-in-memory type Queue 4 and 5 are located at both ends of the cooperation point P. In the processing framework FW-A, the filter 2 (402) outputs data to Queue 1, 4, and 5. The Queues 1, 4 and 5 input data to the filter 3 (413) of the processing framework FW-B.

ここで、各キューイングシステムQ(Queue1,4,5)は、それぞれキュー受信からキュー送信までに所定の処理遅延(処理時間に相当)Taを有する。また、データ送信側の処理フレームワークFW-A(フィルタ2(402))からデータ送信した後、データ受信側の処理フレームワークFW-B(フィルタ3(413))でデータ受信するまでに所定の転送遅延(転送時間に相当)Tbを有する。転送遅延TbはキューイングシステムQ(Queue1,4,5)の処理遅延Taを含む。 Here, each queuing system Q (Queue 1, 4, 5) has a predetermined processing delay (corresponding to processing time) Ta from queue reception to queue transmission, respectively. Further, after data is transmitted from the processing framework FW-A (filter 2 (402)) on the data transmitting side, it is predetermined before data is received by the processing framework FW-B (filter 3 (413)) on the data receiving side. It has a transfer delay (corresponding to the transfer time) Tb. The transfer delay Tb includes the processing delay Ta of the queuing system Q (Queue 1, 4, 5).

処理遅延Taは、キューイングシステムQ毎に異なる。一般的には、インメモリ型(Queue1)の方が、非インメモリ型(Queue4,5)よりも処理遅延Taは短い。また、転送遅延Tbは、処理遅延Taを含むが、実際のデータ転送状態の影響を受けるため、インメモリ型が短いとは限らず、非インメモリ型でも短い場合が生じる。このため、遅延測定部205は、連携システム抽出部203が抽出した各キューイングシステムQである、インメモリ型のQueue1と、非インメモリ型のQueue4,5について、それぞれサンプルデータを実際に転送して転送遅延Tbを測定する。サンプルデータは、例えばランダムな2値のデータ列を用いることができる。 The processing delay Ta is different for each queuing system Q. In general, the in-memory type (Queue1) has a shorter processing delay Ta than the non-in-memory type (Queue4, 5). Further, although the transfer delay Tb includes the processing delay Ta, it is affected by the actual data transfer state, so that the in-memory type is not always short, and the non-in-memory type may also be short. Therefore, the delay measurement unit 205 actually transfers sample data for each of the in-memory type Queue 1 and the non-in-memory type Queue 4, 5 which are the queuing system Q extracted by the cooperation system extraction unit 203. And measure the transfer delay Tb. As the sample data, for example, a random binary data string can be used.

図6(b)は、連携システム抽出部203が抽出したキューイングシステムQであるインメモリ型のQueue1と、非インメモリ型のQueue4,5の転送遅延Tbの転送遅延測定結果600を示す図表である。処理遅延Taは固定の特性値(参考値)である。 FIG. 6B is a chart showing transfer delay measurement results 600 of the in-memory type Queue 1 which is the queuing system Q extracted by the cooperation system extraction unit 203 and the transfer delay Tb of the non-in-memory type Queues 4 and 5. be. The processing delay Ta is a fixed characteristic value (reference value).

遅延測定部205は、各キューイングシステムQ(Queue1,4,5)で処理フレームワーク間をそれぞれ接続し、所定のサンプルデータを転送して転送遅延Tbを測定する。転送遅延Tbは、前段の処理フレームワークFW-Aのフィルタ402がデータ送信した後、後段の処理フレームワークFW-Bのフィルタ413がデータ受信するまでの期間である。遅延測定部205は、各キューイングシステムQ(Queue1,4,5)毎の転送遅延Tbの転送遅延測定結果600を、例えばメモリ302や記録媒体305等に格納保持する。各キューイングシステムQ毎の転送遅延Tbを格納保持しておくことで、以後同様の処理フレームワークFWの接続時の転送遅延Tbを測定せずにメモリ302や記録媒体305等から読み出して利用できる。 The delay measuring unit 205 connects the processing frameworks with each queuing system Q (Queue 1, 4, 5), transfers predetermined sample data, and measures the transfer delay Tb. The transfer delay Tb is a period from the transmission of data by the filter 402 of the processing framework FW-A of the previous stage to the reception of data by the filter 413 of the processing framework FW-B of the subsequent stage. The delay measurement unit 205 stores and holds the transfer delay measurement result 600 of the transfer delay Tb for each queuing system Q (Queue 1, 4, 5) in, for example, a memory 302, a recording medium 305, or the like. By storing and holding the transfer delay Tb for each queuing system Q, it can be read from the memory 302, the recording medium 305, etc. and used without measuring the transfer delay Tb at the time of connection of the same processing framework FW. ..

そして、連携システム選択部206は、以下の条件1.~3.にしたがい、利用するキューイングシステムQを選択する。
1.転送遅延Tbが最短のキューイングシステムQを最短の転送遅延Dminとする。
2.転送遅延TbがDmin×N以下である非インメモリ型のキューイングシステムQがあれば、転送遅延Tbが最短のものを選択する。Nは最短からの許容度(定数)
3.転送遅延TbがDmin×N以下である非インメモリ型のキューイングシステムQがなければ、インメモリ型キューイングシステムQで転送遅延Tbが最短のものを選択する。
Then, the cooperation system selection unit 206 has the following conditions 1. ~ 3. Therefore, select the queuing system Q to be used.
1. 1. The queuing system Q having the shortest transfer delay Tb is defined as the shortest transfer delay Dmin.
2. 2. If there is a non-in-memory type queuing system Q in which the transfer delay Tb is Dmin × N or less, the one with the shortest transfer delay Tb is selected. N is the tolerance (constant) from the shortest
3. 3. If there is no non-in-memory type queuing system Q in which the transfer delay Tb is Dmin × N or less, the in-memory type queuing system Q having the shortest transfer delay Tb is selected.

例えば、図6(b)の転送遅延測定結果600では、転送遅延Tbが最短(Dmin)なものはインメモリ型のQueue1(700msec)である。次に短いのは非インメモリ型のQueue5(900msec)であり、最後は非インメモリ型のQueue4(1200msec)であったとする。 For example, in the transfer delay measurement result 600 of FIG. 6B, the one with the shortest transfer delay Tb (Dmin) is the in-memory type QUEUE1 (700 msec). It is assumed that the next shortest is the non-in-memory type QUEUE5 (900 msec), and the last is the non-in-memory type QUEUE4 (1200 msec).

連携システム選択部206は、図6(b)の転送遅延測定結果600を参照し、N=1.3に設定した場合には、キューイングシステムQとして、Queue5を選択する。この場合、(Queue5の転送遅延Tb=900msec)<(Queue1の転送遅延Tb=700×1.3=910)である。 The cooperative system selection unit 206 refers to the transfer delay measurement result 600 in FIG. 6B, and when N = 1.3 is set, Queue 5 is selected as the queuing system Q. In this case, (Transfer delay Tb of Queen 5 = 900 msec) <(Transfer delay Tb of Queen 1 = 700 × 1.3 = 910).

また、N=1.2に設定した場合には、連携システム選択部206は、キューイングシステムQとして、Queue1を選択する。この場合、(Queue5の転送遅延Tb=900msec)>(Queue1の転送遅延Tb=700×1.2=840)である。 When N = 1.2 is set, the cooperation system selection unit 206 selects Queue 1 as the queuing system Q. In this case, (Transfer delay Tb of Queen 5 = 900 msec)> (Transfer delay Tb of Queen 1 = 700 × 1.2 = 840).

Nは、最短(ベストエフォート)に対してどの程度遅延してもよいかを示す定数であり、ユーザが任意に設定する。 N is a constant indicating how much delay may be made with respect to the shortest (best effort), and is arbitrarily set by the user.

図6(b)の転送遅延測定結果600では、非インメモリ型のQueue5の転送遅延Tb(900msec)がインメモリ型のQueue1の転送遅延Tb(700msec)に近い値となっている。Queue5を用いた転送では、例えば、データ送信からデータ受信までの転送距離が短いために転送遅延Tbが短くなることがある。このように、実施の形態では、実際に処理フレームワークFW間でデータを転送した際の転送遅延Tbを用いて最適なキューイングシステムQを選択している。 In the transfer delay measurement result 600 of FIG. 6B, the transfer delay Tb (900 msec) of the non-in-memory type QUEUE 5 is close to the transfer delay Tb (700 msec) of the in-memory type QUEUE 1. In the transfer using QUEUE5, for example, the transfer delay Tb may be shortened because the transfer distance from the data transmission to the data reception is short. As described above, in the embodiment, the optimum queuing system Q is selected by using the transfer delay Tb when the data is actually transferred between the processing framework FW.

図7は、実施の形態にかかる処理フレームワーク連携装置の連携システム挿入部の処理を説明する図である。処理フレームワーク連携装置100の連携システム挿入部207は、連携システム選択部206が選択した最適なキューイングシステムQで処理フレームワーク間を接続する処理を行う。 FIG. 7 is a diagram illustrating the processing of the cooperation system insertion unit of the processing framework cooperation device according to the embodiment. The cooperation system insertion unit 207 of the processing framework cooperation device 100 performs a process of connecting the processing frameworks with the optimum queuing system Q selected by the cooperation system selection unit 206.

図7(a)には、連携システム選択部206がサービス定義に対応して選択したキューイングシステムQの選択状態を示す。図7(a)の例では、処理フレームワークFW-A(フィルタ1,2)と、FW-B(フィルタ3)間の連携ポイントPには、キューイングシステムQとして最適なQueue5を配置する。 FIG. 7A shows the selection state of the queuing system Q selected by the cooperation system selection unit 206 corresponding to the service definition. In the example of FIG. 7A, the queuing 5 optimal as the queuing system Q is arranged at the cooperation point P between the processing frameworks FW-A (filters 1 and 2) and FW-B (filter 3).

そして、連携システム挿入部207は、選択したキューイングシステムQ(Queue5)を用いるために必要な連携処理を連携ポイントP両端の処理フレームワークFW-A,FW-Bにそれぞれ挿入する。 Then, the cooperation system insertion unit 207 inserts the cooperation processing necessary for using the selected queuing system Q (Queue5) into the processing frameworks FW-A and FW-B at both ends of the cooperation point P, respectively.

図7(b)の例では、連携システム挿入部207は、処理フレームワークFW-Aのフィルタ1(401),フィルタ2(402)の後段にFW-Aの連携処理701を挿入する。また、連携システム挿入部207は、処理フレームワークFW-Bのフィルタ3(413)の前段にFW-Bの連携処理702を挿入する。連携処理701は、処理フレームワークFW-Aのフィルタ2(402)が出力したデータをQueue5へ出力する処理である。連携処理702は、Queue5から入力されるデータを処理フレームワークFW-Bのフィルタ3(413)へ出力する処理である。 In the example of FIG. 7B, the linkage system insertion unit 207 inserts the linkage processing 701 of the FW-A after the filters 1 (401) and the filters 2 (402) of the processing framework FW-A. Further, the linkage system insertion unit 207 inserts the linkage processing 702 of the FW-B in front of the filter 3 (413) of the processing framework FW-B. The linkage process 701 is a process of outputting the data output by the filter 2 (402) of the processing framework FW-A to the QUEUE 5. The linkage process 702 is a process of outputting the data input from the QUEUE 5 to the filter 3 (413) of the processing framework FW-B.

このように、連携システム挿入部207は、図7(a)に示した当初のサービス定義Sに連携処理701,702を挿入した修正後のサービス定義S’をユーザに出力する。これにより、複数の処理フレームワークFW-A,FW-Bが連携して実行可能なサービスの情報(修正後のサービス定義S’)をユーザに出力できる。 As described above, the cooperation system insertion unit 207 outputs the modified service definition S'in which the cooperation processes 701 and 702 are inserted into the initial service definition S shown in FIG. 7A to the user. As a result, information on services that can be executed in cooperation with a plurality of processing frameworks FW-A and FW-B (modified service definition S') can be output to the user.

修正後のサービス定義S’は、複数の処理フレームワークFW-A,FW-B間の転送遅延が最短となるキューイングシステムQを介して連携させたものである。これにより、実施の形態によれば、複数の処理フレームワークFW-A,FW-Bが連携した所定のサービスのスループットを向上できるようになる。上記の説明では、連携ポイントPが一つの場合を例に説明したが、連携ポイントPが複数の場合にも、それぞれの連携ポイントPに対して転送遅延が最短となる最適なキューイングシステムQを選択すればよい。 The modified service definition S'is linked via the queuing system Q, which minimizes the transfer delay between the plurality of processing frameworks FW-A and FW-B. As a result, according to the embodiment, it becomes possible to improve the throughput of a predetermined service in which a plurality of processing frameworks FW-A and FW-B are linked. In the above explanation, the case where there is one cooperation point P has been described as an example, but even when there are a plurality of cooperation points P, the optimum queuing system Q in which the transfer delay is the shortest for each cooperation point P is provided. You can select it.

図8は、実施の形態にかかる処理フレームワーク連携装置の処理例を示すフローチャートである。処理フレームワーク連携装置100のCPU301が実行する各機能部(図2参照)の処理を順に説明する。 FIG. 8 is a flowchart showing a processing example of the processing framework cooperation device according to the embodiment. The processing of each functional unit (see FIG. 2) executed by the CPU 301 of the processing framework linkage device 100 will be described in order.

はじめに、処理フレームワーク連携装置100(連携ポイント抽出部201)は、フィルタDB202を参照し、要求されたサービス定義Sの各フィルタが動作する処理フレームワークFWを求める(ステップS801)。次に、処理フレームワーク連携装置100(連携ポイント抽出部201)は、処理フレームワークFWが切り替わる連携ポイントPを抽出する(ステップS802)。 First, the processing framework linkage device 100 (linkage point extraction unit 201) refers to the filter DB 202 and obtains a processing framework FW in which each filter of the requested service definition S operates (step S801). Next, the processing framework linkage device 100 (linkage point extraction unit 201) extracts the linkage point P to which the processing framework FW switches (step S802).

次に、処理フレームワーク連携装置100は、一つの連携ポイントPに対して以下の処理を実行する。はじめに、処理フレームワーク連携装置100(連携ポイント抽出部201)は、フレームワークDB204を参照し、連携ポイントP両端の処理フレームワークFWが利用可能なキューイングシステムQ(Queue)を抽出する(ステップS803)。 Next, the processing framework linkage device 100 executes the following processing for one linkage point P. First, the processing framework linkage device 100 (linkage point extraction unit 201) refers to the framework DB 204 and extracts the queuing system Q (Queue) that can be used by the processing framework FW at both ends of the linkage point P (step S803). ).

次に、処理フレームワーク連携装置100(遅延測定部205)は、処理フレームワークFW間を抽出したキューイングシステムQ(Queue)で接続し、それぞれの転送遅延Tbを測定する(ステップS804)。なお、予めステップS803で抽出した複数のキューイングシステムQを用いて実際にデータ転送した時の各キューイングシステムQ(Queue)それぞれの転送遅延Tbを測定し、転送遅延測定結果600をメモリ302に格納しておいてもよい。 Next, the processing framework linkage device 100 (delay measurement unit 205) connects with the queuing system Q (Queue) extracted between the processing framework FWs, and measures each transfer delay Tb (step S804). The transfer delay Tb of each queuing system Q (Queue) when data is actually transferred using the plurality of queuing systems Q extracted in advance in step S803 is measured, and the transfer delay measurement result 600 is stored in the memory 302. You may store it.

次に、処理フレームワーク連携装置100(連携システム選択部206)は、各キューイングシステムQ(Queue)の転送遅延Tbについて、上記の所定の条件1.~3.を適用して最適なキューイングシステムQ(Queue)を選択する。 Next, the processing framework linkage device 100 (linkage system selection unit 206) determines the above-mentioned predetermined conditions 1. for the transfer delay Tb of each queuing system Q (Queue). ~ 3. Is applied to select the optimum queuing system Q (Queue).

例えば、処理フレームワーク連携装置100(連携システム選択部206)は、非インメモリ型のキューイングシステムQ(Queue)の最短の転送遅延Tb≦最短の転送遅延Dmin×Nであるかを判断する(ステップS805)。 For example, the processing framework linkage device 100 (linkage system selection unit 206) determines whether the shortest transfer delay Tb ≦ the shortest transfer delay Dmin × N of the non-in-memory type queuing system Q (Queue) ( Step S805).

ステップS805の判断結果、非インメモリ型のキューイングシステムQ(Queue)の最短の転送遅延Tb≦最短の転送遅延Dmin×Nの条件を満たしたとする(ステップS805:Yes)。この場合、処理フレームワーク連携装置100(連携システム選択部206)は、転送遅延Tbが最短の非インメモリ型のキューイングシステムQ(Queue)を選択する(ステップS806)。 As a result of the determination in step S805, it is assumed that the condition of the shortest transfer delay Tb ≦ the shortest transfer delay Dmin × N of the non-in-memory type queuing system Q (Queue) is satisfied (step S805: Yes). In this case, the processing framework linkage device 100 (linkage system selection unit 206) selects the non-in-memory type queuing system Q (Queue) having the shortest transfer delay Tb (step S806).

一方、ステップS805の判断結果、非インメモリ型のキューイングシステムQ(Queue)の最短の転送遅延Tb≦最短の転送遅延Dmin×Nの条件を満たさなかったとする(ステップS805:No)。この場合、処理フレームワーク連携装置100(連携システム選択部206)は、転送遅延Tbが最短のインメモリ型のキューイングシステムQ(Queue)を選択する(ステップS807)。 On the other hand, as a result of the determination in step S805, it is assumed that the condition of the shortest transfer delay Tb ≦ the shortest transfer delay Dmin × N of the non-in-memory type queuing system Q (Queue) is not satisfied (step S805: No). In this case, the processing framework linkage device 100 (linkage system selection unit 206) selects the in-memory type queuing system Q (Queue) having the shortest transfer delay Tb (step S807).

この後、処理フレームワーク連携装置100(連携システム挿入部207)は、連携ポイントPの両端に、各端の処理フレームワークFWで動作し、選択したキューイングシステムQ(Queue)を用いる連携処理を挿入する(ステップS808)。この処理フレームワーク連携装置100(連携システム選択部206)は、処理フレームワークが連携して実行可能なサービス(修正後のサービス定義S’)を出力する。 After that, the processing framework linkage device 100 (linkage system insertion unit 207) operates at both ends of the linkage point P with the processing framework FW at each end, and performs linkage processing using the selected queuing system Q (Queue). Insert (step S808). The processing framework linkage device 100 (linkage system selection unit 206) outputs a service (modified service definition S') that can be executed in cooperation with the processing framework.

上記処理によれば、連携ポイントPで処理フレームワークFW間を接続した際に利用可能な複数のキューイングシステムQに対し実際のデータ転送を行って転送遅延Tbを求めている。この際、非インメモリ型であっても短い転送遅延Tbが得られた場合には、インメモリ型よりも非インメモリ型のキューイングシステムQを選択できるようになる。非インメモリ型の採用時には、キューをディスク(記録媒体305)等に配置することができ、スループットの低下を防ぎつつメモリ302の使用量を少なくできる。また、多数のサービスの同時利用時においても、大容量のディスク領域を使用でき、メモリ302のメモリ不足を防ぐことができる。 According to the above processing, actual data transfer is performed to a plurality of queuing systems Q that can be used when the processing frameworks FW are connected at the cooperation point P, and the transfer delay Tb is obtained. At this time, if a short transfer delay Tb is obtained even in the non-in-memory type, the non-in-memory type queuing system Q can be selected rather than the in-memory type. When the non-in-memory type is adopted, the queue can be arranged on a disk (recording medium 305) or the like, and the amount of memory 302 used can be reduced while preventing a decrease in throughput. Further, even when a large number of services are used at the same time, a large capacity disk area can be used, and it is possible to prevent a memory shortage of the memory 302.

次に、上述した処理例以外の他の各種処理例について説明する。図9~図13は、実施の形態にかかる処理フレームワーク連携装置の他の処理例を示す図である。これらの各図では、図8に示したフローチャートを基本とし、異なる処理のみを抽出して記載してある。なお、処理フレームワーク連携装置100の制御部(CPU301)は、図8に示した処理を基本として、下記1.~5.に示すサービスの状態の変化に対応して図9~図13のいずれかの処理を実行できる。 Next, various processing examples other than the above-mentioned processing examples will be described. 9 to 13 are diagrams showing other processing examples of the processing framework cooperation device according to the embodiment. In each of these figures, based on the flowchart shown in FIG. 8, only different processes are extracted and described. The control unit (CPU301) of the processing framework linkage device 100 is based on the processing shown in FIG. ~ 5. Any of the processes of FIGS. 9 to 13 can be executed in response to the change in the state of the service shown in FIG.

(1.サービスが扱うデータの発生頻度が高い場合)
サービスが扱うデータの発生頻度が所定の発生頻度よりも高い場合、非インメモリ型では処理が間に合わなくなるため、非インメモリ型よりも高速処理が可能なインメモリ型が有効となる。このような場合、処理フレームワーク連携装置100(遅延測定部205)は、上述した実施の形態で説明した転送遅延に代えて、データを連続的に転送した時のスループットを測定する。
(1. When the frequency of data handled by the service is high)
When the occurrence frequency of the data handled by the service is higher than the predetermined occurrence frequency, the non-in-memory type cannot process in time, so that the in-memory type capable of higher-speed processing than the non-in-memory type is effective. In such a case, the processing framework linkage device 100 (delay measurement unit 205) measures the throughput when data is continuously transferred instead of the transfer delay described in the above-described embodiment.

そして、処理フレームワーク連携装置100(連携システム選択部206)は、以下の条件a.~c.にしたがってキューイングシステムQを選択する。
a.スループットが最大のキューイングシステムQのスループットをTmaxとする。
b.スループットがTmax÷N'以上である非インメモリ型のキューイングシステムQがあれば、スループットが最大の非インメモリ型のキューイングシステムQを選択する。N'は最大からの許容度(定数)。
c.スループットがTmax÷N'以上である非インメモリ型のキューイングシステムQがなければ、インメモリ型のキューイングシステムQのうちスループットが最大のキューイングシステムQを選択する。
Then, the processing framework cooperation device 100 (cooperation system selection unit 206) has the following conditions a. ~ C. Select the queuing system Q according to.
a. Let Tmax be the throughput of the queuing system Q with the maximum throughput.
b. If there is a non-in-memory type queuing system Q having a throughput of Tmax ÷ N'or more, the non-in-memory type queuing system Q having the maximum throughput is selected. N'is the tolerance (constant) from the maximum.
c. If there is no non-in-memory type queuing system Q having a throughput of Tmax ÷ N'or more, the queuing system Q having the maximum throughput is selected from the in-memory type queuing systems Q.

図9は、サービスが扱うデータの発生頻度が高い場合の処理例を示すフローチャートである。図9では、図8のステップS804~ステップS807の処理を置き換えている。図8のステップS803の処理後、処理フレームワーク連携装置100(遅延測定部205)は、処理フレームワークFW間を抽出したキューイングシステムQ(Queue)で接続する。そして、それぞれのキューイングシステムQのスループットを測定する(ステップS804a)。 FIG. 9 is a flowchart showing a processing example when the data handled by the service is frequently generated. In FIG. 9, the processes of steps S804 to S807 of FIG. 8 are replaced. After the processing of step S803 in FIG. 8, the processing framework cooperation device 100 (delay measuring unit 205) is connected by the queuing system Q (Queue) extracted between the processing framework FWs. Then, the throughput of each queuing system Q is measured (step S804a).

次に、処理フレームワーク連携装置100(連携システム選択部206)は、非インメモリ型のキューイングシステムQ(Queue)の最大スループット≧最大スループット/N'であるかを判断する(ステップS805a)。 Next, the processing framework linkage device 100 (linkage system selection unit 206) determines whether the maximum throughput ≥ maximum throughput / N'of the non-in-memory type queuing system Q (Queue) (step S805a).

ステップS805の判断結果、非インメモリ型のキューイングシステムQ(Queue)の最大スループット≧最大スループット/N'の条件を満たしたとする(ステップS805a:Yes)。この場合、処理フレームワーク連携装置100(連携システム選択部206)は、スループットが最大の非インメモリ型のキューイングシステムQ(Queue)を選択する(ステップS806a)。 As a result of the determination in step S805, it is assumed that the condition of maximum throughput ≥ maximum throughput / N'of the non-in-memory type queuing system Q (Queue) is satisfied (step S805a: Yes). In this case, the processing framework linkage device 100 (linkage system selection unit 206) selects the non-in-memory type queuing system Q (Queue) having the maximum throughput (step S806a).

一方、ステップS805aの判断結果、非インメモリ型のキューイングシステムQ(Queue)の最大スループット≧最大スループット/N'の条件を満たさなかったとする(ステップS805a:No)。この場合、処理フレームワーク連携装置100(連携システム選択部206)は、スループットが最大のインメモリ型のキューイングシステムQ(Queue)を選択する(ステップS807a)。この後、図8のステップS808の処理に移行する。 On the other hand, as a result of the determination in step S805a, it is assumed that the condition of maximum throughput ≥ maximum throughput / N'of the non-in-memory type queuing system Q (Queue) is not satisfied (step S805a: No). In this case, the processing framework linkage device 100 (linkage system selection unit 206) selects the in-memory type queuing system Q (Queue) having the maximum throughput (step S807a). After that, the process proceeds to the process of step S808 of FIG.

このように、サービスが扱うデータの発生頻度が高い場合には、非インメモリ型よりも高速処理が可能なインメモリ型を優先的に使用することで、スループットを向上させることができるようになる。 In this way, when the frequency of data handled by the service is high, the throughput can be improved by preferentially using the in-memory type that can perform high-speed processing over the non-in-memory type. ..

(2.サービスが扱うデータサイズが大きい場合)
サービスが扱うデータサイズが所定のデータサイズよりも大きい場合、インメモリ型ではメモリ302の使用量が大きくなるため、データ領域を大きく取れる非インメモリ型が有効となる。このような場合、処理フレームワーク連携装置100(遅延測定部205)は、サービスで使用する指定データサイズに対応した大きなデータサイズのサンプルデータを用いて転送遅延Tbを測定する。
(2. When the data size handled by the service is large)
When the data size handled by the service is larger than the predetermined data size, the in-memory type uses a large amount of the memory 302, so that the non-in-memory type that can take a large data area is effective. In such a case, the processing framework linkage device 100 (delay measurement unit 205) measures the transfer delay Tb using sample data having a large data size corresponding to the designated data size used in the service.

図10は、サービスが扱うデータサイズが大きい場合の処理例を示すフローチャートである。図10では、図8のステップS804の処理を置き換えている。図8のステップS803の処理後、処理フレームワーク連携装置100(遅延測定部205)は、処理フレームワークFW間を抽出したキューイングシステムQ(Queue)で接続する。そして、指定データサイズを用いてそれぞれのキューイングシステムQの転送遅延Tbを測定する(ステップS804b)。この後、図8のステップS805の処理に移行する。 FIG. 10 is a flowchart showing a processing example when the data size handled by the service is large. FIG. 10 replaces the process of step S804 of FIG. After the processing of step S803 in FIG. 8, the processing framework cooperation device 100 (delay measuring unit 205) is connected by the queuing system Q (Queue) extracted between the processing framework FWs. Then, the transfer delay Tb of each queuing system Q is measured using the designated data size (step S804b). After that, the process proceeds to the process of step S805 of FIG.

このように、サービスが扱うデータサイズが大きい場合には、サービスで使用する指定データサイズに対応した大きなデータサイズを用いて、転送遅延Tbを測定する。これにより、例えば、大きなデータサイズの転送時には、インメモリ型よりもメモリ容量を確保できる非インメモリ型を優先的に使用することで、データ転送のスループットを向上できるようになる。 As described above, when the data size handled by the service is large, the transfer delay Tb is measured using a large data size corresponding to the designated data size used in the service. As a result, for example, when transferring a large data size, the non-in-memory type that can secure the memory capacity is preferentially used over the in-memory type, so that the data transfer throughput can be improved.

(3.サービス内の連携ポイントが複数存在する場合)
上記の実施形態では、連携ポイントPが一つの場合を説明したが、以下には、サービス内の連携ポイントPが複数存在する場合の処理例を説明する。サービス内の連携ポイントPが複数存在する場合、転送遅延Tbが大きい連携ポイントPがサービス全体の処理遅延に影響する(ボトルネックになる)。また、利用するキューイングシステムQが増えるとメモリ使用量が多くなる。このため、この処理例では、最短の転送遅延Dminが最長の(最短転送遅延が大きい)連携ポイントPからキューイングシステムQを選択していく。また、選択済みのキューイングシステムQが利用可能な連携ポイントは同じシステムを使用する。
(3. When there are multiple cooperation points in the service)
In the above embodiment, the case where there is one cooperation point P has been described, but the processing example when there are a plurality of cooperation points P in the service will be described below. When there are a plurality of cooperation points P in the service, the cooperation point P having a large transfer delay Tb affects the processing delay of the entire service (becomes a bottleneck). Further, as the number of queuing systems Q used increases, the amount of memory used increases. Therefore, in this processing example, the queuing system Q is selected from the cooperation point P having the longest transfer delay Dmin (the shortest transfer delay is large). Further, the same system is used for the cooperation points that can be used by the selected queuing system Q.

図11は、サービス内の連携ポイントが複数存在する場合の処理例を示すフローチャートである。図11に示すように、図8のステップS803と、ステップS804の処理により各連携ポイントに対して行う処理の実行後、最短の転送遅延Tbの大きい連携ポイントPから順に行う処理を実行する。 FIG. 11 is a flowchart showing a processing example when there are a plurality of cooperation points in the service. As shown in FIG. 11, after the processing performed for each cooperation point by the processing of step S803 and step S804 of FIG. 8 is executed, the processing performed in order from the cooperation point P having the shortest transfer delay Tb is executed.

図8のステップS804の処理後、処理フレームワーク連携装置100(連携システム選択部206)は、選択済みで利用可能なキューイングシステムQ(Queue)があるか判断する(ステップS1101)。判断結果、選択済みで利用可能なキューイングシステムQがあれば(ステップS1101:Yes)、遅延測定部205は、非インメモリ型のキューイングシステムQの最短の転送遅延Tb≦最短の転送遅延Dmin×Nであるかを判断する(ステップS805)。 After the processing of step S804 of FIG. 8, the processing framework linkage device 100 (linkage system selection unit 206) determines whether or not there is a selected and available queuing system Q (Queue) (step S1101). As a result of the determination, if there is a selected and available queuing system Q (step S1101: Yes), the delay measuring unit 205 has the shortest transfer delay Tb ≤ the shortest transfer delay Dmin of the non-in-memory queuing system Q. It is determined whether it is × N (step S805).

ステップS805の判断結果、非インメモリ型のキューイングシステムQ(Queue)の最短の転送遅延Tb≦最短の転送遅延Dmin×Nの条件を満たしたとする(ステップS805:Yes)。この場合、処理フレームワーク連携装置100(連携システム選択部206)は、転送遅延Tbが最短の非インメモリ型のキューイングシステムQ(Queue)を選択する(ステップS806)。 As a result of the determination in step S805, it is assumed that the condition of the shortest transfer delay Tb ≦ the shortest transfer delay Dmin × N of the non-in-memory type queuing system Q (Queue) is satisfied (step S805: Yes). In this case, the processing framework linkage device 100 (linkage system selection unit 206) selects the non-in-memory type queuing system Q (Queue) having the shortest transfer delay Tb (step S806).

一方、ステップS805の判断結果、非インメモリ型のキューイングシステムQ(Queue)の最短の転送遅延Tb≦最短の転送遅延Dmin×Nの条件を満たさなかったとする(ステップS805:No)。この場合、処理フレームワーク連携装置100(連携システム選択部206)は、転送遅延Tbが最短のインメモリ型のキューイングシステムQ(Queue)を選択する(ステップS807)。 On the other hand, as a result of the determination in step S805, it is assumed that the condition of the shortest transfer delay Tb ≦ the shortest transfer delay Dmin × N of the non-in-memory type queuing system Q (Queue) is not satisfied (step S805: No). In this case, the processing framework linkage device 100 (linkage system selection unit 206) selects the in-memory type queuing system Q (Queue) having the shortest transfer delay Tb (step S807).

また、ステップS1101の判断結果、選択済みで利用可能なキューイングシステムQがなければ(ステップS1101:No)、処理フレームワーク連携装置100(連携システム選択部206)は、ステップS1102を実行する。ステップS1102では、処理フレームワーク連携装置100(連携システム選択部206)は、選択済みで利用可能なキューイングシステムQの中で転送遅延Tbが最短のものを選択する(ステップS1102)。そして、上記ステップS806,ステップS807、またはステップS1102の実行後、ステップS808の処理に移行する。 If there is no queuing system Q that has been selected and can be used as a result of the determination in step S1101 (step S1101: No), the processing framework linkage device 100 (linkage system selection unit 206) executes step S1102. In step S1102, the processing framework linkage device 100 (linkage system selection unit 206) selects the one with the shortest transfer delay Tb among the selected and available queuing systems Q (step S1102). Then, after the execution of step S806, step S807, or step S1102, the process proceeds to step S808.

このように、サービス内の連携ポイントPが複数存在する場合には、複数の処理フレームワークFWを接続するキューイングシステムQのうち、転送遅延Tbが最長の連携ポイントPから順にキューイングシステムQを選択していく。そして、選択済みのキューイングシステムQがあれば選択済みで利用可能なキューイングシステムQの中で遅延が最短なキューイングシステムQを選択する。なお、選択済みで利用可能なキューイングシステムQがなければ、上記実施の形態で説明した処理例同様に、最短の転送遅延Tbに基づき、非インメモリ型を優先して選択する。これにより、連携ポイントPが複数の場合でも、システム全体のスループットを向上できるようになる。 In this way, when there are a plurality of cooperation points P in the service, the queuing system Q is sequentially selected from the cooperation point P having the longest transfer delay Tb among the queuing systems Q connecting the plurality of processing frameworks FW. I will choose. Then, if there is a selected queuing system Q, the queuing system Q having the shortest delay is selected from the selected and available queuing systems Q. If there is no queuing system Q that has been selected and can be used, the non-in-memory type is preferentially selected based on the shortest transfer delay Tb, as in the processing example described in the above embodiment. As a result, even when there are a plurality of cooperation points P, the throughput of the entire system can be improved.

(4.複数のサービスが実行されている場合)
複数のサービスが実行されている場合には、利用するキューイングシステムQが増え、メモリ使用量が多くなる。このような場合、他のサービスで既に利用しているキューイングシステムQを優先して選択する。この際、他のサービスの転送遅延Tbでサービスに影響が生じる場合、転送遅延Tbを再度測定し、キューイングシステムQを再選択してもよい。また、サービスの優先度をもとに、転送遅延Tbの再測定と、キューイングシステムQの再選択を行ってもよい。
(4. When multiple services are running)
When a plurality of services are executed, the queuing system Q to be used increases and the memory usage increases. In such a case, the queuing system Q already used by other services is preferentially selected. At this time, if the transfer delay Tb of another service affects the service, the transfer delay Tb may be measured again and the queuing system Q may be reselected. Further, the transfer delay Tb may be remeasured and the queuing system Q may be reselected based on the priority of the service.

図12は、複数のサービスが実行されている場合の処理例を示すフローチャートである。図8のステップS803の処理の実行後、処理フレームワーク連携装置100(連携システム抽出部203)は、既に他のサービスが利用しているキューイングシステムQがあれば、この利用中のキューイングシステムQに絞り込む(ステップS1201)。この後、ステップS804の処理に移行する。 FIG. 12 is a flowchart showing a processing example when a plurality of services are executed. After executing the process of step S803 in FIG. 8, the processing framework linkage device 100 (linkage system extraction unit 203) is using the queuing system Q, if there is a queuing system Q already used by another service. Narrow down to Q (step S1201). After that, the process proceeds to step S804.

このように、複数のサービスが実行されている場合には、他のサービスで既に利用しているキューイングシステムQを優先して選択する。これにより、例えば、同じ映像を複数のサービスで使用する場合等、複数のサービスの実行時に他のサービスで利用しているキューイングシステムQを使用することで、メモリの使用量を削減できるようになる。 In this way, when a plurality of services are executed, the queuing system Q already used by the other services is preferentially selected. This makes it possible to reduce the amount of memory used by using the queuing system Q used by other services when executing multiple services, for example, when the same video is used by multiple services. Become.

(5.サービスの実行遅延が転送遅延または処理遅延よりも十分に大きい場合)
図13(a)は、修正後のサービス定義S’を示す図である。サービス全体の実行時間である実行遅延Tcが転送遅延Tbまたは処理遅延Taより十分に大きい場合には、キューイングシステムQによる遅延の影響が小さいため、転送遅延Tbが大きい場合でも影響が生じない。この場合、転送遅延Tbに加えてサービス全体の実行時間(実行遅延Tc)についても測定しておくことで、実行遅延Tcが転送遅延Tbより十分に大きければ転送遅延Tbが大きいキューイングシステムQを選択する。
(5. When the service execution delay is sufficiently larger than the transfer delay or processing delay)
FIG. 13A is a diagram showing a modified service definition S'. When the execution delay Tc, which is the execution time of the entire service, is sufficiently larger than the transfer delay Tb or the processing delay Ta, the effect of the delay by the queuing system Q is small, so that even if the transfer delay Tb is large, there is no effect. In this case, by measuring the execution time (execution delay Tc) of the entire service in addition to the transfer delay Tb, if the execution delay Tc is sufficiently larger than the transfer delay Tb, the queuing system Q having a large transfer delay Tb can be obtained. select.

図13(b)は、サービスの実行遅延が転送遅延または処理遅延よりも十分に大きい場合の処理例を示すフローチャートである。図8のステップS803の処理実行後、処理フレームワーク連携装置100(遅延測定部205)は、処理フレームワークFW間を抽出したキューイングシステムQ(Queue)で接続する。そして、それぞれのキューイングシステムQの転送遅延Tbと実行遅延Tcを測定する(ステップS804c)。 FIG. 13B is a flowchart showing a processing example when the execution delay of the service is sufficiently larger than the transfer delay or the processing delay. After executing the processing in step S803 of FIG. 8, the processing framework cooperation device 100 (delay measurement unit 205) is connected by the queuing system Q (Queue) extracted between the processing framework FWs. Then, the transfer delay Tb and the execution delay Tc of each queuing system Q are measured (step S804c).

この後、処理フレームワーク連携装置100(遅延測定部205)は、実行遅延Tc≧最短の転送遅延Tb×M(定数)であるか判断する(ステップS1301)。ここでは、最短の転送遅延TbのキューイングシステムQに対する判断を行う。判断の結果、実行遅延Tc≧最短の転送遅延Dmin×M(定数)であれば(ステップS1301:Yes)、ステップS1302の処理に移行する。この場合、処理フレームワーク連携装置100(連携システム選択部206)は、転送遅延Tbが最長のキューイングシステムQから優先的に選択する(ステップS1302)。一方、実行遅延Tc≧最短の転送遅延Dmin×M(定数)でなかったとする(ステップS1301:No)。この場合、処理フレームワーク連携装置100(連携システム選択部206)は、ステップS805の処理に移行する。 After that, the processing framework linkage device 100 (delay measurement unit 205) determines whether the execution delay Tc ≧ the shortest transfer delay Tb × M (constant) (step S1301). Here, the determination is made for the queuing system Q of the shortest transfer delay Tb. As a result of the determination, if the execution delay Tc ≧ the shortest transfer delay Dmin × M (constant) (step S1301: Yes), the process proceeds to step S1302. In this case, the processing framework linkage device 100 (linkage system selection unit 206) preferentially selects from the queuing system Q having the longest transfer delay Tb (step S1302). On the other hand, it is assumed that the execution delay Tc ≧ the shortest transfer delay Dmin × M (constant) (step S1301: No). In this case, the processing framework cooperation device 100 (cooperation system selection unit 206) shifts to the processing of step S805.

ステップS805では、遅延測定部205は、非インメモリ型のキューイングシステムQの最短の転送遅延Tb≦最短の転送遅延Dmin×Nであるかを判断する(ステップS805)。ステップS805の判断結果、非インメモリ型のキューイングシステムQ(Queue)の最短の転送遅延Tb≦最短の転送遅延Dmin×Nの条件を満たしたとする(ステップS805:Yes)。この場合、処理フレームワーク連携装置100(連携システム選択部206)は、転送遅延Tbが最短の非インメモリ型のキューイングシステムQ(Queue)を選択する(ステップS806)。 In step S805, the delay measuring unit 205 determines whether the shortest transfer delay Tb ≦ the shortest transfer delay Dmin × N of the non-in-memory queuing system Q (step S805). As a result of the determination in step S805, it is assumed that the condition of the shortest transfer delay Tb ≦ the shortest transfer delay Dmin × N of the non-in-memory type queuing system Q (Queue) is satisfied (step S805: Yes). In this case, the processing framework linkage device 100 (linkage system selection unit 206) selects the non-in-memory type queuing system Q (Queue) having the shortest transfer delay Tb (step S806).

一方、ステップS805の判断結果、非インメモリ型のキューイングシステムQ(Queue)の最短の転送遅延Tb≦最短の転送遅延Dmin×Nの条件を満たさなかったとする(ステップS805:No)。この場合、処理フレームワーク連携装置100(連携システム選択部206)は、転送遅延Tbが最短のインメモリ型のキューイングシステムQ(Queue)を選択する(ステップS807)。そして、ステップS806,ステップS807,ステップS1302の処理後は、ステップS808の処理に移行する。 On the other hand, as a result of the determination in step S805, it is assumed that the condition of the shortest transfer delay Tb ≦ the shortest transfer delay Dmin × N of the non-in-memory type queuing system Q (Queue) is not satisfied (step S805: No). In this case, the processing framework linkage device 100 (linkage system selection unit 206) selects the in-memory type queuing system Q (Queue) having the shortest transfer delay Tb (step S807). Then, after the processing of step S806, step S807, and step S1302, the process proceeds to the processing of step S808.

このように、サービスの実行遅延Tcが転送遅延Tbまたは処理遅延Taよりも十分に大きい場合には、キューイングシステムQによる遅延の影響が相対的に小さくなり、転送遅延Tbが大きくても影響が生じない。このため、実行遅延Tcを測定し、実行遅延Tcが転送遅延Tbより十分に大きい場合には、転送遅延Tbが大きいキューイングシステムQを選択する。これにより、他のサービスが低遅延のキューイングシステムQを利用できるようになる。 As described above, when the execution delay Tc of the service is sufficiently larger than the transfer delay Tb or the processing delay Ta, the influence of the delay due to the queuing system Q becomes relatively small, and even if the transfer delay Tb is large, the influence is exerted. Does not occur. Therefore, the execution delay Tc is measured, and if the execution delay Tc is sufficiently larger than the transfer delay Tb, the queuing system Q having a large transfer delay Tb is selected. This allows other services to utilize the low latency queuing system Q.

以上説明した実施の形態によれば、サービス定義に対応するフィルタが動作する処理フレームワークを連携させる際に、処理フレームワーク間の転送遅延を測定する。これにより、処理フレームワーク間を接続する最適なキューイングシステムを選択することができ、インメモリ型に限らず非インメモリ型のキューイングシステムも選択可能となる。例えば、複数のキューイングシステムのうち最短の転送遅延のものに対し、非インメモリ型の転送遅延が所定の範囲にあれば、非インメモリ型のうち最短の転送遅延のものを選択する。非インメモリ型のキューイングシステムの選択時には、多数のサービスを同時に利用する際のメモリ不足を回避でき、結果としてサービスを低遅延でスループットを向上できるようになる。 According to the embodiment described above, the transfer delay between the processing frameworks is measured when the processing frameworks in which the filters corresponding to the service definitions operate are linked. As a result, the optimum queuing system for connecting the processing frameworks can be selected, and not only the in-memory type but also the non-in-memory type queuing system can be selected. For example, for the shortest transfer delay among a plurality of queuing systems, if the non-in-memory type transfer delay is within a predetermined range, the shortest transfer delay among the non-in-memory types is selected. When selecting a non-in-memory queuing system, it is possible to avoid running out of memory when using a large number of services at the same time, and as a result, it is possible to improve the throughput of services with low latency.

また、選択したキューイングシステムを用いるために必要な連携処理を連携ポイントの両端の処理フレームワークにそれぞれ挿入する。これにより、異なる処理フレームワークにあるフィルタをキューイングシステムで接続でき、複数の処理フレームワークの連携により要求されるサービスに対して柔軟に対応でき、また、各種サービスの開発および提供が行えるようになる。 In addition, the linkage processing required to use the selected queuing system is inserted into the processing framework at both ends of the linkage point. This makes it possible to connect filters in different processing frameworks with a queuing system, flexibly respond to the services required by linking multiple processing frameworks, and develop and provide various services. Become.

また、キューイングシステムの処理遅延が、他の遅延より十分に小さければ、非インメモリ型でも影響が出ないことに着目し、キューイングシステムを用いて、処理フレームワークの間でデータを実際に転送させた時の転送遅延を測定している。これにより、キューイングシステム自体の処理遅延だけではなく、転送遅延の測定結果を用いることで、実際のサービス提供時に低遅延でスループットを向上できるようになる。 Also, paying attention to the fact that if the processing delay of the queuing system is sufficiently smaller than other delays, there is no effect even if it is a non-in-memory type, and the queuing system is used to actually transfer data between processing frameworks. The transfer delay at the time of transfer is measured. As a result, not only the processing delay of the queuing system itself but also the measurement result of the transfer delay can be used to improve the throughput with low delay when actually providing the service.

また、サービス定義に含まれる処理が動作する処理フレームワークを求め、処理フレームワーク間の連携ポイントを抽出する。また、抽出した連携ポイントの両端のキューイングシステムで共用可能なキューイングシステムを抽出する。この際、サービス定義に含まれる処理が動作する処理フレームワークと、共用可能なキューイングシステムの情報は、データベース上に予め保持しておくことができ、データベースを参照して容易に得ることができる。また、異なる処理フレームワークにあるフィルタをキューイングシステムで接続し、複数の処理フレームワークを連携することができるようになる。 In addition, the processing framework in which the processing included in the service definition operates is obtained, and the cooperation points between the processing frameworks are extracted. In addition, the queuing system that can be shared by the queuing systems at both ends of the extracted cooperation point is extracted. At this time, information on the processing framework in which the processing included in the service definition operates and the queuing system that can be shared can be stored in advance in the database, and can be easily obtained by referring to the database. .. In addition, filters in different processing frameworks can be connected by a queuing system, and multiple processing frameworks can be linked.

また、複数のキューイングシステムのうち、最短の転送遅延に対し、非インメモリ型の転送遅延が所定の範囲になければ、インメモリ型のうち転送速度が最短のものを選択する。このように、実施の形態では、できるだけ非インメモリ型を優先して利用するようにしているが、インメモリ型を含めて多様なキューイングシステムを選択できる。 Further, among a plurality of queuing systems, if the non-in-memory type transfer delay is not within a predetermined range for the shortest transfer delay, the in-memory type with the shortest transfer speed is selected. As described above, in the embodiment, the non-in-memory type is preferentially used as much as possible, but various queuing systems including the in-memory type can be selected.

また、処理フレームワーク間に挿入する連携の処理に対応してサービス定義Sを修正したサービス定義S’として出力することで、処理フレームワークが連携して実行可能となる。 Further, by outputting the service definition S as a modified service definition S'corresponding to the linked processing inserted between the processing frameworks, the processing frameworks can be linked and executed.

また、サービスが扱うデータの発生頻度が所定頻度より高い場合、データを連続的に転送した時の複数のキューイングシステムのスループットを測定することとしてもよい。そして、複数のキューイングシステムのうち最大の前記スループットのものに対し、非インメモリ型のスループットが所定の範囲にあれば、非インメモリ型のうち最大のスループットのものを選択する。このように、データの発生頻度が高いことに対応して高速なインメモリ型を選択することで、処理全体のスループットの低下を抑制できるようになる。 Further, when the frequency of occurrence of data handled by the service is higher than a predetermined frequency, the throughput of a plurality of queuing systems when the data is continuously transferred may be measured. Then, if the non-in-memory type throughput is within a predetermined range with respect to the maximum throughput of the plurality of queuing systems, the non-in-memory type with the maximum throughput is selected. In this way, by selecting a high-speed in-memory type corresponding to the high frequency of data generation, it is possible to suppress a decrease in the overall processing throughput.

また、サービスが扱うデータのサイズが所定のサイズよりも大きい場合、予めサービスで利用する所定のデータサイズを転送し、キューイングシステムのそれぞれの転送遅延を測定してもよい。これにより、実際のサービスで大きなデータサイズを利用する場合に対応して非インメモリ型を選択することで、処理全体のスループットの低下を防ぐことができるようになる。 Further, when the size of the data handled by the service is larger than the predetermined size, the predetermined data size used in the service may be transferred in advance and the transfer delay of each of the queuing systems may be measured. This makes it possible to prevent a decrease in the overall processing throughput by selecting the non-in-memory type in response to the case where a large data size is used in the actual service.

また、サービス内に連携ポイントが複数存在する場合、最短転送遅延が大きい連携ポイントからキューイングシステムを選択し、他の連携ポイントは選択済みのキューイングシステムが利用可能であれば、選択済みの同じキューイングシステムを利用してもよい。これにより、複数の連携ポイントを有するサービスの実行時における転送遅延が大きい連携ポイントの発生を抑制でき、処理全体のスループットの低下を防ぐことができるようになる。 If there are multiple linkage points in the service, the queuing system is selected from the linkage points with the largest shortest transfer delay, and the other linkage points are the same as selected if the selected queuing system is available. A queuing system may be used. As a result, it is possible to suppress the occurrence of a linkage point having a large transfer delay during execution of a service having a plurality of linkage points, and it is possible to prevent a decrease in the overall processing throughput.

また、複数のサービスが実行されている場合、他のサービスで利用しているキューイングシステムを優先して選択してもよい。例えば、同じ映像を異なる複数のサービスで利用する場合等において、各サービスで同じキューイングシステムを用いる。これにより、利用するキューイングシステムの増加を抑えてメモリ使用量を抑制でき、処理全体のスループットの低下を防ぐことができるようになる。 Further, when a plurality of services are executed, the queuing system used by other services may be preferentially selected. For example, when the same video is used by a plurality of different services, the same queuing system is used for each service. As a result, it is possible to suppress an increase in the number of queuing systems to be used, suppress memory usage, and prevent a decrease in the overall processing throughput.

また、サービス全体の実行にかかる実行遅延を測定し、実行遅延が転送遅延または処理遅延よりも十分に大きい場合、転送遅延が最長のキューイングシステムから優先して選択してもよい。このような場合、キューイングシステムによる処理遅延または転送遅延が大きい場合でも、サービス全体に対する遅延の影響が小さいため、非インメモリ型等の転送遅延が最長のキューイングシステムから選択していくことができる。これにより、他のサービスが低遅延(処理遅延および転送遅延)のキューイングシステムを利用できるようになり、複数のサービス実行時の処理全体のスループットの低下を防ぐことができるようになる。 In addition, the execution delay of the entire service may be measured, and if the execution delay is sufficiently larger than the transfer delay or the processing delay, the queuing system with the longest transfer delay may be selected first. In such a case, even if the processing delay or transfer delay due to the queuing system is large, the effect of the delay on the entire service is small, so it is possible to select from the queuing system with the longest transfer delay such as non-in-memory type. can. This makes it possible for other services to utilize a queuing system with low delay (processing delay and transfer delay), and it is possible to prevent a decrease in the overall processing throughput when executing multiple services.

なお、本発明の実施の形態で説明した処理フレームワーク連携プログラムは、予め用意されたプログラムをサーバ等のプロセッサに実行させることにより実現することができる。本制御方法は、ハードディスク、フレキシブルディスク、CD-ROM(Compact Disc-Read Only Memory)、フラッシュメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータが記録媒体から読み出し実行する。また本制御方法は、インターネット等のネットワークを介して配布してもよい。 The processing framework linkage program described in the embodiment of the present invention can be realized by causing a processor such as a server to execute a program prepared in advance. This control method is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM (Compact Disc-Read Only Memory), or a flash memory, and is read from the recording medium and executed by the computer. Further, this control method may be distributed via a network such as the Internet.

上述した実施の形態に関し、さらに以下の付記を開示する。 The following additional notes are further disclosed with respect to the above-described embodiment.

(付記1)要求されたサービスのサービス定義に含まれる処理を有する処理フレームワーク間の連携ポイントをキューイングシステムで接続する処理フレームワーク連携装置において、
メモリ上にキューを配置したインメモリ型およびディスク上にキューを配置した非インメモリ型の前記キューイングシステムそれぞれのキューイングの処理遅延と、前記処理フレームワーク間でのデータ転送にかかる転送遅延とに基づき、前記インメモリ型あるいは前記非インメモリ型を前記キューイングシステムとして選択する制御部、
を備えたことを特徴とする処理フレームワーク連携装置。
(Appendix 1) In the processing framework cooperation device that connects the cooperation points between the processing frameworks having the processing included in the service definition of the requested service by the queuing system.
The processing delay of queuing for each of the in-memory type queuing system in which the queue is arranged on the memory and the non-in-memory type queuing system in which the queue is arranged on the disk, and the transfer delay for data transfer between the processing frameworks. A control unit that selects the in-memory type or the non-in-memory type as the queuing system based on
A processing framework cooperation device characterized by being equipped with.

(付記2)前記制御部は、
前記サービス定義から、前記処理フレームワーク間の前記連携ポイントを抽出する連携ポイント抽出部と、
抽出した前記連携ポイント毎に、利用可能な複数の前記キューイングシステムを抽出する連携システム抽出部と、
抽出した前記キューイングシステムで前記連携ポイントを接続し、前記処理フレームワーク間のデータの転送遅延を測定する遅延測定部と、
測定した前記転送遅延に基づいて、利用するキューイングシステムとして、前記インメモリ型あるいは非インメモリ型を選択する選択部と、
選択した前記キューイングシステムで前記連携ポイントを接続する連携の処理を挿入する連携システム挿入部と、
を備えたことを特徴とする付記1に記載の処理フレームワーク連携装置。
(Appendix 2) The control unit is
A linkage point extraction unit that extracts the linkage points between the processing frameworks from the service definition,
A linkage system extraction unit that extracts a plurality of available queuing systems for each of the extracted linkage points.
A delay measurement unit that connects the cooperation points with the extracted queuing system and measures the data transfer delay between the processing frameworks.
A selection unit that selects the in-memory type or the non-in-memory type as the queuing system to be used based on the measured transfer delay.
A linkage system insertion unit that inserts a linkage process that connects the linkage points in the selected queuing system, and a linkage system insertion unit.
The processing framework linkage device according to Appendix 1, wherein the processing framework linkage device is provided.

(付記3)前記選択部は、
複数の前記キューイングシステムのうち最短の前記転送遅延の前記キューイングシステムに対し、前記非インメモリ型の転送遅延が所定の範囲にあれば、前記非インメモリ型のうち最短の転送遅延の前記キューイングシステムを選択することを特徴とする付記2に記載の処理フレームワーク連携装置。
(Appendix 3) The selection unit is
If the non-in-memory type transfer delay is within a predetermined range with respect to the queuing system having the shortest transfer delay among the plurality of queuing systems, the shortest transfer delay among the non-in-memory types is said. The processing framework linkage device according to Appendix 2, wherein a queuing system is selected.

(付記4)前記連携ポイント抽出部は、
前記サービス定義に含まれる前記処理が動作する前記処理フレームワークを求め、当該処理フレームワーク間の前記連携ポイントを抽出することを特徴とする付記2または3に記載の処理フレームワーク連携装置。
(Appendix 4) The cooperation point extraction unit is
The processing framework linkage device according to Appendix 2 or 3, wherein the processing framework in which the processing included in the service definition operates is obtained, and the linkage point between the processing frameworks is extracted.

(付記5)前記連携システム抽出部は、
抽出した前記連携ポイントの両端の前記キューイングシステムで共用可能な前記キューイングシステムを抽出することを特徴とする付記2~4のいずれか一つに記載の処理フレームワーク連携装置。
(Appendix 5) The cooperation system extraction unit is
The processing framework linkage device according to any one of Supplementary note 2 to 4, wherein the queuing system that can be shared by the queuing system at both ends of the extracted linkage point is extracted.

(付記6)前記遅延測定部は、
抽出した前記キューイングシステムで前記連携ポイントを接続し、前記処理フレームワーク間でサンプルデータを実際に転送して前記転送遅延を測定することを特徴とする付記2~5のいずれか一つに記載の処理フレームワーク連携装置。
(Appendix 6) The delay measuring unit is
Described in any one of Supplementary Provisions 2 to 5, wherein the linked points are connected by the extracted queuing system, sample data is actually transferred between the processing frameworks, and the transfer delay is measured. Processing framework cooperation device.

(付記7)前記選択部は、
複数の前記キューイングシステムのうち、最短の前記転送遅延の前記キューイングシステムに対し、前記非インメモリ型の転送遅延が所定の範囲になければ、前記インメモリ型のうち転送速度が最短の前記キューイングシステムを選択することを特徴とする付記2~6のいずれか一つに記載の処理フレームワーク連携装置。
(Appendix 7) The selection unit is
If the non-in-memory type transfer delay is not within a predetermined range with respect to the queuing system having the shortest transfer delay among the plurality of queuing systems, the in-memory type has the shortest transfer speed. The processing framework linkage device according to any one of Supplementary note 2 to 6, wherein a queuing system is selected.

(付記8)前記連携システム挿入部は、前記連携の処理の挿入に対応して修正した前記サービス定義を出力することを特徴とする付記2~7のいずれか一つに記載の処理フレームワーク連携装置。 (Appendix 8) The processing framework linkage according to any one of Supplementary note 2 to 7, wherein the linkage system insertion unit outputs the service definition modified in response to the insertion of the linkage process. Device.

(付記9)前記制御部は、
前記サービスが扱うデータの発生頻度が所定頻度より高い場合、前記データを連続的に転送した時の複数の前記キューイングシステムのスループットを測定し、複数の前記キューイングシステムのうち最大の前記スループットのものに対し、前記非インメモリ型の前記スループットが所定の範囲にあれば、当該非インメモリ型のうち最大のスループットのものを選択することを特徴とする付記1~8のいずれか一つに記載の処理フレームワーク連携装置。
(Appendix 9) The control unit is
When the frequency of occurrence of the data handled by the service is higher than the predetermined frequency, the throughput of the plurality of the queuing systems when the data is continuously transferred is measured, and the maximum throughput of the plurality of the queuing systems is measured. On the other hand, if the throughput of the non-in-memory type is within a predetermined range, one of the appendices 1 to 8 is characterized in that the one having the maximum throughput is selected from the non-in-memory type. Described processing framework linkage device.

(付記10)前記制御部は、
前記サービスが扱うデータのサイズが所定のサイズよりも大きい場合、予めサービスで利用する所定のデータサイズを転送し、前記キューイングシステムのそれぞれの前記転送遅延を測定することを特徴とする付記1~9のいずれか一つに記載の処理フレームワーク連携装置。
(Appendix 10) The control unit is
When the size of the data handled by the service is larger than the predetermined size, the predetermined data size used in the service is transferred in advance, and the transfer delay of each of the queuing systems is measured. The processing framework linkage device according to any one of 9.

(付記11)前記制御部は、
前記サービス内に前記連携ポイントが複数存在する場合、最短の前記転送遅延が大きい連携ポイントからキューイングシステムを選択し、他の前記連携ポイントは選択済みのキューイングシステムが利用可能であれば、選択済みの同じキューイングシステムを利用することを特徴とする付記1~10のいずれか一つに記載の処理フレームワーク連携装置。
(Appendix 11) The control unit is
When a plurality of the cooperation points exist in the service, the queuing system is selected from the cooperation point having the shortest transfer delay, and the other cooperation points are selected if the selected queuing system is available. The processing framework linkage device according to any one of Supplementary note 1 to 10, wherein the same queuing system that has already been completed is used.

(付記12)前記制御部は、
複数のサービスが実行されている場合、他のサービスで利用している前記キューイングシステムを優先して選択することを特徴とする付記1~11のいずれか一つに記載の処理フレームワーク連携装置。
(Appendix 12) The control unit is
The processing framework linkage device according to any one of Supplementary note 1 to 11, wherein when a plurality of services are executed, the queuing system used in the other services is preferentially selected. ..

(付記13)前記制御部は、
前記サービス全体の実行にかかる実行遅延を測定し、当該実行遅延が前記転送遅延または前記処理遅延よりも十分に大きい場合、前記転送遅延が最長の前記キューイングシステムから優先して選択することを特徴とする付記1~12のいずれか一つに記載の処理フレームワーク連携装置。
(Appendix 13) The control unit is
It is characterized in that the execution delay related to the execution of the entire service is measured, and when the execution delay is sufficiently larger than the transfer delay or the processing delay, the queuing system having the longest transfer delay is preferentially selected. The processing framework linkage device according to any one of Supplementary note 1 to 12.

(付記14)要求されたサービスのサービス定義に含まれる処理を有する処理フレームワーク間の連携ポイントをキューイングシステムで接続する処理フレームワーク連携方法において、
メモリ上にキューを配置したインメモリ型およびディスク上にキューを配置した非インメモリ型の前記キューイングシステムそれぞれのキューイングの処理遅延と、前記処理フレームワーク間でのデータ転送にかかる転送遅延とに基づき、前記インメモリ型あるいは前記非インメモリ型を前記キューイングシステムとして選択する、
処理をコンピュータが実行することを特徴とする処理フレームワーク連携方法。
(Appendix 14) In the processing framework cooperation method of connecting the cooperation points between the processing frameworks having the processing included in the service definition of the requested service by the queuing system.
The processing delay of queuing for each of the in-memory type queuing system in which the queue is arranged on the memory and the non-in-memory type queuing system in which the queue is arranged on the disk, and the transfer delay for data transfer between the processing frameworks. Select the in-memory type or the non-in-memory type as the queuing system based on the above.
A processing framework linkage method characterized in that processing is executed by a computer.

(付記15)要求されたサービスのサービス定義に含まれる処理を有する処理フレームワーク間の連携ポイントをキューイングシステムで接続する処理フレームワーク連携プログラムにおいて、
メモリ上にキューを配置したインメモリ型およびディスク上にキューを配置した非インメモリ型の前記キューイングシステムそれぞれのキューイングの処理遅延と、前記処理フレームワーク間でのデータ転送にかかる転送遅延とに基づき、前記インメモリ型あるいは前記非インメモリ型を前記キューイングシステムとして選択する、
処理をコンピュータに実行させることを特徴とする処理フレームワーク連携プログラム。
(Appendix 15) In a processing framework linkage program that connects linkage points between processing frameworks that have processing included in the service definition of the requested service with a queuing system.
The processing delay of queuing for each of the in-memory type queuing system in which the queue is arranged on the memory and the non-in-memory type queuing system in which the queue is arranged on the disk, and the transfer delay for data transfer between the processing frameworks. Select the in-memory type or the non-in-memory type as the queuing system based on the above.
A processing framework linkage program characterized by having a computer execute processing.

100 処理フレームワーク連携装置
201 連携ポイント抽出部
202 フィルタデータベース(DB)
203 連携システム抽出部
204 フレームワークデータベース(DB)
205 遅延測定部
206 連携システム選択部
207 連携システム挿入部
301 CPU
302 メモリ
305 記録媒体
310 ネットワーク
401,402,413 フィルタ
600 転送遅延測定結果
701,702 連携処理(入出力処理)
Dmin 最短の転送遅延
FW(FW-A,FW-B) 処理フレームワーク
P 連携ポイント
Q キューイングシステム
Ta 処理遅延
Tb 転送遅延
Tc 実行遅延
100 Processing framework linkage device 201 Linkage point extraction unit 202 Filter database (DB)
203 Linked system extraction unit 204 Framework database (DB)
205 Delay measurement unit 206 Coordination system selection unit 207 Coordination system insertion unit 301 CPU
302 Memory 305 Recording medium 310 Network 401, 402, 413 Filter 600 Transfer delay measurement result 701,702 Linkage processing (input / output processing)
Dmin Shortest transfer delay FW (FW-A, FW-B) Processing framework P Linkage point Q Queuing system Ta Processing delay Tb Transfer delay Tc Execution delay

Claims (14)

要求されたサービスのサービス定義に含まれる処理を有する処理フレームワーク間の連携ポイントをキューイングシステムで接続する処理フレームワーク連携装置において、
メモリ上にキューを配置したインメモリ型およびディスク上にキューを配置した非インメモリ型の前記キューイングシステムそれぞれのキューイングの処理遅延と、前記処理フレームワーク間でのデータ転送にかかる転送遅延とに基づき、前記インメモリ型あるいは前記非インメモリ型を前記キューイングシステムとして選択する制御部、
を備えたことを特徴とする処理フレームワーク連携装置。
In the processing framework linkage device that connects the linkage points between the processing frameworks that have the processing included in the service definition of the requested service with the queuing system.
The processing delay of queuing for each of the in-memory type queuing system in which the queue is arranged on the memory and the non-in-memory type queuing system in which the queue is arranged on the disk, and the transfer delay for data transfer between the processing frameworks. A control unit that selects the in-memory type or the non-in-memory type as the queuing system based on
A processing framework cooperation device characterized by being equipped with.
前記制御部は、
前記サービス定義から、前記処理フレームワーク間の前記連携ポイントを抽出する連携ポイント抽出部と、
抽出した前記連携ポイント毎に、利用可能な複数の前記キューイングシステムを抽出する連携システム抽出部と、
抽出した前記キューイングシステムで前記連携ポイントを接続し、前記処理フレームワーク間のデータの転送遅延を測定する遅延測定部と、
測定した前記転送遅延に基づいて、利用するキューイングシステムとして、前記インメモリ型あるいは非インメモリ型を選択する選択部と、
選択した前記キューイングシステムで前記連携ポイントを接続する連携の処理を挿入する連携システム挿入部と、
を備えたことを特徴とする請求項1に記載の処理フレームワーク連携装置。
The control unit
A linkage point extraction unit that extracts the linkage points between the processing frameworks from the service definition,
A linkage system extraction unit that extracts a plurality of available queuing systems for each of the extracted linkage points.
A delay measurement unit that connects the cooperation points with the extracted queuing system and measures the data transfer delay between the processing frameworks.
A selection unit that selects the in-memory type or the non-in-memory type as the queuing system to be used based on the measured transfer delay.
A linkage system insertion unit that inserts a linkage process that connects the linkage points in the selected queuing system, and a linkage system insertion unit.
The processing framework linkage device according to claim 1, wherein the processing framework linkage device is provided.
前記選択部は、
複数の前記キューイングシステムのうち最短の前記転送遅延の前記キューイングシステムに対し、前記非インメモリ型の転送遅延が所定の範囲にあれば、前記非インメモリ型のうち最短の転送遅延の前記キューイングシステムを選択することを特徴とする請求項2に記載の処理フレームワーク連携装置。
The selection unit is
If the non-in-memory type transfer delay is within a predetermined range with respect to the queuing system having the shortest transfer delay among the plurality of queuing systems, the shortest transfer delay among the non-in-memory types is said. The processing framework linkage device according to claim 2, wherein a queuing system is selected.
前記連携ポイント抽出部は、
前記サービス定義に含まれる前記処理が動作する前記処理フレームワークを求め、当該処理フレームワーク間の前記連携ポイントを抽出することを特徴とする請求項2または3に記載の処理フレームワーク連携装置。
The cooperation point extraction unit
The processing framework cooperation device according to claim 2 or 3, wherein the processing framework in which the processing included in the service definition operates is obtained, and the cooperation point between the processing frameworks is extracted.
前記連携システム抽出部は、
抽出した前記連携ポイントの両端の前記キューイングシステムで共用可能な前記キューイングシステムを抽出することを特徴とする請求項2~4のいずれか一つに記載の処理フレームワーク連携装置。
The cooperation system extraction unit
The processing framework linkage device according to any one of claims 2 to 4, wherein the queuing system that can be shared by the queuing system at both ends of the extracted linkage point is extracted.
前記遅延測定部は、
抽出した前記キューイングシステムで前記連携ポイントを接続し、前記処理フレームワーク間でサンプルデータを実際に転送して前記転送遅延を測定することを特徴とする請求項2~5のいずれか一つに記載の処理フレームワーク連携装置。
The delay measuring unit is
One of claims 2 to 5, wherein the linked points are connected by the extracted queuing system, sample data is actually transferred between the processing frameworks, and the transfer delay is measured. The processing framework linkage device described.
前記選択部は、
複数の前記キューイングシステムのうち、最短の前記転送遅延の前記キューイングシステムに対し、前記非インメモリ型の転送遅延が所定の範囲になければ、前記インメモリ型のうち転送速度が最短の前記キューイングシステムを選択することを特徴とする請求項2~6のいずれか一つに記載の処理フレームワーク連携装置。
The selection unit is
If the non-in-memory type transfer delay is not within a predetermined range with respect to the queuing system having the shortest transfer delay among the plurality of queuing systems, the in-memory type has the shortest transfer speed. The processing framework linkage device according to any one of claims 2 to 6, wherein a queuing system is selected.
前記制御部は、
前記サービスが扱うデータの発生頻度が所定頻度より高い場合、前記データを連続的に転送した時の複数の前記キューイングシステムのスループットを測定し、複数の前記キューイングシステムのうち最大の前記スループットのものに対し、前記非インメモリ型の前記スループットが所定の範囲にあれば、当該非インメモリ型のうち最大のスループットのものを選択することを特徴とする請求項1~7のいずれか一つに記載の処理フレームワーク連携装置。
The control unit
When the frequency of occurrence of the data handled by the service is higher than the predetermined frequency, the throughput of the plurality of the queuing systems when the data is continuously transferred is measured, and the maximum throughput of the plurality of the queuing systems is measured. Any one of claims 1 to 7, characterized in that, if the non-in-memory type has the throughput within a predetermined range, the non-in-memory type having the maximum throughput is selected. The processing framework linkage device described in.
前記制御部は、
前記サービスが扱うデータのサイズが所定のサイズよりも大きい場合、予めサービスで利用する所定のデータサイズを転送し、前記キューイングシステムのそれぞれの前記転送遅延を測定することを特徴とする請求項1~8のいずれか一つに記載の処理フレームワーク連携装置。
The control unit
Claim 1 is characterized in that when the size of the data handled by the service is larger than the predetermined size, the predetermined data size used in the service is transferred in advance and the transfer delay of each of the queuing systems is measured. The processing framework linkage device according to any one of 8 to 8.
前記制御部は、
前記サービス内に前記連携ポイントが複数存在する場合、最短の前記転送遅延が大きい連携ポイントからキューイングシステムを選択し、他の前記連携ポイントは選択済みのキューイングシステムが利用可能であれば、選択済みの同じキューイングシステムを利用することを特徴とする請求項1~9のいずれか一つに記載の処理フレームワーク連携装置。
The control unit
When a plurality of the cooperation points exist in the service, the queuing system is selected from the cooperation point having the shortest transfer delay, and the other cooperation points are selected if the selected queuing system is available. The processing framework linkage device according to any one of claims 1 to 9, wherein the same queuing system that has already been completed is used.
前記制御部は、
複数のサービスが実行されている場合、他のサービスで利用している前記キューイングシステムを優先して選択することを特徴とする請求項1~10のいずれか一つに記載の処理フレームワーク連携装置。
The control unit
The processing framework linkage according to any one of claims 1 to 10, wherein when a plurality of services are executed, the queuing system used by the other services is preferentially selected. Device.
前記制御部は、
前記サービス全体の実行にかかる実行遅延を測定し、当該実行遅延が前記転送遅延または前記処理遅延よりも十分に大きい場合、前記転送遅延が最長の前記キューイングシステムから優先して選択することを特徴とする請求項1~11のいずれか一つに記載の処理フレームワーク連携装置。
The control unit
It is characterized in that the execution delay related to the execution of the entire service is measured, and when the execution delay is sufficiently larger than the transfer delay or the processing delay, the queuing system having the longest transfer delay is preferentially selected. The processing framework linkage device according to any one of claims 1 to 11.
要求されたサービスのサービス定義に含まれる処理を有する処理フレームワーク間の連携ポイントをキューイングシステムで接続する処理フレームワーク連携方法において、
メモリ上にキューを配置したインメモリ型およびディスク上にキューを配置した非インメモリ型の前記キューイングシステムそれぞれのキューイングの処理遅延と、前記処理フレームワーク間でのデータ転送にかかる転送遅延とに基づき、前記インメモリ型あるいは前記非インメモリ型を前記キューイングシステムとして選択する、
処理をコンピュータが実行することを特徴とする処理フレームワーク連携方法。
In the processing framework linkage method that connects the linkage points between processing frameworks that have the processing included in the service definition of the requested service with the queuing system.
The processing delay of queuing for each of the in-memory type queuing system in which the queue is arranged on the memory and the non-in-memory type queuing system in which the queue is arranged on the disk, and the transfer delay for data transfer between the processing frameworks. Select the in-memory type or the non-in-memory type as the queuing system based on the above.
A processing framework linkage method characterized in that processing is executed by a computer.
要求されたサービスのサービス定義に含まれる処理を有する処理フレームワーク間の連携ポイントをキューイングシステムで接続する処理フレームワーク連携プログラムにおいて、
メモリ上にキューを配置したインメモリ型およびディスク上にキューを配置した非インメモリ型の前記キューイングシステムそれぞれのキューイングの処理遅延と、前記処理フレームワーク間でのデータ転送にかかる転送遅延とに基づき、前記インメモリ型あるいは前記非インメモリ型を前記キューイングシステムとして選択する、
処理をコンピュータに実行させることを特徴とする処理フレームワーク連携プログラム。
In the processing framework linkage program that connects the linkage points between the processing frameworks that have the processing included in the service definition of the requested service with the queuing system.
The processing delay of queuing for each of the in-memory type queuing system in which the queue is arranged on the memory and the non-in-memory type queuing system in which the queue is arranged on the disk, and the transfer delay for data transfer between the processing frameworks. Select the in-memory type or the non-in-memory type as the queuing system based on the above.
A processing framework linkage program characterized by having a computer execute processing.
JP2018205941A 2018-10-31 2018-10-31 Processing framework linkage device, processing framework linkage method and processing framework linkage program Active JP7087921B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018205941A JP7087921B2 (en) 2018-10-31 2018-10-31 Processing framework linkage device, processing framework linkage method and processing framework linkage program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018205941A JP7087921B2 (en) 2018-10-31 2018-10-31 Processing framework linkage device, processing framework linkage method and processing framework linkage program

Publications (2)

Publication Number Publication Date
JP2020071729A JP2020071729A (en) 2020-05-07
JP7087921B2 true JP7087921B2 (en) 2022-06-21

Family

ID=70547892

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018205941A Active JP7087921B2 (en) 2018-10-31 2018-10-31 Processing framework linkage device, processing framework linkage method and processing framework linkage program

Country Status (1)

Country Link
JP (1) JP7087921B2 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000224260A (en) 1999-02-03 2000-08-11 Hitachi Ltd Communication controller
JP2007226385A (en) 2006-02-22 2007-09-06 Fujitsu Ltd Message queue control program and message queuing system
JP2009146123A (en) 2007-12-13 2009-07-02 Hitachi Industrial Equipment Systems Co Ltd Information processing apparatus and information processing method
JP2010211826A (en) 2010-05-27 2010-09-24 Fujitsu Ltd Message queue control program, message queuing system, and control method for message queuing system
JP2011034392A (en) 2009-08-03 2011-02-17 Mitsubishi Electric Corp Apparatus, method and program for service cooperation
JP2012068800A (en) 2010-09-22 2012-04-05 Nomura Research Institute Ltd Asynchronous processing service management system
JP2014063324A (en) 2012-09-20 2014-04-10 Fujitsu Ltd Information processing method, information processor, and program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3357800B2 (en) * 1996-09-30 2002-12-16 株式会社東芝 Transmission system and transmission device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000224260A (en) 1999-02-03 2000-08-11 Hitachi Ltd Communication controller
JP2007226385A (en) 2006-02-22 2007-09-06 Fujitsu Ltd Message queue control program and message queuing system
JP2009146123A (en) 2007-12-13 2009-07-02 Hitachi Industrial Equipment Systems Co Ltd Information processing apparatus and information processing method
JP2011034392A (en) 2009-08-03 2011-02-17 Mitsubishi Electric Corp Apparatus, method and program for service cooperation
JP2010211826A (en) 2010-05-27 2010-09-24 Fujitsu Ltd Message queue control program, message queuing system, and control method for message queuing system
JP2012068800A (en) 2010-09-22 2012-04-05 Nomura Research Institute Ltd Asynchronous processing service management system
JP2014063324A (en) 2012-09-20 2014-04-10 Fujitsu Ltd Information processing method, information processor, and program

Also Published As

Publication number Publication date
JP2020071729A (en) 2020-05-07

Similar Documents

Publication Publication Date Title
US10679210B2 (en) Blockchain transaction commitment ordering
JP3810449B2 (en) Queue device
JP5699210B2 (en) Bandwidth adaptive memory compression
WO2019227724A1 (en) Data read/write method and device, and circular queue
US9411519B2 (en) Implementing enhanced performance flash memory devices
US10771358B2 (en) Data acquisition device, data acquisition method and storage medium
TWI326839B (en) Transmission device performing dma transmission, semiconductor integrated circuit device and data transmission method
US9276879B2 (en) Memory transfer optimization of network adapter data placement when performing header-data split operations
US8086769B2 (en) Method for detecting circular buffer overrun
JP6523707B2 (en) Memory subsystem that performs continuous reading from lap reading
CN107992271A (en) Data pre-head method, device, equipment and computer-readable recording medium
US8775767B2 (en) Method and system for allocating memory to a pipeline
JP2008234059A (en) Data transfer device and information processing system
JP7087921B2 (en) Processing framework linkage device, processing framework linkage method and processing framework linkage program
JP2010211322A (en) Network processor, reception controller, and data reception processing method
JP2007501473A (en) Method and apparatus for transferring data between main memory and storage device
US20080320176A1 (en) Prd (physical region descriptor) pre-fetch methods for dma (direct memory access) units
JP2017097466A (en) Storage control device, storage control method, and storage control program
WO2020034080A1 (en) Dma-based data processing method and related product
JP6627475B2 (en) Processing resource control program, processing resource control device, and processing resource control method
US20140244887A1 (en) Data processing apparatus and control method
WO2020244498A1 (en) Method, apparatus, and system for processing messages in server system
JP3989493B2 (en) Queue device
CN114127700A (en) Apparatus and method for processing refresh requests in a packet network
CN110764710A (en) Data access method and storage system of low-delay and high-IOPS

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220428

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220523

R150 Certificate of patent or registration of utility model

Ref document number: 7087921

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150