JP2017162215A - Command processor and program - Google Patents

Command processor and program Download PDF

Info

Publication number
JP2017162215A
JP2017162215A JP2016046296A JP2016046296A JP2017162215A JP 2017162215 A JP2017162215 A JP 2017162215A JP 2016046296 A JP2016046296 A JP 2016046296A JP 2016046296 A JP2016046296 A JP 2016046296A JP 2017162215 A JP2017162215 A JP 2017162215A
Authority
JP
Japan
Prior art keywords
module
command
object code
program modules
file
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
JP2016046296A
Other languages
Japanese (ja)
Other versions
JP6522537B2 (en
Inventor
公徳 廣瀬
Kiminori Hirose
公徳 廣瀬
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.)
SoftBank Corp
Original Assignee
SoftBank Corp
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 SoftBank Corp filed Critical SoftBank Corp
Priority to JP2016046296A priority Critical patent/JP6522537B2/en
Publication of JP2017162215A publication Critical patent/JP2017162215A/en
Application granted granted Critical
Publication of JP6522537B2 publication Critical patent/JP6522537B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To allow a large amount of data such as data on an LTE network to be processed more efficiently.SOLUTION: There is provided a command processor, including: a correspondence information storage unit for storing correspondence information for making a plurality of commands and a plurality of program modules correspond to each other; a command group acquisition part for acquiring a command group including a plurality of commands and the sequence of executing the commands; a module combination unit for pipeline-combining the plurality of program modules corresponding to the plurality of commands in the command group in accordance with the execution sequence; and an object code generation unit for generating an object code for executing the pipeline-connected program modules in parallel.SELECTED DRAWING: Figure 3

Description

本発明は、コマンド処理装置及びプログラムに関する。   The present invention relates to a command processing device and a program.

LTEネットワーク上のデータを監視するシステムが知られていた(例えば、特許文献1参照)。
[先行技術文献]
[特許文献]
[特許文献1]特開2015−192316号公報
A system for monitoring data on an LTE network has been known (see, for example, Patent Document 1).
[Prior art documents]
[Patent Literature]
[Patent Document 1] JP-A-2015-192316

LTEネットワーク上のデータのような大量のデータをより効率的に処理できることが望ましい。   It would be desirable to be able to process large amounts of data, such as data on an LTE network, more efficiently.

本発明の第1の態様によれば、コマンドと複数のプログラムモジュールとを対応付ける対応付け情報を格納する対応付け情報格納部と、複数のコマンド及び複数のコマンドの実行順序を含むコマンド群を取得するコマンド群取得部と、コマンド群に含まれる複数のコマンドに対応する複数のプログラムモジュールを実行順序に従ってパイプライン結合するモジュール結合部と、パイプライン結合された複数のプログラムモジュールを並列に実行させるオブジェクトコードを生成するオブジェクトコード生成部とを備えるコマンド処理装置が提供される。   According to the first aspect of the present invention, an association information storage unit that stores association information that associates a command with a plurality of program modules, and a command group that includes a plurality of commands and an execution order of the plurality of commands are acquired. Command group acquisition unit, module coupling unit that pipeline-couples a plurality of program modules corresponding to a plurality of commands included in the command group, and object code that executes the plurality of pipeline-coupled program modules in parallel There is provided a command processing device comprising an object code generation unit for generating

上記複数のプログラムモジュールは、ファイルを入力するためのモジュール、パケットを入力するためのモジュール、ファイルを情報処理するためのモジュール、パケットを情報処理するためのモジュール、ファイルを出力するためのモジュール、及びパケットを出力するためのモジュールの少なくとも1つを含んでよい。上記ファイルを情報処理するためのモジュール又は上記パケットを情報処理するためのモジュールは、予め定められた条件を満たす上記ファイル又は上記パケットを関連付けるためのモジュールを含んでよい。上記ファイルを情報処理するためのモジュール又は上記パケットを情報処理するためのモジュールは、予め定められた条件を満たす上記ファイル又は上記パケットに、外部データベースに格納されている情報を付加するためのモジュールを含んでよい。上記複数のプログラムモジュールは、予め定められた条件に従って、上記ファイル又は上記パケットを集計するためのモジュールを含んでよい。   The plurality of program modules include a module for inputting a file, a module for inputting a packet, a module for processing a file, a module for processing a packet, a module for outputting a file, and At least one of the modules for outputting the packet may be included. The module for processing the file or the module for processing the packet may include a module for associating the file or the packet that satisfies a predetermined condition. The module for processing the file or the module for processing the packet includes a module for adding information stored in an external database to the file or the packet satisfying a predetermined condition. May include. The plurality of program modules may include a module for counting the files or the packets according to a predetermined condition.

上記オブジェクトコード生成部は、上記複数のプログラムモジュールをマルチコアプロセッサの複数のコアのそれぞれに実行させる上記オブジェクトコードを生成してよい。上記オブジェクトコード生成部は、上記複数のプログラムモジュールのそれぞれに、処理結果を格納するキューを割り当てる上記オブジェクトコードを生成してよい。上記コマンド群は、上記複数のコマンドの少なくともいずれかについて、上記コマンドを実行する時間の条件を含んでよく、上記オブジェクトコード生成部は、上記オブジェクトコードを実行する実行装置に、上記時間の条件に従って上記コマンドに対応するプログラムモジュールの実行を制御させる上記オブジェクトコードを生成してよい。上記モジュール結合部は、上記複数のコマンドの少なくともいずれかについて、上記コマンドに対応する複数のプログラムモジュールのうちの少なくとも1つのプログラムモジュールと同一の処理を実行する1又は複数のプログラムモジュールを、上記少なくとも1つのプログラムモジュールと並列処理させるべく結合してよい。   The object code generation unit may generate the object code that causes each of the plurality of cores of the multi-core processor to execute the plurality of program modules. The object code generation unit may generate the object code for assigning a queue for storing a processing result to each of the plurality of program modules. The command group may include a time condition for executing the command with respect to at least one of the plurality of commands, and the object code generation unit sends an execution device for executing the object code to the execution device according to the time condition. The object code for controlling the execution of the program module corresponding to the command may be generated. The module coupling unit includes at least one program module that executes the same processing as at least one program module among a plurality of program modules corresponding to the command with respect to at least one of the plurality of commands. It may be combined to be processed in parallel with one program module.

本発明の第2の態様によれば、コンピュータを、上記コマンド処理装置として機能させるためのプログラムが提供される。   According to the second aspect of the present invention, there is provided a program for causing a computer to function as the command processing device.

なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。   It should be noted that the above summary of the invention does not enumerate all the necessary features of the present invention. In addition, a sub-combination of these feature groups can also be an invention.

コマンド処理装置100によって生成されたオブジェクトコードを実行する環境の一例を概略的に示す。1 schematically shows an example of an environment in which an object code generated by a command processing device 100 is executed. データ処理装置200による処理の流れの一例を概略的に示す。An example of the flow of processing by data processor 200 is shown roughly. コマンド処理装置100の機能構成の一例を概略的に示す。An example of a functional composition of command processing device 100 is shown roughly. コマンド処理装置100として機能するコンピュータ の一例を概略的に示す。1 schematically shows an example of a computer that functions as a command processing device 100.

以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。   Hereinafter, the present invention will be described through embodiments of the invention, but the following embodiments do not limit the invention according to the claims. In addition, not all the combinations of features described in the embodiments are essential for the solving means of the invention.

図1は、コマンド処理装置100によって生成されたオブジェクトコードを実行するデータ処理装置200の実行環境の一例を概略的に示す。データ処理装置200は実行装置の一例であってよい。データ処理装置200は、コレクタ72及びコレクタ74によって通信システム10から収集されたデータを処理する。   FIG. 1 schematically shows an example of an execution environment of a data processing device 200 that executes an object code generated by the command processing device 100. The data processing device 200 may be an example of an execution device. The data processing device 200 processes data collected from the communication system 10 by the collector 72 and the collector 74.

通信システム10は、eNB(eNodeB)20、MME(Mobility Management Entity)30、SGW(Serving Gateway)40、PGW(Packet data network Gateway)50、タップ62、及びタップ64を含む。PGW50よりも上の階層は省略して表記している。   The communication system 10 includes an eNB (eNodeB) 20, an MME (Mobility Management Entity) 30, an SGW (Serving Gateway) 40, a PGW (Packet data network Gateway) 50, a tap 62, and a tap 64. The layers above the PGW 50 are not shown.

タップ62は、MME30及びSGW40の間でS11インタフェースを介して送受信される制御データをコレクタ72に送信する。タップ62は、MME30及びSGW40の間で送受信される制御データを複製してコレクタ72に送信してよい。タップ62は、MME30及びSGW40の間で送受信される制御データを取得することができれば、ネットワーク上の何れの位置に配置されてもよい。   The tap 62 transmits control data transmitted and received between the MME 30 and the SGW 40 via the S11 interface to the collector 72. The tap 62 may duplicate and transmit control data transmitted and received between the MME 30 and the SGW 40 to the collector 72. The tap 62 may be disposed at any position on the network as long as control data transmitted and received between the MME 30 and the SGW 40 can be acquired.

タップ64は、eNB20及びSGW40の間でS1−Uインタフェースを介して送受信されるユーザデータをコレクタ74に送信する。タップ64は、eNB20及びSGW40の間で送受信されるユーザデータを複製してコレクタ74に送信してよい。タップ64は、eNB20及びSGW40の間で送受信されるユーザデータを取得することができれば、ネットワーク上の何れの位置に配置されてもよい。   The tap 64 transmits user data transmitted / received between the eNB 20 and the SGW 40 via the S1-U interface to the collector 74. The tap 64 may replicate user data transmitted / received between the eNB 20 and the SGW 40 and transmit it to the collector 74. The tap 64 may be arranged at any position on the network as long as user data transmitted and received between the eNB 20 and the SGW 40 can be acquired.

コレクタ72は、タップ62から受信した制御データをデータ処理装置200に送信する。コレクタ74は、タップ64から受信したユーザデータをデータ処理装置200に送信する。データ処理装置200は、コレクタ72及びコレクタ74から絶えず送信されるデータを受信して処理する。   The collector 72 transmits the control data received from the tap 62 to the data processing device 200. The collector 74 transmits user data received from the tap 64 to the data processing device 200. The data processing device 200 receives and processes data continuously transmitted from the collector 72 and the collector 74.

コマンド処理装置100は、データ処理装置200に実行させる処理内容が規定されたコマンド群を取得して、当該コマンド群に基づいてデータ処理装置200に実行させるオブジェクトデータを生成する。コマンド群は、例えば、データ処理装置200の処理内容を設計する設計者等によって作成される。コマンド群は、コマンド処理装置100において生成されてよく、また、コマンド処理装置100は、他の装置において生成されたコマンド群を当該他の装置から受信してもよい。コマンド群は、プログラム又はプログラムに準ずるものであってよい。データ処理装置200は、コマンド処理装置100によって生成されたオブジェクトデータを受信して、当該オブジェクトデータを実行することによって、コレクタ72及びコレクタ74から受信するデータを処理する。   The command processing device 100 acquires a command group in which processing contents to be executed by the data processing device 200 are defined, and generates object data to be executed by the data processing device 200 based on the command group. The command group is created by, for example, a designer who designs the processing contents of the data processing device 200. The command group may be generated in the command processing apparatus 100, and the command processing apparatus 100 may receive a command group generated in another apparatus from the other apparatus. The command group may be a program or a program. The data processing device 200 processes the data received from the collector 72 and the collector 74 by receiving the object data generated by the command processing device 100 and executing the object data.

