JP6509475B1 - 管理装置、管理方法及び管理プログラム - Google Patents

管理装置、管理方法及び管理プログラム Download PDF

Info

Publication number
JP6509475B1
JP6509475B1 JP2019507353A JP2019507353A JP6509475B1 JP 6509475 B1 JP6509475 B1 JP 6509475B1 JP 2019507353 A JP2019507353 A JP 2019507353A JP 2019507353 A JP2019507353 A JP 2019507353A JP 6509475 B1 JP6509475 B1 JP 6509475B1
Authority
JP
Japan
Prior art keywords
task
normal
data
data processing
tasks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2019507353A
Other languages
English (en)
Other versions
JPWO2018220702A1 (ja
Inventor
善彦 橋爪
善彦 橋爪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6509475B1 publication Critical patent/JP6509475B1/ja
Publication of JPWO2018220702A1 publication Critical patent/JPWO2018220702A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

管理ノード(10)は、タスクの実行が可能な複数の子ノード(20)を管理する。平文取得部(311)は、平文データを取得する。タスクスケジューラ(313)及びタスク配信部(314)は、平文取得部(311)による平文データの取得前に生成されていたタスクである先行タスクが存在する場合に、先行タスクを複数の子ノード(20)のうちのいずれかの子ノード(20)に割り当て、先行タスクの割当て後に、平文データから複数のタスクを複数の通常タスクとして生成し、複数の子ノード(20)のうち、先行タスクを割り当てた子ノード(20)以外の子ノード(20)の間の処理量が均等になるように、子ノード(20)に複数の通常タスクを割り当てる。

Description

本発明は、管理装置、管理方法及び管理プログラムに関する。
特許文献1の技術では、通常のジョブキューに加えて、特急ジョブキュー又は仮想ジョブキューを備えることで、特定のジョブの即時実行を実現している。なお、特急ジョブキューは特定のジョブを即時に起動するためのジョブキューである。また、仮想ジョブキューは即時に起動したいジョブの先頭ポインタを格納するジョブキューである。
特許文献2の技術では、複数のコネクションを用いた高速かつ信頼性の高いファイル伝送が実現されている。具体的には、特許文献2では、あるコネクションにおいてデータパックの伝送にエラーが発生した場合に、エラーが発生したデータパックがリトライキューにエンキューされる。そして、特許文献2では、リトライキューのデータパックが優先的に伝送される。これにより、特許文献2では、高速かつ信頼性の高いファイル伝送が実現されている。
非特許文献2の技術では、通常のジョブをエンキューするactiveキューと、タイムアウトが発生したジョブをエンキューするexpiredキューが用いられる。また、非特許文献2の技術では、activeキューのジョブがなくなったらexpiredキューのジョブが処理される。これにより、非特許文献2の技術では、ジョブの優先度に限らず、全てのジョブが必ず処理されることが保証される。
特開平11−110237号公報 特開2001−24733号公報
Morris Dworkin, "Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC", NIST SP.800−38D, Nov. 2007. http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800−38D.pdf Josh Aas, "Understanding the Linux(登録商標) 2.6.8.1 CPU Scheduler", Feb. 17, 2005. http://www.inf.ed.ac.uk/teaching/courses/os/coursework/lcpusched−fullpage−2x1.pdf
大容量リアルタイム通信システムにおいて、随時入力される平文データの暗号化(あるいは暗号文データの復号、以下、両者をまとめて暗号化という)及び改ざん防止用のメッセージ認証子(MAC)の生成(あるいはMACの検証、以下、両者をまとめてMAC生成という)を高速に処理することを考える。より具体的には、暗号化及びMAC生成を、複数の計算機によるクラスタ構成により高速に処理することを考える。また、暗号化及びMAC生成は、予め設定されたサイズの単位で実施するものとする。
この場合、随時入力される平文データに対して、暗号化とMAC生成をリアルタイムで実施する必要があるが、非特許文献2のジョブ管理手法では、activeキューのあるジョブの処理にエラーが発生すると、このジョブはexpiredキューへ格納される。そして、activeキューのジョブがなくなるまでexpiredキューのジョブは処理されない。このため、非特許文献2の技術では、入力される平文の順序に合わせた暗号化及びMAC生成ができない。このように、非特許文献2の技術では、先に処理すべきジョブ(expiredキューのジョブ)が先に処理されないという課題がある。
特許文献2では、既定のデータサイズのデータパックを単位としてデータ処理が行われる。このため、特許文献2によれば、複数のデータ処理装置が存在する場合にもタスクの割当てはデータパック単位であるため、予め設定されたサイズの処理単位をデータ処理装置の数に応じてタスク分割を行う場合、一部のデータ処理装置に偏ってタスクが割り当てられる。従って、特許文献2の技術では、データ処理装置間で有効に負荷を分散することができないという課題がある。
本発明は、このような課題を解決することを主な目的とする。より具体的には、先行するタスクの割当てを優先して行うことができ、また、データ処理装置間で有効に負荷分散を行うことができる構成を得ることを主な目的とする。
本発明に係る管理装置は、
タスクの実行が可能な複数のデータ処理装置を管理する管理装置であって、
データを取得するデータ取得部と、
前記データ取得部による前記データの取得前に生成されていたタスクである先行タスクが存在する場合に、前記先行タスクを前記複数のデータ処理装置のうちのいずれかのデータ処理装置に割り当て、前記先行タスクの割当て後に、前記データから複数のタスクを複数の通常タスクとして生成し、前記複数のデータ処理装置のうち、前記先行タスクを割り当てたデータ処理装置以外のデータ処理装置である通常データ処理装置間の処理量が均等になるように、前記通常データ処理装置に前記複数の通常タスクを割り当てるタスク割当て部とを有する。
本発明によれば、先行するタスクの割当てを優先して行うことができ、また、データ処理装置間で有効に負荷分散を行うことができる。
実施の形態1に係るデータ処理システムの構成例を示す図。 実施の形態1に係る管理ノードのハードウェア構成例を示す図。 実施の形態1に係る子ノードのハードウェア構成例を示す図。 実施の形態1に係る管理ノード及び子ノードの機能構成例を示す図。 実施の形態1に係る管理ノードの動作例を示すフローチャート。 実施の形態1に係る管理ノードの動作例を示すフローチャート。 実施の形態2に係る管理ノード及び子ノードの機能構成例を示す図。 実施の形態2に係る管理ノードの動作例を示すフローチャート。 実施の形態3に係る管理ノード及び子ノードの機能構成例を示す図。 実施の形態3に係る管理ノードの動作例を示すフローチャート。 実施の形態3に係るMAC1の生成手順を示す図。 実施の形態3に係るMAC2の生成手順を示す図。 実施の形態3に係る並列処理可能な暗号化の例を示す図。
以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分又は相当する部分を示す。
実施の形態1.
***構成の説明***
図1は、実施の形態1に係るデータ処理システムの構成例を示す。実施の形態1に係るデータ処理システムは、管理ノード10及び子ノード21〜2nにより構成される。
管理ノード10は管理装置に相当する。また、管理ノード10で行われる処理は管理方法及び管理プログラムに相当する。
子ノード21〜2nは、それぞれデータ処理装置に相当する。
なお、子ノード21〜2nを区別する必要がない場合は、子ノード21〜2nをまとめて子ノード20と表記する。
管理ノード10は、タスクスケジューラ11、能動キュー12及び失効キュー13を備える。
タスクスケジューラ11は、データを取得し、取得したデータから複数のタスクを生成する。そして、タスクスケジューラ11は、タスクを能動キュー12又は失効キュー13にエンキューする。
能動キュー12には、子ノード20が新規に演算するタスクが格納される。失効キュー13には、タイムアウト等で演算に失敗したタスクが格納される。
能動キュー12に格納されたタスク及び失効キュー13に格納されたタスクは、各子ノード20に配信される。各子ノード20は、タスクを受信し、受信したタスクを実行する。また、各子ノード20は、タスクの演算結果を、管理ノード10に送信する。管理ノード10は、各子ノード20からの演算結果を統合する。
図2は、管理ノード10のハードウェア構成例を示す。
本実施の形態に係る管理ノード10は、コンピュータである。
図2に示すとおり、管理ノード10はプロセッサ101、記憶装置102及びネットワークインタフェース103を備える。
記憶装置102には、後述する平文取得部311、ノード管理部312、タスクスケジューラ313、タスク配信部314及び演算結果出力部315の機能を実現するプログラムが記憶されている。
そして、プロセッサ101がこれらプログラムを実行して、後述する平文取得部311、ノード管理部312、タスクスケジューラ313、タスク配信部314及び演算結果出力部315の動作を行う。
図2では、プロセッサ101が平文取得部311、ノード管理部312、タスクスケジューラ313、タスク配信部314及び演算結果出力部315の機能を実現するプログラムを実行している状態を模式的に表している。
ネットワークインタフェース103は、子ノード20と接続されたネットワークとのインタフェースである。
図3は、子ノード20のハードウェア構成例を示す。
本実施の形態に係る子ノード20は、コンピュータである。
図3に示すとおり、子ノード20はプロセッサ201、記憶装置202及びネットワークインタフェース203を備える。
記憶装置202には、後述するタスク取得部411、タスク演算部412及び演算結果送信部413の機能を実現するプログラムが記憶されている。
そして、プロセッサ201がこれらプログラムを実行して、後述するタスク取得部411、タスク演算部412及び演算結果送信部413の動作を行う。
図3では、プロセッサ201がタスク取得部411、タスク演算部412及び演算結果送信部413の機能を実現するプログラムを実行している状態を模式的に表している。
ネットワークインタフェース203は、管理ノード10と接続されたネットワークとのインタフェースである。
図4は、管理ノード10の機能構成例と子ノード20の機能構成例を示す。
管理ノード10において、平文取得部311は、子ノード20に処理させる平文データを取得する。平文取得部311は、データ取得部に相当する。また、平文取得部311が行う処理はデータ取得処理に相当する。
ノード管理部312は、子ノード20の死活状態を管理する。
また、ノード管理部312は、正常に動作している子ノード20のうちタスクを実行中の子ノード20とタスクを実行していない子ノード20とを識別する。
正常に活動している子ノード20のうち、タスクを実行していない子ノード20は、以下、タスク待ち子ノードという。
タスクスケジューラ313は、図1に示すタスクスケジューラ11である。
タスクスケジューラ313は、平文取得部311により取得された平文データのタスクの生成前に、失効キュー13にタスクがあるか否かを判定する。失効キュー13にあるタスクは、平文取得部311により取得された平文データのタスクに先行するタスクである。失効キュー13にあるタスクは先行タスクに相当する。
また、タスクスケジューラ313は、平文取得部311により取得された平文データのタスクの生成前に、能動キュー12にタスクがあるか否かを判定する。能動キュー12にあるタスクは、平文取得部311により取得された平文データのタスクに先行するタスクである。能動キュー12にあるタスクも先行タスクに相当する。
能動キュー12及び失効キュー13に先行タスクがない場合に、タスクスケジューラ313は、タスク待ち子ノードに割り当てるタスクを、平文取得部311により取得された平文データから生成する。
能動キュー12及び失効キュー13に先行タスクがない場合にタスクスケジューラ313により生成されるタスクを以下、通常タスクという。タスクスケジューラ313は、平文データから複数の通常タスクを生成する。また、タスクスケジューラ313は、生成した複数の通常タスクを能動キュー12にエンキューする。
通常タスクが生成された時点でのタスク待ち子ノード、つまり、先行タスクが割り当てられていない子ノードは、通常データ処理装置に相当する。
タスクスケジューラ313は、後述するタスク配信部314とともにタスク割当て部に相当する。また、タスクスケジューラ313がタスク配信部314とともに行う処理はタスク割当て処理に相当する。
能動キュー12又は失効キュー13に先行タスクがある場合に、タスク配信部314は、能動キュー12又は失効キュー13から先行タスクを読み出し、読み出した先行タスクをいずれかの子ノード20に割り当てる。つまり、タスク配信部314は、先行タスクをいずれかの子ノード20に送信する。
また、タスク配信部314は、タスクスケジューラ313によりタスク待ち子ノード間の処理量が均等になるように生成された通常タスクをタスク待ち子ノードに割り当てる。
より具体的には、タスク配信部314は、能動キュー12から通常タスクを読み出し、タスク待ち子ノード間の通常タスクの割当て数が均等となるように、読み出した通常タスクを各タスク待ち子ノードに配信する。
なお、「均等」には誤差が含まれていてもよい。つまり、タスク待ち子ノード間の通常タスクの処理量(割当て数)が完全に一致していなくてもよい。タスク分割は後述の式(1)により実施する。
例えば、3個のタスク待ち子ノードが存在する例を想定する。この例において、タスクスケジューラ313は、新たに入力された平文データを後述の式(1)に従い3等分する。そして、タスク配信部314が、3個のタスクを3個のタスク待ち子ノードへ配信する。実際の暗号化及びMAC生成にかかる処理は、(タスクサイズよりも小さな)暗号アルゴリズムの演算処理単位(128ビット等)で逐次的に行われる。このため、実際の暗号化及びMAC生成にかかる処理では、この演算処理単位の集合が各タスクとなる。
タスク配信部314は、前述したように、タスクスケジューラ313とともにタスク割当て部に相当する。また、タスク配信部314がタスクスケジューラ313とともに行う処理はタスク割当て処理に相当する。
演算結果出力部315は、各子ノード20から、タスクの演算結果を受信し、受信した演算結果を統合する。そして、演算結果出力部315は、統合した演算結果を既定の出力先に出力する。例えば、演算結果出力部315は、各子ノード20から演算結果として部分暗号化データを受信し、受信した部分暗号化データを統合する。そして、演算結果出力部315は、部分暗号化データの統合により得られた暗号化データを出力先に出力する。
子ノード20において、タスク取得部411は、タスクを取得する。
タスク演算部412は、タスク取得部411により取得されたタスクの演算を行う。
演算結果送信部413は、タスク演算部412によるタスクの演算結果を管理ノード10に送信する。
***動作の説明***
図5及び図6は、本実施の形態に係る管理ノード10の動作例を示す。
ステップS101において平文取得部311が平文データを取得すると、ノード管理部312がping等のICMP(Internet Control Message Protocol)コマンドを各子ノード20へ送信し、各子ノード20の死活状態をチェックする(ステップS102)。
ノード管理部312は、ICMPコマンドに応答した子ノード20は正常に動作していると判定する。一方、ノード管理部312は、ICMPコマンドに応答しない子ノード20は正常に動作していない、あるいはネットワークに接続されていないと判定する。
次に、ノード管理部312は、タスク待ち子ノードがあるか否かを判定する(ステップS103)。
初期状態、すなわちタスク配信部314によりいずれの子ノード20にもタスクが配信されていない状態では、ノード管理部312は、管理ノード10に接続されている全ての子ノード20はタスク待ち子ノードであると判定する。
また、ノード管理部312は、後述するステップS107においてタスク配信部314によりタスクを配信された子ノード20はタスクを実行中の子ノードであると判定する。演算結果出力部315が子ノード20からタスクの演算結果を受信すると、ノード管理部312は、当該子ノード20をタスク待ち子ノードであると判定する。
タスク待ち子ノードがある場合(ステップS103でYES)に、タスクスケジューラ313が、失効キュー13にタスクがあるか否かを判定する(ステップS104)。より具体的には、タスクスケジューラ313は、失効キュー13の先頭タスクと最後尾タスクのポインタ値を比較する。そして、先頭タスクと最後尾タスクのポインタ値が同じであれば失効キュー13にタスクはないと判定する。一方、先頭タスクと最後尾タスクのポインタ値が異なれば失効キュー13にタスクがあると判定する。
次に、ステップS104において失効キュー13にタスクがあると判定した場合に、タスクスケジューラ313はタスク配信部314に失効キュー13のタスクの配信を指示する。
そして、タスク配信部314は、失効キュー13の先頭のタスクから順に各タスクをタスク待ち子ノードに配信する(ステップS105)。
一方、ステップS104において失効キュー13にタスクがないと判定した場合は、タスクスケジューラ313は、能動キュー12にタスクがあるか否かを判定する(ステップS106)。
能動キュー12にタスクがあると判定した場合は、タスクスケジューラ313はタスク配信部314に能動キュー12のタスクの配信を指示する。そして、タスク配信部314は、能動キュー12の先頭のタスクから順に各タスクをタスク待ち子ノードに配信する(ステップS107)。
能動キュー12にタスクがないと判定した場合は、タスクスケジューラ313は、平文データを分割してタスクを生成する(ステップS108)。
次に、タスクスケジューラ313は、生成した各タスクを能動キュー12へエンキューする(ステップS109)。また、タスクスケジューラ313は、タスク配信部314に能動キュー12のタスクの配信を指示する。そして、タスク配信部314は、能動キュー12の先頭のタスクから順に各タスクをタスク待ち子ノードに配信する(ステップS107)。
その後、管理ノード10は、以降に取得する平文データにも同様の処理を繰り返す。
各子ノード20は、タスクの演算が終了したら、管理ノード10へ演算結果を送信する。その後、各子ノード20は、タスク待ち状態へ遷移する。
管理ノード10では、演算結果出力部315が、各子ノード20から演算結果を受信し、受信した演算結果を統合する。そして、演算結果出力部315は、統合により得られた演算結果を出力先に出力する。
上記のステップS108、S109及びS107では、タスクスケジューラ313がタスク待ち子ノード間の処理量が均等になるように複数の通常タスクを生成し、タスク配信部314が通常タスクをタスク待ち子ノードに割り当てる。
例えば、平文データのサイズがmlenであり、暗号化及びMAC生成の演算処理単位のサイズがcalcsizeであると仮定する。この場合、暗号化及びMAC生成の演算処理単位の総数は(mlen/calcsize)個であり、タスク待ち子ノードの個数がmである場合は、タスクスケジューラ313は式(1)により平文データをm個の通常タスクに分割する。タスク配信部314は、各タスク待ち子ノードti(1≦i≦m)に以下の数の演算処理単位calcnum(ti)を割り当てる。
calcnum(ti)=[(mlen/calcsize+i−1)/m] 式(1)
なお、式(1)において、フロア関数[x]はxの切り捨てを意味する。
例えば、mlen=1280、calcsize=128、m=4、1≦i≦mの例を想定する。この例では、演算処理単位の総数は1280/128=10となる。このとき、式(1)により得られた、タスク待ち子ノードごとの演算処理単位はそれぞれ以下となる。なお、t1〜t4は、それぞれタスク待ち子ノードを意味する。t1はi=1のタスク待ち子ノードである。t2はi=2のタスク待ち子ノードである。t3はi=3のタスク待ち子ノードである。t4はi=4のタスク待ち子ノードである。
t1:[(1280/128+1−1)/4]=2
t2:[(1280/128+2−1)/4]=2
t3:[(1280/128+3−1)/4]=3
t4:[(1280/128+4−1)/4]=3
***実施の形態の効果の説明***
以上、本実施の形態では、管理ノード10は、先行タスクを通常タスクに先行して子ノード20に割り当てる。また、本実施の形態では、管理ノード10は、子ノード20間での処理量が均等になるように通常タスクを子ノード20に割り当てる。
このため、本実施の形態によれば、先行するタスクの割当てを優先して行うことができ、また、子ノード20間で有効に負荷分散を行うことができる。
実施の形態2.
***構成の説明***
本実施の形態に係るデータ処理システムの構成例は、図1に示すとおりである。
また、本実施の形態に係る管理ノード10のハードウェア構成例は、図2に示すとおりである。
また、本実施の形態に係る子ノード20のハードウェア構成例は、図3に示すとおりである。
図7は、本実施の形態に係る管理ノード10と子ノード20の機能構成例を示す。
図4と比較して、図7では、前処理実行部321が追加されている。
前処理実行部321は、タスク待ち子ノードが通常タスクを実行する前に、通常タスクの前処理を実行する。
つまり、前処理実行部321により前処理が実行された後の通常タスクがタスク配信部314によりタスク待ち子ノードに配信される。
なお、前処理実行部321も、平文取得部311、ノード管理部312、タスクスケジューラ313、タスク配信部314及び演算結果出力部315と同様にプログラムで実現される。
図7において、前処理実行部321以外の要素は、図4に示したものと同じであるため、説明を省略する。
***動作の説明***
図8は、本実施の形態に係る管理ノード10の動作例を示す。
図8は、図6に対応する。つまり、図5に示すステップS104でNOと判定された場合に、図8のステップS106が行われる。
ステップS106において能動キュー12にタスクがないと判定された場合に、図6と同様に、タスクスケジューラ313は平文データから通常タスクを生成する(ステップS108)。
ステップS201では、前処理実行部321が、ステップS108で生成された通常タスクに前処理を実行する。なお、前処理は、タスク待ち子ノード20の通常タスクの実行に先行して行われる処理であれば、どのような処理でもよい。
そして、ステップS109では、タスクスケジューラ313が、前処理が実行された後の通常タスクを能動キュー12にエンキューする。
そして、ステップS107において、タスク配信部314が、前処理が実行された後の通常タスクをタスク待ち子ノードに配信する。
***実施の形態の効果の説明***
本実施の形態によれば、実施の形態1で説明した効果に加えて、前処理を実行した後の通常タスクをタスク待ち子ノードに配信することができる。
実施の形態3.
***構成の説明***
本実施の形態に係るデータ処理システムの構成例は、図1に示すとおりである。
また、本実施の形態に係る管理ノード10のハードウェア構成例は、図2に示すとおりである。
また、本実施の形態に係る子ノード20のハードウェア構成例は、図3に示すとおりである。
図9は、本実施の形態に係る管理ノード10と子ノード20の機能構成例を示す。
図7と比較して、図9では、後処理実行部322が追加されている。
後処理実行部322は、タスク待ち子ノードによる通常タスクの実行が完了した後に後処理を実行する。
つまり、後処理実行部322により後処理が実行された後の演算結果が演算結果出力部315により統合される。
なお、後処理実行部322も、平文取得部311、ノード管理部312、タスクスケジューラ313、タスク配信部314、演算結果出力部315及び前処理実行部321と同様にプログラムで実現される。
図9において、後処理実行部322以外の要素は、図7に示したものと同じであるため、説明を省略する。
本実施の形態では、前処理実行部321が行う前処理の例として、MAC生成アルゴリズムにおける前処理を説明する。また、後処理実行部322が行う後処理の例として、MACの生成処理を説明する。
図10は、本実施の形態に係る管理ノード10の動作例を示す。
図10は、図6及び図8に対応する。つまり、図5に示すステップS104でNOと判定された場合に、図10のステップS106が行われる。
ステップS106において能動キュー12にタスクがないと判定された場合に、図6と同様に、タスクスケジューラ313は平文データから通常タスクを生成する(ステップS108)。
ステップS201では、図8と同様に、前処理実行部321が、ステップS108で生成された通常タスクに前処理を実行する。前処理実行部321は、前処理として、例えば、MAC生成アルゴリズムにおける前処理を実行する。
そして、ステップS109では、タスクスケジューラ313が、前処理が実行された後の通常タスクを能動キュー12にエンキューする。
そして、ステップS107において、タスク配信部314が、前処理が実行された後の通常タスクをタスク待ち子ノードに配信する。
ステップS301では、演算結果出力部315が、通常タスクの配信先の子ノード20から、MACの計算に必要な演算結果を受信しているか否かを判定する。
演算結果出力部315がMACの計算に必要な演算結果を受信していると判定した場合(ステップS301でYES)は、後処理実行部322が後処理を実行する。具体的には、演算結果出力部315が後処理実行部322に子ノード20の演算結果を転送する。そして、後処理実行部322が、後処理として、MAC演算を実行する(ステップS302)。後処理実行部322は、演算により得られたMACを演算結果出力部315に転送する。そして、演算結果出力部315は、統合された演算結果である暗号文データと、後処理実行部322から取得したMACを出力先に出力する(ステップS302)。
なお、ステップS301において演算結果出力部315がMACの計算に必要な演算結果を受信していないと判定した場合は(ステップS301でNO)、処理が図5のステップS101に戻る。
ステップS201では、前処理実行部321は、前処理として、例えば図11及び図12に示すGalois/Counter Mode(GCM)に代表される並列処理可能なMAC生成アルゴリズムにおける前処理(符号51及び符号53)を実行する。具体的には、前処理実行部321は、IV(initial value)の計算等、並列処理を行う上で必要となる値を算出する。なお、GCMは、NIST SP800−38Dにて標準化されている。
また、前処理実行部321は、前処理として、図13に示す暗号化処理のIVの計算等、並列処理を行う上で必要となる値を算出してもよい。
また、ステップS302では、後処理実行部322は、後処理として、例えば、図11の符号52及び図12の符号54に示すように、前処理(符号51及び符号53)で算出された値又は並列処理の結果として算出された値を用いた演算を行う。
なお、本実施の形態では、前処理と後処理の両方が実行されることになっているが、後処理のみが実行されるようにしてもよい。
***実施の形態の効果の説明***
実施の形態1〜3に示したデータ処理システムは、例えば、衛星通信システム等の大容量通信かつリアルタイム性が要求されるシステムに適用可能である。例えば、管理ノードと子ノードを、複数の汎用計算機を用いたクラスタ構成(クライアントサーバモデル)による分散コンピューティングにより実現することができる。そして、GCMに代表される並列処理可能なMAC生成アルゴリズムを高速に実行する際に、ネットワーク異常等により一部の子ノードから演算結果が取得できない場合でも、本実施の形態によれば、平文データの入力順序に沿った順序でMACを生成することができる。
つまり、本実施の形態では、能動キュー12のタスクに比べて失効キュー13のタスクが優先的に処理されるため、タイムアウト等で演算に失敗したタスクを失効キュー13へエンキューすることで、タスクの処理順序を制御可能である。
例えば、図11及び図12のように、平文1〜3からMAC1が生成され、平文4〜6からMAC2が生成され、MAC1及びMAC2が、MAC1、MAC2の順で出力されることを考える。図11及び図12に示す例では、タスクサイズと、暗号化及びMAC生成の演算処理単位(のサイズ)が同じである。
能動キュー12に順にエンキューされたタスク1〜タスク6を分散処理する過程で、タイムアウトによりタスク3の演算が失敗し、タスク3が失効キュー13へエンキューされたと仮定する。本実施の形態によれば、能動キュー12にエンキューされたタスク4〜6よりも先に失効キュー13にエンキューされたタスク3が処理されるため、MAC1及びMAC2が、MAC1、MAC2の順で出力される。また、本実施の形態では、入力される平文データの順序に従って暗号文データが生成され、出力される。
なお、実施の形態1〜3では、平文データから暗号化データを得る例を説明したが、実施の形態1〜3で示した手順を用いて、暗号化データから平文データを得るようにしてもよい。
また、実施の形態1〜3で示した手順を、暗号化又は復号以外のデータ処理に用いてもよい。
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、2つ以上を組み合わせて実施しても構わない。
あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
***ハードウェア構成の説明***
最後に、管理ノード10と子ノード20のハードウェア構成の補足説明を行う。
プロセッサ101及びプロセッサ201は、それぞれ、プロセッシングを行うIC(Integrated Circuit)である。
プロセッサ101及びプロセッサ201は、それぞれ、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
記憶装置102及び記憶装置202は、それぞれ、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等である。
ネットワークインタフェース103及びネットワークインタフェース203は、それぞれ、データを受信するレシーバー及びデータを送信するトランスミッターを含む。
ネットワークインタフェース103及びネットワークインタフェース203は、それぞれ、例えば、通信チップ又はNIC(Network Interface Card)である。
また、記憶装置102には、OS(Operating System)も記憶されている。
そして、OSの少なくとも一部がプロセッサ101により実行される。
プロセッサ101はOSの少なくとも一部を実行しながら、平文取得部311、ノード管理部312、タスクスケジューラ313、タスク配信部314、演算結果出力部315、前処理実行部321及び後処理実行部322の機能を実現するプログラムを実行する。
プロセッサ101がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、平文取得部311、ノード管理部312、タスクスケジューラ313、タスク配信部314、演算結果出力部315、前処理実行部321及び後処理実行部322の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、記憶装置102、プロセッサ101内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、平文取得部311、ノード管理部312、タスクスケジューラ313、タスク配信部314、演算結果出力部315、前処理実行部321及び後処理実行部322の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記憶媒体に記憶されてもよい。
また、平文取得部311、ノード管理部312、タスクスケジューラ313、タスク配信部314、演算結果出力部315、前処理実行部321及び後処理実行部322の「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
また、管理ノード10は、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)といった処理回路により実現されてもよい。
また、記憶装置202には、OSも記憶されている。
そして、OSの少なくとも一部がプロセッサ201により実行される。
プロセッサ201はOSの少なくとも一部を実行しながら、タスク取得部411、タスク演算部412及び演算結果送信部413の機能を実現するプログラムを実行する。
プロセッサ201がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、タスク取得部411、タスク演算部412及び演算結果送信部413の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、記憶装置202、プロセッサ201内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、タスク取得部411、タスク演算部412及び演算結果送信部413の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記憶媒体に記憶されてもよい。
また、タスク取得部411、タスク演算部412及び演算結果送信部413の「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
また、子ノード20は、ロジックIC、GA、ASIC、FPGAといった処理回路により実現されてもよい。
なお、本明細書では、プロセッサと、メモリと、プロセッサとメモリの組合せと、処理回路との上位概念を、「プロセッシングサーキットリー」という。
つまり、プロセッサと、メモリと、プロセッサとメモリの組合せと、処理回路とは、それぞれ「プロセッシングサーキットリー」の具体例である。
10 管理ノード、11 タスクスケジューラ、12 能動キュー、13 失効キュー、20 子ノード、21 子ノード、22 子ノード、2n 子ノード、101 プロセッサ、102 記憶装置、103 ネットワークインタフェース、201 プロセッサ、202 記憶装置、203 ネットワークインタフェース、311 平文取得部、312 ノード管理部、313 タスクスケジューラ、314 タスク配信部、315 演算結果出力部、321 前処理実行部、322 後処理実行部、411 タスク取得部、412 タスク演算部、413 演算結果送信部。

Claims (6)

  1. タスクの実行が可能な複数のデータ処理装置を管理する管理装置であって、
    データを取得するデータ取得部と、
    前記データ取得部による前記データの取得前に生成されていたタスクである先行タスクが存在する場合に、前記先行タスクを前記複数のデータ処理装置のうちのいずれかのデータ処理装置に割り当て、前記先行タスクの割当て後に、前記データから複数のタスクを複数の通常タスクとして生成し、前記複数のデータ処理装置のうち、前記先行タスクを割り当てたデータ処理装置以外のデータ処理装置である通常データ処理装置間の処理量が均等になるように、前記通常データ処理装置に前記複数の通常タスクを割り当てるタスク割当て部とを有する管理装置。
  2. 前記タスク割当て部は、
    前記通常データ処理装置間の通常タスクの割当て数が均等になるように、前記通常データ処理装置に前記複数の通常タスクを割り当てる請求項1に記載の管理装置。
  3. 前記管理装置は、更に、
    前記通常データ処理装置が前記通常タスクを実行する前に、前記通常タスクの前処理を実行する前処理実行部を有する請求項1に記載の管理装置。
  4. 前記管理装置は、更に、
    前記通常データ処理装置による前記通常タスクの実行が完了した後に後処理を実行する後処理実行部を有する請求項1に記載の管理装置。
  5. タスクの実行が可能な複数のデータ処理装置を管理するコンピュータが行う管理方法であって、
    前記コンピュータが、データを取得し、
    前記データの取得前に生成されていたタスクである先行タスクが存在する場合に、前記コンピュータが、前記先行タスクを前記複数のデータ処理装置のうちのいずれかのデータ処理装置に割り当て、前記先行タスクの割当て後に、前記データから複数のタスクを複数の通常タスクとして生成し、前記複数のデータ処理装置のうち、前記先行タスクを割り当てたデータ処理装置以外のデータ処理装置である通常データ処理装置間の処理量が均等になるように、前記通常データ処理装置に前記複数の通常タスクを割り当てる管理方法。
  6. タスクの実行が可能な複数のデータ処理装置を管理するコンピュータに、
    データを取得するデータ取得処理と、
    前記データ取得処理による前記データの取得前に生成されていたタスクである先行タスクが存在する場合に、前記先行タスクを前記複数のデータ処理装置のうちのいずれかのデータ処理装置に割り当て、前記先行タスクの割当て後に、前記データから複数のタスクを複数の通常タスクとして生成し、前記複数のデータ処理装置のうち、前記先行タスクを割り当てたデータ処理装置以外のデータ処理装置である通常データ処理装置間の処理量が均等になるように、前記通常データ処理装置に前記複数の通常タスクを割り当てるタスク割当て処理とを実行させる管理プログラム。
