説明

情報伝達システムおよび情報伝達方法

【課題】共有メモリを使用し、しかも送信側が共有メモリに書き込んだという情報を受信側に伝達する必要なく受信側が最新の情報を得ることのできる情報伝達システムおよび方法を得る。
【解決手段】情報伝達システム10は時間的に変化する可能性のある特定情報を入力する時点で、その度に内容の変化する情報としての変化情報を変化情報入力手段12で共有メモリ13に書き込み、この同一の情報を挟む形で、分割した特定情報を共有メモリ13に書き込む。受信側ではこれら1セットの最新情報を共有メモリ13から読み出し、1対の変化情報が一致すれば読み出した特定情報を最新の情報として採用する。一致しなければ一致するまで同様の処理を繰り返す。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一方の系あるいは装置から他方の系または装置がその時点についての特定の情報を伝達するのに好適な情報伝達システムおよび情報伝達方法に関する。本発明は、たとえばマルチコアプロセッサを使用した装置でOS(Operating System)が無いベアメタル(Bare metal)環境側がOSあり環境から正確な時刻情報を取得するのに好適に使用することのできる情報伝達システムおよび情報伝達方法に関する。
【背景技術】
【0002】
マルチコアプロセッサとは、1つのCPU(Central Processing Unit)にプロセッサコアを複数搭載したマイクロプロセッサである。プロセッサコアが複数の場合、その一部のプロセッサコア上で実行するタスクが単純な場合や、一部のプロセッサコア上で実行する機能に求められる性能が高い場合、OSがオーバヘッドとなる場合がある。このような単純なタスクや高い性能が求められる機能を実行するプロセッサコアにOSは必要とされない。そこで、プロセッサコアにはOSが存在するOS有り環境の他に、OSが無いベアメタル(Bare metal)環境が存在し得ることになる。ここでベアメタルとは、一般的なOSが提供する機能を持たない、最低限(例えば、メモリ管理とデバイスドライバだけのような)のソフトウェア動作環境をいう。
【0003】
図13は、本発明の第1の関連技術として、時計機能が存在しないベアメタル環境のノードの一例を表わしたものである。コンピュータの1つの管理単位としてのノード(node)100Aには、第0のコア110から第3のコア113までの4つのコアを持ったCPU120が配置されており、OSが無いベアメタル環境121が実現している。ここでは、時計機能が存在することなく、第1の機能131、第2の機能132および第3の機能133が実行されるようになっている。
【0004】
この第1の関連技術によれば、ベアメタル環境121には時計が存在しないので、第1〜第3の機能131〜133が時に関する制御を一切できないことになる。
【0005】
図14は、本発明の第2の関連技術として、時計機能の一部をなすインターバルタイマが備えられたベアメタル環境のノードの一例を表わしたものである。図14で図13と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
【0006】
図14に示したノード100Bのベアメタル環境141では、起動後から周期的に時を加算するインターバルタイマ142が配置されている。このため、たとえば第1の機能131が実行されたときから起算して時間t1後に第2の機能132を実行するといったような時間管理が可能になる。しかしながら、日時を知ることのできる時計が存在しないので、たとえば10月1日に第3の機能133を実行するといった処理は不可能である。
【0007】
図15は、本発明の第3の関連技術として、ベアメタル環境にリアルタイムクロックが備えられたノードの一例を表わしたものである。図15で図13と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
【0008】
図15に示したノード100Cでは、マルチコアプロセッサによってOS有り環境151とOSが無いベアメタル環境152の2つの環境が実現している。ベアメタル環境152には、日時を独自に計測するリアルタイムクロック161が配置されている。
【0009】
一方、OS有り環境151の方には、時計162が存在している。この時計162は、他のノード163内のNTP(Network Time Protocol)サーバ164とNTPクライアント165の間で取り決められた時刻同期プロトコル166によって、正しい日時に同期している。したがって、OS有り環境151で実行される第4の機能167は時計162によって正しい日時で制御されることになる。
【0010】
これに対して、リアルタイムクロック161の方は、図15で×印168で示すように、NTPサーバ164との通信を行うことができない。このため、リアルタイムクロック161は時計162と日時のずれが生じている可能性が大きく、また、このずれは修正されない。この結果、OS有り環境151とベアメタル環境152の間で、時間に関する処理の連携ができなくなる可能性がある。
【0011】
たとえば第1の機能131が10月1日午後1時ちょうどに共有メモリ169に書き込んだデータ(data)171を、第4の機能167が10月1日午後2時ちょうどに読み出して使用するという手順があったとする。この例の場合、リアルタイムクロック161が時計162に対して1時間を超える遅れがあった場合、第4の機能167は共有メモリ169を介してデータ171を受け取ることができない。
【0012】
以上説明したようにOSが無いベアメタル環境152では、NTPサーバ164等の外部の日時と同期した絶対時刻を示す時計を持つことができず、リアルタイムクロック161を用意した場合にも相対的な時刻を計時する機能しか実現することができない。
【0013】
一方、本発明の第4の関連技術として、マルチコアプロセッサを使用した装置環境で共有メモリを使用してデータの受け渡しを行うことが提案されている。この提案を用いると、一方の環境の時刻情報を他方の環境にデータとして受け渡すことができる。
【0014】
図16は、この第4の関連技術による情報伝達システムを説明するためのものである。この第4の関連技術の情報伝達システムでは、OSを搭載した送信装置181のデータ送信部182が受信装置183のデータ受信部184にデータの送信を行うために共有メモリ185を使用することにしている。
【0015】
送信装置181は受信装置183に送信する時刻情報が発生すると、共有メモリ185のデータ格納部186内の空き領域を確保し、そこに送信データをコピー(格納)する。更に、送信装置181は送信データの格納先アドレスの情報および送信データのデータ長情報を含んだメッセージブロックを未処理リスト格納部187へ格納(キューイング)する。そして、所定の条件が満たされると、受信装置183に対してドメイン間割り込み188を通知する。
【0016】
受信装置183は、送信装置181からのドメイン間割り込み188の通知を受け取ると、割り込みハンドラを起動し、データ受信部183によるデータ受信処理を実行する。具体的な動作を示すと、データ受信部183は、未処理リスト格納部187へアクセスし、そこに格納されているメッセージブロックを取得する。そして、取得したメッセージブロックをデータ受信部184から上位レイヤ処理部189へ転送する。
【0017】
上位レイヤ処理部189は、データ受信部184から受け取ったメッセージブロックに含まれる情報に基づいて、データ格納部186からデータを取得する。具体的には、メッセージブロックに含まれている送信データ格納先アドレス情報およびデータ長情報に基づいて取得すべき時刻情報が格納されている領域を特定し、特定した領域からこの時刻情報を取得する。そして、取得した時刻情報が格納されていた領域のアドレス情報および取得データのデータ長情報を含んだメッセージブロックを処理済リスト格納部191へキューイングする。したがって、データ格納部186に格納された時刻情報が受信装置183によって読み出された場合、読み出された時刻情報に対応する格納先アドレス情報およびデータ長情報(メッセージブロック)が未処理リスト格納部187から処理済リスト格納部191へ移動する。
【先行技術文献】
【特許文献】
【0018】
【特許文献1】特開2009−116561号公報(第0019段落〜第0021段落、図1)
【発明の概要】
【発明が解決しようとする課題】
【0019】
この第4の関連技術では、未処理リスト格納部187に格納されているメッセージブロックを取得する。このメッセージブロックはデータ送信部182がリスト化を行う前の時点の時刻情報であり、必ずしもデータ送信部182の現在の時刻情報を反映していない。データ送信部182はリストによって読み出されたメッセージブロックよりも更に新しい時刻情報をメッセージブロックとして未処理リスト格納部187へ格納してリスト化している場合もあり、またこのようなリスト化を行う作業が進行しつつある場合もある。
【0020】
このように第4の関連技術ではリストの介在によって、共有メモリ185に送信装置181が書き込んだ時点の時刻情報を受信装置183が取得できない可能性がある。したがって、送信装置181と受信装置183の時間的な連携に障害が発生する可能性がある。
【0021】
以上、OS有り環境とOSが無いベアメタル環境という2つの系の間での時刻情報の伝達に関する問題を指摘したが、時刻情報に限らず、たとえば温度や湿度といった環境情報のような時間の経過によって変化する情報を一方の系から他方の系に伝達する場合にも同様の問題が発生する。
【0022】
そこで本発明の目的は、共有メモリを使用し、しかも送信側が共有メモリに書き込んだという情報を受信側に伝達する必要なく受信側が最新の情報を得ることのできる情報伝達システムおよび情報伝達方法を提供することにある。
【課題を解決するための手段】
【0023】
本発明では、(イ)送信側としての第1の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第2の系に伝達する可能性のある情報としての特定情報を、前記した第1の系側で時間を置いて第1の周期で繰り返し入力する特定情報入力手段と、(ロ)この特定情報入力手段が前記した特定情報を入力するたびにその内容が変化する情報としての変化情報を前記した特定情報の入力のタイミングで前記した第1の系側で入力する変化情報入力手段と、(ハ)前記した第1の系と第2の系が共通してアクセスすることのできる共有メモリと、(ニ)前記した第1の系側で前記した特定情報入力手段の入力した前記した特定情報を前記した共有メモリに1回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する特定情報分割手段と、(ホ)前記した変化情報入力手段の入力した前記した変化情報を1回書き込み、続いて前記した変化情報入力手段によって分割した前記した複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記した変化情報と同一内容の変化情報を更に1回書き込んで、前記した共有メモリに対する1セット分の書き込みを終了する共有メモリ書込手段と、(ヘ)前記した第2の系側に配置され、前記した第1の周期よりも短い任意の第2の周期で前記した共有メモリから前記した変化情報および前記した複数の分割後特定情報のうちの最新のものを1セット分読み出す共有メモリ読出手段と、(ト)前記した第2の系側に配置され、この共有メモリ読出手段によって読み出した前記した変化情報の対の内容についてそれらの一致の有無を判別する変化情報一致有無判別手段と、(チ)前記した第2の系側に配置され、この変化情報一致有無判別手段によって前記した変化情報の対の内容が一致していると判別したとき前記した1セットを構成する残りの情報としての前記した複数の分割後特定情報を前記した予め定めた順番に沿って組み立てて前記した特定情報を再生する特定情報再生手段とを情報伝達システムが具備する。
【0024】
また、本発明では、(イ)送信側としての第1の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第2の系に伝達する可能性のある情報としての特定情報を、前記した第1の系側で時間を置いて第1の周期で繰り返し入力する特定情報入力ステップと、(ロ)この特定情報入力ステップで前記した特定情報を入力するたびにその内容が変化する情報としての変化情報を前記した特定情報の入力のタイミングで前記した第1の系側で入力する変化情報入力ステップと、(ハ)前記した第1の系側で前記した特定情報入力ステップで入力した前記した特定情報を前記した第1の系と第2の系が共通してアクセスすることのできるメモリとしての前記した共有メモリに1回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する特定情報分割ステップと、(ニ)前記した変化情報入力ステップで入力した前記した変化情報を1回書き込み、続いて前記した変化情報入力ステップによって分割した前記した複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記した変化情報と同一内容の変化情報を更に1回書き込んで、前記した共有メモリに対する1セット分の書き込みを終了する共有メモリ書込ステップと、(ホ)前記した第2の系側に配置され、前記した第1の周期よりも短い任意の第2の周期で前記した共有メモリから前記した変化情報および前記した複数の分割後特定情報のうちの最新のものを1セット分読み出す共有メモリ読出ステップと、(へ)前記した第2の系側に配置され、この共有メモリ読出ステップによって読み出した前記した変化情報の対の内容についてそれらの一致の有無を判別する変化情報一致有無判別ステップと、(ト)前記した第2の系側に配置され、この変化情報一致有無判別ステップによって前記した変化情報の対の内容が一致していると判別したとき前記した1セットを構成する残りの情報としての前記した複数の分割後特定情報を前記した予め定めた順番に沿って組み立てて前記した特定情報を再生する特定情報再生ステップとを情報伝達方法が具備する。
【発明の効果】
【0025】
以上説明したように本発明によれば、第1の系に存在し時間的にその内容が変化する可能性のある情報としての特定情報を、第2の系の必要とするときに第1の系から取得することができる。したがって、たとえば特定情報が第1の系の管理する時刻情報である場合を例に挙げると、第2の系側は特別の時計を備えることなく第1の系と時刻を一致させることができる。また、第1の系の時刻情報が外部の時計と同期するものであれば第2の系も外部の時計と直接同期する仕組みを持たなくてもその時刻情報を外部の時計と同期させることができる。
【0026】
また、本発明によれば特定情報分割手段あるいは特定情報分割ステップによって時刻情報等の特定情報を複数に分割して第1の系から第2の系に伝達するようにしている。したがって、伝達対象の特定情報のサイズの上限が共有メモリの1回の書き込み最大量に制限されることはない。このため、たとえば特定情報が第1の系の管理する時刻情報であるとすると、その時刻情報を表わす有効数字の桁数を十分大きく設定することができる。また、特定情報が第1の系の管理する環境変化を記述する情報であるとすると、各種環境を広範に記述することができることになる。
【図面の簡単な説明】
【0027】
【図1】本発明の情報伝達システムのクレーム対応図である。
【図2】本発明の情報伝達方法のクレーム対応図である。
【図3】本発明の一実施の形態による情報伝達システムを表わしたシステム構成図である。
【図4】本実施の形態における情報伝達システムの要部を、同期機構を中心として具体的に表わしたブロック図である。
【図5】本実施の形態のシーケンシャル書込部から出力される出力データの経時変化の一例を示した説明図である。
【図6】本実施の形態の、ある時点におけるカウンタのカウント値と時刻情報の一例を示した説明図である。
【図7】本実施の形態の情報伝達システムの時刻情報組立部で時刻情報が正しく組み立てられた場合の一例を示した説明図である。
【図8】本実施の形態の情報伝達システムの時刻情報組立部で時刻情報が正しく組み立てられなかった場合の一例を示した説明図である。
【図9】本実施の形態におけるOS有り環境での処理の様子を表わした流れ図である。
【図10】本実施の形態におけるOSが無いベアメタル環境での処理の様子を表わした流れ図である。
【図11】本発明の第1の変形例による情報伝達システムを表わしたシステム構成図である。
【図12】本発明の第2の変形例による情報伝達システムを表わしたシステム構成図である。
【図13】本発明の第1の関連技術として、時計機能が存在しないベアメタル環境のノードの一例を表わした概略構成図である。
【図14】本発明の第2の関連技術として、時計機能の一部をなすインターバルタイマが備わったベアメタル環境のノードの一例を表わした概略構成図である。
【図15】本発明の第3の関連技術として、ベアメタル環境にリアルタイムクロックが備わったノードの一例を表わした概略構成図である。
【図16】本発明の第4の関連技術の情報伝達システムを表わしたシステム構成図である。
【発明を実施するための形態】
【0028】
図1は、本発明の情報伝達システムのクレーム対応図を示したものである。本発明の情報伝達システム10は、特定情報入力手段11と、変化情報入力手段12と、共有メモリ13と、特定情報分割手段14と、共有メモリ書込手段15と、共有メモリ読出手段16と、変化情報一致有無判別手段17と、特定情報再生手段18を備えている。ここで、特定情報入力手段11は、送信側としての第1の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第2の系に伝達する可能性のある情報としての特定情報を、前記した第1の系側で時間を置いて第1の周期で繰り返し入力する。変化情報入力手段12は、特定情報入力手段11が前記した特定情報を入力するたびにその内容が変化する情報としての変化情報を前記した特定情報の入力のタイミングで前記した第1の系側で入力する。共有メモリ13は、前記した第1の系と第2の系が共通してアクセスすることのできるメモリである。特定情報分割手段14は、第1の系側で特定情報入力手段11の入力した前記した特定情報を共有メモリ13に1回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する。共有メモリ書込手段15は、変化情報入力手段12の入力した前記した変化情報を1回書き込み、続いて変化情報入力手段12によって分割した前記した複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記した変化情報と同一内容の変化情報を更に1回書き込んで、共有メモリ13に対する1セット分の書き込みを終了する。共有メモリ読出手段16は、前記した第2の系側に配置され、前記した第1の周期よりも短い任意の第2の周期で共有メモリ13から前記した変化情報および前記した複数の分割後特定情報のうちの最新のものを1セット分読み出す。変化情報一致有無判別手段17は、前記した第2の系側に配置され、この共有メモリ読出手段16によって読み出した前記した変化情報の対の内容についてそれらの一致の有無を判別する。特定情報再生手段18は、前記した第2の系側に配置され、この変化情報一致有無判別手段17によって前記した変化情報の対の内容が一致していると判別したとき前記した1セットを構成する残りの情報としての前記した複数の分割後特定情報を前記した予め定めた順番に沿って組み立てて前記した特定情報を再生する。
【0029】
図2は、本発明の情報伝達方法のクレーム対応図を示したものである。本発明の情報伝達方法20は、特定情報入力ステップ21と、変化情報入力ステップ22と、特定情報分割ステップ23と、共有メモリ書込ステップ24と、共有メモリ読出ステップ25と、変化情報一致有無判別ステップ26と、特定情報再生ステップ27を備えている。ここで、特定情報入力ステップ21では、送信側としての第1の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第2の系に伝達する可能性のある情報としての特定情報を、前記した第1の系側で時間を置いて第1の周期で繰り返し入力する。変化情報入力ステップ22では、特定情報入力ステップ21で前記した特定情報を入力するたびにその内容が変化する情報としての変化情報を前記した特定情報の入力のタイミングで前記した第1の系側で入力する。特定情報分割ステップ23では、前記した第1の系側で特定情報入力ステップ21で入力した前記した特定情報を前記した第1の系と第2の系が共通してアクセスすることのできるメモリとしての前記した共有メモリに1回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する。共有メモリ書込ステップ24では、変化情報入力ステップ22で入力した前記した変化情報を1回書き込み、続いて変化情報入力ステップ22によって分割した前記した複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記した変化情報と同一内容の変化情報を更に1回書き込んで、前記した共有メモリに対する1セット分の書き込みを終了する。共有メモリ読出ステップ25では、前記した第2の系側に配置され、前記した第1の周期よりも短い任意の第2の周期で前記した共有メモリから前記した変化情報および前記した複数の分割後特定情報のうちの最新のものを1セット分読み出す。変化情報一致有無判別ステップ26では、前記した第2の系側に配置され、この共有メモリ読出ステップ25によって読み出した前記した変化情報の対の内容についてそれらの一致の有無を判別する。特定情報再生ステップ27では、前記した第2の系側に配置され、この変化情報一致有無判別ステップ26によって前記した変化情報の対の内容が一致していると判別したとき前記した1セットを構成する残りの情報としての前記した複数の分割後特定情報を前記した予め定めた順番に沿って組み立てて前記した特定情報を再生する。
【0030】
<発明の実施の形態>
【0031】
次に本発明の実施の形態を説明する。
【0032】
図3は、本発明の一実施の形態による情報伝達システムを表わしたものである。この情報伝達システム200は、マルチコアプロセッサを使用したコンピュータから構成される第1のノード201と、この第1のノード201を正しい日時等の時刻に同期させるためのNTPサーバ211を備えた第2のノード202から構成されている。第1のノード201には、第0のコア220から第3のコア223までの4つのコアを持ったCPU230が配置されており、OS有り環境241とOSが無いベアメタル環境242の2つの環境が実現している。ベアメタル環境242では第1の機能251、第2の機能252および第3の機能253が実行されるようになっている。OS有り環境241では、第4の機能254が実行されるようになっている。
【0033】
OS有り環境241の方には、時計261およびNTPクライアント262が存在している。時計261は、第2のノード202内のNTPサーバ211とNTPクライアント262の間で取り決められた時刻同期プロトコル263によって、正しい日時に同期している。したがって、OS有り環境241で実行される第4の機能254は時計261によって正しい日時で補正された状態で制御されることになる。
【0034】
OS有り環境241とベアメタル環境242の間には、両環境から共通してアクセス可能な共有メモリ271が備えられている。また、OS有り環境241およびベアメタル環境242には、共有メモリ271を使用してOS有り環境241からベアメタル環境242に時刻情報273を伝達するための同期機構274が存在している。この結果として、たとえば第1の機能251および第2の機能252は、ベアメタル環境242の下でOS有り環境241と同期の採れた時計情報273を使用した処理が可能になる。
【0035】
図4は、本実施の形態における情報伝達システムの要部を、同期機構を中心として具体的に表わしたものである。図4で図3と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
【0036】
同期機構274は、OS有り環境241側に存在するOS有り環境側同期機構274Aと、ベアメタル環境242側に存在するベアメタル環境側同期機構274Bとで構成されている。このうちOS有り環境側同期機構274Aは、時計261から時刻情報281の読み取りを行う時刻情報読取部282を備えている。時刻情報読取部282は、読取周期設定部283から与えられた読取周期284に応じて、たとえば1秒間に1回という周期で時計261から時刻情報281の読み取りを行う。
【0037】
読取周期設定部283によって設定される読取周期は、ベアメタル環境242側の要請に応じて予め設定されている。したがって、図3に示した第1の機能251および第2の機能252の実現のために、1秒間に1回という周期で時刻情報281の同期が必要とされたとしても、その後に第3の機能を新たに実現するために0.1秒間に1回という周期で時刻情報281の同期が必要とされた場合には、読取周期をそれに合わせて変更することになる。
【0038】
OS有り環境側同期機構274Aには、時刻情報読取部282の出力側に第1の時刻情報バッファ286と第2の時刻情報バッファ287が設けられている。時刻情報読取部282は第1の時刻情報バッファ286に対して、読み取った時刻情報281を構成するビット列の前半部分を構成する第1の時刻情報288を格納する。また、時刻情報読取部282は第2の時刻情報バッファ287に対して、読み取った時刻情報281を構成するビット列の後半部分を構成する第2の時刻情報289を格納する。
【0039】
第1の時刻情報バッファ286と第2の時刻情報バッファ287の出力側には、4ステップを1セットとして各データの書き込みを行い、これを周期的に繰り返すシーケンシャル書込部291が配置されている。シーケンシャル書込部291は、この4ステップを1周期としたカウント値292を出力するカウンタ293とも接続されている。このうち2ステップがカウンタ293の出力するカウント値292であり、残り2ステップが第1の時刻情報288および第2の時刻情報289となる。
【0040】
なお、カウンタ293のカウント値292は4ステップに要する時間よりも短い時間で変化するものであってもよい。すなわち、1セットごとに異なる値が出力されるものであれば、カウンタ293以外のデバイスを使用することが可能である。
【0041】
シーケンシャル書込部291から出力される出力データ295は、共有メモリ271を構成するリングバッファ296に書き込まれる。リングバッファ296は、第1の領域R1〜第4の領域R4から構成されており、出力データ295を1ステップずつ順に対応する場所に書き込むようになっている。第1の領域R1には第1のステップでシーケンシャル書込部291から出力される出力データ295(WRITE1)が書き込まれ、第2の領域R2には第2のステップでシーケンシャル書込部291から出力される出力データ295(WRITE2)が書き込まれる。同様に第3の領域R3には第3のステップでシーケンシャル書込部291から出力される出力データ295(WRITE3)が書き込まれ、第4の領域R4には第4のステップでシーケンシャル書込部291から出力される出力データ295(WRITE4)が書き込まれる。その次のステップは、第1のステップに再び戻り、シーケンシャル書込部291から出力される出力データ295(WRITE1)が第1の領域R1に上書きされる。以下同様にしてリングバッファ296にはカウント値292が2ステップ分と、第1の時刻情報288および第2の時刻情報289がそれぞれ1ステップ分ずつ順にサイクリックに書き込まれることになる。
【0042】
図5は、本実施の形態のシーケンシャル書込部から出力される出力データの経時変化の一例を示したものである。ここでは、出力データ295の各ステップと、それぞれのステップにおける出力データ295の種類および出力データ295の内容を時間の変化と共に示している。図4と共に説明する。
【0043】
この図で示した一番上の時間的に一番早い第1のステップでは出力データ295が「WRITE1」であり、その内容はカウンタ293の出力するカウント値292としての「カウント値0001」である。次の第2のステップでは出力データ295が「WRITE2」であり、その内容は第1の時刻情報バッファ286の出力する第1の時刻情報288としての「1234秒」である。この「1234秒」は時刻情報読取部282が時計261から時刻情報281として読み取ったビット列の前半部分を構成する第1の時刻情報288である。「1234秒」は時計261から読み取った瞬間の何時何分何秒を意味する。
【0044】
次の第3のステップでは出力データ295が「WRITE3」であり、その内容は第2の時刻情報バッファ287の出力する第2の時刻情報289としての「5678マイクロ(μ)秒」である。この「5678マイクロ秒」は時刻情報読取部282が時計261から時刻情報281として読み取ったビット列の後半部分を構成する第2の時刻情報289である。「5678マイクロ秒」は時計261から1秒の小数点以下をマイクロ秒として表わしたものである。
【0045】
次の第4のステップでは出力データ295が「WRITE4」であり、その内容はカウンタ293の出力するカウント値292としての「カウント値0001」である。これは、カウンタ293がカウント値292として読み取った値を第1のステップと第4のステップで共通の値として出力したものであり、その読み取りのタイミングは時刻情報読取部282が時計261から時刻情報281を読み取るタイミングと一致している。
【0046】
図6は、本実施の形態である時点におけるカウンタのカウント値と時刻情報の一例を示したものである。図4および図5と共に説明する。
【0047】
図6に示した例では、図5で直前に説明した第1のステップ〜第4のステップでシーケンシャル書込部291から出力される出力データ295の内容を示している。すなわち、時刻情報読取部282が時計261から時刻情報281を読み取ったそのときのカウンタ293のカウント値が「カウント値0001」を示しており、このときの時刻情報281が「1234秒5678マイクロ秒」である。「1234秒5678マイクロ秒」を第2のステップと第3のステップで「1234秒」と「5678マイクロ秒」に分けたのは、リングバッファ296に一度に書き込まれるビット数に制限があるからである。
【0048】
したがって、たとえば「2011年09月25日午前10時09分08秒765432マイクロ秒」という時刻情報が存在して、これをOS有り環境241からベアメタル環境242に伝達するのに共有メモリ271に4回に分けた時刻情報の書き込みが必要であったとする。この場合には、現在説明している第1のステップ〜第4のステップでシーケンシャル書込部291から1サイクルとして出力される出力データ295の代わりに、第1のステップ〜第6のステップで1サイクルの出力データ295が出力されることになる。
【0049】
図5に示した例では、第1のステップ〜第4のステップの1サイクルごとにカウンタ293のカウント値292が「カウント値0001」、「カウント値0002」、……と変化していくが、第1のステップ〜第6のステップが1サイクルを構成する場合にはこのサイクルでカウント値292が順に変化することになる。また、第1のステップ〜第4のステップが1サイクルを構成する場合には、このうちの第1のステップと第4のステップのカウント値が「カウント値0001」を示している。第1のステップ〜第6のステップが1サイクルを構成する場合には、第1のステップと第6のステップのカウント値が「カウント値0001」を示すことになり、その間の第2のステップ〜第5のステップで時刻情報が分割して出力されることになる。
【0050】
ベアメタル環境242側の同期機構274を構成するベアメタル環境側同期機構274Bでは、シーケンシャル読出部301がリングバッファ296からデータの読み出しを行う。ただし、ベアメタル環境242はOS有り環境241と同一環境ではなく、統一したクロックが存在するものでもない。シーケンシャル読出部301は、図3に示した第1の機能251等の機能部の処理の要請に基づいて時刻情報をOS有り環境241とは全くの非同期で、またOS有り環境241と異なった周期でデータを読み出すことになる。ただし、シーケンシャル読出部301のリングバッファ296に対する読出周期は、読取周期設定部283の設定によって時刻情報読取部282の時刻情報281についての読み取りの周期よりも短い周期で読み出しが行われるようになっている。
【0051】
シーケンシャル読出部301は、第1のカウント情報取得部302の指示によって、まずリングバッファ296の第1の領域R1から第1のカウント情報303を読み出す。次にシーケンシャル読出部301は、第1の時刻情報取得部304の指示によって、リングバッファ296の第2の領域R2から第1の時刻情報305を読み出す。次にシーケンシャル読出部301は、第2の時刻情報取得部306の指示によって、リングバッファ296の第3の領域R3から第2の時刻情報307を読み出す。最後にシーケンシャル読出部301は、第2のカウント情報取得部308の指示によって、リングバッファ296の第4の領域R4から第2のカウント情報309を読み出す。
【0052】
シーケンシャル読出部301は、以上説明した第1の領域R1〜第4の領域R4からのデータの読み出しを行ったら、以後も同様に第1の領域R1〜第4の領域R4からのデータの読み出しを繰り返すことになる。
【0053】
第1のカウント情報取得部302が取得した第1のカウント情報303と第2のカウント情報取得部308が取得した第2のカウント情報309は、比較部311に入力されて、それらの値としての「カウント値××××」と「カウント値○○○○」が比較される。そして、「カウント値××××」と「カウント値○○○○」が等しいときには、イネーブル信号312が時刻情報組立部313に供給される。
【0054】
時刻情報組立部313は、第1の時刻情報取得部304から第1の時刻情報305を入力しており、第2の時刻情報取得部306から第2の時刻情報307を入力している。時刻情報組立部313は、比較部311からイネーブル信号312が供給されると、そのタイミングで第1の時刻情報305と第2の時刻情報307を連結して時刻情報314とする。この時刻情報314は、ベアメタル環境242におけるその時点の時刻を表わす情報として使用される。
【0055】
比較部311からイネーブル信号312が供給されなかったとき、すなわちディスエーブルの状態のとき、時刻情報組立部313は入力された第1の時刻情報305と第2の時刻情報307を破棄し、時刻情報314としては出力しない。この理由を次に説明する。
【0056】
図7は、情報伝達システムの時刻情報組立部で時刻情報が正しく組み立てられた場合の一例を示したものである。この例の場合には、先に説明したようにリングバッファ296の第1の領域R1に書き込まれたカウント値と第4の領域R4に書き込まれたカウント値が共に「カウント値0001」で、一致している。したがって、リングバッファ296の第2の領域R2と第3の領域R3から読み出された第1の時刻情報305と第2の時刻情報307によって組み立てられた時刻情報である「1234秒5678μ秒」はOS有り環境241とOSが無いベアメタル環境242の双方で一致した時刻情報ということになる。
【0057】
図8は、これに対して情報伝達システムの時刻情報組立部で時刻情報が正しく組み立てられなかった場合、すなわち時刻情報が破棄される場合の一例を示したものである。この例の場合には、リングバッファ296の第1の領域R1に書き込まれたカウント値が図7の場合よりも1サイクルだけ後の「カウント値0002」となっており、第2の領域R2に書き込まれた第1の時刻情報が同様に図7の場合よりも1サイクルだけ後の「1235秒」となっている(図5参照)。これ以外は図7と同じ1サイクル前の状態である。
【0058】
この結果、図8に示した例では第1の領域R1に書き込まれたカウント値と第4の領域R4に書き込まれたカウント値が不一致の状態となる。したがって、図4に示す時刻情報組立部313は第1の時刻情報305と第2の時刻情報307によって組み立てられたであろう時刻情報「1235秒5678μ秒」を間違った時刻情報として破棄する。この場合、図4に示したベアメタル環境側同期機構274Bは比較部311による比較処理を繰り返し、比較結果が一致してイネーブル信号312が時刻情報組立部313に供給された時点でベアメタル環境242の時刻情報314を得ることになる。
【0059】
以上、図4におけるOS有り環境側同期機構274Aがその時刻情報読取部282等の各種機能部を使用して時計261から時刻情報281を読み出して共有メモリ271に書き込み、ベアメタル環境242のベアメタル環境側同期機構274Bがこれを読み出して時刻情報314を得ることを説明した。以上の処理はOS有り環境241側およびベアメタル環境242側で、たとえば図3に示した第0のコア220〜第3のコア223のうちの該当するCPUコアを用いた仮想化マシンによってソフトウェアの処理としても実現することができる。
【0060】
図9は、本実施の形態におけるOS有り環境での処理の様子を表わしたものである。図3および図4と共に説明する。
【0061】
OS有り環境241側では、ベアメタル環境242側の必要とする時間精度で時刻情報の読取時機を設定している。たとえば第0のコア220によって実現される図示しない制御部は、この時刻読取時機が到来するかを監視してる(ステップS401)。時刻読取時機が到来したら(Y)、制御部は時計261から時刻情報281を読み取ると共にカウンタ293からその時点のカウント値を取得して保持する(ステップS402)。
【0062】
次に制御部は保持したカウント値を共有メモリ271の第1の領域R1に上書きする(ステップS403)。次に制御部はステップS402で読み取った時刻情報のうちの第1の時刻情報を共有メモリ271の第2の領域R2に上書きする(ステップS404)。そして、更に制御部はステップS402で読み取った時刻情報のうちの第2の時刻情報を共有メモリ271の第3の領域R3に上書きする(ステップS405)。最後に制御部はステップS402で保持したカウンタ293のカウント値を第4の領域R4にも上書きする(ステップS406)。
【0063】
その後、制御部はステップS401の処理に戻る(リターン)。すなわちOS有り環境241側では、ベアメタル環境242側が時刻情報を必要としている時間帯では少なくとも共有メモリ271に対するデータの書込作業を繰り返す。
【0064】
図10は、本実施の形態におけるOSが無いベアメタル環境での処理の様子を表わしたものである。図3および図4と共に説明する。
【0065】
ベアメタル環境242側では、一例として第1の機能251がOS有り環境241側と同一の時刻情報を必要とすると(ステップS421:Y)、たとえば第1のコア221によって実現される図示しない制御部は、共有メモリ271の第1の領域R1から第1のカウント情報としてのカウント値を読み出す(ステップS422)。続いて制御部は、共有メモリ271の第2の領域R2から第1の時刻情報を読み出し(ステップS423)、共有メモリ271の第3の領域R3から第2の時刻情報を読み出す(ステップS424)。
【0066】
この後、制御部は共有メモリ271の第4の領域R4から第2のカウント情報としてのカウント値を読み出して(ステップS425)、これをステップS422で読み出した第1のカウント情報と一致するかを調べる(ステップS426)。両カウント値が一致する場合には(Y)、第1の時刻情報と第2の時刻情報から現時点の時刻情報を作成する(ステップS427)。そして、ステップS421に戻って(リターン)、次の時刻情報の処理に備える。
【0067】
一方、ステップS426で第1のカウント情報と第2のカウント情報の内容が一致しなかった場合には(N)、そのまま第1の時刻情報と第2の時刻情報を組み立てると、異なった時点の時刻内容が混ざった内容となってしまう。そこで処理をステップS422に戻して、再びステップS425までの処理を共有メモリ271に対して行う。このようにしてステップS426で第1のカウント情報と第2のカウント情報の内容が一致するまで共有メモリ271のアクセスが時間を置いて繰り返され、一致した時点でOS有り環境241側の時刻情報をベアメタル環境242側が取得することになる。
【0068】
以上説明した本実施の形態によれば、OS有り環境241とベアメタル環境242の2種類の動作環境から共にアクセス可能な共有メモリ271が存在するだけで、OS有り環境241の時刻情報を高精度にベアメタル環境242が得ることができる。したがって、時刻情報の不一致によるOS有り環境241とベアメタル環境242間での不具合の発生を解消することができる。
【0069】
しかも本実施の形態ではOS有り環境241側に配置された時計261がNTPサーバ211によって時刻の修正を行えるようになっている。したがって、時計を配置することのできないベアメタル環境242側でもOS有り環境241を介して外部の時刻と合致した正確な時刻を得ることができる。すなわち、図3に示す第1の機能251や第2の機能252が時刻を必要としたときに外部と同期した時刻を使用することができる。しかも時刻情報を複数に分割して共有メモリ271に格納するので、時刻情報を構成するデータのビット数を制限されることがない。
【0070】
更に本実施の形態では図4に示す読取周期設定部283が時計261の時刻情報281を共有メモリ271に書き込む周期を設定できるようにした。これにより、OS有り環境241側はベアメタル環境242側の第1の機能251等の各種機能が必要とする精度に合わせて共有メモリ271へのアクセスを行うことができ、過度な精度による不必要な負荷が掛かることを防止することができる。
【0071】
更にまた本実施の形態では、OS有り環境241とベアメタル環境242の間の同期処理を、プロセスの周期処理で行うことにした。そこで、次に説明するOS環境のカーネルに修正を加える第1の変形例と異なり、カーネルに修正を加えることなく、OS無しの環境へ同期した時刻情報を提供することができる
【0072】
<発明の第1の変形可能性>
【0073】
図11は、本発明の第1の変形例による情報伝達システムを表わしたものである。図11で図3と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
【0074】
この第1の変形例の情報伝達システム200Aでは、先の実施の形態よりも時計261の同期精度の向上を図っている。すなわち情報伝達システム200Aで、時計261とNTPサーバ211の関係は、情報伝達システム200と同一であるが、時計261の時刻情報を共有メモリ271に同期させる処理が異なる。
【0075】
この変形例では、図3で使用したプロセスによる同期機構274を採用せず、時計同期処理501をOS有り環境241のそのOS(カーネル)に実装するようにしている。OSでは、そのティック単位で最短周期処理間隔を採ることができる。
【0076】
ここでティックという単位を簡単に説明する。ソフトウェアとしてのカーネルは、ハードウェアから定期的に割り込み(タイマ割り込み)を受信する。そして、このタイマ割り込みを最短周期として、ソフトウェアとしての相対タイマを実現する。たとえばリナックス(登録商標)を例に挙げると、バージョンの違いによって10ミリ秒あるいは1ミリ秒で相対タイマをインクリメントするようになっている。これがティックという単位である。相対タイマのインクリメントによっては計測する時間が正確には定まらない。そこで、NTPサーバ211等の外部時計による補正を行っている。
【0077】
このような第1の変形例の情報伝達システム200Aではカーネル内にてOSのティック処理と同じタイミングで、OSの時計261を読み出して、共有メモリ271に時刻情報502を書き込む時計同期処理501を実行する。この結果、最短同期間隔でOSの時計261とOSの存在しないベアメタル環境242の双方で使用する共有メモリ271上の時計を同期させることができ、同期の精度を先の実施の形態の情報伝達システム200よりも向上させることができる。
【0078】
以上説明したように第1の変形例の情報伝達システム200Aによれば、同期処理をカーネル内部のティック単位で行うことで、プロセスでの実装では実現できないような最短同期間隔で同期された、精度の高い時刻をOS無しの環境に提供することができる。
【0079】
<発明の第2の変形可能性>
【0080】
図12は、本発明の第2の変形例による情報伝達システムを表わしたものである。図12で図3と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
【0081】
第2の変形例による情報伝達システム200Bでは、OS有り環境241に存在した時計261を、OSが無いベアメタル環境242から直接参照が可能な共有メモリ271B上に実装することにしている。このためにはOS有り環境241における既存のカーネルの時計機能を修正する必要がある。
【0082】
しかしながらOS環境で実現する時計601を共有メモリ271B上で実現することで、OSが無いベアメタル環境242からもOSが存在する環境の時計の時刻情報を参照し使用することができるようになる。しかもOS有り環境241ではNTPクライアント262が共有メモリ271B上の時計601をNTPサーバ211と同期させることができる。
【0083】
また、第2の変形例による情報伝達システム200Bでは図3に示したOS有り環境241からベアメタル環境242に時刻情報273を伝達するための同期機構274が不要である。このため、たとえば第1の機能251および第2の機能252は、ベアメタル環境242の下でOS有り環境241と同じ精度の時計情報を参照し使用することができる。
【0084】
なお、以上説明した実施の形態および各変形例では、ベアメタル環境242がOS有り環境241の時刻情報を取得する場合を説明したが、その他の情報をベアメタル環境242がOS有り環境241と一致させて取得する場合にも本発明を同様に適用することができる。
【0085】
また、実施の形態および各変形例では、OS有り環境241とベアメタル環境242を例に挙げて、一方の系が他方の系から同一内容の情報を取得する場合を説明したが、これに限るものではない。たとえばOSを有する2つの系の一方が共通にアクセス可能な共有メモリを介して、以上説明した技術思想でデータの取得を行うことも可能である。
【0086】
更に実施の形態では共有メモリ271を構成するリングバッファ296を介してOS有り環境241からベアメタル環境242に情報の伝達を行ったが、通常の構成のメモリを使用してアドレスの制御を行うことも可能である。
【0087】
更にまた実施の形態では時刻情報273を共有メモリ271に書き込む際にカウンタ293のカウント値292を読み出してこれも共有メモリ271に書き込むことでベアメタル環境242側がこのカウント値293を比較して時刻情報273が正確に伝達されたかをチェックしたが、これに限るものではない。カウンタ293のカウント値292の代わりに情報の伝送のたびに内容の変化する変化情報を使用することも可能である。たとえばA、B、C、Dという4つに順次変化する変化情報を用意しておき、これらをサイクリックにOS有り環境241からベアメタル環境242に伝達するようにしてもよい。
【0088】
また、実施の形態および変形例ではNTPサーバ211を用いて時計261を外部の時計と同期させたが、NTPサーバ211以外の外部時計を使用して時刻の同様の補正を行ってもよいことは当然である。
【0089】
以上説明した実施の形態の一部または全部は、以下の付記のようにも記載されるが、以下の記載に限定されるものではない。
【0090】
(付記1)
送信側としての第1の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第2の系に伝達する可能性のある情報としての特定情報を、前記第1の系側で時間を置いて第1の周期で繰り返し入力する特定情報入力手段と、
この特定情報入力手段が前記特定情報を入力するたびにその内容が変化する情報としての変化情報を前記特定情報の入力のタイミングで前記第1の系側で入力する変化情報入力手段と、
前記第1の系と第2の系が共通してアクセスすることのできる共有メモリと、
前記第1の系側で前記特定情報入力手段の入力した前記特定情報を前記共有メモリに1回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する特定情報分割手段と、
前記変化情報入力手段の入力した前記変化情報を1回書き込み、続いて前記変化情報入力手段によって分割した前記複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記変化情報と同一内容の変化情報を更に1回書き込んで、前記共有メモリに対する1セット分の書き込みを終了する共有メモリ書込手段と、
前記第2の系側に配置され、前記第1の周期よりも短い任意の第2の周期で前記共有メモリから前記変化情報および前記複数の分割後特定情報のうちの最新のものを1セット分読み出す共有メモリ読出手段と、
前記第2の系側に配置され、この共有メモリ読出手段によって読み出した前記変化情報の対の内容についてそれらの一致の有無を判別する変化情報一致有無判別手段と、
前記第2の系側に配置され、この変化情報一致有無判別手段によって前記変化情報の対の内容が一致していると判別したとき前記1セットを構成する残りの情報としての前記複数の分割後特定情報を前記予め定めた順番に沿って組み立てて前記特定情報を再生する特定情報再生手段
とを具備することを特徴とする情報伝達システム。
【0091】
(付記2)
前記第2の系側に配置され、前記変化情報一致有無判別手段によって前記変化情報の対の内容が一致していないと判別したとき、一致すると判別するまで前記共有メモリ読出手段によって前記変化情報および前記複数の分割後特定情報のうちの最新のものを1セット分読み出す操作を繰り返す読出反復手段を具備することを特徴とする付記1記載の情報伝達システム。
【0092】
(付記3)
前記第1の系はマルチコアプロセッサを使用した装置におけるOS有り環境の系であり、前記第2の系はOSが無いベアメタル環境の系であって、前記特定情報は第1の系に配置された時計が出力する時刻情報であることを特徴とする付記1または付記2記載の情報伝達システム。
【0093】
(付記4)
前記OS有り環境のそのOSが時刻情報をタイマ割り込みを最短周期としてのティック単位で管理することを特徴とする付記3記載の情報伝達システム。
【0094】
(付記5)
前記時計は前記共有メモリに実装されており、前記第2の系が前記時計の時刻情報を参照し使用可能であることを特徴とする付記3記載の情報伝達システム。
【0095】
(付記6)
前記変化情報は、前記第1の系に配置されカウント値を時間の経過と共に変化して出力するカウンタであることを特徴とする付記1記載の情報伝達システム。
【0096】
(付記7)
前記特定情報分割手段は、前記特定情報を構成する前記時刻情報を2つの分割後特定情報に分割することを特徴とする付記3記載の情報伝達システム。
【0097】
(付記8)
前記第1の系に配置された前記時計は、NTP(Network Time Protocol)サーバと通信を行うNTPクライアントによって前記時刻情報を補正されることを特徴とする付記3または付記5記載の情報伝達システム。
【0098】
(付記9)
送信側としての第1の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第2の系に伝達する可能性のある情報としての特定情報を、前記第1の系側で時間を置いて第1の周期で繰り返し入力する特定情報入力ステップと、
この特定情報入力ステップで前記特定情報を入力するたびにその内容が変化する情報としての変化情報を前記特定情報の入力のタイミングで前記第1の系側で入力する変化情報入力ステップと、
前記第1の系側で前記特定情報入力ステップで入力した前記特定情報を前記第1の系と第2の系が共通してアクセスすることのできるメモリとしての前記共有メモリに1回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する特定情報分割ステップと、
前記変化情報入力ステップで入力した前記変化情報を1回書き込み、続いて前記変化情報入力ステップによって分割した前記複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記変化情報と同一内容の変化情報を更に1回書き込んで、前記共有メモリに対する1セット分の書き込みを終了する共有メモリ書込ステップと、
前記第2の系側に配置され、前記第1の周期よりも短い任意の第2の周期で前記共有メモリから前記変化情報および前記複数の分割後特定情報のうちの最新のものを1セット分読み出す共有メモリ読出ステップと、
前記第2の系側に配置され、この共有メモリ読出ステップによって読み出した前記変化情報の対の内容についてそれらの一致の有無を判別する変化情報一致有無判別ステップと、
前記第2の系側に配置され、この変化情報一致有無判別ステップによって前記変化情報の対の内容が一致していると判別したとき前記1セットを構成する残りの情報としての前記複数の分割後特定情報を前記予め定めた順番に沿って組み立てて前記特定情報を再生する特定情報再生ステップ
とを具備することを特徴とする情報伝達方法。
【0099】
(付記10)
前記第2の系側に配置され、前記変化情報一致有無判別ステップによって前記変化情報の対の内容が一致していないと判別したとき、一致すると判別するまで前記共有メモリ読出ステップを用いて、前記変化情報および前記複数の分割後特定情報のうちの最新のものを1セット分読み出す操作を繰り返す読出反復ステップを具備することを特徴とする付記9記載の情報伝達方法。
【0100】
(付記11)
前記第1の系はマルチコアプロセッサを使用した装置におけるOS有り環境の系であり、前記第2の系はOSが無いベアメタル環境の系であって、前記特定情報は第1の系に配置された時計が出力する時刻情報であることを特徴とする付記10または付記11記載の情報伝達方法。
【産業上の利用可能性】
【0101】
以上説明したように本発明は単にマルチコアプロセッサを使用した装置に利用が制限されるものではなく、送信側としての第1の系に存在し時間的にその内容が変化する可能性のある情報を、受信側としての第2の系に伝達する各種装置やシステムに広く適用することができる。
【符号の説明】
【0102】
10、200、200A、200B 情報伝達システム
11 特定情報入力手段
12 変化情報入力手段
13、271、271B 共有メモリ
14 特定情報分割手段
15 共有メモリ書込手段
16 共有メモリ読出手段
17 変化情報一致有無判別手段
18 特定情報再生手段
20 情報伝達方法
21 特定情報入力ステップ
22 変化情報入力ステップ
23 特定情報分割ステップ
24 共有メモリ書込ステップ
25 共有メモリ読出ステップ
26 変化情報一致有無判別ステップ
27 特定情報再生ステップ
201、201A、201B 第1のノード
202 第2のノード
220 第0のコア
221 第1のコア
222 第2のコア
223 第3のコア
230 CPU
211 NTPサーバ
241 OS有り環境
242 (OSが無い)ベアメタル環境
261、601 時計
262 NTPクライアント
273 時計情報
274 同期機構
281、314、502 時刻情報
282 時刻情報読取部
283 読取周期設定部
286 第1の時刻情報バッファ
287 第2の時刻情報バッファ
291 シーケンシャル書込部
293 カウンタ
296 リングバッファ
301 シーケンシャル読出部
302 第1のカウント情報取得部
304 第1の時刻情報取得部
306 第2の時刻情報取得部
308 第2のカウント情報取得部
311 比較部
313 時刻情報組立部
501 時計同期処理

【特許請求の範囲】
【請求項1】
送信側としての第1の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第2の系に伝達する可能性のある情報としての特定情報を、前記第1の系側で時間を置いて第1の周期で繰り返し入力する特定情報入力手段と、
この特定情報入力手段が前記特定情報を入力するたびにその内容が変化する情報としての変化情報を前記特定情報の入力のタイミングで前記第1の系側で入力する変化情報入力手段と、
前記第1の系と第2の系が共通してアクセスすることのできる共有メモリと、
前記第1の系側で前記特定情報入力手段の入力した前記特定情報を前記共有メモリに1回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する特定情報分割手段と、
前記変化情報入力手段の入力した前記変化情報を1回書き込み、続いて前記変化情報入力手段によって分割した前記複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記変化情報と同一内容の変化情報を更に1回書き込んで、前記共有メモリに対する1セット分の書き込みを終了する共有メモリ書込手段と、
前記第2の系側に配置され、前記第1の周期よりも短い任意の第2の周期で前記共有メモリから前記変化情報および前記複数の分割後特定情報のうちの最新のものを1セット分読み出す共有メモリ読出手段と、
前記第2の系側に配置され、この共有メモリ読出手段によって読み出した前記変化情報の対の内容についてそれらの一致の有無を判別する変化情報一致有無判別手段と、
前記第2の系側に配置され、この変化情報一致有無判別手段によって前記変化情報の対の内容が一致していると判別したとき前記1セットを構成する残りの情報としての前記複数の分割後特定情報を前記予め定めた順番に沿って組み立てて前記特定情報を再生する特定情報再生手段
とを具備することを特徴とする情報伝達システム。
【請求項2】
前記第2の系側に配置され、前記変化情報一致有無判別手段によって前記変化情報の対の内容が一致していないと判別したとき、一致すると判別するまで前記共有メモリ読出手段によって前記変化情報および前記複数の分割後特定情報のうちの最新のものを1セット分読み出す操作を繰り返す読出反復手段を具備することを特徴とする請求項1記載の情報伝達システム。
【請求項3】
前記第1の系はマルチコアプロセッサを使用した装置におけるOS有り環境の系であり、前記第2の系はOSが無いベアメタル環境の系であって、前記特定情報は第1の系に配置された時計が出力する時刻情報であることを特徴とする請求項1または請求項2記載の情報伝達システム。
【請求項4】
前記OS有り環境のそのOSが時刻情報をタイマ割り込みを最短周期としてのティック単位で管理することを特徴とする請求項3記載の情報伝達システム。
【請求項5】
前記時計は前記共有メモリに実装されており、前記第2の系が前記時計の時刻情報を参照し使用可能であることを特徴とする請求項3記載の情報伝達システム。
【請求項6】
前記変化情報は、前記第1の系に配置されカウント値を時間の経過と共に変化して出力するカウンタであることを特徴とする請求項1記載の情報伝達システム。
【請求項7】
前記特定情報分割手段は、前記特定情報を構成する前記時刻情報を2つの分割後特定情報に分割することを特徴とする請求項3記載の情報伝達システム。
【請求項8】
前記第1の系に配置された前記時計は、NTP(Network Time Protocol)サーバと通信を行うNTPクライアントによって前記時刻情報を補正されることを特徴とする請求項3または請求項5記載の情報伝達システム。
【請求項9】
送信側としての第1の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第2の系に伝達する可能性のある情報としての特定情報を、前記第1の系側で時間を置いて第1の周期で繰り返し入力する特定情報入力ステップと、
この特定情報入力ステップで前記特定情報を入力するたびにその内容が変化する情報としての変化情報を前記特定情報の入力のタイミングで前記第1の系側で入力する変化情報入力ステップと、
前記第1の系側で前記特定情報入力ステップで入力した前記特定情報を前記第1の系と第2の系が共通してアクセスすることのできるメモリとしての前記共有メモリに1回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する特定情報分割ステップと、
前記変化情報入力ステップで入力した前記変化情報を1回書き込み、続いて前記変化情報入力ステップによって分割した前記複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記変化情報と同一内容の変化情報を更に1回書き込んで、前記共有メモリに対する1セット分の書き込みを終了する共有メモリ書込ステップと、
前記第2の系側に配置され、前記第1の周期よりも短い任意の第2の周期で前記共有メモリから前記変化情報および前記複数の分割後特定情報のうちの最新のものを1セット分読み出す共有メモリ読出ステップと、
前記第2の系側に配置され、この共有メモリ読出ステップによって読み出した前記変化情報の対の内容についてそれらの一致の有無を判別する変化情報一致有無判別ステップと、
前記第2の系側に配置され、この変化情報一致有無判別ステップによって前記変化情報の対の内容が一致していると判別したとき前記1セットを構成する残りの情報としての前記複数の分割後特定情報を前記予め定めた順番に沿って組み立てて前記特定情報を再生する特定情報再生ステップ
とを具備することを特徴とする情報伝達方法。
【請求項10】
前記第2の系側に配置され、前記変化情報一致有無判別ステップによって前記変化情報の対の内容が一致していないと判別したとき、一致すると判別するまで前記共有メモリ読出ステップを用いて、前記変化情報および前記複数の分割後特定情報のうちの最新のものを1セット分読み出す操作を繰り返す読出反復ステップを具備することを特徴とする請求項9記載の情報伝達方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2013−69236(P2013−69236A)
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2011−209096(P2011−209096)
【出願日】平成23年9月26日(2011.9.26)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】