(57)【要約】情報処理端末（１）が、通信可能に接続されている任意の処理端末（１）に搭載されている処理プログラムを選択的に利用する動的システムにおいて、選択した処理プログラムに応じて待ち時間を適正に設定する。情報処理端末（１）は、利用可能な処理プログラム毎に、その処理プログラムが実行処理する項目と、その処理プログラムが搭載されている情報処理端末（１）と、その処理プログラムを利用するときの待ち時間に影響を与える複数種類の属性毎の属性値と、を対応づけたルーティングテーブル（１２）を記憶する。情報処理端末（１）は、任意の項目にかかる実行処理を行うとき、選択した処理プログラムについて、ルーティングテーブル（１２）を参照し、登録されている各属性の属性値に基づいて、この処理プログラムの利用時における待ち時間を取得する。情報処理端末（１）は、取得した待ち時間を設定し、選択した処理プログラムに対して実行処理を要求する。
2012132102.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理端末を相互に通信可能に接続し、前記処理端末が任意の処理端末に搭載されている処理プログラムを選択的に利用するネットワークシステムにおいて、
前記処理端末は、
利用可能な前記処理プログラムについて、その処理プログラムが実行処理する項目と、その処理プログラムが搭載されている前記処理端末と、その処理プログラムを利用するときの待ち時間に影響を与える複数種類の属性毎の属性値と、を対応づけて登録したテーブルを記憶する記憶部と、
任意の項目にかかる実行処理を行うときに選択した処理プログラムについて、前記記憶部が記憶するテーブルを参照し、登録されている各属性の属性値に基づいて、この処理プログラムの利用時における待ち時間を取得する待ち時間取得部と、
前記待ち時間取得部が取得した待ち時間を設定し、選択した処理プログラムに対して実行処理を要求する要求部と、を備えている、
ネットワークシステム。
【請求項２】
前記テーブルは、少なくとも、通信時間、リトライ回数、リトライ待ち時間、処理プログラムの実行時間の４つを属性とし、これらの属性の属性値を登録している、請求項１に記載のネットワークシステム。
【請求項３】
前記処理端末は、
自端末に搭載されている処理プログラムを実行したときに、この処理プログラムの実行時間を記憶する実行時間記憶部と、
他の処理端末から自端末に搭載されている処理プログラムの実行時間の通知要求があったときに、前記実行時間記憶部に記憶している当該処理プログラムの実行時間を通知する実行時間通知部と、を備えている、
請求項２に記載のネットワークシステム。
【請求項４】
前記処理端末は、
前記テーブルに、処理プログラムの実行時間にかかる属性値が登録されていない処理プログラムについて、この処理プログラムが搭載されている処理端末に対して当該処理プログラムの実行時間の通知要求を送信する通知要求送信部を備えている、
請求項３に記載のネットワークシステム。
【請求項５】
前記処理端末は、駅に設置され、駅務処理を行う駅務機器である、請求項１〜４のいずれかに記載のネットワークシステム。
【請求項６】
通信可能に接続されている他の処理端末に搭載されている処理プログラムを選択的に利用する処理端末において、
利用可能な前記処理プログラムについて、その処理プログラムが実行処理する項目と、その処理プログラムが搭載されている前記処理端末と、その処理プログラムを利用するときの待ち時間に影響を与える複数種類の属性毎の属性値と、を対応づけて登録したテーブルを記憶する記憶部と、
任意の項目にかかる実行処理を行うときに選択した処理プログラムについて、前記記憶部が記憶するテーブルを参照し、登録されている各属性の属性値に基づいて、この処理プログラムの利用時における待ち時間を取得する待ち時間取得部と、
前記待ち時間取得部が取得した待ち時間を設定し、選択した処理プログラムに対して実行処理を要求する要求部と、を備えている処理端末。
【請求項７】
通信可能に接続されている他の処理端末に搭載されている処理プログラムを選択的に利用する処理端末の制御部に、
任意の項目にかかる実行処理を行うときに、処理プログラムが実行処理する項目と、その処理プログラムが搭載されている前記処理端末と、その処理プログラムを利用するときの待ち時間に影響を与える複数種類の属性毎の属性値と、を対応づけて登録したテーブルを参照し、選択した処理プログラムの利用時における待ち時間を取得する待ち時間取得ステップと、
前記待ち時間取得ステップが取得した待ち時間を設定し、選択した処理プログラムに対して実行処理を要求する要求ステップと、を実行させる待ち時間設定プログラム。
【請求項８】
通信可能に接続されている他の処理端末に搭載されている処理プログラムを選択的に利用する処理端末が、
任意の項目にかかる実行処理を行うときに、処理プログラムが実行処理する項目と、その処理プログラムが搭載されている前記処理端末と、その処理プログラムを利用するときの待ち時間に影響を与える複数種類の属性毎の属性値と、を対応づけて登録したテーブルを参照し、選択した処理プログラムの利用時における待ち時間を取得する待ち時間取得ステップと、
前記待ち時間取得ステップが取得した待ち時間を設定し、選択した処理プログラムに対して実行処理を要求する要求ステップと、を実行する待ち時間設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の処理端末を相互に通信可能に接続し、各処理端末が自端末を含む任意の処理端末に搭載されている処理プログラムを選択的に利用するネットワークシステム、このネットワークシステムにかかる処理端末、待ち時間設定プログラム、および、待ち時間設定方法に関する。
【背景技術】
【０００２】
従来、複数の処理端末（ネットワーク機器）を相互に通信可能に接続したネットワークシステムがある。処理端末間の通信は、ＴＣＰ／ＩＰ等の公知のプロトコルで行われる。ＴＣＰ／ＩＰ通信を行うネットワーク機器は、ＩＰパケットによる通信を行うために、ルーティング表を保持している。このルーティング表は、ＩＰアドレス、サブネットマスク、デフォルトゲートウエイ、インターフェイス等が設定されている。ネットワーク機器は、このルーティング表を参照して、パケットを送信する送信先（通信相手端末）を決定する。【０００３】
また、処理プログラム（アプリケーションプログラムやサブルーチンプログラム等）を、ネットワークを介して動的に選択し、遠隔実行するＣＯＲＢＡ(Common Object Request Broker Architecture)等の分散オブジェクトシステムがある。この分散オブジェクトシステムは、処理端末が処理プログラムの論理的な名前と、この処理プログラムが搭載されている処理端末の物理的な位置情報と、をテーブルで管理している。処理端末は、任意の処理プログラムを実行するとき、この処理プログラムにアクセスするための物理的な情報を上記テーブルを参照して取得する機能（ブローカ）を有している。【０００４】
また、非同期な通信を行う処理プログラムは、あるメッセージを相手先に送信してから、その応答が返ってきて受信割り込みが行われるまで、プロセスの状態を待ち状態にする。通常、この待ち時間は、処理プログラムの中で固定値(例えば50ms)として設定されており、常に同じ時間だけプロセスを中断して受信割り込みを待つ。【０００５】
さらに、コマンドを送信する側と、コマンドを受信して対応するコマンド処理を実行して返す側とで構成されるコマンド送受信型システムもある（特許文献１参照）。このコマンド送受信型システムは、コマンド送信側がコマンド受信側からコマンド処理に要する時間に関する情報を受け取り、その時間だけ応答の待ち時間を設定する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−３４６１７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、処理プログラムを搭載した複数の処理端末を相互に通信可能に接続し、ＬＡＮ通信、シリアル通信、プロセッサ間通信等の様々な方式の通信で任意の処理端末に搭載されている処理プログラムが利用できるネットワーク分散システムにおいては、同じ処理内容の処理プログラムであっても、その処理プログラムが搭載されている処理端末によって通信方式が異なる。このため、通信に要する時間は、同じ処理内容の処理プログラムであっても、その処理プログラムが搭載されている処理端末によって異なる。また、処理時間（実行時間）は、同じ処理内容の処理プログラムであっても、その処理プログラムが搭載されている処理端末の性能によって異なる。【０００８】
なお、実行時間は、処理内容が異なる処理プログラムであれば、その処理プログラムが搭載されている処理端末の性能が同じであったとしても異なる。【０００９】
したがって、処理端末は、自端末を含む任意の処理端末に搭載されている処理プログラムを利用する場合、その処理プログラムに対する要求の送信から、処理結果を受信するまでの所要時間が一定ではない。このため、処理端末は、処理プログラムを利用する場合、その処理プログラムに対する要求の送信から、処理結果を受信するまでの待ち時間が短く設定されたり、逆に長く設定されたりすることがあった。処理端末は、待ち時間が短い場合、待ち時間が処理結果を受信する前に経過するので、処理プログラムに対して要求を再送することになる。反対に、処理端末は、待ち時間が長い場合は、処理プログラムの実行上あるいは通信上など何らかの障害で処理プログラムから処理結果が送られてこないときに、この処理プログラムに対して再度実行させるための要求を再送するタイミングが遅れる。【００１０】
特に、処理端末が利用する処理プログラムを動的に変更する動的システムは、処理内容が同じ処理プログラムであっても、上述したように、利用する処理プログラムが搭載されている処理端末の性能によって、最適な待ち時間が異なる。したがって、処理プログラムの種類で待ち時間を決めることができない。【００１１】
この発明の目的は、処理端末が任意の処理端末に搭載されている処理プログラムを選択的に利用する動的システムにおいて、選択した処理プログラムに応じて待ち時間を適正に設定するネットワークシステム、処理端末、待ち時間設定プログラム、および、待ち時間設定方法を提供することにある。
【課題を解決するための手段】
【００１２】
この発明のネットワークシステムは、上記課題を解決し、その目的を達するために以下のように構成している。【００１３】
このネットワークシステムは、複数の処理端末を相互に通信可能に接続している。各処理端末は、任意の処理端末（自端末を含む）に搭載されている処理プログラムを選択的に利用することができる。【００１４】
処理端末は、ルーティングテーブルを記憶部に記憶する。ルーティングテーブルには、利用可能な処理プログラム毎に、その処理プログラムが実行処理する項目と、その処理プログラムが搭載されている処理端末と、その処理プログラムを利用するときの待ち時間に影響を与える複数種類の属性毎の属性値と、が対応づけて登録されている。待ち時間に影響を与える属性の種類は、例えば、通信時間、送信リトライ回数、送信リトライ待ち時間、処理プログラムの実行時間である。通信時間は、処理内容の通知にかかる通信時間と、処理結果の通知にかかる通信時間と、を加算した時間である。送信リトライ回数は、通信障害などで応答要求に対するＡＣＫ応答がない場合に、応答要求を再送信する回数の上限値である。送信リトライ待ち時間は、応答要求に対するＡＣＫ応答がない場合に、再度応答要求を送信（再送信）するまでの待ち時間である。処理プログラムの実行時間は、その処理プログラムの実行処理にかかる時間である。【００１５】
処理プログラムの処理時間は、この処理プログラムが搭載されている処理端末の性能によって異なるので、以下のようにして、ルーティングテーブルに記憶するのが好ましい。【００１６】
各処理端末は、自端末に搭載されている処理プログラムを最初に実行したときに、この処理プログラムの実行時間を計測し、自端末のルーティングテーブルに記憶する。そして、必要に応じて、他の処理端末に対して処理時間を通知する。各処理端末は、他の処理端末から処理プログラムの処理時間が通知されたとき、通知された処理時間を、自端末のルーティングテーブルに登録されている該当する処理プログラムの処理時間として記憶する。【００１７】
処理端末が任意の項目にかかる実行処理を行うときに選択した処理プログラムについて、待ち時間取得部がルーティングテーブルを参照し、登録されている各属性の属性値に基づいて、この処理プログラムの利用時における待ち時間を取得する。そして、要求部が、取得した待ち時間を設定し、選択した処理プログラムに対して実行処理を要求する。【００１８】
したがって、待ち時間が、選択した処理プログラムに応じて適正に設定できる。これにより、処理端末が、処理プログラムに対して不適正なタイミングで要求を再送するのを防止し、処理効率を向上させることができる。
【発明の効果】
【００１９】
この発明によれば、待ち時間の設定が、選択した処理プログラムに応じて適正に行える。したがって、処理端末が、処理プログラムに対して不適正なタイミングで要求を再送するのを防止し、処理効率を向上させることができる。
【図面の簡単な説明】
【００２０】
【図１】ネットワークシステムを示す概略図である。
【図２】情報処理端末の階層構造を示す概略図である。
【図３】ルーティングテーブルを示す図である。
【図４】処理プログラムの実行を要求する側の動作を示すフローチャートである。
【図５】処理プログラムの実行が要求される側の動作を示すフローチャートである。
【図６】待ち時間を説明する図である。
【図７】駅務システムを示す概略図である。
【図８】精算機が記憶するルーティングテーブルを示す図である。
【発明を実施するための形態】
【００２１】
以下、この発明の実施形態について説明する。
【００２２】
図１は、この発明の実施形態であるネットワークシステムを示す概略図である。図１では、３台の情報処理端末１（１Ａ〜１Ｃ）を示している。情報処理端末１Ａ、１Ｃは、イーサネット（登録商標）によるＬＡＮで接続しており、相互に通信できる。また、情報処理端末１Ａと、情報処理端末１Ｂとは、ＲＳ２３２Ｃで通信可能に接続している。
【００２３】
図１に示す例では、情報処理端末１Ａは、処理プログラムＡ、および処理プログラムＸを搭載している。情報処理端末１Ｂは、処理プログラムＸを搭載している。情報処理端末１Ｃは、処理プログラムＹ、および処理プログラムＺを搭載している。
【００２４】
ここでは、処理プログラムＡは、アプリケーションプログラムである。また、処理プログラムＸ、Ｙ、Ｚは、処理プログラムＡが実行時に利用することがあるサブルーチンプログラムである。
【００２５】
図２は、情報処理端末の階層構造を示す概略図である。情報処理端末１は、オペレーティングシステム層１０（以下、ＯＳ層１０と言う。）と、通信仮想化層１１と、アプリケーション層１４と、ドライバ層１５と、ハードウェア層１６と、を有している。
【００２６】
ＯＳ層１０は、情報処理端末１のＯＳを実行する階層である。ＯＳは、ハードディスク（不図示）等の記憶媒体に記憶している。ＯＳ層１０は、記憶媒体から読み出したＯＳを実行する。
【００２７】
通信仮想化層１１は、ＯＳ層１０の上位に位置する。アプリケーション層１４は、この通信仮想化層１１の上位に位置する階層である。アプリケーション層１４は、アプリケーションプログラムや、このアプリケーションプログラムの実行時に使用するサブルーチンプログラム等を実行する階層である。アプリケーションプログラムや、サブルーチンプログラムは、ＯＳと同様に、ハードディスク（不図示）等の記憶媒体に記憶している。このアプリケーションプログラムや、サブルーチンプログラムが、この発明で言う処理プログラムに相当する。以下、アプリケーション層１４で実行するアプリケーションプログラムや、サブルーチンプログラム等を総称して処理プログラムと言う。
【００２８】
通信仮想化層１１は、このネットワークシステムの拡張性を考え、アプリケーション層１４で実行する任意の処理プログラムが、他の処理プログラムとの通信手順を知らなくても、この他のプログラムを利用可能にするために設けた階層である。通信仮想化層１１は、プログラム間の通信において、シリアル通信やネットワーク通信などの実装方式の違いを吸収して通信手順を仮想化する役割を果たす。このため、通信仮想化層１１は、様々な通信方式を透過的に扱えるインターフェイスを上位層であるアプリケーション層１４に提供する通信仮想化プログラムを実行する。この通信仮想化プログラムも、ＯＳ、アプリケーションプログラム、サブルーチンプログラムと同様に、ハードディスク（不図示）等の記憶媒体に記憶している。
【００２９】
また、この通信仮想化層１１は、通信仮想化プログラムの実行に際して、ハードディスク（不図示）等の記憶媒体に記憶している、ルーティングテーブル１２を使用する。
【００３０】
図３は、ルーティングテーブルを示す図である。ルーティングテーブル１２は、全ての情報処理端末１で同じではなく、情報処理端末１毎に異なる。図３は、図１に示す情報処理端末１Ａが有するルーティングテーブル１２の例である。ルーティングテーブル１２は、情報処理端末１が利用できる処理プログラム毎に、処理名、通信方式、ＩＰアドレス／ポート番号、通信時間、送信リトライ回数、送信リトライ待ち時間、および処理時間を対応づけたテーブルである。
【００３１】
処理名は、処理プログラムが実行する処理の名前である。処理名が同じである処理プログラムは、同じ入力に対する実行処理の結果が同じになるプログラムであるが、同一のプログラムであるとは限らない。すなわち、処理プログラムは、処理名が同じであっても、そのスペックが異なる場合がある。通信方式は、その処理プログラムを利用するときの通信方式である。ＩＰアドレス／ポート番号は、その処理プログラムのネットワーク上の位置を示す。
【００３２】
また、通信時間は、その処理プログラムとの間でパケットが往復するのに要する時間である。具体的に、処理要求にかかるデータの通信にかかる通信往路時間と、処理結果にかかるデータの通信にかかる通信復路時間と、を加算した時間である。送信リトライ回数は、送信先の通信仮想化層からのＡＣＫ応答が無応答の場合に、応答要求を再送する回数である。送信リトライ待ち時間は、送信先の通信仮想化層からの応答要求に対して無応答であった場合に、今回の応答要求の送信時から、次回の応答要求を送信するまでの待ち時間である。応答要求の送信時間は、送信リトライ待ち時間に含まれている。処理時間は、その処理プログラムの実行開始から完了までにかかる時間である。情報処理端末１は、自端末に搭載されている処理プログラムを最初に実行したときに、この処理プログラムの実行時間を計測し、自端末のルーティングテーブル１２に記憶する。また、必要に応じて、他の情報処理端末１に対して処理時間を通知する。情報処理端末１は、他の情報処理端末１から処理プログラムの処理時間が通知されると、通知された処理時間を、自端末のルーティングテーブル１２に登録されている該当する処理プログラムの処理時間として記憶する。
【００３３】
ドライバ層１５は、ＵＤＰやＴＣＰ等のネットワーク通信を制御する通信ドライバや、ＲＳ−２３２Ｃ等のシリアル通信を制御する通信ドライバが位置する階層である。ドライバ層１５は、図２に示すように、ＯＳ層１０の下位に位置する。
【００３４】
ハードウェア層１６は、ＣＰＵ、メモリ（ＲＡＭ）、通信を実行する通信制御装置、入出力を行う入出力装置等のハードウェアが位置する階層である。ハードウェア層１６は、ドライバ層１５の下位に位置する。
【００３５】
次に、情報処理端末１が、自端末を含む任意の情報処理端末１に搭載されている処理プログラムを利用するときの動作について説明する。図４は、処理プログラムの実行を要求する側（要求側）の情報処理端末の動作を示すフローチャートである。図５は、処理プログラムの実行が要求される側（実行側）の情報処理端末の動作を示すフローチャートである。ここでは、情報処理端末１Ａがアプリケーション層１４で実行している処理プログラムＡ（アプリケーションプログラム）が、処理プログラムＸ、Ｙ、Ｚ（サブルーチンプログラム）のいずれかを利用する場合を例示しながら説明する。
【００３６】
なお、ここで説明する各種プログラムの動作は、そのプログラム自体が実際に動作するわけではなく、そのプログラムを実行している情報処理端末１の動作である。
【００３７】
要求側の情報処理端末１は、アプリケーション層１４で実行しているアプリケーションプログラムにおいて、サブルーチンである処理プログラムの実行要求が発生すると（ｓ１）、この実行要求を通信仮想化層１１で実行されている通信仮想化プログラムに通知する。
【００３８】
通信仮想化層１１で実行されている通信仮想化プログラムは、ルーティングテーブル１２を参照して、今回要求された処理プログラムを選択する（ｓ２）。ｓ２では、ルーティングテーブル１２から今回要求された処理プログラムを抽出し、予め定められている条件等に基づいて、抽出した処理プログラムの中から１つを選択する処理である。例えば、実行が要求された処理プログラムが、図１に示す処理プログラムＸであれば情報処理端末１Ｂに搭載されている処理プログラムＸを選択する。また、実行が要求された処理プログラムが、図１に示す処理プログラムＹであれば情報処理端末１Ａに搭載されている処理プログラムＹ、または情報処理端末１Ｃに搭載されている処理プログラムＹの一方を、予め定められている条件に基づいて選択する。また、実行が要求された処理プログラムが、図１に示す処理プログラムＺであれば情報処理端末１Ｃに搭載されている処理プログラムＺを選択する。
【００３９】
通信仮想化プログラムは、ｓ２で選択した処理プログラムの処理時間がルーティングテーブル１２に登録されているかどうかを判定する（ｓ３）。通信仮想化プログラムは、選択した処理プログラムの処理時間がルーティングテーブル１２に登録されていなければ、処理時間の通知を含む実行要求を送信する（ｓ４）。反対に、通信仮想化プログラムは、選択した処理プログラムの処理時間がルーティングテーブル１２に登録されていれば、処理時間の通知を含まない実行要求を送信する（ｓ５）。ｓ４、またはｓ５では、通信仮想化プログラムは、ｓ２で選択した処理プログラムに応じた通信手順（ルーティングテーブル１２に登録されている通信手順）で実行要求を送信する。
【００４０】
実行側の情報処理端末１は、通信仮想化層１１で実行している通信仮想化プログラムが、処理プログラムの実行要求を受信すると（ｓ２１）、処理時間の通知要求が含まれているかどうかを判定する（ｓ２２）。実行側の情報処理端末１は、処理時間の通知要求が含まれていれば、ルーティングテーブル１２を参照して、今回実行要求が通知された処理プログラムの処理時間を取得し、これを要求側の情報処理端末１に通知する（ｓ２３）。
【００４１】
なお、実行側の情報処理端末１は、処理時間の通知要求が含まれていなければ、ｓ２３にかかる処理を行わない。
【００４２】
要求側の情報処理端末１は、ｓ４で処理時間の通知を含む実行要求を送信した場合は、実行側の情報処理端末１から処理時間が通知されるのを待って、待ち時間を計算し、これをアプリケーションプログラムに通知する（ｓ６、ｓ７）。また、要求側の情報処理端末１は、ｓ７では、今回通知された処理時間を、ルーティングテーブル１２に登録されている該当する処理プログラムの処理時間として記憶する。要求側の情報処理端末１は、ｓ５で処理時間の通知を含まない実行要求を送信した場合は、待ち時間を計算し、これをアプリケーションプログラムに通知する（ｓ８）。
【００４３】
図６は、送信リトライ回数が２回に設定されている処理プログラムに対する待ち時間を説明する図である。この処理プログラムに対する待ち時間は、応答要求を２回再送したときが最大になる。すなわち、最大の待ち時間は、図６に示すように、２回の送信リトライ待ち時間、通信往路時間、処理時間、および通信復路時間が発生したときである。この図６では、実行側の通信仮想化層１１からのＡＣＫ応答については、図示を省略している。
【００４４】
上述したように、通信往路時間と、通信復路時間との和が、ルーティングテーブル１２に登録されている通信時間である。また、送信リトライ回数、送信リトライ待ち時間、および処理時間もルーティングテーブル１２に登録されている。
【００４５】
なお、処理時間は、ルーティングテーブル１２に登録されていなければ、ｓ６で取得している。
【００４６】
ｓ７、またはｓ８では、要求側の情報処理端末１は、
待ち時間＝送信リトライ回数×送信リトライ待ち時間＋通信時間＋処理時間
により、最大の待ち時間を計算する。
【００４７】
なお、処理結果が得られるまでの時間は、送信リトライの発生回数が減少することにより、短くなる。
【００４８】
要求側の情報処理端末１は、アプリケーション層１４で実行しているアプリケーションプログラムに対して、ｓ７、またはｓ８で計算した待ち時間を設定する（ｓ９）。
【００４９】
実行側の情報処理端末１は、アプリケーション層１４で実行要求された処理プログラムを実行し（ｓ２４）、得られた処理結果を、通信仮想化層１１を介して、要求側の情報処理端末１に通知し（ｓ２５）、本処理を終了する。
【００５０】
要求側の情報処理端末１は、アプリケーション層１４で、実行側の情報処理端末１から処理結果を受信すると（ｓ１０）、アプリケーション層１４で実行しているアプリケーションプログラムに対する割り込み処理で処理結果を受け渡す（ｓ１１）。すなわち、アプリケーション層１４で実行しているアプリケーションプログラムが、処理プログラムによる処理結果を受け取り、処理を再開する。
【００５１】
このように、要求側の情報処理端末１は、アプリケーション層１４で実行しているアプリケーションプログラムに対して、処理プログラムの実行にかかる待ち時間を適正に設定することができるので、情報処理端末１の処理効率を向上させることができる。
【００５２】
ここで、上記のネットワークシステムを駅務システムに適用した場合の例について説明する。図７は、駅務システムを示す概略図である。図８は、精算機が記憶するルーティングテーブルを示す図である。図７では、精算機２０、自動改札機２１、および駅サーバ２２をＬＡＮで接続し、相互に通信可能にしている。精算機２０は、鉄道利用者から乗車券を受け付けて、運賃を精算する。自動改札機２１は、駅の改札口に設置され、利用者に対して改札処理を行う。駅サーバ２２は、駅に設置されている精算機２０、自動改札機２１、券売機等の駅務機器を管理する。
【００５３】
精算機２０は、精算処理を行う精算プログラム（アプリケーションプログラム）、および、運賃を計算する運賃計算プログラム（サブルーチンプログラム）を搭載している。自動改札機２１、および駅サーバ２２は、運賃計算プログラムを搭載している。
【００５４】
精算機２０が記憶するルーティングテーブル１２には、図８に示すように、自機に搭載されている運賃計算プログラム（Ｎｏ１）、自動改札機２１に搭載されている運賃計算プログラム（Ｎｏ２）、駅サーバ２２に搭載されている運賃計算プログラム（Ｎｏ３）が登録されている。
【００５５】
この精算機２０は、鉄道利用者から乗車券を受け付けて、運賃を精算するために、精算プログラムの実行を開始する。精算器２０は、この精算プログラムにおいて運賃計算プログラムの実行要求が発生すると、自機（精算機２０）、自動改札機２１、または駅サーバ２２に搭載されている運賃計算プログラムのいずれかを選択し、ここで選択した運賃計算プログラムに対して実行要求を行う。
【００５６】
このとき、精算器２０は、自機の運賃計算プログラムを選択した場合、
待ち時間＝１×１＋１＋１０＝１２ｍｓ
を待ち時間として算出し、精算プログラムに設定する。
【００５７】
また、精算器２０は、自動改札機２１の運賃計算プログラムを選択した場合、
待ち時間＝２×１０＋１＋１０＝３１ｍｓ
を待ち時間として算出し、精算プログラムに設定する。
【００５８】
さらに、精算器２０は、駅サーバ２２の運賃計算プログラムを選択した場合、
待ち時間＝３×５＋１＋１０＝２６ｍｓ
を待ち時間として算出し、精算プログラムに設定する。
【００５９】
このように、精算機２０は、実行している精算プログラムに対して、選択した運賃計算プログラムに応じた待ち時間を設定する。
【００６０】
なお、この発明のネットワークシステムは、上述の駅務システムに限らず、他のシステムにも適用できる。
【符号の説明】
【００６１】
１（１Ａ、１Ｂ、１Ｃ）…情報処理端末
１０…オペレーティングシステム層（ＯＳ層）
１１…通信仮想化層
１２…ルーティングテーブル
１４…アプリケーション層
１５…ドライバ層
１６…ハードウェア層
２０…精算機
２１…自動改札機
２２…駅サーバ
【図１】
2012132102.tif 000003
【図２】
2012132102.tif 000004
【図３】
2012132102.tif 000005
【図４】
2012132102.tif 000006
【図５】
2012132102.tif 000007
【図６】
2012132102.tif 000008
【図７】
2012132102.tif 000009
【図８】
2012132102.tif 000010
【手続補正書】
【提出日】平成25年9月6日(2013.9.6)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
処理端末は、ルーティングテーブルを記憶部に記憶する。ルーティングテーブルには、利用可能な処理プログラム毎に、その処理プログラムが実行処理する項目と、その処理プログラムが搭載されている処理端末と、その処理プログラムを利用するときの待ち時間に影響を与える、その処理プログラムの実行時間を含む複数種類の属性毎の属性値と、が対応づけて登録されている。待ち時間に影響を与える属性の種類は、例えば、通信時間、送信リトライ回数、送信リトライ待ち時間、処理プログラムの実行時間である。通信時間は、処理内容の通知にかかる通信時間と、処理結果の通知にかかる通信時間と、を加算した時間である。送信リトライ回数は、通信障害などで応答要求に対するＡＣＫ応答がない場合に、応答要求を再送信する回数の上限値である。送信リトライ待ち時間は、応答要求に対するＡＣＫ応答がない場合に、再度応答要求を送信（再送信）するまでの待ち時間である。処理プログラムの実行時間は、その処理プログラムの実行処理にかかる時間である。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
処理プログラムの処理時間は、この処理プログラムが搭載されている処理端末の性能によって異なるので、以下のようにして、ルーティングテーブルに記憶する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
各処理端末は、自端末に搭載されている処理プログラムを最初に実行したときに、この処理プログラムの実行時間を計測し、自端末のルーティングテーブルに記憶する。そして、実行時間通知部が、他の処理端末から自端末に搭載されている処理プログラムの実行時間の通知要求があったときに、実行時間記憶部に記憶している当該処理プログラムの実行時間を通知する。
また、各処理端末は、通知要求送信部が任意の項目にかかる実行処理を行うときに選択した処理プログラムについて、記憶部が記憶するルーティングテーブルに実行時間にかかる属性値が登録されていなければ、この処理プログラムが搭載されている処理端末に対して当該処理プログラムの実行時間の通知要求を送信する。
各処理端末は、他の処理端末から処理プログラムの処理時間が通知されたとき、通知された処理時間を、自端末のルーティングテーブルに登録されている該当する処理プログラムの処理時間として記憶する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
処理端末が任意の項目にかかる実行処理を行うときに選択した処理プログラムについて、待ち時間取得部がルーティングテーブルを参照し、登録されている各属性の属性値に基づいて、この処理プログラムの利用時における待ち時間を取得する。また、記憶部が記憶するテーブルに実行時間にかかる属性値が登録されていなかった処理プログラムについては、前記通知要求送信部による当該処理プログラムの実行時間の通知要求に対して、通知された実行時間を用いて、この処理プログラムの利用時における待ち時間を取得する。そして、要求部が、取得した待ち時間を設定し、選択した処理プログラムに対して実行処理を要求する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
この精算機２０は、鉄道利用者から乗車券を受け付けて、運賃を精算するために、精算プログラムの実行を開始する。精算機２０は、この精算プログラムにおいて運賃計算プログラムの実行要求が発生すると、自機（精算機２０）、自動改札機２１、または駅サーバ２２に搭載されている運賃計算プログラムのいずれかを選択し、ここで選択した運賃計算プログラムに対して実行要求を行う。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】変更
【補正の内容】
【００５６】
このとき、精算機２０は、自機の運賃計算プログラムを選択した場合、
待ち時間＝１×１＋１＋１０＝１２ｍｓ
を待ち時間として算出し、精算プログラムに設定する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００５７
【補正方法】変更
【補正の内容】
【００５７】
また、精算機２０は、自動改札機２１の運賃計算プログラムを選択した場合、
待ち時間＝２×１０＋１＋１０＝３１ｍｓ
を待ち時間として算出し、精算プログラムに設定する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００５８
【補正方法】変更
【補正の内容】
【００５８】
さらに、精算機２０は、駅サーバ２２の運賃計算プログラムを選択した場合、
待ち時間＝３×５＋１＋１０＝２６ｍｓ
を待ち時間として算出し、精算プログラムに設定する。
【手続補正９】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の処理端末を相互に通信可能に接続し、前記処理端末が任意の処理端末に搭載されている処理プログラムを選択的に利用するネットワークシステムにおいて、
前記処理端末は、
利用可能な前記処理プログラムについて、その処理プログラムが実行処理する項目と、その処理プログラムが搭載されている前記処理端末と、その処理プログラムを利用するときの待ち時間に影響を与える、その処理プログラムの実行時間を含む複数種類の属性毎の属性値と、を対応づけて登録したテーブルを記憶する記憶部と、
任意の項目にかかる実行処理を行うときに選択した処理プログラムについて、前記記憶部が記憶するテーブルを参照し、登録されている各属性の属性値に基づいて、この処理プログラムの利用時における待ち時間を取得する待ち時間取得部と、
前記待ち時間取得部が取得した待ち時間を設定し、選択した処理プログラムに対して実行処理を要求する要求部と、を備えるとともに、
さらに、自端末に搭載されている処理プログラムを実行したときに、この処理プログラムの実行時間を記憶する実行時間記憶部と、
任意の項目にかかる実行処理を行うときに選択した処理プログラムについて、前記記憶部が記憶するテーブルに実行時間にかかる属性値が登録されていなければ、この処理プログラムが搭載されている処理端末に対して当該処理プログラムの実行時間の通知要求を送信する通知要求送信部と、
他の処理端末から自端末に搭載されている処理プログラムの実行時間の通知要求があったときに、前記実行時間記憶部に記憶している当該処理プログラムの実行時間を通知する実行時間通知部と、を備え、
前記待ち時間取得部は、前記記憶部が記憶するテーブルに実行時間にかかる属性値が登録されていなかった処理プログラムについては、前記通知要求送信部による当該処理プログラムの実行時間の通知要求に対して、通知された実行時間を用いて、この処理プログラムの利用時における待ち時間を取得する、
ネットワークシステム。
【請求項２】
前記テーブルは、処理プログラムの実行時間に加えて、少なくとも、通信時間、リトライ回数、リトライ待ち時間、を属性とし、これらの属性値も登録している、請求項１に記載のネットワークシステム。
【請求項３】
前記処理端末は、駅に設置され、駅務処理を行う駅務機器である、請求項１、または２に記載のネットワークシステム。
【請求項４】
通信可能に接続されている他の処理端末に搭載されている処理プログラムを選択的に利用する処理端末において、
利用可能な前記処理プログラムについて、その処理プログラムが実行処理する項目と、その処理プログラムが搭載されている前記処理端末と、その処理プログラムを利用するときの待ち時間に影響を与える、その処理プログラムの実行時間を含む複数種類の属性毎の属性値と、を対応づけて登録したテーブルを記憶する記憶部と、
任意の項目にかかる実行処理を行うときに選択した処理プログラムについて、前記記憶部が記憶するテーブルを参照し、登録されている各属性の属性値に基づいて、この処理プログラムの利用時における待ち時間を取得する待ち時間取得部と、
前記待ち時間取得部が取得した待ち時間を設定し、選択した処理プログラムに対して実行処理を要求する要求部と、を備えるとともに、
さらに、自端末に搭載されている処理プログラムを実行したときに、この処理プログラムの実行時間を記憶する実行時間記憶部と、
任意の項目にかかる実行処理を行うときに選択した処理プログラムについて、前記記憶部が記憶するテーブルに実行時間にかかる属性値が登録されていなければ、この処理プログラムが搭載されている処理端末に対して当該処理プログラムの実行時間の通知要求を送信する通知要求送信部と、
他の処理端末から自端末に搭載されている処理プログラムの実行時間の通知要求があったときに、前記実行時間記憶部に記憶している当該処理プログラムの実行時間を通知する実行時間通知部と、を備え、
前記待ち時間取得部は、前記記憶部が記憶するテーブルに実行時間にかかる属性値が登録されていなかった処理プログラムについては、前記通知要求送信部による当該処理プログラムの実行時間の通知要求に対して、通知された実行時間を用いて、この処理プログラムの利用時における待ち時間を取得する、処理端末。
【請求項５】
通信可能に接続されている他の処理端末に搭載されている処理プログラムを選択的に利用する処理端末の制御部に、
任意の項目にかかる実行処理を行うときに、処理プログラムが実行処理する項目と、その処理プログラムが搭載されている前記処理端末と、その処理プログラムを利用するときの待ち時間に影響を与える、その処理プログラムの実行時間を含む複数種類の属性毎の属性値と、を対応づけて登録したテーブルを参照し、選択した処理プログラムの利用時における待ち時間を取得する待ち時間取得ステップと、
前記待ち時間取得ステップが取得した待ち時間を設定し、選択した処理プログラムに対して実行処理を要求する要求ステップと、
自端末に搭載されている処理プログラムを実行したときに、この処理プログラムの実行時間を記憶する実行時間記憶ステップと、
任意の項目にかかる実行処理を行うときに選択した処理プログラムについて、前記テーブルに実行時間にかかる属性値が登録されていなければ、この処理プログラムが搭載されている処理端末に対して当該処理プログラムの実行時間の通知要求を送信する通知要求送信ステップと、
他の処理端末から自端末に搭載されている処理プログラムの実行時間の通知要求があったときに、前記実行時間記憶ステップで記憶した当該処理プログラムの実行時間を通知する実行時間通知ステップと、を実行させる待ち時間設定プログラムであって、
前記待ち時間取得ステップは、前記テーブルに実行時間にかかる属性値が登録されていなかった処理プログラムについては、前記通知要求送信ステップによる当該処理プログラムの実行時間の通知要求に対して、通知された実行時間を用いて、この処理プログラムの利用時における待ち時間を取得する、待ち時間設定プログラム。
【請求項６】
通信可能に接続されている他の処理端末に搭載されている処理プログラムを選択的に利用する処理端末が、
任意の項目にかかる実行処理を行うときに、処理プログラムが実行処理する項目と、その処理プログラムが搭載されている前記処理端末と、その処理プログラムを利用するときの待ち時間に影響を与える、その処理プログラムの実行時間を含む複数種類の属性毎の属性値と、を対応づけて登録したテーブルを参照し、選択した処理プログラムの利用時における待ち時間を取得する待ち時間取得ステップと、
前記待ち時間取得ステップが取得した待ち時間を設定し、選択した処理プログラムに対して実行処理を要求する要求ステップと、
自端末に搭載されている処理プログラムを実行したときに、この処理プログラムの実行時間を記憶する実行時間記憶ステップと、
任意の項目にかかる実行処理を行うときに選択した処理プログラムについて、前記テーブルに実行時間にかかる属性値が登録されていなければ、この処理プログラムが搭載されている処理端末に対して当該処理プログラムの実行時間の通知要求を送信する通知要求送信ステップと、
他の処理端末から自端末に搭載されている処理プログラムの実行時間の通知要求があったときに、前記実行時間記憶ステップで記憶した当該処理プログラムの実行時間を通知する実行時間通知ステップと、を実行する待ち時間設定方法であって、
前記待ち時間取得ステップは、前記テーブルに実行時間にかかる属性値が登録されていなかった処理プログラムについては、前記通知要求送信ステップによる当該処理プログラムの実行時間の通知要求に対して、通知された実行時間を用いて、この処理プログラムの利用時における待ち時間を取得する、待ち時間設定方法。
【国際調査報告】
2012132102.tif 000011
2012132102.tif 000012