JP2019507353A 2017-05-30 2017-05-30 管理装置、管理方法及び管理プログラム Expired - Fee Related JP6509475B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/020047 WO2018220702A1 (ja) 2017-05-30 2017-05-30 管理装置、管理方法及び管理プログラム

Publications (2)

Publication Number Publication Date
JP6509475B1 true JP6509475B1 (ja) 2019-05-08
JPWO2018220702A1 JPWO2018220702A1 (ja) 2019-06-27

Family

ID=64455253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019507353A Expired - Fee Related JP6509475B1 (ja) 2017-05-30 2017-05-30 管理装置、管理方法及び管理プログラム

Country Status (2)

Country Link
JP (1) JP6509475B1 (ja)
WO (1) WO2018220702A1 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0981612A (ja) * 1995-09-13 1997-03-28 Toshiba Corp 論理シミュレーション装置および活性化情報生成方法
JPH11110237A (ja) * 1997-09-30 1999-04-23 Fujitsu Ltd ジョブ管理装置および記録媒体
JP2001024733A (ja) * 1999-07-12 2001-01-26 Kdd Corp データ伝送装置
JP2001344228A (ja) * 2000-05-31 2001-12-14 Nippon Telegr & Teleph Corp <Ntt> 暗号化通信におけるサービス品質制御方法及び装置サービス品質制御プログラムを格納した記憶媒体
JP2004139260A (ja) * 2002-10-16 2004-05-13 Hitachi Ltd マルチプロセッサによるコマンド処理方式
JP2011250020A (ja) * 2010-05-25 2011-12-08 Ricoh Co Ltd 情報処理装置、画像形成装置及び情報処理方法
JP2013009276A (ja) * 2011-06-27 2013-01-10 Canon Inc 暗号処理装置
JP2016139978A (ja) * 2015-01-28 2016-08-04 エヌ・ティ・ティ・コミュニケーションズ株式会社 パケット処理システム、通信システム、パケット処理装置、パケット処理方法、及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0528120A (ja) * 1991-07-19 1993-02-05 Meidensha Corp マルチプロセツサ処理方式

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0981612A (ja) * 1995-09-13 1997-03-28 Toshiba Corp 論理シミュレーション装置および活性化情報生成方法
JPH11110237A (ja) * 1997-09-30 1999-04-23 Fujitsu Ltd ジョブ管理装置および記録媒体
JP2001024733A (ja) * 1999-07-12 2001-01-26 Kdd Corp データ伝送装置
JP2001344228A (ja) * 2000-05-31 2001-12-14 Nippon Telegr & Teleph Corp <Ntt> 暗号化通信におけるサービス品質制御方法及び装置サービス品質制御プログラムを格納した記憶媒体
JP2004139260A (ja) * 2002-10-16 2004-05-13 Hitachi Ltd マルチプロセッサによるコマンド処理方式
JP2011250020A (ja) * 2010-05-25 2011-12-08 Ricoh Co Ltd 情報処理装置、画像形成装置及び情報処理方法
JP2013009276A (ja) * 2011-06-27 2013-01-10 Canon Inc 暗号処理装置
JP2016139978A (ja) * 2015-01-28 2016-08-04 エヌ・ティ・ティ・コミュニケーションズ株式会社 パケット処理システム、通信システム、パケット処理装置、パケット処理方法、及びプログラム

