(57)【特許請求の範囲】
【請求項１】
外部コンピュータとの間の通信システムを自コンピュータに構成するための通信ソフトウェアであって、
自コンピュータに、
通信インターフェースを構成するためのソフトウェア部品と、
プロトコル制御手段を構成するためのソフトウェア部品と、
電文解釈手段を構成するためのソフトウェア部品と、を備え、
(a1)前記通信インターフェースに、通信用ハードウェアを制御する機能を実現させ、
(b1)前記プロトコル制御手段及び前記電文解釈手段に対し前記通信用ハードウェアへの外部コンピュータの最大接続数を通知する機能を実現させ、
(c1)前記通信インターフェースのコピーを生成する機能を実現させ、
(c2)前記通知に係る最大接続数分を賄う前記プロトコル制御手段のコピーを生成する機能を実現させ、
(c3)前記通知に係る最大接続数分を賄う前記電文解釈手段のコピーを生成する機能を実現させ、
(d1)前記プロトコル制御手段と前記電文解釈手段との入出力が結びつく機能を実現させ、
(d2)前記通信インターフェースと前記プロトコル制御手段との入出力が結びつく機能を実現させ、
(d3) 前記通信インターフェースと前記通信用ハードウェアとを切り離す機能を実現させ、
(d4)前記通信インターフェースと前記通信用ハードウェアとが結びつく機能を実現させる通信ソフトウェア。
【請求項２】
自コンピュータに、
(d5)前記プロトコル制御手段と通信インターフェース１ｂとを切り離す機能を実現させる請求項１に記載の通信ソフトウェア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ間通信用の通信ソフトウェア（コンピュータプログラム）に係り、そのバージョンアップに関する。
【背景技術】
【０００２】
一般に、通信ソフトウェアのバージョンアップはシステム再起動をしなくてはならないため、旧プログラムから新プログラムにバージョンアップされるまでの間に通信ができない時間が存在する。
例えば、計測情報をサーバに送信する地震計などのように、常時動作しなくてはならず、かつ、サーバとの間の通信が何時必要になるか特定できない装置にあっては、バージョンアップにより通信できない時間を極力避けたいという要請がある。
【０００３】
特許文献１記載の発明にあっては、マルチプロセス・マルチスレッド構成システムにおいて、業務を停止せずにコンポーネント（ソフトウェア部品）を置換できるようにすることを課題として、全てのスレッド（動作しているプログラムの最小単位）が待機状態になり次第コンポーネントのアンロードを行い、新コンポーネントへの置換処理を行い、置換処理後にスレッドを再開する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２９０６３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように、一般に通信ソフトウェアのバージョンアップはシステム再起動を要する。
特許文献１記載の発明にあっては、全てのスレッドが待機状態になることを条件として新コンポーネントへの置換処理を行うから、システム全体が停止状態とならない限りバージョンアップができない。
【０００６】
本発明は以上の従来技術における問題に鑑みてなされたものであって、システム全体を停止状態とすることなく、旧プログラムから新プログラムにバージョンアップすることができる通信ソフトウェアを提供することを課題とする。
【課題を解決するための手段】
【０００７】
以上の課題を解決するための請求項１記載の発明は、外部コンピュータとの間の通信システムを自コンピュータに構成するための通信ソフトウェアであって、
自コンピュータに、
通信インターフェースを構成するためのソフトウェア部品と、
プロトコル制御手段を構成するためのソフトウェア部品と、
電文解釈手段を構成するためのソフトウェア部品と、を備え、
(a1)前記通信インターフェースに、通信用ハードウェアを制御する機能を実現させ、
(b1)前記プロトコル制御手段及び前記電文解釈手段に対し前記通信用ハードウェアへの外部コンピュータの最大接続数を通知する機能を実現させ、
(c1)前記通信インターフェースのコピーを生成する機能を実現させ、
(c2)前記通知に係る最大接続数分を賄う前記プロトコル制御手段のコピーを生成する機能を実現させ、
(c3)前記通知に係る最大接続数分を賄う前記電文解釈手段のコピーを生成する機能を実現させ、
(d1)前記プロトコル制御手段と前記電文解釈手段との入出力が結びつく機能を実現させ、
(d2)前記通信インターフェースと前記プロトコル制御手段との入出力が結びつく機能を実現させ、
(d3) 前記通信インターフェースと前記通信用ハードウェアとを切り離す機能を実現させ、
(d4)前記通信インターフェースと前記通信用ハードウェアとが結びつく機能を実現させる通信ソフトウェアである。
【０００８】
請求項２記載の発明は、自コンピュータに、(d5)前記プロトコル制御手段と通信インターフェース１ｂとを切り離す機能を実現させる請求項１に記載の通信ソフトウェアである。
【発明の効果】
【０００９】
本発明によれば、上記各機能により、通信システムは通信インターフェース、プロトコル制御手段及び電文解釈手段から構成され、旧通信システムが動作中であっても、新プログラムに対応する通信インターフェース、必要数分のプロトコル制御手段又は電文解釈手段を含んだ新通信システムを構築し、さらに、旧通信システムのプロトコル制御手段や電文解釈手段等のシステムの一部が動作中であっても、新通信システムが旧通信システムに交替して通信用ハードウェアに結びついた通信システムとして構成されるので、システム全体を停止状態とすることなく、旧プログラムから新プログラムにバージョンアップすることができるという効果がある。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る外部コンピュータと自コンピュータを含んだ通信システム全体を示す機能ブロック図である。
【図２】本発明の第１実施形態に係る自コンピュータ内の通信システムを示す機能ブロック図で、最大接続数の通知過程を示す図(a)及びコピー生成過程を示す図(b)である。
【図３】本発明の第１実施形態に係る自コンピュータ内の通信システムを示す機能ブロック図で、各コンポーネント間の入出力の結びつけ過程を示す図(a)及び通信用ハードウェアの結びつけ過程を示す図(b)である。
【図４】本発明の第１実施形態に係る自コンピュータ内の通信システムを示す機能ブロック図で、新ソフトウェア部品がロードされた状態を示す図(a)及び新ソフトウェア部品を含んだ新通信システムが構築される過程を示す図(b)である。
【図５】本発明の第１実施形態に係る自コンピュータ内の通信システムを示す機能ブロック図で、旧通信システムが通信用ハードウェアを切り離した状態を示す図(a)及び新通信システムが通信用ハードウェアに結びついた状態を示す図(b)である。
【図６】本発明の第２実施形態に係る自コンピュータ内の通信システムを示す機能ブロック図で、プロトコル制御手段と電文解釈手段からなる新通信システムの構築を示す図(a)及び新通信システムへの切替え途中を示す図(b)である。
【発明を実施するための形態】
【００１１】
以下に本発明の一実施形態につき図面を参照して説明する。以下は本発明の一実施形態であって本発明を限定するものではない。
【００１２】
〔第１実施形態〕
まず、本発明の第１実施形態につき、図１を参照して説明する。
図１に示すように、本発明に係る通信ソフトウェアとコンピュータハードウェアとにより構成される通信システムはコンピュータ１に構成される。コンピュータ１は本通信システムによって外部コンピュータ２とデータ通信する。外部コンピュータ２は、地震計などの外部機器に搭載されるコンピュータである。コンピュータ１に外部コンピュータ２とのデータ伝送路が接続する通信用ハードウェア１ａが備えられる。
【００１３】
本通信システムは、通信インターフェース１ｂと、プロトコル制御手段１ｃと、電文解釈手段１ｄと、メインコントローラ１ｆとを備える。したがて、本通信ソフトウェアは、通信インターフェース１ｂを構成するためのソフトウェア部品と、プロトコル制御手段１ｃを構成するためのソフトウェア部品と、電文解釈手段１ｄを構成するためのソフトウェア部品と、メインコントローラ１ｆを構成するためのメインソフトウェアと備える。さらに本通信ソフトウェアは、以下の本通信システムの各機能、各処理の実行機能をコンピュータ１（各要素１ｂ，１ｃ，１ｄ，１ｆ）に実現させるプログラムを含む。機能を実現するプログラム構成は、クラスライブラリ、コンポーネント、メソッド、タスク、プロセス等の形態の別を問わない。
【００１４】
通信インターフェース１ｂは、通信用ハードウェア１ａを制御する機能（a1）を有する。通信用ハードウェア１ａの仕様によって同時に最大で何台の外部コンピュータ２が通信用ハードウェア１ａに接続するかが決まる。
【００１５】
本通信ソフトウェアがコンピュータ１に実現させるプロトコル制御手段１ｃの機能(a2)は、通信用ハードウェア１ａ及び通信インターフェース１ｂによって受信されたデータのエラー検出、データ修復、外部コンピュータ２に再度データを送信することを要求する機能、及び外部コンピュータ２に受信成功を送信する機能である。
【００１６】
本通信ソフトウェアがコンピュータ１に実現させる電文解釈手段１ｄの機能(a3)は、プロトコル制御手段１ｃによる処理を経て受信成功したデータに基づき、その内容を解釈し、必要なデータに分解・再構築する機能である。
【００１７】
また本通信ソフトウェアは、通信インターフェース１ｂに、プロトコル制御手段１ｃ及び電文解釈手段１ｄに対し通信用ハードウェア１ａへの外部コンピュータ２の最大接続数を通知する機能(b1)を実現させる。
【００１８】
また本通信ソフトウェアは、通信インターフェース１ｂに、自らのコピーを生成する機能(c1)を実現させる。
また本通信ソフトウェアは、プロトコル制御手段１ｃに、前記通知に係る最大接続数分を賄う自らのコピーを生成する機能(c2)を実現させる。
また本通信ソフトウェアは、電文解釈手段１ｄに、前記通知に係る最大接続数分を賄う自らのコピーを生成する機能(c3)を実現させる。
【００１９】
また本通信ソフトウェアは、プロトコル制御手段１ｃと電文解釈手段１ｄとの入出力が結びつく機能(d1)を実現させる。
また本通信ソフトウェアは、通信インターフェース１ｂとプロトコル制御手段１ｃとの入出力が結びつく機能(d2)を実現させる。
また本通信ソフトウェアは、通信インターフェース１ｂに、通信用ハードウェア１ａを切り離す機能(d3)を実現させる。
また本通信ソフトウェアは、通信インターフェース１ｂに、通信用ハードウェア１ａと結びつく機能(d4)を実現させる。
また本通信ソフトウェアは、プロトコル制御手段１ｃに、通信インターフェース１ｂを切り離す機能(d5)を実現させる。
【００２０】
まず、図２、図３を参照して必要数分のプロトコル制御手段１ｃ及び電文解釈手段１ｄを含んだ通信システムを構築するためのコンピュータ１による初期処理を以下に説明する。
図２(a)に示すように、上記機能(b1)により通信インターフェース１ｂがプロトコル制御手段１ｃ及び電文解釈手段１ｄに対し最大接続数を通知する。
次に、図２(b)に示すように、上記機能（c2）によりプロトコル制御手段１ｃは前記通知に係る最大接続数分を賄う自らのコピー1c-1,1c-2を生成し、上記機能（c3）により電文解釈手段１ｄは前記通知に係る最大接続数分を賄う自らのコピー1d-1,1d-2を生成する。
【００２１】
次に、図３(a)に示すように、上記機能（d1）によりコンピュータ１はプロトコル制御手段1c,1c-1,1c-2と電文解釈手段1d,1d-1,1d-2との入出力を結びつけ、上記機能（d2）によりコンピュータ１は通信インターフェース１ｂとプロトコル制御手段1c,1c-1,1c-2との入出力を結びつける。
【００２２】
最後に、図３(b)に示すように、上記機能（d4）により通信インターフェース１ｂは通信用ハードウェア１ａに結びつく。
以上により、最大接続数に対応した通信システムが構築される。
【００２３】
次に、図４、図５を参照してコンピュータ１によるバージョンアップの処理につき説明する。本処理にあっては、プロトコル制御手段１ｃのプログラムにバージョンアップがあったものとする。
図４(b)に示すように、新プログラムであるソフトウェア部品ver2がコンピュータ１にロードされ、かかる新プログラムに基づき新プロトコル制御手段１ｅが構成される。
【００２４】
次に、上記機能(b1)により通信インターフェース１ｂが新プロトコル制御手段１ｅ及び電文解釈手段１ｄに対し最大接続数を通知する。
次に、図４(b)に示すように、上記機能(c1)により通信インターフェース１ｂは自らのコピー1b-1を生成し、上記機能（c2）によりプロトコル制御手段１ｅは前記通知に係る最大接続数分を賄う自らのコピー1e-1,1e-2を生成し、上記機能（c3）により電文解釈手段１ｄは前記通知に係る最大接続数分を賄う（この場合最大接続数と同数）の自らのコピー1d-3,1d-4,1d-5を生成する。
【００２５】
次に、図４(b)に示すように、上記機能（d1）によりコンピュータ１は新プロトコル制御手段1e,1e-1,1e-2と電文解釈手段1d-3,1d-4,1d-5との入出力を結びつけ、上記機能（d2）によりコンピュータ１は通信インターフェース1b-1と新プロトコル制御手段1e,1e-1,1e-2との入出力を結びつける。
したがって、旧プロトコル制御手段1c,1c-1,1c-2を備えた旧通信システムが動作中であっても、新プログラムに対応する通信インターフェース1b-1、必要数分のプロトコル制御手段1e,1e-1,1e-2及び電文解釈手段1d-3,1d-4,1d-5を含んだ新通信システムを構築することができる。
【００２６】
次に、図５(a)に示すように、上記機能(d3)により通信インターフェース１ｂは通信用ハードウェア１ａを切り離し、図５(b)に示すように、上記機能（d4）により通信インターフェース1b-1は通信用ハードウェア１ａに結びつく。
以上により、旧プロトコル制御手段1c,1c-1,1c-2を備えた旧通信システムが新プロトコル制御手段1e,1e-1,1e-2を備えた新通信システムに交替し、通信システムのバージョンアップが完了する。
本通信システムは、上記の通信インターフェース１ｂの切り離し（図5(a)）と、通信インターフェース1b-1の通信用ハードウェア１ａとの結びつき（図５(b)）の処理、すなわち、切替処理を、パケット等のデータ伝送単位の間隔時間で実行する。すなわち、通信用ハードウェア１ａ及び通信インターフェース１ｂによる先のデータ伝送単位の処理終了直後に、通信インターフェース１ｂの切り離し（図5(a)）を行い、続いて、通信インターフェース1b-1の通信用ハードウェア１ａとの結びつき（図５(b)）の処理を実行し、通信用ハードウェア１ａ及び通信インターフェース1b-1により次のデータ伝送単位の処理を実行する。そのために、本通信ソフトウェアは、通信インターフェース１ｂにおける上記データ伝送単位の処理終了を検出し、この検出を契機に上記切り離し・結びつきの処理を実行する機能をコンピュータ１に実現する。本機能単位は通信インターフェースに自律的機能として構成してもよいし、メインコントローラ１ｆに構成してもよい。
そして、先のデータ伝送単位に関しては、旧通信システムのプロトコル制御手段1c,1c-1,1c-2及び電文解釈手段1d,1d-1,1d-2により処理する。
したがって、旧通信システムのプロトコル制御手段1c,1c-1,1c-2や電文解釈手段1d,1d-1,1d-2等のシステムの一部が動作中であっても、新通信システムが旧通信システムに交替して通信用ハードウェア１ａに結びついた通信システムとして構成される。
以上により、システム全体を停止状態とすることなく、旧プログラムから新プログラムにバージョンアップすることができる。
また、通信回線の高速化などにより、一台のコンピュータ１で処理できる地震計などの外部機器が増えた場合にも、以上説明した機構により自動的に通信相手の増加に対応することができる。
【００２７】
以上の実施形態においては、プロトコル制御手段１ｃのプログラムにバージョンアップがあった場合につき説明した。通信インターフェース１ｂ、プロトコル制御手段１ｃ及び電文解釈手段１ｄのうちいずれの要素のバージョンアップにも以上の機構により、必要数の要素を生成して、切り離し、結び付けの処理を行うことにより対応することができる。
以上の機構によれば、通信インターフェース１ｂ、プロトコル制御手段１ｃ及び電文解釈手段１ｄのうちバージョンアップのある要素に関してのみ新プログラムをロードして、バージョンアップの無い要素に関しては、従前の要素を複製するから、通信インターフェース、プロトコル制御、電文解釈のいずれに関する通信の仕様変更にも、最小の変更で簡便かつ早期に対応することができる。
【００２８】
〔第２実施形態〕
次に、本発明の第２実施形態につき、図６を参照して説明する。上記第１実施形態においては、通信インターフェース１ｂ以下の構造を多重生成して新通信システムに切り替えたが、本実施形態はこれとは異なりコンピュータ１は以下のように処理する。
【００２９】
まず、第１実施形態と同様に新プログラムであるソフトウェア部品ver2がコンピュータ１にロードされ、かかる新プログラムに基づき新プロトコル制御手段１ｅが構成される。
次に、第１実施形態と同様に上記機能(b1)により通信インターフェース１ｂが新プロトコル制御手段１ｅ及び電文解釈手段１ｄに対し最大接続数を通知する。
次に、図６(a)に示すように、上記機能（c2）によりプロトコル制御手段１ｅは前記通知に係る最大接続数分を賄う自らのコピー1e-1,1e-2を生成し、上記機能（c3）により電文解釈手段１ｄは前記通知に係る最大接続数分を賄う（この場合最大接続数と同数）の自らのコピー1d-3,1d-4,1d-5を生成する。
次に、図６(a)に示すように、上記機能（d1）によりコンピュータ１は新プロトコル制御手段1e,1e-1,1e-2と電文解釈手段1d-3,1d-4,1d-5との入出力を結びつける。
【００３０】
次に、図６(ｂ)に示すように、上記機能(d5)により旧プロトコル制御手段1c,1c-1,1c-2が、シーケンスとシーケンスの間のデータ伝送単位に対する処理（シーケンス）が無い時間に、かかる時間が先に到来したものから順に通信インターフェース1bを切り離すとともに、上記機能（d2）により切り離された旧要素に順次交替して新プロトコル制御手段1e,1e-1,1e-2が通信インターフェース1bに結びつく。例えば、図６に示すように旧プロトコル制御手段1c-1が通信インターフェース1bを切り離し旧プロトコル制御手段1c-1に交替して新プロトコル制御手段1e-1が通信インターフェース1bに結びつく。同様にして順次、旧プロトコル制御手段1cに交替して新プロトコル制御手段1eが通信インターフェース1bに結びつき、旧プロトコル制御手段1c-2に交替して新プロトコル制御手段1e-2が通信インターフェース1bに結びつく。
そのために、本通信ソフトウェアは、プロトコル制御手段1c,1c-1,1c-2における上記データ伝送単位の処理終了を検出し、この検出を契機に上記切り離し・結びつきの処理を実行する機能をコンピュータ１に実現する。本機能単位は通信インターフェース及びプロトコル制御手段に自律的機能として構成してもよいし、メインコントローラ１ｆに構成してもよい。
以上により、旧プロトコル制御手段1c,1c-1,1c-2を備えた旧通信システムが新プロトコル制御手段1e,1e-1,1e-2を備えた新通信システムに交替し、通信システムのバージョンアップが完了する。
以上のようにシステム全体を停止状態とすることなく、旧プログラムから新プログラムにバージョンアップすることができる。特に、第２実施形態によれば、コネクション単位、すなわち、一つの通信用ハードウェア１ａ‐一つの通信インターフェース１ｂ‐一つのプロトコル制御手段１ｃ‐一つの電文解釈手段１ｄの結びつきからなる一系統単位でバージョンアップすることができ、他のコネクションが動作中であっても、順次コネクション単位でバージョンアップし交替していくことによりシステム全体のバージョンアップを完了させることができる。すなわち、通信システムを動作させながらにして当該通信システムをバージョンアップさせることができる。
【符号の説明】
【００３１】
１     自コンピュータ
１ａ   通信用ハードウェア
１ｂ   通信インターフェース
１ｃ   プロトコル制御手段
１ｄ   電文解釈手段
１ｅ   新プロトコル制御手段
１ｆ   メインコントローラ
２     外部コンピュータ
【図１】
0005401385.tif 000002
【図２】
0005401385.tif 000003
【図３】
0005401385.tif 000004
【図４】
0005401385.tif 000005
【図５】
0005401385.tif 000006
【図６】
0005401385.tif 000007