図2は、データ処理装置200による処理の流れの一例を概略的に示す。データ処理装置200は、コマンド処理装置100から受信したオブジェクトデータを実行することにより、複数のプログラムモジュールを実現する。Input Worker202、Format Worker206、Input Worker212、Format Worker216、Joint Worker220、Aggregation Worker224、File Output Worker228、及びUDP Output Worker230は、プログラムモジュールの一例である。   FIG. 2 schematically shows an example of the flow of processing by the data processing apparatus 200. The data processing device 200 implements a plurality of program modules by executing the object data received from the command processing device 100. The input worker 202, the format worker 206, the input worker 212, the format worker 216, the joint worker 220, the aggregation worker 224, the file output worker 228, and the UDP output module 230 are examples of the program.

Input Worker202は、コレクタ72によって収集される制御データの入力を受け付ける処理を実行して、処理結果をQueue204に格納する。Format Worker206は、Queue204に格納されているデータをフォーマットする処理を実行して、処理結果をQueue208に格納する。   The input worker 202 executes processing for receiving input of control data collected by the collector 72 and stores the processing result in the queue 204. The format worker 206 executes processing for formatting the data stored in the queue 204 and stores the processing result in the queue 208.

Input Worker212は、コレクタ74によって収集されるユーザデータの入力を受け付ける処理を実行して、処理結果をQueue214に格納する。Format Worker216は、Queue214に格納されているデータをフォーマットする処理を実行して、処理結果をQueue218に格納する。   The input worker 212 executes processing for accepting input of user data collected by the collector 74 and stores the processing result in the queue 214. The format worker 216 executes processing for formatting the data stored in the queue 214 and stores the processing result in the queue 218.

Joint Worker220は、Queue208に格納されている制御データと、Queue218に格納されているユーザデータとを関連付ける処理を実行する。例えば、Joint Worker220は、通信システム10を利用する複数の通信端末のそれぞれについて、Queue208に格納されているハンドオーバ情報と、Queue214に格納されているユーザデータとを関連付ける。   The Joint Worker 220 executes processing for associating the control data stored in the Queue 208 with the user data stored in the Queue 218. For example, the Joint Worker 220 associates the handover information stored in the Queue 208 with the user data stored in the Queue 214 for each of a plurality of communication terminals that use the communication system 10.

また、Joint Worker220は、関連付けた制御データ及びユーザデータに対して、DB300に格納されている情報を付加する処理を実行してよい。DB300は、通信システム10に関する各種情報及び通信端末に関する各種情報を格納していてよい。例えば、DB300は、eNB20によって形成されるセルの位置情報を格納する。位置情報は、セルを形成するeNB20の緯度経度情報及び住所の少なくともいずれかを含んでよい。また、例えば、DB300は、通信端末を使用する使用者の年齢及び住所等の情報を格納する。Joint Worker220は、例えば、ハンドオーバ情報及びユーザデータに、ハンドオーバ元のセル及びハンドオーバ先のセルの位置情報と、通信端末を使用する使用者の年齢とを付加する。Joint Worker220は、処理結果をQueue222に格納する。   In addition, the joint worker 220 may execute a process of adding information stored in the DB 300 to the associated control data and user data. The DB 300 may store various information related to the communication system 10 and various information related to communication terminals. For example, the DB 300 stores location information of cells formed by the eNB 20. The location information may include at least one of latitude / longitude information and an address of the eNB 20 forming the cell. Further, for example, the DB 300 stores information such as the age and address of the user who uses the communication terminal. For example, the joint worker 220 adds the location information of the handover source cell and the handover destination cell and the age of the user who uses the communication terminal to the handover information and user data. The Joint Worker 220 stores the processing result in the Queue 222.

Aggregation Worker224は、Queue222に格納されているデータを集計する処理を実行する。例えば、Aggregation Worker224は、Queue222に格納されているデータを通信端末の使用者の年代別に集計する処理を実行する。Aggregation Worker224は、処理結果をQueue226に格納する。   The aggregation worker 224 executes a process of aggregating data stored in the Queue 222. For example, the aggregation worker 224 executes a process of counting data stored in the Queue 222 according to the age of the user of the communication terminal. The aggregation worker 224 stores the processing result in the queue 226.

File Output Worker228は、Queue226に格納されているデータをファイルとして外部に出力する。UDP Output Worker230は、Queue226に格納されているデータをUDPに従って外部に送信する。   The File Output Worker 228 outputs the data stored in the Queue 226 to the outside as a file. The UDP Output Worker 230 transmits the data stored in the Queue 226 to the outside according to the UDP.

データ処理装置200は、複数のプログラムモジュールの少なくともいずれかのプログラムモジュールについて、当該プログラムモジュールと同一の処理を並列に実行する1又は複数のプログラムモジュールを実現してもよい。例えば、データ処理装置200は、複数のJoint Worker220を実現する。これにより、Queue208に格納されているデータと、Queue218に格納されているデータとを関連付ける処理を、複数のJoint Worker220によって分担させることができ、当該処理の処理速度を向上できる。   The data processing device 200 may realize one or a plurality of program modules that execute the same processing as the program module in parallel for at least one of the plurality of program modules. For example, the data processing device 200 implements a plurality of Joint Workers 220. As a result, the process of associating the data stored in the Queue 208 and the data stored in the Queue 218 can be shared by the plurality of Joint Workers 220, and the processing speed of the process can be improved.