Also Published As

Publication number Publication date
JPWO2018220702A1 (ja) 2019-06-27
WO2018220702A1 (ja) 2018-12-06

Similar Documents

Publication Publication Date Title
KR102199278B1 (ko) 가속 자원 처리 방법 및 장치, 및 네트워크 기능 가상화 시스템
EP3284008B1 (en) Protecting communications with hardware accelerators for increased workflow security
US20160306663A1 (en) Method and system for allocating fpga resources
AU2013232273B2 (en) Method and system for utilizing spare cloud resources
US9356780B2 (en) Device, method, and system for encrypted communication by using encryption key
US20100318996A1 (en) Methods and systems for sharing common job information
KR20140058590A (ko) 클라우드 기반 구축 서비스
CN104994032B (zh) 一种信息处理的方法和装置
US11201836B2 (en) Method and device for managing stateful application on server
US9888338B2 (en) Cloud based emergency wireless link
CN111771366B (zh) 具有可协商和自适应的加密级别的用于加密数据流的方法
CN110598416A (zh) 交易调度方法及装置
US20120288096A1 (en) Security key distribution in a cluster
JP6509475B1 (ja) 管理装置、管理方法及び管理プログラム
CN104022870A (zh) 一种云端数据的加密方法
JP2015094976A (ja) 情報処理装置、情報処理方法、及び、プログラム
WO2021078617A1 (en) Trust-anchoring of cryptographic objects
CN114338629A (zh) 数据处理方法、装置、设备及介质
JP2020010190A (ja) ネットワーク負荷分散装置および方法
CN112799851B (zh) 多方安全计算中的数据处理方法和相关装置
WO2024009421A1 (ja) 分散処理システム、分散処理方法、及び、プログラム
US10831896B2 (en) Running local virtual disks containing applications with limited licenses
US20220224684A1 (en) Validating session tokens using network properties
JP2014170259A (ja) データ処理方法、データ処理システム及びデータ処理プログラム
JP6492782B2 (ja) 情報処理資源管理システム、情報処理資源管理方法、及び、情報処理資源管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190208

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190208

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190402

R150 Certificate of patent or registration of utility model

Ref document number: 6509475

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees