(57)【特許請求の範囲】
【請求項１】
送信側としての第１の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第２の系に伝達する可能性のある情報としての特定情報を、前記第１の系側で時間を置いて第１の周期で繰り返し入力する特定情報入力手段と、
この特定情報入力手段が前記特定情報を入力するたびにその内容が変化する情報としての変化情報を前記特定情報の入力のタイミングで前記第１の系側で入力する変化情報入力手段と、
前記第１の系と第２の系が共通してアクセスすることのできる共有メモリと、
前記第１の系側で前記特定情報入力手段の入力した前記特定情報を前記共有メモリに１回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する特定情報分割手段と、
前記変化情報入力手段の入力した前記変化情報を１回書き込み、続いて前記変化情報入力手段によって分割した前記複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記変化情報と同一内容の変化情報を更に１回書き込んで、前記共有メモリに対する１セット分の書き込みを終了する共有メモリ書込手段と、
前記第２の系側に配置され、前記第１の周期よりも短い任意の第２の周期で前記共有メモリから前記変化情報および前記複数の分割後特定情報のうちの最新のものを１セット分読み出す共有メモリ読出手段と、
前記第２の系側に配置され、この共有メモリ読出手段によって読み出した前記変化情報の対の内容についてそれらの一致の有無を判別する変化情報一致有無判別手段と、
前記第２の系側に配置され、この変化情報一致有無判別手段によって前記変化情報の対の内容が一致していると判別したとき前記１セットを構成する残りの情報としての前記複数の分割後特定情報を前記予め定めた順番に沿って組み立てて前記特定情報を再生する特定情報再生手段
とを具備することを特徴とする情報伝達システム。
【請求項２】
前記第２の系側に配置され、前記変化情報一致有無判別手段によって前記変化情報の対の内容が一致していないと判別したとき、一致すると判別するまで前記共有メモリ読出手段によって前記変化情報および前記複数の分割後特定情報のうちの最新のものを１セット分読み出す操作を繰り返す読出反復手段を具備することを特徴とする請求項１記載の情報伝達システム。
【請求項３】
前記第１の系はマルチコアプロセッサを使用した装置におけるＯＳ有り環境の系であり、前記第２の系はＯＳが無いベアメタル環境の系であって、前記特定情報は第１の系に配置された時計が出力する時刻情報であることを特徴とする請求項１または請求項２記載の情報伝達システム。
【請求項４】
前記ＯＳ有り環境のそのＯＳが時刻情報をタイマ割り込みを最短周期としてのティック単位で管理することを特徴とする請求項３記載の情報伝達システム。
【請求項５】
前記変化情報は、前記第１の系に配置されカウント値を時間の経過と共に変化して出力するカウンタであることを特徴とする請求項１記載の情報伝達システム。
【請求項６】
前記特定情報分割手段は、前記特定情報を構成する前記時刻情報を２つの分割後特定情報に分割することを特徴とする請求項３記載の情報伝達システム。
【請求項７】
前記第１の系に配置された前記時計は、ＮＴＰ（Network Time Protocol）サーバと通信を行うＮＴＰクライアントによって前記時刻情報を補正されることを特徴とする請求項３記載の情報伝達システム。
【請求項８】
送信側としての第１の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第２の系に伝達する可能性のある情報としての特定情報を、前記第１の系側で時間を置いて第１の周期で繰り返し入力する特定情報入力ステップと、
この特定情報入力ステップで前記特定情報を入力するたびにその内容が変化する情報としての変化情報を前記特定情報の入力のタイミングで前記第１の系側で入力する変化情報入力ステップと、
前記第１の系側で前記特定情報入力ステップで入力した前記特定情報を前記第１の系と第２の系が共通してアクセスすることのできるメモリとしての共有メモリに１回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する特定情報分割ステップと、
前記変化情報入力ステップで入力した前記変化情報を１回書き込み、続いて前記変化情報入力ステップによって分割した前記複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記変化情報と同一内容の変化情報を更に１回書き込んで、前記共有メモリに対する１セット分の書き込みを終了する共有メモリ書込ステップと、
前記第２の系側に配置され、前記第１の周期よりも短い任意の第２の周期で前記共有メモリから前記変化情報および前記複数の分割後特定情報のうちの最新のものを１セット分読み出す共有メモリ読出ステップと、
前記第２の系側に配置され、この共有メモリ読出ステップによって読み出した前記変化情報の対の内容についてそれらの一致の有無を判別する変化情報一致有無判別ステップと、
前記第２の系側に配置され、この変化情報一致有無判別ステップによって前記変化情報の対の内容が一致していると判別したとき前記１セットを構成する残りの情報としての前記複数の分割後特定情報を前記予め定めた順番に沿って組み立てて前記特定情報を再生する特定情報再生ステップ
とを具備することを特徴とする情報伝達方法。
【請求項９】
前記第２の系側に配置され、前記変化情報一致有無判別ステップによって前記変化情報の対の内容が一致していないと判別したとき、一致すると判別するまで前記共有メモリ読出ステップを用いて、前記変化情報および前記複数の分割後特定情報のうちの最新のものを１セット分読み出す操作を繰り返す読出反復ステップを具備することを特徴とする請求項８記載の情報伝達方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一方の系あるいは装置から他方の系または装置がその時点についての特定の情報を伝達するのに好適な情報伝達システムおよび情報伝達方法に関する。本発明は、たとえばマルチコアプロセッサを使用した装置でＯＳ（Operating System）が無いベアメタル（Bare metal）環境側がＯＳあり環境から正確な時刻情報を取得するのに好適に使用することのできる情報伝達システムおよび情報伝達方法に関する。
【背景技術】
【０００２】
マルチコアプロセッサとは、１つのＣＰＵ（Central Processing Unit）にプロセッサコアを複数搭載したマイクロプロセッサである。プロセッサコアが複数の場合、その一部のプロセッサコア上で実行するタスクが単純な場合や、一部のプロセッサコア上で実行する機能に求められる性能が高い場合、ＯＳがオーバヘッドとなる場合がある。このような単純なタスクや高い性能が求められる機能を実行するプロセッサコアにＯＳは必要とされない。そこで、プロセッサコアにはＯＳが存在するＯＳ有り環境の他に、ＯＳが無いベアメタル（Bare metal）環境が存在し得ることになる。ここでベアメタルとは、一般的なＯＳが提供する機能を持たない、最低限（例えば、メモリ管理とデバイスドライバだけのような）のソフトウェア動作環境をいう。
【０００３】
図１３は、本発明の第１の関連技術として、時計機能が存在しないベアメタル環境のノードの一例を表わしたものである。コンピュータの１つの管理単位としてのノード（ｎｏｄｅ）１００Ａには、第０のコア１１０から第３のコア１１３までの４つのコアを持ったＣＰＵ１２０が配置されており、ＯＳが無いベアメタル環境１２１が実現している。ここでは、時計機能が存在することなく、第１の機能１３１、第２の機能１３２および第３の機能１３３が実行されるようになっている。
【０００４】
この第１の関連技術によれば、ベアメタル環境１２１には時計が存在しないので、第１〜第３の機能１３１〜１３３が時に関する制御を一切できないことになる。
【０００５】
図１４は、本発明の第２の関連技術として、時計機能の一部をなすインターバルタイマが備えられたベアメタル環境のノードの一例を表わしたものである。図１４で図１３と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
【０００６】
図１４に示したノード１００Ｂのベアメタル環境１４１では、起動後から周期的に時を加算するインターバルタイマ１４２が配置されている。このため、たとえば第１の機能１３１が実行されたときから起算して時間ｔ1後に第２の機能１３２を実行するといったような時間管理が可能になる。しかしながら、日時を知ることのできる時計が存在しないので、たとえば１０月１日に第３の機能１３３を実行するといった処理は不可能である。
【０００７】
図１５は、本発明の第３の関連技術として、ベアメタル環境にリアルタイムクロックが備えられたノードの一例を表わしたものである。図１５で図１３と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
【０００８】
図１５に示したノード１００Ｃでは、マルチコアプロセッサによってＯＳ有り環境１５１とＯＳが無いベアメタル環境１５２の２つの環境が実現している。ベアメタル環境１５２には、日時を独自に計測するリアルタイムクロック１６１が配置されている。
【０００９】
一方、ＯＳ有り環境１５１の方には、時計１６２が存在している。この時計１６２は、他のノード１６３内のＮＴＰ（Network Time Protocol）サーバ１６４とＮＴＰクライアント１６５の間で取り決められた時刻同期プロトコル１６６によって、正しい日時に同期している。したがって、ＯＳ有り環境１５１で実行される第４の機能１６７は時計１６２によって正しい日時で制御されることになる。
【００１０】
これに対して、リアルタイムクロック１６１の方は、図１５で×印１６８で示すように、ＮＴＰサーバ１６４との通信を行うことができない。このため、リアルタイムクロック１６１は時計１６２と日時のずれが生じている可能性が大きく、また、このずれは修正されない。この結果、ＯＳ有り環境１５１とベアメタル環境１５２の間で、時間に関する処理の連携ができなくなる可能性がある。
【００１１】
たとえば第１の機能１３１が１０月１日午後１時ちょうどに共有メモリ１６９に書き込んだデータ（ｄａｔａ）１７１を、第４の機能１６７が１０月１日午後２時ちょうどに読み出して使用するという手順があったとする。この例の場合、リアルタイムクロック１６１が時計１６２に対して１時間を超える遅れがあった場合、第４の機能１６７は共有メモリ１６９を介してデータ１７１を受け取ることができない。
【００１２】
以上説明したようにＯＳが無いベアメタル環境１５２では、ＮＴＰサーバ１６４等の外部の日時と同期した絶対時刻を示す時計を持つことができず、リアルタイムクロック１６１を用意した場合にも相対的な時刻を計時する機能しか実現することができない。
【００１３】
一方、本発明の第４の関連技術として、マルチコアプロセッサを使用した装置環境で共有メモリを使用してデータの受け渡しを行うことが提案されている。この提案を用いると、一方の環境の時刻情報を他方の環境にデータとして受け渡すことができる。
【００１４】
図１６は、この第４の関連技術による情報伝達システムを説明するためのものである。この第４の関連技術の情報伝達システムでは、ＯＳを搭載した送信装置１８１のデータ送信部１８２が受信装置１８３のデータ受信部１８４にデータの送信を行うために共有メモリ１８５を使用することにしている。
【００１５】
送信装置１８１は受信装置１８３に送信する時刻情報が発生すると、共有メモリ１８５のデータ格納部１８６内の空き領域を確保し、そこに送信データをコピー（格納）する。更に、送信装置１８１は送信データの格納先アドレスの情報および送信データのデータ長情報を含んだメッセージブロックを未処理リスト格納部１８７へ格納（キューイング）する。そして、所定の条件が満たされると、受信装置１８３に対してドメイン間割り込み１８８を通知する。
【００１６】
受信装置１８３は、送信装置１８１からのドメイン間割り込み１８８の通知を受け取ると、割り込みハンドラを起動し、データ受信部１８３によるデータ受信処理を実行する。具体的な動作を示すと、データ受信部１８３は、未処理リスト格納部１８７へアクセスし、そこに格納されているメッセージブロックを取得する。そして、取得したメッセージブロックをデータ受信部１８４から上位レイヤ処理部１８９へ転送する。
【００１７】
上位レイヤ処理部１８９は、データ受信部１８４から受け取ったメッセージブロックに含まれる情報に基づいて、データ格納部１８６からデータを取得する。具体的には、メッセージブロックに含まれている送信データ格納先アドレス情報およびデータ長情報に基づいて取得すべき時刻情報が格納されている領域を特定し、特定した領域からこの時刻情報を取得する。そして、取得した時刻情報が格納されていた領域のアドレス情報および取得データのデータ長情報を含んだメッセージブロックを処理済リスト格納部１９１へキューイングする。したがって、データ格納部１８６に格納された時刻情報が受信装置１８３によって読み出された場合、読み出された時刻情報に対応する格納先アドレス情報およびデータ長情報（メッセージブロック）が未処理リスト格納部１８７から処理済リスト格納部１９１へ移動する。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開２００９−１１６５６１号公報（第００１９段落〜第００２１段落、図１）
【発明の概要】
【発明が解決しようとする課題】
【００１９】
この第４の関連技術では、未処理リスト格納部１８７に格納されているメッセージブロックを取得する。このメッセージブロックはデータ送信部１８２がリスト化を行う前の時点の時刻情報であり、必ずしもデータ送信部１８２の現在の時刻情報を反映していない。データ送信部１８２はリストによって読み出されたメッセージブロックよりも更に新しい時刻情報をメッセージブロックとして未処理リスト格納部１８７へ格納してリスト化している場合もあり、またこのようなリスト化を行う作業が進行しつつある場合もある。
【００２０】
このように第４の関連技術ではリストの介在によって、共有メモリ１８５に送信装置１８１が書き込んだ時点の時刻情報を受信装置１８３が取得できない可能性がある。したがって、送信装置１８１と受信装置１８３の時間的な連携に障害が発生する可能性がある。
【００２１】
以上、ＯＳ有り環境とＯＳが無いベアメタル環境という２つの系の間での時刻情報の伝達に関する問題を指摘したが、時刻情報に限らず、たとえば温度や湿度といった環境情報のような時間の経過によって変化する情報を一方の系から他方の系に伝達する場合にも同様の問題が発生する。
【００２２】
そこで本発明の目的は、共有メモリを使用し、しかも送信側が共有メモリに書き込んだという情報を受信側に伝達する必要なく受信側が最新の情報を得ることのできる情報伝達システムおよび情報伝達方法を提供することにある。
【課題を解決するための手段】
【００２３】
本発明では、（イ）送信側としての第１の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第２の系に伝達する可能性のある情報としての特定情報を、前記した第１の系側で時間を置いて第１の周期で繰り返し入力する特定情報入力手段と、（ロ）この特定情報入力手段が前記した特定情報を入力するたびにその内容が変化する情報としての変化情報を前記した特定情報の入力のタイミングで前記した第１の系側で入力する変化情報入力手段と、（ハ）前記した第１の系と第２の系が共通してアクセスすることのできる共有メモリと、（ニ）前記した第１の系側で前記した特定情報入力手段の入力した前記した特定情報を前記した共有メモリに１回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する特定情報分割手段と、（ホ）前記した変化情報入力手段の入力した前記した変化情報を１回書き込み、続いて前記した変化情報入力手段によって分割した前記した複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記した変化情報と同一内容の変化情報を更に１回書き込んで、前記した共有メモリに対する１セット分の書き込みを終了する共有メモリ書込手段と、（ヘ）前記した第２の系側に配置され、前記した第１の周期よりも短い任意の第２の周期で前記した共有メモリから前記した変化情報および前記した複数の分割後特定情報のうちの最新のものを１セット分読み出す共有メモリ読出手段と、（ト）前記した第２の系側に配置され、この共有メモリ読出手段によって読み出した前記した変化情報の対の内容についてそれらの一致の有無を判別する変化情報一致有無判別手段と、（チ）前記した第２の系側に配置され、この変化情報一致有無判別手段によって前記した変化情報の対の内容が一致していると判別したとき前記した１セットを構成する残りの情報としての前記した複数の分割後特定情報を前記した予め定めた順番に沿って組み立てて前記した特定情報を再生する特定情報再生手段とを情報伝達システムが具備する。
【００２４】
また、本発明では、（イ）送信側としての第１の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第２の系に伝達する可能性のある情報としての特定情報を、前記した第１の系側で時間を置いて第１の周期で繰り返し入力する特定情報入力ステップと、（ロ）この特定情報入力ステップで前記した特定情報を入力するたびにその内容が変化する情報としての変化情報を前記した特定情報の入力のタイミングで前記した第１の系側で入力する変化情報入力ステップと、（ハ）前記した第１の系側で前記した特定情報入力ステップで入力した前記した特定情報を前記した第１の系と第２の系が共通してアクセスすることのできるメモリとしての共有メモリに１回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する特定情報分割ステップと、（ニ）前記した変化情報入力ステップで入力した前記した変化情報を１回書き込み、続いて前記した変化情報入力ステップによって分割した前記した複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記した変化情報と同一内容の変化情報を更に１回書き込んで、前記した共有メモリに対する１セット分の書き込みを終了する共有メモリ書込ステップと、（ホ）前記した第２の系側に配置され、前記した第１の周期よりも短い任意の第２の周期で前記した共有メモリから前記した変化情報および前記した複数の分割後特定情報のうちの最新のものを１セット分読み出す共有メモリ読出ステップと、（へ）前記した第２の系側に配置され、この共有メモリ読出ステップによって読み出した前記した変化情報の対の内容についてそれらの一致の有無を判別する変化情報一致有無判別ステップと、（ト）前記した第２の系側に配置され、この変化情報一致有無判別ステップによって前記した変化情報の対の内容が一致していると判別したとき前記した１セットを構成する残りの情報としての前記した複数の分割後特定情報を前記した予め定めた順番に沿って組み立てて前記した特定情報を再生する特定情報再生ステップとを情報伝達方法が具備する。
【発明の効果】
【００２５】
以上説明したように本発明によれば、第１の系に存在し時間的にその内容が変化する可能性のある情報としての特定情報を、第２の系の必要とするときに第１の系から取得することができる。したがって、たとえば特定情報が第１の系の管理する時刻情報である場合を例に挙げると、第２の系側は特別の時計を備えることなく第１の系と時刻を一致させることができる。また、第１の系の時刻情報が外部の時計と同期するものであれば第２の系も外部の時計と直接同期する仕組みを持たなくてもその時刻情報を外部の時計と同期させることができる。
【００２６】
また、本発明によれば特定情報分割手段あるいは特定情報分割ステップによって時刻情報等の特定情報を複数に分割して第１の系から第２の系に伝達するようにしている。したがって、伝達対象の特定情報のサイズの上限が共有メモリの１回の書き込み最大量に制限されることはない。このため、たとえば特定情報が第１の系の管理する時刻情報であるとすると、その時刻情報を表わす有効数字の桁数を十分大きく設定することができる。また、特定情報が第１の系の管理する環境変化を記述する情報であるとすると、各種環境を広範に記述することができることになる。
【図面の簡単な説明】
【００２７】
【図１】本発明の情報伝達システムのクレーム対応図である。
【図２】本発明の情報伝達方法のクレーム対応図である。
【図３】本発明の一実施の形態による情報伝達システムを表わしたシステム構成図である。
【図４】本実施の形態における情報伝達システムの要部を、同期機構を中心として具体的に表わしたブロック図である。
【図５】本実施の形態のシーケンシャル書込部から出力される出力データの経時変化の一例を示した説明図である。
【図６】本実施の形態の、ある時点におけるカウンタのカウント値と時刻情報の一例を示した説明図である。
【図７】本実施の形態の情報伝達システムの時刻情報組立部で時刻情報が正しく組み立てられた場合の一例を示した説明図である。
【図８】本実施の形態の情報伝達システムの時刻情報組立部で時刻情報が正しく組み立てられなかった場合の一例を示した説明図である。
【図９】本実施の形態におけるＯＳ有り環境での処理の様子を表わした流れ図である。
【図１０】本実施の形態におけるＯＳが無いベアメタル環境での処理の様子を表わした流れ図である。
【図１１】本発明の第１の変形例による情報伝達システムを表わしたシステム構成図である。
【図１２】本発明の第２の変形例による情報伝達システムを表わしたシステム構成図である。
【図１３】本発明の第１の関連技術として、時計機能が存在しないベアメタル環境のノードの一例を表わした概略構成図である。
【図１４】本発明の第２の関連技術として、時計機能の一部をなすインターバルタイマが備わったベアメタル環境のノードの一例を表わした概略構成図である。
【図１５】本発明の第３の関連技術として、ベアメタル環境にリアルタイムクロックが備わったノードの一例を表わした概略構成図である。
【図１６】本発明の第４の関連技術の情報伝達システムを表わしたシステム構成図である。
【発明を実施するための形態】
【００２８】
図１は、本発明の情報伝達システムのクレーム対応図を示したものである。本発明の情報伝達システム１０は、特定情報入力手段１１と、変化情報入力手段１２と、共有メモリ１３と、特定情報分割手段１４と、共有メモリ書込手段１５と、共有メモリ読出手段１６と、変化情報一致有無判別手段１７と、特定情報再生手段１８を備えている。ここで、特定情報入力手段１１は、送信側としての第１の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第２の系に伝達する可能性のある情報としての特定情報を、前記した第１の系側で時間を置いて第１の周期で繰り返し入力する。変化情報入力手段１２は、特定情報入力手段１１が前記した特定情報を入力するたびにその内容が変化する情報としての変化情報を前記した特定情報の入力のタイミングで前記した第１の系側で入力する。共有メモリ１３は、前記した第１の系と第２の系が共通してアクセスすることのできるメモリである。特定情報分割手段１４は、第１の系側で特定情報入力手段１１の入力した前記した特定情報を共有メモリ１３に１回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する。共有メモリ書込手段１５は、変化情報入力手段１２の入力した前記した変化情報を１回書き込み、続いて変化情報入力手段１２によって分割した前記した複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記した変化情報と同一内容の変化情報を更に１回書き込んで、共有メモリ１３に対する１セット分の書き込みを終了する。共有メモリ読出手段１６は、前記した第２の系側に配置され、前記した第１の周期よりも短い任意の第２の周期で共有メモリ１３から前記した変化情報および前記した複数の分割後特定情報のうちの最新のものを１セット分読み出す。変化情報一致有無判別手段１７は、前記した第２の系側に配置され、この共有メモリ読出手段１６によって読み出した前記した変化情報の対の内容についてそれらの一致の有無を判別する。特定情報再生手段１８は、前記した第２の系側に配置され、この変化情報一致有無判別手段１７によって前記した変化情報の対の内容が一致していると判別したとき前記した１セットを構成する残りの情報としての前記した複数の分割後特定情報を前記した予め定めた順番に沿って組み立てて前記した特定情報を再生する。
【００２９】
図２は、本発明の情報伝達方法のクレーム対応図を示したものである。本発明の情報伝達方法２０は、特定情報入力ステップ２１と、変化情報入力ステップ２２と、特定情報分割ステップ２３と、共有メモリ書込ステップ２４と、共有メモリ読出ステップ２５と、変化情報一致有無判別ステップ２６と、特定情報再生ステップ２７を備えている。ここで、特定情報入力ステップ２１では、送信側としての第１の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第２の系に伝達する可能性のある情報としての特定情報を、前記した第１の系側で時間を置いて第１の周期で繰り返し入力する。変化情報入力ステップ２２では、特定情報入力ステップ２１で前記した特定情報を入力するたびにその内容が変化する情報としての変化情報を前記した特定情報の入力のタイミングで前記した第１の系側で入力する。特定情報分割ステップ２３では、前記した第１の系側で特定情報入力ステップ２１で入力した前記した特定情報を前記した第１の系と第２の系が共通してアクセスすることのできるメモリとしての前記した共有メモリに１回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する。共有メモリ書込ステップ２４では、変化情報入力ステップ２２で入力した前記した変化情報を１回書き込み、続いて変化情報入力ステップ２２によって分割した前記した複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記した変化情報と同一内容の変化情報を更に１回書き込んで、前記した共有メモリに対する１セット分の書き込みを終了する。共有メモリ読出ステップ２５では、前記した第２の系側に配置され、前記した第１の周期よりも短い任意の第２の周期で前記した共有メモリから前記した変化情報および前記した複数の分割後特定情報のうちの最新のものを１セット分読み出す。変化情報一致有無判別ステップ２６では、前記した第２の系側に配置され、この共有メモリ読出ステップ２５によって読み出した前記した変化情報の対の内容についてそれらの一致の有無を判別する。特定情報再生ステップ２７では、前記した第２の系側に配置され、この変化情報一致有無判別ステップ２６によって前記した変化情報の対の内容が一致していると判別したとき前記した１セットを構成する残りの情報としての前記した複数の分割後特定情報を前記した予め定めた順番に沿って組み立てて前記した特定情報を再生する。
【００３０】
＜発明の実施の形態＞
【００３１】
次に本発明の実施の形態を説明する。
【００３２】
図３は、本発明の一実施の形態による情報伝達システムを表わしたものである。この情報伝達システム２００は、マルチコアプロセッサを使用したコンピュータから構成される第１のノード２０１と、この第１のノード２０１を正しい日時等の時刻に同期させるためのＮＴＰサーバ２１１を備えた第２のノード２０２から構成されている。第１のノード２０１には、第０のコア２２０から第３のコア２２３までの４つのコアを持ったＣＰＵ２３０が配置されており、ＯＳ有り環境２４１とＯＳが無いベアメタル環境２４２の２つの環境が実現している。ベアメタル環境２４２では第１の機能２５１、第２の機能２５２および第３の機能２５３が実行されるようになっている。ＯＳ有り環境２４１では、第４の機能２５４が実行されるようになっている。
【００３３】
ＯＳ有り環境２４１の方には、時計２６１およびＮＴＰクライアント２６２が存在している。時計２６１は、第２のノード２０２内のＮＴＰサーバ２１１とＮＴＰクライアント２６２の間で取り決められた時刻同期プロトコル２６３によって、正しい日時に同期している。したがって、ＯＳ有り環境２４１で実行される第４の機能２５４は時計２６１によって正しい日時で補正された状態で制御されることになる。
【００３４】
ＯＳ有り環境２４１とベアメタル環境２４２の間には、両環境から共通してアクセス可能な共有メモリ２７１が備えられている。また、ＯＳ有り環境２４１およびベアメタル環境２４２には、共有メモリ２７１を使用してＯＳ有り環境２４１からベアメタル環境２４２に時刻情報２７３を伝達するための同期機構２７４が存在している。この結果として、たとえば第１の機能２５１および第２の機能２５２は、ベアメタル環境２４２の下でＯＳ有り環境２４１と同期の採れた時計情報２７３を使用した処理が可能になる。
【００３５】
図４は、本実施の形態における情報伝達システムの要部を、同期機構を中心として具体的に表わしたものである。図４で図３と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
【００３６】
同期機構２７４は、ＯＳ有り環境２４１側に存在するＯＳ有り環境側同期機構２７４Ａと、ベアメタル環境２４２側に存在するベアメタル環境側同期機構２７４Ｂとで構成されている。このうちＯＳ有り環境側同期機構２７４Ａは、時計２６１から時刻情報２８１の読み取りを行う時刻情報読取部２８２を備えている。時刻情報読取部２８２は、読取周期設定部２８３から与えられた読取周期２８４に応じて、たとえば１秒間に１回という周期で時計２６１から時刻情報２８１の読み取りを行う。
【００３７】
読取周期設定部２８３によって設定される読取周期は、ベアメタル環境２４２側の要請に応じて予め設定されている。したがって、図３に示した第１の機能２５１および第２の機能２５２の実現のために、１秒間に１回という周期で時刻情報２８１の同期が必要とされたとしても、その後に第３の機能を新たに実現するために０．１秒間に１回という周期で時刻情報２８１の同期が必要とされた場合には、読取周期をそれに合わせて変更することになる。
【００３８】
ＯＳ有り環境側同期機構２７４Ａには、時刻情報読取部２８２の出力側に第１の時刻情報バッファ２８６と第２の時刻情報バッファ２８７が設けられている。時刻情報読取部２８２は第１の時刻情報バッファ２８６に対して、読み取った時刻情報２８１を構成するビット列の前半部分を構成する第１の時刻情報２８８を格納する。また、時刻情報読取部２８２は第２の時刻情報バッファ２８７に対して、読み取った時刻情報２８１を構成するビット列の後半部分を構成する第２の時刻情報２８９を格納する。
【００３９】
第１の時刻情報バッファ２８６と第２の時刻情報バッファ２８７の出力側には、４ステップを１セットとして各データの書き込みを行い、これを周期的に繰り返すシーケンシャル書込部２９１が配置されている。シーケンシャル書込部２９１は、この４ステップを１周期としたカウント値２９２を出力するカウンタ２９３とも接続されている。このうち２ステップがカウンタ２９３の出力するカウント値２９２であり、残り２ステップが第１の時刻情報２８８および第２の時刻情報２８９となる。
【００４０】
なお、カウンタ２９３のカウント値２９２は４ステップに要する時間よりも短い時間で変化するものであってもよい。すなわち、１セットごとに異なる値が出力されるものであれば、カウンタ２９３以外のデバイスを使用することが可能である。
【００４１】
シーケンシャル書込部２９１から出力される出力データ２９５は、共有メモリ２７１を構成するリングバッファ２９６に書き込まれる。リングバッファ２９６は、第１の領域Ｒ1〜第４の領域Ｒ4から構成されており、出力データ２９５を１ステップずつ順に対応する場所に書き込むようになっている。第１の領域Ｒ1には第１のステップでシーケンシャル書込部２９１から出力される出力データ２９５（ＷＲＩＴＥ1）が書き込まれ、第２の領域Ｒ2には第２のステップでシーケンシャル書込部２９１から出力される出力データ２９５（ＷＲＩＴＥ2）が書き込まれる。同様に第３の領域Ｒ3には第３のステップでシーケンシャル書込部２９１から出力される出力データ２９５（ＷＲＩＴＥ3）が書き込まれ、第４の領域Ｒ4には第４のステップでシーケンシャル書込部２９１から出力される出力データ２９５（ＷＲＩＴＥ4）が書き込まれる。その次のステップは、第１のステップに再び戻り、シーケンシャル書込部２９１から出力される出力データ２９５（ＷＲＩＴＥ1）が第１の領域Ｒ1に上書きされる。以下同様にしてリングバッファ２９６にはカウント値２９２が２ステップ分と、第１の時刻情報２８８および第２の時刻情報２８９がそれぞれ１ステップ分ずつ順にサイクリックに書き込まれることになる。
【００４２】
図５は、本実施の形態のシーケンシャル書込部から出力される出力データの経時変化の一例を示したものである。ここでは、出力データ２９５の各ステップと、それぞれのステップにおける出力データ２９５の種類および出力データ２９５の内容を時間の変化と共に示している。図４と共に説明する。
【００４３】
この図で示した一番上の時間的に一番早い第１のステップでは出力データ２９５が「ＷＲＩＴＥ1」であり、その内容はカウンタ２９３の出力するカウント値２９２としての「カウント値０００１」である。次の第２のステップでは出力データ２９５が「ＷＲＩＴＥ2」であり、その内容は第１の時刻情報バッファ２８６の出力する第１の時刻情報２８８としての「１２３４秒」である。この「１２３４秒」は時刻情報読取部２８２が時計２６１から時刻情報２８１として読み取ったビット列の前半部分を構成する第１の時刻情報２８８である。「１２３４秒」は時計２６１から読み取った瞬間の何時何分何秒を意味する。
【００４４】
次の第３のステップでは出力データ２９５が「ＷＲＩＴＥ3」であり、その内容は第２の時刻情報バッファ２８７の出力する第２の時刻情報２８９としての「５６７８マイクロ（μ）秒」である。この「５６７８マイクロ秒」は時刻情報読取部２８２が時計２６１から時刻情報２８１として読み取ったビット列の後半部分を構成する第２の時刻情報２８９である。「５６７８マイクロ秒」は時計２６１から１秒の小数点以下をマイクロ秒として表わしたものである。
【００４５】
次の第４のステップでは出力データ２９５が「ＷＲＩＴＥ4」であり、その内容はカウンタ２９３の出力するカウント値２９２としての「カウント値０００１」である。これは、カウンタ２９３がカウント値２９２として読み取った値を第１のステップと第４のステップで共通の値として出力したものであり、その読み取りのタイミングは時刻情報読取部２８２が時計２６１から時刻情報２８１を読み取るタイミングと一致している。
【００４６】
図６は、本実施の形態である時点におけるカウンタのカウント値と時刻情報の一例を示したものである。図４および図５と共に説明する。
【００４７】
図６に示した例では、図５で直前に説明した第１のステップ〜第４のステップでシーケンシャル書込部２９１から出力される出力データ２９５の内容を示している。すなわち、時刻情報読取部２８２が時計２６１から時刻情報２８１を読み取ったそのときのカウンタ２９３のカウント値が「カウント値０００１」を示しており、このときの時刻情報２８１が「１２３４秒５６７８マイクロ秒」である。「１２３４秒５６７８マイクロ秒」を第２のステップと第３のステップで「１２３４秒」と「５６７８マイクロ秒」に分けたのは、リングバッファ２９６に一度に書き込まれるビット数に制限があるからである。
【００４８】
したがって、たとえば「２０１１年０９月２５日午前１０時０９分０８秒７６５４３２マイクロ秒」という時刻情報が存在して、これをＯＳ有り環境２４１からベアメタル環境２４２に伝達するのに共有メモリ２７１に４回に分けた時刻情報の書き込みが必要であったとする。この場合には、現在説明している第１のステップ〜第４のステップでシーケンシャル書込部２９１から１サイクルとして出力される出力データ２９５の代わりに、第１のステップ〜第６のステップで１サイクルの出力データ２９５が出力されることになる。
【００４９】
図５に示した例では、第１のステップ〜第４のステップの１サイクルごとにカウンタ２９３のカウント値２９２が「カウント値０００１」、「カウント値０００２」、……と変化していくが、第１のステップ〜第６のステップが１サイクルを構成する場合にはこのサイクルでカウント値２９２が順に変化することになる。また、第１のステップ〜第４のステップが１サイクルを構成する場合には、このうちの第１のステップと第４のステップのカウント値が「カウント値０００１」を示している。第１のステップ〜第６のステップが１サイクルを構成する場合には、第１のステップと第６のステップのカウント値が「カウント値０００１」を示すことになり、その間の第２のステップ〜第５のステップで時刻情報が分割して出力されることになる。
【００５０】
ベアメタル環境２４２側の同期機構２７４を構成するベアメタル環境側同期機構２７４Ｂでは、シーケンシャル読出部３０１がリングバッファ２９６からデータの読み出しを行う。ただし、ベアメタル環境２４２はＯＳ有り環境２４１と同一環境ではなく、統一したクロックが存在するものでもない。シーケンシャル読出部３０１は、図３に示した第１の機能２５１等の機能部の処理の要請に基づいて時刻情報をＯＳ有り環境２４１とは全くの非同期で、またＯＳ有り環境２４１と異なった周期でデータを読み出すことになる。ただし、シーケンシャル読出部３０１のリングバッファ２９６に対する読出周期は、読取周期設定部２８３の設定によって時刻情報読取部２８２の時刻情報２８１についての読み取りの周期よりも短い周期で読み出しが行われるようになっている。
【００５１】
シーケンシャル読出部３０１は、第１のカウント情報取得部３０２の指示によって、まずリングバッファ２９６の第１の領域Ｒ1から第１のカウント情報３０３を読み出す。次にシーケンシャル読出部３０１は、第１の時刻情報取得部３０４の指示によって、リングバッファ２９６の第２の領域Ｒ2から第１の時刻情報３０５を読み出す。次にシーケンシャル読出部３０１は、第２の時刻情報取得部３０６の指示によって、リングバッファ２９６の第３の領域Ｒ3から第２の時刻情報３０７を読み出す。最後にシーケンシャル読出部３０１は、第２のカウント情報取得部３０８の指示によって、リングバッファ２９６の第４の領域Ｒ4から第２のカウント情報３０９を読み出す。
【００５２】
シーケンシャル読出部３０１は、以上説明した第１の領域Ｒ1〜第４の領域Ｒ4からのデータの読み出しを行ったら、以後も同様に第１の領域Ｒ1〜第４の領域Ｒ4からのデータの読み出しを繰り返すことになる。
【００５３】
第１のカウント情報取得部３０２が取得した第１のカウント情報３０３と第２のカウント情報取得部３０８が取得した第２のカウント情報３０９は、比較部３１１に入力されて、それらの値としての「カウント値××××」と「カウント値○○○○」が比較される。そして、「カウント値××××」と「カウント値○○○○」が等しいときには、イネーブル信号３１２が時刻情報組立部３１３に供給される。
【００５４】
時刻情報組立部３１３は、第１の時刻情報取得部３０４から第１の時刻情報３０５を入力しており、第２の時刻情報取得部３０６から第２の時刻情報３０７を入力している。時刻情報組立部３１３は、比較部３１１からイネーブル信号３１２が供給されると、そのタイミングで第１の時刻情報３０５と第２の時刻情報３０７を連結して時刻情報３１４とする。この時刻情報３１４は、ベアメタル環境２４２におけるその時点の時刻を表わす情報として使用される。
【００５５】
比較部３１１からイネーブル信号３１２が供給されなかったとき、すなわちディスエーブルの状態のとき、時刻情報組立部３１３は入力された第１の時刻情報３０５と第２の時刻情報３０７を破棄し、時刻情報３１４としては出力しない。この理由を次に説明する。
【００５６】
図７は、情報伝達システムの時刻情報組立部で時刻情報が正しく組み立てられた場合の一例を示したものである。この例の場合には、先に説明したようにリングバッファ２９６の第１の領域Ｒ1に書き込まれたカウント値と第４の領域Ｒ4に書き込まれたカウント値が共に「カウント値０００１」で、一致している。したがって、リングバッファ２９６の第２の領域Ｒ2と第３の領域Ｒ3から読み出された第１の時刻情報３０５と第２の時刻情報３０７によって組み立てられた時刻情報である「１２３４秒５６７８μ秒」はＯＳ有り環境２４１とＯＳが無いベアメタル環境２４２の双方で一致した時刻情報ということになる。
【００５７】
図８は、これに対して情報伝達システムの時刻情報組立部で時刻情報が正しく組み立てられなかった場合、すなわち時刻情報が破棄される場合の一例を示したものである。この例の場合には、リングバッファ２９６の第１の領域Ｒ1に書き込まれたカウント値が図７の場合よりも１サイクルだけ後の「カウント値０００２」となっており、第２の領域Ｒ2に書き込まれた第１の時刻情報が同様に図７の場合よりも１サイクルだけ後の「１２３５秒」となっている（図５参照）。これ以外は図７と同じ１サイクル前の状態である。
【００５８】
この結果、図８に示した例では第１の領域Ｒ1に書き込まれたカウント値と第４の領域Ｒ4に書き込まれたカウント値が不一致の状態となる。したがって、図４に示す時刻情報組立部３１３は第１の時刻情報３０５と第２の時刻情報３０７によって組み立てられたであろう時刻情報「１２３５秒５６７８μ秒」を間違った時刻情報として破棄する。この場合、図４に示したベアメタル環境側同期機構２７４Ｂは比較部３１１による比較処理を繰り返し、比較結果が一致してイネーブル信号３１２が時刻情報組立部３１３に供給された時点でベアメタル環境２４２の時刻情報３１４を得ることになる。
【００５９】
以上、図４におけるＯＳ有り環境側同期機構２７４Ａがその時刻情報読取部２８２等の各種機能部を使用して時計２６１から時刻情報２８１を読み出して共有メモリ２７１に書き込み、ベアメタル環境２４２のベアメタル環境側同期機構２７４Ｂがこれを読み出して時刻情報３１４を得ることを説明した。以上の処理はＯＳ有り環境２４１側およびベアメタル環境２４２側で、たとえば図３に示した第０のコア２２０〜第３のコア２２３のうちの該当するＣＰＵコアを用いた仮想化マシンによってソフトウェアの処理としても実現することができる。
【００６０】
図９は、本実施の形態におけるＯＳ有り環境での処理の様子を表わしたものである。図３および図４と共に説明する。
【００６１】
ＯＳ有り環境２４１側では、ベアメタル環境２４２側の必要とする時間精度で時刻情報の読取時機を設定している。たとえば第０のコア２２０によって実現される図示しない制御部は、この時刻読取時機が到来するかを監視してる（ステップＳ４０１）。時刻読取時機が到来したら（Ｙ）、制御部は時計２６１から時刻情報２８１を読み取ると共にカウンタ２９３からその時点のカウント値を取得して保持する（ステップＳ４０２）。
【００６２】
次に制御部は保持したカウント値を共有メモリ２７１の第１の領域Ｒ1に上書きする（ステップＳ４０３）。次に制御部はステップＳ４０２で読み取った時刻情報のうちの第１の時刻情報を共有メモリ２７１の第２の領域Ｒ2に上書きする（ステップＳ４０４）。そして、更に制御部はステップＳ４０２で読み取った時刻情報のうちの第２の時刻情報を共有メモリ２７１の第３の領域Ｒ3に上書きする（ステップＳ４０５）。最後に制御部はステップＳ４０２で保持したカウンタ２９３のカウント値を第４の領域Ｒ4にも上書きする（ステップＳ４０６）。
【００６３】
その後、制御部はステップＳ４０１の処理に戻る（リターン）。すなわちＯＳ有り環境２４１側では、ベアメタル環境２４２側が時刻情報を必要としている時間帯では少なくとも共有メモリ２７１に対するデータの書込作業を繰り返す。
【００６４】
図１０は、本実施の形態におけるＯＳが無いベアメタル環境での処理の様子を表わしたものである。図３および図４と共に説明する。
【００６５】
ベアメタル環境２４２側では、一例として第１の機能２５１がＯＳ有り環境２４１側と同一の時刻情報を必要とすると（ステップＳ４２１：Ｙ）、たとえば第１のコア２２１によって実現される図示しない制御部は、共有メモリ２７１の第１の領域Ｒ1から第１のカウント情報としてのカウント値を読み出す（ステップＳ４２２）。続いて制御部は、共有メモリ２７１の第２の領域Ｒ2から第１の時刻情報を読み出し（ステップＳ４２３）、共有メモリ２７１の第３の領域Ｒ3から第２の時刻情報を読み出す（ステップＳ４２４）。
【００６６】
この後、制御部は共有メモリ２７１の第４の領域Ｒ4から第２のカウント情報としてのカウント値を読み出して（ステップＳ４２５）、これをステップＳ４２２で読み出した第１のカウント情報と一致するかを調べる（ステップＳ４２６）。両カウント値が一致する場合には（Ｙ）、第１の時刻情報と第２の時刻情報から現時点の時刻情報を作成する（ステップＳ４２７）。そして、ステップＳ４２１に戻って（リターン）、次の時刻情報の処理に備える。
【００６７】
一方、ステップＳ４２６で第１のカウント情報と第２のカウント情報の内容が一致しなかった場合には（Ｎ）、そのまま第１の時刻情報と第２の時刻情報を組み立てると、異なった時点の時刻内容が混ざった内容となってしまう。そこで処理をステップＳ４２２に戻して、再びステップＳ４２５までの処理を共有メモリ２７１に対して行う。このようにしてステップＳ４２６で第１のカウント情報と第２のカウント情報の内容が一致するまで共有メモリ２７１のアクセスが時間を置いて繰り返され、一致した時点でＯＳ有り環境２４１側の時刻情報をベアメタル環境２４２側が取得することになる。
【００６８】
以上説明した本実施の形態によれば、ＯＳ有り環境２４１とベアメタル環境２４２の２種類の動作環境から共にアクセス可能な共有メモリ２７１が存在するだけで、ＯＳ有り環境２４１の時刻情報を高精度にベアメタル環境２４２が得ることができる。したがって、時刻情報の不一致によるＯＳ有り環境２４１とベアメタル環境２４２間での不具合の発生を解消することができる。
【００６９】
しかも本実施の形態ではＯＳ有り環境２４１側に配置された時計２６１がＮＴＰサーバ２１１によって時刻の修正を行えるようになっている。したがって、時計を配置することのできないベアメタル環境２４２側でもＯＳ有り環境２４１を介して外部の時刻と合致した正確な時刻を得ることができる。すなわち、図３に示す第１の機能２５１や第２の機能２５２が時刻を必要としたときに外部と同期した時刻を使用することができる。しかも時刻情報を複数に分割して共有メモリ２７１に格納するので、時刻情報を構成するデータのビット数を制限されることがない。
【００７０】
更に本実施の形態では図４に示す読取周期設定部２８３が時計２６１の時刻情報２８１を共有メモリ２７１に書き込む周期を設定できるようにした。これにより、ＯＳ有り環境２４１側はベアメタル環境２４２側の第１の機能２５１等の各種機能が必要とする精度に合わせて共有メモリ２７１へのアクセスを行うことができ、過度な精度による不必要な負荷が掛かることを防止することができる。
【００７１】
更にまた本実施の形態では、ＯＳ有り環境２４１とベアメタル環境２４２の間の同期処理を、プロセスの周期処理で行うことにした。そこで、次に説明するＯＳ環境のカーネルに修正を加える第１の変形例と異なり、カーネルに修正を加えることなく、ＯＳ無しの環境へ同期した時刻情報を提供することができる
【００７２】
＜発明の第１の変形可能性＞
【００７３】
図１１は、本発明の第１の変形例による情報伝達システムを表わしたものである。図１１で図３と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
【００７４】
この第１の変形例の情報伝達システム２００Ａでは、先の実施の形態よりも時計２６１の同期精度の向上を図っている。すなわち情報伝達システム２００Ａで、時計２６１とＮＴＰサーバ２１１の関係は、情報伝達システム２００と同一であるが、時計２６１の時刻情報を共有メモリ２７１に同期させる処理が異なる。
【００７５】
この変形例では、図３で使用したプロセスによる同期機構２７４を採用せず、時計同期処理５０１をＯＳ有り環境２４１のそのＯＳ（カーネル）に実装するようにしている。ＯＳでは、そのティック単位で最短周期処理間隔を採ることができる。
【００７６】
ここでティックという単位を簡単に説明する。ソフトウェアとしてのカーネルは、ハードウェアから定期的に割り込み（タイマ割り込み）を受信する。そして、このタイマ割り込みを最短周期として、ソフトウェアとしての相対タイマを実現する。たとえばリナックス（登録商標）を例に挙げると、バージョンの違いによって１０ミリ秒あるいは１ミリ秒で相対タイマをインクリメントするようになっている。これがティックという単位である。相対タイマのインクリメントによっては計測する時間が正確には定まらない。そこで、ＮＴＰサーバ２１１等の外部時計による補正を行っている。
【００７７】
このような第１の変形例の情報伝達システム２００Ａではカーネル内にてＯＳのティック処理と同じタイミングで、ＯＳの時計２６１を読み出して、共有メモリ２７１に時刻情報５０２を書き込む時計同期処理５０１を実行する。この結果、最短同期間隔でＯＳの時計２６１とＯＳの存在しないベアメタル環境２４２の双方で使用する共有メモリ２７１上の時計を同期させることができ、同期の精度を先の実施の形態の情報伝達システム２００よりも向上させることができる。
【００７８】
以上説明したように第１の変形例の情報伝達システム２００Ａによれば、同期処理をカーネル内部のティック単位で行うことで、プロセスでの実装では実現できないような最短同期間隔で同期された、精度の高い時刻をＯＳ無しの環境に提供することができる。
【００７９】
＜発明の第２の変形可能性＞
【００８０】
図１２は、本発明の第２の変形例による情報伝達システムを表わしたものである。図１２で図３と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
【００８１】
第２の変形例による情報伝達システム２００Ｂでは、ＯＳ有り環境２４１に存在した時計２６１を、ＯＳが無いベアメタル環境２４２から直接参照が可能な共有メモリ２７１Ｂ上に実装することにしている。このためにはＯＳ有り環境２４１における既存のカーネルの時計機能を修正する必要がある。
【００８２】
しかしながらＯＳ環境で実現する時計６０１を共有メモリ２７１Ｂ上で実現することで、ＯＳが無いベアメタル環境２４２からもＯＳが存在する環境の時計の時刻情報を参照し使用することができるようになる。しかもＯＳ有り環境２４１ではＮＴＰクライアント２６２が共有メモリ２７１Ｂ上の時計６０１をＮＴＰサーバ２１１と同期させることができる。
【００８３】
また、第２の変形例による情報伝達システム２００Ｂでは図３に示したＯＳ有り環境２４１からベアメタル環境２４２に時刻情報２７３を伝達するための同期機構２７４が不要である。このため、たとえば第１の機能２５１および第２の機能２５２は、ベアメタル環境２４２の下でＯＳ有り環境２４１と同じ精度の時計情報を参照し使用することができる。
【００８４】
なお、以上説明した実施の形態および各変形例では、ベアメタル環境２４２がＯＳ有り環境２４１の時刻情報を取得する場合を説明したが、その他の情報をベアメタル環境２４２がＯＳ有り環境２４１と一致させて取得する場合にも本発明を同様に適用することができる。
【００８５】
また、実施の形態および各変形例では、ＯＳ有り環境２４１とベアメタル環境２４２を例に挙げて、一方の系が他方の系から同一内容の情報を取得する場合を説明したが、これに限るものではない。たとえばＯＳを有する２つの系の一方が共通にアクセス可能な共有メモリを介して、以上説明した技術思想でデータの取得を行うことも可能である。
【００８６】
更に実施の形態では共有メモリ２７１を構成するリングバッファ２９６を介してＯＳ有り環境２４１からベアメタル環境２４２に情報の伝達を行ったが、通常の構成のメモリを使用してアドレスの制御を行うことも可能である。
【００８７】
更にまた実施の形態では時刻情報２７３を共有メモリ２７１に書き込む際にカウンタ２９３のカウント値２９２を読み出してこれも共有メモリ２７１に書き込むことでベアメタル環境２４２側がこのカウント値２９３を比較して時刻情報２７３が正確に伝達されたかをチェックしたが、これに限るものではない。カウンタ２９３のカウント値２９２の代わりに情報の伝送のたびに内容の変化する変化情報を使用することも可能である。たとえばＡ、Ｂ、Ｃ、Ｄという４つに順次変化する変化情報を用意しておき、これらをサイクリックにＯＳ有り環境２４１からベアメタル環境２４２に伝達するようにしてもよい。
【００８８】
また、実施の形態および変形例ではＮＴＰサーバ２１１を用いて時計２６１を外部の時計と同期させたが、ＮＴＰサーバ２１１以外の外部時計を使用して時刻の同様の補正を行ってもよいことは当然である。
【００８９】
以上説明した実施の形態の一部または全部は、以下の付記のようにも記載されるが、以下の記載に限定されるものではない。
【００９０】
（付記１）
送信側としての第１の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第２の系に伝達する可能性のある情報としての特定情報を、前記第１の系側で時間を置いて第１の周期で繰り返し入力する特定情報入力手段と、
この特定情報入力手段が前記特定情報を入力するたびにその内容が変化する情報としての変化情報を前記特定情報の入力のタイミングで前記第１の系側で入力する変化情報入力手段と、
前記第１の系と第２の系が共通してアクセスすることのできる共有メモリと、
前記第１の系側で前記特定情報入力手段の入力した前記特定情報を前記共有メモリに１回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する特定情報分割手段と、
前記変化情報入力手段の入力した前記変化情報を１回書き込み、続いて前記変化情報入力手段によって分割した前記複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記変化情報と同一内容の変化情報を更に１回書き込んで、前記共有メモリに対する１セット分の書き込みを終了する共有メモリ書込手段と、
前記第２の系側に配置され、前記第１の周期よりも短い任意の第２の周期で前記共有メモリから前記変化情報および前記複数の分割後特定情報のうちの最新のものを１セット分読み出す共有メモリ読出手段と、
前記第２の系側に配置され、この共有メモリ読出手段によって読み出した前記変化情報の対の内容についてそれらの一致の有無を判別する変化情報一致有無判別手段と、
前記第２の系側に配置され、この変化情報一致有無判別手段によって前記変化情報の対の内容が一致していると判別したとき前記１セットを構成する残りの情報としての前記複数の分割後特定情報を前記予め定めた順番に沿って組み立てて前記特定情報を再生する特定情報再生手段
とを具備することを特徴とする情報伝達システム。
【００９１】
（付記２）
前記第２の系側に配置され、前記変化情報一致有無判別手段によって前記変化情報の対の内容が一致していないと判別したとき、一致すると判別するまで前記共有メモリ読出手段によって前記変化情報および前記複数の分割後特定情報のうちの最新のものを１セット分読み出す操作を繰り返す読出反復手段を具備することを特徴とする付記１記載の情報伝達システム。
【００９２】
（付記３）
前記第１の系はマルチコアプロセッサを使用した装置におけるＯＳ有り環境の系であり、前記第２の系はＯＳが無いベアメタル環境の系であって、前記特定情報は第１の系に配置された時計が出力する時刻情報であることを特徴とする付記１または付記２記載の情報伝達システム。
【００９３】
（付記４）
前記ＯＳ有り環境のそのＯＳが時刻情報をタイマ割り込みを最短周期としてのティック単位で管理することを特徴とする付記３記載の情報伝達システム。
【００９４】
（付記５）
前記時計は前記共有メモリに実装されており、前記第２の系が前記時計の時刻情報を参照し使用可能であることを特徴とする付記３記載の情報伝達システム。
【００９５】
（付記６）
前記変化情報は、前記第１の系に配置されカウント値を時間の経過と共に変化して出力するカウンタであることを特徴とする付記１記載の情報伝達システム。
【００９６】
（付記７）
前記特定情報分割手段は、前記特定情報を構成する前記時刻情報を２つの分割後特定情報に分割することを特徴とする付記３記載の情報伝達システム。
【００９７】
（付記８）
前記第１の系に配置された前記時計は、ＮＴＰ（Network Time Protocol）サーバと通信を行うＮＴＰクライアントによって前記時刻情報を補正されることを特徴とする付記３または付記５記載の情報伝達システム。
【００９８】
（付記９）
送信側としての第１の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第２の系に伝達する可能性のある情報としての特定情報を、前記第１の系側で時間を置いて第１の周期で繰り返し入力する特定情報入力ステップと、
この特定情報入力ステップで前記特定情報を入力するたびにその内容が変化する情報としての変化情報を前記特定情報の入力のタイミングで前記第１の系側で入力する変化情報入力ステップと、
前記第１の系側で前記特定情報入力ステップで入力した前記特定情報を前記第１の系と第２の系が共通してアクセスすることのできるメモリとしての前記共有メモリに１回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する特定情報分割ステップと、
前記変化情報入力ステップで入力した前記変化情報を１回書き込み、続いて前記変化情報入力ステップによって分割した前記複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記変化情報と同一内容の変化情報を更に１回書き込んで、前記共有メモリに対する１セット分の書き込みを終了する共有メモリ書込ステップと、
前記第２の系側に配置され、前記第１の周期よりも短い任意の第２の周期で前記共有メモリから前記変化情報および前記複数の分割後特定情報のうちの最新のものを１セット分読み出す共有メモリ読出ステップと、
前記第２の系側に配置され、この共有メモリ読出ステップによって読み出した前記変化情報の対の内容についてそれらの一致の有無を判別する変化情報一致有無判別ステップと、
前記第２の系側に配置され、この変化情報一致有無判別ステップによって前記変化情報の対の内容が一致していると判別したとき前記１セットを構成する残りの情報としての前記複数の分割後特定情報を前記予め定めた順番に沿って組み立てて前記特定情報を再生する特定情報再生ステップ
とを具備することを特徴とする情報伝達方法。
【００９９】
（付記１０）
前記第２の系側に配置され、前記変化情報一致有無判別ステップによって前記変化情報の対の内容が一致していないと判別したとき、一致すると判別するまで前記共有メモリ読出ステップを用いて、前記変化情報および前記複数の分割後特定情報のうちの最新のものを１セット分読み出す操作を繰り返す読出反復ステップを具備することを特徴とする付記９記載の情報伝達方法。
【０１００】
（付記１１）
前記第１の系はマルチコアプロセッサを使用した装置におけるＯＳ有り環境の系であり、前記第２の系はＯＳが無いベアメタル環境の系であって、前記特定情報は第１の系に配置された時計が出力する時刻情報であることを特徴とする付記１０または付記１１記載の情報伝達方法。
【産業上の利用可能性】
【０１０１】
以上説明したように本発明は単にマルチコアプロセッサを使用した装置に利用が制限されるものではなく、送信側としての第１の系に存在し時間的にその内容が変化する可能性のある情報を、受信側としての第２の系に伝達する各種装置やシステムに広く適用することができる。
【符号の説明】
【０１０２】
１０、２００、２００Ａ、２００Ｂ  情報伝達システム
１１  特定情報入力手段
１２  変化情報入力手段
１３、２７１、２７１Ｂ  共有メモリ
１４  特定情報分割手段
１５  共有メモリ書込手段
１６  共有メモリ読出手段
１７  変化情報一致有無判別手段
１８  特定情報再生手段
２０  情報伝達方法
２１  特定情報入力ステップ
２２  変化情報入力ステップ
２３  特定情報分割ステップ
２４  共有メモリ書込ステップ
２５  共有メモリ読出ステップ
２６  変化情報一致有無判別ステップ
２７  特定情報再生ステップ
２０１、２０１Ａ、２０１Ｂ  第１のノード
２０２  第２のノード
２２０  第０のコア
２２１  第１のコア
２２２  第２のコア
２２３  第３のコア
２３０  ＣＰＵ
２１１  ＮＴＰサーバ
２４１  ＯＳ有り環境
２４２  （ＯＳが無い）ベアメタル環境
２６１、６０１  時計
２６２  ＮＴＰクライアント
２７３  時計情報
２７４  同期機構
２８１、３１４、５０２  時刻情報
２８２  時刻情報読取部
２８３  読取周期設定部
２８６  第１の時刻情報バッファ
２８７  第２の時刻情報バッファ
２９１  シーケンシャル書込部
２９３  カウンタ
２９６  リングバッファ
３０１  シーケンシャル読出部
３０２  第１のカウント情報取得部
３０４  第１の時刻情報取得部
３０６  第２の時刻情報取得部
３０８  第２のカウント情報取得部
３１１  比較部
３１３  時刻情報組立部
５０１  時計同期処理
【図１】
0005845771.tif 000002
【図２】
0005845771.tif 000003
【図３】
0005845771.tif 000004
【図４】
0005845771.tif 000005
【図５】
0005845771.tif 000006
【図６】
0005845771.tif 000007
【図７】
0005845771.tif 000008
【図８】
0005845771.tif 000009
【図９】
0005845771.tif 000010
【図１０】
0005845771.tif 000011
【図１１】
0005845771.tif 000012
【図１２】
0005845771.tif 000013
【図１３】
0005845771.tif 000014
【図１４】
0005845771.tif 000015
【図１５】
0005845771.tif 000016
【図１６】
0005845771.tif 000017