(57)【特許請求の範囲】
【請求項１】
指定された時間内に処理を行うリアルタイムオペレーティングシステム上で製造装置の稼動に関連する産業データに対して第１データ処理を行う第１処理部を備えるリアルタイム処理部と、
非リアルタイムオペレーティングシステム上で前記産業データに対して第２データ処理を行う第２処理部を備える非リアルタイム処理部と、
を備える情報処理装置であって、
前記非リアルタイム処理部は、前記非リアルタイムオペレーティングシステム上で、前記リアルタイム処理部から送信された第１伝送データを受信して前記第２処理部に出力する複数の第２受信部を備え、
前記リアルタイム処理部は、前記リアルタイムオペレーティングシステム上で、前記第１データ処理後のデータであって、前記第２処理部に送信する前記第１伝送データのデータ量を調整して前記複数の第２受信部に送信する第１送信部を備え、
前記第１送信部は、予め定められた確認周期で、送信先の前記第２受信部ごとに前記第１伝送データの滞留量を確認し、前記第１伝送データが複数ある場合、複数の前記第１伝送データをまとめて送信する一括処理を前記第２受信部ごとに行い、前記第１伝送データが複数ない場合、前記第１伝送データを個別に送信する逐次処理を前記第２受信部ごとに行い、
前記第１送信部は、前記滞留量が第１閾値を超えた場合、前記滞留量が第１閾値を超えた送信先である前記第２受信部に対し、前記第１閾値以内の量の前記第１伝送データをまとめて送信する処理を実行し、
前記第１閾値は、前記第２受信部が前記第１送信部から受信した第１伝送データを１つの前記確認周期の期間中に処理可能なデータ量に基づいて設定されることを特徴とする情報処理装置。
【請求項２】
前記第１送信部は、前記第１伝送データを前回送信してからの経過時間に基づいて、前記一括処理と前記逐次処理とを切り替えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１送信部は、前記第１伝送データが発生したときに、前記経過時間が予め定められた時間を超えている場合、前記逐次処理を行うことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第１送信部は、複数の種類の前記第１伝送データの間で、対応するデータが存在しない場合、欠損データを補う補間処理、前記第１伝送データの破棄、または前記第１伝送データのタイムシフトを行い、前記第１伝送データを対応づけて整列させるデータ整列部を有し、
前記第１送信部は、整列後の前記滞留量に基づいて、前記データ量を調整することを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記リアルタイム処理部は、前記リアルタイムオペレーティングシステム上で前記第１処理部の動作タイミングを制御する第１管理部をさらに備え、
前記非リアルタイム処理部は、前記非リアルタイムオペレーティングシステム上で前記第２処理部の動作タイミングを制御する第２管理部をさらに備える
ことを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記非リアルタイム処理部は、前記非リアルタイムオペレーティングシステム上で前記第２処理部から前記第１処理部に送信する第２伝送データのデータ量を調整する第２送信部を含み、
前記リアルタイム処理部は、前記リアルタイムオペレーティングシステム上で前記第２送信部から前記第２伝送データを受信する第１受信部を含み、
前記第１受信部の数は固定であることを特徴とする請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第１受信部の数は１つであり、
前記第１受信部が受信したデータを複数の前記第１処理部のいずれかに振り分ける受信管理部、
をさらに備えることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
複数の前記第１処理部は、外部装置からデータを収集するデータ収集処理部と、収集したデータを前記第１処理部または前記第２処理部によって加工および診断した後、診断結果を通知する通知処理部と、を含み、
前記リアルタイムオペレーティングシステム上で収集されたデータを前記非リアルタイムオペレーティングシステム上で処理した後、前記通知処理部が前記診断結果を前記外部装置に通知する一連の処理を実行することを特徴とする請求項７に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＯＳ（Operating  System）を備える情報処理装置に関する。
【背景技術】
【０００２】
リアルタイムオペレーティングシステム（以下、リアルタイムＯＳと称する）は、指定された時間内に処理を行うことが可能なＯＳであり、時間制約を保証する必要がある各種の処理を行う場合に主に用いられている。特許文献１には、リアルタイムＯＳを含む複数のＯＳを有するコンピュータシステムが開示されている。１つの情報処理装置にリアルタイムＯＳと非リアルタイムＯＳとを搭載することで、リアルタイム性と汎用性とを兼ね備えることが可能である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２５７６９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に記載の技術を用いて複数のＯＳ間に渡る一連の処理を実行する場合には、処理が開始されるまでの待ち時間、処理にかかる時間などがＯＳごとに異なるため、ＯＳ間でデータの滞留、データの入力待ちなどが発生してシステム全体の処理効率が低下してしまうという問題があった。【０００５】
本発明は、上記に鑑みてなされたものであって、ＯＳ間のデータ送信を効率的に行うことで、複数のＯＳ間に渡る一連の処理の処理効率を向上させることが可能な情報処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明にかかる情報処理装置は、指定された時間内に処理を行うリアルタイムオペレーティングシステム上で製造装置の稼動に関連する産業データに対して第１データ処理を行う第１処理部を備えるリアルタイム処理部と、非リアルタイムオペレーティングシステム上で前記産業データに対して第２データ処理を行う第２処理部を備える非リアルタイム処理部とを備える情報処理装置であって、前記非リアルタイム処理部は、前記非リアルタイムオペレーティングシステム上で、前記リアルタイム処理部から送信された第１伝送データを受信して前記第２処理部に出力する複数の第２受信部を備え、前記リアルタイム処理部は、前記リアルタイムオペレーティングシステム上で、前記第１データ処理後のデータであって、前記第２処理部に送信する前記第１伝送データのデータ量を調整して前記複数の第２受信部に送信する第１送信部を備え、前記第１送信部は、予め定められた確認周期で、送信先の前記第２受信部ごとに前記第１伝送データの滞留量を確認し、前記第１伝送データが複数ある場合、複数の前記第１伝送データをまとめて送信する一括処理を前記第２受信部ごとに行い、前記第１伝送データが複数ない場合、前記第１伝送データを個別に送信する逐次処理を前記第２受信部ごとに行い、前記第１送信部は、前記滞留量が第１閾値を超えた場合、前記滞留量が第１閾値を超えた送信先である前記第２受信部に対し、前記第１閾値以内の量の前記第１伝送データをまとめて送信する処理を実行し、前記第１閾値は、前記第２受信部が前記第１送信部から受信した第１伝送データを１つの前記確認周期の期間中に処理可能なデータ量に基づいて設定されることを特徴とする。
【発明の効果】
【０００７】
本発明にかかる情報処理装置は、複数のＯＳ間に渡る一連の処理の処理効率を向上させることができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態にかかる情報処理装置の機能構成を示す図
【図２】図１に示す第１送信部および第２送信部の詳細な構成を示す図
【図３】図２に示すデータ整列部が行う整列処理の第１の例を示す図
【図４】図２に示すデータ整列部が行う整列処理の第２の例を示す図
【図５】図２に示すデータ整列部が行う整列処理の第３の例を示す図
【図６】図２に示す送信処理部の動作の第１の例を示すフローチャート
【図７】図２に示す送信処理部の動作の第２の例を示すフローチャート
【図８】図２に示す送信処理部の動作の第３の例を示すフローチャート
【図９】図１に示す情報処理装置のハードウェア構成を示す図
【発明を実施するための形態】
【０００９】
以下に、本発明の実施の形態にかかる情報処理装置を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１０】
実施の形態．
図１は、本発明の実施の形態にかかる情報処理装置１の機能構成を示す図である。情報処理装置１は、生産現場における製造装置の稼働に関連する産業データを処理するデータ処理装置である。産業データは、生産現場で生成されるあらゆるデータであり、生産設備の各部の温度、電圧、電流、生産設備の複数の部位の間の距離、生産設備に備わる駆動部を動かす速度、生産設備の稼働時間、生産設備のエラー回数など生産設備の状態を示すデータ、生産設備の稼働準備作業を行う作業員の状態、人数などを示すデータ、生産予定数量をはじめとした生産計画を示すデータである。また、本実施の形態でいう産業とは、工業、農業、水産業等広義の意味での産業をいう。また、産業データは、産業において扱われるデータであるが、工業分野においては、例えば、工場、インフラ管理、倉庫、ビル、オフィス、家庭で扱われるデータをいう。また、これに伴い生産現場とは、各産業における装置が設置された現場をいい、工場の生産現場に限定されるものではない。
【００１１】
情報処理装置１は、産業データの収集、加工、診断、通知などのデータ処理を行う。情報処理装置１は、リアルタイムＯＳと非リアルタイムＯＳとを有している。情報処理装置１は、リアルタイムＯＳと非リアルタイムＯＳとに渡る一連の処理を行う機能を有しており、リアルタイムＯＳと非リアルタイムＯＳとの間でデータの送受信が発生する。
【００１２】
ここで、リアルタイムＯＳは、指定された処理時間内にデータを処理することが可能であり、優先的に処理する必要がある処理を行うために主に用いられる。非リアルタイムＯＳは、リアルタイムＯＳのように処理時間を指定することができない。このため、処理を開始するまでの待ち時間が発生することがある。しかしながら、拡張性に優れており、非リアルタイムＯＳ上で動作可能な様々なアプリケーションソフトウェアが既に存在しているため、これらの既存のアプリケーションソフトウェアを利用して、情報処理装置１が実行する機能の開発の手間を低減することができる。また、非リアルタイムＯＳは、複雑な解析処理などを行うために主に用いられる。
【００１３】
リアルタイムＯＳと非リアルタイムＯＳとに渡る一連の処理を行う場合には、処理を開始するまでの待ち時間、処理時間などがＯＳごとに異なることがある。この場合、ＯＳ間で伝送される伝送データは、受信側で処理を開始することができずに滞留したり、受信側で処理を開始することができる状態であるにも関わらずデータが伝送されずに待ち時間が生じたりすることがある。また、複数の入力データを必要とする処理では、一部のデータが伝送されないと待ち時間が生じたり、処理を実行することができずにデータが破棄されることもある。このため、情報処理装置１は、リアルタイムＯＳと非リアルタイムＯＳとに渡る一連の処理を効率的に行うために伝送データを送信するタイミングを調整したり、伝送データ自体を調整したりして後段の処理を効率化する機能を有している。
【００１４】
情報処理装置１は、リアルタイムＯＳ上で動作するリアルタイム処理部１０と、非リアルタイムＯＳ上で動作する非リアルタイム処理部２０とを有する。リアルタイム処理部１０は、第１処理部１１−１および第１処理部１１−２と、第１ＯＳ内通信部１２と、第１管理部１３と、第１送信部１４と、第１受信部１５と、受信管理部１６とを有する。非リアルタイム処理部２０は、第２処理部２１−１および第２処理部２１−２と、第２ＯＳ内通信部２２と、第２管理部２３と、第２送信部２４と、第２受信部２５−１および第２受信部２５−２とを有する。
【００１５】
なお、以下の説明中において、第１処理部１１−１および第１処理部１１−２のそれぞれを特に区別する必要がない場合、まとめて第１処理部１１と称する。同様に、第２処理部２１−１および第２処理部２１−２のそれぞれを特に区別する必要がない場合、まとめて第２処理部２１と称し、第２受信部２５−１および第２受信部２５−２のそれぞれを特に区別する必要がない場合、まとめて第２受信部２５と称する。
【００１６】
リアルタイム処理部１０は、２つの第１処理部１１を有している。リアルタイム処理部１０が有する第１処理部１１の数は図１の例に限られず、１つであってもよいし、３つ以上であってもよい。第１処理部１１のそれぞれは、リアルタイムＯＳ上で、入力されたデータのデータ処理を実行する機能部である。第１処理部１１は、例えば、図示しない外部装置から処理対象の産業データを収集する機能を有する。また、第１処理部１１は、収集されたデータの加工、分析、診断などを行ってもよい。第１処理部１１が行う加工処理としては、収集されたデータのスケーリング処理、端数処理などが挙げられる。第１処理部１１のそれぞれは、リアルタイムＯＳ上でそれぞれが独立して動作するアプリケーションソフトウェアにより実現される。第１ＯＳ内通信部１２は、複数の第１処理部１１の間の通信を中継する。これにより、第１処理部１１−１の出力データは、第１処理部１１−２の入力データとなる。
【００１７】
第１管理部１３は、第１処理部１１および第１ＯＳ内通信部１２を制御しており、複数の第１処理部１１の実行順と動作タイミングとを管理している。第１送信部１４は、リアルタイムＯＳから非リアルタイムＯＳへの伝送データを送信する送信部である。第１送信部１４は、第１処理部１１から入力された伝送データを複数の第２受信部２５のいずれかに送信する。第１送信部１４は、伝送データを一時的に記憶しておくバッファ領域を有しており、バッファ領域に記憶された伝送データのデータ量である滞留量に基づいて、伝送データを一度に送信する量、および伝送データを送信するタイミングを調整する。第１送信部１４は、伝送データに付加されている宛先情報に基づいて、伝送データの送信先の第２受信部２５ごとに伝送データの滞留量を確認し、リアルタイム処理部１０から非リアルタイム処理部２０に送信するデータ量を調整する。第１送信部１４の詳細な構成については後述される。
【００１８】
なお、上記において滞留量はバッファ領域に記憶された伝送データ量としているが、本発明はこれに限らない。滞留量は、バッファ領域に記憶された伝送データ量に直接的に基づくことなく、第１処理部１１で処理されたデータ量、第１処理部でデータ処理する時間帯など、例えば生産設備の一日の生産計画（生産設備の稼働状況）を用いて類推される量としてもよい。また、上記において滞留量を確認するためのバッファ領域を第１送信部１４に設けているが、本発明の効果を奏することができれば、第１送信部１４に設けていなくても良い。また、滞留量の他の実施の形態、およびバッファ領域の他の実施の形態については非リアルタイム処理部２０においても同様である。
【００１９】
第１受信部１５は、ＯＳ間で伝送データを受信する機能を有する。第１受信部１５は、例えば非リアルタイム処理部２０から書き込み可能なデータ受信用の記憶領域を用いて、第２送信部２４から送信された伝送データを受信することができる。第１受信部１５の個数は固定であり、リアルタイム処理部１０の起動中に増減することはない。このため、データ受信用の記憶領域などのリソースを確保しておくことができる。リアルタイムＯＳ上では、記憶領域などのリソースの使用量の増減が大きくなると、指定された処理時間を保証することが困難となるため望ましくない。第１受信部１５の個数を固定しておくことで、動作の安定性が向上する。本実施の形態ではリアルタイム処理部１０は１つの第１受信部１５を有し、第１受信部１５は、受信した伝送データを受信管理部１６に入力する。受信管理部１６は、受信した伝送データに付加されている宛先情報に基づいて、複数の第１処理部１１のいずれかに振り分ける機能を有する。
【００２０】
非リアルタイム処理部２０は、２つの第２処理部２１を有している。非リアルタイム処理部２０が有する第２処理部２１の数は、図１に示す例に限られず、１つであってもよいし、３つ以上であってもよい。第２処理部２１のそれぞれは、非リアルタイムＯＳ上で入力されたデータのデータ処理を実行する機能部である。第２処理部２１のそれぞれは、例えば、入力されたデータの加工処理および診断処理のうち少なくとも１つの処理を行う。第２処理部２１は、第１処理部１１で行うデータ処理よりも複雑な処理であって、リアルタイム性を要求されない処理を行うことが望ましい。第２処理部２１が行う処理としては、ノイズ処理、可変量解析、ＦＦＴ（Fast  Fourier  Transform）処理、ディープラーニングを用いたデータ処理などが挙げられる。また第２処理部２１のそれぞれの機能は、非リアルタイムＯＳ上で動作するアプリケーションソフトウェアにより実現される。非リアルタイムＯＳは、汎用性に優れるため、他から流用して様々なアプリケーションソフトウェアを非リアルタイムＯＳ上で動作させることができる。
【００２１】
第２ＯＳ内通信部２２は、複数の第２処理部２１の間の通信を中継する。第２ＯＳ内通信部２２は、例えば第２処理部２１−１から第２処理部２１−２への通信を中継する。これにより、第２処理部２１−１の出力データは、第２処理部２１−２の入力データになる。第２管理部２３は、第２処理部２１および第２ＯＳ内通信部２２を制御しており、複数の第２処理部２１の実行順と動作タイミングとを管理している。
【００２２】
第２送信部２４は、非リアルタイムＯＳからリアルタイムＯＳへの伝送データを送信する送信部である。第２送信部２４は、第２処理部２１から入力された伝送データを第１受信部１５に送信する。第２送信部２４は、伝送データを一時的に記憶しておくバッファ領域を有しており、バッファ領域に記憶された伝送データのデータ量である滞留量に基づいて、データを一度に送信する量、およびデータを送信するタイミングを調整し、ＯＳ間の伝送データを効率的に伝送する機能を有している。第２送信部２４は、非リアルタイム処理部２０からリアルタイム処理部１０に、一度に送信する伝送データのデータ量を調整する。なお、本実施の形態では、第２送信部２４が伝送データを送信する送信先である第１受信部１５は１つであるため、第２送信部２４は全ての伝送データを第１受信部１５に送信するが、第１受信部１５が複数存在する場合、第２送信部２４は、伝送データに付加されている宛先情報に基づいて、伝送データの送信先の第１受信部１５ごとにバッファ領域内の伝送データの滞留量を確認し、送信するデータ量を調整する。
【００２３】
非リアルタイム処理部２０は、複数の第２受信部２５を有している。第２受信部２５は、リアルタイム処理部１０から送信された伝送データを受信する受信部である。図１に示す例では、第２受信部２５の数は、第２処理部２１の数と同じであり、第２処理部２１のそれぞれに対応して第２受信部２５が設けられている。しかしながら、第２受信部２５の数は図１に示す例に限定されず、１つであってもよいし、複数であってもよい。また、第２受信部２５の数は、第２処理部２１の数と同じでなくてもよい。第２受信部２５は、例えば、リアルタイム処理部１０から書き込み可能な記憶領域を用いて、ＯＳ間の伝送データを受信することができる。第２受信部２５の個数は、情報処理装置１が起動している間に変化してもよい。
【００２４】
非リアルタイム処理部２０は、リアルタイム処理部１０のように処理時間を指定した処理が行われないため、第２処理部２１の機能を実現するためのアプリケーションソフトウェアが、第２処理部２１に入力するデータを受信するための第２受信部２５を生成する機能を有しており、第２処理部２１を起動するたびに、起動した第２処理部２１と対応する第２受信部２５が生成されてもよい。
【００２５】
図２は、図１に示す第１送信部１４および第２送信部２４の詳細な構成を示す図である。第１送信部１４は、データ整列部３１と、送信処理部３２とを有し、第２送信部２４は第１送信部１４と同様に構成されている。
【００２６】
データ整列部３１は、入力された複数の種類の伝送データの間で、対応するデータが存在しない場合、伝送データを整列させる。伝送データの種類は、温度データ、速度データなどデータの属性により異なる。対応するデータとは、後段の第２処理部２１が１つのレコードとして取り扱うデータであって、例えば、データが発生した時刻またはデータ整列部３１に入力された時刻が同一のデータである。時刻が同一のデータとは、一定範囲内の時刻を含み、一定範囲とは事前にまたは事後的に設定された範囲である。データ整列部３１は、入力された伝送データにタイムスタンプなどの時間情報が付加されている場合、タイムスタンプに基づいて対応するデータを判断することができる。或いは、データ整列部３１に入力された時刻が用いられる場合、データ整列部３１は、時間情報を用いなくても、同時に入力されるデータが欠けていれば、対応するデータが存在しないと判断することもできる。データ整列部３１が伝送データを整列させる方法は、例えば、欠損データを補う補間処理、伝送データの破棄、伝送データのタイムシフトなどである。
【００２７】
図３は、図２に示すデータ整列部３１が行う整列処理の第１の例を示す図である。第１の例は、欠損データを補間処理によって補う処理である。データ整列部３１は、複数の種類の伝送データの間で、対応する伝送データが存在しない場合、欠損データを補う補間処理を行うことにより、伝送データを整列させることができる。図３の破線の矩形は、補間により補われたデータを示している。補間処理は、例えば欠損データよりも過去の伝送データをコピーして、コピーした伝送データを欠損部分に補充する処理である。或いは補間処理は、欠損データよりも過去の伝送データと、欠損データよりも後の時刻に生成されたデータとを用いて欠損データを予測して生成する０次補間、１次補間などを用いて行われてもよい。０次補間、１次補間などは、欠損データよりも後の時刻に生成されたデータを用いる必要があるため、処理時間が長くなる。このため、リアルタイム性を重視するストリーミング処理を行いたい場合には、過去の伝送データをコピーする方法を用いることが望ましい。
【００２８】
図４は、図２に示すデータ整列部３１が行う整列処理の第２の例を示す図である。第２の例は、伝送データを破棄することにより、対応する伝送データが存在するデータのみを残す処理である。例えばデータの収集処理を行う第１処理部１１がデータの収集に失敗した場合には、収集に失敗したタイミングで一部の種類の伝送データが欠損する場合がある。データ整列部３１は、複数の種類の伝送データの間で、対応する伝送データが存在しない場合、伝送データを破棄して、対応づけられた伝送データを残す処理を行うことにより、伝送データを整列させることができる。図４中の矩形の破線は、破棄したデータを示している。
【００２９】
図５は、図２に示すデータ整列部３１が行う整列処理の第３の例を示す図である。第３の例は、タイムシフトにより伝送データを対応付ける処理である。データ整列部３１は、複数の種類の伝送データの間で、対応する伝送データが存在しない場合、伝送データが発生した時刻またはデータ整列部３１に入力された時刻を見かけ上ずらすタイムシフトを行い、伝送データを対応付けることにより、伝送データを整列させることができる。なお、図５の例では、タイムシフトと合わせて、伝送データの破棄が行われている。
【００３０】
伝送データを補間する場合、伝送データが減らないという利点があるが、データ量が増えるため、ＯＳ間の通信量が増えてしまう。伝送データを破棄する場合、データ量が減るため、ＯＳ間の通信量を減らすことができるという利点があるが、対応づいた伝送データがない場合、データが全く送信されない場合がある。また、伝送データが対応づく周期が長い場合、伝送データのデータ量が大きく減少してしまう場合がある。データ整列部３１は、それぞれの方法の特徴を考慮して、いずれかの方法を用いてもよいし、伝送データの補間、破棄、タイムシフトを組み合わせて用いてもよい。例えば、データ整列部３１は、図５に示したようにタイムシフトと破棄とを組み合わせて用いてもよいし、破棄と補間とを組み合わせてもよい。複数の方法を組み合わせて用いることで、それぞれの方法の欠点を補うことができる場合がある。
【００３１】
送信処理部３２は、データ整列部３１が整列させた伝送データの滞留量に基づいて、一度に送信する伝送データのデータ量を調整する。具体的には、送信処理部３２は、滞留量に基づいて、複数の伝送データをまとめて送信する一括処理と、伝送データのそれぞれを個別に送信する逐次処理とを切り替える。送信処理部３２が一括処理と逐次処理とを切り替える方法の詳細については、以下に３つの例を用いて説明する。
【００３２】
図６は、図２に示す送信処理部３２の動作の第１の例を示すフローチャートである。送信処理部３２は、情報処理装置１が備えるタイマなどを用いて、前回滞留量が確認された時点からの経過時間である第１の経過時間を計測する機能を有している。そして送信処理部３２は、送信処理部３２が伝送データの滞留量を確認する周期であり、予め定められた確認周期が経過したか否かを、第１の経過時間を用いて判断する（ステップＳ１１）。確認周期が経過していない場合、つまり第１の経過時間が確認周期よりも短い場合（ステップＳ１１：Ｎｏ）、送信処理部３２は、確認周期が経過するまでステップＳ１１の処理を繰り返す。確認周期が経過した場合、つまり第１の経過時間が確認周期以上となった場合（ステップＳ１１：Ｙｅｓ）、送信処理部３２は、データの送信先ごとに伝送データの滞留量を確認する（ステップＳ１２）。
【００３３】
送信処理部３２は、確認した滞留量に基づいて、滞留している伝送データの中に複数のデータがあるか否かを判断する（ステップＳ１３）。送信処理部３２は、伝送データの種類を問わず、データの個数に基づいて、複数のデータがあるか否かを判断する。複数のデータがある場合（ステップＳ１３：Ｙｅｓ）、送信処理部３２は、一括処理を行う（ステップＳ１４）。複数のデータがない場合（ステップＳ１３：Ｎｏ）、送信処理部３２は、逐次処理を行う(ステップＳ１５)。具体的には、一括処理を行う場合、送信処理部３２は、滞留している複数の伝送データをまとめて、まとめられた伝送データに含まれている伝送データの個数を示す情報を含むヘッダを伝送データに付加する。これにより、受信側ではまとめられた伝送データの個数を把握することができるとともに、まとめられた複数の伝送データの受信処理を１回で済ませることが可能になる。逐次処理を行う場合、送信処理部３２は、滞留している伝送データのそれぞれにヘッダを付加する。その後、送信処理部３２は、一括処理後のデータまたは逐次処理後のデータを非リアルタイム処理部２０の第２受信部２５に送信する（ステップＳ１６）。送信処理部３２は、ステップＳ１１の処理に戻る。なお、送信処理部３２は、図３等に示すデータ結合した複数の伝送データをまとめているが、本発明はこれに限らず、データ結合した複数の伝送データ単位で伝送データを纏めるようにしても良い。
【００３４】
上記の動作により、送信処理部３２は、予め定められた時間間隔で伝送データの滞留量を確認し、確認した滞留量に基づいて、複数の伝送データをまとめて送信する一括処理と、伝送データのそれぞれを個別に送信する逐次処理とを切り替えることになる。
【００３５】
例えば、図３の例では、時刻ｔ１および時刻ｔ２において、確認周期が経過するものとする。この場合、一点鎖線で示す枠内のデータが結合されて、一括処理される。なお、送信処理部３２は、データの送信先ごとにデータを結合するため、図３に示すデータ＃１とデータ＃２の送信先が異なる場合、データ＃１とデータ＃２とはそれぞれ別に結合される。また図４の例では、データ＃１の送信先とデータ＃２の送信先とが異なる場合、時刻ｔ１および時刻ｔ２において、データ＃１とデータ＃２とはそれぞれ１つずつしか滞留していないため、送信処理部３２は、逐次処理を行う。
【００３６】
なお、送信処理部３２は、予め定められた時間間隔で伝送データの滞留量を確認して一括処理と逐次処理とを切り替えているが、本実施の形態はこれに限らず、常にバッファ領域の伝送データの滞留量を確認しておき、バッファ領域に伝送データが滞留した場合に、一括処理をし、それ以外は逐次処理をするようにしても良い。
【００３７】
図７は、図２に示す送信処理部３２の動作の第２の例を示すフローチャートである。送信処理部３２は、伝送データの滞留量が予め定められた閾値を超えたか否かを判断する(ステップＳ２１)。送信処理部３２が滞留量に対して用いる閾値は、例えば、第２受信部２５が第１送信部１４から受信した伝送データを１つの確認周期の期間中に処理可能なデータ量とすることができる。伝送データの滞留量が閾値を超えた場合（ステップＳ２１：Ｙｅｓ）、送信処理部３２は、滞留している伝送データのうち、閾値以内の量の伝送データを一括処理する（ステップＳ２２）。伝送データの滞留量が閾値を超えていない場合（ステップＳ２１：Ｎｏ）、送信処理部３２は、確認周期が経過したか否かを判断する（ステップＳ２３）。確認周期が経過していない場合（ステップＳ２３：Ｎｏ）、送信処理部３２は、ステップＳ２１の処理に戻る。確認周期が経過した場合（ステップＳ２３：Ｙｅｓ）、送信処理部３２は、データの送信先ごとに伝送データの滞留量を確認する（ステップＳ２４）。
【００３８】
送信処理部３２は、確認した滞留量に基づいて、滞留している伝送データの中に複数のデータがあるか否かを判断する（ステップＳ２５）。複数のデータがある場合（ステップＳ２５：Ｙｅｓ）、送信処理部３２は、一括処理を行う（ステップＳ２２）。複数のデータがない場合（ステップＳ２５：Ｎｏ）、送信処理部３２は、逐次処理を行う（ステップＳ２６）。送信処理部３２は、一括処理後のデータまたは逐次処理後のデータを送信する（ステップＳ２７）。送信処理部３２は、ステップＳ２１に戻って伝送データの滞留量が予め定められた閾値を超えたか否かを判断する。
【００３９】
上記の動作により、伝送データの滞留量が予め定められた閾値を超えた場合、閾値以内の量の伝送データは一括処理されて、閾値を超えた伝送データは、閾値以内の量の伝送データとは別に一括処理または逐次処理される。これにより、第１処理部１１と第２処理部２１との間でＯＳを跨いで一度に送信される伝送データのデータ量は、伝送データの滞留量に基づいて調整される。
【００４０】
図８は、図２に示す送信処理部３２の動作の第３の例を示すフローチャートである。送信処理部３２は、前回伝送データを送信してからの経過時間である第２の経過時間を計測する機能を有しており、まず初めに第２の経過時間をリセットする（ステップＳ３１）。送信処理部３２は、情報処理装置１が有するタイマなどを用いて、第１の経過時間とは別に第２の経過時間を計測する。送信処理部３２は、データ整列部３１からデータを受信したか否かを判断する（ステップＳ３２）。
【００４１】
データを受信していない場合（ステップＳ３２：Ｎｏ）、送信処理部３２は、ステップＳ３２の処理を繰り返す。データを受信した場合（ステップＳ３２：Ｙｅｓ）、送信処理部３２は、計測している第２の経過時間が予め定められた閾値を超えたか否かを判断する（ステップＳ３３）。第２の経過時間が閾値を超えた場合（ステップＳ３３：Ｙｅｓ）、送信処理部３２は、逐次処理を行う（ステップＳ３４）。第２の経過時間が閾値を超えていない場合（ステップＳ３３：Ｎｏ）、送信処理部３２は、第１の経過時間に基づいて、確認周期が経過したか否かを判断する（ステップＳ３５）。確認周期が経過していない場合（ステップＳ３５：Ｎｏ）、送信処理部３２は、ステップＳ３２の処理に戻る。確認周期が経過した場合（ステップＳ３５：Ｙｅｓ）、送信処理部３２は、データの送信先ごとに伝送データの滞留量を確認する（ステップＳ３６）。
【００４２】
送信処理部３２は、確認した滞留量に基づいて、複数のデータがあるか否かを判断する（ステップＳ３７）。複数のデータがある場合（ステップＳ３７：Ｙｅｓ）、送信処理部３２は、一括処理を行う（ステップＳ３８）。複数のデータがない場合（ステップＳ３７：Ｎｏ）、送信処理部３２は、逐次処理を行う（ステップＳ３４）。送信処理部３２は、一括処理後のデータまたは逐次処理後のデータを送信する（ステップＳ３９）。送信処理部３２は、ステップＳ３１の処理に戻る。
【００４３】
上記の動作により、送信処理部３２は、第２の経過時間に基づいて、一括処理と逐次処理とを切り替えることになる。具体的には、送信処理部３２は、伝送データが発生したときに、第２の経過時間が予め定められた閾値となる時間を超えている場合、逐次処理を行う。
【００４４】
なお、上記で図６から図８を用いて説明した送信処理部３２の動作の３つの例は、組み合わせて用いることができる。例えば、図７に示した、伝送データの滞留量が閾値を超えた場合に一括処理を行う動作と、第２の経過時間が閾値を超えた場合に逐次処理を行う動作とを組み合わせて用いてもよい。
【００４５】
図９は、図１に示す情報処理装置１のハードウェア構成を示す図である。情報処理装置１の機能は、プロセッサ４１と、メモリ４２と、通信装置４３とを用いて実現することができる。
【００４６】
プロセッサ４１は、ＣＰＵ（Central  Processing  Unit）であり、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、ＤＳＰ（Digital  Signal  Processor）などとも呼ばれる。メモリ４２は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリー、ＥＰＲＯＭ（Erasable  Programmable  ＲＯＭ）、ＥＥＰＲＯＭ（Electrically  ＥＰＲＯＭ）などの不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ（Digital  Versatile  Disk）などである。通信装置４３は、外部装置との通信インタフェースであり、有線の通信インタフェースであってもよいし、無線の通信インタフェースであってもよい。
【００４７】
情報処理装置１が有する第１処理部１１、第１ＯＳ内通信部１２、第１管理部１３、第１送信部１４、第１受信部１５および受信管理部１６のそれぞれの機能は、プロセッサ４１がメモリ４２に記憶されたコンピュータプログラムをリアルタイムＯＳ上で実行することにより、実現することができる。プロセッサ４１は、プログラムの実行中に通信装置４３を用いることで、外部装置と通信することができる。情報処理装置１が有する第２処理部２１、第２ＯＳ内通信部２２、第２管理部２３、第２送信部２４、第２受信部２５のそれぞれの機能は、プロセッサ４１がメモリ４２に記憶されたコンピュータプログラムを非リアルタイムＯＳ上で実行することにより、実現することができる。
【００４８】
情報処理装置１のハードウェア構成については、特定の実施の形態に限定されることはない。例えば、情報処理装置１は、複数のプロセッサ４１を有していてもよいし、マルチコアの単一のプロセッサ４１を有していてもよい。或いは、シングルコアの単一のプロセッサ４１において、時分割でリアルタイムＯＳと非リアルタイムＯＳとを動作させてもよい。
【００４９】
以上説明したように、本発明の実施の形態によれば、情報処理装置１は、リアルタイムＯＳ上でデータを処理する第１処理部１１と、非リアルタイムＯＳ上でデータを処理する第２処理部２１との間で一度に送信する伝送データのデータ量を、伝送データの滞留量に基づいて調整することができる。このため、ＯＳ間のデータ転送を効率化することができ、ＯＳ間の処理速度の差を低減することが可能になる。したがって、ＯＳ間の処理の遅滞を低減して、情報処理装置１の全体としての処理をリアルタイムに行うことが可能になる。
【００５０】
また、情報処理装置１は、ＯＳごとに、アプリケーションソフトウェアの動作タイミングを管理する第１管理部１３および第２管理部２３を有する。この構成により、一方のＯＳが停止したとしても、他方のＯＳは動作し続けることが可能になる。また、第１管理部１３と第２管理部２３とが連携することにより、情報処理装置１の起動やシャットダウンの同期をとることが可能になり、ＯＳ停止などのトラブル発生時の再起動の同期をとることも可能になる。したがって、システム全体としての一貫した動作を保証することが可能になる。
【００５１】
また、情報処理装置１は、産業データの収集、加工、分析、診断といった一連の処理を、ＯＳ間に渡って実現することが可能である。このため、リアルタイム性が重視される処理、例えばデータの収集をリアルタイムＯＳ上で行い、より複雑な分析処理、既存のアプリケーションソフトウェアが存在する処理などを非リアルタイムＯＳ上で行うことにより、リアルタイム性と汎用性を兼ね備えたシステムを実現することができる。
【００５２】
また、情報処理装置１は、リアルタイムＯＳと非リアルタイムＯＳとを有するため、リアルタイム性と汎用性を兼ね備えることができる。このため、リアルタイムにデータを処理することが可能であると共に、既存のアプリケーションソフトウェアを情報処理装置１上で動作させたり、情報処理装置１の外部装置上で動作しているアプリケーションソフトウェアに一部の処理を実行させて、外部装置との連携処理を行うことが可能である。
【００５３】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【００５４】
例えば、上記の実施の形態ではＯＳ間で通信を行う第１送信部１４および第２送信部２４がデータ整列部３１の機能を有することとしたが、本発明はかかる例に限定されない。第１ＯＳ内通信部１２および第２ＯＳ内通信部２２もデータ整列部３１の機能を備えていてもよい。
【符号の説明】
【００５５】
１  情報処理装置、１０  リアルタイム処理部、１１，１１−１，１１−２  第１処理部、１２  第１ＯＳ内通信部、１３  第１管理部、１４  第１送信部、１５  第１受信部、１６  受信管理部、２０  非リアルタイム処理部、２１，２１−１，２１−２  第２処理部、２２  第２ＯＳ内通信部、２３  第２管理部、２４  第２送信部、２５，２５−１，２５−２  第２受信部、３１  データ整列部、３２  送信処理部、４１  プロセッサ、４２  メモリ、４３  通信装置。
【要約】
情報処理装置（１）は、指定された時間内に処理を行うリアルタイムオペレーティングシステム上でデータを処理する第１処理部（１１）と、非リアルタイムオペレーティングシステム上でデータを処理する第２処理部（２１）と、第１処理部（１１）と第２処理部（２１）との間で伝送される伝送データの滞留量に基づいて、一度に伝送する伝送データのデータ量を調整して伝送データを送信する送信部（１４，２４）と、を備えることを特徴とする。【図１】
0006496456.tif 000002
【図２】
0006496456.tif 000003
【図３】
0006496456.tif 000004
【図４】
0006496456.tif 000005
【図５】
0006496456.tif 000006
【図６】
0006496456.tif 000007
【図７】
0006496456.tif 000008
【図８】
0006496456.tif 000009
【図９】
0006496456.tif 000010