JP5845771B2 - Information transmission system and information transmission method - Google Patents
Information transmission system and information transmission method Download PDFInfo
- Publication number
- JP5845771B2 JP5845771B2 JP2011209096A JP2011209096A JP5845771B2 JP 5845771 B2 JP5845771 B2 JP 5845771B2 JP 2011209096 A JP2011209096 A JP 2011209096A JP 2011209096 A JP2011209096 A JP 2011209096A JP 5845771 B2 JP5845771 B2 JP 5845771B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- change
- specific information
- time
- shared memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Electric Clocks (AREA)
- Information Transfer Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Description
本発明は、一方の系あるいは装置から他方の系または装置がその時点についての特定の情報を伝達するのに好適な情報伝達システムおよび情報伝達方法に関する。本発明は、たとえばマルチコアプロセッサを使用した装置でOS(Operating System)が無いベアメタル(Bare metal)環境側がOSあり環境から正確な時刻情報を取得するのに好適に使用することのできる情報伝達システムおよび情報伝達方法に関する。 The present invention relates to an information transmission system and an information transmission method suitable for transmitting specific information about a point in time from one system or apparatus to the other system or apparatus. The present invention relates to an information transmission system that can be suitably used for, for example, a device using a multi-core processor and having a bare metal environment without an OS (Operating System) and acquiring accurate time information from the environment with the OS. Information transmission method.
マルチコアプロセッサとは、1つのCPU(Central Processing Unit)にプロセッサコアを複数搭載したマイクロプロセッサである。プロセッサコアが複数の場合、その一部のプロセッサコア上で実行するタスクが単純な場合や、一部のプロセッサコア上で実行する機能に求められる性能が高い場合、OSがオーバヘッドとなる場合がある。このような単純なタスクや高い性能が求められる機能を実行するプロセッサコアにOSは必要とされない。そこで、プロセッサコアにはOSが存在するOS有り環境の他に、OSが無いベアメタル(Bare metal)環境が存在し得ることになる。ここでベアメタルとは、一般的なOSが提供する機能を持たない、最低限(例えば、メモリ管理とデバイスドライバだけのような)のソフトウェア動作環境をいう。 The multi-core processor is a microprocessor in which a plurality of processor cores are mounted on one CPU (Central Processing Unit). When there are multiple processor cores, the OS may become overhead if the tasks executed on some of the processor cores are simple or if the performance required for the functions executed on some of the processor cores is high. . An OS is not required for a processor core that executes such a simple task or a function that requires high performance. Therefore, in addition to the OS environment in which the OS exists in the processor core, a bare metal environment without the OS can exist. Here, bare metal refers to a minimum software operating environment (for example, only memory management and device drivers) that does not have a function provided by a general OS.
図13は、本発明の第1の関連技術として、時計機能が存在しないベアメタル環境のノードの一例を表わしたものである。コンピュータの1つの管理単位としてのノード(node)100Aには、第0のコア110から第3のコア113までの4つのコアを持ったCPU120が配置されており、OSが無いベアメタル環境121が実現している。ここでは、時計機能が存在することなく、第1の機能131、第2の機能132および第3の機能133が実行されるようになっている。
FIG. 13 shows an example of a node in a bare metal environment in which a clock function does not exist as a first related technique of the present invention. In a
この第1の関連技術によれば、ベアメタル環境121には時計が存在しないので、第1〜第3の機能131〜133が時に関する制御を一切できないことになる。
According to the first related art, since the watch does not exist in the
図14は、本発明の第2の関連技術として、時計機能の一部をなすインターバルタイマが備えられたベアメタル環境のノードの一例を表わしたものである。図14で図13と同一部分には同一の符号を付しており、これらの説明を適宜省略する。 FIG. 14 shows an example of a node in a bare metal environment provided with an interval timer that constitutes a part of the clock function as the second related technique of the present invention. 14, the same parts as those in FIG. 13 are denoted by the same reference numerals, and description thereof will be omitted as appropriate.
図14に示したノード100Bのベアメタル環境141では、起動後から周期的に時を加算するインターバルタイマ142が配置されている。このため、たとえば第1の機能131が実行されたときから起算して時間t1後に第2の機能132を実行するといったような時間管理が可能になる。しかしながら、日時を知ることのできる時計が存在しないので、たとえば10月1日に第3の機能133を実行するといった処理は不可能である。
In the
図15は、本発明の第3の関連技術として、ベアメタル環境にリアルタイムクロックが備えられたノードの一例を表わしたものである。図15で図13と同一部分には同一の符号を付しており、これらの説明を適宜省略する。 FIG. 15 shows an example of a node provided with a real-time clock in a bare metal environment as a third related technique of the present invention. 15, the same parts as those in FIG. 13 are denoted by the same reference numerals, and description thereof will be omitted as appropriate.
図15に示したノード100Cでは、マルチコアプロセッサによってOS有り環境151とOSが無いベアメタル環境152の2つの環境が実現している。ベアメタル環境152には、日時を独自に計測するリアルタイムクロック161が配置されている。
In the node 100 </ b> C illustrated in FIG. 15, two environments, an environment with an OS 151 and a
一方、OS有り環境151の方には、時計162が存在している。この時計162は、他のノード163内のNTP(Network Time Protocol)サーバ164とNTPクライアント165の間で取り決められた時刻同期プロトコル166によって、正しい日時に同期している。したがって、OS有り環境151で実行される第4の機能167は時計162によって正しい日時で制御されることになる。
On the other hand, a
これに対して、リアルタイムクロック161の方は、図15で×印168で示すように、NTPサーバ164との通信を行うことができない。このため、リアルタイムクロック161は時計162と日時のずれが生じている可能性が大きく、また、このずれは修正されない。この結果、OS有り環境151とベアメタル環境152の間で、時間に関する処理の連携ができなくなる可能性がある。
On the other hand, the real-
たとえば第1の機能131が10月1日午後1時ちょうどに共有メモリ169に書き込んだデータ(data)171を、第4の機能167が10月1日午後2時ちょうどに読み出して使用するという手順があったとする。この例の場合、リアルタイムクロック161が時計162に対して1時間を超える遅れがあった場合、第4の機能167は共有メモリ169を介してデータ171を受け取ることができない。
For example, the procedure in which the
以上説明したようにOSが無いベアメタル環境152では、NTPサーバ164等の外部の日時と同期した絶対時刻を示す時計を持つことができず、リアルタイムクロック161を用意した場合にも相対的な時刻を計時する機能しか実現することができない。
As described above, in the
一方、本発明の第4の関連技術として、マルチコアプロセッサを使用した装置環境で共有メモリを使用してデータの受け渡しを行うことが提案されている。この提案を用いると、一方の環境の時刻情報を他方の環境にデータとして受け渡すことができる。 On the other hand, as a fourth related technique of the present invention, it has been proposed to exchange data using a shared memory in an apparatus environment using a multi-core processor. If this proposal is used, the time information of one environment can be passed as data to the other environment.
図16は、この第4の関連技術による情報伝達システムを説明するためのものである。この第4の関連技術の情報伝達システムでは、OSを搭載した送信装置181のデータ送信部182が受信装置183のデータ受信部184にデータの送信を行うために共有メモリ185を使用することにしている。
FIG. 16 is for explaining the information transmission system according to the fourth related technique. In the information transmission system of the fourth related technology, the
送信装置181は受信装置183に送信する時刻情報が発生すると、共有メモリ185のデータ格納部186内の空き領域を確保し、そこに送信データをコピー(格納)する。更に、送信装置181は送信データの格納先アドレスの情報および送信データのデータ長情報を含んだメッセージブロックを未処理リスト格納部187へ格納(キューイング)する。そして、所定の条件が満たされると、受信装置183に対してドメイン間割り込み188を通知する。
When time information to be transmitted to the
受信装置183は、送信装置181からのドメイン間割り込み188の通知を受け取ると、割り込みハンドラを起動し、データ受信部183によるデータ受信処理を実行する。具体的な動作を示すと、データ受信部183は、未処理リスト格納部187へアクセスし、そこに格納されているメッセージブロックを取得する。そして、取得したメッセージブロックをデータ受信部184から上位レイヤ処理部189へ転送する。
When receiving the notification of the inter-domain interrupt 188 from the
上位レイヤ処理部189は、データ受信部184から受け取ったメッセージブロックに含まれる情報に基づいて、データ格納部186からデータを取得する。具体的には、メッセージブロックに含まれている送信データ格納先アドレス情報およびデータ長情報に基づいて取得すべき時刻情報が格納されている領域を特定し、特定した領域からこの時刻情報を取得する。そして、取得した時刻情報が格納されていた領域のアドレス情報および取得データのデータ長情報を含んだメッセージブロックを処理済リスト格納部191へキューイングする。したがって、データ格納部186に格納された時刻情報が受信装置183によって読み出された場合、読み出された時刻情報に対応する格納先アドレス情報およびデータ長情報(メッセージブロック)が未処理リスト格納部187から処理済リスト格納部191へ移動する。
The upper
この第4の関連技術では、未処理リスト格納部187に格納されているメッセージブロックを取得する。このメッセージブロックはデータ送信部182がリスト化を行う前の時点の時刻情報であり、必ずしもデータ送信部182の現在の時刻情報を反映していない。データ送信部182はリストによって読み出されたメッセージブロックよりも更に新しい時刻情報をメッセージブロックとして未処理リスト格納部187へ格納してリスト化している場合もあり、またこのようなリスト化を行う作業が進行しつつある場合もある。
In the fourth related technique, the message block stored in the unprocessed
このように第4の関連技術ではリストの介在によって、共有メモリ185に送信装置181が書き込んだ時点の時刻情報を受信装置183が取得できない可能性がある。したがって、送信装置181と受信装置183の時間的な連携に障害が発生する可能性がある。
As described above, in the fourth related technique, there is a possibility that the
以上、OS有り環境とOSが無いベアメタル環境という2つの系の間での時刻情報の伝達に関する問題を指摘したが、時刻情報に限らず、たとえば温度や湿度といった環境情報のような時間の経過によって変化する情報を一方の系から他方の系に伝達する場合にも同様の問題が発生する。 As mentioned above, problems related to the transmission of time information between the two systems of the environment with OS and the bare metal environment without OS have been pointed out. However, not only the time information but also the passage of time such as environmental information such as temperature and humidity. A similar problem occurs when changing information is transmitted from one system to the other.
そこで本発明の目的は、共有メモリを使用し、しかも送信側が共有メモリに書き込んだという情報を受信側に伝達する必要なく受信側が最新の情報を得ることのできる情報伝達システムおよび情報伝達方法を提供することにある。 SUMMARY OF THE INVENTION An object of the present invention is to provide an information transmission system and an information transmission method that use a shared memory and that allows the receiving side to obtain the latest information without having to transmit information that the transmitting side has written to the shared memory to the receiving side. There is to do.
本発明では、(イ)送信側としての第1の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第2の系に伝達する可能性のある情報としての特定情報を、前記した第1の系側で時間を置いて第1の周期で繰り返し入力する特定情報入力手段と、(ロ)この特定情報入力手段が前記した特定情報を入力するたびにその内容が変化する情報としての変化情報を前記した特定情報の入力のタイミングで前記した第1の系側で入力する変化情報入力手段と、(ハ)前記した第1の系と第2の系が共通してアクセスすることのできる共有メモリと、(ニ)前記した第1の系側で前記した特定情報入力手段の入力した前記した特定情報を前記した共有メモリに1回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する特定情報分割手段と、(ホ)前記した変化情報入力手段の入力した前記した変化情報を1回書き込み、続いて前記した変化情報入力手段によって分割した前記した複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記した変化情報と同一内容の変化情報を更に1回書き込んで、前記した共有メモリに対する1セット分の書き込みを終了する共有メモリ書込手段と、(ヘ)前記した第2の系側に配置され、前記した第1の周期よりも短い任意の第2の周期で前記した共有メモリから前記した変化情報および前記した複数の分割後特定情報のうちの最新のものを1セット分読み出す共有メモリ読出手段と、(ト)前記した第2の系側に配置され、この共有メモリ読出手段によって読み出した前記した変化情報の対の内容についてそれらの一致の有無を判別する変化情報一致有無判別手段と、(チ)前記した第2の系側に配置され、この変化情報一致有無判別手段によって前記した変化情報の対の内容が一致していると判別したとき前記した1セットを構成する残りの情報としての前記した複数の分割後特定情報を前記した予め定めた順番に沿って組み立てて前記した特定情報を再生する特定情報再生手段とを情報伝達システムが具備する。 In the present invention, (b) information that exists in the first system as the transmitting side and whose contents may change over time, and information that may be transmitted to the second system as the receiving side. Specific information input means for repeatedly inputting the specific information at the first system side in the first cycle, and (b) the contents each time the specific information input means inputs the specific information. Change information input means for inputting change information as information that changes at the first system side described above at the input timing of the specific information, and (c) the first system and the second system are common. And (d) the amount of the specific information input by the specific information input means described above on the first system side and written in the shared memory once in a single step To the specific information after division Specific information dividing means to divide, and (e) writing the change information input by the change information input means once, and then, previously storing the plurality of post-division specific information divided by the change information input means in advance Shared memory writing means for writing change information having the same contents as the above-described change information once after writing in a predetermined order, and ending one set of writing to the shared memory, (f) The latest one of the change information and the plurality of post-division specific information described above from the shared memory described above at an arbitrary second cycle that is arranged on the second system side and shorter than the first cycle described above Shared memory reading means for reading out one set, and (g) the contents of the pair of change information described above arranged on the second system side and read by the shared memory reading means Change information matching presence / absence determining means for determining the presence / absence of these matches, and (h) the change information matching presence / absence determining means arranged on the second system side so that the contents of the pair of change information match. Specific information reproducing means for reconstructing the specific information by assembling the plurality of post-division specific information as the remaining information constituting the one set in the predetermined order when it is determined that the specific information is included. Is provided in the information transmission system.
また、本発明では、(イ)送信側としての第1の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第2の系に伝達する可能性のある情報としての特定情報を、前記した第1の系側で時間を置いて第1の周期で繰り返し入力する特定情報入力ステップと、(ロ)この特定情報入力ステップで前記した特定情報を入力するたびにその内容が変化する情報としての変化情報を前記した特定情報の入力のタイミングで前記した第1の系側で入力する変化情報入力ステップと、(ハ)前記した第1の系側で前記した特定情報入力ステップで入力した前記した特定情報を前記した第1の系と第2の系が共通してアクセスすることのできるメモリとしての共有メモリに1回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する特定情報分割ステップと、(ニ)前記した変化情報入力ステップで入力した前記した変化情報を1回書き込み、続いて前記した変化情報入力ステップによって分割した前記した複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記した変化情報と同一内容の変化情報を更に1回書き込んで、前記した共有メモリに対する1セット分の書き込みを終了する共有メモリ書込ステップと、(ホ)前記した第2の系側に配置され、前記した第1の周期よりも短い任意の第2の周期で前記した共有メモリから前記した変化情報および前記した複数の分割後特定情報のうちの最新のものを1セット分読み出す共有メモリ読出ステップと、(へ)前記した第2の系側に配置され、この共有メモリ読出ステップによって読み出した前記した変化情報の対の内容についてそれらの一致の有無を判別する変化情報一致有無判別ステップと、(ト)前記した第2の系側に配置され、この変化情報一致有無判別ステップによって前記した変化情報の対の内容が一致していると判別したとき前記した1セットを構成する残りの情報としての前記した複数の分割後特定情報を前記した予め定めた順番に沿って組み立てて前記した特定情報を再生する特定情報再生ステップとを情報伝達方法が具備する。
In the present invention, (b) information that exists in the first system as the transmitting side and whose contents may change with time may be transmitted to the second system as the receiving side. A specific information input step in which specific information as information is repeatedly input in the first cycle with time on the first system side, and (b) the specific information is input in the specific information input step. A change information input step in which change information as information whose contents change is input on the first system side at the input timing of the specific information, and (c) the above-mentioned specification on the first system side. plurality first system and a second system in which specific information described above that the input in the information input step is predetermined as the amount to be written separately once the shared memory as a memory that can be accessed in common Special after splitting A specific information dividing step for dividing the information into information, and (d) the plurality of post-division specific information divided by the change information input step after the change information input in the change information input step is written once. Are written in a predetermined order and then the change information having the same content as the change information is written once more, and the writing of one set to the shared memory is completed, ) The latest of the change information described above and the plurality of post-division specific information described above from the shared memory in an arbitrary second period that is arranged on the second system side and shorter than the first period described above A shared memory reading step for reading out one set of memory, and (f) arranged on the second system side as described above, and reading by this shared memory reading step A change information coincidence presence / absence determining step for determining whether or not there is a match between the contents of the pair of change information described above, and (g) the change information match presence / absence determining step arranged on the second system side described above. When it is determined that the contents of the pair of change information match, the above-mentioned identification is performed by assembling the plurality of post-division identification information as the remaining information constituting the one set in the predetermined order. The information transmission method includes a specific information reproduction step of reproducing information.
以上説明したように本発明によれば、第1の系に存在し時間的にその内容が変化する可能性のある情報としての特定情報を、第2の系の必要とするときに第1の系から取得することができる。したがって、たとえば特定情報が第1の系の管理する時刻情報である場合を例に挙げると、第2の系側は特別の時計を備えることなく第1の系と時刻を一致させることができる。また、第1の系の時刻情報が外部の時計と同期するものであれば第2の系も外部の時計と直接同期する仕組みを持たなくてもその時刻情報を外部の時計と同期させることができる。 As described above, according to the present invention, when the second system requires specific information as information that exists in the first system and whose contents may change over time, the first system Can be obtained from the system. Therefore, for example, when the specific information is time information managed by the first system, the second system side can match the time with the first system without providing a special clock. Further, if the time information of the first system is synchronized with an external clock, the time information can be synchronized with the external clock even if the second system does not have a mechanism for directly synchronizing with the external clock. it can.
また、本発明によれば特定情報分割手段あるいは特定情報分割ステップによって時刻情報等の特定情報を複数に分割して第1の系から第2の系に伝達するようにしている。したがって、伝達対象の特定情報のサイズの上限が共有メモリの1回の書き込み最大量に制限されることはない。このため、たとえば特定情報が第1の系の管理する時刻情報であるとすると、その時刻情報を表わす有効数字の桁数を十分大きく設定することができる。また、特定情報が第1の系の管理する環境変化を記述する情報であるとすると、各種環境を広範に記述することができることになる。 Further, according to the present invention, the specific information such as time information is divided into a plurality of parts by the specific information dividing means or the specific information dividing step and transmitted from the first system to the second system. Therefore, the upper limit of the size of the specific information to be transmitted is not limited to the maximum amount of writing once in the shared memory. For this reason, if the specific information is time information managed by the first system, for example, the number of significant digits representing the time information can be set sufficiently large. If the specific information is information describing the environmental change managed by the first system, various environments can be described extensively.
図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セットを構成する残りの情報としての前記した複数の分割後特定情報を前記した予め定めた順番に沿って組み立てて前記した特定情報を再生する。
FIG. 1 shows a claim correspondence diagram of the information transmission system of the present invention. The
図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セットを構成する残りの情報としての前記した複数の分割後特定情報を前記した予め定めた順番に沿って組み立てて前記した特定情報を再生する。
FIG. 2 is a diagram corresponding to claims of the information transmission method of the present invention. The
<発明の実施の形態> <Embodiment of the Invention>
次に本発明の実施の形態を説明する。 Next, an embodiment of the present invention will be described.
図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が実行されるようになっている。
FIG. 3 shows an information transmission system according to an embodiment of the present invention. The
OS有り環境241の方には、時計261およびNTPクライアント262が存在している。時計261は、第2のノード202内のNTPサーバ211とNTPクライアント262の間で取り決められた時刻同期プロトコル263によって、正しい日時に同期している。したがって、OS有り環境241で実行される第4の機能254は時計261によって正しい日時で補正された状態で制御されることになる。
A
OS有り環境241とベアメタル環境242の間には、両環境から共通してアクセス可能な共有メモリ271が備えられている。また、OS有り環境241およびベアメタル環境242には、共有メモリ271を使用してOS有り環境241からベアメタル環境242に時刻情報273を伝達するための同期機構274が存在している。この結果として、たとえば第1の機能251および第2の機能252は、ベアメタル環境242の下でOS有り環境241と同期の採れた時計情報273を使用した処理が可能になる。
Between the
図4は、本実施の形態における情報伝達システムの要部を、同期機構を中心として具体的に表わしたものである。図4で図3と同一部分には同一の符号を付しており、これらの説明を適宜省略する。 FIG. 4 specifically shows the main part of the information transmission system according to the present embodiment, centering on the synchronization mechanism. 4, the same parts as those in FIG. 3 are denoted by the same reference numerals, and description thereof will be omitted as appropriate.
同期機構274は、OS有り環境241側に存在するOS有り環境側同期機構274Aと、ベアメタル環境242側に存在するベアメタル環境側同期機構274Bとで構成されている。このうちOS有り環境側同期機構274Aは、時計261から時刻情報281の読み取りを行う時刻情報読取部282を備えている。時刻情報読取部282は、読取周期設定部283から与えられた読取周期284に応じて、たとえば1秒間に1回という周期で時計261から時刻情報281の読み取りを行う。
The
読取周期設定部283によって設定される読取周期は、ベアメタル環境242側の要請に応じて予め設定されている。したがって、図3に示した第1の機能251および第2の機能252の実現のために、1秒間に1回という周期で時刻情報281の同期が必要とされたとしても、その後に第3の機能を新たに実現するために0.1秒間に1回という周期で時刻情報281の同期が必要とされた場合には、読取周期をそれに合わせて変更することになる。
The reading cycle set by the reading
OS有り環境側同期機構274Aには、時刻情報読取部282の出力側に第1の時刻情報バッファ286と第2の時刻情報バッファ287が設けられている。時刻情報読取部282は第1の時刻情報バッファ286に対して、読み取った時刻情報281を構成するビット列の前半部分を構成する第1の時刻情報288を格納する。また、時刻情報読取部282は第2の時刻情報バッファ287に対して、読み取った時刻情報281を構成するビット列の後半部分を構成する第2の時刻情報289を格納する。
The OS-side environment-
第1の時刻情報バッファ286と第2の時刻情報バッファ287の出力側には、4ステップを1セットとして各データの書き込みを行い、これを周期的に繰り返すシーケンシャル書込部291が配置されている。シーケンシャル書込部291は、この4ステップを1周期としたカウント値292を出力するカウンタ293とも接続されている。このうち2ステップがカウンタ293の出力するカウント値292であり、残り2ステップが第1の時刻情報288および第2の時刻情報289となる。
On the output side of the first
なお、カウンタ293のカウント値292は4ステップに要する時間よりも短い時間で変化するものであってもよい。すなわち、1セットごとに異なる値が出力されるものであれば、カウンタ293以外のデバイスを使用することが可能である。
Note that the
シーケンシャル書込部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ステップ分ずつ順にサイクリックに書き込まれることになる。
The
図5は、本実施の形態のシーケンシャル書込部から出力される出力データの経時変化の一例を示したものである。ここでは、出力データ295の各ステップと、それぞれのステップにおける出力データ295の種類および出力データ295の内容を時間の変化と共に示している。図4と共に説明する。
FIG. 5 shows an example of a change with time of output data output from the sequential writing unit of the present embodiment. Here, each step of the
この図で示した一番上の時間的に一番早い第1のステップでは出力データ295が「WRITE1」であり、その内容はカウンタ293の出力するカウント値292としての「カウント値0001」である。次の第2のステップでは出力データ295が「WRITE2」であり、その内容は第1の時刻情報バッファ286の出力する第1の時刻情報288としての「1234秒」である。この「1234秒」は時刻情報読取部282が時計261から時刻情報281として読み取ったビット列の前半部分を構成する第1の時刻情報288である。「1234秒」は時計261から読み取った瞬間の何時何分何秒を意味する。
In the first step, which is the earliest in time shown in this figure, the
次の第3のステップでは出力データ295が「WRITE3」であり、その内容は第2の時刻情報バッファ287の出力する第2の時刻情報289としての「5678マイクロ(μ)秒」である。この「5678マイクロ秒」は時刻情報読取部282が時計261から時刻情報281として読み取ったビット列の後半部分を構成する第2の時刻情報289である。「5678マイクロ秒」は時計261から1秒の小数点以下をマイクロ秒として表わしたものである。
In the next third step, the
次の第4のステップでは出力データ295が「WRITE4」であり、その内容はカウンタ293の出力するカウント値292としての「カウント値0001」である。これは、カウンタ293がカウント値292として読み取った値を第1のステップと第4のステップで共通の値として出力したものであり、その読み取りのタイミングは時刻情報読取部282が時計261から時刻情報281を読み取るタイミングと一致している。
In the next fourth step, the
図6は、本実施の形態である時点におけるカウンタのカウント値と時刻情報の一例を示したものである。図4および図5と共に説明する。 FIG. 6 shows an example of the count value of the counter and time information at the time point according to the present embodiment. This will be described with reference to FIGS.
図6に示した例では、図5で直前に説明した第1のステップ〜第4のステップでシーケンシャル書込部291から出力される出力データ295の内容を示している。すなわち、時刻情報読取部282が時計261から時刻情報281を読み取ったそのときのカウンタ293のカウント値が「カウント値0001」を示しており、このときの時刻情報281が「1234秒5678マイクロ秒」である。「1234秒5678マイクロ秒」を第2のステップと第3のステップで「1234秒」と「5678マイクロ秒」に分けたのは、リングバッファ296に一度に書き込まれるビット数に制限があるからである。
The example shown in FIG. 6 shows the content of the
したがって、たとえば「2011年09月25日午前10時09分08秒765432マイクロ秒」という時刻情報が存在して、これをOS有り環境241からベアメタル環境242に伝達するのに共有メモリ271に4回に分けた時刻情報の書き込みが必要であったとする。この場合には、現在説明している第1のステップ〜第4のステップでシーケンシャル書込部291から1サイクルとして出力される出力データ295の代わりに、第1のステップ〜第6のステップで1サイクルの出力データ295が出力されることになる。
Therefore, for example, there is time information of “09:09:08, 09/25/2011, 10:09:08, 7654432 microseconds”, and the information is transmitted to the shared
図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のステップで時刻情報が分割して出力されることになる。
In the example shown in FIG. 5, the
ベアメタル環境242側の同期機構274を構成するベアメタル環境側同期機構274Bでは、シーケンシャル読出部301がリングバッファ296からデータの読み出しを行う。ただし、ベアメタル環境242はOS有り環境241と同一環境ではなく、統一したクロックが存在するものでもない。シーケンシャル読出部301は、図3に示した第1の機能251等の機能部の処理の要請に基づいて時刻情報をOS有り環境241とは全くの非同期で、またOS有り環境241と異なった周期でデータを読み出すことになる。ただし、シーケンシャル読出部301のリングバッファ296に対する読出周期は、読取周期設定部283の設定によって時刻情報読取部282の時刻情報281についての読み取りの周期よりも短い周期で読み出しが行われるようになっている。
In the bare metal environment
シーケンシャル読出部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を読み出す。
The
シーケンシャル読出部301は、以上説明した第1の領域R1〜第4の領域R4からのデータの読み出しを行ったら、以後も同様に第1の領域R1〜第4の領域R4からのデータの読み出しを繰り返すことになる。
第1のカウント情報取得部302が取得した第1のカウント情報303と第2のカウント情報取得部308が取得した第2のカウント情報309は、比較部311に入力されて、それらの値としての「カウント値××××」と「カウント値○○○○」が比較される。そして、「カウント値××××」と「カウント値○○○○」が等しいときには、イネーブル信号312が時刻情報組立部313に供給される。
The
時刻情報組立部313は、第1の時刻情報取得部304から第1の時刻情報305を入力しており、第2の時刻情報取得部306から第2の時刻情報307を入力している。時刻情報組立部313は、比較部311からイネーブル信号312が供給されると、そのタイミングで第1の時刻情報305と第2の時刻情報307を連結して時刻情報314とする。この時刻情報314は、ベアメタル環境242におけるその時点の時刻を表わす情報として使用される。
The time
比較部311からイネーブル信号312が供給されなかったとき、すなわちディスエーブルの状態のとき、時刻情報組立部313は入力された第1の時刻情報305と第2の時刻情報307を破棄し、時刻情報314としては出力しない。この理由を次に説明する。
When the enable signal 312 is not supplied from the
図7は、情報伝達システムの時刻情報組立部で時刻情報が正しく組み立てられた場合の一例を示したものである。この例の場合には、先に説明したようにリングバッファ296の第1の領域R1に書き込まれたカウント値と第4の領域R4に書き込まれたカウント値が共に「カウント値0001」で、一致している。したがって、リングバッファ296の第2の領域R2と第3の領域R3から読み出された第1の時刻情報305と第2の時刻情報307によって組み立てられた時刻情報である「1234秒5678μ秒」はOS有り環境241とOSが無いベアメタル環境242の双方で一致した時刻情報ということになる。
FIG. 7 shows an example when the time information is correctly assembled by the time information assembling unit of the information transmission system. In the case of this example, as described above, the count value written in the first area R 1 of the
図8は、これに対して情報伝達システムの時刻情報組立部で時刻情報が正しく組み立てられなかった場合、すなわち時刻情報が破棄される場合の一例を示したものである。この例の場合には、リングバッファ296の第1の領域R1に書き込まれたカウント値が図7の場合よりも1サイクルだけ後の「カウント値0002」となっており、第2の領域R2に書き込まれた第1の時刻情報が同様に図7の場合よりも1サイクルだけ後の「1235秒」となっている(図5参照)。これ以外は図7と同じ1サイクル前の状態である。
FIG. 8 shows an example when the time information is not correctly assembled by the time information assembling unit of the information transmission system, that is, when the time information is discarded. In this example, the count value written in the first area R 1 of the
この結果、図8に示した例では第1の領域R1に書き込まれたカウント値と第4の領域R4に書き込まれたカウント値が不一致の状態となる。したがって、図4に示す時刻情報組立部313は第1の時刻情報305と第2の時刻情報307によって組み立てられたであろう時刻情報「1235秒5678μ秒」を間違った時刻情報として破棄する。この場合、図4に示したベアメタル環境側同期機構274Bは比較部311による比較処理を繰り返し、比較結果が一致してイネーブル信号312が時刻情報組立部313に供給された時点でベアメタル環境242の時刻情報314を得ることになる。
As a result, in the example shown in FIG. 8, the count value written in the first area R 1 and the count value written in the fourth area R 4 are inconsistent. Therefore, the time
以上、図4におけるOS有り環境側同期機構274Aがその時刻情報読取部282等の各種機能部を使用して時計261から時刻情報281を読み出して共有メモリ271に書き込み、ベアメタル環境242のベアメタル環境側同期機構274Bがこれを読み出して時刻情報314を得ることを説明した。以上の処理はOS有り環境241側およびベアメタル環境242側で、たとえば図3に示した第0のコア220〜第3のコア223のうちの該当するCPUコアを用いた仮想化マシンによってソフトウェアの処理としても実現することができる。
As described above, the OS-side environment-
図9は、本実施の形態におけるOS有り環境での処理の様子を表わしたものである。図3および図4と共に説明する。 FIG. 9 shows the state of processing in an environment with an OS according to the present embodiment. This will be described with reference to FIGS. 3 and 4.
OS有り環境241側では、ベアメタル環境242側の必要とする時間精度で時刻情報の読取時機を設定している。たとえば第0のコア220によって実現される図示しない制御部は、この時刻読取時機が到来するかを監視してる(ステップS401)。時刻読取時機が到来したら(Y)、制御部は時計261から時刻情報281を読み取ると共にカウンタ293からその時点のカウント値を取得して保持する(ステップS402)。
On the
次に制御部は保持したカウント値を共有メモリ271の第1の領域R1に上書きする(ステップS403)。次に制御部はステップS402で読み取った時刻情報のうちの第1の時刻情報を共有メモリ271の第2の領域R2に上書きする(ステップS404)。そして、更に制御部はステップS402で読み取った時刻情報のうちの第2の時刻情報を共有メモリ271の第3の領域R3に上書きする(ステップS405)。最後に制御部はステップS402で保持したカウンタ293のカウント値を第4の領域R4にも上書きする(ステップS406)。
Next, the control unit overwrites the held count value in the first area R 1 of the shared memory 271 (step S403). Next, the control unit overwrites the first time information of the time information read in step S402 in the second region R 2 of the shared memory 271 (step S404). The further control unit overwrites the second time information among the time information read in step S402 in the third region R 3 in the shared memory 271 (step S405). Finally the control unit to overwrite the count value of the
その後、制御部はステップS401の処理に戻る(リターン)。すなわちOS有り環境241側では、ベアメタル環境242側が時刻情報を必要としている時間帯では少なくとも共有メモリ271に対するデータの書込作業を繰り返す。
Thereafter, the control unit returns to the process of step S401 (return). That is, on the
図10は、本実施の形態におけるOSが無いベアメタル環境での処理の様子を表わしたものである。図3および図4と共に説明する。 FIG. 10 shows a state of processing in a bare metal environment without an OS in the present embodiment. This will be described with reference to FIGS. 3 and 4.
ベアメタル環境242側では、一例として第1の機能251がOS有り環境241側と同一の時刻情報を必要とすると(ステップS421:Y)、たとえば第1のコア221によって実現される図示しない制御部は、共有メモリ271の第1の領域R1から第1のカウント情報としてのカウント値を読み出す(ステップS422)。続いて制御部は、共有メモリ271の第2の領域R2から第1の時刻情報を読み出し(ステップS423)、共有メモリ271の第3の領域R3から第2の時刻情報を読み出す(ステップS424)。
On the
この後、制御部は共有メモリ271の第4の領域R4から第2のカウント情報としてのカウント値を読み出して(ステップS425)、これをステップS422で読み出した第1のカウント情報と一致するかを調べる(ステップS426)。両カウント値が一致する場合には(Y)、第1の時刻情報と第2の時刻情報から現時点の時刻情報を作成する(ステップS427)。そして、ステップS421に戻って(リターン)、次の時刻情報の処理に備える。 Thereafter, the control unit reads the count value as the second count information from the fourth area R 4 of the shared memory 271 (step S425), and does this match the first count information read in step S422? (Step S426). If both count values match (Y), current time information is created from the first time information and the second time information (step S427). And it returns to step S421 (return) and prepares for the process of the next time information.
一方、ステップS426で第1のカウント情報と第2のカウント情報の内容が一致しなかった場合には(N)、そのまま第1の時刻情報と第2の時刻情報を組み立てると、異なった時点の時刻内容が混ざった内容となってしまう。そこで処理をステップS422に戻して、再びステップS425までの処理を共有メモリ271に対して行う。このようにしてステップS426で第1のカウント情報と第2のカウント情報の内容が一致するまで共有メモリ271のアクセスが時間を置いて繰り返され、一致した時点でOS有り環境241側の時刻情報をベアメタル環境242側が取得することになる。
On the other hand, if the contents of the first count information and the second count information do not match in step S426 (N), assembling the first time information and the second time information as they are, The contents of the time will be mixed. Therefore, the process returns to step S422, and the process up to step S425 is performed again on the shared
以上説明した本実施の形態によれば、OS有り環境241とベアメタル環境242の2種類の動作環境から共にアクセス可能な共有メモリ271が存在するだけで、OS有り環境241の時刻情報を高精度にベアメタル環境242が得ることができる。したがって、時刻情報の不一致によるOS有り環境241とベアメタル環境242間での不具合の発生を解消することができる。
According to the present embodiment described above, the time information of the OS-provided
しかも本実施の形態ではOS有り環境241側に配置された時計261がNTPサーバ211によって時刻の修正を行えるようになっている。したがって、時計を配置することのできないベアメタル環境242側でもOS有り環境241を介して外部の時刻と合致した正確な時刻を得ることができる。すなわち、図3に示す第1の機能251や第2の機能252が時刻を必要としたときに外部と同期した時刻を使用することができる。しかも時刻情報を複数に分割して共有メモリ271に格納するので、時刻情報を構成するデータのビット数を制限されることがない。
Moreover, in this embodiment, the
更に本実施の形態では図4に示す読取周期設定部283が時計261の時刻情報281を共有メモリ271に書き込む周期を設定できるようにした。これにより、OS有り環境241側はベアメタル環境242側の第1の機能251等の各種機能が必要とする精度に合わせて共有メモリ271へのアクセスを行うことができ、過度な精度による不必要な負荷が掛かることを防止することができる。
Furthermore, in this embodiment, the reading
更にまた本実施の形態では、OS有り環境241とベアメタル環境242の間の同期処理を、プロセスの周期処理で行うことにした。そこで、次に説明するOS環境のカーネルに修正を加える第1の変形例と異なり、カーネルに修正を加えることなく、OS無しの環境へ同期した時刻情報を提供することができる
Furthermore, in the present embodiment, the synchronization process between the
<発明の第1の変形可能性> <First deformability of invention>
図11は、本発明の第1の変形例による情報伝達システムを表わしたものである。図11で図3と同一部分には同一の符号を付しており、これらの説明を適宜省略する。 FIG. 11 shows an information transmission system according to a first modification of the present invention. 11, the same parts as those in FIG. 3 are denoted by the same reference numerals, and description thereof will be omitted as appropriate.
この第1の変形例の情報伝達システム200Aでは、先の実施の形態よりも時計261の同期精度の向上を図っている。すなわち情報伝達システム200Aで、時計261とNTPサーバ211の関係は、情報伝達システム200と同一であるが、時計261の時刻情報を共有メモリ271に同期させる処理が異なる。
In the
この変形例では、図3で使用したプロセスによる同期機構274を採用せず、時計同期処理501をOS有り環境241のそのOS(カーネル)に実装するようにしている。OSでは、そのティック単位で最短周期処理間隔を採ることができる。
In this modified example, the
ここでティックという単位を簡単に説明する。ソフトウェアとしてのカーネルは、ハードウェアから定期的に割り込み(タイマ割り込み)を受信する。そして、このタイマ割り込みを最短周期として、ソフトウェアとしての相対タイマを実現する。たとえばリナックス(登録商標)を例に挙げると、バージョンの違いによって10ミリ秒あるいは1ミリ秒で相対タイマをインクリメントするようになっている。これがティックという単位である。相対タイマのインクリメントによっては計測する時間が正確には定まらない。そこで、NTPサーバ211等の外部時計による補正を行っている。
Here, the unit of tick will be briefly explained. The kernel as software periodically receives an interrupt (timer interrupt) from the hardware. A relative timer as software is realized with this timer interrupt as the shortest cycle. For example, taking Linux (registered trademark) as an example, the relative timer is incremented in 10 milliseconds or 1 millisecond depending on the version. This is a unit called ticks. Depending on the increment of the relative timer, the time to be measured is not accurately determined. Therefore, correction is performed by an external clock such as the
このような第1の変形例の情報伝達システム200Aではカーネル内にてOSのティック処理と同じタイミングで、OSの時計261を読み出して、共有メモリ271に時刻情報502を書き込む時計同期処理501を実行する。この結果、最短同期間隔でOSの時計261とOSの存在しないベアメタル環境242の双方で使用する共有メモリ271上の時計を同期させることができ、同期の精度を先の実施の形態の情報伝達システム200よりも向上させることができる。
In the
以上説明したように第1の変形例の情報伝達システム200Aによれば、同期処理をカーネル内部のティック単位で行うことで、プロセスでの実装では実現できないような最短同期間隔で同期された、精度の高い時刻をOS無しの環境に提供することができる。
As described above, according to the
<発明の第2の変形可能性> <Second deformability of invention>
図12は、本発明の第2の変形例による情報伝達システムを表わしたものである。図12で図3と同一部分には同一の符号を付しており、これらの説明を適宜省略する。 FIG. 12 shows an information transmission system according to a second modification of the present invention. In FIG. 12, the same parts as those in FIG.
第2の変形例による情報伝達システム200Bでは、OS有り環境241に存在した時計261を、OSが無いベアメタル環境242から直接参照が可能な共有メモリ271B上に実装することにしている。このためにはOS有り環境241における既存のカーネルの時計機能を修正する必要がある。
In the
しかしながらOS環境で実現する時計601を共有メモリ271B上で実現することで、OSが無いベアメタル環境242からもOSが存在する環境の時計の時刻情報を参照し使用することができるようになる。しかもOS有り環境241ではNTPクライアント262が共有メモリ271B上の時計601をNTPサーバ211と同期させることができる。
However, by realizing the
また、第2の変形例による情報伝達システム200Bでは図3に示したOS有り環境241からベアメタル環境242に時刻情報273を伝達するための同期機構274が不要である。このため、たとえば第1の機能251および第2の機能252は、ベアメタル環境242の下でOS有り環境241と同じ精度の時計情報を参照し使用することができる。
Further, the
なお、以上説明した実施の形態および各変形例では、ベアメタル環境242がOS有り環境241の時刻情報を取得する場合を説明したが、その他の情報をベアメタル環境242がOS有り環境241と一致させて取得する場合にも本発明を同様に適用することができる。
In the embodiment and each modification described above, the case where the
また、実施の形態および各変形例では、OS有り環境241とベアメタル環境242を例に挙げて、一方の系が他方の系から同一内容の情報を取得する場合を説明したが、これに限るものではない。たとえばOSを有する2つの系の一方が共通にアクセス可能な共有メモリを介して、以上説明した技術思想でデータの取得を行うことも可能である。
Further, in the embodiment and each modified example, the case where one system acquires information of the same content from the other system has been described using the
更に実施の形態では共有メモリ271を構成するリングバッファ296を介してOS有り環境241からベアメタル環境242に情報の伝達を行ったが、通常の構成のメモリを使用してアドレスの制御を行うことも可能である。
Further, in the embodiment, information is transmitted from the
更にまた実施の形態では時刻情報273を共有メモリ271に書き込む際にカウンタ293のカウント値292を読み出してこれも共有メモリ271に書き込むことでベアメタル環境242側がこのカウント値293を比較して時刻情報273が正確に伝達されたかをチェックしたが、これに限るものではない。カウンタ293のカウント値292の代わりに情報の伝送のたびに内容の変化する変化情報を使用することも可能である。たとえばA、B、C、Dという4つに順次変化する変化情報を用意しておき、これらをサイクリックにOS有り環境241からベアメタル環境242に伝達するようにしてもよい。
Furthermore, in the embodiment, when the
また、実施の形態および変形例ではNTPサーバ211を用いて時計261を外部の時計と同期させたが、NTPサーバ211以外の外部時計を使用して時刻の同様の補正を行ってもよいことは当然である。
In the embodiment and the modification, the
以上説明した実施の形態の一部または全部は、以下の付記のようにも記載されるが、以下の記載に限定されるものではない。 Some or all of the embodiments described above are described as in the following supplementary notes, but are not limited to the following descriptions.
(付記1)
送信側としての第1の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第2の系に伝達する可能性のある情報としての特定情報を、前記第1の系側で時間を置いて第1の周期で繰り返し入力する特定情報入力手段と、
この特定情報入力手段が前記特定情報を入力するたびにその内容が変化する情報としての変化情報を前記特定情報の入力のタイミングで前記第1の系側で入力する変化情報入力手段と、
前記第1の系と第2の系が共通してアクセスすることのできる共有メモリと、
前記第1の系側で前記特定情報入力手段の入力した前記特定情報を前記共有メモリに1回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する特定情報分割手段と、
前記変化情報入力手段の入力した前記変化情報を1回書き込み、続いて前記変化情報入力手段によって分割した前記複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記変化情報と同一内容の変化情報を更に1回書き込んで、前記共有メモリに対する1セット分の書き込みを終了する共有メモリ書込手段と、
前記第2の系側に配置され、前記第1の周期よりも短い任意の第2の周期で前記共有メモリから前記変化情報および前記複数の分割後特定情報のうちの最新のものを1セット分読み出す共有メモリ読出手段と、
前記第2の系側に配置され、この共有メモリ読出手段によって読み出した前記変化情報の対の内容についてそれらの一致の有無を判別する変化情報一致有無判別手段と、
前記第2の系側に配置され、この変化情報一致有無判別手段によって前記変化情報の対の内容が一致していると判別したとき前記1セットを構成する残りの情報としての前記複数の分割後特定情報を前記予め定めた順番に沿って組み立てて前記特定情報を再生する特定情報再生手段
とを具備することを特徴とする情報伝達システム。
(Appendix 1)
Specific information as information that exists in the first system as the transmitting side and whose contents may change over time, and that may be transmitted to the second system as the receiving side. Specific information input means for repeatedly inputting in a first period with time on the system side of 1;
Change information input means for inputting change information as information whose contents change each time the specific information input means inputs the specific information on the first system side at the input timing of the specific information;
A shared memory that can be accessed in common by the first system and the second system;
Specific information dividing means for dividing the specific information input by the specific information input means on the first system side into a plurality of divided specific information predetermined as an amount to be written once in the shared memory;
The change information input by the change information input means is written once, and then the plurality of post-division specific information divided by the change information input means is written in a predetermined order, and then the same content as the change information Writing the change information once more, and the shared memory writing means for ending the writing for one set to the shared memory;
One set of the latest information of the change information and the plurality of post-division specific information from the shared memory in an arbitrary second cycle that is arranged on the second system side and shorter than the first cycle. A shared memory reading means for reading;
Change information matching presence / absence determining means that is arranged on the second system side and that determines the presence or absence of matching between the contents of the pair of change information read by the shared memory reading means;
After the plurality of divisions as the remaining information constituting the one set when it is determined that the contents of the pair of change information are matched by the change information match presence / absence discriminating means arranged on the second system side An information transmission system comprising: specific information reproducing means for assembling specific information in the predetermined order and reproducing the specific information.
(付記2)
前記第2の系側に配置され、前記変化情報一致有無判別手段によって前記変化情報の対の内容が一致していないと判別したとき、一致すると判別するまで前記共有メモリ読出手段によって前記変化情報および前記複数の分割後特定情報のうちの最新のものを1セット分読み出す操作を繰り返す読出反復手段を具備することを特徴とする付記1記載の情報伝達システム。
(Appendix 2)
Arranged on the second system side, and when the change information matching presence / absence determining means determines that the contents of the pair of change information do not match, the shared memory reading means determines the change information and The information transmission system according to
(付記3)
前記第1の系はマルチコアプロセッサを使用した装置におけるOS有り環境の系であり、前記第2の系はOSが無いベアメタル環境の系であって、前記特定情報は第1の系に配置された時計が出力する時刻情報であることを特徴とする付記1または付記2記載の情報伝達システム。
(Appendix 3)
The first system is a system with an OS environment in an apparatus using a multi-core processor, the second system is a system with a bare metal environment without an OS, and the specific information is arranged in the first system. The information transmission system according to
(付記4)
前記OS有り環境のそのOSが時刻情報をタイマ割り込みを最短周期としてのティック単位で管理することを特徴とする付記3記載の情報伝達システム。
(Appendix 4)
The information transmission system according to
(付記5)
前記時計は前記共有メモリに実装されており、前記第2の系が前記時計の時刻情報を参照し使用可能であることを特徴とする付記3記載の情報伝達システム。
(Appendix 5)
The information transmission system according to
(付記6)
前記変化情報は、前記第1の系に配置されカウント値を時間の経過と共に変化して出力するカウンタであることを特徴とする付記1記載の情報伝達システム。
(Appendix 6)
2. The information transmission system according to
(付記7)
前記特定情報分割手段は、前記特定情報を構成する前記時刻情報を2つの分割後特定情報に分割することを特徴とする付記3記載の情報伝達システム。
(Appendix 7)
The information transmission system according to
(付記8)
前記第1の系に配置された前記時計は、NTP(Network Time Protocol)サーバと通信を行うNTPクライアントによって前記時刻情報を補正されることを特徴とする付記3または付記5記載の情報伝達システム。
(Appendix 8)
6. The information transmission system according to
(付記9)
送信側としての第1の系に存在し時間的にその内容が変化する可能性のある情報で、受信側としての第2の系に伝達する可能性のある情報としての特定情報を、前記第1の系側で時間を置いて第1の周期で繰り返し入力する特定情報入力ステップと、
この特定情報入力ステップで前記特定情報を入力するたびにその内容が変化する情報としての変化情報を前記特定情報の入力のタイミングで前記第1の系側で入力する変化情報入力ステップと、
前記第1の系側で前記特定情報入力ステップで入力した前記特定情報を前記第1の系と第2の系が共通してアクセスすることのできるメモリとしての前記共有メモリに1回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する特定情報分割ステップと、
前記変化情報入力ステップで入力した前記変化情報を1回書き込み、続いて前記変化情報入力ステップによって分割した前記複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記変化情報と同一内容の変化情報を更に1回書き込んで、前記共有メモリに対する1セット分の書き込みを終了する共有メモリ書込ステップと、
前記第2の系側に配置され、前記第1の周期よりも短い任意の第2の周期で前記共有メモリから前記変化情報および前記複数の分割後特定情報のうちの最新のものを1セット分読み出す共有メモリ読出ステップと、
前記第2の系側に配置され、この共有メモリ読出ステップによって読み出した前記変化情報の対の内容についてそれらの一致の有無を判別する変化情報一致有無判別ステップと、
前記第2の系側に配置され、この変化情報一致有無判別ステップによって前記変化情報の対の内容が一致していると判別したとき前記1セットを構成する残りの情報としての前記複数の分割後特定情報を前記予め定めた順番に沿って組み立てて前記特定情報を再生する特定情報再生ステップ
とを具備することを特徴とする情報伝達方法。
(Appendix 9)
Specific information as information that exists in the first system as the transmitting side and whose contents may change over time, and that may be transmitted to the second system as the receiving side. A specific information input step in which time is repeatedly input in the first cycle with time on the system side of 1;
A change information input step of inputting change information as information whose contents change each time the specific information is input in the specific information input step on the first system side at the input timing of the specific information;
The specific information input in the specific information input step on the first system side is divided once into the shared memory as a memory that can be accessed in common by the first system and the second system. A specific information dividing step of dividing into a plurality of post-division specific information predetermined as a writing amount;
The change information input in the change information input step is written once, and then the plurality of post-division specific information divided in the change information input step is written in a predetermined order, and then the same content as the change information Writing the change information once more, and writing to the shared memory for one set is completed.
One set of the latest information of the change information and the plurality of post-division specific information from the shared memory in an arbitrary second cycle that is arranged on the second system side and shorter than the first cycle. A shared memory read step for reading; and
A change information matching presence / absence determination step that is arranged on the second system side and determines whether or not there is a match between the contents of the pair of change information read by the shared memory reading step;
After the plurality of divisions as the remaining information that constitutes the one set when it is determined that the contents of the pair of change information match in the change information match presence / absence determining step disposed on the second system side And a specific information reproducing step for reproducing the specific information by assembling the specific information in the predetermined order.
(付記10)
前記第2の系側に配置され、前記変化情報一致有無判別ステップによって前記変化情報の対の内容が一致していないと判別したとき、一致すると判別するまで前記共有メモリ読出ステップを用いて、前記変化情報および前記複数の分割後特定情報のうちの最新のものを1セット分読み出す操作を繰り返す読出反復ステップを具備することを特徴とする付記9記載の情報伝達方法。
(Appendix 10)
When it is determined that the content of the pair of change information is not matched by the change information match presence / absence determining step, the shared memory reading step is used until the match is determined to be determined. 10. The information transmission method according to claim 9, further comprising a read repetition step of repeating an operation of reading one set of change information and the plurality of pieces of specific information after division.
(付記11)
前記第1の系はマルチコアプロセッサを使用した装置におけるOS有り環境の系であり、前記第2の系はOSが無いベアメタル環境の系であって、前記特定情報は第1の系に配置された時計が出力する時刻情報であることを特徴とする付記10または付記11記載の情報伝達方法。
(Appendix 11)
The first system is a system with an OS environment in an apparatus using a multi-core processor, the second system is a system with a bare metal environment without an OS, and the specific information is arranged in the first system. The information transmission method according to
以上説明したように本発明は単にマルチコアプロセッサを使用した装置に利用が制限されるものではなく、送信側としての第1の系に存在し時間的にその内容が変化する可能性のある情報を、受信側としての第2の系に伝達する各種装置やシステムに広く適用することができる。 As described above, the present invention is not limited to a device that simply uses a multi-core processor, but information that exists in the first system as the transmission side and whose contents may change over time. The present invention can be widely applied to various devices and systems that transmit to the second system as the receiving side.
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 時計同期処理
10, 200, 200A, 200B
211
Claims (9)
この特定情報入力手段が前記特定情報を入力するたびにその内容が変化する情報としての変化情報を前記特定情報の入力のタイミングで前記第1の系側で入力する変化情報入力手段と、
前記第1の系と第2の系が共通してアクセスすることのできる共有メモリと、
前記第1の系側で前記特定情報入力手段の入力した前記特定情報を前記共有メモリに1回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する特定情報分割手段と、
前記変化情報入力手段の入力した前記変化情報を1回書き込み、続いて前記変化情報入力手段によって分割した前記複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記変化情報と同一内容の変化情報を更に1回書き込んで、前記共有メモリに対する1セット分の書き込みを終了する共有メモリ書込手段と、
前記第2の系側に配置され、前記第1の周期よりも短い任意の第2の周期で前記共有メモリから前記変化情報および前記複数の分割後特定情報のうちの最新のものを1セット分読み出す共有メモリ読出手段と、
前記第2の系側に配置され、この共有メモリ読出手段によって読み出した前記変化情報の対の内容についてそれらの一致の有無を判別する変化情報一致有無判別手段と、
前記第2の系側に配置され、この変化情報一致有無判別手段によって前記変化情報の対の内容が一致していると判別したとき前記1セットを構成する残りの情報としての前記複数の分割後特定情報を前記予め定めた順番に沿って組み立てて前記特定情報を再生する特定情報再生手段
とを具備することを特徴とする情報伝達システム。 Specific information as information that exists in the first system as the transmitting side and whose contents may change over time, and that may be transmitted to the second system as the receiving side. Specific information input means for repeatedly inputting in a first period with time on the system side of 1;
Change information input means for inputting change information as information whose contents change each time the specific information input means inputs the specific information on the first system side at the input timing of the specific information;
A shared memory that can be accessed in common by the first system and the second system;
Specific information dividing means for dividing the specific information input by the specific information input means on the first system side into a plurality of divided specific information predetermined as an amount to be written once in the shared memory;
The change information input by the change information input means is written once, and then the plurality of post-division specific information divided by the change information input means is written in a predetermined order, and then the same content as the change information Writing the change information once more, and the shared memory writing means for ending the writing for one set to the shared memory;
One set of the latest information of the change information and the plurality of post-division specific information from the shared memory in an arbitrary second cycle that is arranged on the second system side and shorter than the first cycle. A shared memory reading means for reading;
Change information matching presence / absence determining means that is arranged on the second system side and that determines the presence or absence of matching between the contents of the pair of change information read by the shared memory reading means;
After the plurality of divisions as the remaining information constituting the one set when it is determined that the contents of the pair of change information are matched by the change information match presence / absence discriminating means arranged on the second system side An information transmission system comprising: specific information reproducing means for assembling specific information in the predetermined order and reproducing the specific information.
この特定情報入力ステップで前記特定情報を入力するたびにその内容が変化する情報としての変化情報を前記特定情報の入力のタイミングで前記第1の系側で入力する変化情報入力ステップと、 A change information input step of inputting change information as information whose contents change each time the specific information is input in the specific information input step on the first system side at the input timing of the specific information;
前記第1の系側で前記特定情報入力ステップで入力した前記特定情報を前記第1の系と第2の系が共通してアクセスすることのできるメモリとしての共有メモリに1回ずつ分けて書き込む量として予め定めた複数の分割後特定情報に分割する特定情報分割ステップと、 The specific information input in the specific information input step on the first system side is written once in a shared memory as a memory that can be accessed in common by the first system and the second system. A specific information dividing step for dividing the information into a plurality of pieces of post-division specific information determined in advance,
前記変化情報入力ステップで入力した前記変化情報を1回書き込み、続いて前記変化情報入力ステップによって分割した前記複数の分割後特定情報を予め定めた順番に沿って書き込んだ後に前記変化情報と同一内容の変化情報を更に1回書き込んで、前記共有メモリに対する1セット分の書き込みを終了する共有メモリ書込ステップと、 The change information input in the change information input step is written once, and then the plurality of post-division specific information divided in the change information input step is written in a predetermined order, and then the same content as the change information Writing the change information once more, and writing to the shared memory for one set is completed.
前記第2の系側に配置され、前記第1の周期よりも短い任意の第2の周期で前記共有メモリから前記変化情報および前記複数の分割後特定情報のうちの最新のものを1セット分読み出す共有メモリ読出ステップと、 One set of the latest information of the change information and the plurality of post-division specific information from the shared memory in an arbitrary second cycle that is arranged on the second system side and shorter than the first cycle. A shared memory read step for reading; and
前記第2の系側に配置され、この共有メモリ読出ステップによって読み出した前記変化情報の対の内容についてそれらの一致の有無を判別する変化情報一致有無判別ステップと、 A change information matching presence / absence determination step that is arranged on the second system side and determines whether or not there is a match between the contents of the pair of change information read by the shared memory reading step;
前記第2の系側に配置され、この変化情報一致有無判別ステップによって前記変化情報の対の内容が一致していると判別したとき前記1セットを構成する残りの情報としての前記複数の分割後特定情報を前記予め定めた順番に沿って組み立てて前記特定情報を再生する特定情報再生ステップ After the plurality of divisions as the remaining information that constitutes the one set when it is determined that the contents of the pair of change information match in the change information match presence / absence determining step disposed on the second system side A specific information reproducing step of assembling specific information in the predetermined order and reproducing the specific information
とを具備することを特徴とする情報伝達方法。An information transmission method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011209096A JP5845771B2 (en) | 2011-09-26 | 2011-09-26 | Information transmission system and information transmission method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011209096A JP5845771B2 (en) | 2011-09-26 | 2011-09-26 | Information transmission system and information transmission method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013069236A JP2013069236A (en) | 2013-04-18 |
JP5845771B2 true JP5845771B2 (en) | 2016-01-20 |
Family
ID=48474840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011209096A Active JP5845771B2 (en) | 2011-09-26 | 2011-09-26 | Information transmission system and information transmission method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5845771B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180004246A1 (en) * | 2015-01-23 | 2018-01-04 | Hitachi, Ltd. | Computer System |
CN110932839B (en) | 2018-09-20 | 2023-09-22 | 中兴通讯股份有限公司 | Network card, time synchronization method, equipment and computer storage medium |
JP7265403B2 (en) * | 2019-04-22 | 2023-04-26 | 日本電信電話株式会社 | NETWORK DELAY MEASUREMENT METHOD AND APPARATUS AND PROGRAM |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3318926B2 (en) * | 1998-01-14 | 2002-08-26 | 日本電気株式会社 | Time synchronization method |
JP4774620B2 (en) * | 2001-04-17 | 2011-09-14 | ソニー株式会社 | Information communication method and information communication system |
-
2011
- 2011-09-26 JP JP2011209096A patent/JP5845771B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013069236A (en) | 2013-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7895303B2 (en) | Server time protocol control messages and methods | |
EP3855675B1 (en) | Network card, time synchronization method and device and computer storage medium | |
CA2675645C (en) | Facilitating synchronization of servers in a coordinated timing network | |
US6789182B1 (en) | System and method for logging computer event data and physical components of a complex distributed system | |
JP5042318B2 (en) | Method, system, and computer program for defining a tier 1 configuration in an agreement timing network | |
WO2021107988A1 (en) | Distributed processing of transactions in a network using timestamps | |
CN115550384B (en) | Cluster data synchronization method, device and equipment and computer readable storage medium | |
JP5845771B2 (en) | Information transmission system and information transmission method | |
US20190229885A1 (en) | Computing device and control system | |
JP6704548B1 (en) | Communication system, communication device and program | |
US7085948B2 (en) | Method, apparatus, and computer program product for implementing time synchronization correction in computer systems | |
US20140019945A1 (en) | Software instrumentation apparatus and method | |
US7058837B2 (en) | Method and system for providing a message-time-ordering facility | |
US6055545A (en) | Updating and reference management system and reference timing control system of shared memory | |
Okabe et al. | Avoiding year 2038 problem on 32-bit linux by rewinding time on clock synchronization | |
JP4351360B2 (en) | Method for correcting leap second of clock of communication device and communication device | |
CN112019288B (en) | Time synchronization method, service single board and network equipment | |
JP2005267321A (en) | Time setting method for logic computer system | |
JP2021164121A (en) | Communication device, communication method, and program | |
US12019466B2 (en) | Virtual precision time protocol clock devices for virtual nodes | |
US6490689B1 (en) | Managing instruction execution in order to accommodate a physical clock value in a clock representation | |
WenXing et al. | Software Design for Comprehensive Control Platform of a Missile Simulation System Based on RTX | |
CN116962431A (en) | Data synchronous processing method and device and electronic equipment | |
JPH06231087A (en) | Multi-cpu system | |
Neville-Neil | Time is an Illusion. Lunchtime doubly so.-Ford Prefect to Arthur Dent in" The Hitchhiker’s Guide to the Galaxy", by Douglas Adams |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140821 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150609 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150610 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150724 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20151027 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151109 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Ref document number: 5845771 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |