(57)【要約】      （修正有）【課題】複数のデータ処理装置の各々が出力装置に処理済みデータを送信しても、データトラフィックが増加しない多重化された複数のデータ処理装置を有する情報処理システムを提供する。【解決手段】複数のデータ処理装置から処理済みデータを受信する出力装置は、複数のデータ処理装置の一部のデータ処理装置に対して選択的に、データ要求信号を送信する。複数のデータ処理装置の各々は、出力装置からデータ要求信号を受信した場合に処理済みデータを出力するプルモードに設定される。データ要求信号を受信したデータ処理装置は処理済みデータを送信し、他のデータ処理装置は処理済みデータを送信することなく処理済みデータを廃棄する。これにより、複数のデータ処理装置と出力装置との間におけるデータトラフィックを抑制することができる。【選択図】図４
2019097037.tif 000002
【特許請求の範囲】
【請求項１】
入力装置と、
前記入力装置にそれぞれ接続された複数のデータ処理装置と、
前記複数のデータ処理装置の各々に接続された出力装置と
を有し、
前記入力装置は、複数の第１処理用データを前記複数のデータ処理装置の各々へ順次送信し、
前記複数のデータ処理装置の各々は、前記複数の第１処理用データに対するデータ処理を順次実行して複数の第１処理済みデータを生成し、
前記出力装置は、前記複数のデータ処理装置の中から選択された第１データ処理装置に対して複数の第１データ要求信号を順次送信し、
前記第１データ処理装置は、前記複数の第１データ要求信号の各々に応じて、前記複数の第１処理済みデータを前記出力装置に順次送信する
ことを特徴とする情報処理システム。
【請求項２】
前記複数のデータ処理装置のうち、前記複数の第１データ要求信号を受信しない第２データ処理装置は、前記出力装置に前記複数の第１処理済みデータを送信することなく、前記複数の第１処理済みデータを破棄する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記出力装置は、前記複数の第１データ要求信号に含まれる第１信号を前記第１データ処理装置に送信した後、前記第１データ処理装置から前記複数の第１処理済みデータに含まれる第１データが送信されない場合は、第２データ要求信号を前記第２データ処理装置に送信し、
前記第２データ処理装置は、前記第２データ要求信号に基づき、前記複数の第１処理済みデータに含まれる前記第１データを前記出力装置に送信する
ことを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記出力装置は、前記第１データ処理装置の故障を検知した場合には、前記複数の第１データ要求信号の送信先を、前記第１データ処理装置から前記第２データ処理装置へ変更する
ことを特徴とする請求項２乃至３何れか一項に記載の情報処理システム。
【請求項５】
前記出力装置は、前記第１データ処理装置の第１データ処理速度と、前記第２データ処理装置の第２データ処理速度を比較し、前記第１データ処理速度が前記第２データ処理速度よりも高い場合に、前記複数の第１データ要求信号を前記第１データ処理装置へ送信する
ことを特徴とする請求項２乃至４何れか一項に記載の情報処理システム。
【請求項６】
前記出力装置は、前記第１信号に対して前記第１データ処理装置から、前記第１データとは異なる第２データが送信された場合に、前記第１データを前記第２データ処理装置から取得し、前記第１データ及び前記第２データを順に出力する
ことを特徴とする請求項３に記載の情報処理システム。
【請求項７】
前記複数のデータ処理装置の各々は、前記複数の第１処理用データを受信する前に、複数の第２処理用データを前記入力装置から順次受信し、前記複数の第２処理用データに対して前記データ処理を順次実行して複数の第２処理済みデータを生成し、前記複数の第２処理済みデータを前記出力装置へ順次送信し、
前記出力装置は、前記複数の第１処理済みデータを順次受信する前に、前記複数のデータ処理装置の各々から前記複数の第２処理済みデータを順次受信し、前記入力装置から順次送信される前記複数の第２処理用データの送信間隔、又は前記出力装置が順次受信する前記複数の第２処理済みデータの受信間隔に基づいて、前記複数のデータ要求信号の送信間隔を決定し、
決定された前記送信間隔で、前記複数のデータ要求信号を順次送信する
ことを特徴とする請求項１乃至６何れか一項に記載の情報処理システム。
【請求項８】
前記複数のデータ処理装置の各々は、前記複数の第１処理用データを順次受信する前に、第３処理用データを前記入力装置から受信し、前記第３処理用データに対して前記データ処理を実行して第３処理済みデータを生成し、前記第３処理済みデータを前記出力装置へ送信し、
前記出力装置は、前記複数の第１処理済みデータを順次受信する前に、前記複数のデータ処理装置の各々から前記第３処理済みデータを受信し、前記複数のデータ処理装置の各々からの前記第３処理済みデータの受信タイミングに基づき、前記第１データ処理速度と前記第２データ処理速度の比較を実行する
ことを特徴とする請求項５に記載の情報処理システム。
【請求項９】
入力装置と、前記入力装置にそれぞれ接続された複数のデータ処理装置と、前記複数のデータ処理装置の各々に接続された出力装置とを有する情報処理システムを用いたデータ処理方法であって、
前記入力装置が、複数の第１処理用データを前記複数のデータ処理装置の各々へ順次送信し、
前記複数のデータ処理装置の各々が、前記複数の第１処理用データに対するデータ処理を順次実行して複数の第１処理済みデータを生成し、
前記出力装置が、前記複数のデータ処理装置の中から選択された第１データ処理装置に対して複数の第１データ要求信号を順次送信し、
前記第１データ処理装置が、前記複数の第１データ要求信号の各々に基づき、前記複数の第１処理済みデータを前記出力装置に順次送信する
ことを特徴とするデータ処理方法。
【請求項１０】
前記複数のデータ処理装置のうち、前記複数の第１データ要求信号を受信しない第２データ処理装置は、前記出力装置に前記複数の第１処理済みデータを送信することなく、前記複数の第１処理済みデータを破棄する
ことを特徴とする請求項９に記載のデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム及びデータ処理方法に関する。
【背景技術】
【０００２】
センサデバイス等から送信されるストリームデータを処理するデータ処理サーバには、データ欠損を生じることなくデータ処理を継続することが要求される。この要求に対して、複数のデータ処理サーバを多重化させ、一部のデータ処理サーバが故障等によってデータ処理を継続できなくなった場合には、他のデータ処理サーバが代わりにデータ処理を行うことにより、データ欠損を防止する方法が知られている。この方法において、データ処理を実行しているデータ処理サーバに故障が発生した時点で他のデータ処理サーバを起動させると、他のデータ処理装置の起動が完了するまでの間、データ処理が途切れることになる。そのため、複数のデータ処理サーバを常時動作状態とし、複数のデータ処理サーバに並行してデータ処理を実行させる方法が考えられる。この場合、センサデバイスから送信されたセンサデータは、まず入力サーバに入力され、入力サーバは、多重化された複数のデータ処理サーバのそれぞれにセンサデータを送信する。データ処理サーバのそれぞれは、センサデータに対して所定のデータ処理を行い、処理済みのデータを出力サーバに送信する。出力サーバは複数のデータ処理サーバのそれぞれから送信された処理済みのデータのうちの一つを選択して出力する。このように複数のデータ処理サーバが並行してデータ処理を実行することにより、一つのデータ処理サーバに故障が発生した場合であっても、出力サーバは処理済みのデータを継続して出力することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１６‐５２６７１９
【特許文献２】特開２０１１‐１９２０１３
【特許文献３】ＷＯ２０１６‐０６７３３５
【発明の概要】
【発明が解決しようとする課題】
【０００４】
多重化された複数のデータ処理サーバを有する情報処理システムにおいては、複数のデータ処理サーバの各々が処理済みデータを出力サーバに送信するため、複数のデータ処理サーバと出力サーバとの間のデータ通信におけるデータトラフィックが増大する。
【０００５】
１つの側面では、情報処理システムにおけるデータトラフィックを削減することを目的とする。
【課題を解決するための手段】
【０００６】
入力装置と、前記入力装置にそれぞれ接続された複数のデータ処理装置と、前記複数のデータ処理装置の各々に接続された出力装置とを有し、前記入力装置は、複数の第１処理用データを前記複数のデータ処理装置の各々へ順次送信し、前記複数のデータ処理装置の各々は、前記複数の第１処理用データに対するデータ処理を順次実行して複数の第１処理済みデータを生成し、前記出力装置は、前記複数のデータ処理装置の中から選択された第１データ処理装置に対して複数の第１データ要求信号を順次送信し、前記第１データ処理装置は、前記複数の第１データ要求信号の各々に応じて、前記複数の第１処理済みデータを前記出力装置に順次送信することを特徴とする情報処理システムが開示される。
【発明の効果】
【０００７】
情報処理システムにおけるデータトラフィックを削減することができる。
【図面の簡単な説明】
【０００８】
【図１】多重化された複数のデータ処理装置を含む情報処理システムの構成図である。
【図２】入力装置が、センサデバイスからセンサデータを受信し、処理用データをデータ処理装置に送信する状態を示す図である。
【図３】多重化された複数のデータ処理装置の各々が、処理済みデータを出力装置に送信し、出力装置が、複数の処理済みデータの一つを選択して出力する状態を示す図である。
【図４】多重化された複数のデータ処理装置のうちの一部のデータ処理装置が、処理済みデータを出力装置に送信する状態を示す図である。
【図５】入力装置、データ処理装置、出力装置のそれぞれのハードウェア構成を示す図である。
【図６】情報処理システムにおいて実行される処理の概要を説明するための図である。
【図７】情報処理システムにおいて実行される処理を示すラダーチャートであり、主にプッシュモードにおける処理を示すものである。
【図８】情報処理システムにおいて実行される処理を示すラダーチャートであり、主にプルモードにおける処理を示すものである。
【図９】入力装置のプロセッサの機能ブロック図である。
【図１０】データ処理装置のプロセッサの機能ブロック図である。
【図１１】出力装置のプロセッサの機能ブロック図である。
【図１２】入力装置のプロセッサによって実行される処理のフローチャートである。
【図１３】データ処理装置のプロセッサによって実行される処理のフローチャートである。
【図１４】出力装置のプロセッサによって実行される処理のフローチャートである。
【図１５】情報処理システムにおいて実行される処理であって、データ処理装置に故障等が発生した場合の処理のラダーチャートである。
【図１６】出力装置のプロセッサによって実行される処理であって、主に故障発生時のデータ要求信号の送信先変更に関する処理のフローチャートである。
【図１７】第１データ処理装置及び第２データ処理装置におけるデータバッファ部に保持された処理済みデータの内容を示す図である。
【図１８】情報処理システムにおいて実行される処理であって、パケットロスが検知された場合の処理のラダーチャートである。
【図１９】出力装置のプロセッサによって実行される処理であって、主にパケットロスが発生した場合の処理のフローチャートである。
【図２０】各データ処理装置が複数段のデータ処理部を含む情報処理システムの構成を示す。
【発明を実施するための形態】
【０００９】
本実施形態において開示される情報処理システムは、入力装置と、入力装置にそれぞれ接続された複数のデータ処理装置と、複数のデータ処理装置の各々に接続された出力装置とを有する。入力装置は、処理用データを複数のデータ処理装置の各々へ送信し、複数のデータ処理装置の各々は、処理用データに対するデータ処理を実行して処理済みデータを生成する。
【００１０】
複数のデータ処理装置の各々は、処理済みデータを出力装置に送信することができる。出力装置は、複数のデータ処理装置の中から選択されたデータ処理装置に対して、処理済みデータの送信を要求する機能を有する。出力装置から処理済みデータの送信の要求を受けたデータ処理装置は、当該要求に応じて、処理済みデータを出力装置に送信する。このように、出力装置からの要求に応じて処理済みデータを送信するモードを、本願明細書においてはプルモードと呼ぶこととする。言い換えれば、プルモードにおいてデータ処理装置は、処理済みデータの要求信号を受信しない場合は、処理済みデータを出力装置へ送信しない。これに対して、出力装置からの要求に依存せずに、データ処理装置が自主的に処理済みデータを順次出力装置に送信するモードを、プッシュモードと呼ぶこととする。プッシュモードにおいては複数のデータ処理装置の各々が処理済みデータを出力装置に送信するため、データトラフィックが増加する。一方、プルモードにおいては、出力装置によって選択された特定のデータ処理装置が、出力装置からの要求に応じて処理済みデータを送信するため、データトラフィックを抑制することができる。
【００１１】
図１は、多重化された複数のデータ処理装置を含む情報処理システム１の構成図である。情報処理システム１は、入力装置１００と、入力装置１００にそれぞれ接続され、多重化された第１データ処理装置２００ａ及び第２データ処理装置２００ｂ（以下、第１データ処理装置２００ａ及び第２データ処理装置２００ｂを互いに区別しない場合は、「データ処理装置２００」と記載するものとする）と、複数のデータ処理装置２００のそれぞれに接続された出力装置３００とを有する。入力装置１００、データ処理装置２００、出力装置３００は、例えばそれぞれ入力サーバ、データ処理サーバ、出力サーバである。入力装置１００とデータ処理装置２００は互いにデータ線によって接続され、データ処理装置２００と出力装置３００は互いにデータ線によって接続される。
【００１２】
図２は、入力装置１００が、センサデバイスからセンサデータを受信し、処理用データをデータ処理装置２００に送信する状態を示す図である。ここでは、センサデバイスが地震センサであり、地震センサのセンサデータに基づき津波の発生を検知又は予測する処理を例として説明する。図２に示されるように、入力装置１００は複数のセンサデバイス（センサデバイスｘ、センサデバイスｙ、センサデバイスｚ）からセンサデータＳを受信する。複数のセンサデバイスの各々は互いに異なる地点に配置された地震センサであり、例えば一秒毎に、測定された震度に関する情報を入力装置１００へ送信する。図２において、センサデバイスｘは、異なる時刻に取得されたセンサデータＳｘ１、Ｓｘ２、Ｓｘ３を順に入力装置１００へ送信する。センサデバイスｙは、異なる時刻に取得されたセンサデータＳｙ１、Ｓｙ２、Ｓｙ３を順に入力装置１００へ送信する。センサデバイスｚは、異なる時刻に取得されたセンサデータＳｚ１、Ｓｚ２、Ｓｚ３を順に入力装置１００へ送信する。
【００１３】
入力装置１００は、各センサデバイスから送信されたセンサデータＳを順次受信し、データ処理装置２００に処理させるための処理用データＰを作成する。例えば入力装置１００は、処理用データＰ１、Ｐ２、Ｐ３を１秒間隔で、複数のデータ処理装置２００の各々へ順次送信する。例えば、処理用データＰ１はセンサデータＳｘ１、Ｓｙ１、Ｓｚ１を含み、処理用データＰ２はセンサデータＳｘ２、Ｓｙ２、Ｓｚ２を含み、処理用データＰ３はセンサデータＳｘ３、Ｓｙ３、Ｓｚ３を含む。
【００１４】
図３は、多重化された複数のデータ処理装置２００の各々が、処理済みデータを出力装置３００に送信し、出力装置３００が、複数の処理済みデータの一つを選択して出力する状態を示す図である。図３においては、各データ処理装置２００はプッシュモードで処理済みデータを送信する。
【００１５】
複数のデータ処理装置２００の各々は、入力装置１００から送信された処理用データＰ１、Ｐ２、Ｐ３に対して所定のデータ処理を順次実行することによって、処理済みデータＱ１、Ｑ２、Ｑ３を生成する。処理済みデータＱ１、Ｑ２、Ｑ３は、例えば地震に伴い津波が発生する確率を示す指数である。複数のデータ処理装置２００の各々は、処理済みデータＱ１、Ｑ２、Ｑ３を、例えば１秒間隔で出力装置３００に順次送信する。このように、プッシュモードにて処理済みデータＱが送信される場合には、同一の処理済みデータＱが、複数のデータ処理装置２００から送信されるため、データトラフィックが増加する。
【００１６】
出力装置３００は、複数のデータ処理装置２００の各々から処理済みデータＱ１、Ｑ２、Ｑ３を順次受信し、何れか一つの処理済みデータＱ１、Ｑ２、Ｑ３を、出力装置３００と通信可能な端末装置に送信する。端末装置は、例えばユーザが使用する携帯端末であり、津波予報を端末装置の有する画面若しくは音声装置を用いて、ユーザに通知することができる。
【００１７】
尚、図３に示される例において、出力装置３００は処理済みデータＱ１、Ｑ２、Ｑ３の全てを端末装置へ送信しなくてもよい。処理済みデータＱが津波の発生確率を示す指数である例においては、指数が所定の値を超えた場合にのみ、処理済みデータＱを端末装置へ送信してもよい。また、出力装置３００は、出力装置３００に設けられた表示装置、又は出力装置３００に接続された表示装置に、処理済みデータＱを出力してもよい。
【００１８】
図４は、多重化された複数のデータ処理装置２００のうちの一部のデータ処理装置２００が、処理済みデータＱを出力装置３００に送信する状態を示す図である。図４においては、各データ処理装置２００はプルモードで処理済みデータＱを送信する。
【００１９】
各データ処理装置２００は、処理用データＰを受信して所定のデータ処理を実行し、処理済みデータＱを生成する。ここで処理済みデータＱは各データ処理装置２００に設けられたデータバッファ等に保持され、各データ処理装置２００は自発的には処理済みデータＱを出力装置３００に送信しない。
【００２０】
その後、第１データ処理装置２００ａは、出力装置３００からデータ要求信号を受信する。第１データ処理装置２００ａは、データ要求信号の受信に基づいて、データバッファに保持された処理済みデータＱを、出力装置３００へ送信する。一方、第２データ処理装置２００ｂは、データ要求信号を受信しないため、処理済みデータＱを出力装置３００へ送信しない。これにより複数のデータ処理装置２００と出力装置３００との間でのデータトラフィックを抑制することができる。
【００２１】
図５は、入力装置１００、データ処理装置２００、出力装置３００のそれぞれのハードウェア構成を示す図である。
【００２２】
図５の（Ａ）は、入力装置１００のハードウェア構成を示し、入力装置１００は、インターフェースカード１１０、プロセッサ１２０、不揮発性メモリ１３０、揮発性メモリ１４０を有する。
【００２３】
インターフェースカード１１０は、センサデバイスから送信されるセンサデータＳを受信し、またデータ処理装置２００への処理用データＰを送信する。
【００２４】
プロセッサ１２０は、不揮発性メモリ１３０に格納されたコンピュータプログラムを揮発性メモリ１４０にロードして実行する。例えばプロセッサ１２０は、センサデータＳを含む処理用データＰを含むデータパケットを生成する。プロセッサ１２０はハードウェアプロセッサであり、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）、Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ（ＭＣＵ）、Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＭＰＵ）、Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ（ＤＳＰ）、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）等が適用可能である。
【００２５】
不揮発性メモリ１３０は、コンピュータで読み取り可能な記録媒体である。不揮発性メモリ１３０には、プロセッサ１２０によって実行されるコンピュータプログラム等が格納される。不揮発性メモリ１３０は、例えばＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）、Ｍａｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（マスクＲＯＭ）、Ｐｒｏｇｒａｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＰＲＯＭ）、フラッシュメモリ、Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＭＲＡＭ）、Ｒｅｓｉｓｔａｎｃｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲｅＲＡＭ）、Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＦｅＲＡＭ）等である。コンピュータプログラムは、不揮発性メモリ１３０以外の記憶媒体であって、コンピュータで読み取り可能な記録媒体（ただし、搬送波は除く）に記録されることもできる。また、コンピュータプログラムが記録されたＤｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ（ＤＶＤ）、Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＣＤ−ＲＯＭ）などの可搬型記録媒体を流通させることもできる。また、コンピュータプログラムは、ネットワークを介して送信され得る。
【００２６】
揮発性メモリ１４０は、コンピュータで読み取り可能な記録媒体である。揮発性メモリ１４０には、不揮発性メモリ１３０に格納されているコンピュータプログラムがロードされる。揮発性メモリ１４０は、例えばＳｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＳＲＡＭ）やＤｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＤＲＡＭ）等である。
【００２７】
図５の（Ｂ）は、データ処理装置２００のハードウェア構成を示し、データ処理装置２００は、インターフェースカード２１０、プロセッサ２２０、不揮発性メモリ２３０、揮発性メモリ２４０を有する。
【００２８】
インターフェースカード２１０は、出力装置１００から送信される処理用データＰを含むデータパケットを受信し、また処理済みデータＱを含むデータパケットを出力装置３００へ送信する。
【００２９】
プロセッサ２２０は、不揮発性メモリ２３０に格納されたコンピュータプログラムを揮発性メモリ２４０にロードして実行する。例えばプロセッサ２２０は、処理用データＰに対して所定のデータ処理を実行し、処理済みデータＱを生成する。またプロセッサ２２０は、処理済みデータＱを含むデータパケットを生成する。プロセッサ２２０はハードウェアプロセッサであり、ＣＰＵ、ＭＣＵ、ＭＰＵ、ＤＳＰ、ＦＰＧＡ等が適用可能である。
【００３０】
不揮発性メモリ２３０は、コンピュータで読み取り可能な記録媒体である。不揮発性メモリ２３０には、プロセッサ２２０によって実行されるコンピュータプログラム等が格納される。不揮発性メモリ２３０は、例えばＲＯＭ、マスクＲＯＭ、ＰＲＯＭ、フラッシュメモリ、ＭＲＡＭ、ＲｅＲＡＭ、ＦｅＲＡＭ等である。コンピュータプログラムは、不揮発性メモリ２３０以外の記憶媒体であって、コンピュータで読み取り可能な記録媒体（ただし、搬送波は除く）に記録されることもできる。また、コンピュータプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体を流通させることもできる。また、コンピュータプログラムは、ネットワークを介して送信され得る。
【００３１】
揮発性メモリ２４０は、コンピュータで読み取り可能な記録媒体である。揮発性メモリ２４０には、不揮発性メモリ２３０に格納されているコンピュータプログラムがロードされる。揮発性メモリ２４０は、例えばＳＲＡＭやＤＲＡＭ等である。
【００３２】
図５の（Ｃ）は、出力装置３００のハードウェア構成を示し、出力装置３００は、インターフェースカード３１０、プロセッサ３２０、不揮発性メモリ３３０、揮発性メモリ３４０を有する。
【００３３】
インターフェースカード３１０は、データ処理装置２００へのデータ要求信号を送信し、データ処理装置２００から送信される処理済みデータＱを含むデータパケットを受信し、また処理済みデータＱを端末装置等へ送信する。
【００３４】
プロセッサ３２０は、不揮発性メモリ３３０に格納されたコンピュータプログラムを揮発性メモリ３４０にロードして実行する。例えばプロセッサ３２０は、複数のデータ処理装置２００の中の一部のデータ処理装置２００に対して選択的にデータ要求信号を送信する処理を実行する。プロセッサ３２０はハードウェアプロセッサであり、ＣＰＵ、ＭＣＵ、ＭＰＵ、ＤＳＰ、ＦＰＧＡ等が適用可能である。
【００３５】
不揮発性メモリ３３０は、コンピュータで読み取り可能な記録媒体である。不揮発性メモリ３３０には、プロセッサ３２０によって実行されるコンピュータプログラム等が格納される。不揮発性メモリ３３０は、例えばＲＯＭ、マスクＲＯＭ、ＰＲＯＭ、フラッシュメモリ、ＭＲＡＭ、ＲｅＲＡＭ、ＦｅＲＡＭ等である。コンピュータプログラムは、不揮発性メモリ３３０以外の記憶媒体であって、コンピュータで読み取り可能な記録媒体（ただし、搬送波は除く）に記録されることもできる。また、コンピュータプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体を流通させることもできる。また、コンピュータプログラムは、ネットワークを介して送信され得る。
【００３６】
揮発性メモリ３４０は、コンピュータで読み取り可能な記録媒体である。揮発性メモリ３４０には、不揮発性メモリ３３０に格納されているコンピュータプログラムがロードされる。揮発性メモリ３４０は、例えばＳＲＡＭやＤＲＡＭ等である。
【００３７】
図６は、情報処理システム１において実行される処理の概要を説明するための図である。処理Ｓ１において各データ処理装置２００が、プッシュモードにて処理済みデータＱを送信する。ここでは、複数のデータ処理装置２００から同一の処理済みデータＱが出力装置３００に送信される。次に処理Ｓ２において出力装置３００が、各データ処理装置２００のデータ処理速度を比較し、処理済みデータＱの要求先となるデータ処理装置２００を特定する。例えば出力装置３００は、処理済みデータＱ毎に、どのデータ処理装置２００から送信された処理済みデータＱが最先に出力装置３００に到達したか、について統計を取り、統計的に処理済みデータＱを最速で送信したデータ処理装置２００を特定する。処理Ｓ３において出力装置３００は、入力装置２００による処理用データＰの送信間隔又は出力装置３００による処理済みデータＱの受信間隔に基づき、プルモードにおけるデータ要求信号の送信間隔を特定する。例えばデータ要求信号の送信間隔は、入力装置１００における処理用データＰの送信間隔又は出力装置３００における処理済みデータＱの受信間隔と同一の間隔に設定される。プッシュモードにおいては、データ処理装置２００が、処理済みデータＱが生成される度に自発的に処理済みデータＱを出力装置３００へ順次送信するが、プルモードにおいてはデータ処理装置２００はデータ要求信号を受信するまで、処理済みデータＱを送信しない。そこで、まず所定の期間、プッシュモードで情報処理装置１を動作させ、その期間に処理済みデータＱの受信間隔等を出力装置３００が学習する。その後、送信モードがプルモードに切り替えられ、学習された処理済みデータＱの受信間隔等に基づいて特定された送信間隔で、データ要求信号が順次、出力装置３００から特定のデータ処理装置２００に送信される。
【００３８】
処理Ｓ４において、各データ処理装置２００の送信モードがプッシュモードからプルモードに切り替えられる。送信モードの切り替えは、例えば出力装置３００が各データ処理装置２００に対してモードの切り替え指示信号を送信することによって行われる。処理Ｓ５において出力装置３００は、特定されたデータ処理装置２００に対して、決定された送信間隔でデータ要求信号を送信する。
【００３９】
図７は、情報処理システム１において実行される処理を示すラダーチャートであり、主にプッシュモードにおける処理を示すものである。処理Ｓ１０において入力装置１００は、センサデバイスからセンサデータＳを受信する。処理Ｓ１１において入力装置１００は、センサデータＳを含む処理用データＰに時刻情報及びパケット識別子が付されたデータパケットを、複数のデータ処理装置２００の各々に送信する。時刻情報は、処理用データＰが生成された時刻を示すものであり、出力装置３００は、時刻情報に基づいて処理用データＰの送信間隔を認識し、データ要求信号の送信間隔を決定することができる。パケット識別子は処理用データＰを含むデータパケット及び処理済みデータＱを含むデータパケットに共通で使用される識別子である。尚、図面及び本明細書の以降の部分において、「処理用データＰを送信する」とは、「処理用データＰを含むデータパケットを送信する」ことを意味する。
【００４０】
処理Ｓ１２及びＳ１３において第１データ処理装置２００ａ及び第２データ処理装置２００ｂはそれぞれ、処理用データＰを含むデータパケットを受信する。尚、図面及び本明細書の以降の部分において、「処理用データＰを受信する」とは、「処理用データＰを含むデータパケットを受信する」ことを意味する。処理Ｓ１４及びＳ１５において第１データ処理装置２００ａ及び第２データ処理装置２００ｂはそれぞれ、処理用データＰに対して所定のデータ処理を実行し、処理済みデータＱを生成する。処理Ｓ１６及びＳ１７において第１データ処理装置２００ａ及び第２データ処理装置２００ｂはそれぞれ、処理済みデータＱを含むデータパケットを、出力装置３００に送信する。ここでは第１データ処理装置２００ａ及び第２データ処理装置２００ｂはそれぞれ、プッシュモードによりデータパケットを出力装置３００に送信する。尚、図面及び本明細書の以降の部分において、「処理済みデータＱを送信する」とは、「処理済みデータＱを含むデータパケットを送信する」ことを意味する。
【００４１】
処理Ｓ１８において出力装置３００は、第１データ処理装置２００ａ及び第２データ処理装置２００ｂの両方から、処理済みデータＱを含むデータパケットを受信する。尚、図面及び本明細書の以降の部分において、「処理済みデータＱを受信する」とは、「処理済みデータＱを含むデータパケットを受信する」ことを意味する。処理Ｓ１９において出力装置３００は、処理済みデータＱを例えば端末装置に送信する。出力装置３００は、複数のデータ処理装置２００から同一の処理済みデータＱを受信しているため、同一の処理済みデータＱから一つの処理済みデータＱが選択されて出力される。
【００４２】
処理Ｓ２０において出力装置３００は、複数のデータ処理装置２００の各々のデータ処理速度を比較する。例えば出力装置３００は、複数のデータ処理装置２００から送信された、同一のパケット識別子を有する複数の処理済みデータＱに関し、出力装置３００における受信タイミングを比較する。すなわち出力装置３００は、どのデータ処理装置２００から送信された処理済みデータＱが、最先で出力装置３００に到達したか、を特定する。例えば第１データ処理装置２００ａから送信された処理済みデータＱが、第２データ処理装置２００ｂから送信された処理済みデータＱよりも先に出力装置３００に到達したとする。この場合には、第１データ処理装置２００ａのデータ処理速度は、第２データ処理装置２００ｂのデータ処理速度よりも速いと特定される。データ処理速度の比較は、データパケットに含まれる時刻情報に基づき、処理用データＰが入力装置１００において生成されてから経過した時間を求めることによって実行されてもよい。
【００４３】
処理Ｓ２１において出力装置３００は、データ要求信号の送信間隔を決定する。例えば出力装置３００は、入力装置１００による処理用データＰの送信間隔又は出力装置３００による処理済みデータＱの受信間隔に基づき、データ要求信号の送信間隔を定める。
【００４４】
図８は、情報処理システム１において実行される処理を示すラダーチャートであり、主にプルモードにおける処理を示すものである。処理Ｓ２２に示される処理は、図７に示された処理Ｓ２１の後に実行される。処理Ｓ２２において出力装置３００は、プッシュモードからプルモードへの送信モードの切り替え指示信号を複数のデータ処理装置２００の各々へ送信する。この送信モードの切り替え指示信号に基づいて、処理Ｓ２３及び処理Ｓ２４において第１データ処理装置２００ａ及び第２データ処理装置２００ｂの各々が、プッシュモードからプルモードへの切り替え処理を行う。これにより、第１データ処理装置２００ａ及び第２データ処理装置２００ｂは、データ要求信号を受信するまでは処理済みデータＱを出力装置３００に送信しない。
【００４５】
その後、処理Ｓ２５において出力装置３００は、データ要求信号を送信する。ここで、出力装置３００は、処理Ｓ２０において特定されたデータ処理速度に基づいて、何れかのデータ処理装置２００を選択し、選択されたデータ処理装置２００に対してデータ要求信号を送信する。例えば第１データ処理装置２００ａのデータ処理速度が、第２データ処理装置２００ｂのデータ処理速度よりも速い場合、出力装置３００は、第１データ処理２００ａに対して選択的にデータ要求信号を送信する。
【００４６】
処理Ｓ２６において第１データ処理装置２００ａは、データ要求信号に応じて処理済みデータＱを送信する。処理Ｓ２７において出力装置３００は、処理済みデータＱを受信する。一方、第２データ処理装置２００ｂへはデータ要求信号が送信されないため、第２データ処理装置２００ｂは出力装置３００へ処理済みデータＱを送信しない。よって、図７に示されるプッシュモードに比べて、第２データ処理装置２００ｂと出力装置３００との間のデータトラフィックを抑制することができる。また出力装置３００は、複数の処理済みデータＱのうちの一つを選択して出力する、という処理を実行する必要がなくなるため、出力装置３００の処理負荷を軽減することが可能となる。また、出力装置３００に設けられるデータバッファの容量を小さくすることが可能となる。
【００４７】
図９は、入力装置１００のプロセッサ１２０の機能ブロック図である。プロセッサ１２０は、センサデータ受信部１２１、データバッファ部１２２、処理用データ生成部１２３、パケット識別子生成部１２４、時刻情報生成部１２５、データパケット送信部１２６として機能する。尚、プロセッサ１２０は、図９に開示される機能の全てを実施しなくてもよく、例えばデータバッファ部１２２の機能を、揮発性メモリ１４０に実行させてもよい。
【００４８】
センサデータ受信部１２１は、センサデバイスからセンサデータＳを受信する。データバッファ部１２２は、センサデータＳを保持する。処理用データ生成部１２３は、センサデータＳを含む処理用データＰを生成する。例えば、同時刻もしくは互いに近接する時刻にセンサデータ受信部１２１によって受信され、データバッファ部１２２に保持された複数のセンサデータＳｘ１、Ｓｙ１、Ｓｚ１を含む処理用データＰ１が生成される。
【００４９】
パケット識別子生成部１２４は、データパケット送信部１２６から送信される処理用データＰを含むデータパケットを特定するためのパケット識別子を生成する。時刻情報生成部１２５は、処理用データＰが生成された時刻を示す時刻情報を生成する。データパケット送信部１２６は、処理用データＰと、パケット識別子と、時刻情報とを含むデータパケットを、複数のデータ処理装置２００の各々へ送信する。
【００５０】
図１０は、データ処理装置２００のプロセッサ２２０の機能ブロック図である。プロセッサ２２０は、処理用データ受信部２２１、データ処理部２２２、データバッファ部２２３、データ要求信号受信部２２４、装置識別子生成部２２５、データパケット送信部２２６、モード設定部２２７として機能する。尚、プロセッサ２２０は、図１０に開示される機能の全てを実施しなくてもよく、例えばデータバッファ部２２３の機能を、揮発性メモリ２４０に実行させてもよい。
【００５１】
処理用データ受信部２２１は、入力装置１００から送信された処理用データＰを受信する。データ処理部２２２は、処理用データ受信部２２１により受信された処理用データＰに所定のデータ処理を行い、処理済みデータＱを生成する。データバッファ部２２３は、データ処理部２２２によって生成された処理済みデータＱを保持する。データバッファ部２２３は、空き容量がない場合に、最も古いデータを破棄するＦｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ（ＦＩＦＯ）形式のデータバッファであってもよい。データ要求信号受信部２２４は、出力装置３００から送信されたデータ要求信号を受信する。装置識別子生成部２２５は、データ処理が行われたデータ処理装置２００を特定するための装置識別子を生成する。この装置識別子により、処理済みデータＱを受信した出力装置３００は、当該処理済みデータＱが、複数のデータ処理装置２００のうちのどのデータ処理装置２００から送信されたものであるかを識別することができる。データパケット送信部２２６は、処理済みデータＱと、装置識別子と、パケット識別子と、時刻情報とを含むデータパケットを、出力装置３００に送信する。モード設定部２２７は、プッシュモードとプルモードの何れかの送信モードでデータパケットが送信されるよう、制御を行う。プッシュモードにおいては、データ要求信号受信部２２４がデータ要求を受信したか否かに係わらず、処理済みデータＱが出力装置３００に送信される。一方、プルモードにおいては、データ要求信号受信部２２４がデータ要求信号を受信したことに基づいて、処理済みデータＱが出力装置３００に送信される。
【００５２】
図１１は、出力装置３００のプロセッサ３２０の機能ブロック図である。プロセッサ３２０は、処理済みデータ受信部３２１、データバッファ部３２２、処理済みデータ送信部３２３、データ処理装置選択部３２４、送信間隔決定部３２５、データ要求信号送信部３２６、故障検知部３２７、パケットロス検知部３２８、モード切り替え指示部３２９として機能する。尚、プロセッサ３２０は、図１１に開示される機能の全てを実施しなくてもよく、例えばデータバッファ部３２２の機能を、揮発性メモリ３４０に実行させてもよい。
【００５３】
処理済みデータ受信部３２１は、データ処理装置２００から送信された処理済みデータＱを受信する。データバッファ部３２２は、処理済みデータ受信部３２１によって受信された処理済みデータＱを保持する。処理済みデータ送信部３２３は、処理済みデータＱを、例えば端末装置に送信し、又は出力装置３００に設けられた表示装置に出力する。データ処理装置選択部３２４は、多重化された複数のデータ処理装置２００の中の一部のデータ処理装置２００を選択する。送信間隔決定部３２５は、処理用データＰの送信間隔又は処理済みデータＱの受信間隔に基づいて、データ要求信号の送信間隔を決定する。データ要求信号送信部３２６は、データ処理装置選択部３２４によって選択されたデータ処理装置２００に対して、送信間隔決定部３２５によって決定された時間間隔で、データ要求信号を送信する。故障検知部３２７は、データ処理装置２００に故障が発生したことを検知する。例えば、故障検知部３２７は、データ要求信号を特定のデータ処理装置２００に対して送信した時刻を記憶する。そしてその後、所定の時間が経過してもデータ要求信号に対する処理済みデータＱが処理済みデータ受信部３２１によって受信されなかった場合は、故障検知部３２７は当該特定のデータ処理装置２００に故障があったものと判定する。パケットロス検知部３２８は、処理済みデータＱに付されたパケット識別子に基づき、パケットロスを検知する。例えば、順に受信された複数のデータパケットの各々に付されたパケット識別子が不連続となっている場合に、パケットロスが発生したことを検知する。モード切り替え指示部３２９は、複数のデータ処理装置２００に対して、プッシュモードとプルモードと間の切り替えを指示する。
【００５４】
図１２は、入力装置１００のプロセッサ１２０によって実行される処理のフローチャートである。処理フローは処理Ｓ５０によって開始され、処理Ｓ５１においてセンサデータ受信部１２１が、センサデータＳを受信する。処理Ｓ５２においてデータバッファ部１２２がセンサデータＳを保持する。処理Ｓ５３において処理用データ生成部１２３が、例えば所定期間に複数のセンサデバイスから受信したセンサデータＳを含む処理用データＰを生成する。処理Ｓ５４においてデータパケット送信部１２６が、処理用データＰと、パケット識別子生成部１２４が生成したパケット識別子と、時刻情報生成部１２５が生成した時刻情報を含むデータパケットを、複数のデータ処理装置２００の各々に送信する。処理フローは処理Ｓ５５にて終了する。
【００５５】
図１３は、データ処理装置２００のプロセッサ２２０によって実行される処理のフローチャートである。処理フローは処理Ｓ６０によって開始され、処理Ｓ６１において処理用データ受信部２２１が、出力装置３００から送信された処理用データＰを受信する。処理Ｓ６２においてデータ処理部２２２が、処理用データＰに所定のデータ処理を実行し、処理済みデータＱを生成する。処理Ｓ６３においてモード設定部２２７が、送信モードがプッシュモードに設定されているか否かを判定する。送信モードがプッシュモードに設定されていると判定された場合（Ｙｅｓ）は、処理フローは処理Ｓ６４へ進む。処理Ｓ６４においてデータパケット送信部２２６が、パケット識別子、時刻情報、及び装置識別子生成部２２５が生成した装置識別子が付与された処理済みデータＱを、出力装置３００に送信する。出力装置３００は、処理済みデータＱが、複数あるデータ処理装置２００のどのデータ処理装置２００から送信されたものであるかを、装置識別子に基づいて判断する。
【００５６】
処理Ｓ６３において、送信モードがプッシュモードに設定されていると判定されない場合（Ｎｏ）、つまり送信モードがプルモードに設定されている場合は、処理フローは処理Ｓ６５へ進む。処理Ｓ６５においてデータバッファ部２２３が、処理済みデータＱを保持する。処理Ｓ６６においてデータ要求信号受信部２２４が、データ要求信号が受信されたか否かを判定する。データ要求信号が受信されたと判定されない場合（Ｎｏ）は、処理フローは処理Ｓ６６を繰り返し実行する。データ要求信号が受信されたと判定された場合（Ｙｅｓ）は、処理Ｓ６７においてデータパケット送信部２２６が、処理済みデータＱをデータバッファ部２２３から読み出す。そして処理Ｓ６４においてデータパケット送信部２２６が、パケット識別子、時刻情報及び装置識別子が付された処理済みデータＱを出力装置３００に送信する。処理フローは処理Ｓ６８にて終了する。
【００５７】
図１４は、出力装置３００のプロセッサ３２０によって実行される処理のフローチャートである。処理フローは処理Ｓ７０によって開始され、処理Ｓ７１において処理済みデータ受信部３２１が、処理済みデータＱを受信する。処理Ｓ７２において処理済みデータ送信部３２３が、処理済みデータＱを、例えば端末装置に送信する。尚、処理済みデータＱは、出力される前にデータバッファ部３２２に保持されてもよい。処理Ｓ７３においてデータ処理装置選択部３２４が、複数のデータ処理装置２００のうちの一部のデータ処理装置２００を、データ要求信号の送信先として選択する。例えば、複数のデータ処理装置２００のうち、データ処理速度が最も速いデータ処理装置２００が、データ要求信号の送信先として選択される。複数のデータ処理装置２００のデータ処理速度の比較は、異なる装置識別子を有し、かつ同一のデータ識別子を有する複数の処理済みデータＱについて、出力装置３００における受信時刻を互いに比較することによって行われる。処理Ｓ７４において送信間隔決定部３２５が、データ要求信号の送信間隔を決定する。例えば、複数のデータパケットの受信間隔の平均値を特定し、当該平均値と同じ値に送信間隔を設定する。処理Ｓ７５においてモード切り替え指示部３２９が、複数のデータ処理装置２００の各々に、送信モードをプッシュモードからプルモードに切り替える切り替え指示信号を送信する。処理Ｓ７６においてデータ要求信号送信部３２６が、処理Ｓ７３で選択されたデータ処理装置２００に対し、処理Ｓ７４にて決定された送信間隔で、データ要求信号を順次送信する。データ処理装置２００では、処理Ｓ７５において送信された切り替え指示信号に基づき、送信モードがプルモードに設定されている。そのため、データ要求信号を受信したデータ処理装置２００が、データ要求信号に応じて処理済みデータＱを送信する。よって出力装置３００は、処理済みデータＱを順に受信して出力することができる。処理フローは処理Ｓ７７において終了する。
【００５８】
このように本実施形態においては、多重化された複数のデータ処理装置２００から出力装置３００への送信モードをプルモードとし、複数データ処理装置２００の中の特定のデータ処理装置２００に対して選択的にデータ要求信号が送信される。これによりデータトラフィックを抑制することができる。
【００５９】
また、送信モードをプルモードに設定する前に、プッシュモードにより複数のデータ処理装置２００から同一の処理済みデータＱを出力装置に送信する。これにより出力装置３００は、複数のデータ処理装置２００の中からデータ処理速度が速いデータ処理装置２００を特定し、データ要求信号の送信先として選択することができる。また入力装置１００により付された時刻情報、又は出力装置３００によるデータパケットの受信間隔に基づいて、データ要求信号の送信間隔を決定することができる。これにより出力装置３００は、適切な間隔で複数の処理済みデータＱを順次に受信することができる。
【００６０】
次に、プルモードにおいて選択的にデータ要求信号を受信していたデータ処理装置２００に故障等が発生した場合の処理について説明する。図１５は、情報処理システム１において実行される処理であって、データ処理装置２００に故障等が発生した場合の処理のラダーチャートである。ここでは、出力装置３００が第１データ処理装置２００ａに選択的にデータ要求信号を送信している状態において、第１データ処理装置２００ａに故障が発生したものとする。
【００６１】
処理Ｓ２９において出力装置３００は、データ処理装置２００ａに故障が発生したことを検知する。例えば出力装置３００は、データ要求信号を送信した後、所定の時間が経過しても第１データ処理装置２００ａから処理済みデータＱが送信されない場合に、第１データ処理装置２００ａに故障が発生したと判断する。そして処理Ｓ３０において出力装置３００は、データ要求信号の送信先を、第１データ処理装置２００ａから他のデータ処理装置２００に切り替える。例えば出力装置３００は、図７の処理Ｓ２０において特定されたデータ処理速度に基づき、第１データ処理装置２００ａの次にデータ処理速度が速いデータ処理装置２００、ここでは第２データ処理装置２００ｂを、データ要求信号の新たな送信先として選択する。そして処理Ｓ３１において出力装置３００は、データ要求信号を第２データ処理装置２００ｂに対して送信する。
【００６２】
処理Ｓ３２において第２データ処理装置２００ｂは、データ要求信号に応じて処理済みデータＱを出力装置３００に送信する。処理Ｓ３３において出力装置３００は、処理済みデータＱを受信し、処理Ｓ３４において出力装置３００は、処理済みデータＱを例えば端末装置に出力する。このように、データ要求信号の送信先を適宜切り替えることにより、データ処理装置２００の何れかに故障が発生した場合でも、出力装置３００が継続して処理済みデータＱを出力することができる。
【００６３】
図１６は、出力装置３００のプロセッサ３２０によって実行される処理であって、主に故障発生時のデータ要求信号の送信先変更に関する処理のフローチャートである。処理フローは処理Ｓ８０によって開始され、処理Ｓ８１においてデータ要求信号送信部３２６が、選択されたデータ処理装置２００にデータ要求信号を送信する。処理Ｓ８２において故障検知部３２７が、データ要求信号に対応する処理済みデータＱが受信されたか否かを判定する。処理済みデータＱが受信されたと判定された場合（Ｙｅｓ）は、処理フローは処理Ｓ８６に移行する。処理Ｓ８２において処理済みデータＱが受信されたと判定されない場合（Ｎｏ）は、処理フローは処理Ｓ８３へ進み、処理Ｓ８３において故障検知部３２７が、データ要求信号が送信されてから所定の時間が経過したか否かを判定する。データ要求信号が送信されてから所定の時間が経過したと判定された場合（Ｙｅｓ）は、処理フローは処理Ｓ８４へ進み、データ要求信号が送信されてから所定の時間が経過したと判定されない場合（Ｎｏ）は、処理フローは処理Ｓ８２へ戻る。
【００６４】
処理Ｓ８４においてデータ処理装置選択部３２４は、第１データ処理装置２００ａが故障したと判断し、データ要求信号の送信先を、他のデータ処理装置２００、例えば第２データ処理装置２００ｂへ変更する。情報処理システム１が３以上のデータ処理装置２００を含む場合は、第１データ処理装置２００ａの次にデータ処理速度が速いデータ処理装置２００が選択されてもよい。次に処理Ｓ８５においてデータ要求信号送信部３２６が、データ要求信号を他のデータ処理装置２００に送信する。その後、処理Ｓ８６において処理済みデータ受信部３２１が、他のデータ処理装置２００から処理済みデータＱを受信した場合は、処理済みデータ送信部３２３は、処理済みデータＱを出力する。このようにデータ要求信号の送信先であるデータ処理装置２００に故障が発生した場合には、出力装置３００は、データ要求信号の送信先を他のデータ処理装置２００に変更することにより、継続して処理済みデータＱを出力することができる。
【００６５】
次に、パケットロスが発生した場合における処理について説明する。図１７は、第１データ処理装置２００ａ及び第２データ処理装置２００ｂにおけるデータバッファ部２２３に保持された処理済みデータＱの内容を示す図である。例えば第１データ処理装置２００ａにおけるデータバッファ部２２３には、処理済みデータＱ１、Ｑ３、Ｑ４、Ｑ５が順に保持されているが、Ｑ２が何等かの理由により欠損している状態である。データの欠損は、入力装置１００内での処理エラー、入力装置１００とデータ処理装置２００との間での通信エラー、データ処理装置２００内での処理エラー等によって生じ得る。一方、第２データ処理装置２００ｂにおけるデータバッファ部２２３には、処理済みデータＱ１からＱ５が順に保持されている。この状態で出力装置３００がデータ要求信号を第１データ処理装置２００ａに送信したとする。第１データ処理装置２００ａは、処理済みデータＱ１を出力装置３００に送信した後にデータ要求信号を受信すると、処理済みデータＱ３を出力装置３００に送信する。出力装置３００は、処理済みデータＱに付されたパケット識別子に基づき、処理済みデータＱ２が未受信であることを検知する。この場合、出力装置３００は、第２データ処理装置２００ｂに対して、処理済みデータＱ２を送信するよう、データ要求信号を送信する。この場合のデータ要求信号には、要求対象である処理済みデータＱ２を特定する情報、例えば処理済みデータＱ２に対応するパケット識別子が含まれる。出力装置３００は、処理済みデータＱ３を、処理済みデータＱ２が受信されるまでデータバッファ部２２３に保持しておき、処理済みデータＱ２を受信した後に、処理済みデータＱ２及び処理済みデータＱ３を順に出力する。
【００６６】
パケットロスの検知方法の変形例としては、データ要求信号には常に、要求対象となる処理済みデータＱを特定する情報、例えば直近に送信された処理済みデータＱのパケット識別子が含まれるようにしてもよい。この場合、第１データ処理装置２００ａは、処理済みデータＱ２を指定するデータ要求信号を受信したときには、処理済みデータＱ２がデータバッファ部２２３に保持されていないことを出力装置３００に通知する。この通知に基づいて出力装置３００は、第１データ処理装置２００ａにおいてパケットロスが発生していることを検知し、他のデータ処理装置２００に対して処理済みデータＱ２の送信を要求する。
【００６７】
図１８は、情報処理システム１において実行される処理であって、パケットロスが検知された場合の処理のラダーチャートである。ここでは、出力装置３００が第１データ処理装置２００ａに選択的にデータ要求信号を送信している状態において、図１７に示されるように、第１データ処理装置２００ａにおいて処理済みデータＱ２に関するパケットロスが発生したものとする。
【００６８】
処理Ｓ３５において出力装置３００が、処理済みデータＱ２に関してパケットロスを検知する。処理Ｓ３６において出力装置３００は、受信されなかった処理済みデータＱ２を特定する情報、例えばパケット識別子を含むデータ要求信号を、第２データ処理装置２００ｂへ送信する。処理Ｓ３７において第２データ処理装置２００ｂは、データ要求信号に応じて、処理済みデータＱ２を、出力装置３００に送信する。処理Ｓ３８において出力装置３００は、処理済みデータＱ２を受信する。処理Ｓ３９において出力装置３００は、処理済みデータＱ２を例えば端末装置に出力する。その後、処理Ｓ４０において出力装置３００は、次のデータ要求信号を第１データ処理装置２００ａに送信する。すなわち、出力装置３００が処理済みデータＱ２を第２データ処理装置２００ｂから受信した後は、データ要求信号の送信先は第１データ処理装置２００ａに戻される。そして処理Ｓ４１において第１データ処理装置２００ａは、データ要求信号に応じて処理済みデータＱ３を出力装置３００に送信する。処理Ｓ４２において出力装置３００は、処理済みデータＱ３を受信し、処理Ｓ４３において出力装置３００は、処理済みデータＱ３を出力する。
【００６９】
図１９は、出力装置３００のプロセッサ３２０によって実行される処理であって、主にパケットロスが発生した場合の処理のフローチャートである。処理フローは処理Ｓ９０によって開始され、処理Ｓ９１においてパケットロス検知部３２８が、受信された複数のデータパケットにそれぞれ付されているパケット識別子が連続しているか否かを判定する。パケット識別子が連続していると判定された場合（Ｙｅｓ）は、処理フローは処理Ｓ９５へ進み、処理フローが終了する。パケット識別子が連続していると判定されない場合（Ｎｏ）は、処理フローは処理Ｓ９２へ進む。パケット識別子が連続していない場合、パケットロスが発生していると考えられる。そこで処理Ｓ９２においてデータ要求信号送信部３２６は、データ要求信号を他のデータ処理装置２００へ送信する。ここで送信されるデータ要求信号は、失われたデータパケットを特定する情報、例えばパケット識別子を含む。このデータ要求信号を受信した他のデータ処理装置２００は、自身のデータバッファ部２２３に保持されている処理済みデータＱであって、データ要求信号に含まれるパケット識別子に対応する処理済みデータＱを、出力装置３００に送信する。
【００７０】
処理Ｓ９３において処理済みデータ受信部３２１は、他のデータ処理装置２００から送信された処理済みデータＱを受信する。そして処理Ｓ９４において処理済みデータ送信部３２３は、パケット識別子が連続的となるよう、処理済みデータＱを出力する。その後、処理フローは処理Ｓ９５において終了する。
【００７１】
このように出力装置３００は、パケットロスが検知された場合には、他のデータ処理装置２００に対してデータ要求信号を送信することによって失われたデータパケットを補い、データ欠損を防止する。
【００７２】
以上、複数のデータ処理装置２００のうちの一部のデータ処理装置２００に故障等が発生した場合、及び情報処理シスム１においてパケットロスが発生した場合に、処理済みデータＱを継続して出力させるための処理が開示された。
【００７３】
（変形例）
上記の実施形態において、複数のデータ処理装置２００の各々が更に複数段のデータ処理部を含んでもよい。すなわち、データ処理装置２００の各々によって実行されるデータ処理が複数の部分データ処理を含み、複数段のデータ処理部の各々が、複数の部分データ処理をパイプライン的に実行してもよい。図２０は、各データ処理装置２００が複数段のデータ処理部を含む情報処理システム１の構成を示す。第１データ処理装置２００ａ及び第２データ処理装置２００ｂはそれぞれ、第１データ処理部、第２データ処理部、第３データ処理部を含む。第１データ処理部、第２データ処理部、第３データ処理部はそれぞれ、第１部分データ処理、第２部分データ処理、第３部分データ処理をパイプライン的に実行することにより処理済みデータＱを生成する。ここで、第１データ処理部によって処理されたデータの第２データ処理部への送信は、プルモードによって実行されてもよく、同様に第２データ処理部によって処理されたデータの第３データ処理部への送信は、プルモードによって実行されてもよい。
【００７４】
他の変更例として、例えば、複数のデータ処理装置２００のデータ処理速度の特定方法に関し、出力装置３００が特定する代わりに複数のデータ処理装置２００が特定してもよい。この場合、複数のデータ処理装置２００の各々は、自身のデータ処理速度を示す情報を出力装置３００に通知してもよい。或いは、複数のデータ処理装置２００の各々は、自身のデータ処理速度を示す情報を複数のデータ処理装置２００の間で共有し、データ処理速度の順位を示す情報を出力装置３００に通知してもよい。
【００７５】
他の変更例として、データ要求信号の送信間隔の決定方法に関し、入力装置１００が処理用データＰの送信間隔を示す情報を出力装置３００に通知し、出力装置３００が、送信間隔と同一の間隔でデータ要求信号を送信してもよい。
【００７６】
実施形態に基づき、更に以下の付記を開示する。
（付記１）
入力装置と、
前記入力装置にそれぞれ接続された複数のデータ処理装置と、
前記複数のデータ処理装置の各々に接続された出力装置と
を有し、
前記入力装置は、複数の第１処理用データを前記複数のデータ処理装置の各々へ順次送信し、
前記複数のデータ処理装置の各々は、前記複数の第１処理用データに対するデータ処理を順次実行して複数の第１処理済みデータを生成し、
前記出力装置は、前記複数のデータ処理装置の中から選択された第１データ処理装置に対して複数の第１データ要求信号を順次送信し、
前記第１データ処理装置は、前記複数の第１データ要求信号の各々に応じて、前記複数の第１処理済みデータを前記出力装置に順次送信する
ことを特徴とする情報処理システム。
（付記２）
前記複数のデータ処理装置のうち、前記複数の第１データ要求信号を受信しない第２データ処理装置は、前記出力装置に前記複数の第１処理済みデータを送信することなく、前記複数の第１処理済みデータを破棄する
ことを特徴とする付記１に記載の情報処理システム。
（付記３）
前記出力装置は、前記複数の第１データ要求信号に含まれる第１信号を前記第１データ処理装置に送信した後、前記第１データ処理装置から前記複数の第１処理済みデータに含まれる第１データが送信されない場合は、第２データ要求信号を前記第２データ処理装置に送信し、
前記第２データ処理装置は、前記第２データ要求信号に基づき、前記複数の第１処理済みデータに含まれる前記第１データを前記出力装置に送信する
ことを特徴とする付記２に記載の情報処理システム。
（付記４）
前記出力装置は、前記第１データ処理装置の故障を検知した場合には、前記複数の第１データ要求信号の送信先を、前記第１データ処理装置から前記第２データ処理装置へ変更する
ことを特徴とする付記２乃至３何れか一つに記載の情報処理システム。
（付記５）
前記出力装置は、前記第１データ処理装置の第１データ処理速度と、前記第２データ処理装置の第２データ処理速度を比較し、前記第１データ処理速度が前記第２データ処理速度よりも高い場合に、前記複数の第１データ要求信号を前記第１データ処理装置へ送信する
ことを特徴とする付記２乃至４何れか一つに記載の情報処理システム。
（付記６）
前記出力装置は、前記第１信号に対して前記第１データ処理装置から、前記第１データとは異なる第２データが送信された場合に、前記第１データを前記第２データ処理装置から取得し、前記第１データ及び前記第２データを順に出力する
ことを特徴とする付記３に記載の情報処理システム。
（付記７）
前記複数のデータ処理装置の各々は、前記複数の第１処理用データを受信する前に、複数の第２処理用データを前記入力装置から順次受信し、前記複数の第２処理用データに対して前記データ処理を順次実行して複数の第２処理済みデータを生成し、前記複数の第２処理済みデータを前記出力装置へ順次送信し、
前記出力装置は、前記複数の第１処理済みデータを順次受信する前に、前記複数のデータ処理装置の各々から前記複数の第２処理済みデータを順次受信し、前記入力装置から順次送信される前記複数の第２処理用データの送信間隔、又は前記出力装置が順次受信する前記複数の第２処理済みデータの受信間隔に基づいて、前記複数のデータ要求信号の送信間隔を決定し、
決定された前記送信間隔で、前記複数のデータ要求信号を順次送信する
ことを特徴とする付記１乃至６何れか一つに記載の情報処理システム。
（付記８）
前記複数のデータ処理装置の各々は、前記複数の第１処理用データを順次受信する前に、第３処理用データを前記入力装置から受信し、前記第３処理用データに対して前記データ処理を実行して第３処理済みデータを生成し、前記第３処理済みデータを前記出力装置へ送信し、
前記出力装置は、前記複数の第１処理済みデータを順次受信する前に、前記複数のデータ処理装置の各々から前記第３処理済みデータを受信し、前記複数のデータ処理装置の各々からの前記第３処理済みデータの受信タイミングに基づき、前記第１データ処理速度と前記第２データ処理速度の比較を実行する
ことを特徴とする付記５に記載の情報処理システム。
（付記９）
入力装置と、前記入力装置にそれぞれ接続された複数のデータ処理装置と、前記複数のデータ処理装置の各々に接続された出力装置とを有する情報処理システムを用いたデータ処理方法であって、
前記入力装置が、複数の第１処理用データを前記複数のデータ処理装置の各々へ順次送信し、
前記複数のデータ処理装置の各々が、前記複数の第１処理用データに対するデータ処理を順次実行して複数の第１処理済みデータを生成し、
前記出力装置が、前記複数のデータ処理装置の中から選択された第１データ処理装置に対して複数の第１データ要求信号を順次送信し、
前記第１データ処理装置が、前記複数の第１データ要求信号の各々に基づき、前記複数の第１処理済みデータを前記出力装置に順次送信する
ことを特徴とするデータ処理方法。
（付記１０）
前記複数のデータ処理装置のうち、前記複数の第１データ要求信号を受信しない第２データ処理装置は、前記出力装置に前記複数の第１処理済みデータを送信することなく、前記複数の第１処理済みデータを破棄する
ことを特徴とする付記９に記載のデータ処理方法。
（付記１１）
前記出力装置は、前記複数の第１データ要求信号に含まれる第１信号を前記第１データ処理装置に送信した後、前記第１データ処理装置から前記複数の第１処理済みデータに含まれる第１データが送信されない場合は、第２データ要求信号を前記第２データ処理装置に送信し、
前記第２データ処理装置は、前記第２データ要求信号に基づき、前記複数の第１処理済みデータに含まれる前記第１データを前記出力装置に送信する
ことを特徴とする付記１０に記載のデータ処理方法。
（付記１２）
前記出力装置は、前記第１データ処理装置の故障を検知した場合には、前記複数の第１データ要求信号の送信先を、前記第１データ処理装置から前記第２データ処理装置へ変更する
ことを特徴とする付記１０乃至１１何れか一つに記載のデータ処理方法。
（付記１３）
前記出力装置は、前記第１データ処理装置の第１データ処理速度と、前記第２データ処理装置の第２データ処理速度を比較し、前記第１データ処理速度が前記第２データ処理速度よりも高い場合に、前記複数の第１データ要求信号を前記第１データ処理装置へ送信する
ことを特徴とする付記１０乃至１２何れか一つに記載のデータ処理方法。
（付記１４）
前記出力装置は、前記第１信号に対して前記第１データ処理装置から、第１データとは異なる第２データが送信された場合に、前記第１データを前記第２データ処理装置から取得し、前記第１データ及び前記第２データを順に出力する
ことを特徴とする付記１１に記載のデータ処理方法。
（付記１５）
前記複数のデータ処理装置の各々は、前記複数の第１処理用データを受信する前に、複数の第２処理用データを前記入力装置から順次受信し、前記複数の第２処理用データに対して前記データ処理を順次実行して複数の第２処理済みデータを生成し、前記複数の第２処理済みデータを前記出力装置へ順次送信し、
前記出力装置は、前記複数の第１処理済みデータを順次受信する前に、前記複数のデータ処理装置の各々から前記複数の第２処理済みデータを順次受信し、前記入力装置から順次送信される前記複数の第２処理用データの送信間隔、又は前記出力装置が順次受信する前記複数の第２処理済みデータの受信間隔に基づいて、前記複数のデータ要求信号の送信間隔を決定し、決定された前記送信間隔で、前記複数のデータ要求信号を順次送信する
ことを特徴とする付記９乃至１４何れか一つに記載のデータ処理方法。
（付記１６）
前記複数のデータ処理装置の各々は、前記複数の第１処理用データを順次受信する前に、第３処理用データを前記入力装置から受信し、前記第３処理用データに対して前記データ処理を実行して第３処理済みデータを生成し、前記第３処理済みデータを前記出力装置へ送信し、
前記出力装置は、前記複数の第１処理済みデータを順次受信する前に、前記複数のデータ処理装置の各々から前記第３処理済みデータを受信し、前記複数のデータ処理装置の各々からの前記第３処理済みデータの受信タイミングに基づき、前記第１データ処理速度と前記第２データ処理速度の比較を実行する
ことを特徴とする付記１３に記載のデータ処理方法。
【符号の説明】
【００７７】
１  情報処理システム
１００  入力装置
２００（２００ａ、２００ｂ）  データ処理装置（第１データ処理装置、第２データ処理装置）
３００  出力装置
１１０、２１０、３１０  インターフェースカード
１２０、２２０、３２０  プロセッサ
１３０、２３０、３３０  不揮発性メモリ
１４０、２４０、３４０  揮発性メモ
１２１  センサデータ受信部
１２２  データバッファ部
１２３  処理用データ生成部
１２４  パケット識別子生成部
１２５  時刻情報生成部
１２６  データパケット送信部
２２１  処理用データ受信部
２２２  データ処理部
２２３  データバッファ部
２２４  データ要求信号受信部
２２５  装置識別子生成部
２２６  データパケット送信部
２２７  モード設定部
３２１  処理済みデータ受信部
３２２  データバッファ部
３２３  処理済みデータ送信部
３２４  データ処理装置選択部
３２５  送信間隔決定部
３２６  データ要求信号送信部
３２７  故障検知部
３２８  パケットロス検知部
３２９  モード切り替え指示部
【図１】
2019097037.tif 000003
【図２】
2019097037.tif 000004
【図３】
2019097037.tif 000005
【図４】
2019097037.tif 000006
【図５】
2019097037.tif 000007
【図６】
2019097037.tif 000008
【図７】
2019097037.tif 000009
【図８】
2019097037.tif 000010
【図９】
2019097037.tif 000011
【図１０】
2019097037.tif 000012
【図１１】
2019097037.tif 000013
【図１２】
2019097037.tif 000014
【図１３】
2019097037.tif 000015
【図１４】
2019097037.tif 000016
【図１５】
2019097037.tif 000017
【図１６】
2019097037.tif 000018
【図１７】
2019097037.tif 000019
【図１８】
2019097037.tif 000020
【図１９】
2019097037.tif 000021
【図２０】
2019097037.tif 000022