JP2009251665A - 通信システム - Google Patents

通信システム Download PDF

Info

Publication number
JP2009251665A
JP2009251665A JP2008095319A JP2008095319A JP2009251665A JP 2009251665 A JP2009251665 A JP 2009251665A JP 2008095319 A JP2008095319 A JP 2008095319A JP 2008095319 A JP2008095319 A JP 2008095319A JP 2009251665 A JP2009251665 A JP 2009251665A
Authority
JP
Japan
Prior art keywords
request
reply
specified
waiting time
computer
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.)
Pending
Application number
JP2008095319A
Other languages
English (en)
Inventor
Hitoshi Kamasaka
等 釜坂
Akihisa Yasuda
晃久 安田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008095319A priority Critical patent/JP2009251665A/ja
Publication of JP2009251665A publication Critical patent/JP2009251665A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】機器からコンピュータに定期的に制御要求の有無を確認するリクエストを発行し、コンピュータがリプライで制御要求の有無を通知するシステムにおいて、規定されている同時セッション数以上の機器と通信する。
【解決手段】コンピュータ(1)は、機器(2)ごとに、リクエストの受信からリプライの発行までのリプライ発行待ち時間を指定し、リプライの受信から次のリクエストの発行までの次回リクエスト発行待ち時間を指定し、いずれかの機器からリクエストを受信した際に、制御要求がない場合は、当該機器のリプライ発行待ち時間の経過後に、次回リクエスト発行待ち時間を通知するリプライを送信し、各機器は、リプライの受信の際に、リプライで通知されている次回リクエスト発行待ち時間の経過後に、次のリクエストを送信する。これにより、機器ごとにセッションを維持する時間を調整し、同時セッション数以上の機器と通信することができる。
【選択図】図1

Description

本発明は、通信システムに関し、特に、複数の機器からコンピュータに対して、各機器に対する制御要求の有無をチェックするリクエストを発行し、そのリプライとしてコンピュータからのチェック結果を受信する通信を定期的に繰り返すことによって、コンピュータからの制御要求の有無を確認するシステムに関するものである。
本発明に関連する技術として、特許文献1に記載の技術がある。
この技術は、端末側からWWW(World Wide Web)サーバ側に対して、定期的に要求―応答型のプロトコルで情報同期システムを構築する際、ネットワークおよび端末側の負荷を抑えつつ、かつ、更新情報の反映を速やかに行うための技術を開示している。
具体的には、端末側からWWWサーバ側に対して同期のための要求を出し、WWWサーバでは、同要求のセッションを保持し、同期の必要が発生した場合は、その旨を当該セッションの応答で返す。
また、ある一定時間に同期の必要性が発生しなかった場合も、その旨の情報を当該セッションの応答で返すものである。
特開2002−033787号公報
特許文献1の技術は、ある一定時間の後、応答を返して、セッションを一時的に切断してはいるが、これは、WWWサーバのセッションのTIMEOUTに対応するためのものである。
このため、WWWサーバおよび、端末−WWWサーバ間のネットワーク上のセッション数は、常時、端末数に等しく、セッションの数の見地から考えると、セッション維持(セッションの張りっぱなし)しているのと同視できる。つまり、セッションが維持されていない時間は、セッションが維持されている時間に比べると瞬間的なものであり、実質的にセッションが常時維持されている状態とみなすことができる。
一般にWWWサーバや端末−WWWサーバ間のネットワーク上にあるルータやファイアウォールには、セッション維持できる数には制限がある。
例えば、WWWのプロトコルであるTCP/IPでは、ポート番号は最大65535までしか利用できない。またファイアウォールも機種により同時セッション数の最大値の規定がある。同時セッション数とは、同時に並存しているセッションの数である。
このため、特許文献1のセッション維持の方式では、端末もこれらの値の台数までしか拡張できないという課題がある。
本発明は、このような課題を解決することを主な目的とし、機器ごとにセッションを維持する時間を管理して、同時セッション数を規定されている最大数以上に増やすことを主な目的とする。
本発明に係る通信システムは、
各々がリクエストを繰り返し送信する複数の機器と、
前記複数の機器に接続され、各機器からのリクエストを受信するとともに、受信したリクエストに対してリプライを送信するコンピュータ装置とを備える通信システムであって、
前記コンピュータ装置は、
機器ごとに、リクエストの受信からリプライの送信までの待ち時間を指定リプライ送信待ち時間として指定するとともに、リプライの受信からリクエストの送信までの待ち時間を指定リクエスト送信待ち時間として指定し、
いずれかの機器からリクエストを受信した際に、リクエストの送信元の機器に対する指定リプライ送信待ち時間を待った後に、当該リクエストの送信元の機器に対する指定リクエスト送信待ち時間を通知するリプライを当該リクエストの送信元の機器に送信し、
各機器は、
前記コンピュータ装置からリプライを受信した際に、受信したリプライにおいて通知されている指定リクエスト送信待ち時間を待った後に、前記コンピュータ装置にリクエストを送信することを特徴とする。
本発明によれば、機器ごとに指定リプライ送信待ち時間及び指定リクエスト送信待ち時間を制御することにより、機器ごとにセッションを維持している時間を調整し、同時セッション数以上の台数の機器と通信することができる。
実施の形態1.
本実施の形態は、端末の負荷を抑えつつ、かつ、速やかにサーバから端末への同期情報の送信(制御コマンドの送信も同じ)を行うシステムにおける端末台数の制限値を、同時セッション数を制御し、最大数以上に増やすことを主な目的とした内容である。
実施の形態1を、システム構成図(図1)、機器管理情報テーブル形式(図2)、リクエスト形式(図3)、リプライ形式(図4)、機器の被制御のフローチャート(図5)、シーケンス図(図6)、機器の構成図(図7)、コンピュータの構成図(図8)およびコンピュータのフローチャート(図9)を用いて説明する。
図1のシステム構成図に示すとおり、本実施の形態に係る通信システムでは、コンピュータ装置(1)(以下、単にコンピュータともいう)と機器(2a、2b・・・2z)は、インターネット等のネットワーク(3)にネットワークケーブル(4a、4b)を通じて繋がっている。
本システム構成において、コンピュータ(1)が機器(2)を遠隔制御するシステムを対象とし、機器(2a、2b・・・)から、コンピュータ(1)に対して、定期的に制御要求の有無を確認するリクエストを発行し、そのリプライで得たコマンド(制御要求)を実行して、その結果を次の制御要求の有無確認のリクエストと共に送信するシステムを対象とする。
ここで、制御要求とは、リクエストの送信元の機器に処理を要求するコマンドであり、例えば、運転状態の取得、温度の計測等の処理を要求するコマンドである。
図2の機器管理情報テーブル形式に示すとおり、機器管理情報テーブル(100)は、機器ID(101)、次回リクエスト発行待ち時間(102)、リプライ発行待ち時間情報(103)、制御要求の有無情報(104)から構成される。
機器ID(101)は、コンピュータ(1)が制御を行う機器(2)を識別するための識別情報である。
次回リクエスト発行待ち時間(102)は、コンピュータが機器(2)へのリプライ(300)で指示する、リプライ(300)を受けてから次のリクエスト(200)を発行するまでの待ち時間である。
つまり、次回リクエスト発行待ち時間(102)は、リプライの受信からリクエストの送信までの待ち時間を示し、指定リクエスト送信待ち時間の例である。
リプライ発行待ち時間情報(103)は、コンピュータ(1)がリクエスト(200)を受け、制御要求の有無情報をチェックしながら、制御要求無しのリプライを発行するまでの時間である。
リプライ発行待ち時間情報(103)は、リクエストの受信からリプライの送信までの待ち時間を示し、指定リプライ送信待ち時間の例である。
制御要求の有無情報(104)は、当該機器への制御要求があるかどうかを示す情報である。制御要求は、コンピュータ(1)のユーザからの入力、コンピュータ(1)の上位装置からの入力、タイマ割り込み等により発生する。
なお、制御要求の有無情報は、コンピュータ(1)が機器(2)に遠隔制御したい場合に、具体的な制御コマンドを設定する。
次にデータ形式の説明を行う。
機器(2)からコンピュータ(1)に対して制御要求の有無を確認するリクエストの形式が図3「リクエスト形式」であり、リクエストに対するレスポンスとしてコンピュータ(1)から機器(2)に返されるのが図4「リプライ形式」である。
図3のリクエスト形式に示すとおり、リクエスト(200)は、機器ID(201)の情報と、制御実行結果(202)から構成される。
機器ID(201)の情報は、リクエストを発信した機器の識別情報である。
制御実行結果(202)は、コンピュータから受けた制御内容の実行結果を示す。
図4のリプライ形式に示すとおり、リプライ(300)は、機器ID(301)の情報と、制御要求の有無情報(302)及び次回リクエスト発行待ち時間情報(303)から構成される。
機器ID(301)の情報は、リプライに対応するリクエストを発行した機器の識別情報である。
なお、リクエストおよびリプライはそれぞれ以下の2つのケースがある。
1)リクエスト
リクエスト1:制御要求の有無を確認するリクエストのみの場合(制御実行結果(202)が空)。
リクエスト2:前回のリプライで受信した制御要求に従って制御した実行結果のデータを制御実行結果(202)に持つ。
2)リプライ
リプライ1:コンピュータ(1)からの制御要求がない場合(制御要求の有無情報(302)には、要求がない旨の情報のみ)で、次回リクエスト発行待ち時間情報(303)が設定されている。
リプライ2:コンピュータ(1)からの制御要求がある場合で、制御要求の有無情報(302)には、制御内容が設定されている(なお、次回リクエスト発行待ち時間情報(303)は設定されていない)。
次に、詳細の機器の遠隔制御の仕組みを、図5〜図9を用いて説明する。
図5は、機器の被制御のフローチャートを示す。
図6は、本実施の形態に係る通信システムにおけるシーケンス図である。
図7は、本実施の形態に係る機器の構成例を示す図である。
図8は、本実施の形態に係るコンピュータの構成例を示す図である。
図9は、コンピュータの動作例を示すフローチャートである。
先ず、図5の機器の被制御のフローチャートおよび図7の機器の構成図を用いて、機器の動作を示す。
ステップS1において、機器(2)は、リクエスト(200)を、コンピュータ(1)に対して、データ送受信機能部(401)を利用して送信する。この場合、制御実行結果(202)は空である。
ステップS2において、データ送受信機能部(401)は、コンピュータからのリプライ(300)の受信待ちとなり、コンピュータからリプライデータが送信された場合に、データ送受信機能部(401)はリプライデータを受信する。
次に、ステップS3において、リプライ(300)の制御要求有無情報(302)に、制御要求(コマンド)があるかどうかを、データ解析機能部(402)でチェックする。
制御情報がなければ、ステップS6に進む。
ステップS3でYESの場合、すなわちリプライ(300)に制御要求が含まれている場合は、ステップS4において、コマンド実行機能部(403)で制御要求の内容を実行する。
次に、ステップS5において、機器(2)は、制御要求の内容の実行結果を、リクエスト(200)の制御実行結果(202)に設定して、データ送受信機能部(401)にて、コンピュータ(1)に対して送信する。この後、ステップS2に進む。
他方、ステップS3でNOの場合、すなわちリプライ(300)に制御要求が含まれていない場合は、ステップS6において、リプライ(300)に記載された時間(次回リクエスト発行待ち時間情報(303)に記載された時間)の間、Wait機能部(404)で待つ(何もしない)。この後、ステップS1に進む。
次に、このときのコンピュータ(1)側の動きについてコンピュータ(1)の構成図(図8)およびコンピュータのフローチャート(図9)を用いて説明する。
ステップS1において、データ受送信機能部(501)で、機器(2)からのリクエストの受信状態になる。
ステップS2において、コンピュータ(1)は、データ受送信機能部(501)で、リクエスト(200)を機器(2)から受信する。
ステップS3において、データ解析機能部(502)を用いて、受信したリクエスト(200)に制御実行結果(202)が設定されているか否かを判断する。
設定されていれば、ステップS4に進む。入っていなければステップS5に進む。
ステップS3でYESの場合、すなわちリクエスト(200)に制御実行結果(202)が設定されている場合は、前回のリプライで制御要求があり、その制御結果が今回のリクエストで送信されてきた場合にあたり、ステップS4において、データ解析機能部(502)が、制御実行結果(202)を、前回の制御要求の有無情報(302)と対応づけて、制御結果DB(150)に格納する。
次に、ステップS5において、制御要求有無チェック機能部(505)が、同リクエスト(200)の機器ID(201)情報を検索キーとして、機器管理情報テーブル(100)の内容を確認し、制御要求の有無情報(104)に制御要求の内容が設定されているかをチェックする。
設定されていればステップS6に進み、設定されていなければステップS5−2に進む。
ステップS5でYESの場合、すなわち機器管理情報テーブル(100)の制御要求の有無情報(104)に制御要求の内容が設定されている場合は、ステップS6において、リプライ作成機能部(503)が、リプライ(300)のデータを作成する。この時、制御要求の有無情報(104)を制御要求の有無情報(302)に設定する。この場合、次回リクエスト発行待ち時間情報(303)は設定しない。
次に、ステップS7において、リプライとして、データ受送信機能部(501)を用いて、機器(2)に送信する。
他方、ステップS5でNOの場合、すなわち機器管理情報テーブル(100)の制御要求の有無情報(104)に制御要求の内容が設定されていない場合は、ステップS5−2において、しばらくの時間を、Wait機能部(504)で待つ。このとき、待ち時間を加算する。
次に、ステップS5−3において、制御要求有無チェック機能部(505)が、リプライ発行待ち時間情報(103)に示されるリプライ発行待ち時間の間待ったかを確認する。
リプライ発行待ち時間以上待っていない場合はステップS5に戻る。
リプライ発行待ち時間以上待っていた場合、リプライ作成機能部(503)で、リプライ(300)のデータを作成する。この時、加算していた待ち時間をクリアするとともに、次回リクエスト発行待ち時間情報(102)を次回リクエスト発行待ち時間情報(303)に設定する。
なお、制御要求の有無情報(302)には、何も設定しない。そして、ステップS7に進む。
図6のシーケンス図では、次回リクエスト発行待ち時間情報(102)およびリプライ発行待ち時間情報(103)が機器ごとに異なる場合を示している。
図6では、3台の機器(機器(00001)(2a)、機器(00002)(2b)、機器(00003)(2c))とコンピュータ(1)との間の通信を示している。
また、各機器(2)からコンピュータ(1)に向かう矢印はリクエストを示し、コンピュータ(1)から各機器(2)に向かう矢印はリプライを示す。
各機器へのリプライにTa、Tb、Tcが示されているが、これは、各機器の次回リクエスト発行待ち時間である。つまり、リプライにおいて各機器に次回リクエスト発行待ち時間を通知していることを表している。
なお、図6のシーケンス図では、制御要求を通知するリプライ、制御結果を通知するリクエストは示されていない。これらについては、図14を参照して後述する。
また、このリクエスト/リプライは、HTTP又はHTTPSプロトコルで実装されてもよい。
Taは、機器(00001)(2a)の次回リクエスト発行待ち時間を示す。
Tbは、機器(00002)(2b)の次回リクエスト発行待ち時間を示す。
Tcは、機器(00003)(2c)の次回リクエスト発行待ち時間を示す。
各機器(2)は、指定された次回リクエスト発行待ち時間の経過を待ってからリクエストを送信している。
taは、機器(00001)(2a)からのリクエストに対してコンピュータ(1)でリプライの発行を待つリプライ発行待ち時間を示す。
tbは、機器(00002)(2b)からのリクエストに対してコンピュータ(1)でリプライの発行を待つリプライ発行待ち時間を示す。
tcは、機器(00003)(2c)からのリクエストに対してコンピュータ(1)でリプライの発行を待つリプライ発行待ち時間を示す。
コンピュータ(1)は、リクエストの受信からリプライ発行待ち時間の経過を待ってから各機器(2)にリプライを送信している。
なお、ta、tb、tcは、リクエストの矢印とリプライの矢印の間の時間である。
リプライ発行待ち時間と次回リクエスト発行待ち時間とは、逆の関係になっており、機器(00001)(2a)は3つの機器(2)のうち最長のリプライ発行待ち時間taとなっているが、次回リクエスト発行待ち時間Taは3つの機器(2)のうち最短である。
また、機器(00003)(2c)は最短のリプライ発行待ち時間tcであるが、最長の次回リクエスト発行待ち時間Tcとなっている。
また、コンピュータ及び各機器について示している縦長の帯状体はセッションの維持時間を示している。
各機器(2)からコンピュータ(1)へのリクエストの送信のためにセッションを確立し、コンピュータ(1)から各機器(2)へのリプライの送信が完了次第セッションを切断している。
つまり、セッションの維持時間は、リプライ発行待ち時間に依存し、図6では、3つの機器(2)のうち、機器(00001)(2a)は最長のセッション維持時間となっており、機器(00003)(2c)が最短のセッション維持時間となっており、機器(00002)(2b)が中間のセッション維持時間となっている。
また、図6の例では、機器(00001)(2a)がほぼ常時セッションを維持している一方、機器(00002)(2b)と機器(00003)(2c)がほぼ交互にセッションを維持しており、同時にセッションが並存している同時セッション数は最大で2である(機器(00002)(2b)と機器(00003)(2c)が同時にセッションを張っている時間はないため)。
このように、図6の例では、コンピュータ(1)は、同時セッション数を2に抑えながら、3台の機器と通信を行うことが可能である。
次に、コンピュータ(1)からのリプライにおいて制御要求を通知し、機器(2)からのリクエストにおいて制御結果を通知する例を図14及び図15に示す。
図14では、コンピュータ(1)と機器(00001)(2a)との間で制御要求及び制御結果を送受信する例を示す。図15では、コンピュータ(1)と機器(00003)(2c)との間で制御要求及び制御結果を送受信する例を示している。
なお、コンピュータ(1)と機器(00002)(2b)との間は、図6と同様にリクエストとリプライが繰り返し送受信されているが、作図上の都合から割愛している。
コンピュータ(1)が、機器(00001)(2a)からのリクエスト(200)を受けて、リプライ発行待ち時間情報(103)にあるta時間の間、リプライ(300)の発行を待っている間に、制御要求(1)を発行すべきイベントが発生したとする。
このときの待ち時間ta’(<ta)とすると、即時に(リプライ発行待ち時間taを待たずに)、リプライ発行の待機状態を解き、その制御要求(1)をリプライ(300)の制御要求の有無情報(302)に設定して、機器(2a)に返答する。
機器(00001)(2a)も、コンピュータ(1)からのリプライ(300)を受信すると、制御要求(1)にて指示されている処理を実行し、制御結果(1)(202)を設定したリクエスト(200)を送信する。
また、制御結果(1)の受信からta’’(<ta)の経過時に次の制御要求(2)を発行すべきイベントが発生すると、コンピュータ(1)は制御要求(1)の場合と同様に、即時に制御要求(2)をリプライ(300)として機器(2a)に返答する。
機器(2a)も、制御要求(1)の場合と同様に、制御要求(2)に対応する処理を実行し、制御結果(2)を設定したリクエスト(200)を送信する。
そして、コンピュータ(1)は、次の制御要求がないので、次回リクエスト発行待ち時間Taを通知するリプライを送信する。
また、次回リクエスト発行待ち時間によっては、コンピュータ(1)が上記制御要求を受けた時点(制御要求を発行すべきイベントが発生した時点)では、機器(2)からのリクエスト(200)が届いていない場合がある(例えば、図15の機器(00003)(2c)に対する制御要求(1)の場合)。
その場合は、次回のリクエスト(200)が届いた時点での制御要求のチェックにて、制御要求を確認し、その制御要求をリプライ(300)の制御要求の有無情報(302)に設定して、(リプライ発行待ち時間を待たずに)機器(00003)(2c)に返答する。
また、この場合も同様に、機器(00003)(2c)は、コンピュータ(1)からのリプライ(300)を受信すると、制御要求にて指示されている処理を実行し、制御実行結果(202)を設定したリクエスト(200)を送信する。
そして、コンピュータ(1)は、次の制御要求がないので、次回リクエスト発行待ち時間Tcを通知するリプライを送信する。
以上のように、本実施の形態によれば、機器ごとにリプライ発行待ち時間及び次回リクエスト発行待ち時間を制御することにより、機器ごとにセッションを維持している時間を調整し、これにより同時セッション数を抑えながら、同時セッション数以上の台数の機器と通信することができる。
本実施の形態では、
機器からコンピュータに対して、当該機器に対しての制御要求の有無をチェックするリクエストを発行、そのリプライでそのチェック結果を受信する通信を定期的に繰り返すことによって、コンピュータからの制御要求の有無を確認するシステムにおいて、
そのリプライに含まれた、「次回リクエスト発行待ち時間情報」(機器が次回の上記リクエストを発行するまでの時間の情報)に基づき、次のリクエストの発行タイミングを制御する機器を持つ同時セッション数制御方式について説明した。
また、本実施の形態では、
機器からコンピュータに対して、当該機器に対しての制御要求の有無をチェックするリクエストを発行、そのリプライでそのチェック結果を受信する通信を定期的に繰り返すことによって、コンピュータからの制御要求の有無を確認するシステムにおいて、
コンピュータは、機器ごとに、当該機器への制御要求の有無を示す「制御情報の有無情報」と同リクエストを受けてからリプライを返すまでの「リプライ発行待ち時間情報」と、機器にリプライを受けてから次のリクエストを出すまでの「次回リクエスト発行待ち時間情報」を持ち、
機器からの前述のリクエストを受けた際、「リプライ発行待ち時間情報」に基づく時間の間リプライを返すタイミングを延長し、かつ、そのリプライを返す際には、「次回リクエスト発行待ち時間情報」を載せる処理を行うコンピュータを持つ同時セッション数制御方式について説明した。
また、本実施の形態では、機器とコンピュータ間の通信をHTTPあるいはHTTPSプロトコルで行う同時セッション数制御方式について説明した。
実施の形態2.
実施の形態1では、機器管理情報テーブル(100)に次回リクエスト発行待ち時間情報(102)とリプライ発行待ち時間情報(103)の情報を含んでいたが、片方一方のみでもよい。
例えば、別途定めた、最大MAX時間(セッションのタイムアウト時間)をTとした場合、次回リクエスト発行待ち時間情報をTxとした場合、リプライ発行待ち時間情報をT−Txで求めてもよい
同様に、リプライ発行待ち時間情報をtxとした場合、次回リクエスト発行待ち時間情報をT−txで求めてもよい。
実施の形態3.
実施の形態1では、機器管理情報テーブル(100)に次回リクエスト発行待ち時間情報(102)とリプライ発行待ち時間情報(103)の情報を含んでいたが、これらの情報をサービスレベルテーブル形式(120)とに分けて管理をしてもよい。
例えば、各機器にサービスレベル(優先度)を設定し、機器管理情報テーブル(100−1)は、図10に示すように、次回リクエスト発行待ち時間情報(102)とリプライ発行待ち時間情報(103)の代わりにサービスレベル(105)情報をもち、図11に示すサービスレベルテーブル(120)を参照することにより、次回リクエスト発行待ち時間情報(122)とリプライ発行待ち時間情報(123)を得てもよい。
本実施の形態に示すように、機器ごとにサービスレベルを設定し、サービスレベルごとに次回リクエスト発行待ち時間情報及びリプライ発行待ち時間情報を指定する場合も、実施の形態1のように機器ごとに次回リクエスト発行待ち時間情報及びリプライ発行待ち時間情報を指定する場合と同じ効果が得られる。
以上、本実施の形態では、
機器ごとのサービスレベルを定義し、サービスレベルに従って、前述の「次回リクエスト発行待ち時間情報」あるいは「リプライ発行待ち時間情報」を設定する同時セッション数制御方式について説明した。
実施の形態4.
実施の形態1から3では、次回リクエスト発行待ち時間情報(102、122)とリプライ発行待ち時間情報(103、123)は固定であったが、以下の方式により、動的に変更させてもよい。
機器台数<同時セッション最大数の場合は、すべてのサービスレベルの次回リクエスト発行待ち時間情報(sec)を0にする。
ここで、同時セッション最大数とは、同時に並存できるセッションの許容数(同時セッション許容数)である。
一方、機器台数≧同時セッション最大数(X)の場合は、同時に並存しているセッション数が同時セッション最大数(X)の範囲内となるように、機器ごとのリプライ発行待ち時間情報と次回リクエスト発行待ち時間情報を決定する。
具体的には、以下の方法によりリプライ発行待ち時間情報と次回リクエスト発行待ち時間情報を決定する。
サービスレベルの段階をN種類とし、セッションのタイムアウトをTとした場合、サービスレベル1,2・・・Nにおいて、サービスレベルiの次回リクエスト発行待ち時間情報(122)とリプライ発行待ち時間情報(123)はそれぞれ以下とする。
リプライ発行待ち時間情報(123):(T/N)*(N−i+1)
次回リクエスト発行待ち時間情報(122):T−(T/N)*(N−i+1)
このようにした場合、例えば、最も高いサービスレベル1では、リプライ発行待ち時間情報はTで、次回リクエスト発行待ち時間情報は0である。
最も低いサービスレベルNでは、リプライ発行待ち時間情報はT/Nで、次回リクエスト発行待ち時間情報はT−(T/N)である。
なお、すべてのサービスレベルをNとすることよって、機器台数は同時セッション最大数*N台にできる(すべてのサービスレベルが1の場合は、機器台数=同時セッション最大数)。
更に、サービスレベル1,2・・・Nとなる機器台数をそれぞれn1,n2・・・nNとした場合、Σ((T/N)*(N−i+1)*ni)=TX となる範囲で、niを調整することにより、サポート可能な機器台数を増やすことができる。
また、上記では、サービスレベル毎の機器台数(n)を調整することで、サポート可能な機器台数を示すことを示したが、サービスレベル毎のリプライ発行待ち時間情報(123)および次回リクエスト発行待ち時間情報(122)を変更すること(つまり、Nを変更すること)によっても、サポート可能な機器台数を示すことが可能である。
図12セッション数状態(1)および図13セッション数状態(2)で上記実装の例を示す。
図12のセッション数状態(1)では、同時セッション最大数は3であり、機器台数は3台である。
そして、機器(2)からの要求に対応したセッション処理(セッション維持時間)を701−1、701−2、701−3とする。
このときの各機器のサービスレベルは1とする(次回リクエスト発行待ち時間情報を0とする)。
この場合は、同時セッション数は、セッション数管理テーブル(710−1)に示すとおり常時3である。
セッション数状態(2)では、同時セッション最大数は2であり、機器台数は3台である。
機器(2)からの要求に対応したセッション処理(セッション維持時間)を701−1’、701−2’、701−3’とする。
このときの各機器のサービスレベルは3とする(次回リクエスト発行待ち時間情報をtcとする)。この場合は、セッション数は、セッション数管理テーブル(710−1)に示すとおり2〜0である。
しかし、701−1’’で、次回リクエスト発行待ち時間情報(122)をtcからtc’にすることにより、次回からは、セッション数は、セッション数管理テーブル(710−1)に示すとおり常時1である。
このように、サービスレベルの変更や、システムのセッション数に応じた次回リクエスト発行待ち時間情報(122)の変更により、システム全体のセッション数を制御可能となる。
以上、本実施の形態では、コンピュータが利用している同時セッション数を管理し、各機器の制御要求の有無チェックコマンドの発行が重ならないように、「次回リクエスト発行待ち時間情報」あるいは「リプライ発行待ち時間情報」を動的に設定する同時セッション数制御方式について説明した。
また、本実施の形態では、各機器に対して1〜N(N≧2)の優先度のうちいずれかの優先度が設定されている場合に、
優先度iの機器に対するリプライ発行待ち時間情報を(T/N)*(N−i+1)とし、次回リクエスト発行待ち時間情報をT−(T/N)*(N−i+1)とし、優先度iの機器の数をnとし、同時セッション最大数をXとした場合に、
Σ((T/N)*(N−i+1)*ni)=TX となる範囲で、n又はNの値を調整して、同時に並存しているセッション数が同時セッション最大数(X)の範囲内となるように、機器ごとのリプライ発行待ち時間情報及び次回リクエスト発行待ち時間情報を決定する同時セッション数制御方式について説明した。
最後に、実施の形態1〜4に示したコンピュータ(1)及び各機器(2)のハードウェア構成例について説明する。
図16は、実施の形態1〜4に示すコンピュータ(1)及び各機器(2)のハードウェア資源の一例を示す図である。
なお、図16の構成は、あくまでもコンピュータ(1)及び各機器(2)のハードウェア構成の一例を示すものであり、コンピュータ(1)及び各機器(2)のハードウェア構成は図16に記載の構成に限らず、他の構成であってもよい。
図16において、コンピュータ(1)及び各機器(2)は、プログラムを実行するCPU911(中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
通信ボード915は、図1に示すように、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
コンピュータ(1)及び各機器(2)の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
上記プログラム群923には、実施の形態1〜4の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、実施の形態1〜4の説明において、「〜の判断」、「〜の収集」、「〜の解析」、「〜の計算」、「〜の比較」、「〜の評価」、「〜の作成」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜4で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、実施の形態1〜4の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1〜4の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜4の「〜部」の手順や方法をコンピュータに実行させるものである。
このように、実施の形態1〜4に示すコンピュータ(1)及び各機器(2)は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
実施の形態1〜4に係る通信システムの構成例を示す図。 実施の形態1に係る機器管理情報テーブルの形式を示す図。 実施の形態1に係るリクエスト形式を示す図。 実施の形態1に係るリプライ形式を示す図。 実施の形態1に係る機器の被制御のフローチャート図。 実施の形態1に係る通信システムのシーケンス図。 実施の形態1に係る機器の構成例を示す図。 実施の形態1に係るコンピュータの構成例を示す図。 実施の形態1に係るコンピュータのフローチャート図。 実施の形態3に係る機器管理情報テーブルの形式を示す図。 実施の形態3に係るサービスレベルテーブルの形式を示す図。 実施の形態4に係るセッション数状態(1)を示す図。 実施の形態4に係るセッション数状態(2)を示す図。 実施の形態1に係る通信システムのシーケンス図。 実施の形態1に係る通信システムのシーケンス図。 実施の形態1〜4に係るコンピュータ及び機器のハードウェア構成例を示す図。
符号の説明
1 コンピュータ装置、2a 機器、2b 機器、2c 機器、2y 機器、2z 機器、3 ネットワーク、4a ネットワークケーブル、4b ネットワークケーブル、100 機器管理情報テーブル、150 制御結果DB、401 データ送受信機能部、402 データ解析機能部、403 コマンド実行機能部、404 Wait機能部、501 データ受送信機能部、502 データ解析機能部、503 リプライ作成機能部、504 Wait機能部、505 制御要求有無チェック機能部。

Claims (9)

  1. 各々がリクエストを繰り返し送信する複数の機器と、
    前記複数の機器に接続され、各機器からのリクエストを受信するとともに、受信したリクエストに対してリプライを送信するコンピュータ装置とを備える通信システムであって、
    前記コンピュータ装置は、
    機器ごとに、リクエストの受信からリプライの送信までの待ち時間を指定リプライ送信待ち時間として指定するとともに、リプライの受信からリクエストの送信までの待ち時間を指定リクエスト送信待ち時間として指定し、
    いずれかの機器からリクエストを受信した際に、リクエストの送信元の機器に対する指定リプライ送信待ち時間を待った後に、当該リクエストの送信元の機器に対する指定リクエスト送信待ち時間を通知するリプライを当該リクエストの送信元の機器に送信し、
    各機器は、
    前記コンピュータ装置からリプライを受信した際に、受信したリプライにおいて通知されている指定リクエスト送信待ち時間を待った後に、前記コンピュータ装置にリクエストを送信することを特徴とする通信システム。
  2. 前記コンピュータ装置は、
    各機器に処理を要求する場合があり、
    リクエストの送信元の機器に処理を要求する場合に、指定リクエスト送信待ち時間を通知せずに要求する処理の内容を通知するリプライを生成し、指定リプライ送信待ち時間の経過を待たずに、生成したリプライをリクエストの送信元の機器に送信し、
    各機器は、
    前記コンピュータ装置から受信したリプライにおいて処理が要求されている場合に、要求されている処理を実行するとともに、処理の実行結果を通知するリクエストを生成し、リプライの受信からの経過時間にかかわらず、生成したリクエストを前記コンピュータ装置に送信することを特徴とする請求項1に記載の通信システム。
  3. 前記コンピュータ装置は、
    いずれかの機器からリクエストを受信した後に指定リプライ送信待ち時間を経過する前にリクエストの送信元の機器に処理を要求するイベントが生じた場合は、当該リクエストに対するリプライとして、指定リクエスト送信待ち時間を通知せずに要求する処理の内容を通知するリプライを生成し、指定リプライ送信待ち時間の経過を待たずに、生成したリプライをリクエストの送信元の機器に送信し、
    いずれかの機器に処理を要求するイベントが生じた際には当該機器からリクエストを受信していない場合は、当該機器からのリクエストの受信を待ち、当該機器からリクエストを受信した際に、当該リクエストに対するリプライとして、指定リクエスト送信待ち時間を通知せずに要求する処理の内容を通知するリプライを生成し、指定リプライ送信待ち時間の経過を待たずに、生成したリプライをリクエストの送信元の機器に送信することを特徴とする請求項2に記載の通信システム。
  4. 前記コンピュータ装置と各機器は、
    機器から前記コンピュータ装置へのリクエストの送信のためにセッションを確立し、
    前記コンピュータ装置から機器へのリプライの送信が完了次第セッションを切断することを特徴とする請求項1〜3のいずれかに記載の通信システム。
  5. 前記通信システムは、
    前記コンピュータ装置と機器との間に確立されるセッションについてタイムアウト時間が規定されている通信システムであり、
    前記コンピュータ装置は、
    機器ごとに指定リプライ送信待ち時間又は指定リクエスト送信待ち時間を示すテーブルを備え、
    機器ごとに、セッションのタイムアウト時間から指定リプライ送信待ち時間又は指定リクエスト送信待ち時間を差し引いた時間を指定リクエスト送信待ち時間又は指定リプライ送信待ち時間として指定することを特徴とする請求項1〜4のいずれかに記載の通信システム。
  6. 前記コンピュータ装置は、
    各機器に対して優先度を設定するとともに、各機器の優先度に基づいて、機器ごとに指定リプライ送信待ち時間及び指定リクエスト送信待ち時間を指定することを特徴とする請求項1〜5のいずれかに記載の通信システム。
  7. 前記通信システムは、
    前記コンピュータ装置と機器との間に確立されるセッションについて、同時に並存できる許容数が同時セッション許容数として規定されている通信システムであり、
    前記コンピュータ装置と各機器は、
    機器から前記コンピュータ装置へのリクエストの送信のためにセッションを確立し、
    前記コンピュータ装置から機器へのリプライの送信が完了次第セッションを切断し、
    前記コンピュータ装置は、
    前記同時セッション許容数以上の機器と接続されている場合に、同時に並存しているセッション数が前記同時セッション許容数の範囲内となるように、機器ごとの指定リプライ送信待ち時間及び指定リクエスト送信待ち時間を指定することを特徴とする請求項1〜6のいずれかに記載の通信システム。
  8. 前記通信システムは、
    前記コンピュータ装置と機器との間に確立されるセッションについてタイムアウト時間Tが規定されている通信システムであり、
    前記コンピュータ装置は、
    各機器に対して1〜N(N≧2)の優先度のうちいずれかの優先度を設定し、
    優先度iの機器に対する指定リプライ送信待ち時間を(T/N)*(N−i+1)とし、指定リクエスト送信待ち時間をT−(T/N)*(N−i+1)とし、優先度iの機器の数をnとし、前記同時セッション許容数をXとした場合に、
    Σ((T/N)*(N−i+1)*ni)=TX となる範囲で、n又はNの値を調整して、同時に並存しているセッション数が前記同時セッション許容数の範囲内となるように、機器ごとの指定リプライ送信待ち時間及び指定リクエスト送信待ち時間を指定することを特徴とする請求項7に記載の通信システム。
  9. 前記コンピュータ装置は、
    機器ごとの指定リプライ送信待ち時間及び指定リクエスト送信待ち時間を動的に指定することを特徴とする請求項7又は8に記載の通信システム。
JP2008095319A 2008-04-01 2008-04-01 通信システム Pending JP2009251665A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008095319A JP2009251665A (ja) 2008-04-01 2008-04-01 通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008095319A JP2009251665A (ja) 2008-04-01 2008-04-01 通信システム

Publications (1)

Publication Number Publication Date
JP2009251665A true JP2009251665A (ja) 2009-10-29

Family

ID=41312360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008095319A Pending JP2009251665A (ja) 2008-04-01 2008-04-01 通信システム

Country Status (1)

Country Link
JP (1) JP2009251665A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103327060A (zh) * 2012-03-19 2013-09-25 富士施乐株式会社 信息处理装置和信息处理方法
US9665417B2 (en) 2014-05-13 2017-05-30 International Business Machines Corporation Device and method for controlling remote procedure call

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103327060A (zh) * 2012-03-19 2013-09-25 富士施乐株式会社 信息处理装置和信息处理方法
JP2013196347A (ja) * 2012-03-19 2013-09-30 Fuji Xerox Co Ltd 情報処理装置及び情報処理プログラム
CN103327060B (zh) * 2012-03-19 2018-09-14 富士施乐株式会社 信息处理装置和信息处理方法
US9665417B2 (en) 2014-05-13 2017-05-30 International Business Machines Corporation Device and method for controlling remote procedure call
US9894183B2 (en) 2014-05-13 2018-02-13 International Business Machines Corporation Device and method for controlling remote procedure call
US10084887B2 (en) 2014-05-13 2018-09-25 International Business Machines Corporation Device and method for controlling remote procedure call

Similar Documents

Publication Publication Date Title
JP5885410B2 (ja) プルプリントシステム、プリントサーバおよびその制御方法、並びにプログラム
US10802779B2 (en) Print processing system and method having print server converts document data into print data and to store the print data into plural storage servers for printing at image processing apparatus
JP6531450B2 (ja) 画像形成装置、画像処理システム及び方法
US9871879B2 (en) Methods and apparatuses for providing a desired portion of a data object document
US20140092418A1 (en) Image forming device, management device, information processing system, and storage medium
US7908346B2 (en) Processing a plurality of requests simultaneously in a web application
US9658805B2 (en) Information processing apparatus, system, storage medium, and information processing method for establishing communication path
JP2011039682A (ja) 情報処理システム及びその制御方法、並びにプログラム
JP6140937B2 (ja) ネットワークデバイス、プログラム、システムおよび方法
KR20100103594A (ko) 메시징 네트워크에서의 메시지 전달에 관한 방법 및 시스템
JP2009146005A (ja) 情報処理装置および情報処理方法
JP2012190400A (ja) 情報処理装置、情報処理装置の制御方法、プログラム
US10235112B2 (en) Hot folder creation and management
US9807259B2 (en) Method for providing service through solution server in security environment, and apparatus and system for performing the same
US20070022203A1 (en) Method and apparatus for providing proxied JMX interfaces to highly available J2EE components
US9405490B2 (en) Electronic apparatus, management server, print system and method of controlling printing including determining a plurality of storages to store print data
JP6176161B2 (ja) 印刷制御装置及びプログラム
JP2009251665A (ja) 通信システム
WO2009064126A2 (en) Method for load balancing of server and apparatus for thereof
JP2015005082A (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
JP2007335960A (ja) 情報提供装置及び情報提供方法及びプログラム
JP2014142735A (ja) 印刷システム、方法、及びプログラム
US9467501B2 (en) Relay server system
JP2010211523A (ja) 機器管理装置、機器管理システム、機器管理方法、機器管理プログラム、及びそのプログラムを記録した記録媒体
JP2008197919A (ja) 処理形態切替装置