データ処理装置200は、コマンド処理装置100から受信したオブジェクトデータを実行することにより、Time Manager250を実現してよい。Time Manager250は、予め定められた時間の条件に従って、複数のプログラムモジュールの実行を制御する。例えば、Time Manager250は、予め定められた時間毎に、File Output Worker228にQueue226に格納されるデータをファイルとして外部に出力させる。また、例えば、Time Manager250は、予め定められた時間毎に、UDP Output Worker230にQueue226に格納されているデータをUDPに従って外部に送信させる。   The data processing device 200 may implement the Time Manager 250 by executing the object data received from the command processing device 100. The Time Manager 250 controls the execution of a plurality of program modules according to a predetermined time condition. For example, the time manager 250 causes the file output worker 228 to output the data stored in the queue 226 to the outside as a file at predetermined time intervals. In addition, for example, the Time Manager 250 causes the UDP Output Worker 230 to transmit the data stored in the Queue 226 to the outside according to the UDP at predetermined time intervals.

データ処理装置200は、図2に示すようにパイプライン結合された複数のプログラムモジュールを並列に実行してよい。これにより、大量のデータをより効率的に処理することができる。   The data processing apparatus 200 may execute a plurality of program modules coupled in a pipeline as shown in FIG. Thereby, a large amount of data can be processed more efficiently.

データ処理装置200がマルチコアプロセッサを有する場合、マルチコアプロセッサの複数のコアのそれぞれが複数のプログラムモジュールのそれぞれを実行してよい。これにより、複数のコアを効率的に活用することができ、大量のデータをより効率的に処理することができる。   When the data processing device 200 includes a multi-core processor, each of the plurality of cores of the multi-core processor may execute each of the plurality of program modules. Thereby, a plurality of cores can be used efficiently, and a large amount of data can be processed more efficiently.

図3は、コマンド処理装置100の機能構成の一例を概略的に示す。コマンド処理装置100は、モジュール格納部102、対応付け情報格納部104、コマンド群取得部106、モジュール結合部108、オブジェクトコード生成部110、オブジェクトコード送信部112、及びモジュール登録部114を備える。なお、コマンド処理装置100がこれらのすべての構成を備えることは必須とは限らない。   FIG. 3 schematically shows an example of the functional configuration of the command processing apparatus 100. The command processing apparatus 100 includes a module storage unit 102, an association information storage unit 104, a command group acquisition unit 106, a module combination unit 108, an object code generation unit 110, an object code transmission unit 112, and a module registration unit 114. Note that it is not essential that the command processing apparatus 100 includes all of these configurations.

モジュール格納部102は、複数のプログラムモジュールを格納する。モジュール格納部102は、それぞれが1つのタスクのみを実行する複数のプログラムモジュールを格納してよい。モジュール格納部102は、2つ以上のタスクを実行するプログラムモジュールを格納してもよい。   The module storage unit 102 stores a plurality of program modules. The module storage unit 102 may store a plurality of program modules each executing only one task. The module storage unit 102 may store program modules that execute two or more tasks.

例えば、モジュール格納部102は、ファイルを入力するためのモジュールを格納する。モジュール格納部102は、パケットを入力するためのモジュールを格納してよい。モジュール格納部102は、ファイルを情報処理するためのモジュールを格納してよい。モジュール格納部102は、パケットを情報処理するためのモジュールを格納してよい。モジュール格納部102は、ファイルを出力するためのモジュールを格納してよい。モジュール格納部102は、パケットを出力するためのモジュールを格納してよい。モジュール格納部102は、ファイルからデータを抽出するためのモジュールを格納してよい。モジュール格納部102は、ファイルから抽出したデータを情報処理するためのモジュールを格納してよい。モジュール格納部102は、パケットからデータを生成するためのモジュールを格納してよい。モジュール格納部102は、パケットから生成したデータを情報処理するためのモジュールを格納してよい。   For example, the module storage unit 102 stores a module for inputting a file. The module storage unit 102 may store a module for inputting a packet. The module storage unit 102 may store a module for processing a file. The module storage unit 102 may store a module for processing a packet. The module storage unit 102 may store a module for outputting a file. The module storage unit 102 may store a module for outputting a packet. The module storage unit 102 may store a module for extracting data from a file. The module storage unit 102 may store a module for processing information extracted from a file. The module storage unit 102 may store a module for generating data from the packet. The module storage unit 102 may store a module for processing information generated from a packet.

ファイルを情報処理するためのモジュールは、予め定められた条件を満たすファイルを関連付けるためのモジュールを含んでよい。パケットを情報処理するためのモジュールは、予め定められた条件を満たすパケットを関連付けるためのモジュールを含んでよい。データを情報処理するためのモジュールは、予め定められた条件を満たすデータを関連付けるためのモジュールを含んでよい。   The module for processing the file may include a module for associating a file that satisfies a predetermined condition. The module for processing the packet may include a module for associating a packet that satisfies a predetermined condition. The module for processing data may include a module for associating data satisfying a predetermined condition.

ファイルを情報処理するためのモジュールは、予め定められた条件を満たすファイルに、外部データベースに格納されている情報を付加するためのモジュールを含んでよい。パケットを情報処理するためのモジュールは、予め定められた条件を満たすパケットに、外部データベースに格納されている情報を付加するためのモジュールを含んでよい。データを情報処理するためのモジュールは、予め定められた条件を満たすデータに、外部データベースに格納されている情報を付加するためのモジュールを含んでよい。   The module for processing a file may include a module for adding information stored in an external database to a file that satisfies a predetermined condition. The module for processing a packet may include a module for adding information stored in an external database to a packet that satisfies a predetermined condition. The module for processing information may include a module for adding information stored in an external database to data that satisfies a predetermined condition.

