JP2020071729A - Processing framework cooperation device, processing framework cooperation method and processing framework cooperation program - Google Patents

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

Info

Publication number
JP2020071729A
JP2020071729A JP2018205941A JP2018205941A JP2020071729A JP 2020071729 A JP2020071729 A JP 2020071729A JP 2018205941 A JP2018205941 A JP 2018205941A JP 2018205941 A JP2018205941 A JP 2018205941A JP 2020071729 A JP2020071729 A JP 2020071729A
Authority
JP
Japan
Prior art keywords
processing
cooperation
memory type
queuing system
delay
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018205941A
Other languages
Japanese (ja)
Other versions
JP7087921B2 (en
Inventor
昌子 湊
Masako MINATO
昌子 湊
健一 堀尾
Kenichi Horio
健一 堀尾
村上 雅彦
Masahiko Murakami
雅彦 村上
大治郎 小牧
Daijiro Komaki
大治郎 小牧
俊輔 山口
Shunsuke Yamaguchi
俊輔 山口
昌昭 笠波
Masaaki Kasanami
昌昭 笠波
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

Abstract

To improve a throughput upon processing framework cooperation.SOLUTION: A processing framework cooperation device connects a cooperation point P between processing frameworks FW-A and FW-B having filters 402 and 413, respectively, included in a service definition S of a required service by using a queuing system Q. On the basis of processing delays Ta and transfer delays Tb measured upon actual data transfer of the queuing systems Q of an in-memory type and a non-in-memory type, if the transfer delay Tb of Queue 5 of the non-in-memory type to the shortest transfer delay Tb of Queue 1 falls under a predetermined range, the device selects the Queue 5 as the queuing system Q.SELECTED DRAWING: Figure 6

Description

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

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

従来技術として、システム停止時に高速で揮発性の記憶領域から低速で不揮発性の記憶領域にメッセージを退避させて処理速度の向上とシステム停止時のメッセージの損失を防ぐ技術がある(例えば、下記特許文献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 processing speed and prevent message loss when the system is stopped (for example, the following patents: Reference 1.). In addition, there is a technology to prevent a delay in processing of the queue by selecting either a high-speed small-capacity queue or a low-speed large-capacity queue based on the free space of the high-speed small-capacity queue, the message retention speed, and the priority of the message. (For example, refer to the following patent document 2.).

特開2007−226385号公報JP, 2007-226385, A 特開2006−277483号公報JP, 2006-277483, A

しかしながら、従来技術では複数の処理フレームワークを連携させたサービスを低遅延でリアルタイムに実行することができなかった。従来技術2のようにキューをメモリ等の揮発領域に配置する構成(in Memory、インメモリ型)と、キューをディスク等の不揮発領域に配置する構成(not in Memory、非インメモリ型と称す)の組み合わせにより、高速小容量と低速大容量の特性を活かすことができる。しかし、例えば、キューイングシステムに高速なインメモリ型を選択した場合、サービスをリアルタイムに実行可能であるものの、多数のサービスの同時利用により、メモリ不足が生じサービスのスループットが低下してしまう。   However, in the related art, it has been impossible to execute a service in which a plurality of 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 related art 2 and a configuration in which the queue is arranged in a non-volatile area such as a disk (not in memory, called a non-in-memory type) By combining the above, 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, a shortage of memory occurs due to the simultaneous use of a large number of services, and the service throughput decreases.

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

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

本発明の一態様によれば、処理フレームワーク連携時のスループットを向上できるという効果を奏する。   According to one aspect of the present invention, it is possible to improve the throughput when the processing frameworks are linked.

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

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

図1は、実施の形態にかかる処理フレームワーク連携装置が行う処理フレームワーク連携処理の説明図である。例えば、多様なIoTのサービスを簡単・短時間に開発し、低遅延でリアルタイムに実行するための処理フレームワークが多数存在している。各処理フレームワークは、データやメディアの取得、加工・検出・分析などの処理(フィルタと称す)をライブラリとして提供している。処理フレームワーク連携装置は、フィルタの組み合わせによって様々なサービスを提供できる。   FIG. 1 is an explanatory diagram of processing framework cooperation processing performed by the processing framework cooperation apparatus 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 (referred to as a filter) such as acquisition of data and media, processing / detection / analysis, etc. as a library. The processing framework cooperation device can provide various services by combining filters.

図1(a)に示すように、既存の単一の処理フレームワークFW−AはフィルタA1,〜A3を有し、FW−BはフィルタB1,B2を有しており、それぞれ利用可能なフィルタや開発可能なサービスに制限がある。このため、異なる処理フレームワークFW−A,FW−B間をキューイングシステムQで接続することで、要求するサービスのフィルタを有する複数の処理フレームワークFW−A,FW−Bを連携させたサービスが提供できる。   As shown in FIG. 1A, the existing single processing framework FW-A has filters A1 to A3, and FW-B has filters B1 and B2. And the services that can be developed are limited. Therefore, by connecting the 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 a requested service are linked with each other. 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 queues are arranged in a volatile area such as a memory, and has a characteristic that the memory usage amount is large although the speed is high (high throughput, processing delay is small). In the embodiment, the non-in-memory type refers to a configuration in which queues are 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, although services can be executed in real time, the simultaneous use of a large number of services causes a shortage of memory and reduces the throughput of services.

実施の形態では、図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 for linking the processing frameworks FW-A and FW-B is performed by the processing shown in FIG. When the processing delays Ta of the queuing system Q are sufficiently smaller than other delays when the processing frameworks FW-A and FW-B are linked, the inventors use a non-in-memory type. Also paid attention to the fact that there is no significant effect. In the embodiment, if the processing delay Ta of the queuing system Q is sufficiently smaller than other delays, the non-in-memory type queuing system Q is used. Other delays include a transfer delay Tb between the processing frameworks FW-A and FW-B, an execution delay (which will be described later) that 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 distance between the processing frameworks FW-A and FW-B is large, the transfer delay Tb becomes large, and the non-in-memory type transfer delay Tb. Approach.

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

はじめに、処理フレームワーク連携装置は、サービス定義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 cooperation apparatus obtains the processing framework FW in which each filter included in the service definition S operates. In the example of FIG. 1B, it is assumed that the service definition S is filter 1, filter 2, and filter 3. In this case, in the processing framework cooperation 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 cooperation device extracts a cooperation point P at which the processing framework FW switches. At this time, the processing framework cooperation device extracts a 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 (cooperative system) that can be used by the processing frameworks FW-A and FW-B is the queue (Queue1, 4, 5). It is assumed that Queue1 is an in-memory type and Queues 4 and 5 are non-in-memory types. The processing framework cooperation device connects the processing frameworks by the extracted queuing system Q (Queue 1, 4, 5), and actually transfers the data (sample data) to measure the transfer delay Tb. Then, the processing framework cooperation device selects one of Queue 1, 4, or 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 the data is transmitted from the processing framework FW-A (filter 2 (402)) on the data transmitting side, a predetermined period is set until the data is received by the processing framework FW-B (filter 3 (413)) on the data receiving side. It has a transfer delay (corresponding to transfer time) Tb. The transfer delay Tb includes the processing delay Ta of the queuing system Q (Queues 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 cooperation apparatus selects the non-in-memory type queuing system Q (Queue5). As described above, the processing framework cooperation apparatus of the embodiment does not select the queuing system Q only by the processing delay Ta, but uses the transfer delay Tb when the actual data transfer is performed and uses the queuing system Q. Select. This makes it possible to select not only a high-speed in-memory type queuing system Q of a large capacity and a small memory usage amount, but also a queuing system Q.

この後、処理フレームワーク連携装置は、選択したキューイングシステム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 cooperation device performs the cooperation processing (input / output processing) 701 and 702 necessary for using the selected queuing system Q (Queue5) on the processing frameworks FW-A and FW at both ends of the cooperation point P. -Insert in B. The cooperation process 701 is an output process of outputting the data output by the filter 2 (402) of the processing framework FW-A to the Queue 5. The cooperation process 702 is an input process of inputting data input from the Queue 5 and outputting the data to the filter 3 (413) of the processing framework FW-B.

そして、処理フレームワーク連携装置は、当初のサービス定義Sに連携処理701,702を挿入した修正後のサービス定義S’をユーザに出力する。   Then, the processing framework cooperation apparatus outputs the corrected service definition S ′ in which the cooperation processes 701 and 702 are inserted to the original 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 cooperative 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 cooperative 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 queuing system Q but also the non-in-memory type queuing system Q can be selected. For example, when the non-in-memory type queuing system Q is selected, it is possible to avoid a memory shortage when using a large number of services at the same time, and as a result, it is possible to achieve a low delay and an improvement in throughput.

また、異なる処理フレームワークFW−Aで動作するフィルタ1,2と,FW−Bで動作するフィルタ3をキューイングシステムQで接続でき、複数の処理フレームワークFW−A,FW−Bの連携により要求されるサービスに対して柔軟に対応できる。これにより、要求される各種サービスの開発および提供が行えるようになる。   Further, the filters 1 and 2 which operate in different processing frameworks FW-A and the filter 3 which operates 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. Can flexibly respond to required services. As a result, various required services can be developed and provided.

図2は、実施の形態にかかる処理フレームワーク連携装置の機能を示すブロック図である。処理フレームワーク連携装置100は、連携ポイント抽出部201、フィルタデータベース(DB)202、連携システム抽出部203、フレームワークDB204、遅延測定部205、連携システム選択部206、連携システム挿入部207、を含む。   FIG. 2 is a block diagram showing the functions of the processing framework cooperation device according to the embodiment. The processing framework cooperation device 100 includes a cooperation point extraction unit 201, a filter database (DB) 202, a cooperation system extraction unit 203, a framework DB 204, a delay measurement unit 205, a cooperation system selection unit 206, and a cooperation 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 filters included in the service definition S requested by the user, and extracts cooperation points at which the processing frameworks are switched. The filter DB 202 stores and holds the processing framework for each filter.

連携システム抽出部203は、フレームワークDB204を参照して、連携ポイント両端の処理フレームワークが利用(共用)可能なキューイングシステムQを連携システムとして抽出する。フレームワークDB204は、処理フレームワーク毎の対応キューイングシステムQをインメモリ型および非インメモリ型別に記憶保持する。   The cooperation system extraction unit 203 refers to the framework DB 204 and extracts a queuing system Q that can be used (shared) by the processing frameworks at both ends of the cooperation point as a cooperation system. The framework DB 204 stores and holds the corresponding queuing system Q for each processing framework by 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 measuring unit 205 connects the processing frameworks by the queuing system Q extracted by the cooperation system extracting unit 203, and measures the transfer delay when data is transferred. The delay measuring unit 205 actually measures the delay characteristic using appropriate sample data. The cooperation 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 cooperation system insertion unit 207 inserts the cooperation process required for using the queuing system Q selected by the cooperation system selection unit 206 into the processing frameworks at both ends, and a plurality of processing frameworks can execute them in cooperation. The information of the service definition S'is output.

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

例えば、処理フレームワーク連携装置100は、CPU(Central Processing Unit)301、メモリ302、ネットワークインタフェース(I/F)303、記録媒体IF304、記録媒体305、を含む。300は各部を接続するバスである。   For example, the processing framework cooperation 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. A bus 300 connects each unit.

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 overall control of the 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) that stores a program of the CPU 301. The volatile memory is, for example, a DRAM (Dynamic Random Access Memory) or an SRAM (Static Random Access Memory) used as a work area of the CPU 301.

ネットワークI/F303は、ネットワーク310を通じてサーバやクラウド等、処理フレームワーク連携装置100外部の処理フレームワークにアクセスし、外部の処理フレームワークを利用することもできる。ネットワークIF303は、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク310を介して外部のサーバやクラウド等に通信接続される。   The network I / F 303 can access a processing framework outside the processing framework cooperation device 100, such as a server or a cloud, through the network 310 and use the external processing framework. The network IF 303 is communicatively connected to an external server, a 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 / writing information processed by the CPU 301 from / to 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毎のキューイングシステムの情報を簡単に読み出すことができる。   When the CPU 301 executes the program recorded in the memory 302 or the recording medium 305, each function of the processing framework cooperation device 100 shown in FIG. 2 is realized. Further, the memory 302 and the recording medium 305 can hold in advance the information of the filter DB 202 and the framework DB 204 shown in FIG. Then, the CPU 301 can easily read the information on the framework FW in which the filter operates corresponding to the service and the information on the queuing system for each framework FW.

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

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

図4は、実施の形態にかかる処理フレームワーク連携装置の連携ポイント抽出部の処理を説明する図である。処理フレームワーク連携装置100の連携ポイント抽出部201が行う処理について説明する。図4(a)は、所定のサービス定義Sに対応するフィルタを示す図、図4(b)は、フィルタDB202が保持するフィルタ毎の処理フレームワークの情報を示す図表である。   FIG. 4 is a diagram illustrating a process 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 apparatus 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 on 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 filter 1 (401) to filter 2 (402) to filter 3 (413). In this case, the cooperation point extraction unit 201 refers to the filter DB 202 shown in FIG. 4B and can use the corresponding filter 1 (401), filter 2 (402), and filter 3 (413) 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 illustrated in FIG. 4B, the filters 1 and 2 (401 and 402) are the processing framework FW-A, and the filter 3 (413) is the processing framework FW-B in the filter DB 202. Is held. In this case, the cooperation point extraction unit 201 determines that the processing framework FW of the cooperation point P at which the processing framework FW is switched is the processing framework FW-A (filter 2) and the FW-B (filter 3) part. Extract.

図5は、実施の形態にかかる処理フレームワーク連携装置の連携システム抽出部の処理を説明する図表である。処理フレームワーク連携装置100の連携システム抽出部203は、フレームワークDB204に格納された処理フレームワーク毎のキューイングシステムQを参照する。そして、連携ポイントPの両端の処理フレームワークFWが利用(共用)可能なキューイングシステムQ(連携システム)を抽出する。   FIG. 5 is a chart for explaining the processing of the cooperation system extraction unit of the processing framework cooperation apparatus according to the embodiment. The cooperation system extraction unit 203 of the processing framework cooperation apparatus 100 refers to the queuing system Q for each processing framework stored in the framework DB 204. Then, a queuing system Q (cooperative system) that can be used (shared) by the processing frameworks 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, as the queuing system Q corresponding to the processing framework FW-A, in-memory types are Queue1 and Queue2, and non-in-memory types are Queue4 and Queue5. Information is stored. Further, as the queuing system Q corresponding to the processing framework FW-B, the in-memory type is Queue1, and the non-in-memory type is Queue3, Queue4, and Queue5.

この場合、連携システム抽出部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 (sharable) queue between two different processing frameworks FW-A and FW-B, and a non-in-memory type. Extracts Queue4 and Queue5. Here, in the cooperation system extraction unit 203, the in-memory type Queue1 and the non-in-memory type Queues 4 and 5 have processing frameworks FW-A and FW-B at both ends (filter 2 and filter 3) of the cooperation point P. It is judged as an available queuing system Q and extracted.

なお、連携システム抽出部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 processing framework FW-A and cannot be shared because it is not in FW-B. Similarly, the non-in-memory type Queue3 exists only in one of the processing frameworks FW-B and cannot be shared because it is not in FW-A and is not extracted.

図6は、実施の形態にかかる処理フレームワーク連携装置の遅延測定部および連携システム選択部の処理を説明する図である。処理フレームワーク連携装置100の遅延測定部205は、連携システム抽出部203が抽出したキューイングシステムQで処理フレームワーク間をそれぞれ接続し、データ(サンプルデータ)を転送した時の転送遅延を測定する。また、連携システム選択部206は、遅延測定部205による転送遅延の測定結果を用いて最適なキューイングシステムQを選択する。   FIG. 6 is a diagram illustrating processing of the delay measuring unit and the cooperation system selecting unit of the processing framework cooperation apparatus according to the embodiment. The delay measuring unit 205 of the processing framework cooperation apparatus 100 connects the processing frameworks by the queuing system Q extracted by the cooperation system extracting unit 203, and measures the transfer delay when the data (sample data) is transferred. .. Further, the cooperation system selection unit 206 selects the optimum queuing system Q 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 the queuing system Q extracted by the cooperation system extraction unit 203, and non-in-memory type Queues 4, 5. The in-memory type Queue 1 and the non-in-memory type Queues 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 Queues 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. Further, after the data is transmitted from the processing framework FW-A (filter 2 (402)) on the data transmitting side, a predetermined period is set until the data is received by the processing framework FW-B (filter 3 (413)) on the data receiving side. It has a transfer delay (corresponding to transfer time) Tb. The transfer delay Tb includes the processing delay Ta of the queuing system Q (Queues 1, 4, 5).

処理遅延Taは、キューイングシステムQ毎に異なる。一般的には、インメモリ型(Queue1)の方が、非インメモリ型(Queue4,5)よりも処理遅延Taは短い。また、転送遅延Tbは、処理遅延Taを含むが、実際のデータ転送状態の影響を受けるため、インメモリ型が短いとは限らず、非インメモリ型でも短い場合が生じる。このため、遅延測定部205は、連携システム抽出部203が抽出した各キューイングシステムQである、インメモリ型のQueue1と、非インメモリ型のQueue4,5について、それぞれサンプルデータを実際に転送して転送遅延Tbを測定する。サンプルデータは、例えばランダムな2値のデータ列を用いることができる。   The processing delay Ta differs for each queuing system Q. In general, the in-memory type (Queue1) has a shorter processing delay Ta than the non-in-memory type (Queues 4, 5). 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 be short. Therefore, the delay measuring unit 205 actually transfers sample data for each of the queuing system Q extracted by the cooperation system extracting unit 203, that is, the in-memory type Queue1 and the non-in-memory type Queues 4 and 5. Then, the transfer delay Tb is measured. 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 a transfer delay measurement result 600 of the transfer delay Tb of the in-memory type Queue1 which is the queuing system Q and the non-in-memory type Queues 4 and 5 extracted by the cooperation system extracting unit 203. is there. 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 in 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 when the filter 402 of the processing framework FW-A in the previous stage transmits data to when the filter 413 of the processing framework FW-B in the subsequent stage receives the data. The delay measuring 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, the memory 302 or the recording medium 305. By storing and holding the transfer delay Tb for each queuing system Q, the transfer delay Tb at the time of connection of the similar processing framework FW can be read from the memory 302, the recording medium 305, or the like without using it. ..

そして、連携システム選択部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 uses the following condition 1. ~ 3. Therefore, the queuing system Q to be used is selected.
1. The queuing system Q with the shortest transfer delay Tb is set as the shortest transfer delay Dmin.
2. If there is a non-in-memory type queuing system Q having a transfer delay Tb of Dmin × N or less, the one having the shortest transfer delay Tb is selected. N is the tolerance from the shortest (constant)
3. If there is no non-in-memory type queuing system Q having a transfer delay Tb of 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 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 Queue 5 (900 msec), and the last is the non-in-memory type Queue 4 (1200 msec).

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

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

Nは、最短(ベストエフォート)に対してどの程度遅延してもよいかを示す定数であり、ユーザが任意に設定する。   N is a constant indicating how much delay may be given 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 Queue 5, the transfer delay Tb may be short because the transfer distance from data transmission to data reception is short, for example. As described above, in the embodiment, the optimum queuing system Q is selected using the transfer delay Tb when data is actually transferred between the processing frameworks FW.

図7は、実施の形態にかかる処理フレームワーク連携装置の連携システム挿入部の処理を説明する図である。処理フレームワーク連携装置100の連携システム挿入部207は、連携システム選択部206が選択した最適なキューイングシステムQで処理フレームワーク間を接続する処理を行う。   FIG. 7 is a diagram illustrating a process 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 apparatus 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 a selected state of the queuing system Q selected by the cooperation system selection unit 206 in correspondence with the service definition. In the example of FIG. 7A, an optimum Queue 5 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 required for using the selected queuing system Q (Queue 5) 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 cooperation system insertion unit 207 inserts the FW-A cooperation process 701 in the subsequent stage of the filter 1 (401) and the filter 2 (402) of the processing framework FW-A. Further, the cooperation system inserting unit 207 inserts the FW-B cooperation process 702 in the preceding stage of the filter 3 (413) of the processing framework FW-B. The cooperation process 701 is a process of outputting the data output by the filter 2 (402) of the processing framework FW-A to Queue 5. The cooperation 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 corrected service definition S ′ obtained by inserting the cooperation processes 701 and 702 to the original service definition S shown in FIG. 7A to the user. As a result, it is possible to output to the user the information on the service that can be executed by the plurality of processing frameworks FW-A and FW-B in cooperation with each other (corrected service definition S ′).

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

図8は、実施の形態にかかる処理フレームワーク連携装置の処理例を示すフローチャートである。処理フレームワーク連携装置100のCPU301が実行する各機能部(図2参照)の処理を順に説明する。   FIG. 8 is a flowchart illustrating 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 cooperation device 100 will be sequentially described.

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

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

次に、処理フレームワーク連携装置100(遅延測定部205)は、処理フレームワークFW間を抽出したキューイングシステムQ(Queue)で接続し、それぞれの転送遅延Tbを測定する(ステップS804)。なお、予めステップS803で抽出した複数のキューイングシステムQを用いて実際にデータ転送した時の各キューイングシステムQ(Queue)それぞれの転送遅延Tbを測定し、転送遅延測定結果600をメモリ302に格納しておいてもよい。   Next, the processing framework cooperation device 100 (delay measurement unit 205) connects the processing frameworks FW by the extracted queuing system Q (Queue) and measures the transfer delay Tb of each (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. It may be stored.

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

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

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

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

次に、上述した処理例以外の他の各種処理例について説明する。図9〜図13は、実施の形態にかかる処理フレームワーク連携装置の他の処理例を示す図である。これらの各図では、図8に示したフローチャートを基本とし、異なる処理のみを抽出して記載してある。なお、処理フレームワーク連携装置100の制御部(CPU301)は、図8に示した処理を基本として、下記1.〜5.に示すサービスの状態の変化に対応して図9〜図13のいずれかの処理を実行できる。   Next, various processing examples other than the above-described processing examples will be described. 9 to 13 are diagrams illustrating 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 (CPU 301) of the processing framework cooperation device 100 is based on the processing shown in FIG. ~ 5. 9 to 13 can be executed in response to the change in the service state shown in FIG.

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

図9は、サービスが扱うデータの発生頻度が高い場合の処理例を示すフローチャートである。図9では、図8のステップS804〜ステップS807の処理を置き換えている。図8のステップS803の処理後、処理フレームワーク連携装置100(遅延測定部205)は、処理フレームワークFW間を抽出したキューイングシステムQ(Queue)で接続する。そして、それぞれのキューイングシステムQのスループットを測定する(ステップS804a)。   FIG. 9 is a flowchart showing a processing example in the case where the frequency of data handled by the service is high. 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 apparatus 100 (delay measurement unit 205) connects the processing frameworks FW by the queuing system Q (Queue) extracted. Then, the throughput of each queuing system Q is measured (step S804a).

次に、処理フレームワーク連携装置100(連携システム選択部206)は、非インメモリ型のキューイングシステムQ(Queue)の最大スループット≧最大スループット/N'であるかを判断する(ステップS805a)。   Next, the processing framework cooperation apparatus 100 (cooperation system selection unit 206) determines whether or not the maximum throughput of the non-in-memory type queuing system Q (Queue) ≧ maximum throughput / N ′ (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 cooperation device 100 (cooperation 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 cooperation apparatus 100 (cooperation system selection unit 206) selects the in-memory type queuing system Q (Queue) having the highest throughput (step S807a). After this, the process proceeds to step S808 in 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, which enables 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 a predetermined data size, the in-memory type uses a large amount of the memory 302, and thus the non-in-memory type that can take a large data area is effective. In such a case, the processing framework cooperation 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. In FIG. 10, the process of step S804 of FIG. 8 is replaced. After the processing of step S803 in FIG. 8, the processing framework cooperation apparatus 100 (delay measurement unit 205) connects the processing frameworks FW by the queuing system Q (Queue) extracted. Then, the transfer delay Tb of each queuing system Q is measured using the designated data size (step S804b). After this, the process proceeds to step S805 in FIG.

このように、サービスが扱うデータサイズが大きい場合には、サービスで使用する指定データサイズに対応した大きなデータサイズを用いて、転送遅延Tbを測定する。これにより、例えば、大きなデータサイズの転送時には、インメモリ型よりもメモリ容量を確保できる非インメモリ型を優先的に使用することで、データ転送のスループットを向上できるようになる。   Thus, 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 by the service. Thus, 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 throughput of data transfer can be improved.

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

図8のステップS804の処理後、処理フレームワーク連携装置100(連携システム選択部206)は、選択済みで利用可能なキューイングシステムQ(Queue)があるか判断する(ステップS1101)。判断結果、選択済みで利用可能なキューイングシステムQがあれば(ステップS1101:Yes)、遅延測定部205は、非インメモリ型のキューイングシステムQの最短の転送遅延Tb≦最短の転送遅延Dmin×Nであるかを判断する(ステップS805)。   After the processing of step S804 in FIG. 8, the processing framework cooperation device 100 (cooperation 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 causes the non-in-memory type queuing system Q to have the shortest transfer delay Tb ≦ the shortest transfer delay Dmin. 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 cooperation device 100 (cooperation system selection unit 206) selects the non-in-memory type queuing system Q (Queue) with 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 cooperation device 100 (cooperation system selection unit 206) selects the in-memory type queuing system Q (Queue) with 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 the result of determination in step S1101 is that there is no selected and available queuing system Q (step S1101: No), the processing framework cooperation device 100 (cooperation system selection unit 206) executes step S1102. In step S1102, the processing framework cooperation apparatus 100 (cooperation 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, among the queuing systems Q that connect a plurality of processing frameworks FW, the queuing system Q is selected in order from the cooperation point P with the longest transfer delay Tb. Select. Then, if there is a selected queuing system Q, the queuing system Q with the shortest delay is selected from the selected and available queuing systems Q. If there is no selected and available queuing system Q, 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, the throughput of the entire system can be improved even when there are a plurality of cooperation points P.

(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 another service is preferentially selected. At this time, when the service is affected by the transfer delay Tb of another 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 being executed. After executing the process of step S803 in FIG. 8, if the processing framework cooperation apparatus 100 (cooperation system extraction unit 203) has a queuing system Q already used by another service, the queuing system in use Narrow down to Q (step S1201). After this, the process proceeds to step S804.

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

(5.サービスの実行遅延が転送遅延または処理遅延よりも十分に大きい場合)
図13(a)は、修正後のサービス定義S’を示す図である。サービス全体の実行時間である実行遅延Tcが転送遅延Tbまたは処理遅延Taより十分に大きい場合には、キューイングシステムQによる遅延の影響が小さいため、転送遅延Tbが大きい場合でも影響が生じない。この場合、転送遅延Tbに加えてサービス全体の実行時間(実行遅延Tc)についても測定しておくことで、実行遅延Tcが転送遅延Tbより十分に大きければ転送遅延Tbが大きいキューイングシステムQを選択する。
(5. When service execution delay is sufficiently larger than transfer delay or processing delay)
FIG. 13A is a diagram showing the corrected 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 due to the queuing system Q is small, so even if the transfer delay Tb is large, there is no effect. In this case, by measuring not only the transfer delay Tb but also the execution time of the entire service (execution delay Tc), if the execution delay Tc is sufficiently larger than the transfer delay Tb, a queuing system Q with a large transfer delay Tb is set. 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 the process of step S803 in FIG. 8 is executed, the processing framework cooperation device 100 (delay measurement unit 205) connects the processing frameworks FW by the queuing system Q (Queue) that is extracted. 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 cooperation device 100 (delay measurement unit 205) determines whether or not execution delay Tc ≧ shortest transfer delay Tb × M (constant) (step S1301). Here, the queuing system Q with the shortest transfer delay Tb is judged. 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 cooperation device 100 (cooperation system selection unit 206) preferentially selects from the queuing system Q with the longest transfer delay Tb (step S1302). On the other hand, it is assumed that execution delay Tc ≧ shortest transfer delay Dmin × M (constant) is not satisfied (step S1301: No). In this case, the processing framework cooperation device 100 (cooperation system selection unit 206) proceeds to the process 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 or not the shortest transfer delay Tb of the non-in-memory type queuing system Q ≦ the shortest transfer delay Dmin × N (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 cooperation device 100 (cooperation system selection unit 206) selects the non-in-memory type queuing system Q (Queue) with 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 cooperation device 100 (cooperation system selection unit 206) selects the in-memory type queuing system Q (Queue) with the shortest transfer delay Tb (step S807). Then, after the processes of steps S806, S807, and S1302, the process proceeds to step S808.

このように、サービスの実行遅延Tcが転送遅延Tbまたは処理遅延Taよりも十分に大きい場合には、キューイングシステムQによる遅延の影響が相対的に小さくなり、転送遅延Tbが大きくても影響が生じない。このため、実行遅延Tcを測定し、実行遅延Tcが転送遅延Tbより十分に大きい場合には、転送遅延Tbが大きいキューイングシステムQを選択する。これにより、他のサービスが低遅延のキューイングシステムQを利用できるようになる。   As described above, when the service execution delay Tc 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 becomes large. Does not happen. Therefore, the execution delay Tc is measured, and when the execution delay Tc is sufficiently larger than the transfer delay Tb, the queuing system Q having the large transfer delay Tb is selected. This allows other services to utilize the low delay 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. This makes it possible to select an optimum queuing system for connecting the processing frameworks, and it is possible to select a non-in-memory type queuing system as well as an in-memory type. For example, if the non-in-memory type transfer delay is within a predetermined range with respect to the shortest transfer delay of the plurality of queuing systems, the shortest transfer delay of the non-in-memory type is selected. When a non-in-memory type queuing system is selected, it is possible to avoid a memory shortage when using a large number of services at the same time, and as a result, it is possible to improve throughput with low delay of services.

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

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

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

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

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

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

また、サービス内に連携ポイントが複数存在する場合、最短転送遅延が大きい連携ポイントからキューイングシステムを選択し、他の連携ポイントは選択済みのキューイングシステムが利用可能であれば、選択済みの同じキューイングシステムを利用してもよい。これにより、複数の連携ポイントを有するサービスの実行時における転送遅延が大きい連携ポイントの発生を抑制でき、処理全体のスループットの低下を防ぐことができるようになる。   If there are multiple cooperation points in the service, select the queuing system from the cooperation points with the largest shortest transfer delays, and select the same queuing system for the other cooperation points 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 cooperation point having a large transfer delay when a service having a plurality of cooperation points is executed, and prevent a decrease in the throughput of the entire process.

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

また、サービス全体の実行にかかる実行遅延を測定し、実行遅延が転送遅延または処理遅延よりも十分に大きい場合、転送遅延が最長のキューイングシステムから優先して選択してもよい。このような場合、キューイングシステムによる処理遅延または転送遅延が大きい場合でも、サービス全体に対する遅延の影響が小さいため、非インメモリ型等の転送遅延が最長のキューイングシステムから選択していくことができる。これにより、他のサービスが低遅延(処理遅延および転送遅延)のキューイングシステムを利用できるようになり、複数のサービス実行時の処理全体のスループットの低下を防ぐことができるようになる。   Alternatively, the execution delay required to execute 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 preferentially selected. In such a case, even if the processing delay or transfer delay by 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 of non-in-memory type. it can. As a result, other services can use the queuing system with low delay (processing delay and transfer delay), and it is possible to prevent a decrease in the throughput of the entire processing when a plurality of services are executed.

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

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

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

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

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

(付記4)前記連携ポイント抽出部は、
前記サービス定義に含まれる前記処理が動作する前記処理フレームワークを求め、当該処理フレームワーク間の前記連携ポイントを抽出することを特徴とする付記2または3に記載の処理フレームワーク連携装置。
(Supplementary Note 4) The cooperation point extraction unit
4. The processing framework cooperation 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 cooperation points between the processing frameworks are extracted.

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

(付記6)前記遅延測定部は、
抽出した前記キューイングシステムで前記連携ポイントを接続し、前記処理フレームワーク間でサンプルデータを実際に転送して前記転送遅延を測定することを特徴とする付記2〜5のいずれか一つに記載の処理フレームワーク連携装置。
(Supplementary Note 6) The delay measuring unit
The connection point is 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のいずれか一つに記載の処理フレームワーク連携装置。
(Supplementary Note 7) The selection unit is
Among the plurality of queuing systems, if the transfer delay of the non-in-memory type is not within a predetermined range with respect to the queuing system of the shortest transfer delay, the transfer speed of the in-memory type is the shortest. The processing framework cooperation device according to any one of appendices 2 to 6, wherein a queuing system is selected.

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

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

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

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

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

(付記13)前記制御部は、
前記サービス全体の実行にかかる実行遅延を測定し、当該実行遅延が前記転送遅延または前記処理遅延よりも十分に大きい場合、前記転送遅延が最長の前記キューイングシステムから優先して選択することを特徴とする付記1〜12のいずれか一つに記載の処理フレームワーク連携装置。
(Supplementary Note 13) The control unit
The execution delay required to execute the entire service is measured, and if 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 cooperation device according to any one of Supplementary Notes 1 to 12.

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

(付記15)要求されたサービスのサービス定義に含まれる処理を有する処理フレームワーク間の連携ポイントをキューイングシステムで接続する処理フレームワーク連携プログラムにおいて、
メモリ上にキューを配置したインメモリ型およびディスク上にキューを配置した非インメモリ型の前記キューイングシステムそれぞれのキューイングの処理遅延と、前記処理フレームワーク間でのデータ転送にかかる転送遅延とに基づき、前記インメモリ型あるいは前記非インメモリ型を前記キューイングシステムとして選択する、
処理をコンピュータに実行させることを特徴とする処理フレームワーク連携プログラム。
(Supplementary Note 15) In the processing framework cooperation program for connecting the cooperation points between the processing frameworks having the processing included in the service definition of the requested service with the queuing system,
A queuing processing delay of each of the in-memory type queuing system in which a queue is arranged on a memory and a non-in-memory type where a queue is arranged on a disk, and a transfer delay required for data transfer between the processing frameworks. Based on, select the in-memory type or the non-in-memory type as the queuing system,
A processing framework cooperation program characterized by causing a computer to 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 cooperation device 201 cooperation point extraction unit 202 filter database (DB)
203 Cooperation System Extraction Unit 204 Framework Database (DB)
205 Delay Measurement Unit 206 Cooperative System Selection Unit 207 Cooperative System Insertion Unit 301 CPU
302 memory 305 recording medium 310 network 401, 402, 413 filter 600 transfer delay measurement result 701, 702 cooperative processing (input / output processing)
Dmin Shortest transfer delay FW (FW-A, FW-B) Processing framework P Cooperation point Q Queuing system Ta Processing delay Tb Transfer delay Tc Execution delay

Claims (14)

要求されたサービスのサービス定義に含まれる処理を有する処理フレームワーク間の連携ポイントをキューイングシステムで接続する処理フレームワーク連携装置において、
メモリ上にキューを配置したインメモリ型およびディスク上にキューを配置した非インメモリ型の前記キューイングシステムそれぞれのキューイングの処理遅延と、前記処理フレームワーク間でのデータ転送にかかる転送遅延とに基づき、前記インメモリ型あるいは前記非インメモリ型を前記キューイングシステムとして選択する制御部、
を備えたことを特徴とする処理フレームワーク連携装置。
In a processing framework cooperation device for connecting a cooperation point between processing frameworks having processing included in the service definition of a requested service with a queuing system,
A queuing processing delay of each of the in-memory type queuing system in which a queue is arranged on a memory and a non-in-memory type where a queue is arranged on a disk, and a transfer delay required for data transfer between the processing frameworks. A control unit for selecting the in-memory type or the non-in-memory type as the queuing system,
A processing framework cooperating device comprising:
前記制御部は、
前記サービス定義から、前記処理フレームワーク間の前記連携ポイントを抽出する連携ポイント抽出部と、
抽出した前記連携ポイント毎に、利用可能な複数の前記キューイングシステムを抽出する連携システム抽出部と、
抽出した前記キューイングシステムで前記連携ポイントを接続し、前記処理フレームワーク間のデータの転送遅延を測定する遅延測定部と、
測定した前記転送遅延に基づいて、利用するキューイングシステムとして、前記インメモリ型あるいは非インメモリ型を選択する選択部と、
選択した前記キューイングシステムで前記連携ポイントを接続する連携の処理を挿入する連携システム挿入部と、
を備えたことを特徴とする請求項1に記載の処理フレームワーク連携装置。
The control unit is
A cooperation point extraction unit that extracts the cooperation points between the processing frameworks from the service definition;
A cooperation system extraction unit for extracting a plurality of usable queuing systems for each of the extracted cooperation points,
A delay measuring unit that connects the cooperation points in the extracted queuing system and measures a data transfer delay between the processing frameworks,
A selection unit for selecting the in-memory type or the non-in-memory type as a queuing system to be used based on the measured transfer delay;
A cooperation system insertion unit that inserts a cooperation process for connecting the cooperation points in the selected queuing system,
The processing framework cooperation device according to claim 1, further comprising:
前記選択部は、
複数の前記キューイングシステムのうち最短の前記転送遅延の前記キューイングシステムに対し、前記非インメモリ型の転送遅延が所定の範囲にあれば、前記非インメモリ型のうち最短の転送遅延の前記キューイングシステムを選択することを特徴とする請求項2に記載の処理フレームワーク連携装置。
The selection unit,
If the transfer delay of the non-in-memory type is within a predetermined range with respect to the queuing system having the shortest transfer delay of the plurality of queuing systems, the shortest transfer delay of the non-in-memory type is The processing framework cooperation 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 cooperation device according to claim 2, wherein the queuing system that can be shared by the queuing systems at both ends of the extracted cooperation point is extracted.
前記遅延測定部は、
抽出した前記キューイングシステムで前記連携ポイントを接続し、前記処理フレームワーク間でサンプルデータを実際に転送して前記転送遅延を測定することを特徴とする請求項2〜5のいずれか一つに記載の処理フレームワーク連携装置。
The delay measuring unit,
The connection point is connected by the extracted queuing system, sample data is actually transferred between the processing frameworks, and the transfer delay is measured. The described processing framework cooperation device.
前記選択部は、
複数の前記キューイングシステムのうち、最短の前記転送遅延の前記キューイングシステムに対し、前記非インメモリ型の転送遅延が所定の範囲になければ、前記インメモリ型のうち転送速度が最短の前記キューイングシステムを選択することを特徴とする請求項2〜6のいずれか一つに記載の処理フレームワーク連携装置。
The selection unit,
Among the plurality of queuing systems, if the transfer delay of the non-in-memory type is not within a predetermined range with respect to the queuing system of the shortest transfer delay, the transfer speed of the in-memory type is the shortest. The processing framework cooperation device according to claim 2, wherein a queuing system is selected.
前記制御部は、
前記サービスが扱うデータの発生頻度が所定頻度より高い場合、前記データを連続的に転送した時の複数の前記キューイングシステムのスループットを測定し、複数の前記キューイングシステムのうち最大の前記スループットのものに対し、前記非インメモリ型の前記スループットが所定の範囲にあれば、当該非インメモリ型のうち最大のスループットのものを選択することを特徴とする請求項1〜7のいずれか一つに記載の処理フレームワーク連携装置。
The control unit is
When the occurrence frequency of the data handled by the service is higher than a predetermined frequency, the throughput of the plurality of queuing systems when the data is continuously transferred is measured, and the maximum throughput of the plurality of queuing systems is measured. On the other hand, if the throughput of the non-in-memory type is within a predetermined range, the maximum throughput of the non-in-memory type is selected. The processing framework cooperation device described in.
前記制御部は、
前記サービスが扱うデータのサイズが所定のサイズよりも大きい場合、予めサービスで利用する所定のデータサイズを転送し、前記キューイングシステムのそれぞれの前記転送遅延を測定することを特徴とする請求項1〜8のいずれか一つに記載の処理フレームワーク連携装置。
The control unit is
When the size of data handled by the service is larger than a predetermined size, a predetermined data size used by the service is transferred in advance, and the transfer delay of each of the queuing systems is measured. ~ The processing framework cooperation device according to any one of 8 above.
前記制御部は、
前記サービス内に前記連携ポイントが複数存在する場合、最短の前記転送遅延が大きい連携ポイントからキューイングシステムを選択し、他の前記連携ポイントは選択済みのキューイングシステムが利用可能であれば、選択済みの同じキューイングシステムを利用することを特徴とする請求項1〜9のいずれか一つに記載の処理フレームワーク連携装置。
The control unit is
When there are a plurality of the cooperation points in the service, the queuing system is selected from the cooperation points having the shortest transfer delay and the other cooperation points are selected if the selected queuing system is available. The processing framework cooperation device according to claim 1, wherein the same queuing system is used.
前記制御部は、
複数のサービスが実行されている場合、他のサービスで利用している前記キューイングシステムを優先して選択することを特徴とする請求項1〜10のいずれか一つに記載の処理フレームワーク連携装置。
The control unit is
When a plurality of services are being executed, the queuing system used by another service is preferentially selected, and the processing framework cooperation according to any one of claims 1 to 10. apparatus.
前記制御部は、
前記サービス全体の実行にかかる実行遅延を測定し、当該実行遅延が前記転送遅延または前記処理遅延よりも十分に大きい場合、前記転送遅延が最長の前記キューイングシステムから優先して選択することを特徴とする請求項1〜11のいずれか一つに記載の処理フレームワーク連携装置。
The control unit is
The execution delay required to execute the entire service is measured, and if 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 cooperation device according to any one of claims 1 to 11.
要求されたサービスのサービス定義に含まれる処理を有する処理フレームワーク間の連携ポイントをキューイングシステムで接続する処理フレームワーク連携方法において、
メモリ上にキューを配置したインメモリ型およびディスク上にキューを配置した非インメモリ型の前記キューイングシステムそれぞれのキューイングの処理遅延と、前記処理フレームワーク間でのデータ転送にかかる転送遅延とに基づき、前記インメモリ型あるいは前記非インメモリ型を前記キューイングシステムとして選択する、
処理をコンピュータが実行することを特徴とする処理フレームワーク連携方法。
In a processing framework cooperation method for connecting a cooperation point between processing frameworks having processing included in a service definition of a requested service with a queuing system,
A queuing processing delay of each of the in-memory type queuing system in which a queue is arranged on a memory and a non-in-memory type where a queue is arranged on a disk, and a transfer delay required for data transfer between the processing frameworks. Based on, select the in-memory type or the non-in-memory type as the queuing system,
A processing framework cooperation method, wherein a 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,
A queuing processing delay of each of the in-memory type queuing system in which a queue is arranged on a memory and a non-in-memory type where a queue is arranged on a disk, and a transfer delay required for data transfer between the processing frameworks. Based on, select the in-memory type or the non-in-memory type as the queuing system,
A processing framework cooperation program characterized by causing a computer to 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 true JP2020071729A (en) 2020-05-07
JP7087921B2 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 (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10107868A (en) * 1996-09-30 1998-04-24 Toshiba Corp Transmission system and transmitter
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10107868A (en) * 1996-09-30 1998-04-24 Toshiba Corp Transmission system and transmitter
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
JP7087921B2 (en) 2022-06-21

Similar Documents

Publication Publication Date Title
US10679210B2 (en) Blockchain transaction commitment ordering
US10320695B2 (en) Message aggregation, combining and compression for efficient data communications in GPU-based clusters
US9952940B2 (en) Method of operating a shared nothing cluster system
CN111949568B (en) Message processing method, device and network chip
US9276879B2 (en) Memory transfer optimization of network adapter data placement when performing header-data split operations
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
US10936283B2 (en) Buffer size optimization in a hierarchical structure
CN111124270A (en) Method, apparatus and computer program product for cache management
CN111625592A (en) Load balancing method and device for distributed database
US8775767B2 (en) Method and system for allocating memory to a pipeline
JP6523707B2 (en) Memory subsystem that performs continuous reading from lap reading
US11354094B2 (en) Hierarchical sort/merge structure using a request pipe
US11048475B2 (en) Multi-cycle key compares for keys and records of variable length
US11341842B2 (en) Metering data management system and computer readable recording medium
US7484217B2 (en) Method for automatic adjustment of time a consumer waits to access data from a queue during a waiting phase and transmission phase at the queue
JP7087921B2 (en) Processing framework linkage device, processing framework linkage method and processing framework linkage program
JP6627475B2 (en) Processing resource control program, processing resource control device, and processing resource control method
CN113806389A (en) Data processing method and device, computing equipment and storage medium
CN113329078A (en) Data storage method and device
US20210055976A1 (en) Processing of a message stream
JP2005509943A (en) Efficient FIFO communication using semaphores
JP6287691B2 (en) Information processing apparatus, information processing method, and information processing program
US20230273824A1 (en) Establishing coherent message analysis across distributed locations
US20230004314A1 (en) Method of managing jobs in an information system and associated system

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