(57)【要約】【課題】  最初のリクエストの処理に時間がかかっても、再要求に伴う無用な負荷を掛けない事を目的とする。【解決手段】  端末より受信したリクエスト毎にユニークに付される識別情報、及び、リクエスト内容を示す本体情報を記憶する記憶部と、端末より受信したリクエストの本体情報と記憶部に記憶されているリクエストの本体情報とが一致しない場合、該リクエストに対応する処理を実行し、記憶部に記憶されている識別情報及び本体情報を、受信したリクエストの識別情報及び本体情報に更新するとともに、端末より受信したリクエストの本体情報と記憶部に記憶されているリクエストの本体情報とが一致する場合、該受信したリクエストに対応する処理を実行せず、記憶部に記憶されている識別情報を更新し、該処理が完了すると、記憶部に記憶されている識別情報を付した処理結果を送信する処理を行うコマンド処理部とを有する。【選択図】  図３
2012203750.tif 000002
【特許請求の範囲】
【請求項１】
上位装置より受信した要求に基づき、対象サーバシステム内に配置された各種機器の状態を収集する処理を行い、該処理の結果を該要求に対する応答として該上位装置へ送信するサーバ管理装置であって、
前記上位装置との通信を行なう通信制御部と、
前記通信制御部が前記上位装置より要求を受信した場合、該要求の処理内容が、先に受信した要求の処理内容と同じであり、且つ、前記上位装置へ先に受信した要求の処理に対する応答を送信していない場合、後に受信した要求に対応する処理を開始せず、且つ、先に受信した処理を継続する処理部と、
を有するサーバ管理装置。
【請求項２】
前記処理部は、
前記先に受信した要求に基づく処理の結果を、前記後に受信した要求に基づく処理の結果として、前記上位装置へ送信することを特徴とする請求項１に記載のサーバ管理装置。
【請求項３】
上位装置から受信した要求の処理内容を記憶する記憶部を有し、
前記処理部は、
前記通信制御部が要求を受信した場合、
該要求の処理内容が、前記記憶部に記憶されている処理内容と異なれば、前記記憶部に、受信した要求の処理内容を記憶すると共に、
前記記憶部に記憶されている処理内容と同じであれば、該要求の処理内容が、先に受信した要求の処理内容と同じであると判定する
事を特徴とする請求項１または２に記載のサーバ管理装置。
【請求項４】
上位装置より受信した要求に基づき、対象サーバシステム内に配置された各種機器の状態を収集する処理を行い、該処理の結果を該要求に対する応答として該上位装置へ送信するサーバ管理装置が行なうサーバ管理方法であって、
前記通信制御部が前記上位装置より要求を受信した場合、該要求の処理内容が、先に受信した要求の処理内容と同じであり、且つ、上位装置へ先に受信した要求の処理に対する応答を送信していない場合、後に受信した要求に対応する処理を開始せず、且つ、先に受信した処理を継続し、
該先に受信した要求の処理の結果を前記上位装置へ送信する
ことを特徴とするサーバ管理方法。
【請求項５】
前記サーバ管理装置は、更に、前記先に受信した要求に基づく処理の結果を、前記後に受信した要求に基づく処理の結果として、前記上位装置へ送信することを特徴とする請求項４に記載のサーバ管理方法。
【請求項６】
前記サーバ管理装置は、前記上位装置から受信した要求の処理内容を記憶する記憶部を有しており、
上位装置から要求を受信した場合、
該要求の処理内容が、前記記憶部に記憶されている処理内容と異なれば、前記記憶部に、受信した要求の処理内容を記憶すると共に、
前記記憶部に記憶されている処理内容と同じであれば、該要求の処理内容が、先に受信した要求の処理内容と同じであると判定する
事を特徴とする請求項４または５に記載のサーバ管理方法。
【請求項７】
上位装置より受信した要求に基づき、対象サーバシステム内に配置された各種機器の状態を収集する処理を行い、該処理の結果を該要求に対する応答として該上位装置へ送信するサーバ管理装置にサーバ管理処理を実行させるサーバ管理プログラムであって、
前記サーバ管理装置に、
前記通信制御部が前記上位装置より要求を受信した場合、該要求の処理内容が、先に受信した要求の処理内容と同じであり、且つ、上位装置へ先に受信した要求の処理に対する応答を送信していない場合、後に受信した要求に対応する処理を開始せず、且つ、先に受信した処理を継続させ、
該先に受信した要求の処理の結果を、該要求に対する応答として前記上位装置へ送信させる
ことを特徴とするサーバ管理プログラム。
【請求項８】
前記サーバ管理装置に、更に、前記先に受信した要求に基づく処理の結果を、前記後に受信した要求に基づく処理の結果として、上位装置へ送信させることを特徴とする請求項７に記載のサーバ管理プログラム。
【請求項９】
前記サーバ管理装置は、前記上位装置から受信した要求の処理内容を記憶する記憶部を有しており、
前記サーバ管理に、前記上位装置から要求を受信した場合、
該要求の処理内容が、前記記憶部に記憶されている処理内容と異なれば、前記記憶部に、受信した要求の処理内容を記憶すると共に、
前記記憶部に記憶されている処理内容と同じであれば、該要求の処理内容が、先に受信した要求の処理内容と同じであると判定する
処理を実行させる事を特徴とする請求項７または８に記載のサーバ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、サーバ管理装置、サーバ管理方法、及び、サーバ管理プログラムに関する。
【背景技術】
【０００２】
サーバシステムでは、１つのサーバラック内に、複数のブレードサーバなどのシステムボードや、各々のシステムボードがアクセスするハードディスク（ＨＤＤ）などのＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）装置が設けられている。これに加え、サーバラック内の各機器に電源を供給するための電源装置、サーバラック内の換気を行なうためのファンなどが設けられている。
（以下の説明では、上記した、サーバラック内に収容されているシステムボード、Ｉ／Ｏ装置、電源装置、ファンを総称して、「機器」として説明する。）
このようなサーバシステムには、これらの機器の状態を確認するために、温度センサなどの各種センサが取り付けられている。
【０００３】
そして、サーバラック内に、監視者端末などの上位装置からの指示に応じて、各種センサから検出値を収集するサーバ管理装置が設けられる。
【０００４】
このサーバ管理装置は、Ｉ２Ｃ（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などのバスによって、サーバラック内の各機器と通信可能である。サーバ管理装置は、通常の通信を行なうネットワークとは別の監視者向けのネットワークを経由して監視者端末からの指示を受信すると、Ｉ２Ｃ１０６を経由して、該指示に対応する各機器へ、センサの検出値の取得要求を行う。この要求を受けた各機器は、対応するセンサから検出値を取得し、取得した検出値をＩ２Ｃ１０６を経由してサーバ管理装置へする。そして、サーバ管理装置が各機器から送信された検出値を受信することで、サーバ管理装置による検出値の収集が行われる。サーバ管理装置は、収集した検出値を監視者向けの専用ネットワークを経由して、要求を行なった監視者端末へ収集した検出値を該要求の応答として送信する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１７８９５９号公報
【特許文献２】特開２００９−０９８９８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記の様なサーバシステムでは、通信エラーなどにより、上位装置からの要求をサーバ管理装置が受信できなかった場合を考慮し、上位装置が、サーバ管理装置から応答が所定時間以上無い場合に、再度同じ要求（再要求／リトライ）を行なっている事が多い。
【０００７】
このため、サーバ管理装置が上位装置からの要求を受信し、その要求に基づく処理を開始したものの、その要求に対する処理の時間が長引き、所定時間経過してしまった場合にも、上位装置は、再要求を送信してしまう。サーバ管理装置は、再要求を受信した場合、前の処理を破棄した後、再度その処理を開始する場合がある。
【０００８】
しかしながら、そもそも、処理に時間がかかる処理を再度開始するだけなので、この処理に対しても、その後、上位装置より、再処理の要求が届き、この処理も破棄されてしまうということを繰り返す。その結果、上位装置からの要求に対する応答がいつまでも行われないということになってしまう。
【０００９】
本技術は、この点に鑑み、前に受信した要求に対する処理結果を有効に活用することで、サーバからの再要求が行われるほど、応答が返せないような長時間の処理を行なっている場合にも、サーバ管理装置から上位装置への応答を行なうことが可能なサーバ管理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本技術は、上記課題に鑑み、上位装置より要求を受信した場合、要求の処理内容が、先に受信した要求の処理内容と同じであり、且つ、上位装置へ先に受信した要求の処理に対する応答を送信していない場合、後に受信した要求に対応する処理を開始せず、且つ、先に受信した処理を継続すると共に、先に受信した要求の処理の結果を、要求に対する応答として上位装置へ送信する。
【発明の効果】
【００１１】
本技術は、前に受信した要求に対する処理結果を破棄せず、有効に利用して、応答することで、サーバからの再要求が行われるほど、応答が返せないような長時間の処理を行なっている場合にも、サーバ管理装置から上位装置への応答効率的に行なうサーバ管理装置を提供することが、可能となる。
【図面の簡単な説明】
【００１２】
【図１】本実施の形態のサーバシステム１の概要図。
【図２】本実施の形態のサーバ管理装置１０５のハードウエアの概要図。
【図３】本実施の形態のサーバ管理装置１０５の機能ブロック図。
【図４】監視者端末４ａ、４ｂから送信されるリクエスト１０５９０の例を示した図。
【図５】サーバ管理装置１０５が監視者端末４ａ、４ｂへ送信するレスポンス１０５９１の例について示した図。
【図６】本実施の形態のシーケンスＩＤ管理テーブル１０６０１を示した図。
【図７】本実施の形態のセッション管理テーブル１０６１２を示した図。
【図８】本実施の形態の監視者端末４ａのハードウエア概念図。
【図９】本実施の形態の監視者端末４ａの機能ブロック図。
【図１０】本実施の形態のコマンド処理部１０６０ａの処理フローチャート。
【図１１】本実施の形態のシーケンスＩＤ管理テーブル１０６０１を示した図。
【図１２】本実施の形態のシーケンスＩＤ管理テーブル１０６０１を示した図。
【図１３】本実施の形態のリクエスト１０５９０を示した図。
【図１４】本実施の形態のコマンド処理部１０６０ａからセッション管理部１０６１ａへのリクエスト１０６０２を示した図。
【図１５】本実施の形態のレスポンス１０６１３を示した図。
【図１６】本実施の形態の監視者端末４ａ宛のレスポンス１０５９１を示した図。
【図１７】本実施の形態のコマンド処理部１０６０ａの処理フローチャート。
【図１８】本実施の形態のセッション確立のリクエスト１０５９０を示す図。
【図１９】本実施の形態のセッション管理部１０６１ａへのセッション確立のリクエスト１０６０２を示す図。
【図２０】本実施の形態のセッション管理部１０６１ａからのレスポンス１０６１３を示す図。
【図２１】本実施の形態の監視者端末４ａ宛のレスポンス１０５９１を示す図。
【図２２】本実施の形態のコマンド処理部１０６０ａの処理フローチャート。
【図２３】本実施の形態の通常のリクエスト１０５９０を示す図。
【図２４】本実施の形態のシーケンスＩＤ管理テーブル１０６０１を示す図。
【図２５】本実施の形態の、対象機器へ送信するリクエスト１０７０１を示す図。
【図２６】本実施の形態のコマンド処理部１０６０ａの処理フローチャート。
【図２７】本実施の形態のコマンド処理部１０６０ａの処理フローチャート。
【図２８】本実施の形態の各機器からのレスポンス１０８０１を示す図。
【図２９】本実施の形態のセッション管理部１０６１ａの処理フローチャート。
【図３０】本実施の形態のセッション管理部１０６１ａの処理フローチャート。
【図３１】本実施の形態の監視者端末４ａの処理フローチャート。
【図３２】本実施の形態の監視者端末４ａの処理フローチャート。
【図３３】本実施の形態のサーバシステム１のシーケンスチャートを示した図。
【図３４】本実施の形態のサーバシステム１のシーケンスチャートを示した図。
【発明を実施するための形態】
【００１３】
図１は、本実施の形態のサーバシステム１の概要図である。
【００１４】
図１に示されるように、本サーバシステム１は、サーバラック１１を有する。
【００１５】
サーバラック１１は、内部に、ブレードサーバなど複数のシステムボード１０１ａ〜ｎ、ディスク装置１０２ａ，ｂ、ファン１０３ａ，ｂ、電源装置１０４、及び、サーバ管理装置１０５を収容している。（便宜上、これらを総称する場合は「機器」と称する。）
また、サーバ管理装置１０５は、バスの一種であるＩ２Ｃ（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１０６を介して各機器と通信を行なう。
【００１６】
このうち、システムボード１０１ａ〜ｎは、それぞれ、ＣＰＵ１０１４ａ〜ｎ、及び、該ＣＰＵ１０１４ａ〜ｎの温度を検出する温度センサ１０１１ａ〜ｎを有する。また、システムボード１０１ａ〜ｎは、各々、Ｉ２Ｃ１０６を経由してサーバ管理装置１０５との通信を行なう通信インターフェース１０１２ａ〜ｎを有する。通信インターフェース１０１２ａ〜ｎは、各々、Ｉ２Ｃ１０６を使用して、サーバ管理装置１０５から受信した指示に基づき、検出した温度センサ１０１１ａ〜ｎからの温度情報をサーバ管理装置１０５へ送信する。また、システムボード１０１ａ〜ｎは、メインネットワーク２を経由して、実処理の為の通信を行なうネットワークアダプタ１０１３ａ〜ｎを有している。
【００１７】
また、ディスク装置１０２ａ，ｂは、それぞれ、ディスク装置１０２ａ、ｂ本体の温度を検出する温度センサ１０２１ａ，ｂを有する。また、ディスク装置１０２ａ，ｂも、Ｉ２Ｃ１０６を経由してサーバ管理装置１０５との通信を行なう通信インターフェース１０２２ａ，ｂを有する。通信インターフェース１０２２ａ，ｂは、各々、Ｉ２Ｃ１０６を経由してサーバ管理装置１０５から受信した指示に基づき、温度センサ１０２１ａ，ｂによって検出された温度情報を、Ｉ２Ｃ１０６を経由してサーバ管理装置１０５へ送信する。また、ディスク装置１０２ａ，ｂは、メインネットワーク２を経由して、処理系の通信を行なうためのネットワークアダプタ１０２３ａ，ｂを有している。
【００１８】
また、ファン１０３ａ，ｂは、サーバラック１１内の換気を行なうためのファンである。それぞれのファン１０３ａ，ｂには、それぞれ、ファン１０３ａ、ｂの回転速度を検出する速度センサ１０３１ａ，ｂを有する。また、ファン１０３ａ，ｂも、Ｉ２Ｃ１０６を経由してサーバ管理装置１０５との通信を行なう通信インターフェース１０３２ａ，ｂを有する。通信インターフェース１０３２ａ，ｂは、各々、Ｉ２Ｃ１０６を経由してサーバ管理装置１０５から受信した指示に基づき、速度センサ１０３１ａ，ｂからの速度情報をＩ２Ｃ１０６を経由してサーバ管理装置１０５へ送信する。
【００１９】
更に、電源装置１０４は、外部電源３に接続し、サーバラック内の各機器へ電力を供給するための電源回路１０４４を搭載している。電源装置１０４は、外部電源３の給電電圧を検出する電圧センサ１０４１を有する。また、電源装置１０４も、Ｉ２Ｃ１０６を経由してサーバ管理装置１０５との通信を行なう通信インターフェース１０４２を有する。通信インターフェース１０４２は、各々、Ｉ２Ｃ１０６を経由してサーバ管理装置１０５から受信した指示に基づき、電圧センサ１０４１が検出した電圧情報を、Ｉ２Ｃ１０６を経由してサーバ管理装置１０５へ送信する。
【００２０】
なお、本実施の形態では、説明の便宜上、各機器に１つのセンサを有しているものとしたが、例えば、ハードディスク装置の場合、ディスクの回転速度や通電時間など、１つの機器に複数のセンサが設けられても良い。
【００２１】
サーバ管理装置１０５は、監視者向けネットワーク３を経由して、上位装置の一種である監視者端末４ａ、もしくは、４ｂから送られてきた要求（リクエスト１０５９０：後述）に応じた指示を、Ｉ２Ｃ１０６を介して、サーバラック１１内の各機器へ送信する。また、サーバ管理装置１０５は、Ｉ２Ｃ１０６経由で受信した各機器からの情報を収集してレスポンス１０８０１を収集し、監視者向けネットワーク３を経由して、リクエスト１０５９０を送信した監視者端末４ａまたは４ｂに収集結果を送信する。
【００２２】
このサーバ管理装置１０５について、図２を用いて、以下説明する。
【００２３】
図２は、サーバ管理装置１０５のハードウエアの概要図である。
【００２４】
図２に示すように、サーバ管理装置１０５は、内部バス１０５２を有する。この内部バス１０５２は、通信インターフェース１０５１，ネットワークアダプタ１０５３，ＣＰＵ（中央処理装置）１０５４，ＲＡＭ（読み書き兼用メモリ）１０５５，ＲＯＭ（読み出し専用メモリ）１０５６，及び，ハードディスク装置１０５７が接続されている。
【００２５】
このうち、通信インターフェース１０５１は、Ｉ２Ｃ１０６と接続されており、図１で示したサーバラック１１内の各機器との通信を行なう。また、ネットワークアダプタ１０５３は、監視者向けネットワーク３に接続されており、この監視者向けネットワーク３を介して、監視者端末４ａもしくは４ｂとの通信を行なう。
【００２６】
ＣＰＵ１０５４は、ハードディスク装置１０５７に格納されている各種プログラムを実行する。また、ＣＰＵ１０５４は、ハードディスク装置１０５７に格納されている各種プログラムの実行に伴い、適宜、ハードディスク装置１０５７へのアクセスや、ＲＡＭ１０５５へのデータの書込み・読み出し、及び、ＲＯＭ１０５６からのデータ読み出しを行なう。更に、ＣＰＵ１０５４は、これらのプログラム実行に伴い、適宜ネットワークアダプタ１０５３や通信インターフェース１０５１の通信制御を行なう。
【００２７】
ハードディスク装置１０５７に格納されているプログラムは、ネットワーク通信処理プログラム１０５８、デバイス通信処理プログラム１０５９、コマンド処理プログラム１０６０、及び、セッション管理プログラム１０６１を含む。
【００２８】
ＣＰＵ１０５４が、これらのプログラムを処理することで、図３の機能ブロック図に示される各種処理部として機能する。
【００２９】
例えば、ＣＰＵ１０５４は、ネットワーク通信処理プログラム１０５８を実行する事により、ネットワークアダプタ１０５３を制御して、監視者向けネットワーク３を経由して監視者端末４ａや４ｂと通信するネットワーク通信処理部１０５８ａとして機能する。
【００３０】
また、ＣＰＵ１０５４は、デバイス通信処理プログラム１０５９を実行することにより、通信インターフェース１０５１を制御し、Ｉ２Ｃ１０６を経由して図１のサーバラック１１内の各機器との通信を行なうデバイス通信処理部１０５９ａとして機能する。
【００３１】
このネットワーク通信処理部１０５８ａは、受信キュー１０５８１，受信処理部１０５８２、送信キュー１０５８３，及び，送信処理部１０５８４を有する。
【００３２】
受信処理部１０５８２は、ネットワークアダプタ１０５３が受信した監視者向けネットワーク３からのリクエスト１０５９０を、受信キュー１０５８１に蓄積させる。また、送信処理部１０５８４は、ネットワークアダプタ１０５３を制御して、送信キュー１０５８３に蓄積されているレスポンス１０５９１を、監視者端末４ａもしくは４ｂへ送信する。受信キュー１０５８１及び送信キュー１０５８３は、共に、ＦＩＦＯ（Ｆｉｒｓｔ―Iｎ  Ｆｉｒｓｔ−Ｏｕｔ）方式によるデータの入出力を行なう。
【００３３】
更に、ＣＰＵ１０５４は、コマンド処理プログラム１０６０を実行することにより、コマンド処理部１０６０ａとして機能する。このコマンド処理部１０６０ａは、ネットワーク通信制御部１０５８ａの受信キュー１０５８１からリクエスト１０５９０を取り出し、デバイス通信処理部１０５９ａを制御して、取り出したリクエスト１０５９０に対応するサーバラック１１内の機器へリクエスト（指示）を送信する。また、コマンド処理部１０６０ａは、Ｉ２Ｃ１０６を経由して通信インターフェース１０５１が受信した各種情報をネットワーク通信処理部１０５８ａへ送る制御を行なう。
【００３４】
監視者端末４ａ、４ｂよりサーバ管理装置１０５へ送信されるリクエストの例について、図４を用いて説明する。監視者端末４ａ、４ｂから送信されるリクエスト１０５９０は、送信先アドレス１０５９０ａを含む。この送信先アドレス１０５９０ａは、送信先であるサーバ管理装置１０５のネットワークアダプタ１０５３のネットワークアドレスである。また、リクエスト１０５９０は、送信元アドレス１０５９０ｂを含む。この送信元アドレス１０５９０ｂは、送信元である監視者端末４ａもしくは４ｂのネットワークアドレスである。更に、リクエスト１０５９０は、監視者端末４ａもしくは４ｂとサーバ管理装置１０５との間で確立したセッションのセッションＩＤ１０５９０ｃを含む。また、リクエスト１０５９０は、監視者端末４ａもしくは４ｂがリクエスト１０５９０毎にユニークに付与するシーケンスＩＤ１０５９０ｄ、そして、コマンド１０５９０ｅの情報を含む。このように、監視者端末４ａ、４ｂは、リクエスト１０５９０を行なう毎にユニークなシーケンスＩＤ１０５９０ｄを付与して、サーバ管理装置１０５へ送信する。なお、このリクエスト１０５９０をサーバ管理装置１０５のネットワークアダプタ１０５３が受信すると、受信処理部１０５８２が受信キュー１０５８１へ記憶させている。
【００３５】
なお、セッションＩＤ１０５９０ｃは、監視者端末４ａもしくは４ｂとの間の通信を確立するためのものである。よって、送信先のネットワークアドレス１０５９０ａや送信元のネットワークアドレス１０５９０ｂが異なる場合、セッションＩＤ１０５９０の値は、異なる。
【００３６】
次に、サーバ管理装置１０５が監視者端末４ａ、４ｂへ送信するレスポンスの例について、図５を用いて説明する。
【００３７】
サーバ管理装置１０５が監視者端末４ａ、４ｂへ送信するレスポンス１０５９１は、送信先アドレス１０５９１ａを含む。この送信先アドレス１０５９１ａは、送信先である監視者端末４ａもしくは４ｂのネットワークアドレスである。また、レスポンス１０５９１は、送信元アドレス１０５９１ｂを含む。この送信元アドレス１０５９１ｂは、送信先であるサーバ管理装置１０５のネットワークアダプタ１０５３のネットワークアドレスである。更に、レスポンス１０５９１は、監視者端末４ａもしくは４ｂとサーバ管理装置１０５との間で確立したセッションのセッションＩＤ１０５９１ｃを含む。また、レスポンス１０５９１は、監視者端末４ａもしくは４ｂがリクエスト毎にユニークに付与するシーケンスＩＤ１０５９１ｄ、そして、レスポンス本体１０５９１ｅの情報を含む。このシーケンスＩＤ１０５９１ｄは、監視者端末４ａもしくは４ｂからのリクエスト１０５９０に含まれるシーケンスＩＤ１０５９０ｄに対応している。即ち、監視者端末４ａもしくは４ｂにおいて、シーケンスＩＤ１０５９１ｄを確認することで、どのリクエスト１０５９０に対応するレスポンス１０５９１かを確認できることが可能となっている。
【００３８】
また、このレスポンス１０５９１は、コマンド処理部１０６０ａが、サーバラック１１内の各機器から収集した各種センサの情報を元に生成し、送信キュー１０５８３に格納する。そして、送信処理部１０５８４が送信キュー１０５８３に格納されているレスポンス１０５９１を取り出し、ネットワークアダプタ１０５３を制御して、リクエスト１０５９０を送信してきた監視者端末４ａもしくは４ｂへ送信されることとなる。
【００３９】
また、コマンド処理部１０６０ａは、取得したリクエスト１０５９０のシーケンスＩＤ１０５９０ｄを管理するためのシーケンスＩＤ管理テーブル１０６０１を有する。このシーケンスＩＤ管理テーブル１０６０１は、図６に示されるように、受信キュー１０５８１より取得したリクエスト１０５９０に含まれるシーケンスＩＤ１０５９０ｄ、及び、送信元アドレス１０５９０ｂを対応付けて記憶する記憶領域１０６０１ａ，ｂを有する。（以下、記憶領域１０６０１ａをシーケンスＩＤ記憶領域１０６０１ａ、記憶領域１０６０１ｂを送信元アドレス記憶領域１０６０１ｂとして説明する。）また、シーケンスＩＤ管理テーブル１０６０１は、取得したリクエストのコマンド１０５９０ｅを記憶するコマンド記憶領域１０６０１ｃ有する。更に、シーケンスＩＤ管理テーブル１０６０１は、前回のシーケンスＩＤ記憶領域１０６０１ｄを有する。また、コマンド処理部１０６０ａは、各機器からのレスポンス１０８０１を格納するレスポンス記憶部１０６０３を有する。
【００４０】
更に、ＣＰＵ１０５４は、セッション管理プログラム１０６１を実行することにより、セッション管理部１０６１ａとして機能する。セッション管理部１０６１ａは、監視者端末４ａまたは４ｂとの間のセッションの管理を行なう。このセッション管理部１０６１ａは、図３に示されるように、セッションタイマ１０６１１とセッション管理テーブル１０６１２とを有する。
【００４１】
セッション管理部１０６１ａは、コマンド処理部１０６０ａからのリクエスト１０６０２があると、セッションタイマ１０６１１を、リセットすると共に、セッションタイマ１０６１１の値が２０分を経過するとセッションを開放する処理（セッションタイムアウト処理）を行なう。セッション管理部１０６１ａの詳しい処理については、後述する。
【００４２】
また、セッション管理テーブル１０６１２は、図７に示されるように、セッションＩＤ記憶領域１０６１２ａ，セッションフラグ記憶領域１０６１２ｂ，リクエスト内容記憶領域１０６１２ｃ，及び，シーケンスＩＤ記憶領域１０６１２ｄを有する。
【００４３】
セッションＩＤ記憶領域１０６１２ａは、確立中のセッションのセッションＩＤを記憶する領域である。また、セッションフラグ記憶領域１０６１２ｂは、セッション確立中か否かを判別するためのフラグを記憶する領域である。本実施の形態において、セッションフラグ記憶領域１０６１２ｂに記憶されているフラグが「１」であればセッション確立中、「０」であれば、セッション未確立であることを示している。セッション管理部１０６１ａは、セッション開始時に、セッションＩＤを生成し、セッションＩＤ記憶領域１０６１２ａに記憶させると共に、セッションフラグ記憶領域１０６１２ｂに記憶している値を「１」に更新する。また、セッション管理部１０６１ａは、セッションタイムアウト処理、もしくは、コマンド処理部からのセッション終了のリクエスト１０６０２を受信した場合、セッションＩＤ記憶領域１０６１２ａのセッションＩＤを削除する。そして、セッション管理部１０６１ａは、セッションフラグ記憶領域１０６１２ｂに記憶している値を「０」に更新する。
【００４４】
リクエスト内容記憶領域１０６１２ｃは、コマンド処理部１０６０ａから受信したリクエスト１０６０２を記憶する領域である。また、シーケンスＩＤ記憶領域１０６１２ｄは、リクエスト毎に付されるユニークなＩＤ（シーケンスＩＤ）を記憶する領域である。
【００４５】
次に本実施の形態の上位装置である監視者端末４ａについて説明する。なお、本実施の形態における監視者端末４ａ、４ｂは、同じ構成であるので、以下に説明する監視者端末４ａの構成要件は、監視者端末４ｂも有することとする。
【００４６】
図８は、監視者端末４ａの、ハードウエアの概念図である。
【００４７】
図８に示されるように、監視者端末４ａは、ＣＰＵ４１、ＲＡＭ４２、ＲＯＭ４３、キーボード等の入力部４４、ハードディスク装置４６、ネットワークアダプタ４７、及び、表示部４９の表示制御を行なうディスプレイ制御ユニット４８を有し、各々が内部バス４５によって接続されている。
【００４８】
このうち、ネットワークアダプタ４７は、監視者向けネットワーク３に接続されており、この監視者向けネットワーク３を介して、サーバ管理装置１０５との通信を行なう。
【００４９】
ＣＰＵ４１は、ハードディスク装置４６に格納されている通信制御プログラム４６１を実行する。また、ＣＰＵ４１は、ハードディスク装置４６に格納されている通信制御プログラム４６１の実行に伴い、適宜、ハードディスク装置４６内のデータへのアクセスや、ＲＡＭ４２へのデータの書込み・読み出し、及び、ＲＯＭ４３からのデータ読み出しを行なう。更に、ＣＰＵ４１は、これらのプログラム実行に伴い、適宜ディスプレイ制御ユニット４８による表示部４９の表示制御やネットワークアダプタ４７の通信制御を行なう。
【００５０】
また、ハードディスク装置４６は、セッションＩＤを記憶するセッションＩＤ記憶領域４６３，シーケンスＩＤを記憶するシーケンスＩＤ記憶領域４６２を有する。
【００５１】
また、ＣＰＵ４１が、通信制御プログラム４６１を処理することで、図９の機能ブロック図に示される通信制御処理部４６１ａとして機能する。この通信制御処理部４６１ａは、タイマ４６１１ａを有する。
【００５２】
次に、上記したコマンド処理部１０６０ａの処理について、図１０以降のフローチャートを用いて説明する。
【００５３】
図１０のフローチャートに於いて、まず、コマンド処理部１０６０ａは、受信キュー１０５８１より、監視者端末４ａもしくは４ｂより受信したリクエスト１０５９０を取り出す（Ｓ２００１）。そしてコマンド処理部は、取り出したリクエスト１０５９０のコマンド１０５９０ｅの内容を解読する（Ｓ２００２）。
【００５４】
そして、コマンド処理部１０６０ａは、シーケンスＩＤ管理テーブル１０６０１のコマンド記憶領域１０６０１ｅに格納されているコマンドと、受信キュー１０５８１から取り出したリクエスト１０５９０のコマンド１０５９０ｅとを比較する（Ｓ２００３）。
【００５５】
コマンド処理部１０６０ａは、Ｓ２００３の処理にてコマンドが異なると判定した場合、シーケンスＩＤ管理テーブル１０６０１の前回のシーケンスＩＤ記憶領域１０６０１ｄの情報を、不定を示す“Ｎｕｌｌ”に更新する。また、コマンド処理部１０６０ａは、シーケンスＩＤ記憶領域１０６０１ａの値を、解読したリクエスト１０５９０に含まれるシーケンスＩＤの値に更新する。同様にコマンド処理部１０６０ａは、送信元アドレス記憶領域１０６０１ｂの値を、解読したリクエスト１０５９０に含まれる送信元アドレス１０５９０ｂの値に更新する。更に、コマンド処理部１０６０ａは、コマンド記憶領域１０６０１ｃの値を、解読したリクエスト１０５９０に含まれるコマンド１０５９０ｅに更新する（Ｓ２００４）。このＳ２００４の処理結果の例を、図１１に示す。
【００５６】
次に、Ｓ２００３の処理にてコマンドが同じと判定した場合について説明する。まず、コマンド処理部１０６０ａは、シーケンスＩＤ管理テーブル１０６０１の前回のシーケンスＩＤ記憶領域１０６０１ｄに格納しているシーケンスＩＤを、シーケンスＩＤ記憶領域１０６０１ａに記憶されているシーケンスＩＤの値に更新する。また、コマンド処理部１０６０ａは、シーケンスＩＤ記憶領域１０６０１ａの値を、Ｓ２００２の処理で解読したリクエスト１０５９０に含まれるシーケンスＩＤ１０５９０ｄの値に更新する。同様にコマンド処理部１０６０ａは、送信元アドレス記憶領域１０６０１ｂの値を、Ｓ２００２の処理で解読したリクエスト１０５９０に含まれる送信元アドレス１０５９０ｂの値に更新する。更に、コマンド処理部１０６０ａは、コマンド記憶領域１０６０１ｃの値を、Ｓ２００２の処理で解読したリクエスト１０５９０に含まれるコマンド１０５９０ｅの値に更新する（Ｓ２００５）。このＳ２００５の処理結果の例を、図１２に示す。
【００５７】
本実施の形態は、このように処理を行なうことで、コマンド処理部１０６０ａは、シーケンスＩＤ管理テーブル１０６０１の前回のシーケンスＩＤ記憶領域１０６０１ｄが“Ｎｕｌｌ”か否かを判定することにより、前回と同じ内容のリクエスト１０５９０を受信したかを判断出来る。更に、前回と同じ内容のリクエスト１０５９０が送られてきた場合、今回のリクエスト１０５９０のシーケンスＩＤ１０５９０ｄがシーケンスＩＤ記憶領域１０６０１ａ、前回のシーケンスＩＤが前回のシーケンスＩＤ記憶領域１０６０１ｄに記憶されることになる。
【００５８】
なお、本実施の形態のでは、監視者端末４ａ、４ｂのアドレスをそれぞれ“４ＡＡ”，“４ＢＢ”、サーバ管理装置１０５の監視者向けネットワーク３におけるアドレスを“５５５”として説明する。（例えば、図１１に示すリクエスト１０５９０の場合、送信元アドレス１０５９０ｂの値は、“４ＡＡ”であるので、このリクエスト１０５９０は、監視者端末４ａが送信元である事を示している。）
ここで、コマンド処理部１０６０ａは、Ｓ２００２の処理で解読したリクエスト１０５９０のコマンド１０５９０ｅに、セッションＩＤ取得のリクエスト１０５９０を示す”Get Session”が格納されているかを確認する（Ｓ２００６）。ここで、”Get Session”が格納されていた場合、コマンド処理部１０６０ａは、セッション管理部１０６１ａへ、セッションの取得依頼を送信する（Ｓ２００７）。
（なお、セッションＩＤ取得のリクエスト１０５９０は、セッションＩＤの取得要求であるため、この時点では、セッションＩＤは不定である。よって、図１３に示されるように、リクエスト１０５９０のセッションＩＤ１０５９０ｃの値は、不定を示す“Ｎｕｌｌ”となっている。）
このリクエスト１０５９０を受信したコマンド処理部１０６０ａは、図１４に示される様に、受信キュー１０５９１から取得したリクエスト１０５９０から、セッションＩＤ１０５９０ｃ、シーケンスＩＤ１０５９０ｄ、及び、コマンド１０５９０ｅを抽出して、各々、セッションＩＤ１０６０２ａ、シーケンスＩＤ１０６０２ｂ、及び、コマンド１０６０２ｃとしたリクエスト１０６０２を生成する。そして、コマンド処理部１０６０ａは生成したリクエスト１０６１ａをセッション管理部１０６１ａへ送信する事によりセッションＩＤ取得依頼を行う。（Ｓ２００７）
その後、コマンド処理部１０６０ａは、セッション管理部１０６１ａより、このセッションＩＤ取得依頼に対応するレスポンス１０６１３を受信する（Ｓ２００８、Ｓ２００９）。このレスポンス１０６１３は、図１５に示されるように、セッションＩＤ１０６１３ａ、シーケンスＩＤ１０６１３ｂ、及び、レスポンス本体１０６１３ｃを含んでいる。
【００５９】
そして、コマンド処理部１０６０ａは、シーケンスＩＤ管理テーブル１０６０１を参照し、このレスポンス１０６１３に含まれるシーケンスＩＤ１０６１３ｂの値である“０００１”に対応する送信元アドレスを抽出する。上記したように、本実施の形態では、シーケンスＩＤ管理テーブル１０６０１には、シーケンスＩＤ１０６０１ａの値“０００１”と、送信元アドレス記憶領域１０６０１ｂの“４ＡＡ”とが対応付けられて記憶されており、このうち、送信元アドレス記憶領域１０６０１ｂの値“４ＡＡ”を抽出する。
【００６０】
そして、コマンド処理部１０６０ａは、図１６に示す様に、セッション管理部１０６１ａから取得したレスポンス１０６１３に、抽出した送信元アドレス記憶領域１０６０１ｂの値“４ＡＡ”を送信先アドレス１０５９１ａとして付加する。更にコマンド処理部１０６０ａは、このレスポンス１０６１３にサーバ管理装置１０５のアドレス“５５５”を送信元アドレス１０５９１ｂとして付加することで、監視者端末４ａ宛のレスポンス１０５９１を生成する（Ｓ２０１０）。
【００６１】
そして、コマンド制御部１０６０ａは、生成したレスポンス１０５９１を送信キュー１０５８３へ格納し（Ｓ２０１１）、Ｓ２００１の処理へ移行する。
【００６２】
次に、コマンド処理部１０６０ａは、Ｓ２００６の処理において、解読したリクエスト１０５９０がセッション取得リクエストではないと判定した場合、該リクエスト１０５９０がセッション確立のリクエスト１０５９０か否かを判定する（図１７：Ｓ２０１２）。
【００６３】
Ｓ２０１２の処理に於いて、コマンド処理部１０６０ａは、セッション確立リクエストであると判断すると、セッション管理部１０６１ａへセッション確立依頼を行なう（Ｓ２０１３）。なお、このセッション確立のリクエスト１０５９０は、セッションＩＤを取得した監視者端末４ａ、４ｂが、取得したセッションＩＤに基づくセッションを開始する命令を示すリクエストである。
【００６４】
このセッション確立リクエストの例を図１８に示す。図１８に示されるように、このセッション確立のリクエスト１０５９０は、コマンド１０５９０ｅに、セッション確立を示す”Active Session”を含むリクエスト１０５９０である。上記したように、このセッション確立のリクエスト１０５９０は、セッションＩＤを取得した監視者端末４ａもしくは４ｂより送信されたリクエストであるので、このリクエスト１０５９０に含まれるセッションＩＤ１０５９０ｃの値は不定を示す“Ｎｕｌｌ”ではなく、“５２Ａ０ｈ”という値になっている。
【００６５】
また、コマンド処理部１０６０ａからセッション管理部１０６１ａに送信されるセッション確立依頼について補足する。このセッション確立依頼は、図１９に示される様に、リクエスト１０５９０から、セッションＩＤ、シーケンスＩＤ、及び、コマンドを抽出して生成したリクエスト１０６０２を、セッション管理部１０６１ａへ送信する事により行われる。
【００６６】
その後、セッション管理部１０６１ａより、この取得依頼に対応するレスポンス１０６１３を受信する（Ｓ２０１４、Ｓ２０１５）。このレスポンス１０６１３は、図２０に示されるように、セッションＩＤ１０６１３ａ、シーケンスＩＤ１０６１３ｂ、及び、レスポンス本体１０６１３ｃを含んでいる。
【００６７】
次に、コマンド処理部１０６０ａは、上記したＳ２０１０と同様の処理を行なうことで、図２１に示される監視者端末４ａ宛のレスポンス１０５９１を生成する（Ｓ２０１６）。
【００６８】
そして、コマンド制御部１０６０ａは、生成したレスポンス１０５９１を送信キュー１０５８３へ格納し（Ｓ２０１７）、図１０のＳ２００１の処理へ移行する。
【００６９】
なお、図２０，図２１に示で示したレスポンス１０６１３、１０５９１のレスポンス本体１０６１３ｃ、１０５９１ｅに含まれる“Ｒｅａｄｙ”は、各々セション確立の許可を示す情報である。
【００７０】
次に、コマンド処理部１０６０ａは、Ｓ２０１２の処理において、解読したリクエスト１０５９０がセッション確立を示すものではないと判定した場合、通常のリクエスト１０５９０か否かを判定する（図２２：Ｓ２０１８）。
【００７１】
なお、本実施の形態では、通常のリクエスト１０５９０は、セッションＩＤの取得、確立、開放などのセッションに関係するリクエスト以外を通常セッションと規定する。また、図２３に示すように、コマンド１０５９０ｅに、通常コマンドの一種であるシステムボード１０１ａ〜ｎのＣＰＵ１０１４ａ〜ｎの温度検出のコマンドを意味する”Detect = System Board Temperature”を含んでいた場合を例に以下説明を行なう。
【００７２】
コマンド処理部２０６０ａは、Ｓ２００２の解読処理の結果、図２３に示されるリクエスト１０５９０のように通常コマンドを含むと判定した場合（Ｓ２０１８）、セッション監視部１０６１ａに対し、セッション確認のリクエスト１０６０２を送信する（Ｓ２０１９）。
【００７３】
その後、コマンド処理部１０６０ａは、セッション管理部１０６１ａからレスポンス１０６１３を受信すると（Ｓ２０２０，Ｓ２０２１）、該レスポンス１０５９１がセッション有効を示しているかを確認する（Ｓ２０２２）。Ｓ２０２３の処理において、該レスポンス１０５９１がセッション有効を示している場合、コマンド処理部２０６０ａは、シーケンスＩＤ管理テーブル１０６０１を参照し、前回のリクエスト１０５９０に含まれるコマンドと同じか否かを確認する（Ｓ２０２５）。コマンド処理部２０６１ａは、図１０のＳ２００３〜Ｓ２００５の処理において、前回と同じコマンドであれば、シーケンスＩＤ管理テーブル１０６０１の前回のシーケンスＩＤ記憶領域１０６０１ｄに前回のシーケンスＩＤを記憶している。また、コマンド処理部２０６１ａは、前回と同じコマンドでなければ、シーケンスＩＤ管理テーブル１０６０１の前回のシーケンスＩＤ記憶領域１０６０１ｄに“Ｎｕｌｌ”を記憶している。よって、Ｓ２０２５の処理において、コマンド処理部１０６０ａは、前回のシーケンスＩＤ記憶領域１０６０１ｄにシーケンスＩＤが格納されていた場合、前回と同じコマンドと判断し、“Ｎｕｌｌ”が記憶されている場合、前回とは異なるコマンドと判断する。
【００７４】
Ｓ２０２５の処理において、コマンド処理部２０６０ａが、前回と異なるコマンドと判断した場合、コマンド処理部２０６０ａは、通信インターフェース１０５１を制御し、Ｉ２Ｃ１０６を経由して、対象機器へ処理依頼１０７０１を送信し（Ｓ２０２６）、図１０のＳ２００１の処理へ移行する。Ｓ２０２６の処理において対象機器へ送信する処理依頼１０７０１の例を、図２５に示す。図２５は、図２３に示される監視者端末４ａからのリクエスト１０５９０に対応したシステムボード１０１ａへの処理依頼１０７０１を示したものである。
【００７５】
この対象機器への処理依頼１０７０１は、監視者端末４ａからのリクエスト１０５９０に含まれるシーケンスＩＤ１０７０１ａ、送信先１０７０１ｂ（この場合はシステムボード１０１ａ）、及び、監視者端末４ａからのリクエスト１０５９０に含まれるコマンド１０７０１ｃが含まれる。
【００７６】
なお、上記はシステムボード１０１ａについてのみ説明したが、コマンド処理部１０６０ａは、対象となる他のシステムボード１０１ｂ〜ｎにも同様のリクエスト１０７０１を送信する。そして、各々のシステムボード１０１ｂ〜ｎは、このリクエスト１０７０１を受け、システムボードａと同様の処理及びレスポンス１０８０１の送信を行なう。
【００７７】
また、Ｓ２０２５の処理において、前回のリクエスト１０５９０に含まれるコマンドと同じコマンドが送信されたと判断された場合は、Ｓ２０２６の処理を行わず、Ｓ２００１の処理へ移行する。
【００７８】
更に、Ｓ２０２２の処理において、セッション管理部１０６１からのレスポンス１０６１３がセッション無効を示すものであった場合、シーケンスＩＤ管理テーブル１０６０１内のデータを削除する（Ｓ２０２３）。そして、セッション無効のレスポンス１０５９１を送信キュー１０５８３へ格納し（Ｓ２０２４）、Ｓ２００１の処理へ移行する。
【００７９】
また、コマンド処理部２０６０ａは、Ｓ２０１８において、受信キュー１０５８１から取り出したリクエスト１０５９０が通常のコマンドを含んでいないと判断すると、セッション開放のリクエスト１０５９０かを判断する（図２６：Ｓ２０２７）。
【００８０】
ここで、セッション開放リクエストではないと判断された場合、コマンド処理部１０６０ａは、リクエスト１０５９０を送信してきた監視者端末４ａもしくは４ｂへのリクエストエラー通知を生成し、送信キュー１０５８３へ格納し（Ｓ２０２８）、Ｓ２００１の処理へ移行する。
【００８１】
また、Ｓ２０２７にてセッション開放リクエストと判断すると、コマンド処理部１０６０ａは、セッション管理部１０６１ａへセッション開放依頼を行なう（Ｓ２０２９）。
【００８２】
その後、セッション管理部１０６１ａより、セッション開放完了のレスポンス１０６１３を受信すると（Ｓ２０３０，Ｓ２０３１）、セッション開放を完了したことを示すレスポンス１０５９１を送信キュー１０５８３へ格納する（Ｓ２０３２）。そして、コマンド処理部１０６０ａは、シーケンスＩＤ管理テーブル１０６０１内のデータを削除し（Ｓ２０３３）、Ｓ２００１の処理へ移行する。
【００８３】
次に図２２のＳ２０２６の処理にて、処理対象となる各機器へ処理依頼を送信した後、各機器からのこの処理依頼に対応するレスポンス１０８０１を受信した場合の処理について、図２７のフローチャートを例に説明する。
【００８４】
なお、本実施の形態では、上記の処理で例示した図２５で示される処理依頼が送信された場合を例に説明する。
【００８５】
システムボード１０１ａの通信インターフェース１０１２ａは、Ｉ２Ｃ１０６経由でこの処理依頼を受信する。そして通信インターフェース１０１２ａは、温度センサ１０１１ａから温度情報を取得し、Ｉ２Ｃ１０６を経由して、サーバ管理装置１０５へ取得した温度情報を含むレスポンス１０８０１を送信する。このレスポンス１０８０１の例を図２８に示す。この図２８に示されるように、処理依頼１０７０１でのシーケンスＩＤ１０８０１ａ、送信先１０８０１ｂ、及び、取得した温度情報を格納するレスポンス本体１０８０１ｃが含まれる。
【００８６】
通信インターフェース１０５１がこの様なレスポンス１０８０１をいずれかの機器から受信すると、通信インターフェース１０５１は、コマンド処理部１０６０ａに割り込み指示を行なう。この割込みに伴い、図２７に示される処理を実行する。
【００８７】
まず、コマンド処理部１０６０ａは、レスポンス１０８０１のシーケンスＩＤ１０８０１ａの値が、シーケンスＩＤ管理テーブル１０６０１のシーケンスＩＤ記憶領域１０６０１ａ若しくは前回のシーケンスＩＤ記憶領域１０６０１ｄに記憶されているか判断する（Ｓ２０３４，Ｓ２０３５）。
【００８８】
ここで、いずれかの記憶領域に記憶されていると判断された場合、コマンド処理部１０６０ａは、レスポンス記憶部１０６０３に、受信したレスポンス１０８０１を記憶する（Ｓ２０３６）。そして、コマンド処理部１０６０ａは、レスポンス記憶部１０６０３に蓄積される各機器からのレスポンス１０８０１を確認し、リクエスト１０５９０に対応する対象機器からのレスポンス１０８０１を全て受信したかを確認する（Ｓ２０３７）。
【００８９】
もし、対象となる全て機器からのレスポンス１０８０１が受信出来ていなければ、コマンド処理部２０６０ａは、割り込み処理を終了する。
【００９０】
また、対象となる全て機器からのレスポンス１０８０１が受信出来ていれば、コマンド処理部２０６０ａは、シーケンスＩＤ管理テーブル１０６０１内のシーケンスＩＤ記憶領域１０６０１ａに記憶されているシーケンス番号を付したレスポンス１０５９１を作成する（Ｓ２０３８）。そして、コマンド処理部１０６０ａは、作成したレスポンス１０５９１を送信キュー１０５８３へ格納し（Ｓ２０３９）、シーケンスＩＤ管理テーブル１０６０１，レスポンス記憶部１０６０３のデータを削除した上で（Ｓ２０４０）、割り込み処理を終了する。
【００９１】
なお、Ｓ２０３５の処理において、リクエストのシーケンスＩＤが記憶されていないと判断された場合、コマンド処理部２０６０ａは、受信したレスポンス１０５９１を無効にするなどのエラー処理を行い（Ｓ２０４１）、割り込み処理を完了する。
【００９２】
次に、セッション管理部１０６１ａの処理について、図２９のフローチャートを用いて説明する。
【００９３】
セッション管理部１０６１ａは、コマンド処理部１０６０ａからのリクエスト受信処理を行い（Ｓ３００１）、コマンド処理部１０６０ａからのリクエスト１０６０２を受信できたかを判断する（Ｓ３００２）。
【００９４】
ここで、リクエスト１０６０２の受信ができた場合、セッション管理部１０６１ａは、受信したリクエスト１０６０２がセッションＩＤ取得依頼を示すリクエスト１０６０２かを確認する（Ｓ３００３）。
【００９５】
ここで、セッション管理部１０６１ａは、セッションＩＤ取得依頼であった場合、ユニークなセッションＩＤを生成する（Ｓ３００３）。そしてセッション管理部１０６１ａは、そのセッションＩＤをセッション管理テーブル１０６１２に記憶するとともに、セッションフラグ記憶領域１０６１２ｂの値を「１」に更新する（Ｓ３００４）。加えて、セッション管理部１０６１ａは、セッションタイマ１０６１１を起動し、タイムカウントを開始する（Ｓ３００５）。
【００９６】
そして、セッション管理部１０６１ａは、コマンド処理部１０６０ａへ、セッションＩＤを含むレスポンス１０６１３を送信する（Ｓ３００６）。このレスポンス１０６１３は、コマンド処理部１０６０ａにおいて、図１５にて説明したレスポンスである。
【００９７】
そして、セッション処理部１０６１ａは、Ｓ３００１の処理に移行する。
【００９８】
また、セッション管理部１０６１ａは、Ｓ３００２の処理において、コマンド処理部１０６０ａからのリクエスト１０６０２を受信できなかった場合は、セッションタイマ１０６１１の値を確認する（Ｓ３００７）。セッション管理部１０６１ａ、この確認の結果、タイムアウト（本実施の形態の場合、２０分）を経過したと判断した場合は、セッション管理テーブル１０６１２に記憶されているセッションＩＤを削除し、かつアクティブフラグを「０」に更新した上で（Ｓ３００９）、Ｓ３００１の処理に移行する。なお、セッション管理部１０６１ａは、Ｓ３００８の処理において、タイムアウトではないと判断した場合は、Ｓ３００９の処理は行わず、Ｓ３００１へ処理を移行する。
【００９９】
セッション管理部１０６１ａは、Ｓ３００３の処理において、コマンド処理部１０６０ａからのリクエスト１０６０２が、セッションＩＤ取得依頼ではないと判断すると、セッション開放要求かを判断する（図３０：Ｓ３０１１）。
【０１００】
そして、セッション管理部１０６１ａは、セッション開放要求かを判断した場合、セッション管理テーブル１０６１２からセッションＩＤなどのデータを削除する（Ｓ３０１２）。
【０１０１】
そして、セッション管理部１０６１ａは、セッションを開放したことを示すレスポンス１０６１３を、コマンド処理部１０６０ａへ送信し（Ｓ３０１３）、Ｓ３００１の処理へ移行する。
【０１０２】
更に、セッション管理部１０６１ａは、Ｓ３０１１の処理において、コマンド処理部１０６０ａからのリクエスト１０６０２が、セッション開放要求ではない判断すると、該リクエスト１０６０２が、セッション有効性の問い合わせを示すリクエスト１０６０２かを判断する（Ｓ３０１４）。
【０１０３】
ここで、セッション管理部１０６１ａは、該リクエスト１０６０２が、セッション有効性の問い合わせのリクエスト１０６０２であると判断すると、セッションＩＤが、セッション管理テーブル１０６１２に記憶されているかを確認する（Ｓ３０１５）。ここで、セッション管理部１０６１ａは、セッション管理テーブル１０６１２に記憶されていると判断すると、セッションタイマ１０６１１をリセット、即ち、値を「０」にセットしなおす（Ｓ３０１６）。そして、セッション管理部１０６１ａは、コマンド処理部１０６０ａへセッションの有効性を示すレスポンス１０６１３を送信し（Ｓ３０１７）、Ｓ３００１の処理へ移行する。セッション管理部１０６１ａは、Ｓ３０１５の処理において、セッションＩＤを記憶していないと判断すると、コマンド処理部１０６０ａへ、セッション無効のレスポンス１０６１３を送信し、Ｓ３００１の処理へ移行する。
【０１０４】
更に、セッション管理部１０６１ａは、Ｓ３０１４の処理において、コマンド処理部１０６０ａからのリクエスト１０６０２がセッション有効性の問い合わせでないと判断した場合、即ち、その他の問い合わせであった場合、そのリクエスト１０６０２に合わせた処理を行い（Ｓ３０１９）、Ｓ３００１の処理に移行する。
【０１０５】
次に、監視者端末４ａの通信制御処理部４６１ａの処理について図３１，図３２のフローチャートを用い、説明する。
【０１０６】
まず監視者が、入力部４４に対し、処理要求を入力すると（Ｓ５０１）、通信制御処理部４６１ａは、シーケンスＩＤ記憶領域４６２に記憶されているシーケンスＩＤを「０」に更新する（Ｓ５０２）。
【０１０７】
次に、通信制御処理部４６１ａは、シーケンスＩＤ記憶領域４６２に記憶されているシーケンスＩＤの値を「１」加算して更新する（Ｓ５０３）。そして、通信制御処理部４６１ａは、ネットワークアダプタ４７を制御して、シーケンスＩＤ記憶領域４６２に記憶されているシーケンスＩＤを付加したセッションＩＤ取得依頼のリクエスト１０５９０を、サーバ管理装置１０５へ送信する（Ｓ５０４）。このリクエスト１０５９０は、図１３に示されるリクエスト１０５９０である。Ｓ５０２の処理からＳ５０３の処理へ移行する場合は、シーケンスＩＤは「０」であるので、Ｓ５０３の処理によって、シーケンスＩＤ記憶領域４６２の値は「１」となる。そして、通信制御処理部４６１ａは、タイマ４６１１ａをリセットする（Ｓ５０５）。
【０１０８】
その後、通信制御処理部４６１ａは、ネットワークアダプタ４７を介して、ネットワーク管理装置１０５より、レスポンス１０５９１が受信できたかを確認する（Ｓ５０６）。Ｓ５０６の処理において、レスポンス１０５９１が受信できない場合、通信制御処理部４６１ａは、タイマ４６１１ａの値が所定時間以上となったか（タイムアウトしたか）を確認する（Ｓ５０７）。本実施の形態では、この所定時間は、１分とする。即ち、本実施の形態のＳ５０７の処理において、通信制御処理部４６１ａは、タイマ４６１１ａが１分以上となったかを確認している。
【０１０９】
通信制御処理部４６１ａは、Ｓ５０７の処理において、タイムアウトしていないと判定した場合、Ｓ５０６の処理へ移行する。また、通信制御処理部４６１ａは、Ｓ５０７の処理にて、タイムアウトしたと判定した場合、Ｓ５０３の処理へ移行する。
【０１１０】
Ｓ５０３の処理は、上記したように、シーケンスＩＤを１加算する処理であるので、Ｓ５０７からＳ５０３へ移行した場合、Ｓ５０４のセッションＩＤ取得依頼のリクエスト１０５９０は、コマンド１０５９０ｅの内容自体は同じ「Ｇｅｔ  Ｓｅｓｓｉｏｎ」であるが、前に送信したシーケンスＩＤの値より「１」大きい値のシーケンスＩＤが付与される事になる。
【０１１１】
通信制御処理部４６１ａは、Ｓ５０６の処理にて、ネットワーク管理装置１０５よりレスポンス１０５９１を受信したと判定した場合、レスポンス１０５９１に含まれるシーケンスＩＤ１０５９１ｄを確認する（Ｓ５０８）。この処理は、最後に送信したリクエスト１０５９０に対応したレスポンス１０５９１以外は無効であるとして処理を行うことを目的として成される処理である。
【０１１２】
ここで、受信したレスポンス１０５９１に含まれるシーケンスＩＤ１０５９１ｄがシーケンスＩＤ記憶領域４６２に記憶されているシーケンスＩＤと異なっていれば、通信制御処理部４６１ａは、Ｓ５０６の処理へ移行する。
【０１１３】
また、Ｓ５０８の処理において、受信したレスポンス１０５９１に含まれるシーケンスＩＤ１０５９１ｄがシーケンスＩＤ記憶領域４６２に記憶されているシーケンスＩＤと同じであれば、通信制御処理部４６１ａは、Ｓ５１０の処理へ移行する。すなわち、通信処理制御部４６１ａは、レスポンス１０５９１に含まれるセッションＩＤ１０５９１ｃを、セッションＩＤ記憶領域４６３に記憶する。
【０１１４】
次に、通信制御処理部４６１ａは、シーケンスＩＤ記憶領域４６２に記憶されているシーケンスＩＤの値を「１」加算して更新する（Ｓ５１１）。そして、通信制御処理部４６１ａは、ネットワークアダプタ４７を制御して、シーケンスＩＤ記憶領域４６２に記憶されているシーケンスＩＤ、及び、セッションＩＤ記憶領域４６３に記憶されているセッションＩＤを付加したセッションＩＤ確立のリクエスト１０５９０を、サーバ管理装置１０５へ送信する（Ｓ５１２）。このリクエスト１０５９０は、図１８に示されるリクエスト１０５９０である。そして、通信制御処理部４６１ａは、タイマ４６１１ａをリセットする（Ｓ５１３）。
【０１１５】
その後、通信制御処理部４６１ａは、ネットワークアダプタ４７を介して、ネットワーク管理装置１０５より、レスポンス１０５９１が受信できたかを確認する（Ｓ５１４）。Ｓ５１４の処理において、レスポンス１０５９１が受信できない場合、通信制御処理部４６１ａは、タイマ４６１１ａの値が所定時間以上となったか（タイムアウトしたか）を確認する（Ｓ５１５）。本実施の形態では、この所定時間は、１分とする。即ち、本実施の形態のＳ５１５の処理において、通信制御処理部４６１ａは、タイマ４６１１ａが１分以上となったかを確認している。
【０１１６】
通信制御処理部４６１ａは、Ｓ５１５の処理において、タイムアウトしていないと判定した場合、Ｓ５１４の処理へ移行する。また、通信制御処理部４６１ａは、Ｓ５１５の処理にて、タイムアウトしたと判定した場合、Ｓ５１１の処理へ移行する。
【０１１７】
Ｓ５１１の処理は、上記したように、シーケンスＩＤを１加算する処理であるので、Ｓ５１５からＳ５１１へ移行した場合、Ｓ５１２のセッションＩＤ確立のリクエスト１０５９０は、コマンド１０５９０ｅの内容自体は同じ「Ａｃｔｉｖｅ  Ｓｅｓｓｉｏｎ」であるが、前に送信したシーケンスＩＤの値より「１」大きい値のシーケンスＩＤが付与される事になる。
【０１１８】
通信制御処理部４６１ａは、Ｓ５１４の処理にて、ネットワーク管理装置１０５よりレスポンス１０５９１を受信したと判定した場合、レスポンス１０５９１に含まれるシーケンスＩＤを確認する（Ｓ５１６）。この処理は、Ｓ５０８の処理同様、最後に送信したリクエスト１０５９０に対応したレスポンス１０５９１以外は無効であるとして処理を行うことを目的として成される処理である。
【０１１９】
ここで、受信したレスポンス１０５９１に含まれるシーケンスＩＤ１０５９１ｄがシーケンスＩＤ記憶領域４６２に記憶されているシーケンスＩＤと異なっていれば、通信制御処理部４６１ａは、Ｓ５１４の処理へ移行する。
【０１２０】
また、Ｓ５１６の処理において、受信したレスポンス１０５９１に含まれるシーケンスＩＤ１０５９１ｄがシーケンスＩＤ記憶領域４６２に記憶されているシーケンスＩＤと同じであれば、通信制御処理部４６１ａは、図３２のＳ５１８の処理へ移行する。Ｓ５１８の処理において、通信制御処理部４６１ａは、シーケンスＩＤ記憶領域４６２に記憶されているシーケンスＩＤの値を「１」加算して更新する（Ｓ５１８）。そして、通信制御処理部４６１ａは、ネットワークアダプタ４７を制御して、シーケンスＩＤ記憶領域４６２に記憶されているシーケンスＩＤ、及び、セッションＩＤ記憶領域４６３に記憶されているセッションＩＤを付加し、Ｓ５０１の入力に対応するコマンド（通常コマンド）のリクエスト１０５９０を、サーバ管理装置１０５へ送信する（Ｓ５１９）。このリクエスト１０５９０は、図２３に示されるリクエスト１０５９０である。そして、通信制御処理部４６１ａは、タイマ４６１１ａをリセットする（Ｓ５２０）。
【０１２１】
その後、通信制御処理部４６１ａは、ネットワークアダプタ４７を介して、ネットワーク管理装置１０５より、レスポンス１０５９１が受信できたかを確認する（Ｓ５２１）。Ｓ５２１の処理において、レスポンス１０５９１が受信できない場合、通信制御処理部４６１ａは、タイマ４６１１ａのタイマが所定時間以上となったか（タイムアウトしたか）を確認する（Ｓ５２２）。本実施の形態では、この所定時間は、１分とする。即ち、本実施の形態のＳ５２２の処理において、通信制御処理部４６１ａは、タイマ４６１１ａが１分以上となったかを確認している。
【０１２２】
通信制御処理部４６１ａは、Ｓ５２２の処理において、タイムアウトしていないと判定した場合、Ｓ５２１の処理へ移行する。また、通信制御処理部４６１ａは、Ｓ５２２の処理にて、タイムアウトしたと判定した場合、Ｓ５１８の処理へ移行する。
【０１２３】
Ｓ５１８の処理は、上記したように、シーケンスＩＤを１加算する処理であるので、Ｓ５２２からＳ５１８へ移行した場合、Ｓ５１９の通常コマンドのリクエスト１０５９０は、コマンド１０５９０ｅの内容自体は同じであるが、前に送信したシーケンスＩＤの値より「１」大きい値のシーケンスＩＤが付与される事になる。
【０１２４】
通信制御処理部４６１ａは、Ｓ５２１の処理にて、ネットワーク管理装置１０５よりレスポンス１０５９１を受信したと判定した場合、レスポンス１０５９１に含まれるシーケンスＩＤ１０５９１ｄを確認する（Ｓ５２３）。この処理は、Ｓ５０８の処理同様、最後に送信したリクエスト１０５９０に対応したレスポンス１０５９１以外は無効であるとして処理を行うことを目的として成される処理である。
【０１２５】
ここで、受信したレスポンス１０５９１に含まれるシーケンスＩＤ１０５９１ｄがシーケンスＩＤ記憶領域４６２に記憶されているシーケンスＩＤと異なっていれば、通信制御処理部４６１ａは、Ｓ５２１の処理へ移行する。
【０１２６】
また、Ｓ５２３の処理において、受信したレスポンス１０５９１に含まれるシーケンスＩＤ１０５９１ｄがシーケンスＩＤ記憶領域４６２に記憶されているシーケンスＩＤと同じであれば、通信処理制御部４６１ａは、Ｓ５２４の処理へ移行する。すなわち、通信処理制御部４６１ａは、受信したレスポンス１０５９１の内容がセッションタイムアウトを示すものかを確認する（Ｓ５２４）。
【０１２７】
ここで、セッションタイムアウトを示すレスポンス１０５９１と判断した場合、Ｓ５３３の処理へ移行する。Ｓ５３３の処理は、セッションＩＤ記憶領域４６３に記憶されているセッションＩＤを削除する事で、セッションＩＤを破棄する処理である。
【０１２８】
Ｓ５２４において、セッションタイムアウトではないと判断した場合、通信制御処理部４６１ａは、ディスプレイ制御ユニット４８を制御し、ディスプレイ４９に、レスポンス１０５９１に含まれる処理結果を表示する（Ｓ５２５）。
【０１２９】
そして、通信制御処理部４６１ａは、シーケンスＩＤ記憶領域４６２に記憶されているシーケンスＩＤの値を「１」加算して更新する（Ｓ５２６）。そして、通信制御処理部４６１ａは、ネットワークアダプタ４７を制御して、シーケンスＩＤ記憶領域４６２に記憶されているシーケンスＩＤ、及び、セッションＩＤ記憶領域４６３に記憶されているセッションＩＤを付加し、セッション開放のリクエスト１０５９０を、サーバ管理装置１０５へ送信する（Ｓ５２７）。そして、通信制御処理部４６１ａは、タイマ４６１１ａをリセットする（Ｓ５２８）。
【０１３０】
その後、通信制御処理部４６１ａは、ネットワークアダプタ４７を介して、ネットワーク管理装置１０５より、レスポンス１０５９１が受信できたかを確認する（Ｓ５２９）。Ｓ５２９の処理において、レスポンス１０５９１が受信できない場合、通信制御処理部４６１ａは、タイマ４６１１ａのタイマが所定時間以上となったか（タイムアウトしたか）を確認する（Ｓ５３０）。本実施の形態では、この所定時間は、１分とする。即ち、本実施の形態のＳ５３０の処理において、通信制御処理部４６１ａは、タイマ４６１１ａが１分以上となったかを確認している。
【０１３１】
通信制御処理部４６１ａは、Ｓ５３０の処理において、タイムアウトしていないと判定した場合、Ｓ５２９の処理へ移行する。また、通信制御処理部４６１ａは、Ｓ５３０の処理にて、タイムアウトしたと判定した場合、Ｓ５２６の処理へ移行する。
【０１３２】
Ｓ５２６の処理は、上記したように、シーケンスＩＤを１加算する処理であるので、Ｓ５３０からＳ５２６へ移行した場合、Ｓ５２７の通常のリクエスト１０５９０は、コマンド１０５９０ｅの内容自体は同じであるが、前に送信したシーケンスＩＤの値より「１」大きい値のシーケンスＩＤが付与される事になる。
【０１３３】
通信制御処理部４６１ａは、Ｓ５２９の処理にて、ネットワーク管理装置１０５よりレスポンス１０５９１を受信したと判定した場合、レスポンス１０５９１に含まれるシーケンスＩＤ１０５９１ｄを確認する（Ｓ５３１）。この処理は、Ｓ５０８の処理同様、最後に送信したリクエスト１０５９０に対応したレスポンス１０５９１以外は無効であるとして処理を行うことを目的として成される処理である。
【０１３４】
ここで、受信したレスポンス１０５９１に含まれるシーケンスＩＤ１０５９１ｄがシーケンスＩＤ記憶領域４６２に記憶されているシーケンスＩＤと異なっていれば、通信制御処理部４６１ａは、Ｓ５５２９の処理へ移行する。
【０１３５】
また、Ｓ５３１の処理において、受信したレスポンス１０５９１に含まれるシーケンスＩＤ１０５９１ｄがシーケンスＩＤ記憶領域４６２に記憶されているシーケンスＩＤと同じであれば、通信処理制御部４６１ａは、Ｓ５３３の処理へ移行する。Ｓ５３３の処理は、セッションＩＤ記憶領域４６３に記憶されているセッションＩＤを削除する事で、セッションＩＤを破棄する処理である。
【０１３６】
以上の処理でわかるように、本実施の形態の監視者端末４ａは、リクエスト１０５９０を送信するごとにシーケンスＩＤ１０５９０ｄの値を１ずつ加算する。また、監視者端末４ａは、タイムアウトがあれば、シーケンスＩＤ１０５９０ｄの値が異なる同じリクエスト１０５９０を送信する。加えて、最後に送信したリクエスト１０５９０に含まれるシーケンスＩＤ１０５９０ｄと同じ値を含むレスポンス１０５９１のみを有効とする処理を行なう。
【０１３７】
以上の様な処理を実行する、監視者端末４ａ、４ｂ、コマンド処理部１０６０ａ、及び、セッション管理部１０６１ａを含む状態サーバ管理装置１０５を有した、本実施の形態のサーバシステム１の処理について、図３３以降のタイムチャートを使用して、以下説明する。なお、以下の処理では、監視者端末４ａとのセッションを例に説明する。
【０１３８】
まず、監視者端末４ａの監視者が、処理要求を入力すると（Ｓ４００１）、監視者向けネットワーク３を経由して、セッションＩＤ取得依頼のリクエスト１０５９０を、サーバ管理装置１０５へ送信する（Ｓ４００３）。このＳ４００１〜Ｓ４００３の処理は、図３１に示すＳ５０１〜Ｓ５０５の処理に基づく。
【０１３９】
このリクエスト１０５９０をネットワークアダプタ１０５３経由で受信したネットワーク通信処理部１０５８ａの受信処理部１０５８２は（Ｓ４００４）、該リクエスト１０５９０を受信キュー１０５８１に格納する（Ｓ４００５）。
【０１４０】
コマンド処理部１０６０ａは、受信キュー１０５８１より、このセッションＩＤ取得依頼のリクエスト１０５９０を取り出すと、セッション管理部１０６１ａへ、セッションＩＤ取得依頼を送信する（Ｓ４００６）。このコマンド処理部２０６０ａのＳ４００５の処理は、図１０で示した、Ｓ２００６〜Ｓ２００８の処理に基づくものである。
【０１４１】
このセッションＩＤ取得依頼を受信したセッション管理部１０６１ａは、セッションタイマ１０６１１を起動する処理を行なう（Ｓ４００７）とともに生成したセッションＩＤを含むレスポンスコマンド処理部１０６０ａへ送信する（Ｓ４００８）。このセッション管理部１０６１ａの処理は、図２９のＳ３００３〜Ｓ３００６の処理に基づくものである。
【０１４２】
コマンド処理部２０６０ａは、このセッションＩＤを含むレスポンス１０６１３を受信すると、受信したセッションＩＤを含む監視者端末４ａ宛のレスポンス１０５９１を生成し（Ｓ４００９）、送信キュー１０５８３へ格納する（Ｓ４０１０）。この処理は、図１０のＳ２００９〜Ｓ２０１１の処理に基づくものである。
【０１４３】
そして、ネットワーク通信処理部１０５８ａの送信処理部１０５８４は、このレスポンス１０５９１を送信キュー１０５８３から取り出し、ネットワークアダプタ１０５３を制御して、監視者ネットワーク３を介し、監視者端末４ａへ送信する（Ｓ４０１１）。
【０１４４】
このレスポンス１０５９１を受信した監視者端末４ａは（Ｓ４０１２）、以降、このレスポンス１０５９１に含まれるセッションＩＤ１０５９１ｃの値を含むリクエスト１０５９０を送信する。また、監視者端末４ａは、リクエスト１０５９０毎にユニークなリクエストＩＤ１０５９０ｄを付加して送信している。
【０１４５】
また、このレスポンス１０５９１を受信した監視者端末４ａは（Ｓ４０１２）、監視者向けネットワーク３を介して、サーバ管理装置１０５へセッション確立のリクエスト１０５９０を送信する（Ｓ４０１３）。これらＳ４０１２、Ｓ４０１３の処理は、図３１のＳ５０６〜Ｓ５１３の処理に基づく。
このリクエスト１０５９０を、ネットワークアダプタ１０５３を介して受信したネットワーク通信処理部１０５８ａの受信処理部１０５８２は（Ｓ４０１４）、該リクエスト１０５９０を受信キュー１０５８１へ格納する（Ｓ４０１５）。
【０１４６】
その後、コマンド処理部１０６０ａは、このリクエスト１０５９０を取り出し（Ｓ４０１６）、セッション確立のリクエスト１０５９０である事を判断すると、セッション管理部１０６１ａへセッション確立依頼を送信する（Ｓ４０１７）。この処理は、図１７のＳ２０１２〜Ｓ２０１３の処理に基づく処理である。
【０１４７】
この依頼を受信したセッション監視部１０６１ａは、セッションの有効性を確認した後（Ｓ４０１８）、タイマーをリセットし（Ｓ４０１９）、コマンド処理部１０６０ａへ、レスポンス１０６１３を送信する（Ｓ４０２０）。
【０１４８】
このレスポンス１０６１３を受信したコマンド処理部１０６０ａは（Ｓ４０２１）、セッション確立許可のレスポンス１０５９１を送信キュー１０５８３に格納する（Ｓ４０２２）。この処理は、図１７のＳ２０１４〜Ｓ２０１７の処理に基づくものである。
【０１４９】
そして、ネットワーク通信処理部１０５８ａの送信処理部１０５８４は、このレスポンス１０５９１を送信キュー１０５８３から取り出し、ネットワークアダプタ１０５３を制御して、監視者ネットワーク３を介し、監視者端末４ａへ送信する（Ｓ４０２３）。
【０１５０】
このレスポンス１０５９１を受信した監視者端末４ａは（Ｓ４０２４）、監視者向けネットワーク３セッション確立のリクエスト１０５９０を、サーバ管理装置１０５へ通常のリクエスト１０５９０を送信する（図３４：Ｓ４０２５）。これらＳ４０２３、Ｓ４０２４の処理は、図３１，３２のＳ５１４〜Ｓ５２０の処理に基づく。
【０１５１】
このリクエスト１０５９０を、ネットワークアダプタ１０５３を介して受信したネットワーク通信処理部１０５８ａの受信処理部１０５８２は（Ｓ４０２６）、該リクエスト１０５９０を受信キュー１０５８１へ格納する（Ｓ４０２７）。
【０１５２】
コマンド処理部１０６０ａは、受信キュー１０５８１より、このリクエスト１０５９０を取り出すと（Ｓ４０２８）、セッション管理部１０６１ａへ、セッション有効性の確認要求のリクエスト１０６０２を送信する（Ｓ４０２９）。この処理は、図２２のＳ２０１８〜Ｓ２０１９の処理に基づく。
【０１５３】
そして、このリクエスト１０６０２を受信したセッション管理部１０６１ａは、セッションの有効性の確認処理を行なう（Ｓ４０３０）とともに、セッションが有効であれば、セッションタイマ１０６１１のリセットを行い（Ｓ４０３１）、該確認結果のレスポンス１０６１３をコマンド処理部１０６０ａへ送信する（Ｓ４０３２）。この処理は、図３０のＳ３０１４〜Ｓ３０１８の処理に基づくものである。
【０１５４】
このレスポンス１０６１３を受信したコマンド処理部１０６０ａは、監視者端末４ａから前回と異なるリクエスト１０５９０を受信したと判断すれば、該リクエスト１０５９０に対する、各機器への指示を行なう（Ｓ４０３２）。Ｓ４０３２の処理の段階では、それ以前に同一リクエスト１０５９０が送信されていないため、コマンド処理部１０６０ａは、各機器へリクエスト１０５９０に応じた指示を行なう。この処理は、図２２のＳ２０２０〜Ｓ２０２２，Ｓ２０２５，Ｓ２０２６の処理に基づく。
【０１５５】
監視者端末４ａは、所定時間内（本実施の形態では１分以内）にネットワーク通信処理部１０５８ａからのレスポンス１０５９１を受信できない場合、Ｓ４０２５の処理で送信したリクエスト１０５９０を再送信する処理を行なう機能を有している。
【０１５６】
このため、コマンド処理部１０６０ａが、リクエスト１０５９０に対する処理に時間がかかり、１分以内に監視者端末４ａへレスポンス１０５９１を送信できなかった場合、監視者端末４ａは、Ｓ４０２５の処理にて送信したリクエスト１０５９０を再送信する（Ｓ４０３５・Ｓ４０３６）。これらの処理は、図３２のＳ５１８〜Ｓ５２２の処理に基づく。
【０１５７】
この再送信されたリクエスト１０５９０を、ネットワークアダプタ１０５３を介して受信したネットワーク通信処理部１０５８ａの受信処理部１０５８２は（Ｓ４０３７）、該リクエスト１０５９０を受信キュー１０５８１へ格納する（Ｓ４０３８）。
【０１５８】
コマンド処理部１０６０ａは、このリクエスト１０５９０を取り出し（Ｓ４０３９）、セッション管理部１０６１ａへセッション確認要求のリクエスト１０６０２を行なう（Ｓ４０４０）。またコマンド処理部１０６０ａは、取り出したリクエスト１０５９０を前回のリクエスト１０５９０と同じと判断すると、そのリクエスト１０５９０の処理は実行しない（Ｓ４０４１）。これらの処理は、図２２のＳ２０１８〜Ｓ２０２２，Ｓ２０２５の処理に基づく。
【０１５９】
セッション管理部２０６１は、Ｓ４０３０〜Ｓ４０３２の処理と同様、セッションの有効性確認、及び、セッションタイマ１０６１１のリセットを行なう（Ｓ４０４２）。
【０１６０】
その後、コマンド処理部１０６０ａにおいて、Ｓ４０２５で監視者端末４ａから送信されたリクエスト１０５９０に対応する処理が完了すると（Ｓ４０４５）、コマンド処理部１０６０ａは、シーケンスＩＤ管理テーブル１０６０１の記憶内容を削除した後、再送信のシーケンスＩＤを付して該処理結果のレスポンス１０５９１を生成する（Ｓ４０４４）。そして、コマンド処理部１０６０ａは、生成したレスポンス１０５９１を送信キュー１０５８３へ格納する（Ｓ４０４５）。この処理は、図２７の処理に基づく。
【０１６１】
その後も、監視者端末４ａから、セッション開放のリクエスト１０５９０が送信されるまで、同様のコマンド処理が実行される事となる。
【０１６２】
このように、コマンド処理部１０６０ａは、監視者端末４ａからのリクエスト１０５９０が再送と判断した場合、セッション管理部１０６１ａに、セッション１０６１ｂが有効かの確認要求のリクエスト１０６０２を行なうものの、そのリクエスト１０５９０に対応した処理は実行しない。セッション管理部１０６１ａは確認要求のリクエスト１０６０２を受信するたびにセッションタイマ１０６１１をリセットするため、監視者端末４ａもしくは４ｂが、セッションタイムアウトの時間より短い間隔で再送を行なえば、セッションタイムアウトになることはない。
【０１６３】
そして、コマンド処理部１０６０ａは、前回のシーケンスＩＤ及び今回のシーケンスＩＤの双方をシーケンスＩＤ管理テーブル１０６０１に記憶させておき、各機器からのレスポンス１０５９１のシーケンスＩＤ１０５９１ｄが、記憶されているそのシーケンスＩＤのいずれかと一致すればそのレスポンス１０５９１は有効としている。更に各機器から情報が全て収集された場合、監視者端末４ａ、もしくは、４ｂからの最新のリクエスト１０５９０に付されたシーケンスＩＤ１０５９０ｄを含むレスポンス１０５９１を送信する。
【０１６４】
これら一連の処理によって、監視者端末４ａもしくは４ｂからリクエスト１０５９０が再送された場合は、その再送に対しては処理を行わず、その前の同一リクエスト１０５９０に対する各機器からの情報を元に、監視者端末４ａ若しくは４ｂへのレスポンス１０５９１を生成する事になる。
【０１６５】
以上によってサーバ管理装置１０５は、既に処理中のリクエスト１０５９０が再送された場合、再送されたリクエスト１０５９０の処理を行わないようにすることで、各機器へリクエスト１０５９０の送信及びそのリクエスト１０５９０による各機器の処理を増やすことがなくなる。
【０１６６】
また、単に再送リクエスト１０５９０による重複した処理を回避するだけであるのなら、再送のリクエスト１０５９０から送られてきた時点で、現状の処理を中止し、新たに再送リクエスト１０５９０の処理を開始することが考えられる。しかしながら、上記したように再送のリクエスト１０５９０は、前回のリクエスト１０５９０と同じリクエスト１０５９０である。即ち、監視者端末４ａのタイムアウトが発生してしまうほど時間を要するリクエスト１０５９０の場合、再送されるリクエスト１０５９０を受けて処理を行なったとしても、該再送されたリクエスト１０５９０の処理が再びタイムアウトなる可能性が高い。
【０１６７】
これに対し、本実施の形態は、再送リクエスト１０５９０に対し、前回のリクエスト１０５９０に基づいてレスポンス１０５９１を送信するので、見かけ上の再送のリクエスト１０５９０に対する応答速度を早くし、コマンド処理部１０６０ａの処理中に再度再送のリクエスト１０５９０が送られてしまう可能性を低くすることが可能となる。
【０１６８】
更にシーケンスＩＤ管理テーブル１０６０１に、前回監視者端末４ａ、もしくは、４ｂから送られるリクエスト１０５９０のコマンドの記憶領域を設けておき、監視者端末４ａ若しくは４ｂを受信したリクエスト内のコマンドと比較して、再送を判別している。
【０１６９】
これにより、本実施の形態では再送されるリクエスト１０５９０に再送を識別する情報が付されていないとしても、監視者端末４ａ、もしくは、４ｂから送られてきたリクエスト１０５９０が再送か否かを判断することが可能となる。
【０１７０】
なお、本実施の形態では、各機器に設置されているセンサの検出を監視者端末４ａもしくは４ｂに送信する例を示した。しかしながら、これに限らず、例えば、監視者端末４ａ若しくは４ｂから電源装置１０４の起動など、各機器への制御指示のリクエスト１０５９０を受信し、サーバ管理装置１０５が、各機器へ該制御指示を行ない、その制御結果を監視者端末４ａ、４ｂへ行う場合に適用しても良い。
【０１７１】
また、本実施の形態では、同一種類の機器・センサの検出の例を示したが、複数のセンサの結果を収集した場合において適用してもよい。この場合、サーバ管理装置１０５が、各センサからの検出結果自体を直接監視者端末４ａ若しくは４ｂへ送信するのではなく、複数のセンサの検出結果を分析し、その分析結果を出力しても良い。
【符号の説明】
【０１７２】
１            サーバシステム
１１          サーバラック
１０１ａ〜ｎ  システムボード
１０２ａ，ｂ  ディスク装置
１０３ａ，ｂ  ファン
１０４        電源装置
１０５        サーバ管理装置
１０６        Ｉ２Ｃ（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）
１０１４ａ〜ｎ  ＣＰＵ
１０１１ａ〜ｎ  温度センサ
１０１２ａ〜ｎ  通信インターフェース
１０１３ａ〜ｎ  ネットワークアダプタ
１０２ａ，ｂ    ディスク装置
１０２１ａ，ｂ  温度センサ
１０２２ａ，ｂ      通信インターフェース
１０２３ａ，ｂ  ネットワークアダプタ
１０３ａ，ｂ    ファン
１０３１ａ、ｂ  速度センサ
１０３２ａ，ｂ  通信インターフェース
３              外部電源
１０４１        電圧センサ
１０４２          通信インターフェース
１０５２          内部バス
１０５１          通信インターフェース
１０５３          ネットワークアダプタ
１０５４          ＣＰＵ（中央処理装置）
１０５５          ＲＡＭ（読み書き兼用メモリ）
１０５６          ＲＯＭ（読み出し専用メモリ）
１０５７          ハードディスク装置
１０５８ａ        ネットワーク通信処理部
１０６０ａ        コマンド処理部
１０６１ａ        セッション管理部
【図１】
2012203750.tif 000003
【図２】
2012203750.tif 000004
【図３】
2012203750.tif 000005
【図４】
2012203750.tif 000006
【図５】
2012203750.tif 000007
【図６】
2012203750.tif 000008
【図７】
2012203750.tif 000009
【図８】
2012203750.tif 000010
【図９】
2012203750.tif 000011
【図１０】
2012203750.tif 000012
【図１１】
2012203750.tif 000013
【図１２】
2012203750.tif 000014
【図１３】
2012203750.tif 000015
【図１４】
2012203750.tif 000016
【図１５】
2012203750.tif 000017
【図１６】
2012203750.tif 000018
【図１７】
2012203750.tif 000019
【図１８】
2012203750.tif 000020
【図１９】
2012203750.tif 000021
【図２０】
2012203750.tif 000022
【図２１】
2012203750.tif 000023
【図２２】
2012203750.tif 000024
【図２３】
2012203750.tif 000025
【図２４】
2012203750.tif 000026
【図２５】
2012203750.tif 000027
【図２６】
2012203750.tif 000028
【図２７】
2012203750.tif 000029
【図２８】
2012203750.tif 000030
【図２９】
2012203750.tif 000031
【図３０】
2012203750.tif 000032
【図３１】
2012203750.tif 000033
【図３２】
2012203750.tif 000034
【図３３】
2012203750.tif 000035
【図３４】
2012203750.tif 000036