JP2013161162A - Distributed system, version information distribution method, and version information distribution program - Google Patents
Distributed system, version information distribution method, and version information distribution program Download PDFInfo
- Publication number
- JP2013161162A JP2013161162A JP2012020853A JP2012020853A JP2013161162A JP 2013161162 A JP2013161162 A JP 2013161162A JP 2012020853 A JP2012020853 A JP 2012020853A JP 2012020853 A JP2012020853 A JP 2012020853A JP 2013161162 A JP2013161162 A JP 2013161162A
- Authority
- JP
- Japan
- Prior art keywords
- version
- version information
- protocol
- devices
- distributed system
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、複数の装置がネットワークを介して相互に連携する分散システムにおいて、各装置で利用するプロトコルのバージョン情報を流通させる分散システム、バージョン情報の流通方法、バージョン情報流通プログラムに関する。 The present invention relates to a distributed system that distributes version information of a protocol used by each device, a distribution method of version information, and a version information distribution program in a distributed system in which a plurality of devices cooperate with each other via a network.
複数の装置間で通信を行う場合、各装置で通信に用いるプロトコルのバージョンが異なるために、通信エラーが発生する場合がある。このような通信エラーを回避するために、例えば、特許文献1には、プロトコルのバージョンを一元管理する機能を有し、アプリケーションがダイアログ開始要求送出を行う前に、要求するサービスにもとづいてプロトコルバージョン管理機能部に問い合わせ、自身がサポートしているプロトコルバージョンを選択して通信を行う技術が記載されている。
When communication is performed between a plurality of devices, a communication error may occur because the version of the protocol used for communication is different in each device. In order to avoid such a communication error, for example,
しかしながら、引用文献1では、ダイアログ開始要求送出を行う度に、プロトコルのバージョンを一元管理するプロトコルバージョン管理機能部にアクセスし、バージョンを問い合わせる必要がある。すなわち、ダイアログ開始要求送出を行う度に、プロトコルバージョン管理機能部への通信が発生する。そのため、プロトコルバージョン管理機能部へアクセスすることによる通信遅延、また、ネットワークへの負荷が問題になる。
However, in
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、外部システムにアクセスしてプロトコルのバージョン情報を取得することなく、プロトコルのバージョンの不一致による通信エラーを防止する分散システム、バージョン情報の流通方法、バージョン情報流通プログラムを提供することにある。 The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a distributed system that prevents communication errors due to protocol version mismatches without accessing the external system and acquiring protocol version information. And providing a version information distribution method and a version information distribution program.
上記目的を達成するため、本発明は、複数の装置がネットワークを介して相互に連携する分散システムであって、前記装置は、前記複数の装置の各々について、当該分散システムの他装置と通信する際に使用するプロトコルのバージョン情報を記憶する記憶手段と、前記記憶手段を管理するバージョン管理手段と、自装置で使用するプロトコルのバージョン情報を他装置に送信するとともに、他装置から当該他装置で使用するプロトコルのバージョン情報を受信するバージョン流通手段と、を備え、前記バージョン管理手段は、自装置で使用するプロトコルのバージョンが変更された場合、前記記憶手段の自装置のバージョン情報を更新するとともに、変更後のバージョン情報を前記バージョン流通手段を用いて全ての他装置に通知し、他装置から当該他装置で使用するプロトコルのバージョン情報の変更通知を、前記バージョン流通手段を用いて受信した場合、前記記憶手段の当該他装置のバージョン情報を更新する。 To achieve the above object, the present invention provides a distributed system in which a plurality of devices cooperate with each other via a network, and the device communicates with each other device of the distributed system for each of the plurality of devices. Storage means for storing the version information of the protocol used at the time, the version management means for managing the storage means, and the version information of the protocol used by the own apparatus to the other apparatus, and from the other apparatus to the other apparatus Version distribution means for receiving version information of the protocol to be used, and the version management means updates the version information of the own apparatus of the storage means when the version of the protocol used by the own apparatus is changed The version information after the change is notified to all other devices using the version distribution means. The change notification of the version information of the protocol to be used in the other devices from the case of receiving with the version distribution means, and updates the version information of the other devices of the storage means.
本発明は、複数の装置がネットワークを介して相互に連携する分散システムにおいて、当該分散システムの他装置と通信する際に使用するプロトコルのバージョン情報の流通方法であって、前記装置は、前記複数の装置の各々について、前記プロトコルのバージョン情報を記憶する記憶部を備え、自装置で使用するプロトコルのバージョンが変更された場合、前記記憶部の自装置のバージョン情報を更新する更新ステップと、自装置の変更後のバージョン情報を全ての他装置に通知する通知ステップとを行い、他装置で使用するプロトコルのバージョンが変更された場合、他装置から当該他装置で使用するプロトコルのバージョン情報の変更通知を受信する受信ステップと、前記記憶部の当該他装置のバージョン情報を更新する更新ステップと、を行う。 The present invention relates to a method for distributing version information of a protocol used when communicating with other devices of a distributed system in a distributed system in which a plurality of devices cooperate with each other via a network. An update step of updating the version information of the own device in the storage unit when the version of the protocol used in the own device is changed. A notification step for notifying all other devices of the version information after the change of the device, and when the version of the protocol used in the other device is changed, the version information of the protocol used in the other device is changed from the other device A receiving step for receiving a notification, and an updating step for updating version information of the other device in the storage unit , It carried out.
本発明は、複数の装置がネットワークを介して相互に連携する分散システムにおける、前記装置が実行するバージョン情報流通プログラムであって、前記装置を、前記複数の装置の各々について、当該分散システムの他装置と通信する際に使用するプロトコルのバージョン情報を記憶する記憶手段、前記記憶手段を管理するバージョン管理手段、および、自装置で使用するプロトコルのバージョン情報を他装置に送信するとともに、他装置から当該他装置で使用するプロトコルのバージョン情報を受信するバージョン流通手段、として機能させ、前記バージョン管理手段は、自装置で使用するプロトコルのバージョンが変更された場合、前記記憶手段の自装置のバージョン情報を更新するとともに、変更後のバージョン情報を前記バージョン流通手段を用いて全ての他装置に通知し、他装置から当該他装置で使用するプロトコルのバージョン情報の変更通知を、前記バージョン流通手段を用いて受信した場合、前記記憶手段の当該他装置のバージョン情報を更新する。 The present invention relates to a version information distribution program executed by the device in a distributed system in which a plurality of devices cooperate with each other via a network, and the device is added to each of the plurality of devices in addition to the distributed system. Storage means for storing version information of a protocol used when communicating with the apparatus, version management means for managing the storage means, and protocol version information used in its own apparatus are transmitted to another apparatus, and from other apparatuses The version management unit functions as a version distribution unit that receives version information of a protocol used in the other device. When the version of the protocol used in the own device is changed, the version information of the own device in the storage unit And update the version information after the change When notifying all other devices using the communication means and receiving a change notification of the version information of the protocol used by the other devices from the other device using the version distribution means, the other device of the storage means Update version information.
本発明によれば、外部システムにアクセスしてプロトコルのバージョン情報を取得することなく、プロトコルのバージョンの不一致による通信エラーを防止する分散システム、バージョン情報の流通方法、バージョン情報流通プログラムを提供することができる。 According to the present invention, it is possible to provide a distributed system, a version information distribution method, and a version information distribution program that prevent a communication error due to a mismatch of protocol versions without accessing the external system and acquiring protocol version information. Can do.
以下、本発明の実施の形態について、図面を参照して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は、本実施形態の分散システムの全体構成を示す図である。図1に示す分散システム1は、複数の内部装置2を備え、これらの内部装置2は内部ネットワーク4に接続され、内部ネットワーク4を介して相互に連携するものである。また、分散システム1の所定の内部装置2(図示する例では、内部装置A)は、外部ネットワーク5に接続され、外部装置3と接続可能であるものとする。なお、図示する分散システム1は、3つの内部装置2を例として示すが、内部装置の数は、これに限定されるものではない。
FIG. 1 is a diagram illustrating an overall configuration of a distributed system according to the present embodiment. A
本実施形態の分散システム1では、各内部装置2のプログラムモジュールは、他の内部装置2(以下、「他装置」とする。)と連携して処理を行う場合、他装置と通信するための連携プロトコルモジュールを利用する。そして、本実施形態では、プログラムモジュール及び連携プロトコルモジュールをバージョンアップした際のバージョン情報を、分散システム1内の各内部装置2に流通させる。
In the
図2は、本実施形態の内部装置2の構成を示すブロック図である。本実施形態では、各内部装置2が、分散システム1内の全ての内部装置2のバージョン情報を管理するとともに、自装置のバージョン情報を分散システム1内に流通・配信する。図示する内部装置2は、バージョン管理部21と、バージョン流通部22と、バージョンアップ部23と、バージョン情報記憶部24と、宛先情報記憶部25と、プログラムモジュール26と、バージョン選択部27とを備える。
FIG. 2 is a block diagram showing the configuration of the
バージョン管理部21は、バージョン情報記憶部24に記憶される各内部装置2のバージョン情報を管理する。具体的には、初期起動時に自装置のバージョン情報をバージョン流通部22を用いて、分散システム1内の全ての他装置に通知する。また、バージョン管理部21は、バージョンアップ部23を介してプログラムモジュール26または連携プロトコルモジュールのバージョンアップ情報を取得し、バージョン情報記憶部24の自装置のバージョン情報を更新する。また、バージョン管理部21は、バージョン流通部22を介して他装置のバージョン情報の変更通知を受信した場合、当該他装置の変更されたバージョン情報をバージョン情報記憶部24に登録もしくは更新する。
The
バージョン情報記憶部24には、自装置および他装置で動作する各プログラムモジュールと、当該プログラムモジュールが利用する連携プロトコルモジュールのバージョン情報とが記憶される。
The version
図3は、バージョン情報記憶部24の一例を示す図である。図示するバージョン情報記憶部24には、内部装置名と、プログラムモジュールと、プログラムモジュールのバージョン情報と、プログラムモジュールが利用する連携プロトコルモジュールのバージョン情報とが、対応付けて記憶されている。
FIG. 3 is a diagram illustrating an example of the version
なお、内部装置名およびプログラムモジュールには、分散システム1内でユニークな名称(識別情報)が用いられる。また、自装置のバージョン情報を他装置に流通させるために、内部装置名には、どの内部装置が自装置であるかが識別可能な情報が付加されているものとする。図示する例では、内部装置名が「A」には「自装置」の情報が付加され、内部装置Aのバージョン情報記憶部24であることを示している。
A unique name (identification information) within the
また、連携プロトコルモジュールのバージョン情報には、対応するプログラムモジュールが利用可能な全ての連携プロトコルモジュールのバージョンが設定される。図3に示す例では、内部装置AのMod2のプログラムモジュールが利用可能な連携プロトコルモジュールのバージョンは、「1」および「2」であることを示している。 The version information of the cooperation protocol module is set with the versions of all the cooperation protocol modules that can use the corresponding program module. In the example illustrated in FIG. 3, the version of the cooperation protocol module that can be used by the Mod2 program module of the internal device A is “1” and “2”.
また、プログラムモジュールと、当該プログラムモジュールが利用する連携プロトコルモジュールは、基本的には1対1であって、例えば、Mod1のプログラムモジュールに対応する連携プロトコルモジュールは、Mod1用連携プロトコルモジュールである。なお、1つのプログラムモジュールが、複数の連携プロトコルモジュールを使用する場合は、個々の連携プロトコルモジュールが分散システム内でユニークになるような識別情報を設定する。 The program module and the link protocol module used by the program module are basically one-to-one. For example, the link protocol module corresponding to the Mod1 program module is a Mod1 link protocol module. When one program module uses a plurality of cooperation protocol modules, identification information is set such that each cooperation protocol module is unique in the distributed system.
バージョン流通部22は、自装置のバージョン情報を他装置に通知するとともに、他装置から当該他装置のバージョン情報を受信し、バージョン管理部21に送出する。具体的には、バージョン流通部22は、バージョン管理部21からバージョン情報が送出されると、宛先情報記憶部25に登録された当該分散システム1の全ての他装置に、バージョン情報を通知・送信する。また、バージョン流通部22は、他装置の各々が送信したバージョン情報を受信し、受信したバージョン情報をバージョン管理部21に送出する。これにより、バージョン管理部21は、バージョン情報記憶部24に当該他装置のバージョン情報を登録または更新する。また、バージョン流通部22は、自装置のバージョン情報を他装置に送信する際に、他のバージョン情報の送受信が完了してない場合は、キューイング処理を行うなどして、他のバージョン情報の送受信の完了後、当該バージョン情報を送信する。
The
なお、バージョン流通部22が、バージョン情報を他装置に送受信する際に使用するプロトコルは、プログラムモジュールが他装置と通信・連携する際に使用する連携プロトコルとは別のプロトコル(例えば、TCP等)である。これにより、プログラムモジュールのバージョンアップなどによる影響を受けることなく、バージョン情報の送受信が可能となる。
Note that the protocol used when the
また、通信異常やデータ破損等により、正常なバージョン情報が利用できない場合は、フォーキング等が実施される可能性がある。フォーキング等で通信した際のバージョン情報は、バージョン管理部21とのインタフェースを経由して伝達し、反映することが考えられる。
Further, if normal version information cannot be used due to communication abnormality or data corruption, forking or the like may be performed. It is conceivable that the version information when communicating by forking or the like is transmitted via the interface with the
また、バージョン流通部22は、宛先情報記憶部25を参照して、各他装置の宛先情報を取得し、取得した宛先情報を用いて自装置のバージョン情報を他装置へ送信する。
Also, the
図4は、宛先情報記憶部25の一例である。宛先情報記憶部25には、分散システム1内の全ての他装置の宛先情報が記憶され、図示する宛先情報記憶部25では、各他装置の内部装置名と宛先情報とが対応付けて記憶されている。内部装置名は、分散システム1内でユニークな識別情報である。宛先情報は、他装置と通信するために必要なアドレス情報であって、例えばIPアドレス、ポート番号などを用いることができる。
FIG. 4 is an example of the destination
バージョンアップ部23は、プログラムモジュールおよび連携プロトコルモジュールのバージョンアップを行う。
The
プログラムモジュール26は、他装置と連携してアプリケーション処理を行うモジュールである。本実施形態のプログラムモジュール26には、他装置と通信する際に利用可能な連携プロトコルモジュールが、サブモジュールとして組み込まれているものとする。この場合、プログラムモジュール26には、当該プログラムモジュール26のバージョンで利用可能な全てのバージョンの連携プロトコルモジュールが組み込まれているものとする。なお、連携プロトコルモジュールは、プログラムモジュール26とは別の独立したモジュールであってもよい。連携プロトコルモジュールは、他装置と通信するためモジュールである。
The
バージョン選択部27は、プログラムモジュール26が、他装置と通信する際に、バージョン情報記憶部24に記憶された自装置の連携プロトコルモジュールのバージョン情報と、通信相手の他装置の連携プロトコルモジュールのバージョン情報とを比較し、当該他装置との通信に用いる、相互に利用可能な連携プロトコルモジュールのバージョンを選択し、選択結果をプログラムモジュール26に指示する。これにより、プログラムモジュール26は、相互に利用可能な連携プロトコルモジュールのバージョンを用いて通信を行うことができる。すなわち、バージョンの不一致による通信エラーを防止することができる。
When the
なお、バージョン選択部27の機能は、各プログラムモジュール26の中に組み込まれていてもよい。
The function of the
上記説明した各内部装置2は、例えば、CPUと、メモリと、HDD等の外部記憶装置と、入力装置と、出力装置とを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPUがメモリ上にロードされた内部装置2用のプログラムを実行することにより、内部装置2の各機能が実現される。また、内部装置2用のプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
As each
次に、本実施形態の動作について説明する。 Next, the operation of this embodiment will be described.
図5は、初期起動時(例えば、電源ONなど)の動作例を示すフローチャートである。 FIG. 5 is a flowchart illustrating an operation example at the time of initial startup (for example, power ON).
図5に示す動作例は、内部装置Aの初期起動時に、自装置のバージョン情報を他装置である内部装置Bおよび内部装置Cに通知し、内部装置Aのバージョン情報を受信した内部装置Bが、自装置のバージョン情報を含む応答を内部装置Aに送信する動作である。S11〜S13、S16〜S18は内部装置Aの動作であって、S14およびS15は内部装置Bの動作である。 In the operation example shown in FIG. 5, when the internal device A is initially activated, the internal device B notifies the internal device B and the internal device C which are other devices, and the internal device B which has received the version information of the internal device A In this operation, a response including version information of the own device is transmitted to the internal device A. S11 to S13 and S16 to S18 are operations of the internal device A, and S14 and S15 are operations of the internal device B.
まず、初期起動時において、内部装置Aのバージョン管理部21は、設定ファイル(例えば、Configurationファイルなど)から自装置のバージョン情報(自装置名、プログラムモジュール、プログラムモジュールのバージョン、連携プロトコルモジュールのバージョンなど)を読み出し、バージョン情報記憶部24に自装置のバージョン情報として設定・登録する。そして、バージョン管理部21は、バージョン情報記憶部24に設定した自装置のバージョン情報を、バージョン流通部22に送出する(S11)。
First, at the time of initial startup, the
内部装置Aのバージョン流通部22は、自装置のバージョン情報を受け付けると、当該バージョン情報を分散システム内の他装置へ流通させるために、宛先情報記憶部25を参照し、全ての他装置の各宛先情報を取得する(S12)。そして、バージョン流通部22は、取得した各宛先情報を用いて他装置のそれぞれに、自装置のバージョン情報を送信する(S13)。ここでは、バージョン流通部22は、他装置である内部装置Bおよび内部装置Cに自装置のバージョン情報を送信するものとする。
When the
内部装置Bのバージョン流通部22は、S13で送信された内部装置Aのバージョン情報を受信し、受信したバージョン情報をバージョン管理部21に送出する。バージョン管理部21は、受信した内部装置Aのバージョン情報をバージョン情報記憶部24に設定する(S14)。このとき、内部装置Bでは、S11と同様の処理が行われていて、バージョン情報記憶部24には自装置のバージョン情報が既に設定されているものとする。
The
内部装置Aのバージョン情報の設定後、内部装置Bのバージョン管理部21は、バージョン情報記憶部24に設定された自装置(内部装置B)のバージョン情報をバージョン流通部22に送出する。バージョン流通部22は、自装置のバージョン情報を含む応答(返信)を、内部装置Aに送信する(S15)。
After setting the version information of the internal device A, the
なお、内部装置Cにおいても、S14およびS15の処理が行われ、自装置(内部装置C)のバージョン情報を含む応答を、内部装置Aに送信する。 The internal device C also performs the processing of S14 and S15, and transmits a response including the version information of the own device (internal device C) to the internal device A.
S13でバージョン情報を送信した内部装置Aのバージョン流通部22は、各他装置(内部装置B、C)から応答(返信)を監視し、応答を受信した他装置については(S16:応答あり)、当該応答をバージョン管理部21に送出する。バージョン管理部21は、当該応答に含まれる内部装置B(または内部装置C)のバージョン情報をバージョン情報記憶部24に設定する(S17)。
The
一方、応答のない他装置、または、応答に他装置のバージョン情報が含まれていない場合は(S16:応答なし)、バージョン情報記憶部24への設定は行わない(S18)。この場合、バージョン流通部22は、応答がない旨をバージョン管理部21に通知する。このように、初期起動時に他装置のバージョン情報が取得できなかった場合は、初期値を設定し、次回のバージョンアップ時に更新する等が考えられる。
On the other hand, if the other device does not respond or the version information of the other device is not included in the response (S16: no response), setting in the version
図5では、内部装置Aが自装置のバージョン情報を、内部装置B、Cに通知し、内部装置B、Cはその応答として、自装置のバージョン情報を内部装置Aに送信する例を説明したが、内部装置B、Cも、それぞれ、自装置のバージョン情報を他装置に通知し、他装置がその応答として、自装置のバージョン情報を内部装置B、Cに送信するものとする。これにより、分散システム1の全ての内部装置において、自装置および他装置のバージョン情報を流通し、バージョン情報記憶部24に保持することができる。
FIG. 5 illustrates an example in which the internal device A notifies the version information of the own device to the internal devices B and C, and the internal devices B and C transmit the version information of the own device to the internal device A as a response. However, each of the internal devices B and C also notifies the version information of the own device to the other device, and the other device transmits the version information of the own device to the internal devices B and C as a response. Thereby, in all internal devices of the distributed
図6は、初期起動時のバージョン情報の流通後に、プログラムモジュール等のバージョンアップを実施した場合の動作を示すフローチャートである。図6では、内部装置Aでバージョンアップを実施し、バージョンアップにより変更されたバージョン情報を、内部装置B、Cに通知する動作を例として説明する。 FIG. 6 is a flowchart showing the operation when the version upgrade of the program module or the like is performed after the distribution of the version information at the initial startup. FIG. 6 illustrates an example of an operation in which version upgrade is performed by the internal device A, and the version information changed by the version upgrade is notified to the internal devices B and C.
まず、内部装置Aのバージョンアップ部23は、所定のプログラムモジュールまたは連携プロトコルモジュールのバージョンアップを行う(S21)。バージョン管理部21は、バージョンアップ部23からバージョンアップされたモジュールのバージョンアップ情報を取得する(S22)。
First, the
バージョンアップ情報は、バージョンアップ部23からバージョン管理部21へ通知される場合、または、バージョン管理部21がバージョンアップ部23を監視すること等により取得される。バージョンアップ情報には、バージョンアップされたプログラムモジュール、プログラムモジュールのバージョン、連携プロトコルモジュールのバージョンなどが含まれる。
The upgrade information is acquired when notified from the
バージョンアップ情報を取得したバージョン管理部21は、バージョン情報記憶部24の自装置のバージョン情報を、バージョンアップ情報を用いて更新する(S23)。図6に示す例では、プログラムモジュールMod1のバージョンが「1」から「2」に更新され、これによりバージョン2のMod1が利用可能なMod1用連携プロトコルモジュールのバージョンが「1」から「1および2」に更新されたことを示している。このように、連携プロトコルモジュールのバージョン情報に、利用可能な全てのバージョンが設定されることで、プログラムモジュールが他装置と通信する際に、相互に共通するバージョンを選択することができる。
The
バージョン管理部21は、バージョン情報記憶部24で更新した自装置のバージョン情報を、バージョン流通部22に送出する(S24)。
The
このとき、バージョン流通部22は、当該バージョン情報以外の、他のバージョンアップにより更新されたプログラムモジュール等の他のバージョン情報の通知が実施中か否かを判定する(S25)。なお、バージョン流通部22は、自装置のバージョン情報を送信後に、他装置から応答を監視し、全ての他装置から応答を受信すると、バージョン情報の通知が完了したと判別し、全ての他装置からの応答を受信するまでは実施中であると判別する。
At this time, the
実施中の場合(S25:YES)、バージョン流通部22は、バージョン情報記憶部24のデータ保証等のために、当該バージョン情報を図示しないメモリなどにキューイングし(S26)、他のバージョン情報の通知が完了した後に、本バージョン情報を他装置(内部装置B、C)に送信する。キューイング以外に、データ管理やトランザクション等による方式を用いることも考えられる。
In the case of implementation (S25: YES), the
実施中でない場合(S25:NO)、バージョンアップにより変更された自装置のバージョン情報を、図5のS13からS18と同様の処理により、各他装置(内部装置B、C)へ送信し、各他装置は受信したバージョン情報を用いて当該他装置のバージョン情報記憶部24の内部装置Aのバージョン情報を更新し、応答を内部装置Aに送信する(S27)。この場合の応答には、当該他装置のバージョン情報は含まれない。
If not implemented (S25: NO), the version information of the own device changed by the version upgrade is transmitted to each other device (internal devices B and C) by the same processing as S13 to S18 in FIG. The other device updates the version information of the internal device A in the version
内部装置Aが全ての他装置からの応答を受信すると、バージョンアップ時のバージョン情報の流通は完了する。 When the internal device A receives responses from all other devices, the distribution of version information at the time of version upgrade is completed.
図7は、図6に示すバージョンアップ時の各内部装置の動作を示すシーケンス図である。図示する例では、最初の状態では、内部装置A、B、Cの所定のプログラムモジュールのバージョンは「1」であって、当該プログラムモジュールが利用可能な連携プロトコルモジュールのバージョンは「1」のみであるものとする。 FIG. 7 is a sequence diagram showing the operation of each internal device at the time of version upgrade shown in FIG. In the illustrated example, in the initial state, the version of the predetermined program module of the internal devices A, B, and C is “1”, and the version of the cooperation protocol module that can be used by the program module is only “1”. It shall be.
この状態において、内部装置Aでは、バージョンアップが行われ、プログラムモジュールのバージョンが「2」に更新されるとともに、対応する連携プロトコルモジュールのバージョンは「1および2」に更新される(S31)。これにより、内部装置Aのバージョン情報記憶部24の自装置のバージョン情報が更新され、当該バージョン情報の変更通知が内部装置B、Cに送信される(S32)。内部装置B、Cでは、バージョン情報の変更通知を受信すると、バージョン情報記憶部24の内部装置Aのバージョン情報を更新し、応答を内部装置Aに送信する(S33)。
In this state, the internal device A is upgraded, the program module version is updated to “2”, and the corresponding cooperation protocol module version is updated to “1 and 2” (S31). As a result, the version information of the own device in the version
この時点では、内部装置Aと内部装置Bは、両者で共通するバージョン「1」の連携プロトコルモジュールを用いて通信が行われる(S34)。すなわち、内部装置Aでは、外部装置3から外部信号を受信すると(S35)、バージョン選択部27が、バージョン情報記憶部24に記憶された自装置の連携プロトコルのバージョン情報と、通信相手の内部装置Bの連携プロトコルのバージョン情報とを比較し、相互に利用可能な連携プロトコルのバージョン「1」を選択し、選択したバージョンをプログラムモジュールに指示する。なお、相互に利用可能なバージョン(すなわち、共通するバージョン)が複数ある場合、最大のバージョンを選択するものとする。
At this time, the internal device A and the internal device B communicate with each other by using the cooperation protocol module of the version “1” common to both (S34). That is, in the internal device A, when receiving an external signal from the external device 3 (S35), the
内部装置Aのプログラムモジュールは、バージョン選択部27が選択したバージョン「1」の連携プロトコルモジュールを用いて連携信号を内部装置Bに送信し(S36)、内部装置Bのプログラムモジュールも、バージョン「1」の連携プロトコルモジュールを用いて連携信号応答を内部装置Aに送信する(S37)。そして、内部装置Aは、連携信号応答に基づいて外部信号応答を外部装置3に送信する(S38)。
The program module of the internal device A transmits a cooperation signal to the internal device B using the cooperation protocol module of the version “1” selected by the version selection unit 27 (S36), and the program module of the internal device B also has the version “1”. The cooperation signal response is transmitted to the internal device A using the cooperation protocol module "S37". Then, the internal device A transmits an external signal response to the
そして、内部装置Bでは、バージョンアップが行われ、プログラムモジュールのバージョンが「2」に更新されるとともに、対応する連携プロトコルモジュールのバージョンは「1および2」に更新される(S39)。これにより、内部装置Bのバージョン情報記憶部24の自装置のバージョン情報が更新され、当該バージョン情報の変更通知が内部装置A、Cに送信される(S40)。内部装置A、Cでは、バージョン情報の変更通知を受信すると、バージョン情報記憶部24の内部装置Bのバージョン情報を更新し、応答を内部装置Bに送信する(S41)。
In the internal device B, the version is upgraded, the version of the program module is updated to “2”, and the version of the corresponding cooperation protocol module is updated to “1 and 2” (S39). Thereby, the version information of the own device in the version
この時点では、内部装置Aと内部装置Bは、両者で共通する連携プロトコルモジュールのバージョンは「1および2」である。そのうちの大きい方のバージョン「2」のプログラムモジュールを用いて通信が行われる(S42)。すなわち、内部装置Aが外部装置3から外部信号を受信すると(S43)、バージョン選択部27が、バージョン情報記憶部24に記憶された自装置および内部装置Bの連携プロトコルのバージョン情報とを比較し、相互に利用可能なバージョンで最大の「2」を選択し、選択したバージョンをプログラムモジュールに指示する。
At this time, the version of the cooperation protocol module common to both the internal device A and the internal device B is “1 and 2”. Communication is performed using the program module of the larger version “2” (S42). That is, when the internal device A receives an external signal from the external device 3 (S43), the
内部装置Aのプログラムモジュールは、バージョン選択部27が選択したバージョン「2」の連携プロトコルモジュールを用いて連携信号を内部装置Bに送信し(S44)、内部装置Bのプログラムモジュールも、バージョン「2」の連携プロトコルモジュールを用いて連携信号応答を内部装置Aに送信する(S45)。そして、内部装置Aは、連携信号応答に基づいて外部信号応答を外部装置3に送信する(S46)。
The program module of the internal device A transmits the cooperation signal to the internal device B using the cooperation protocol module of the version “2” selected by the version selection unit 27 (S44), and the program module of the internal device B also has the version “2”. The cooperation signal module is transmitted to the internal device A using the cooperation protocol module (S45). Then, the internal device A transmits an external signal response to the
S47からS49は、バージョンアップが行われた内部装置Cの動作であって、これについては、S31からS33の動作と同様であるため、ここでは説明を省略する。 S47 to S49 are the operations of the internal device C that has been upgraded, and since this is the same as the operations of S31 to S33, description thereof is omitted here.
このように本実施形態では、分散システム内の各内部装置が、初期起動またはバージョンアップを行うことで、バージョン情報が分散システム内の他装置に流通される。 As described above, in this embodiment, each internal device in the distributed system performs initial activation or version upgrade, whereby the version information is distributed to other devices in the distributed system.
以上説明した本実施形態では、分散システムにおいて内部装置間で連携(通信)するためのプログラムモジュール、またはプログラムモジュールが利用する連携プロトコルモジュールのバージョンアップの実施を契機に、バージョン情報を分散システム内の各内部装置へ自動的に流通(配布)する。これにより、本実施形態では、各内部装置が、自装置および他装置の連携プロトコルモジュールのバージョン情報が記憶されたバージョン情報記憶部24を保持することができ、他装置についても最新のバージョン情報および過去のバージョン情報を管理することができる。
In the present embodiment described above, version information is stored in the distributed system in response to the version upgrade of the program module for cooperation (communication) between internal devices in the distributed system or the cooperation protocol module used by the program module. It is automatically distributed (distributed) to each internal device. Thereby, in this embodiment, each internal device can hold the version
また、各内部装置がバージョン情報記憶部24を保持することで、他装置との連携動作(通信等)を行う際に、管理装置などの外部システムにアクセスして他装置のバージョン情報を取得することなく、自装置内で連携先の他装置のバージョン情報を取得し、自装置と連携先の相互で利用可能な連携プロトコルのバージョンを選択し、その時点で最適な連携プロトコルのバージョンで通信を行うことができる。したがって、自装置と連携先とで、利用可能な連携プロトコルのバージョンに差異がある状態であっても、各内部装置が相互のバージョン情報を事前に共有することで、最適な連携プロトコルのバージョンを選択することができる。
In addition, each internal device holds the version
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。 In addition, this invention is not limited to the said embodiment, Many deformation | transformation are possible within the range of the summary.
1 :分散システム
2 :内部装置
21:バージョン管理部
22:バージョン流通部
23:バージョンアップ部
24:バージョン情報記憶部
25:宛先情報記憶部
26:プログラムモジュール
3 :外部装置
4 :内部ネットワーク
5 :外部ネットワーク
DESCRIPTION OF SYMBOLS 1: Distributed system 2: Internal apparatus 21: Version management part 22: Version distribution part 23: Version upgrade part 24: Version information storage part 25: Destination information storage part 26: Program module 3: External apparatus 4: Internal network 5: External network
Claims (8)
前記装置は、
前記複数の装置の各々について、当該分散システムの他装置と通信する際に使用するプロトコルのバージョン情報を記憶する記憶手段と、
前記記憶手段を管理するバージョン管理手段と、
自装置で使用するプロトコルのバージョン情報を他装置に送信するとともに、他装置から当該他装置で使用するプロトコルのバージョン情報を受信するバージョン流通手段と、を備え、
前記バージョン管理手段は、
自装置で使用するプロトコルのバージョンが変更された場合、前記記憶手段の自装置のバージョン情報を更新するとともに、変更後のバージョン情報を前記バージョン流通手段を用いて全ての他装置に通知し、
他装置から当該他装置で使用するプロトコルのバージョン情報の変更通知を、前記バージョン流通手段を用いて受信した場合、前記記憶手段の当該他装置のバージョン情報を更新すること、
を特徴とする分散システム。 A distributed system in which a plurality of devices cooperate with each other via a network,
The device is
For each of the plurality of devices, storage means for storing protocol version information used when communicating with other devices of the distributed system;
Version management means for managing the storage means;
Version distribution means for transmitting the version information of the protocol used in the own device to another device and receiving the version information of the protocol used in the other device from the other device, and
The version management means includes
When the version of the protocol used by the own device is changed, update the version information of the own device of the storage means, and notify all other devices of the changed version information using the version distribution means,
Update notification of the version information of the protocol used in the other device from the other device using the version distribution means, updating the version information of the other device in the storage means;
Distributed system characterized by
前記装置は、
他装置と通信する際に、前記記憶手段に記憶された自装置のバージョン情報と、通信相手の他装置のバージョン情報とを比較し、当該他装置との通信に用いるプロトコルのバージョンを選択するバージョン選択手段、をさらに有すること
を特徴とする分散システム。 The distributed system according to claim 1,
The device is
A version that compares the version information of the own device stored in the storage unit with the version information of the other device of the communication partner and selects the protocol version used for communication with the other device when communicating with the other device. The distributed system further comprising a selection unit.
前記バージョン流通手段は、
自装置で使用するプロトコルのバージョン情報を他装置に送信する際に、他のバージョン情報の送受信が完了してない場合は、前記他のバージョン情報の送受信の完了後、当該バージョン情報を送信すること
を特徴とする分散システム。 The distributed system according to claim 1 or 2,
The version distribution means is:
When transmitting / receiving the version information of the protocol used by the own device to another device, if the transmission / reception of the other version information is not completed, the version information is transmitted after the transmission / reception of the other version information is completed. Distributed system characterized by
前記バージョン流通手段は、前記他装置と通信する際に使用するプロトコルとは異なるバージョン情報送受信用プロトコルを用いて、バージョン情報の送受信を行うこと
を特徴とする分散システム。 The distributed system according to any one of claims 1 to 3,
The distributed system characterized in that the version distribution means transmits / receives version information using a protocol for transmitting / receiving version information different from a protocol used when communicating with the other device.
前記装置は、
前記複数の装置の各々について、前記プロトコルのバージョン情報を記憶する記憶部を備え、
自装置で使用するプロトコルのバージョンが変更された場合、
前記記憶部の自装置のバージョン情報を更新する更新ステップと、
自装置の変更後のバージョン情報を全ての他装置に通知する通知ステップとを行い、
他装置で使用するプロトコルのバージョンが変更された場合、
他装置から当該他装置で使用するプロトコルのバージョン情報の変更通知を受信する受信ステップと、
前記記憶部の当該他装置のバージョン情報を更新する更新ステップと、を行うこと、
を特徴とするバージョン情報の流通方法。 In a distributed system in which a plurality of devices cooperate with each other via a network, a protocol version information distribution method used when communicating with other devices of the distributed system,
The device is
A storage unit that stores version information of the protocol for each of the plurality of devices,
If the protocol version used on the local device is changed,
An update step of updating version information of the own device of the storage unit;
And a notification step for notifying all other devices of the version information after the change of the own device,
If the protocol version used by another device has changed,
A receiving step of receiving a change notification of the version information of the protocol used in the other device from the other device;
Performing an update step of updating version information of the other device in the storage unit,
Version information distribution method characterized by
前記装置は、
他装置と通信する際に、前記記憶部に記憶された自装置のプロトコルのバージョン情報と、通信相手の他装置のプロトコルのバージョン情報とを比較し、当該他装置との通信に用いるプロトコルのバージョンを選択する選択ステップと、をさらに行うこと
を特徴とするバージョン情報の流通方法。 A distribution method of version information according to claim 5,
The device is
When communicating with another device, the version information of the protocol of the own device stored in the storage unit is compared with the protocol version information of the other device of the communication partner, and the protocol version used for communication with the other device And a selection step of selecting the version information distribution method.
前記装置は、
自装置で使用するプロトコルのバージョン情報を他装置に通知する際に、他のバージョン情報の通知処理が完了しているか否かを判別する判別ステップを、さらに行い、
前記通知ステップは、前記通知処理が完了してない場合、前記他のバージョン情報の送受信の完了後、当該バージョン情報を他装置に通知すること
を特徴とするバージョン情報の流通方法。 A distribution method of version information according to claim 5 or 6,
The device is
When notifying the other device of the version information of the protocol used in its own device, further performing a determination step of determining whether the notification processing of the other version information has been completed,
The notifying step notifies the version information to another apparatus after completion of the transmission / reception of the other version information when the notification process is not completed.
前記装置を、
前記複数の装置の各々について、当該分散システムの他装置と通信する際に使用するプロトコルのバージョン情報を記憶する記憶手段、
前記記憶手段を管理するバージョン管理手段、および、
自装置で使用するプロトコルのバージョン情報を他装置に送信するとともに、他装置から当該他装置で使用するプロトコルのバージョン情報を受信するバージョン流通手段、として機能させ、
前記バージョン管理手段は、
自装置で使用するプロトコルのバージョンが変更された場合、前記記憶手段の自装置のバージョン情報を更新するとともに、変更後のバージョン情報を前記バージョン流通手段を用いて全ての他装置に通知し、
他装置から当該他装置で使用するプロトコルのバージョン情報の変更通知を、前記バージョン流通手段を用いて受信した場合、前記記憶手段の当該他装置のバージョン情報を更新すること、
を特徴とするバージョン情報流通プログラム。 A version information distribution program executed by the device in a distributed system in which a plurality of devices cooperate with each other via a network,
Said device,
Storage means for storing protocol version information used when communicating with other devices of the distributed system for each of the plurality of devices,
Version management means for managing the storage means; and
The version information of the protocol used in its own device is transmitted to the other device and functions as a version distribution means for receiving the version information of the protocol used in the other device from the other device,
The version management means includes
When the version of the protocol used by the own device is changed, update the version information of the own device of the storage means, and notify all other devices of the changed version information using the version distribution means,
Update notification of the version information of the protocol used in the other device from the other device using the version distribution means, updating the version information of the other device in the storage means;
Version information distribution program characterized by
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012020853A JP5687225B2 (en) | 2012-02-02 | 2012-02-02 | Distributed system, version information distribution method, version information distribution program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012020853A JP5687225B2 (en) | 2012-02-02 | 2012-02-02 | Distributed system, version information distribution method, version information distribution program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013161162A true JP2013161162A (en) | 2013-08-19 |
JP5687225B2 JP5687225B2 (en) | 2015-03-18 |
Family
ID=49173380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012020853A Expired - Fee Related JP5687225B2 (en) | 2012-02-02 | 2012-02-02 | Distributed system, version information distribution method, version information distribution program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5687225B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017073039A1 (en) * | 2015-10-26 | 2017-05-04 | Ricoh Company, Ltd. | Information system |
US20180241841A1 (en) * | 2015-10-26 | 2018-08-23 | Taro OKUYAMA | Information system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08249163A (en) * | 1995-03-13 | 1996-09-27 | Toshiba Corp | Software version control device for network system |
JPH1023097A (en) * | 1996-07-09 | 1998-01-23 | Nec Commun Syst Ltd | Method for provision for a plurality of protocol versions |
JP2000299713A (en) * | 1999-04-14 | 2000-10-24 | Kansai Nippon Denki Tsushin System Kk | System for managing version information of protocol in tc layer of common line signal system |
-
2012
- 2012-02-02 JP JP2012020853A patent/JP5687225B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08249163A (en) * | 1995-03-13 | 1996-09-27 | Toshiba Corp | Software version control device for network system |
JPH1023097A (en) * | 1996-07-09 | 1998-01-23 | Nec Commun Syst Ltd | Method for provision for a plurality of protocol versions |
JP2000299713A (en) * | 1999-04-14 | 2000-10-24 | Kansai Nippon Denki Tsushin System Kk | System for managing version information of protocol in tc layer of common line signal system |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017073039A1 (en) * | 2015-10-26 | 2017-05-04 | Ricoh Company, Ltd. | Information system |
US20180241841A1 (en) * | 2015-10-26 | 2018-08-23 | Taro OKUYAMA | Information system |
Also Published As
Publication number | Publication date |
---|---|
JP5687225B2 (en) | 2015-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10725768B1 (en) | Application update using multiple network connections | |
JP4684656B2 (en) | Mobile device, content distribution system, and content distribution method | |
US8392569B2 (en) | Data delivery system and data delivery method | |
US9853929B2 (en) | Service compatibility check for messages | |
CN101601028A (en) | The bidirectional dynamic offloading of the task between main frame and the mobile device | |
JP6167736B2 (en) | Information processing apparatus, server apparatus, information processing method, and program | |
CN110532077B (en) | Task processing method and device and storage medium | |
US20170085633A1 (en) | Method and apparatus for saving cloud service traffic using peer-to-peer connection | |
JP2014099083A (en) | Information processing system, information processing device, information processing program and information processing method | |
US20220229654A1 (en) | Enabling upgrading firmware of a target device | |
JP2011028547A (en) | Virtual machine starting terminal and virtual machine starting program | |
JP2013097548A (en) | Information processing system, information processing device, client terminal, information processing method and program | |
JP5687225B2 (en) | Distributed system, version information distribution method, version information distribution program | |
WO2014169759A1 (en) | Method for realizing smart home service, smart home terminal and service hotspots | |
JP6194731B2 (en) | Payment system | |
US9742874B2 (en) | Control device, and method for transfer control | |
JP2015171025A (en) | Communication control system, information processing apparatus, and communication control method | |
WO2014027479A1 (en) | Management system, and management device as well as management method and management program used therein | |
JP5445177B2 (en) | Deterministic clock determination program and method, and node device | |
US20180150336A1 (en) | Management system and control method | |
JP6088452B2 (en) | Database system and data update method | |
JP6416677B2 (en) | Terminal device, distribution information acquisition method, and computer program | |
JP6643706B2 (en) | Distribution history management program, distribution history management device, and distribution history management method | |
JP2010198200A (en) | Device and method for profile information management, and program | |
JP2017068415A (en) | System and method for controlling the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140130 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140627 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140701 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140820 |
|
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: 20150120 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150121 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5687225 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |