(57)【要約】【課題】機器からコンピュータに定期的に制御要求の有無を確認するリクエストを発行し、コンピュータがリプライで制御要求の有無を通知するシステムにおいて、規定されている同時セッション数以上の機器と通信する。【解決手段】コンピュータ（１）は、機器（２）ごとに、リクエストの受信からリプライの発行までのリプライ発行待ち時間を指定し、リプライの受信から次のリクエストの発行までの次回リクエスト発行待ち時間を指定し、いずれかの機器からリクエストを受信した際に、制御要求がない場合は、当該機器のリプライ発行待ち時間の経過後に、次回リクエスト発行待ち時間を通知するリプライを送信し、各機器は、リプライの受信の際に、リプライで通知されている次回リクエスト発行待ち時間の経過後に、次のリクエストを送信する。これにより、機器ごとにセッションを維持する時間を調整し、同時セッション数以上の機器と通信することができる。【選択図】図１
2009251665.tif 000002
【特許請求の範囲】
【請求項１】
各々がリクエストを繰り返し送信する複数の機器と、
前記複数の機器に接続され、各機器からのリクエストを受信するとともに、受信したリクエストに対してリプライを送信するコンピュータ装置とを備える通信システムであって、
前記コンピュータ装置は、
機器ごとに、リクエストの受信からリプライの送信までの待ち時間を指定リプライ送信待ち時間として指定するとともに、リプライの受信からリクエストの送信までの待ち時間を指定リクエスト送信待ち時間として指定し、
いずれかの機器からリクエストを受信した際に、リクエストの送信元の機器に対する指定リプライ送信待ち時間を待った後に、当該リクエストの送信元の機器に対する指定リクエスト送信待ち時間を通知するリプライを当該リクエストの送信元の機器に送信し、
各機器は、
前記コンピュータ装置からリプライを受信した際に、受信したリプライにおいて通知されている指定リクエスト送信待ち時間を待った後に、前記コンピュータ装置にリクエストを送信することを特徴とする通信システム。
【請求項２】
前記コンピュータ装置は、
各機器に処理を要求する場合があり、
リクエストの送信元の機器に処理を要求する場合に、指定リクエスト送信待ち時間を通知せずに要求する処理の内容を通知するリプライを生成し、指定リプライ送信待ち時間の経過を待たずに、生成したリプライをリクエストの送信元の機器に送信し、
各機器は、
前記コンピュータ装置から受信したリプライにおいて処理が要求されている場合に、要求されている処理を実行するとともに、処理の実行結果を通知するリクエストを生成し、リプライの受信からの経過時間にかかわらず、生成したリクエストを前記コンピュータ装置に送信することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記コンピュータ装置は、
いずれかの機器からリクエストを受信した後に指定リプライ送信待ち時間を経過する前にリクエストの送信元の機器に処理を要求するイベントが生じた場合は、当該リクエストに対するリプライとして、指定リクエスト送信待ち時間を通知せずに要求する処理の内容を通知するリプライを生成し、指定リプライ送信待ち時間の経過を待たずに、生成したリプライをリクエストの送信元の機器に送信し、
いずれかの機器に処理を要求するイベントが生じた際には当該機器からリクエストを受信していない場合は、当該機器からのリクエストの受信を待ち、当該機器からリクエストを受信した際に、当該リクエストに対するリプライとして、指定リクエスト送信待ち時間を通知せずに要求する処理の内容を通知するリプライを生成し、指定リプライ送信待ち時間の経過を待たずに、生成したリプライをリクエストの送信元の機器に送信することを特徴とする請求項２に記載の通信システム。
【請求項４】
前記コンピュータ装置と各機器は、
機器から前記コンピュータ装置へのリクエストの送信のためにセッションを確立し、
前記コンピュータ装置から機器へのリプライの送信が完了次第セッションを切断することを特徴とする請求項１〜３のいずれかに記載の通信システム。
【請求項５】
前記通信システムは、
前記コンピュータ装置と機器との間に確立されるセッションについてタイムアウト時間が規定されている通信システムであり、
前記コンピュータ装置は、
機器ごとに指定リプライ送信待ち時間又は指定リクエスト送信待ち時間を示すテーブルを備え、
機器ごとに、セッションのタイムアウト時間から指定リプライ送信待ち時間又は指定リクエスト送信待ち時間を差し引いた時間を指定リクエスト送信待ち時間又は指定リプライ送信待ち時間として指定することを特徴とする請求項１〜４のいずれかに記載の通信システム。
【請求項６】
前記コンピュータ装置は、
各機器に対して優先度を設定するとともに、各機器の優先度に基づいて、機器ごとに指定リプライ送信待ち時間及び指定リクエスト送信待ち時間を指定することを特徴とする請求項１〜５のいずれかに記載の通信システム。
【請求項７】
前記通信システムは、
前記コンピュータ装置と機器との間に確立されるセッションについて、同時に並存できる許容数が同時セッション許容数として規定されている通信システムであり、
前記コンピュータ装置と各機器は、
機器から前記コンピュータ装置へのリクエストの送信のためにセッションを確立し、
前記コンピュータ装置から機器へのリプライの送信が完了次第セッションを切断し、
前記コンピュータ装置は、
前記同時セッション許容数以上の機器と接続されている場合に、同時に並存しているセッション数が前記同時セッション許容数の範囲内となるように、機器ごとの指定リプライ送信待ち時間及び指定リクエスト送信待ち時間を指定することを特徴とする請求項１〜６のいずれかに記載の通信システム。
【請求項８】
前記通信システムは、
前記コンピュータ装置と機器との間に確立されるセッションについてタイムアウト時間Ｔが規定されている通信システムであり、
前記コンピュータ装置は、
各機器に対して１〜Ｎ（Ｎ≧２）の優先度のうちいずれかの優先度を設定し、
優先度ｉの機器に対する指定リプライ送信待ち時間を（Ｔ／Ｎ）＊（Ｎ−ｉ＋１）とし、指定リクエスト送信待ち時間をＴ−（Ｔ／Ｎ）＊（Ｎ−ｉ＋１）とし、優先度ｉの機器の数をｎとし、前記同時セッション許容数をＸとした場合に、
Σ（（Ｔ／Ｎ）＊（Ｎ−ｉ＋１）＊ｎｉ）＝ＴＸ  となる範囲で、ｎ又はＮの値を調整して、同時に並存しているセッション数が前記同時セッション許容数の範囲内となるように、機器ごとの指定リプライ送信待ち時間及び指定リクエスト送信待ち時間を指定することを特徴とする請求項７に記載の通信システム。
【請求項９】
前記コンピュータ装置は、
機器ごとの指定リプライ送信待ち時間及び指定リクエスト送信待ち時間を動的に指定することを特徴とする請求項７又は８に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムに関し、特に、複数の機器からコンピュータに対して、各機器に対する制御要求の有無をチェックするリクエストを発行し、そのリプライとしてコンピュータからのチェック結果を受信する通信を定期的に繰り返すことによって、コンピュータからの制御要求の有無を確認するシステムに関するものである。
【背景技術】
【０００２】
本発明に関連する技術として、特許文献１に記載の技術がある。
この技術は、端末側からＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）サーバ側に対して、定期的に要求―応答型のプロトコルで情報同期システムを構築する際、ネットワークおよび端末側の負荷を抑えつつ、かつ、更新情報の反映を速やかに行うための技術を開示している。
具体的には、端末側からＷＷＷサーバ側に対して同期のための要求を出し、ＷＷＷサーバでは、同要求のセッションを保持し、同期の必要が発生した場合は、その旨を当該セッションの応答で返す。
また、ある一定時間に同期の必要性が発生しなかった場合も、その旨の情報を当該セッションの応答で返すものである。
【特許文献１】特開２００２−０３３７８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１の技術は、ある一定時間の後、応答を返して、セッションを一時的に切断してはいるが、これは、ＷＷＷサーバのセッションのＴＩＭＥＯＵＴに対応するためのものである。
このため、ＷＷＷサーバおよび、端末−ＷＷＷサーバ間のネットワーク上のセッション数は、常時、端末数に等しく、セッションの数の見地から考えると、セッション維持（セッションの張りっぱなし）しているのと同視できる。つまり、セッションが維持されていない時間は、セッションが維持されている時間に比べると瞬間的なものであり、実質的にセッションが常時維持されている状態とみなすことができる。
【０００４】
一般にＷＷＷサーバや端末−ＷＷＷサーバ間のネットワーク上にあるルータやファイアウォールには、セッション維持できる数には制限がある。
例えば、ＷＷＷのプロトコルであるＴＣＰ／ＩＰでは、ポート番号は最大６５５３５までしか利用できない。またファイアウォールも機種により同時セッション数の最大値の規定がある。同時セッション数とは、同時に並存しているセッションの数である。
このため、特許文献１のセッション維持の方式では、端末もこれらの値の台数までしか拡張できないという課題がある。
【０００５】
本発明は、このような課題を解決することを主な目的とし、機器ごとにセッションを維持する時間を管理して、同時セッション数を規定されている最大数以上に増やすことを主な目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る通信システムは、
各々がリクエストを繰り返し送信する複数の機器と、
前記複数の機器に接続され、各機器からのリクエストを受信するとともに、受信したリクエストに対してリプライを送信するコンピュータ装置とを備える通信システムであって、
前記コンピュータ装置は、
機器ごとに、リクエストの受信からリプライの送信までの待ち時間を指定リプライ送信待ち時間として指定するとともに、リプライの受信からリクエストの送信までの待ち時間を指定リクエスト送信待ち時間として指定し、
いずれかの機器からリクエストを受信した際に、リクエストの送信元の機器に対する指定リプライ送信待ち時間を待った後に、当該リクエストの送信元の機器に対する指定リクエスト送信待ち時間を通知するリプライを当該リクエストの送信元の機器に送信し、
各機器は、
前記コンピュータ装置からリプライを受信した際に、受信したリプライにおいて通知されている指定リクエスト送信待ち時間を待った後に、前記コンピュータ装置にリクエストを送信することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、機器ごとに指定リプライ送信待ち時間及び指定リクエスト送信待ち時間を制御することにより、機器ごとにセッションを維持している時間を調整し、同時セッション数以上の台数の機器と通信することができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
本実施の形態は、端末の負荷を抑えつつ、かつ、速やかにサーバから端末への同期情報の送信（制御コマンドの送信も同じ）を行うシステムにおける端末台数の制限値を、同時セッション数を制御し、最大数以上に増やすことを主な目的とした内容である。
【０００９】
実施の形態１を、システム構成図（図１）、機器管理情報テーブル形式（図２）、リクエスト形式（図３）、リプライ形式（図４）、機器の被制御のフローチャート（図５）、シーケンス図（図６）、機器の構成図（図７）、コンピュータの構成図（図８）およびコンピュータのフローチャート（図９）を用いて説明する。
【００１０】
図１のシステム構成図に示すとおり、本実施の形態に係る通信システムでは、コンピュータ装置（１）（以下、単にコンピュータともいう）と機器（２ａ、２ｂ・・・２ｚ）は、インターネット等のネットワーク（３）にネットワークケーブル（４ａ、４ｂ）を通じて繋がっている。
【００１１】
本システム構成において、コンピュータ（１）が機器（２）を遠隔制御するシステムを対象とし、機器（２ａ、２ｂ・・・）から、コンピュータ（１）に対して、定期的に制御要求の有無を確認するリクエストを発行し、そのリプライで得たコマンド（制御要求）を実行して、その結果を次の制御要求の有無確認のリクエストと共に送信するシステムを対象とする。
ここで、制御要求とは、リクエストの送信元の機器に処理を要求するコマンドであり、例えば、運転状態の取得、温度の計測等の処理を要求するコマンドである。
【００１２】
図２の機器管理情報テーブル形式に示すとおり、機器管理情報テーブル（１００）は、機器ＩＤ（１０１）、次回リクエスト発行待ち時間（１０２）、リプライ発行待ち時間情報（１０３）、制御要求の有無情報（１０４）から構成される。
【００１３】
機器ＩＤ（１０１）は、コンピュータ（１）が制御を行う機器（２）を識別するための識別情報である。
【００１４】
次回リクエスト発行待ち時間（１０２）は、コンピュータが機器（２）へのリプライ（３００）で指示する、リプライ（３００）を受けてから次のリクエスト（２００）を発行するまでの待ち時間である。
つまり、次回リクエスト発行待ち時間（１０２）は、リプライの受信からリクエストの送信までの待ち時間を示し、指定リクエスト送信待ち時間の例である。
【００１５】
リプライ発行待ち時間情報（１０３）は、コンピュータ（１）がリクエスト（２００）を受け、制御要求の有無情報をチェックしながら、制御要求無しのリプライを発行するまでの時間である。
リプライ発行待ち時間情報（１０３）は、リクエストの受信からリプライの送信までの待ち時間を示し、指定リプライ送信待ち時間の例である。
【００１６】
制御要求の有無情報（１０４）は、当該機器への制御要求があるかどうかを示す情報である。制御要求は、コンピュータ（１）のユーザからの入力、コンピュータ（１）の上位装置からの入力、タイマ割り込み等により発生する。
なお、制御要求の有無情報は、コンピュータ（１）が機器（２）に遠隔制御したい場合に、具体的な制御コマンドを設定する。
【００１７】
次にデータ形式の説明を行う。
【００１８】
機器（２）からコンピュータ（１）に対して制御要求の有無を確認するリクエストの形式が図３「リクエスト形式」であり、リクエストに対するレスポンスとしてコンピュータ（１）から機器（２）に返されるのが図４「リプライ形式」である。
図３のリクエスト形式に示すとおり、リクエスト（２００）は、機器ＩＤ（２０１）の情報と、制御実行結果（２０２）から構成される。
機器ＩＤ（２０１）の情報は、リクエストを発信した機器の識別情報である。
制御実行結果（２０２）は、コンピュータから受けた制御内容の実行結果を示す。
【００１９】
図４のリプライ形式に示すとおり、リプライ（３００）は、機器ＩＤ（３０１）の情報と、制御要求の有無情報（３０２）及び次回リクエスト発行待ち時間情報（３０３）から構成される。
機器ＩＤ（３０１）の情報は、リプライに対応するリクエストを発行した機器の識別情報である。
【００２０】
なお、リクエストおよびリプライはそれぞれ以下の２つのケースがある。
１）リクエスト
リクエスト１：制御要求の有無を確認するリクエストのみの場合（制御実行結果（２０２）が空）。
リクエスト２：前回のリプライで受信した制御要求に従って制御した実行結果のデータを制御実行結果（２０２）に持つ。
２）リプライ
リプライ１：コンピュータ（１）からの制御要求がない場合（制御要求の有無情報（３０２）には、要求がない旨の情報のみ）で、次回リクエスト発行待ち時間情報（３０３）が設定されている。
リプライ２：コンピュータ（１）からの制御要求がある場合で、制御要求の有無情報（３０２）には、制御内容が設定されている（なお、次回リクエスト発行待ち時間情報（３０３）は設定されていない）。
【００２１】
次に、詳細の機器の遠隔制御の仕組みを、図５〜図９を用いて説明する。
図５は、機器の被制御のフローチャートを示す。
図６は、本実施の形態に係る通信システムにおけるシーケンス図である。
図７は、本実施の形態に係る機器の構成例を示す図である。
図８は、本実施の形態に係るコンピュータの構成例を示す図である。
図９は、コンピュータの動作例を示すフローチャートである。
【００２２】
先ず、図５の機器の被制御のフローチャートおよび図７の機器の構成図を用いて、機器の動作を示す。
【００２３】
ステップＳ１において、機器（２）は、リクエスト（２００）を、コンピュータ（１）に対して、データ送受信機能部（４０１）を利用して送信する。この場合、制御実行結果（２０２）は空である。
ステップＳ２において、データ送受信機能部（４０１）は、コンピュータからのリプライ（３００）の受信待ちとなり、コンピュータからリプライデータが送信された場合に、データ送受信機能部（４０１）はリプライデータを受信する。
次に、ステップＳ３において、リプライ（３００）の制御要求有無情報（３０２）に、制御要求（コマンド）があるかどうかを、データ解析機能部（４０２）でチェックする。
制御情報がなければ、ステップＳ６に進む。
【００２４】
ステップＳ３でＹＥＳの場合、すなわちリプライ（３００）に制御要求が含まれている場合は、ステップＳ４において、コマンド実行機能部（４０３）で制御要求の内容を実行する。
次に、ステップＳ５において、機器（２）は、制御要求の内容の実行結果を、リクエスト（２００）の制御実行結果（２０２）に設定して、データ送受信機能部（４０１）にて、コンピュータ（１）に対して送信する。この後、ステップＳ２に進む。
【００２５】
他方、ステップＳ３でＮＯの場合、すなわちリプライ（３００）に制御要求が含まれていない場合は、ステップＳ６において、リプライ（３００）に記載された時間（次回リクエスト発行待ち時間情報（３０３）に記載された時間）の間、Ｗａｉｔ機能部（４０４）で待つ（何もしない）。この後、ステップＳ１に進む。
【００２６】
次に、このときのコンピュータ（１）側の動きについてコンピュータ（１）の構成図（図８）およびコンピュータのフローチャート（図９）を用いて説明する。
【００２７】
ステップＳ１において、データ受送信機能部（５０１）で、機器（２）からのリクエストの受信状態になる。
ステップＳ２において、コンピュータ（１）は、データ受送信機能部（５０１）で、リクエスト（２００）を機器（２）から受信する。
ステップＳ３において、データ解析機能部（５０２）を用いて、受信したリクエスト（２００）に制御実行結果（２０２）が設定されているか否かを判断する。
設定されていれば、ステップＳ４に進む。入っていなければステップＳ５に進む。
【００２８】
ステップＳ３でＹＥＳの場合、すなわちリクエスト（２００）に制御実行結果（２０２）が設定されている場合は、前回のリプライで制御要求があり、その制御結果が今回のリクエストで送信されてきた場合にあたり、ステップＳ４において、データ解析機能部（５０２）が、制御実行結果（２０２）を、前回の制御要求の有無情報（３０２）と対応づけて、制御結果ＤＢ（１５０）に格納する。
次に、ステップＳ５において、制御要求有無チェック機能部（５０５）が、同リクエスト（２００）の機器ＩＤ（２０１）情報を検索キーとして、機器管理情報テーブル（１００）の内容を確認し、制御要求の有無情報（１０４）に制御要求の内容が設定されているかをチェックする。
設定されていればステップＳ６に進み、設定されていなければステップＳ５−２に進む。
【００２９】
ステップＳ５でＹＥＳの場合、すなわち機器管理情報テーブル（１００）の制御要求の有無情報（１０４）に制御要求の内容が設定されている場合は、ステップＳ６において、リプライ作成機能部（５０３）が、リプライ（３００）のデータを作成する。この時、制御要求の有無情報（１０４）を制御要求の有無情報（３０２）に設定する。この場合、次回リクエスト発行待ち時間情報（３０３）は設定しない。
次に、ステップＳ７において、リプライとして、データ受送信機能部（５０１）を用いて、機器（２）に送信する。
【００３０】
他方、ステップＳ５でＮＯの場合、すなわち機器管理情報テーブル（１００）の制御要求の有無情報（１０４）に制御要求の内容が設定されていない場合は、ステップＳ５−２において、しばらくの時間を、Ｗａｉｔ機能部（５０４）で待つ。このとき、待ち時間を加算する。
次に、ステップＳ５−３において、制御要求有無チェック機能部（５０５）が、リプライ発行待ち時間情報（１０３）に示されるリプライ発行待ち時間の間待ったかを確認する。
リプライ発行待ち時間以上待っていない場合はステップＳ５に戻る。
リプライ発行待ち時間以上待っていた場合、リプライ作成機能部（５０３）で、リプライ（３００）のデータを作成する。この時、加算していた待ち時間をクリアするとともに、次回リクエスト発行待ち時間情報（１０２）を次回リクエスト発行待ち時間情報（３０３）に設定する。
なお、制御要求の有無情報（３０２）には、何も設定しない。そして、ステップＳ７に進む。
【００３１】
図６のシーケンス図では、次回リクエスト発行待ち時間情報（１０２）およびリプライ発行待ち時間情報（１０３）が機器ごとに異なる場合を示している。
図６では、３台の機器（機器（００００１）（２ａ）、機器（００００２）（２ｂ）、機器（００００３）（２ｃ））とコンピュータ（１）との間の通信を示している。
また、各機器（２）からコンピュータ（１）に向かう矢印はリクエストを示し、コンピュータ（１）から各機器（２）に向かう矢印はリプライを示す。
各機器へのリプライにＴａ、Ｔｂ、Ｔｃが示されているが、これは、各機器の次回リクエスト発行待ち時間である。つまり、リプライにおいて各機器に次回リクエスト発行待ち時間を通知していることを表している。
なお、図６のシーケンス図では、制御要求を通知するリプライ、制御結果を通知するリクエストは示されていない。これらについては、図１４を参照して後述する。
また、このリクエスト／リプライは、ＨＴＴＰ又はＨＴＴＰＳプロトコルで実装されてもよい。
【００３２】
Ｔａは、機器（００００１）（２ａ）の次回リクエスト発行待ち時間を示す。
Ｔｂは、機器（００００２）（２ｂ）の次回リクエスト発行待ち時間を示す。
Ｔｃは、機器（００００３）（２ｃ）の次回リクエスト発行待ち時間を示す。
各機器（２）は、指定された次回リクエスト発行待ち時間の経過を待ってからリクエストを送信している。
【００３３】
ｔａは、機器（００００１）（２ａ）からのリクエストに対してコンピュータ（１）でリプライの発行を待つリプライ発行待ち時間を示す。
ｔｂは、機器（００００２）（２ｂ）からのリクエストに対してコンピュータ（１）でリプライの発行を待つリプライ発行待ち時間を示す。
ｔｃは、機器（００００３）（２ｃ）からのリクエストに対してコンピュータ（１）でリプライの発行を待つリプライ発行待ち時間を示す。
コンピュータ（１）は、リクエストの受信からリプライ発行待ち時間の経過を待ってから各機器（２）にリプライを送信している。
なお、ｔａ、ｔｂ、ｔｃは、リクエストの矢印とリプライの矢印の間の時間である。
【００３４】
リプライ発行待ち時間と次回リクエスト発行待ち時間とは、逆の関係になっており、機器（００００１）（２ａ）は３つの機器（２）のうち最長のリプライ発行待ち時間ｔａとなっているが、次回リクエスト発行待ち時間Ｔａは３つの機器（２）のうち最短である。
また、機器（００００３）（２ｃ）は最短のリプライ発行待ち時間ｔｃであるが、最長の次回リクエスト発行待ち時間Ｔｃとなっている。
【００３５】
また、コンピュータ及び各機器について示している縦長の帯状体はセッションの維持時間を示している。
各機器（２）からコンピュータ（１）へのリクエストの送信のためにセッションを確立し、コンピュータ（１）から各機器（２）へのリプライの送信が完了次第セッションを切断している。
つまり、セッションの維持時間は、リプライ発行待ち時間に依存し、図６では、３つの機器（２）のうち、機器（００００１）（２ａ）は最長のセッション維持時間となっており、機器（００００３）（２ｃ）が最短のセッション維持時間となっており、機器（００００２）（２ｂ）が中間のセッション維持時間となっている。
また、図６の例では、機器（００００１）（２ａ）がほぼ常時セッションを維持している一方、機器（００００２）（２ｂ）と機器（００００３）（２ｃ）がほぼ交互にセッションを維持しており、同時にセッションが並存している同時セッション数は最大で２である（機器（００００２）（２ｂ）と機器（００００３）（２ｃ）が同時にセッションを張っている時間はないため）。
このように、図６の例では、コンピュータ（１）は、同時セッション数を２に抑えながら、３台の機器と通信を行うことが可能である。
【００３６】
次に、コンピュータ（１）からのリプライにおいて制御要求を通知し、機器（２）からのリクエストにおいて制御結果を通知する例を図１４及び図１５に示す。
【００３７】
図１４では、コンピュータ（１）と機器（００００１）（２ａ）との間で制御要求及び制御結果を送受信する例を示す。図１５では、コンピュータ（１）と機器（００００３）（２ｃ）との間で制御要求及び制御結果を送受信する例を示している。
なお、コンピュータ（１）と機器（００００２）（２ｂ）との間は、図６と同様にリクエストとリプライが繰り返し送受信されているが、作図上の都合から割愛している。
【００３８】
コンピュータ（１）が、機器（００００１）（２ａ）からのリクエスト（２００）を受けて、リプライ発行待ち時間情報（１０３）にあるｔａ時間の間、リプライ（３００）の発行を待っている間に、制御要求（１）を発行すべきイベントが発生したとする。
このときの待ち時間ｔａ’（＜ｔａ）とすると、即時に（リプライ発行待ち時間ｔａを待たずに）、リプライ発行の待機状態を解き、その制御要求（１）をリプライ（３００）の制御要求の有無情報（３０２）に設定して、機器（２ａ）に返答する。
機器（００００１）（２ａ）も、コンピュータ（１）からのリプライ（３００）を受信すると、制御要求（１）にて指示されている処理を実行し、制御結果（１）（２０２）を設定したリクエスト（２００）を送信する。
また、制御結果（１）の受信からｔａ’’（＜ｔａ）の経過時に次の制御要求（２）を発行すべきイベントが発生すると、コンピュータ（１）は制御要求（１）の場合と同様に、即時に制御要求（２）をリプライ（３００）として機器（２ａ）に返答する。
機器（２ａ）も、制御要求（１）の場合と同様に、制御要求（２）に対応する処理を実行し、制御結果（２）を設定したリクエスト（２００）を送信する。
そして、コンピュータ（１）は、次の制御要求がないので、次回リクエスト発行待ち時間Ｔａを通知するリプライを送信する。
【００３９】
また、次回リクエスト発行待ち時間によっては、コンピュータ（１）が上記制御要求を受けた時点（制御要求を発行すべきイベントが発生した時点）では、機器（２）からのリクエスト（２００）が届いていない場合がある（例えば、図１５の機器（００００３）（２ｃ）に対する制御要求（１）の場合）。
その場合は、次回のリクエスト（２００）が届いた時点での制御要求のチェックにて、制御要求を確認し、その制御要求をリプライ（３００）の制御要求の有無情報（３０２）に設定して、（リプライ発行待ち時間を待たずに）機器（００００３）（２ｃ）に返答する。
また、この場合も同様に、機器（００００３）（２ｃ）は、コンピュータ（１）からのリプライ（３００）を受信すると、制御要求にて指示されている処理を実行し、制御実行結果（２０２）を設定したリクエスト（２００）を送信する。
そして、コンピュータ（１）は、次の制御要求がないので、次回リクエスト発行待ち時間Ｔｃを通知するリプライを送信する。
【００４０】
以上のように、本実施の形態によれば、機器ごとにリプライ発行待ち時間及び次回リクエスト発行待ち時間を制御することにより、機器ごとにセッションを維持している時間を調整し、これにより同時セッション数を抑えながら、同時セッション数以上の台数の機器と通信することができる。
【００４１】
本実施の形態では、
機器からコンピュータに対して、当該機器に対しての制御要求の有無をチェックするリクエストを発行、そのリプライでそのチェック結果を受信する通信を定期的に繰り返すことによって、コンピュータからの制御要求の有無を確認するシステムにおいて、
そのリプライに含まれた、「次回リクエスト発行待ち時間情報」（機器が次回の上記リクエストを発行するまでの時間の情報）に基づき、次のリクエストの発行タイミングを制御する機器を持つ同時セッション数制御方式について説明した。
【００４２】
また、本実施の形態では、
機器からコンピュータに対して、当該機器に対しての制御要求の有無をチェックするリクエストを発行、そのリプライでそのチェック結果を受信する通信を定期的に繰り返すことによって、コンピュータからの制御要求の有無を確認するシステムにおいて、
コンピュータは、機器ごとに、当該機器への制御要求の有無を示す「制御情報の有無情報」と同リクエストを受けてからリプライを返すまでの「リプライ発行待ち時間情報」と、機器にリプライを受けてから次のリクエストを出すまでの「次回リクエスト発行待ち時間情報」を持ち、
機器からの前述のリクエストを受けた際、「リプライ発行待ち時間情報」に基づく時間の間リプライを返すタイミングを延長し、かつ、そのリプライを返す際には、「次回リクエスト発行待ち時間情報」を載せる処理を行うコンピュータを持つ同時セッション数制御方式について説明した。
【００４３】
また、本実施の形態では、機器とコンピュータ間の通信をＨＴＴＰあるいはＨＴＴＰＳプロトコルで行う同時セッション数制御方式について説明した。
【００４４】
実施の形態２．
実施の形態１では、機器管理情報テーブル（１００）に次回リクエスト発行待ち時間情報（１０２）とリプライ発行待ち時間情報（１０３）の情報を含んでいたが、片方一方のみでもよい。
例えば、別途定めた、最大ＭＡＸ時間（セッションのタイムアウト時間）をＴとした場合、次回リクエスト発行待ち時間情報をＴｘとした場合、リプライ発行待ち時間情報をＴ−Ｔｘで求めてもよい
同様に、リプライ発行待ち時間情報をｔｘとした場合、次回リクエスト発行待ち時間情報をＴ−ｔｘで求めてもよい。
【００４５】
実施の形態３．
実施の形態１では、機器管理情報テーブル（１００）に次回リクエスト発行待ち時間情報（１０２）とリプライ発行待ち時間情報（１０３）の情報を含んでいたが、これらの情報をサービスレベルテーブル形式（１２０）とに分けて管理をしてもよい。
【００４６】
例えば、各機器にサービスレベル（優先度）を設定し、機器管理情報テーブル（１００−１）は、図１０に示すように、次回リクエスト発行待ち時間情報（１０２）とリプライ発行待ち時間情報（１０３）の代わりにサービスレベル（１０５）情報をもち、図１１に示すサービスレベルテーブル（１２０）を参照することにより、次回リクエスト発行待ち時間情報（１２２）とリプライ発行待ち時間情報（１２３）を得てもよい。
【００４７】
本実施の形態に示すように、機器ごとにサービスレベルを設定し、サービスレベルごとに次回リクエスト発行待ち時間情報及びリプライ発行待ち時間情報を指定する場合も、実施の形態１のように機器ごとに次回リクエスト発行待ち時間情報及びリプライ発行待ち時間情報を指定する場合と同じ効果が得られる。
【００４８】
以上、本実施の形態では、
機器ごとのサービスレベルを定義し、サービスレベルに従って、前述の「次回リクエスト発行待ち時間情報」あるいは「リプライ発行待ち時間情報」を設定する同時セッション数制御方式について説明した。
【００４９】
実施の形態４．
実施の形態１から３では、次回リクエスト発行待ち時間情報（１０２、１２２）とリプライ発行待ち時間情報（１０３、１２３）は固定であったが、以下の方式により、動的に変更させてもよい。
【００５０】
機器台数＜同時セッション最大数の場合は、すべてのサービスレベルの次回リクエスト発行待ち時間情報（ｓｅｃ）を０にする。
ここで、同時セッション最大数とは、同時に並存できるセッションの許容数（同時セッション許容数）である。
【００５１】
一方、機器台数≧同時セッション最大数（Ｘ）の場合は、同時に並存しているセッション数が同時セッション最大数（Ｘ）の範囲内となるように、機器ごとのリプライ発行待ち時間情報と次回リクエスト発行待ち時間情報を決定する。
具体的には、以下の方法によりリプライ発行待ち時間情報と次回リクエスト発行待ち時間情報を決定する。
【００５２】
サービスレベルの段階をＮ種類とし、セッションのタイムアウトをＴとした場合、サービスレベル１，２・・・Ｎにおいて、サービスレベルｉの次回リクエスト発行待ち時間情報（１２２）とリプライ発行待ち時間情報（１２３）はそれぞれ以下とする。
リプライ発行待ち時間情報（１２３）：（Ｔ／Ｎ）＊（Ｎ−ｉ＋１）
次回リクエスト発行待ち時間情報（１２２）：Ｔ−（Ｔ／Ｎ）＊（Ｎ−ｉ＋１）
このようにした場合、例えば、最も高いサービスレベル１では、リプライ発行待ち時間情報はＴで、次回リクエスト発行待ち時間情報は０である。
最も低いサービスレベルＮでは、リプライ発行待ち時間情報はＴ／Ｎで、次回リクエスト発行待ち時間情報はＴ−（Ｔ／Ｎ）である。
なお、すべてのサービスレベルをＮとすることよって、機器台数は同時セッション最大数＊Ｎ台にできる（すべてのサービスレベルが１の場合は、機器台数＝同時セッション最大数）。
【００５３】
更に、サービスレベル１，２・・・Ｎとなる機器台数をそれぞれｎ１，ｎ２・・・ｎＮとした場合、Σ（（Ｔ／Ｎ）＊（Ｎ−ｉ＋１）＊ｎｉ）＝ＴＸ  となる範囲で、ｎｉを調整することにより、サポート可能な機器台数を増やすことができる。
【００５４】
また、上記では、サービスレベル毎の機器台数（ｎ）を調整することで、サポート可能な機器台数を示すことを示したが、サービスレベル毎のリプライ発行待ち時間情報（１２３）および次回リクエスト発行待ち時間情報（１２２）を変更すること（つまり、Ｎを変更すること）によっても、サポート可能な機器台数を示すことが可能である。
【００５５】
図１２セッション数状態（１）および図１３セッション数状態（２）で上記実装の例を示す。
【００５６】
図１２のセッション数状態（１）では、同時セッション最大数は３であり、機器台数は３台である。
そして、機器（２）からの要求に対応したセッション処理（セッション維持時間）を７０１−１、７０１−２、７０１−３とする。
このときの各機器のサービスレベルは１とする（次回リクエスト発行待ち時間情報を０とする）。
この場合は、同時セッション数は、セッション数管理テーブル（７１０−１）に示すとおり常時３である。
【００５７】
セッション数状態（２）では、同時セッション最大数は２であり、機器台数は３台である。
機器（２）からの要求に対応したセッション処理（セッション維持時間）を７０１−１’、７０１−２’、７０１−３’とする。
このときの各機器のサービスレベルは３とする（次回リクエスト発行待ち時間情報をｔｃとする）。この場合は、セッション数は、セッション数管理テーブル（７１０−１）に示すとおり２〜０である。
しかし、７０１−１’’で、次回リクエスト発行待ち時間情報（１２２）をｔｃからｔｃ’にすることにより、次回からは、セッション数は、セッション数管理テーブル（７１０−１）に示すとおり常時１である。
このように、サービスレベルの変更や、システムのセッション数に応じた次回リクエスト発行待ち時間情報（１２２）の変更により、システム全体のセッション数を制御可能となる。
【００５８】
以上、本実施の形態では、コンピュータが利用している同時セッション数を管理し、各機器の制御要求の有無チェックコマンドの発行が重ならないように、「次回リクエスト発行待ち時間情報」あるいは「リプライ発行待ち時間情報」を動的に設定する同時セッション数制御方式について説明した。
【００５９】
また、本実施の形態では、各機器に対して１〜Ｎ（Ｎ≧２）の優先度のうちいずれかの優先度が設定されている場合に、
優先度ｉの機器に対するリプライ発行待ち時間情報を（Ｔ／Ｎ）＊（Ｎ−ｉ＋１）とし、次回リクエスト発行待ち時間情報をＴ−（Ｔ／Ｎ）＊（Ｎ−ｉ＋１）とし、優先度ｉの機器の数をｎとし、同時セッション最大数をＸとした場合に、
Σ（（Ｔ／Ｎ）＊（Ｎ−ｉ＋１）＊ｎｉ）＝ＴＸ  となる範囲で、ｎ又はＮの値を調整して、同時に並存しているセッション数が同時セッション最大数（Ｘ）の範囲内となるように、機器ごとのリプライ発行待ち時間情報及び次回リクエスト発行待ち時間情報を決定する同時セッション数制御方式について説明した。
【００６０】
最後に、実施の形態１〜４に示したコンピュータ（１）及び各機器（２）のハードウェア構成例について説明する。
図１６は、実施の形態１〜４に示すコンピュータ（１）及び各機器（２）のハードウェア資源の一例を示す図である。
なお、図１６の構成は、あくまでもコンピュータ（１）及び各機器（２）のハードウェア構成の一例を示すものであり、コンピュータ（１）及び各機器（２）のハードウェア構成は図１６に記載の構成に限らず、他の構成であってもよい。
【００６１】
図１６において、コンピュータ（１）及び各機器（２）は、プログラムを実行するＣＰＵ９１１（中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００６２】
通信ボード９１５は、図１に示すように、ネットワークに接続されている。例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
【００６３】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【００６４】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００６５】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
コンピュータ（１）及び各機器（２）の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【００６６】
上記プログラム群９２３には、実施の形態１〜４の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００６７】
ファイル群９２４には、実施の形態１〜４の説明において、「〜の判断」、「〜の収集」、「〜の解析」、「〜の計算」、「〜の比較」、「〜の評価」、「〜の作成」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１〜４で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００６８】
また、実施の形態１〜４の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、実施の形態１〜４の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態１〜４の「〜部」の手順や方法をコンピュータに実行させるものである。
【００６９】
このように、実施の形態１〜４に示すコンピュータ（１）及び各機器（２）は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【図面の簡単な説明】
【００７０】
【図１】実施の形態１〜４に係る通信システムの構成例を示す図。
【図２】実施の形態１に係る機器管理情報テーブルの形式を示す図。
【図３】実施の形態１に係るリクエスト形式を示す図。
【図４】実施の形態１に係るリプライ形式を示す図。
【図５】実施の形態１に係る機器の被制御のフローチャート図。
【図６】実施の形態１に係る通信システムのシーケンス図。
【図７】実施の形態１に係る機器の構成例を示す図。
【図８】実施の形態１に係るコンピュータの構成例を示す図。
【図９】実施の形態１に係るコンピュータのフローチャート図。
【図１０】実施の形態３に係る機器管理情報テーブルの形式を示す図。
【図１１】実施の形態３に係るサービスレベルテーブルの形式を示す図。
【図１２】実施の形態４に係るセッション数状態（１）を示す図。
【図１３】実施の形態４に係るセッション数状態（２）を示す図。
【図１４】実施の形態１に係る通信システムのシーケンス図。
【図１５】実施の形態１に係る通信システムのシーケンス図。
【図１６】実施の形態１〜４に係るコンピュータ及び機器のハードウェア構成例を示す図。
【符号の説明】
【００７１】
１  コンピュータ装置、２ａ  機器、２ｂ  機器、２ｃ  機器、２ｙ  機器、２ｚ  機器、３  ネットワーク、４ａ  ネットワークケーブル、４ｂ  ネットワークケーブル、１００  機器管理情報テーブル、１５０  制御結果ＤＢ、４０１  データ送受信機能部、４０２  データ解析機能部、４０３  コマンド実行機能部、４０４  Ｗａｉｔ機能部、５０１  データ受送信機能部、５０２  データ解析機能部、５０３  リプライ作成機能部、５０４  Ｗａｉｔ機能部、５０５  制御要求有無チェック機能部。
【図１】
2009251665.tif 000003
【図２】
2009251665.tif 000004
【図３】
2009251665.tif 000005
【図４】
2009251665.tif 000006
【図５】
2009251665.tif 000007
【図６】
2009251665.tif 000008
【図７】
2009251665.tif 000009
【図８】
2009251665.tif 000010
【図９】
2009251665.tif 000011
【図１０】
2009251665.tif 000012
【図１１】
2009251665.tif 000013
【図１２】
2009251665.tif 000014
【図１３】
2009251665.tif 000015
【図１４】
2009251665.tif 000016
【図１５】
2009251665.tif 000017
【図１６】
2009251665.tif 000018