モジュール格納部102は、予め定められた条件に従ってファイルを集計するためのモジュールを格納してよい。モジュール格納部102は、予め定められた条件に従ってパケットを集計するためのモジュールを格納してよい。モジュール格納部102は、予め定められた条件に従ってデータを集計するためのモジュールを格納してよい。   The module storage unit 102 may store a module for counting files according to a predetermined condition. The module storage unit 102 may store a module for counting packets according to a predetermined condition. The module storage unit 102 may store a module for aggregating data according to a predetermined condition.

対応付け情報格納部104は、コマンドと複数のプログラムモジュールとを対応付ける対応付け情報を格納する。対応付け情報は、コマンドと、当該コマンドに対応する処理を実現する複数のプログラムモジュールとを対応付けてよい。例えば、コレクタ72から受信したデータとコレクタ74から受信したデータとを関連付けるコマンドに、Input Worker202、Format Worker206、Input Worker212、Format Worker216、及びJoint Worker220が対応付けられる。   The association information storage unit 104 stores association information that associates a command with a plurality of program modules. The association information may associate a command with a plurality of program modules that realize processing corresponding to the command. For example, the input worker 202, the format worker 206, the input worker 212, the format worker 216, and the joint worker 220 are associated with the command that associates the data received from the collector 72 with the data received from the collector 74.

コマンド群取得部106は、複数のコマンド及び複数のコマンドの実行順序を含むコマンド群を取得する。コマンド群取得部106は、コマンド処理装置100において生成されたコマンド群を取得してよい。また、コマンド群取得部106は、コマンド処理装置100以外の装置によって生成されたコマンド群を、当該装置から受信してよい。   The command group acquisition unit 106 acquires a command group including a plurality of commands and an execution order of the plurality of commands. The command group acquisition unit 106 may acquire a command group generated in the command processing device 100. Further, the command group acquisition unit 106 may receive a command group generated by a device other than the command processing device 100 from the device.

モジュール結合部108は、コマンド群取得部106が取得したコマンド群に含まれる複数のコマンドに対応する複数のプログラムモジュールを、コマンド群に含まれる実行順序に従ってパイプライン結合する。モジュール結合部108は、コマンド群取得部106が取得したコマンド群に、複数のコマンドの少なくともいずれかのコマンドに対する並列処理数が含まれる場合、当該コマンドに対応する複数のプログラムモジュールのうちの少なくとも1つのプログラムモジュールと同一の処理を実行する1又は複数のプログラムモジュールを、当該少なくとも1つのプログラムモジュールと並列処理させるべく結合してよい。   The module coupling unit 108 pipeline-couples a plurality of program modules corresponding to a plurality of commands included in the command group acquired by the command group acquisition unit 106 according to the execution order included in the command group. When the command group acquired by the command group acquisition unit 106 includes the number of parallel processes for at least one command of a plurality of commands, the module combination unit 108 includes at least one of a plurality of program modules corresponding to the command. One or a plurality of program modules that perform the same processing as one program module may be combined to be processed in parallel with the at least one program module.

オブジェクトコード生成部110は、モジュール結合部108によってパイプライン結合された複数のプログラムモジュールを並列に実行させるオブジェクトコードを生成する。オブジェクトコード生成部110は、複数のプログラムモジュールのそれぞれをマルチコアプロセッサの複数のコアのそれぞれに実行させるオブジェクトコードを生成してよい。   The object code generation unit 110 generates object code that causes a plurality of program modules that are pipeline-coupled by the module coupling unit 108 to be executed in parallel. The object code generation unit 110 may generate object code that causes each of the plurality of program modules to be executed by each of the plurality of cores of the multi-core processor.

オブジェクトコード生成部110は、複数のプログラムモジュールのそれぞれに、処理結果を格納するキューを割り当てるオブジェクトコードを生成する。これにより、パイプライン結合された複数のプログラムモジュールの並列処理を可能とすることができる。   The object code generation unit 110 generates an object code for assigning a queue for storing a processing result to each of a plurality of program modules. Thereby, parallel processing of a plurality of program modules coupled in a pipeline can be enabled.

モジュール登録部114は、モジュール格納部102にプログラムモジュールを登録する。モジュール登録部114は、データ処理装置200の処理内容を設計する設計者等によって新たに生成されたプログラムモジュールをモジュール格納部102に登録してよい。   The module registration unit 114 registers a program module in the module storage unit 102. The module registration unit 114 may register a program module newly generated by a designer or the like who designs processing contents of the data processing device 200 in the module storage unit 102.

図4は、コマンド処理装置100として機能するコンピュータ1000のハードウエア構成の一例を示す。本実施形態に係るコンピュータ1000は、ホストコントローラ1092により相互に接続されるCPU1010、RAM1030、及びグラフィックコントローラ1085を有するCPU周辺部と、入出力コントローラ1094によりホストコントローラ1092に接続される通信I/F1040、ハードディスクドライブ1050、及びDVDドライブ1070を有する入出力部と、入出力コントローラ1094に接続されるROM1020、FDドライブ1060、及び入出力チップ1080を有するレガシー入出力部とを備える。   FIG. 4 shows an example of the hardware configuration of a computer 1000 that functions as the command processing apparatus 100. The computer 1000 according to this embodiment includes a CPU peripheral unit including a CPU 1010, a RAM 1030, and a graphic controller 1085 connected to each other by a host controller 1092; a communication I / F 1040 connected to the host controller 1092 by an input / output controller 1094; An input / output unit having a hard disk drive 1050 and a DVD drive 1070, and a legacy input / output unit having a ROM 1020, an FD drive 1060, and an input / output chip 1080 connected to the input / output controller 1094 are provided.

CPU1010は、ROM1020及びRAM1030に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ1085は、CPU1010などがRAM1030内に設けたフレーム・バッファ上に生成する画像データを取得し、ディスプレイ1090上に表示させる。これに代えて、グラフィックコントローラ1085は、CPU1010などが生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。   The CPU 1010 operates based on programs stored in the ROM 1020 and the RAM 1030 and controls each unit. The graphic controller 1085 acquires image data generated by the CPU 1010 or the like on a frame buffer provided in the RAM 1030 and displays the image data on the display 1090. Alternatively, the graphic controller 1085 may include a frame buffer that stores image data generated by the CPU 1010 or the like.

通信I/F1040は、有線又は無線によりネットワークを介して他の装置と通信する。また、通信I/F1040は、通信を行うハードウエアとして機能する。ハードディスクドライブ1050は、CPU1010が使用するプログラム及びデータを格納する。DVDドライブ1070は、DVD−ROM1072からプログラム又はデータを読み取り、RAM1030を介してハードディスクドライブ1050に提供する。   The communication I / F 1040 communicates with other devices via a network by wire or wireless. The communication I / F 1040 functions as hardware that performs communication. The hard disk drive 1050 stores programs and data used by the CPU 1010. The DVD drive 1070 reads a program or data from the DVD-ROM 1072 and provides it to the hard disk drive 1050 via the RAM 1030.

ROM1020は、コンピュータ1000が起動時に実行するブート・プログラム、及びコンピュータ1000のハードウエアに依存するプログラムなどを格納する。FDドライブ1060は、フレキシブルディスク1062からプログラム又はデータを読み取り、RAM1030を介してハードディスクドライブ1050に提供する。入出力チップ1080は、FDドライブ1060を入出力コントローラ1094へと接続するとともに、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポートなどを介して各種の入出力装置を入出力コントローラ1094へと接続する。   The ROM 1020 stores a boot program executed when the computer 1000 is started up, a program depending on the hardware of the computer 1000, and the like. The FD drive 1060 reads a program or data from the flexible disk 1062 and provides it to the hard disk drive 1050 via the RAM 1030. The input / output chip 1080 connects the FD drive 1060 to the input / output controller 1094, and connects various input / output devices to the input / output controller 1094 via, for example, a parallel port, a serial port, a keyboard port, and a mouse port. Connect to.

RAM1030を介してハードディスクドライブ1050に提供されるプログラムは、フレキシブルディスク1062、DVD−ROM1072、又はICカードなどの記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM1030を介してハードディスクドライブ1050にインストールされ、CPU1010において実行される。   A program provided to the hard disk drive 1050 via the RAM 1030 is stored in a recording medium such as the flexible disk 1062, the DVD-ROM 1072, or an IC card and provided by the user. The program is read from the recording medium, installed in the hard disk drive 1050 via the RAM 1030, and executed by the CPU 1010.

コンピュータ1000にインストールされ、コンピュータ1000をコマンド処理装置100として機能させるプログラムは、CPU1010などに働きかけて、コンピュータ1000を、MMSC100の各部としてそれぞれ機能させてよい。これらのプログラムに記述された情報処理は、コンピュータ1000に読込まれることにより、ソフトウエアと上述した各種のハードウエア資源とが協働した具体的手段であるモジュール格納部102、対応付け情報格納部104、コマンド群取得部106、モジュール結合部108、オブジェクトコード生成部110、オブジェクトコード送信部112、及びモジュール登録部114として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1000の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有のコマンド処理装置100が構築される。   A program that is installed in the computer 1000 and causes the computer 1000 to function as the command processing apparatus 100 may work on the CPU 1010 or the like to cause the computer 1000 to function as each unit of the MMSC 100. The information processing described in these programs is read by the computer 1000, whereby the module storage unit 102, which is a specific means in which the software and the various hardware resources described above cooperate with each other, the association information storage unit 104, function as a command group acquisition unit 106, module combination unit 108, object code generation unit 110, object code transmission unit 112, and module registration unit 114. The specific command processing device 100 corresponding to the purpose of use is constructed by realizing calculation or processing of information according to the purpose of use of the computer 1000 in this embodiment by these specific means.

以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。   As mentioned above, although this invention was demonstrated using embodiment, the technical scope of this invention is not limited to the range as described in the said embodiment. It will be apparent to those skilled in the art that various modifications or improvements can be added to the above-described embodiment. It is apparent from the scope of the claims that the embodiments added with such changes or improvements can be included in the technical scope of the present invention.

特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。   The order of execution of each process such as operations, procedures, steps, and stages in the apparatus, system, program, and method shown in the claims, the description, and the drawings is particularly “before” or “prior to”. It should be noted that it can be realized in any order unless the output of the previous process is used in the subsequent process. Regarding the operation flow in the claims, the description, and the drawings, even if it is described using “first,” “next,” etc. for convenience, it means that it is essential to carry out in this order. It is not a thing.

