説明

通信ソフトウェア

【課題】システム全体を停止することなくバージョンアップする
【解決手段】本発明は外部コンピュータ2との間の通信システムを自コンピュータ1に構成するための通信ソフトウェアで、自コンピュータに通信インターフェース1b、プロトコル制御手段1c(1e)、電文解釈手段1dを構成する各部品を備え、通信インターフェースにプロトコル制御手段及び電文解釈手段に対し通信用ハードウェア1aへの外部コンピュータの最大接続数を通知する機能、通信インターフェースに自コピーを生成する機能、プロトコル制御手段及び電文解釈手段に通知に係る最大接続数分を賄う自コピーを生成する機能、プロトコル制御手段と電文解釈手段との入出力が結びつく機能、通信インターフェースとプロトコル制御手段との入出力が結びつく機能、 通信インターフェースに通信用ハードウェアを切り離す機能、通信インターフェースに通信用ハードウェアと結びつく機能を実現させる。

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

【特許請求の範囲】
【請求項1】
外部コンピュータとの間の通信システムを自コンピュータに構成するための通信ソフトウェアであって、
自コンピュータに、
通信インターフェースを構成するためのソフトウェア部品と、
プロトコル制御手段を構成するためのソフトウェア部品と、
電文解釈手段を構成するためのソフトウェア部品と、を備え、
(a1)前記通信インターフェースに、通信用ハードウェアを制御する機能を実現させ、
(b1)前記プロトコル制御手段及び前記電文解釈手段に対し前記通信用ハードウェアへの外部コンピュータの最大接続数を通知する機能を実現させ、
(c1)前記通信インターフェースのコピーを生成する機能を実現させ、
(c2)前記通知に係る最大接続数分を賄う前記プロトコル制御手段のコピーを生成する機能を実現させ、
(c3)前記通知に係る最大接続数分を賄う前記電文解釈手段のコピーを生成する機能を実現させ、
(d1)前記プロトコル制御手段と前記電文解釈手段との入出力が結びつく機能を実現させ、
(d2)前記通信インターフェースと前記プロトコル制御手段との入出力が結びつく機能を実現させ、
(d3) 前記通信インターフェースと前記通信用ハードウェアとを切り離す機能を実現させ、
(d4)前記通信インターフェースと前記通信用ハードウェアとが結びつく機能を実現させる通信ソフトウェア。
【請求項2】
自コンピュータに、
(d5)前記プロトコル制御手段と通信インターフェース1bとを切り離す機能を実現させる請求項1に記載の通信ソフトウェア。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate