JP5687225B2 - 分散システム、バージョン情報の流通方法、バージョン情報流通プログラム - Google Patents

分散システム、バージョン情報の流通方法、バージョン情報流通プログラム Download PDF

Info

Publication number
JP5687225B2
JP5687225B2 JP2012020853A JP2012020853A JP5687225B2 JP 5687225 B2 JP5687225 B2 JP 5687225B2 JP 2012020853 A JP2012020853 A JP 2012020853A JP 2012020853 A JP2012020853 A JP 2012020853A JP 5687225 B2 JP5687225 B2 JP 5687225B2
Authority
JP
Japan
Prior art keywords
version
version information
protocol
distributed system
devices
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.)
Expired - Fee Related
Application number
JP2012020853A
Other languages
English (en)
Other versions
JP2013161162A (ja
Inventor
英成 大和田
英成 大和田
俊輔 鶴見
俊輔 鶴見
亮太 片柳
亮太 片柳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012020853A priority Critical patent/JP5687225B2/ja
Publication of JP2013161162A publication Critical patent/JP2013161162A/ja
Application granted granted Critical
Publication of JP5687225B2 publication Critical patent/JP5687225B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、複数の装置がネットワークを介して相互に連携する分散システムにおいて、各装置で利用するプロトコルのバージョン情報を流通させる分散システム、バージョン情報の流通方法、バージョン情報流通プログラムに関する。
複数の装置間で通信を行う場合、各装置で通信に用いるプロトコルのバージョンが異なるために、通信エラーが発生する場合がある。このような通信エラーを回避するために、例えば、特許文献1には、プロトコルのバージョンを一元管理する機能を有し、アプリケーションがダイアログ開始要求送出を行う前に、要求するサービスにもとづいてプロトコルバージョン管理機能部に問い合わせ、自身がサポートしているプロトコルバージョンを選択して通信を行う技術が記載されている。
特開2000-299713号公報
しかしながら、引用文献1では、ダイアログ開始要求送出を行う度に、プロトコルのバージョンを一元管理するプロトコルバージョン管理機能部にアクセスし、バージョンを問い合わせる必要がある。すなわち、ダイアログ開始要求送出を行う度に、プロトコルバージョン管理機能部への通信が発生する。そのため、プロトコルバージョン管理機能部へアクセスすることによる通信遅延、また、ネットワークへの負荷が問題になる。
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、外部システムにアクセスしてプロトコルのバージョン情報を取得することなく、プロトコルのバージョンの不一致による通信エラーを防止する分散システム、バージョン情報の流通方法、バージョン情報流通プログラムを提供することにある。
上記目的を達成するため、本発明は、複数の装置がネットワークを介して相互に連携して処理を行う分散システムであって、前記装置は、前記複数の装置の各々について、当該分散システムの他装置と通信する際に使用するプロトコルのバージョン情報を記憶する記憶手段と、前記記憶手段を管理するバージョン管理手段と、自装置で使用するプロトコルのバージョン情報を他装置に送信するとともに、他装置から当該他装置で使用するプロトコルのバージョン情報を受信するバージョン流通手段と、を備え、前記バージョン管理手段は、自装置で使用するプロトコルのバージョンが変更された場合、前記記憶手段の自装置のバージョン情報を更新するとともに、変更後のバージョン情報を前記バージョン流通手段を用いて全ての他装置に通知し、他装置から当該他装置で使用するプロトコルのバージョン情報の変更通知を、前記バージョン流通手段を用いて受信した場合、前記記憶手段の当該他装置のバージョン情報を更新する。
本発明は、複数の装置がネットワークを介して相互に連携して処理を行う分散システムにおいて、当該分散システムの他装置と通信する際に使用するプロトコルのバージョン情報の流通方法であって、前記装置は、前記複数の装置の各々について、前記プロトコルのバージョン情報を記憶する記憶部を備え、自装置で使用するプロトコルのバージョンが変更された場合、前記記憶部の自装置のバージョン情報を更新する更新ステップと、自装置の変更後のバージョン情報を全ての他装置に通知する通知ステップとを行い、他装置で使用するプロトコルのバージョンが変更された場合、他装置から当該他装置で使用するプロトコルのバージョン情報の変更通知を受信する受信ステップと、前記記憶部の当該他装置のバージョン情報を更新する更新ステップと、を行う。
本発明は、複数の装置がネットワークを介して相互に連携して処理を行う分散システムにおける、前記装置が実行するバージョン情報流通プログラムであって、前記装置を、前記複数の装置の各々について、当該分散システムの他装置と通信する際に使用するプロトコルのバージョン情報を記憶する記憶手段、前記記憶手段を管理するバージョン管理手段、および、自装置で使用するプロトコルのバージョン情報を他装置に送信するとともに、他装置から当該他装置で使用するプロトコルのバージョン情報を受信するバージョン流通手段、として機能させ、前記バージョン管理手段は、自装置で使用するプロトコルのバージョンが変更された場合、前記記憶手段の自装置のバージョン情報を更新するとともに、変更後のバージョン情報を前記バージョン流通手段を用いて全ての他装置に通知し、他装置から当該他装置で使用するプロトコルのバージョン情報の変更通知を、前記バージョン流通手段を用いて受信した場合、前記記憶手段の当該他装置のバージョン情報を更新する。
本発明によれば、外部システムにアクセスしてプロトコルのバージョン情報を取得することなく、プロトコルのバージョンの不一致による通信エラーを防止する分散システム、バージョン情報の流通方法、バージョン情報流通プログラムを提供することができる。
本発明の実施形態に係る分散システムの全体構成図である。 本実施形態に係る内部装置の構成を示すブロック図である。 バージョン情報記憶部の一例を示す図である。 宛先情報記憶部の一例を示す図である。 初期起動時の動作を示すフローチャートである。 バージョンアップ時の動作を示すフローチャートである。 図6に示すバージョンアップ時の各内部装置の動作を示すシーケンス図である。
以下、本発明の実施の形態について、図面を参照して説明する。
図1は、本実施形態の分散システムの全体構成を示す図である。図1に示す分散システム1は、複数の内部装置2を備え、これらの内部装置2は内部ネットワーク4に接続され、内部ネットワーク4を介して相互に連携するものである。また、分散システム1の所定の内部装置2(図示する例では、内部装置A)は、外部ネットワーク5に接続され、外部装置3と接続可能であるものとする。なお、図示する分散システム1は、3つの内部装置2を例として示すが、内部装置の数は、これに限定されるものではない。
本実施形態の分散システム1では、各内部装置2のプログラムモジュールは、他の内部装置2(以下、「他装置」とする。)と連携して処理を行う場合、他装置と通信するための連携プロトコルモジュールを利用する。そして、本実施形態では、プログラムモジュール及び連携プロトコルモジュールをバージョンアップした際のバージョン情報を、分散システム1内の各内部装置2に流通させる。
図2は、本実施形態の内部装置2の構成を示すブロック図である。本実施形態では、各内部装置2が、分散システム1内の全ての内部装置2のバージョン情報を管理するとともに、自装置のバージョン情報を分散システム1内に流通・配信する。図示する内部装置2は、バージョン管理部21と、バージョン流通部22と、バージョンアップ部23と、バージョン情報記憶部24と、宛先情報記憶部25と、プログラムモジュール26と、バージョン選択部27とを備える。
バージョン管理部21は、バージョン情報記憶部24に記憶される各内部装置2のバージョン情報を管理する。具体的には、初期起動時に自装置のバージョン情報をバージョン流通部22を用いて、分散システム1内の全ての他装置に通知する。また、バージョン管理部21は、バージョンアップ部23を介してプログラムモジュール26または連携プロトコルモジュールのバージョンアップ情報を取得し、バージョン情報記憶部24の自装置のバージョン情報を更新する。また、バージョン管理部21は、バージョン流通部22を介して他装置のバージョン情報の変更通知を受信した場合、当該他装置の変更されたバージョン情報をバージョン情報記憶部24に登録もしくは更新する。
バージョン情報記憶部24には、自装置および他装置で動作する各プログラムモジュールと、当該プログラムモジュールが利用する連携プロトコルモジュールのバージョン情報とが記憶される。
図3は、バージョン情報記憶部24の一例を示す図である。図示するバージョン情報記憶部24には、内部装置名と、プログラムモジュールと、プログラムモジュールのバージョン情報と、プログラムモジュールが利用する連携プロトコルモジュールのバージョン情報とが、対応付けて記憶されている。
なお、内部装置名およびプログラムモジュールには、分散システム1内でユニークな名称(識別情報)が用いられる。また、自装置のバージョン情報を他装置に流通させるために、内部装置名には、どの内部装置が自装置であるかが識別可能な情報が付加されているものとする。図示する例では、内部装置名が「A」には「自装置」の情報が付加され、内部装置Aのバージョン情報記憶部24であることを示している。
また、連携プロトコルモジュールのバージョン情報には、対応するプログラムモジュールが利用可能な全ての連携プロトコルモジュールのバージョンが設定される。図3に示す例では、内部装置AのMod2のプログラムモジュールが利用可能な連携プロトコルモジュールのバージョンは、「1」および「2」であることを示している。
また、プログラムモジュールと、当該プログラムモジュールが利用する連携プロトコルモジュールは、基本的には1対1であって、例えば、Mod1のプログラムモジュールに対応する連携プロトコルモジュールは、Mod1用連携プロトコルモジュールである。なお、1つのプログラムモジュールが、複数の連携プロトコルモジュールを使用する場合は、個々の連携プロトコルモジュールが分散システム内でユニークになるような識別情報を設定する。
バージョン流通部22は、自装置のバージョン情報を他装置に通知するとともに、他装置から当該他装置のバージョン情報を受信し、バージョン管理部21に送出する。具体的には、バージョン流通部22は、バージョン管理部21からバージョン情報が送出されると、宛先情報記憶部25に登録された当該分散システム1の全ての他装置に、バージョン情報を通知・送信する。また、バージョン流通部22は、他装置の各々が送信したバージョン情報を受信し、受信したバージョン情報をバージョン管理部21に送出する。これにより、バージョン管理部21は、バージョン情報記憶部24に当該他装置のバージョン情報を登録または更新する。また、バージョン流通部22は、自装置のバージョン情報を他装置に送信する際に、他のバージョン情報の送受信が完了してない場合は、キューイング処理を行うなどして、他のバージョン情報の送受信の完了後、当該バージョン情報を送信する。
なお、バージョン流通部22が、バージョン情報を他装置に送受信する際に使用するプロトコルは、プログラムモジュールが他装置と通信・連携する際に使用する連携プロトコルとは別のプロトコル(例えば、TCP等)である。これにより、プログラムモジュールのバージョンアップなどによる影響を受けることなく、バージョン情報の送受信が可能となる。
また、通信異常やデータ破損等により、正常なバージョン情報が利用できない場合は、フォーキング等が実施される可能性がある。フォーキング等で通信した際のバージョン情報は、バージョン管理部21とのインタフェースを経由して伝達し、反映することが考えられる。
また、バージョン流通部22は、宛先情報記憶部25を参照して、各他装置の宛先情報を取得し、取得した宛先情報を用いて自装置のバージョン情報を他装置へ送信する。
図4は、宛先情報記憶部25の一例である。宛先情報記憶部25には、分散システム1内の全ての他装置の宛先情報が記憶され、図示する宛先情報記憶部25では、各他装置の内部装置名と宛先情報とが対応付けて記憶されている。内部装置名は、分散システム1内でユニークな識別情報である。宛先情報は、他装置と通信するために必要なアドレス情報であって、例えばIPアドレス、ポート番号などを用いることができる。
バージョンアップ部23は、プログラムモジュールおよび連携プロトコルモジュールのバージョンアップを行う。
プログラムモジュール26は、他装置と連携してアプリケーション処理を行うモジュールである。本実施形態のプログラムモジュール26には、他装置と通信する際に利用可能な連携プロトコルモジュールが、サブモジュールとして組み込まれているものとする。この場合、プログラムモジュール26には、当該プログラムモジュール26のバージョンで利用可能な全てのバージョンの連携プロトコルモジュールが組み込まれているものとする。なお、連携プロトコルモジュールは、プログラムモジュール26とは別の独立したモジュールであってもよい。連携プロトコルモジュールは、他装置と通信するためモジュールである。
バージョン選択部27は、プログラムモジュール26が、他装置と通信する際に、バージョン情報記憶部24に記憶された自装置の連携プロトコルモジュールのバージョン情報と、通信相手の他装置の連携プロトコルモジュールのバージョン情報とを比較し、当該他装置との通信に用いる、相互に利用可能な連携プロトコルモジュールのバージョンを選択し、選択結果をプログラムモジュール26に指示する。これにより、プログラムモジュール26は、相互に利用可能な連携プロトコルモジュールのバージョンを用いて通信を行うことができる。すなわち、バージョンの不一致による通信エラーを防止することができる。
なお、バージョン選択部27の機能は、各プログラムモジュール26の中に組み込まれていてもよい。
上記説明した各内部装置2は、例えば、CPUと、メモリと、HDD等の外部記憶装置と、入力装置と、出力装置とを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPUがメモリ上にロードされた内部装置2用のプログラムを実行することにより、内部装置2の各機能が実現される。また、内部装置2用のプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
次に、本実施形態の動作について説明する。
図5は、初期起動時(例えば、電源ONなど)の動作例を示すフローチャートである。
図5に示す動作例は、内部装置Aの初期起動時に、自装置のバージョン情報を他装置である内部装置Bおよび内部装置Cに通知し、内部装置Aのバージョン情報を受信した内部装置Bが、自装置のバージョン情報を含む応答を内部装置Aに送信する動作である。S11〜S13、S16〜S18は内部装置Aの動作であって、S14およびS15は内部装置Bの動作である。
まず、初期起動時において、内部装置Aのバージョン管理部21は、設定ファイル(例えば、Configurationファイルなど)から自装置のバージョン情報(自装置名、プログラムモジュール、プログラムモジュールのバージョン、連携プロトコルモジュールのバージョンなど)を読み出し、バージョン情報記憶部24に自装置のバージョン情報として設定・登録する。そして、バージョン管理部21は、バージョン情報記憶部24に設定した自装置のバージョン情報を、バージョン流通部22に送出する(S11)。
内部装置Aのバージョン流通部22は、自装置のバージョン情報を受け付けると、当該バージョン情報を分散システム内の他装置へ流通させるために、宛先情報記憶部25を参照し、全ての他装置の各宛先情報を取得する(S12)。そして、バージョン流通部22は、取得した各宛先情報を用いて他装置のそれぞれに、自装置のバージョン情報を送信する(S13)。ここでは、バージョン流通部22は、他装置である内部装置Bおよび内部装置Cに自装置のバージョン情報を送信するものとする。
内部装置Bのバージョン流通部22は、S13で送信された内部装置Aのバージョン情報を受信し、受信したバージョン情報をバージョン管理部21に送出する。バージョン管理部21は、受信した内部装置Aのバージョン情報をバージョン情報記憶部24に設定する(S14)。このとき、内部装置Bでは、S11と同様の処理が行われていて、バージョン情報記憶部24には自装置のバージョン情報が既に設定されているものとする。
内部装置Aのバージョン情報の設定後、内部装置Bのバージョン管理部21は、バージョン情報記憶部24に設定された自装置(内部装置B)のバージョン情報をバージョン流通部22に送出する。バージョン流通部22は、自装置のバージョン情報を含む応答(返信)を、内部装置Aに送信する(S15)。
なお、内部装置Cにおいても、S14およびS15の処理が行われ、自装置(内部装置C)のバージョン情報を含む応答を、内部装置Aに送信する。
S13でバージョン情報を送信した内部装置Aのバージョン流通部22は、各他装置(内部装置B、C)から応答(返信)を監視し、応答を受信した他装置については(S16:応答あり)、当該応答をバージョン管理部21に送出する。バージョン管理部21は、当該応答に含まれる内部装置B(または内部装置C)のバージョン情報をバージョン情報記憶部24に設定する(S17)。
一方、応答のない他装置、または、応答に他装置のバージョン情報が含まれていない場合は(S16:応答なし)、バージョン情報記憶部24への設定は行わない(S18)。この場合、バージョン流通部22は、応答がない旨をバージョン管理部21に通知する。このように、初期起動時に他装置のバージョン情報が取得できなかった場合は、初期値を設定し、次回のバージョンアップ時に更新する等が考えられる。
図5では、内部装置Aが自装置のバージョン情報を、内部装置B、Cに通知し、内部装置B、Cはその応答として、自装置のバージョン情報を内部装置Aに送信する例を説明したが、内部装置B、Cも、それぞれ、自装置のバージョン情報を他装置に通知し、他装置がその応答として、自装置のバージョン情報を内部装置B、Cに送信するものとする。これにより、分散システム1の全ての内部装置において、自装置および他装置のバージョン情報を流通し、バージョン情報記憶部24に保持することができる。
図6は、初期起動時のバージョン情報の流通後に、プログラムモジュール等のバージョンアップを実施した場合の動作を示すフローチャートである。図6では、内部装置Aでバージョンアップを実施し、バージョンアップにより変更されたバージョン情報を、内部装置B、Cに通知する動作を例として説明する。
まず、内部装置Aのバージョンアップ部23は、所定のプログラムモジュールまたは連携プロトコルモジュールのバージョンアップを行う(S21)。バージョン管理部21は、バージョンアップ部23からバージョンアップされたモジュールのバージョンアップ情報を取得する(S22)。
バージョンアップ情報は、バージョンアップ部23からバージョン管理部21へ通知される場合、または、バージョン管理部21がバージョンアップ部23を監視すること等により取得される。バージョンアップ情報には、バージョンアップされたプログラムモジュール、プログラムモジュールのバージョン、連携プロトコルモジュールのバージョンなどが含まれる。
バージョンアップ情報を取得したバージョン管理部21は、バージョン情報記憶部24の自装置のバージョン情報を、バージョンアップ情報を用いて更新する(S23)。図6に示す例では、プログラムモジュールMod1のバージョンが「1」から「2」に更新され、これによりバージョン2のMod1が利用可能なMod1用連携プロトコルモジュールのバージョンが「1」から「1および2」に更新されたことを示している。このように、連携プロトコルモジュールのバージョン情報に、利用可能な全てのバージョンが設定されることで、プログラムモジュールが他装置と通信する際に、相互に共通するバージョンを選択することができる。
バージョン管理部21は、バージョン情報記憶部24で更新した自装置のバージョン情報を、バージョン流通部22に送出する(S24)。
このとき、バージョン流通部22は、当該バージョン情報以外の、他のバージョンアップにより更新されたプログラムモジュール等の他のバージョン情報の通知が実施中か否かを判定する(S25)。なお、バージョン流通部22は、自装置のバージョン情報を送信後に、他装置から応答を監視し、全ての他装置から応答を受信すると、バージョン情報の通知が完了したと判別し、全ての他装置からの応答を受信するまでは実施中であると判別する。
実施中の場合(S25:YES)、バージョン流通部22は、バージョン情報記憶部24のデータ保証等のために、当該バージョン情報を図示しないメモリなどにキューイングし(S26)、他のバージョン情報の通知が完了した後に、本バージョン情報を他装置(内部装置B、C)に送信する。キューイング以外に、データ管理やトランザクション等による方式を用いることも考えられる。
実施中でない場合(S25:NO)、バージョンアップにより変更された自装置のバージョン情報を、図5のS13からS18と同様の処理により、各他装置(内部装置B、C)へ送信し、各他装置は受信したバージョン情報を用いて当該他装置のバージョン情報記憶部24の内部装置Aのバージョン情報を更新し、応答を内部装置Aに送信する(S27)。この場合の応答には、当該他装置のバージョン情報は含まれない。
内部装置Aが全ての他装置からの応答を受信すると、バージョンアップ時のバージョン情報の流通は完了する。
図7は、図6に示すバージョンアップ時の各内部装置の動作を示すシーケンス図である。図示する例では、最初の状態では、内部装置A、B、Cの所定のプログラムモジュールのバージョンは「1」であって、当該プログラムモジュールが利用可能な連携プロトコルモジュールのバージョンは「1」のみであるものとする。
この状態において、内部装置Aでは、バージョンアップが行われ、プログラムモジュールのバージョンが「2」に更新されるとともに、対応する連携プロトコルモジュールのバージョンは「1および2」に更新される(S31)。これにより、内部装置Aのバージョン情報記憶部24の自装置のバージョン情報が更新され、当該バージョン情報の変更通知が内部装置B、Cに送信される(S32)。内部装置B、Cでは、バージョン情報の変更通知を受信すると、バージョン情報記憶部24の内部装置Aのバージョン情報を更新し、応答を内部装置Aに送信する(S33)。
この時点では、内部装置Aと内部装置Bは、両者で共通するバージョン「1」の連携プロトコルモジュールを用いて通信が行われる(S34)。すなわち、内部装置Aでは、外部装置3から外部信号を受信すると(S35)、バージョン選択部27が、バージョン情報記憶部24に記憶された自装置の連携プロトコルのバージョン情報と、通信相手の内部装置Bの連携プロトコルのバージョン情報とを比較し、相互に利用可能な連携プロトコルのバージョン「1」を選択し、選択したバージョンをプログラムモジュールに指示する。なお、相互に利用可能なバージョン(すなわち、共通するバージョン)が複数ある場合、最大のバージョンを選択するものとする。
内部装置Aのプログラムモジュールは、バージョン選択部27が選択したバージョン「1」の連携プロトコルモジュールを用いて連携信号を内部装置Bに送信し(S36)、内部装置Bのプログラムモジュールも、バージョン「1」の連携プロトコルモジュールを用いて連携信号応答を内部装置Aに送信する(S37)。そして、内部装置Aは、連携信号応答に基づいて外部信号応答を外部装置3に送信する(S38)。
そして、内部装置Bでは、バージョンアップが行われ、プログラムモジュールのバージョンが「2」に更新されるとともに、対応する連携プロトコルモジュールのバージョンは「1および2」に更新される(S39)。これにより、内部装置Bのバージョン情報記憶部24の自装置のバージョン情報が更新され、当該バージョン情報の変更通知が内部装置A、Cに送信される(S40)。内部装置A、Cでは、バージョン情報の変更通知を受信すると、バージョン情報記憶部24の内部装置Bのバージョン情報を更新し、応答を内部装置Bに送信する(S41)。
この時点では、内部装置Aと内部装置Bは、両者で共通する連携プロトコルモジュールのバージョンは「1および2」である。そのうちの大きい方のバージョン「2」のプログラムモジュールを用いて通信が行われる(S42)。すなわち、内部装置Aが外部装置3から外部信号を受信すると(S43)、バージョン選択部27が、バージョン情報記憶部24に記憶された自装置および内部装置Bの連携プロトコルのバージョン情報とを比較し、相互に利用可能なバージョンで最大の「2」を選択し、選択したバージョンをプログラムモジュールに指示する。
内部装置Aのプログラムモジュールは、バージョン選択部27が選択したバージョン「2」の連携プロトコルモジュールを用いて連携信号を内部装置Bに送信し(S44)、内部装置Bのプログラムモジュールも、バージョン「2」の連携プロトコルモジュールを用いて連携信号応答を内部装置Aに送信する(S45)。そして、内部装置Aは、連携信号応答に基づいて外部信号応答を外部装置3に送信する(S46)。
S47からS49は、バージョンアップが行われた内部装置Cの動作であって、これについては、S31からS33の動作と同様であるため、ここでは説明を省略する。
このように本実施形態では、分散システム内の各内部装置が、初期起動またはバージョンアップを行うことで、バージョン情報が分散システム内の他装置に流通される。
以上説明した本実施形態では、分散システムにおいて内部装置間で連携(通信)するためのプログラムモジュール、またはプログラムモジュールが利用する連携プロトコルモジュールのバージョンアップの実施を契機に、バージョン情報を分散システム内の各内部装置へ自動的に流通(配布)する。これにより、本実施形態では、各内部装置が、自装置および他装置の連携プロトコルモジュールのバージョン情報が記憶されたバージョン情報記憶部24を保持することができ、他装置についても最新のバージョン情報および過去のバージョン情報を管理することができる。
また、各内部装置がバージョン情報記憶部24を保持することで、他装置との連携動作(通信等)を行う際に、管理装置などの外部システムにアクセスして他装置のバージョン情報を取得することなく、自装置内で連携先の他装置のバージョン情報を取得し、自装置と連携先の相互で利用可能な連携プロトコルのバージョンを選択し、その時点で最適な連携プロトコルのバージョンで通信を行うことができる。したがって、自装置と連携先とで、利用可能な連携プロトコルのバージョンに差異がある状態であっても、各内部装置が相互のバージョン情報を事前に共有することで、最適な連携プロトコルのバージョンを選択することができる。
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
1 :分散システム
2 :内部装置
21:バージョン管理部
22:バージョン流通部
23:バージョンアップ部
24:バージョン情報記憶部
25:宛先情報記憶部
26:プログラムモジュール
3 :外部装置
4 :内部ネットワーク
5 :外部ネットワーク

Claims (8)

  1. 複数の装置がネットワークを介して相互に連携して処理を行う分散システムであって、
    前記装置は、
    前記複数の装置の各々について、当該分散システムの他装置と通信する際に使用するプロトコルのバージョン情報を記憶する記憶手段と、
    前記記憶手段を管理するバージョン管理手段と、
    自装置で使用するプロトコルのバージョン情報を他装置に送信するとともに、他装置から当該他装置で使用するプロトコルのバージョン情報を受信するバージョン流通手段と、を備え、
    前記バージョン管理手段は、
    自装置で使用するプロトコルのバージョンが変更された場合、前記記憶手段の自装置のバージョン情報を更新するとともに、変更後のバージョン情報を前記バージョン流通手段を用いて全ての他装置に通知し、
    他装置から当該他装置で使用するプロトコルのバージョン情報の変更通知を、前記バージョン流通手段を用いて受信した場合、前記記憶手段の当該他装置のバージョン情報を更新すること、
    を特徴とする分散システム。
  2. 請求項1に記載の分散システムであって、
    前記装置は、
    他装置と通信する際に、前記記憶手段に記憶された自装置のバージョン情報と、通信相手の他装置のバージョン情報とを比較し、当該他装置との通信に用いるプロトコルのバージョンを選択するバージョン選択手段、をさらに有すること
    を特徴とする分散システム。
  3. 請求項1または2記載の分散システムであって、
    前記バージョン流通手段は、
    自装置で使用するプロトコルのバージョン情報を他装置に送信する際に、他のバージョン情報の送受信が完了してない場合は、前記他のバージョン情報の送受信の完了後、当該バージョン情報を送信すること
    を特徴とする分散システム。
  4. 請求項1から3のいずれか1項に記載の分散システムであって、
    前記バージョン流通手段は、前記他装置と通信する際に使用するプロトコルとは異なるバージョン情報送受信用プロトコルを用いて、バージョン情報の送受信を行うこと
    を特徴とする分散システム。
  5. 複数の装置がネットワークを介して相互に連携して処理を行う分散システムにおいて、当該分散システムの他装置と通信する際に使用するプロトコルのバージョン情報の流通方法であって、
    前記装置は、
    前記複数の装置の各々について、前記プロトコルのバージョン情報を記憶する記憶部を備え、
    自装置で使用するプロトコルのバージョンが変更された場合、
    前記記憶部の自装置のバージョン情報を更新する更新ステップと、
    自装置の変更後のバージョン情報を全ての他装置に通知する通知ステップとを行い、
    他装置で使用するプロトコルのバージョンが変更された場合、
    他装置から当該他装置で使用するプロトコルのバージョン情報の変更通知を受信する受信ステップと、
    前記記憶部の当該他装置のバージョン情報を更新する更新ステップと、を行うこと、
    を特徴とするバージョン情報の流通方法。
  6. 請求項5に記載のバージョン情報の流通方法であって、
    前記装置は、
    他装置と通信する際に、前記記憶部に記憶された自装置のプロトコルのバージョン情報と、通信相手の他装置のプロトコルのバージョン情報とを比較し、当該他装置との通信に用いるプロトコルのバージョンを選択する選択ステップと、をさらに行うこと
    を特徴とするバージョン情報の流通方法。
  7. 請求項5または6記載のバージョン情報の流通方法であって、
    前記装置は、
    自装置で使用するプロトコルのバージョン情報を他装置に通知する際に、他のバージョン情報の通知処理が完了しているか否かを判別する判別ステップを、さらに行い、
    前記通知ステップは、前記通知処理が完了してない場合、前記他のバージョン情報の送受信の完了後、当該バージョン情報を他装置に通知すること
    を特徴とするバージョン情報の流通方法。
  8. 複数の装置がネットワークを介して相互に連携して処理を行う分散システムにおける、前記装置が実行するバージョン情報流通プログラムであって、
    前記装置を、
    前記複数の装置の各々について、当該分散システムの他装置と通信する際に使用するプロトコルのバージョン情報を記憶する記憶手段、
    前記記憶手段を管理するバージョン管理手段、および、
    自装置で使用するプロトコルのバージョン情報を他装置に送信するとともに、他装置から当該他装置で使用するプロトコルのバージョン情報を受信するバージョン流通手段、として機能させ、
    前記バージョン管理手段は、
    自装置で使用するプロトコルのバージョンが変更された場合、前記記憶手段の自装置のバージョン情報を更新するとともに、変更後のバージョン情報を前記バージョン流通手段を用いて全ての他装置に通知し、
    他装置から当該他装置で使用するプロトコルのバージョン情報の変更通知を、前記バージョン流通手段を用いて受信した場合、前記記憶手段の当該他装置のバージョン情報を更新すること、
    を特徴とするバージョン情報流通プログラム。
JP2012020853A 2012-02-02 2012-02-02 分散システム、バージョン情報の流通方法、バージョン情報流通プログラム Expired - Fee Related JP5687225B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012020853A JP5687225B2 (ja) 2012-02-02 2012-02-02 分散システム、バージョン情報の流通方法、バージョン情報流通プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012020853A JP5687225B2 (ja) 2012-02-02 2012-02-02 分散システム、バージョン情報の流通方法、バージョン情報流通プログラム

Publications (2)

Publication Number Publication Date
JP2013161162A JP2013161162A (ja) 2013-08-19
JP5687225B2 true JP5687225B2 (ja) 2015-03-18

Family

ID=49173380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012020853A Expired - Fee Related JP5687225B2 (ja) 2012-02-02 2012-02-02 分散システム、バージョン情報の流通方法、バージョン情報流通プログラム

Country Status (1)

Country Link
JP (1) JP5687225B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017084322A (ja) * 2015-10-26 2017-05-18 株式会社リコー 情報システム、プログラム及び記録媒体
WO2017073039A1 (en) * 2015-10-26 2017-05-04 Ricoh Company, Ltd. Information system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249163A (ja) * 1995-03-13 1996-09-27 Toshiba Corp ネットワークシステムのソフトウェアバージョン管理装置
JPH1023097A (ja) * 1996-07-09 1998-01-23 Nec Commun Syst Ltd 複数プロトコルバージョン対応方法
JP3317917B2 (ja) * 1999-04-14 2002-08-26 関西日本電気通信システム株式会社 共通線信号方式のtcレイヤにおけるプロトコルバージョン情報管理方式

Also Published As

Publication number Publication date
JP2013161162A (ja) 2013-08-19

Similar Documents

Publication Publication Date Title
US10725768B1 (en) Application update using multiple network connections
JP4684656B2 (ja) 移動機、コンテンツ配信システム、及びコンテンツ配信方法
CN101601028B (zh) 主机和移动设备之间的任务的双向动态卸载
US8392569B2 (en) Data delivery system and data delivery method
US9853929B2 (en) Service compatibility check for messages
CN110532077B (zh) 任务处理方法、装置及存储介质
JP6167736B2 (ja) 情報処理装置、サーバ装置、情報処理方法及びプログラム
JP5352367B2 (ja) 仮想マシン起動端末および仮想マシン起動プログラム
US20220229654A1 (en) Enabling upgrading firmware of a target device
JP2014099083A (ja) 情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法
JP2013097548A (ja) 情報処理システム、情報処理装置、クライアント端末、情報処理方法、及びプログラム
US9313345B2 (en) Information processing apparatus, system, and control method for information processing apparatus
JP2013186654A (ja) ホスト提供システム及びホスト提供方法
JP6028851B2 (ja) 情報処理装置、プログラム更新方法、及びプログラム
JP2024040359A (ja) 更新データを配信するサーバ、更新データの配信方法及び配信プログラム、ソフトウェア更新システム
JP5687225B2 (ja) 分散システム、バージョン情報の流通方法、バージョン情報流通プログラム
US20080252925A1 (en) Communication apparatus, network system, communication method and program
JP6194731B2 (ja) 決済システム
US9742874B2 (en) Control device, and method for transfer control
CN111630500B (zh) 信息分布式存储系统、方法及程序
JP5445177B2 (ja) 確定クロック判定プログラム及び方法、並びにノード装置
US20180150336A1 (en) Management system and control method
WO2014027479A1 (ja) 管理システム及びそれに用いられる管理装置、並びに管理方法及び管理プログラム
JP6088452B2 (ja) データベースシステムおよびデータ更新方法
JP6643706B2 (ja) 配布履歴管理プログラム、配布履歴管理装置および配布履歴管理方法

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