10 通信システム、20 eNB、30 MME、40 SGW、50 PGW、62 タップ、64 タップ、72 コレクタ、74 コレクタ、100 コマンド処理装置、102 モジュール格納部、104 対応付け情報格納部、106 コマンド群取得部、108 モジュール結合部、110 オブジェクトコード生成部、112 オブジェクトコード送信部、114 モジュール登録部、200 データ処理装置、202 Input Worker、204 Queue、206 Format Worker、208 Queue、212 Input Worker、214 Queue、216 Format Worker、218 Queue、220 Joint Worker、222 Queue、224 Aggregation Worker、226 Queue、228 File Output Worker、230 UDP Output Worker、250 Time Manager、300 DB、1000 コンピュータ、1010 CPU、1020 ROM、1030 RAM、1040 通信I/F、1050 ハードディスクドライブ、1060 FDドライブ、1062 フレキシブルディスク、1070 DVDドライブ、1072 DVD−ROM、1080 入出力チップ、1085 グラフィックコントローラ、1090 ディスプレイ、1092 ホストコントローラ、1094 入出力コントローラ 10 communication system, 20 eNB, 30 MME, 40 SGW, 50 PGW, 62 tap, 64 tap, 72 collector, 74 collector, 100 command processing device, 102 module storage unit, 104 association information storage unit, 106 command group acquisition unit , 108 module coupling unit, 110 object code generation unit, 112 object code transmission unit, 114 module registration unit, 200 data processing device, 202 Input Worker, 204 Queue, 206 Format Worker, 208 Queue, 212 Input Worker, 214 Queue, 216 Format Worker, 218 Queue, 220 Joint Worker, 222 Queue, 224 Aggregatio Worker, 226 Queue, 228 File Output Worker, 230 UDP Output Worker, 250 Time Manager, 300 DB, 1000 Computer, 1010 CPU, 1020 ROM, 1030 RAM, 1040 Communication I / F, 1050 Hard Disk Drive, 1060 FD Drive, 1062 Flexible Disc, 1070 DVD drive, 1072 DVD-ROM, 1080 input / output chip, 1085 graphic controller, 1090 display, 1092 host controller, 1094 input / output controller

Claims (10)

コマンドと複数のプログラムモジュールとを対応付ける対応付け情報を格納する対応付け情報格納部と、
複数のコマンド及び前記複数のコマンドの実行順序を含むコマンド群を取得するコマンド群取得部と、
前記コマンド群に含まれる複数のコマンドに対応する複数のプログラムモジュールを前記実行順序に従ってパイプライン結合するモジュール結合部と、
パイプライン結合された前記複数のプログラムモジュールを並列に実行させるオブジェクトコードを生成するオブジェクトコード生成部と
を備えるコマンド処理装置。
An association information storage unit for storing association information for associating a command with a plurality of program modules;
A command group acquisition unit for acquiring a command group including a plurality of commands and an execution order of the plurality of commands;
A module coupling unit that pipeline-couples a plurality of program modules corresponding to a plurality of commands included in the command group according to the execution order;
A command processing apparatus comprising: an object code generation unit configured to generate an object code for executing the plurality of program modules coupled in pipeline in parallel.
前記複数のプログラムモジュールは、ファイルを入力するためのモジュール、パケットを入力するためのモジュール、ファイルを情報処理するためのモジュール、パケットを情報処理するためのモジュール、ファイルを出力するためのモジュール、及びパケットを出力するためのモジュールの少なくとも1つを含む、請求項1に記載のコマンド処理装置。   The plurality of program modules include a module for inputting a file, a module for inputting a packet, a module for processing a file, a module for processing a packet, a module for outputting a file, and The command processing apparatus according to claim 1, comprising at least one of modules for outputting a packet. 前記ファイルを情報処理するためのモジュール又は前記パケットを情報処理するためのモジュールは、予め定められた条件を満たす前記ファイル又は前記パケットを関連付けるためのモジュールを含む、請求項2に記載のコマンド処理装置。   The command processing apparatus according to claim 2, wherein the module for processing the file or the module for processing the packet includes a module for associating the file or the packet that satisfies a predetermined condition. . 前記ファイルを情報処理するためのモジュール又は前記パケットを情報処理するためのモジュールは、予め定められた条件を満たす前記ファイル又は前記パケットに、外部データベースに格納されている情報を付加するためのモジュールを含む、請求項2又は3に記載のコマンド処理装置。   The module for processing the file or the module for processing the packet includes a module for adding information stored in an external database to the file or the packet satisfying a predetermined condition. The command processing device according to claim 2, further comprising: 前記複数のプログラムモジュールは、予め定められた条件に従って、前記ファイル又は前記パケットを集計するためのモジュールを含む、請求項2から4のいずれか一項に記載のコマンド処理装置。   5. The command processing device according to claim 2, wherein the plurality of program modules include a module for counting the files or the packets according to a predetermined condition. 6. 前記オブジェクトコード生成部は、前記複数のプログラムモジュールをマルチコアプロセッサの複数のコアのそれぞれに実行させる前記オブジェクトコードを生成する、請求項1から5のいずれか一項に記載のコマンド処理装置。   The command processing device according to claim 1, wherein the object code generation unit generates the object code that causes each of a plurality of cores of a multi-core processor to execute the plurality of program modules. 前記オブジェクトコード生成部は、前記複数のプログラムモジュールのそれぞれに、処理結果を格納するキューを割り当てる前記オブジェクトコードを生成する、請求項1から6のいずれか一項に記載のコマンド処理装置。   The command processing apparatus according to claim 1, wherein the object code generation unit generates the object code for assigning a queue for storing a processing result to each of the plurality of program modules. 前記コマンド群は、前記複数のコマンドの少なくともいずれかについて、前記コマンドを実行する時間の条件を含み、
前記オブジェクトコード生成部は、前記オブジェクトコードを実行する実行装置に、前記時間の条件に従って前記コマンドに対応するプログラムモジュールの実行を制御させる前記オブジェクトコードを生成する、請求項1から7のいずれか一項に記載のコマンド処理装置。
The command group includes a time condition for executing the command for at least one of the plurality of commands,
The object code generation unit generates the object code that causes an execution device that executes the object code to control execution of a program module corresponding to the command according to the time condition. The command processing device according to item.
前記モジュール結合部は、前記複数のコマンドの少なくともいずれかについて、前記コマンドに対応する複数のプログラムモジュールのうちの少なくとも1つのプログラムモジュールと同一の処理を実行する1又は複数のプログラムモジュールを、前記少なくとも1つのプログラムモジュールと並列処理させるべく結合する、請求項1から8のいずれか一項に記載のコマンド処理装置。   The module coupling unit includes at least one program module that executes the same processing as at least one of the plurality of program modules corresponding to the command for at least one of the plurality of commands. The command processing apparatus according to claim 1, wherein the command processing apparatus is combined to be processed in parallel with one program module. コンピュータを、請求項1から9のいずれか一項に記載のコマンド処理装置として機能させるためのプログラム。   A program for causing a computer to function as the command processing device according to any one of claims 1 to 9.
JP2016046296A 2016-03-09 2016-03-09 Command processing device and program Active JP6522537B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016046296A JP6522537B2 (en) 2016-03-09 2016-03-09 Command processing device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016046296A JP6522537B2 (en) 2016-03-09 2016-03-09 Command processing device and program

Publications (2)

Publication Number Publication Date
JP2017162215A true JP2017162215A (en) 2017-09-14
JP6522537B2 JP6522537B2 (en) 2019-05-29

Family

ID=59856914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016046296A Active JP6522537B2 (en) 2016-03-09 2016-03-09 Command processing device and program

Country Status (1)

Country Link
JP (1) JP6522537B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110244950A (en) * 2018-03-07 2019-09-17 深圳芯承电子科技有限公司 A kind of embedded assembler generating device and method

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6444538A (en) * 1987-08-12 1989-02-16 Fujitsu Ltd Command file processing system
JPH01193935A (en) * 1988-01-28 1989-08-03 Nec Software Ltd Program control system by sub-command execution system
JPH08179953A (en) * 1994-12-26 1996-07-12 Hitachi Ltd Automatic generation method and device for controller program
JPH10312202A (en) * 1997-05-12 1998-11-24 Sharp Corp Programmable controller
US20070226686A1 (en) * 2006-03-27 2007-09-27 Beardslee John M Programming a multi-processor system
JP2014197291A (en) * 2013-03-29 2014-10-16 株式会社日立製作所 Program processing method and program
US20150112767A1 (en) * 2013-10-17 2015-04-23 Cisco Technology, Inc. System and method for using network mobility events to build advertising demographics

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6444538A (en) * 1987-08-12 1989-02-16 Fujitsu Ltd Command file processing system
JPH01193935A (en) * 1988-01-28 1989-08-03 Nec Software Ltd Program control system by sub-command execution system
JPH08179953A (en) * 1994-12-26 1996-07-12 Hitachi Ltd Automatic generation method and device for controller program
JPH10312202A (en) * 1997-05-12 1998-11-24 Sharp Corp Programmable controller
US20070226686A1 (en) * 2006-03-27 2007-09-27 Beardslee John M Programming a multi-processor system
JP2014197291A (en) * 2013-03-29 2014-10-16 株式会社日立製作所 Program processing method and program
US20150112767A1 (en) * 2013-10-17 2015-04-23 Cisco Technology, Inc. System and method for using network mobility events to build advertising demographics

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
土屋 建: "ネットワーク・プロセッサ活用研究(後編)マルチスレッド・プログラミングの応用技法", INTERFACE, vol. 第31巻,第8号(通巻338号), JPN6018032155, 1 August 2005 (2005-08-01), JP, pages p.136−145 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110244950A (en) * 2018-03-07 2019-09-17 深圳芯承电子科技有限公司 A kind of embedded assembler generating device and method
CN110244950B (en) * 2018-03-07 2023-05-30 深圳芯承电子科技有限公司 Embedded assembler generating device and method

Also Published As

Publication number Publication date
JP6522537B2 (en) 2019-05-29

Similar Documents

Publication Publication Date Title
US8966499B2 (en) Virtual switch extensibility
EP3255553B1 (en) Transmission control method and device for direct memory access
EP3253005A1 (en) Data file registration management system, method, management device, and program
CN106489251A (en) The methods, devices and systems that applied topology relation finds
JP6424823B2 (en) INFORMATION PROCESSING APPARATUS AND SYSTEM DESIGN SUPPORT METHOD
WO2016101288A1 (en) Remote direct memory accessmethod, device and system
US9002970B2 (en) Remote direct memory access socket aggregation
CN105743822A (en) Method and apparatus for processing message
US10152194B2 (en) Transmitting hardware-rendered graphical data
US20150195213A1 (en) Request distribution method and information processing apparatus
CN110380992A (en) Message processing method, device and network flow acquire equipment
EP3101965A1 (en) Method and apparatus for adjacent node registration, and method and system for crossing node registration
DK2778935T3 (en) Effective input / output (I / O) operations
US20190026131A1 (en) Redirection Method and Apparatus, and System
US10574765B2 (en) Method, device, and non-transitory computer-readable recording medium
CN204117142U (en) Electronic device for providing instant switching and sharing of universal serial bus electronic equipment by host
CN103092676A (en) Analog input output method, device and system of virtual machine cluster
US20140112142A1 (en) Method of forwarding packet and apparatus thereof
JP6522537B2 (en) Command processing device and program
US20170052925A1 (en) Packet Data Processing Method, Apparatus, and System
KR20190069637A (en) Charging method and system in multi cloud in the same way
US20170206356A1 (en) Information processing system, controlling method, and controlling computer program
JP6048555B1 (en) Classification information creation device, classification information creation method, classification information creation program, search device, search method, and search program
JP6283728B2 (en) Mass data transfer apparatus and method
US10348779B2 (en) Data receiving device, data receiving method, and non-transitory computer readable medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181019

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190424

R150 Certificate of patent or registration of utility model

Ref document number: 6522537

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250