(57)【要約】遅延ストレージ装置は、利用者端末からの処理要求を受け付け、処理要求の識別子と受付日時を情報管理テーブルに登録して、識別子を含む回答メッセージを返送する。そして、処理装置の性能に応じて処理要求の転送速度を調整しながら、受け付けた処理要求を処理装置に中継する。
2004102396.tif 000002
【特許請求の範囲】
【請求項１】
利用者から処理装置への処理要求を受け付けて該処理装置へ中継する遅延ストレージ装置であって、
前記処理要求を受け付ける受付部と、
受け付けた処理要求を一時的に格納する要求格納部と、
受け付けた処理要求の受付時刻を格納する管理部と、
前記処理装置の性能に応じて処理要求の転送速度を調整しながら、前記受付時刻順に処理要求を該処理装置に中継する中継部と
を備えることを特徴とする遅延ストレージ装置。
【請求項２】
前記中継部は、指定された単位時間当たりの処理要求件数を受け取り、前記処理装置に送信される単位時間当たりの処理要求件数が該指定された単位時間当たりの処理要求件数を越えないように、前記処理要求の転送速度を調整することを特徴とする請求項１記載の遅延ストレージ装置。
【請求項３】
前記中継部は、指定された遅延時間を受け取り、受け付けた処理要求の受付時刻から該指定された遅延時間が経過した後に、該処理要求を前記処理装置に中継することを特徴とする請求項１記載の遅延ストレージ装置。
【請求項４】
前記中継部は、中継停止の指示を受け取ったとき、次に中継再開の指示を受け取るまで処理要求の中継を停止することを特徴とする請求項１記載の遅延ストレージ装置。
【請求項５】
前記中継部は、前記処理装置の負荷状況を検知し、検知した負荷状況に基づいて前記処理要求の転送速度を調整することを特徴とする請求項１記載の遅延ストレージ装置。
【請求項６】
前記処理装置に中継された処理要求に対して該処理装置から返送された処理結果を格納する結果格納部をさらに備え、前記受付部は、処理要求を一意に識別するための識別子を発行して、該処理要求の要求元に該識別子を返送し、該要求元が該識別子を用いて該処理要求に対する処理結果を要求したとき、該結果格納部から対応する処理結果を読み出して該要求元に送信することを特徴とする請求項１記載の遅延ストレージ装置。
【請求項７】
前記受付部は、受け付けた処理要求の中継が遅延する場合、中継遅延理由に応じてあらかじめ決められた遅延メッセージを、該処理要求に対する回答として該処理要求の要求元に返送することを特徴とする請求項１記載の遅延ストレージ装置。
【請求項８】
前記処理装置に中継された処理要求に対して該処理装置から返送された処理結果を格納する結果格納部をさらに備え、前記受付部は、処理要求を一意に識別するための識別子を発行し、該識別子と予測される中継遅延時間を含む遅延メッセージを生成して前記要求元に返送し、該要求元が該識別子を用いて該処理要求に対する処理結果を要求したとき、該結果格納部から対応する処理結果を読み出して該要求元に送信することを特徴とする請求項７記載の遅延ストレージ装置。
【請求項９】
利用者から処理装置への処理要求を受け付けて該処理装置へ中継するコンピュータのためのプログラムであって、
前記処理要求を受け付け、
受け付けた処理要求を一時的に格納し、
受け付けた処理要求の受付時刻を発行し、
前記処理装置の性能に応じて処理要求の転送速度を調整しながら、前記受付時刻順に処理要求を該処理装置に中継する
処理を前記コンピュータに実行させることを特徴とするプログラム。
【請求項１０】
利用者から処理装置への処理要求を受け付けて該処理装置へ中継するコンピュータのためのプログラムを記録した記録媒体であって、該プログラムは、
前記処理要求を受け付け、
受け付けた処理要求を一時的に格納し、
受け付けた処理要求の受付時刻を発行し、
前記処理装置の性能に応じて処理要求の転送速度を調整しながら、前記受付時刻順に処理要求を該処理装置に中継する
処理を前記コンピュータに実行させることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１１】
利用者から処理装置への処理要求を受け付けて該処理装置へ中継するコンピュータにプログラムを搬送する搬送信号であって、該プログラムは、
前記処理要求を受け付け、
受け付けた処理要求を一時的に格納し、
受け付けた処理要求の受付時刻を発行し、
前記処理装置の性能に応じて処理要求の転送速度を調整しながら、前記受付時刻順に処理要求を該処理装置に中継する
処理を前記コンピュータに実行させることを特徴とする搬送信号。
【請求項１２】
利用者から処理装置への処理要求を受け付けて該処理装置へ中継する遅延処理方法であって、
前記処理要求を受け付け、
受け付けた処理要求を一時的に蓄積し、
受け付けた処理要求の受付時刻を発行し、
前記処理装置の性能に応じて処理要求の転送速度を調整しながら、前記受付時刻順に処理要求を該処理装置に中継し、
前記処理装置が、中継された処理要求の処理を実行して処理結果を出力することを特徴とする遅延処理方法。
【発明の詳細な説明】
【技術分野】  本発明は、利用者からの処理要求を受けて逐次的に処理を行う処理装置の前段に配置され、高速かつ大量に送信されてくる処理要求を後段の処理装置に逐次入力していく際に、その処理要求を一時的に蓄え、利用者の要求や後段の処理装置の性能に応じて処理要求速度を制御する遅延ストレージ装置および遅延処理方法に関する。
【背景技術】  従来のＷｅｂサーバ等の処理装置では、システムの負荷を軽減するために、複数の処理装置に処理要求を振り分けるためのドメインネームサーバ（ＤＮＳ）を配置して、利用者からの処理要求を中継する、ラウンドロビン技術が用いられている（例えば、非特許文献１および特許文献１参照）。この技術では、クライアントからは複数のサーバが仮想的に１つのサーバに見えるが、実際には複数のサーバに処理要求が振り分けられる。
また、プロキシサーバと呼ばれる装置が、利用者と処理装置の間に配置され、利用者からの処理要求を記録するとともに、処理装置からの処理結果を記録しておく技術も用いられている（例えば、特許文献２参照）。この技術では、同じ処理要求が再び同一あるいは別の利用者から行われた場合に、後段の処理装置に処理要求を中継せずに、記録されている処理結果を後段の処理装置の処理結果として利用者に返すことができる。
【非特許文献１】“高性能かつ高可用性クラスタシステムの構築”、３ページ、１．１  ロード・バランシングの種類、［ｏｎｌｉｎｅ］、２０００年６月１６日、Ｚｅｕｓ  Ｔｅｃｈｎｏｌｏｇｙ−技術資料−技術情報、［平成１５年３月７日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｊｐ．ｚｅｕｓ．ｃｏｍ／ｌｉｂｒａｒｙ／ｔｅｃｈｎｉｃａｌ／ｃｌｕｓｔｅｒ／ｉｎｄｅｘ．ｈｔｍｌ＞
【特許文献１】特開２００２−０５７６９１号公報
【特許文献２】特開２００２−２５９３３８号公報
しかしながら、上述した従来の技術には、次のような問題がある。
従来のラウンドロビン技術をもってしても、振り分け対象となる複数の処理装置のすべてが高負荷な状態になった場合には、利用者からの処理要求は、回答されることなしに待たされることになる。
また、プロキシ技術では、初めて受け付けた処理要求に対しては処理結果が記録されていないため、その処理要求は後段の処理装置にそのまま中継される。このため、プロキシサーバがあったとしても、後段の処理装置が高負荷な状態にある場合には、利用者からの処理要求は、回答されることなしに待たされることになる。
実際には、後段の処理装置の処理性能（例えば、単位時間当たりの処理件数）の上限が決まっている場合が多く、それを越える処理要求が送られると、処理装置のあふれを招き、さらに処理時間の遅延につながる。
【発明の開示】
本発明の課題は、高速かつ大量に送信されてくる処理要求を後段の処理装置に逐次入力していく際に、処理装置のあふれを防止する遅延ストレージ装置および遅延処理方法を提供することである。
本発明のもう１つの課題は、処理要求を送信した利用者が回答されることなしに待たされる状況を回避することである。
図１は、本発明の遅延ストレージ装置の原理図である。図１の遅延ストレージ装置は、受付部１０１、要求格納部１０２、管理部１０３、および中継部１０４を備え、利用者１０５から処理装置１０６への処理要求を受け付けて処理装置１０６へ中継する。
受付部１０１は、処理要求を受け付け、要求格納部１０２は、受け付けた処理要求を一時的に格納する。管理部１０３は、受け付けた処理要求の受付時刻を格納し、中継部１０４は、処理装置１０６の性能に応じて処理要求の転送速度を調整しながら、受付時刻順に処理要求を処理装置１０６に中継する。
中継部１０４は、例えば、以下のような方法で処理要求の転送速度を調整する。
（１）指定された単位時間当たりの処理要求件数を受け取り、処理装置１０６に送信される単位時間当たりの処理要求件数が指定された単位時間当たりの処理要求件数を越えないように、処理要求の転送速度を調整する。
（２）指定された遅延時間を受け取り、受け付けた処理要求の受付日時から指定された遅延時間が経過した後に、その処理要求を処理装置１０６に中継する。
（３）中継停止の指示を受け取ったとき、次に中継再開の指示を受け取るまで処理要求の中継を停止する。
（４）処理装置１０６の負荷状況を検知し、検知した負荷状況に基づいて処理要求の転送速度を調整する。
このように、処理要求を受け付けて処理装置１０６への転送速度を調整する遅延ストレージ装置を、処理装置１０６の前段に設けることにより、処理装置１０６の性能に応じて処理要求の中継を遅延させることが可能となり、処理装置のあふれが防止される。また、処理要求とともにその受付時刻を格納することにより、処理要求を受付順に処理装置１０６へ転送することができる。
また、遅延ストレージ装置は、処理装置１０６に中継された処理要求に対して処理装置１０６から返送された処理結果を格納する結果格納部１０７をさらに備える。受付部１０１は、処理要求を一意に識別するための識別子を発行して、処理要求の要求元（利用者１０５の端末等）にその識別子を返送し、その要求元が識別子を用いて処理要求に対する処理結果を要求したとき、結果格納部１０７から対応する処理結果を読み出して要求元に送信する。
このように、処理要求を受け付けたときに識別子を発行して要求元に返送することで、処理要求が受け付けられたことを利用者に通知することが可能となり、利用者が回答されることなしに待たされる状況が回避できる。また、結果格納部１０７を設けることで、要求元は、返送された識別子を用いて、先に送信した処理要求に対する処理結果を遅延ストレージ装置から取得することが可能となる。
図１の受付部１０１、要求格納部１０２、管理部１０３、中継部１０４、および結果格納部１０７は、例えば、後述する図２の処理要求受付部２１１、処理要求ファイル２１７、情報管理テーブル２１３、中継時間調整部２１４、および処理結果ファイル２１８にそれぞれ対応する。
【図面の簡単な説明】  図１は、本発明の遅延ストレージ装置の原理図である。
図２は、遅延ストレージシステムの構成図である。
図３は、処理要求を示す図である。
図４は、第１の遅延メッセージを示す図である。
図５は、第２の遅延メッセージを示す図である。
図６は、第３の遅延メッセージを示す図である。
図７は、第４の遅延メッセージを示す図である。
図８は、処理結果を示す図である。
図９は、情報管理テーブルを示す図である。
図１０は、処理要求ファイルを示す図である。
図１１は、処理結果ファイルを示す図である。
図１２は、遅延ストレージシステムの処理のフローチャートである。
図１３は、中継時間調整処理のフローチャートである。
図１４は、処理要求受付処理のフローチャートである。
図１５は、処理結果要求受付処理のフローチャートである。
図１６は、第１の運用方法を示す図である。
図１７は、第２の運用方法を示す図である。
図１８は、第１の遅延ストレージシステムを示す図である。
図１９は、第２の遅延ストレージシステムを示す図である。
図２０は、情報処理装置の構成図である。
図２１は、記録媒体を示す図である。
【発明を実施するための最良の形態】  以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
後段の処理装置では、通常、実質的な処理にかかる時間と処理の受付や回答にかかる時間の和によって単位時間当たりの処理件数の上限が決まっている。したがって、その前段に利用者からの処理要求を中継する装置を配置し、その装置により後段の処理装置の処理件数の上限を越えないように単位時間当たりの処理要求件数を調整することで、処理装置のあふれを防ぐことができる。
本実施形態の遅延ストレージ装置は、利用者からの処理要求を一時的に蓄積するバッファリング装置として用いられ、処理装置の性能に応じて処理要求の転送速度を制御する。この遅延ストレージ装置内には、処理要求を一時的に格納する記憶機構と、処理要求が到着した時刻を記録する機構が設けられる。処理要求の到着時刻を処理要求と併せて記録しておくことで、到着した処理要求を後段の処理装置に出力する際の順序を保証することができ、また、指定された遅延時間後に、到着した処理要求を指定された時間間隔や頻度で中継することが可能となる。
また、遅延ストレージ装置は、要求元から処理要求を受け付けた際に、処理要求を一意に識別するための識別子とあらかじめ決められた形式の回答を要求元に返すことができる。これにより、処理の要求元は、後で、その処理要求が後段の処理装置に出力されたかどうかをこの識別子を用いて遅延ストレージ装置に問い合わせたり、処理装置による処理結果を受け取ったりすることが可能となる。
例えば、Ｗｅｂサーバ等の処理装置の前段に遅延ストレージ装置を配置することで、Ｗｅｂサーバの性能上の要件に応じて、送られてくる処理要求の転送速度を制御することができる。例えば、処理要求の転送速度が毎秒１千トランザクションであって、Ｗｅｂサーバの処理速度が毎秒５００トランザクションであった場合に、Ｗｅｂサーバの処理速度に合わせて処理要求の転送速度を遅延させることが可能となる。
また、Ｗｅｂサーバの運用中にディスク装置等に障害が発生した場合でも、システムの運用を停止することなく、遅延ストレージ装置に処理要求を一時的に格納していき、その間にディスク装置の交換を行うことで、システムの運用を継続させることが可能となる。
図２は、このような遅延ストレージ装置を用いた遅延ストレージシステムの構成図である。図２の遅延ストレージシステムは、遅延ストレージ装置２０１、利用者端末２０２、管理端末２０３、および処理装置２０４からなる。実線の矢印は処理要求時の情報の流れを示しており、破線の矢印は処理結果要求時の情報の流れを示している。
利用者端末２０２は、利用者からの処理要求の入力と処理結果の表示に用いられ、管理端末２０３は、管理者による遅延時間の指定、中継停止／再開の指示、および単位時間当たりの処理要求件数の指定に用いられる。処理装置２０４は、遅延ストレージ装置２０１から受け取った処理要求に従って処理を実行し、処理結果を返す。
遅延ストレージ装置２０１は、処理要求受付部２１１、処理要求格納部２１２、情報管理テーブル２１３、中継時間調整部２１４、処理結果受付部２１５、および処理結果格納部２１６を備え、利用者端末２０２からの処理要求を後段の処理装置２０４に中継する。
処理要求受付部２１１は、利用者端末２０２からの処理要求を受け付け、受け付けた処理要求を識別する識別子と受付日時とを処理要求に付与し、利用者に対するメッセージを生成する。処理要求格納部２１２は、受け付けた処理要求を処理要求ファイル２１７に一時的に格納する。情報管理テーブル２１３は、処理要求の識別子、処理要求の受付日時、処理要求の中継状況、および処理要求と処理結果を結びつける管理情報を格納する。
中継時間調整部２１４は、格納された処理要求を処理装置２０４に中継する際に、時間的な調整を行ってから処理要求を送出する。処理結果受付部２１５は、処理装置２０４から処理結果を受け取り、その処理結果の受付日時を発行する。処理結果格納部２１６は、受け取った処理結果に受付日時を付与して、処理結果ファイル２１８に一時的に格納する。
中継時間調整部２１４は、処理装置２０４の負荷状況を検知し、検知した負荷状況や、管理端末２０３から指定された遅延時間および単位時間当たりの処理要求件数に応じて、中継のタイミングを調整する。さらに、中継時間調整部２１４は、管理端末２０３からの指示により中継の停止や再開を制御する。このような中継時間調整部２１４を設けることで、処理装置２０４のあふれを防ぐことが可能となる。
処理要求受付部２１１は、処理要求の中継に遅延がある際に、処理装置２０４の代わりに、処理に遅延が発生している旨のメッセージ（遅延メッセージ）を生成して利用者に回答する。また、受け付けた処理要求の識別子を利用者端末２０２に対して発行し、利用者端末２０２が後でその識別子に基づいて改めて処理結果を要求した際に、処理装置２０４からの処理結果を回答する。
利用者端末２０２は、遅延ストレージ装置２０１から受け取った遅延メッセージや処理要求の識別子を含むクッキーを、ローカルな保存ファイル２２１に保存しておき、後で処理結果を要求する際に読み出して使用する。このようなメッセージと識別子を用いることで、利用者は、処理要求の中継に遅延がある場合にも、待たされることなしにその旨を知ることができ、後で改めて処理結果を受け取ることも可能となる。
図３は、利用者からの処理要求の例を示している。この例では、処理装置２０４としてＷｅｂサーバを用いたチケットの予約受け付けシステムにおける処理要求が示されている。利用者端末２０２上で、利用者が予約フォーム３０１に名前３１１とコース番号３１２を入力し、予約ボタン３１３をクリックすると、Ｗｅｂブラウザは、入力された情報をＷｅｂサーバで処理可能な処理要求３０２に変換する。
図４から図６までは、処理要求の中継に遅延が発生する場合に利用者に返される遅延メッセージの例を示している。
図４は、遅延メッセージを保存する場合の例を示している。この例では、遅延メッセージ４０１は、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式の文書として利用者端末２０２に送られる。遅延メッセージ４０１には、サーバ負荷のため処理が遅延しており、終了まで３０分ほどかかる旨を示すテキストと、遅延ストレージ装置２０１が発行した、処理結果要求のためのリンク４１１とが含まれている。リンク４１１には、処理要求の識別子（ＩＤ＝５６７８）が付加されている。
利用者がメッセージの保存ボタン４１２をクリックすると、利用者端末２０２は、遅延メッセージ４０１を保存ファイル２２１に保存する。そして、遅延メッセージ４０１に書かれた遅延時間を経た後に利用者が処理結果を要求する際に、利用者端末２０２は、保存した遅延メッセージ４０１を保存ファイル２２１から読み出して、画面上に表示する。このとき、利用者は、リンク４１１をクリックすることで、遅延ストレージ装置２０１に対して処理結果を要求することができる。
図５は、クッキーを用いる場合の例を示している。一般に、利用者端末２０２のＷｅｂブラウザには、サーバからの指示に基づいて識別子等の情報を自動的に利用者端末側の保存ファイル２２１に保存しておく、クッキーと呼ばれる機能が備わっている。この機能を用いることで、遅延ストレージ装置２０１から利用者端末２０２に送付される遅延メッセージ５０１の中に、処理要求の識別子をクッキー５１１として含ませておくことができる。
利用者端末２０２は、受け付けたクッキー５１１を自動的に保存ファイル２２１に保存する。そして、遅延メッセージ５０１に書かれた遅延時間を経た後に利用者が処理結果を要求する際に、利用者は、例えば、再度、予約フォーム３０１の画面を呼び出して、予約ボタン３１３をクリックする。これにより、遅延ストレージ装置２０１に処理要求が送られるが、このとき保存ファイル２２１に保存されているクッキー５１１が自動的に読み出され、処理要求とともに遅延ストレージ装置２０１に送られる。
遅延ストレージ装置２０１は、クッキー５１１を読み出すことで、割り当てられた処理要求の識別子の有無を判定し、利用者端末側にクッキー５１１があれば、既に受け付けた予約であると判別する。そして、その識別子に基づいて予約確認フォーム５０２を利用者端末２０２に送付する。利用者は、予約確認フォーム５０２の画面に含まれる確認ボタン５１２をクリックすることで、遅延ストレージ装置２０１に対して処理結果を要求することができる。
図４および図５の方法は、遅延時間が長く、利用者端末２０２に遅延メッセージを表示したままにしておくことが困難な場合に有効である。これに対して、遅延時間が短く、遅延メッセージを表示したままにしておくことが容易であれば、表示された遅延メッセージの画面上に埋め込まれたリンクをクリックすることで、処理結果を要求することも可能である。
図６および図７は、このような遅延メッセージの例を示している。図６の遅延メッセージは、Ｗｅｂサーバの単位時間当たりの処理要求件数が閾値を越えたため処理が遅延している場合に、利用者端末２０２に送付される。この遅延メッセージには、処理要求の識別子を含む、処理結果を要求するためのリンク６０１が挿入されており、利用者は、リンク６０１をクリックすることで、遅延ストレージ装置２０１に対して処理結果を要求することができる。
図７の遅延メッセージは、Ｗｅｂサーバのメンテナンスのため処理が遅延している場合に、利用者端末２０２に送付される。この場合も、利用者は、図６の遅延メッセージと同様に、リンク７０１をクリックすることで、遅延ストレージ装置２０１に対して処理結果を要求することができる。
図８は、処理装置２０４から返される処理結果の例を示している。この例では、遅延ストレージ装置２０１が中継した処理要求がＷｅｂサーバで処理され、その結果として予約が完了したという処理結果８０１が返される。この処理結果８０１は、遅延ストレージ装置２０１の処理結果ファイル２１８に一旦格納され、利用者からの処理結果要求に応じて利用者端末２０２に送られ、Ｗｅｂブラウザにより結果表示８０２として表示される。
図９は、情報管理テーブル２１３のデータの例を示している。図９の情報管理テーブルには、処理要求毎に、処理要求識別子、処理要求番号、受付日時、中継状況、および処理結果番号が登録される。このうち、処理要求番号は、情報管理テーブル２１３のデータと処理要求ファイル２１７のデータを結びつけるために用いられ、処理結果番号は、情報管理テーブル２１３のデータと処理結果ファイル２１８のデータを結びつけるために用いられる。
また、中継状況としては、“受付済み”、“処理中”、“結果受付済み”、および“結果削除済み（不図示）”のいずれかが登録される。“受付済み”は、処理要求が登録済みであることを表し、“処理中”は、処理装置２０４が処理を実行中であることを表し、“結果受付済み”は、処理装置２０４からの処理結果が登録済みであることを表し、“結果削除済み”は、登録された処理結果が削除されたことを表す。“受付済み”、“処理中”、および“結果削除済み”の場合は、処理結果ファイルが登録されていないので、処理結果番号は“−１”に設定される。
図１０は、処理要求ファイル２１７のデータの例を示している。図１０の処理要求ファイルには、処理要求毎に、処理要求番号および処理要求がテーブル形式で登録される。
図１１は、処理結果ファイル２１８のデータの例を示している。図１１の処理結果ファイルは、処理結果テーブル１１０１と個々の処理結果を格納したファイル１１０２からなる。処理結果テーブル１１０１には、処理結果毎に、処理結果番号、処理結果受付日時、および処理結果ファイル名が登録される。処理結果ファイル名はファイル１１０２の名称であり、遅延ストレージ装置２０１は、処理結果テーブル１１０１を参照することで、ファイル１１０２を読み出すことができる。
次に、図１２から図１５までを参照しながら、図２の遅延ストレージシステムによる処理をより詳細に説明する。
図１２は、図２の遅延ストレージシステムの全体処理のフローチャートである。利用者が利用者端末２０２の入力装置１２０１から処理要求を入力して、それを遅延ストレージ装置２０１に送信すると（ステップＳ１２１１）、処理要求受付部２１１は、その処理要求を受け付ける（ステップＳ１２２１）。
次に、処理要求受付部２１１は、情報管理テーブル２１３を参照して現在の処理要求遅延状況を確認し（ステップＳ１２２２）、処理要求の中継に遅延があるか否かを判定する（ステップＳ１２２３）。
処理要求の中継に遅延があれば、受け付けた処理要求を識別する識別子を発行し、要求を受け付けた日時を取得する（ステップＳ１２２４）。そして、処理要求を処理要求格納部２１２の処理要求ファイル２１７に登録し（ステップＳ１２２５）、識別子を受付日時とともに情報管理テーブル２１３に登録する（ステップＳ１２２６）。図９の情報管理テーブルの場合、中継状況は“受付済み”に設定され、処理結果番号は“−１”に設定される。
次に、あらかじめ決められた遅延メッセージを用いて、処理要求の識別子を含む回答メッセージを生成し、利用者端末２０２に送信する（ステップＳ１２２７）。これを受けて、利用者端末２０２は、受信した回答メッセージをディスプレイ１２０２の画面上に表示し（ステップＳ１２１２）、待機状態となる。
システムの管理者は、管理端末２０３の入力装置１２０３から、あらかじめ決められた遅延時間の指定、中継停止／再開の指示、および単位時間当たりの処理要求件数の指定を入力する（ステップＳ１２４１）。
中継時間調整部２１４は、情報管理テーブル２１３から処理要求のデータを読み出し（ステップＳ１２３２）、処理装置２０４の負荷状況を検知して、管理者により指定された遅延時間および単位時間当たりの処理要求件数と、管理者からの中継停止／再開の指示と、検知された負荷状況等の情報に基づいて、中継時間を調整し、中継時刻を決定する（ステップＳ１２３３）。
そして、中継状況が“受付済み”となっている処理要求を受付日時順に処理要求ファイル２１７から読み出して、順次、処理装置２０４に中継送信し（ステップＳ１２３４）、中継した処理要求の中継状況を“処理中”に変更する（ステップＳ１２３５）。
処理装置２０４は、遅延ストレージ装置２０１からの処理要求を受け付け（ステップＳ１２５１）、要求された処理を実行し（ステップＳ１２５２）、処理結果を回答する（ステップＳ１２５３）。
処理結果受付部２１５は、処理装置２０４からの処理結果を受け付け（ステップＳ１２３６）、処理結果格納部２１６の処理結果ファイル２１８に登録する（ステップＳ１２３７）。このとき、処理結果の受付日時が処理結果ファイル２１８の処理結果テーブルに登録される。
また、処理結果受付部２１５は、情報管理テーブル２１３に処理結果ファイルに関する情報を登録する（ステップＳ１２３８）。ここでは、情報管理テーブル２１３の中継状況が“結果受付済み”に変更され、処理結果番号が“−１”から実際の処理結果番号に変更される。
遅延ストレージ装置２０１から、処理要求の中継に遅延がある旨の回答メッセージを受け取った利用者は、遅延ストレージ装置２０１に対して、後で改めて処理結果を要求する。このとき、利用者は、入力装置１２０１から処理結果要求を入力して、それを遅延ストレージ装置２０１に送信する（ステップＳ１２１３）。これにより、回答メッセージに含まれていた処理要求の識別子が、遅延ストレージ装置２０１に送信される。
処理要求受付部２１１は、その処理結果要求を受け付け（ステップＳ１２２８）、情報管理テーブル２１３を参照して、受信した識別子に対応する処理要求の中継状況を確認し（ステップＳ１２２９）、処理結果ファイル２１８に処理結果が格納されているか否かを判定する（ステップＳ１２３０）。
この時点で、処理要求が既に処理装置２０４に中継され、その結果が処理結果ファイル２１８に格納されていれば（中継状況が“結果受付済み”であれば）、その処理結果を読み出して利用者端末２０２に送信する（ステップＳ１２３１）。これを受けて、利用者端末２０２は、受信した処理結果をディスプレイ１２０２の画面上に表示する（ステップＳ１２１４）。
まだ処理要求が中継されていない（中継状況が“受付済み”である）か、あるいは処理要求は中継されたが処理結果を受け付けていない（中継状況が“処理中”である）場合は、処理要求受付部２１１は、その旨の回答メッセージを生成して、利用者端末２０２に送信する（ステップＳ１２２７）。
また、処理装置２０４から処理結果が返され、その後一定時間おいても利用者から処理結果の要求がなかった場合には、処理結果格納部２１６は、記憶容量に応じてその処理結果を削除することもできる。この場合、処理結果格納部２１６は、削除したことを示す情報を情報管理テーブル２１３に登録する。ここでは、情報管理テーブル２１３の中継状況が“結果削除済み”に変更される。
同じ処理要求が２回繰り返して処理されても問題がない場合には、既に削除された処理結果に関する処理結果要求が利用者からあった際に、その処理要求を再び処理装置２０４に中継することも可能である。この場合、遅延ストレージ装置２０１は、情報管理テーブル２１３を参照して、その処理要求を処理要求ファイル２１７から読み出し、処理装置２０４に改めて中継送信することで、処理結果を再び受け取ることができる。
管理者は、管理端末２０３から、処理装置２０４に対する処理要求の再実行に関する条件を設定しておき、遅延ストレージ装置２０１は、その条件に基づいて、処理要求の再実行に問題があるか否かを判断し、条件を満たす処理要求を再び処理装置２０４に中継する。そして、処理結果受付部２１５は、その処理結果を処理結果ファイル２１８に格納し、処理要求受付部２１１は、処理結果を利用者端末２０２に送信する。
ステップＳ１２２３において処理要求の中継に遅延がなければ、中継時間調整部２１４は、ステップＳ１２３４以降の処理を行い、処理要求受付部２１１は、ステップＳ１２２９以降の処理を行う。この場合、処理結果受付部２１５が受け付けた処理結果が、そのまま利用者端末２０２に送信される。
図１３は、中継時間調整部２１４による中継時間調整処理のフローチャートである。図１３のステップＳ１３０１の処理は、図１２のステップＳ１２４１の処理と同様であり、図１３のステップＳ１３１１〜Ｓ１３２０の処理は、図１２のステップＳ１２３２〜Ｓ１２３４の処理に対応している。
中継時間調整部２１４は、情報管理テーブル２１３から処理要求のデータを読み出し（ステップＳ１３１１）、処理装置２０４の負荷状況を確認する（ステップＳ１３１２）。そして、情報管理テーブル２１３から読み出した情報に基づいて、処理装置２０４に処理要求を中継する。このとき、以下の４つの中継条件を考慮する（ステップＳ１３１３〜Ｓ１３１８）。
（１）単位時間当たりの処理要求件数
後段の処理装置の処理性能に応じてあらかじめ決められた一定時間当たりの処理件数を越えないように処理要求を中継する。
（２）指定された遅延時間
利用者から受け付けた処理要求の受付日時から、あらかじめ指定された遅延時間が経過した後に、処理要求を中継する。
（３）処理装置２０４の負荷状況
あらかじめ決められた閾値を越える負荷が処理装置２０４にかかっている場合に中継を遅延させる。
（４）中継停止／再開の指示
管理者からの指示に基づいて、明示的に遅延時間を指定することなく、処理要求の中継を停止、あるいは再開する。中継を停止している間は、処理要求の中継を遅延させる。
まず、処理装置２０４の負荷が閾値を越えているか否かを判定する（ステップＳ１３１３）。負荷が閾値を越えていれば、中継待機（ステップＳ１３２０）の後でステップＳ１３１１以降の処理を繰り返す。
負荷が閾値を越えていなければ、次に、管理端末２０３からの指示状況を確認し（ステップＳ１３１４）、中継停止が指示されているか否かを判定する（ステップＳ１３１５）。中継停止が指示されていれば、中継待機（ステップＳ１３２０）の後でステップＳ１３１１以降の処理を繰り返す。
中継停止が指示されていなければ、次に、現在の単位時間当たりの処理要求件数を確認し（ステップＳ１３１６）、その単位時間当たりの処理要求件数が閾値を越えているか否かを判定する（ステップＳ１３１７）。閾値としては、管理者により指定された単位時間当たりの処理要求件数が用いられる。単位時間当たりの処理要求件数が閾値を越えていれば、中継待機（ステップＳ１３２０）の後でステップＳ１３１１以降の処理を繰り返す。
単位時間当たりの処理要求件数が閾値を越えていなければ、次に、処理要求の受付日時から指定された遅延時間が経過しているか否かを判定する（ステップＳ１３１８）。遅延時間が経過していなければ、中継待機（ステップＳ１３２０）の後でステップＳ１３１１以降の処理を繰り返す。そして、遅延時間が経過していれば、処理要求の中継を実行する（ステップＳ１３１９）。
図１４は、処理要求受付部２１１による処理要求受付処理のフローチャートである。図１４のステップＳ１４０１およびＳ１４０２の処理は、図１２のステップＳ１２１１およびＳ１２１２の処理と同様であり、図１４のステップＳ１４１１〜Ｓ１４１６の処理は、図１２のステップＳ１２２１〜Ｓ１２２６の処理と同様である。
また、図１４のステップＳ１４２３の処理は、図１２のステップＳ１２３４の処理に対応しており、図１４のステップＳ１４１７〜Ｓ１４２２およびステップＳ１４２４〜Ｓ１４２９の処理は、図１２のステップＳ１２２７の処理に対応している。
処理要求受付部２１１は、中継時間調整部２１４による処理要求の中継が遅延している場合、利用者に対して処理要求の中継が遅延している旨のメッセージを回答する。メッセージの内容は、あらかじめ決められており、メッセージ中に処理要求の識別子を含めることもできる。
また、上述した４つの中継条件に従って、その時点で中継が遅延している処理要求の件数と処理装置２０４の処理性能から、受け付けた処理要求が中継されるまでの予測待ち時間をメッセージの中に含めることもできる。ただし、中継停止が指示されている場合等は、中継再開時刻が特に指定されていない限り、待ち時間を予測することはできない。
４つの中継条件に従って回答メッセージを生成する場合、処理要求受付部２１１は、まず、中継時間調整部２１４から中継遅延理由を受け取る（ステップＳ１４１７）。そして、中継遅延理由が中継停止が指示されているためであるか否かを判定する（ステップＳ１４１８）。中継遅延理由が中継停止が指示されているためであれば、中継停止の遅延メッセージを生成し（ステップＳ１４２４）、それを用いて処理要求の識別子を含む回答メッセージを生成して、利用者端末２０２に送信する（ステップＳ１４２２）。
中継遅延理由が中継停止が指示されているためでなければ、次に、中継遅延理由が処理装置２０４の負荷が閾値を越えているためであるか否かを判定する（ステップＳ１４１９）。中継遅延理由が処理装置２０４の負荷が閾値を越えているためであれば、処理装置２０４の負荷超過の遅延メッセージを生成し（ステップＳ１４２５）、ステップＳ１４２２の処理を行う。
中継遅延理由が処理装置２０４の負荷が閾値を越えているためでなければ、次に、中継遅延理由が単位時間当たりの処理要求件数が閾値を越えているためであるか否かを判定する（ステップＳ１４２０）。中継遅延理由が単位時間当たりの処理要求件数が閾値を越えているためであれば、中継待機中の処理要求の件数と処理装置２０４の処理性能から中継予定時刻を予測し（ステップＳ１４２６）、その中継予定時刻を含む、処理要求件数超過の遅延メッセージを生成して（ステップＳ１４２７）、ステップＳ１４２２の処理を行う。
中継遅延理由が単位時間当たりの処理要求件数が閾値を越えているためでなければ、次に、中継遅延理由が遅延時間が指定されているためであるか否かを判定する（ステップＳ１４２１）。中継遅延理由が遅延時間が指定されているためであれば、処理要求の受付日時と指定された遅延時間から中継予定時刻を予測し（ステップＳ１４２８）、その中継予定時刻を含む、遅延時間指定の遅延メッセージを生成して（ステップＳ１４２９）、ステップＳ１４２２の処理を行う。
中継遅延理由が遅延時間が指定されているためでなければ、処理要求の識別子を含む適当な回答メッセージを生成して、利用者端末２０２に送信する（ステップＳ１４２２）。
図１５は、処理要求受付部２１１による処理結果要求受付処理と、その処理に関連する処理のフローチャートである。図１５のステップＳ１５１１およびＳ１５１２の処理は、図１２のステップＳ１２１３およびＳ１２１４の処理と同様であり、図１５のステップＳ１５２１〜Ｓ１５２４の処理は、図１２のステップＳ１２２８〜Ｓ１２３１の処理と同様である。
また、図１５のステップＳ１５４１〜Ｓ１５４５の処理は、図１２のステップＳ１２３４〜Ｓ１２３８の処理と同様であり、図１５のステップＳ１５５１〜Ｓ１５５３の処理は、図１２のステップＳ１２５１〜Ｓ１２５３の処理と同様である。
処理結果格納部２１６は、情報管理テーブル２１３を参照して、中継状況が“結果受付済み”の処理要求の処理結果番号を取得し、その番号をキーとして処理結果ファイル２１８を参照する（ステップＳ１５６１）ことで、処理結果の受付日時から一定時間が経過した時間切れの処理結果があるか否かを判定する（ステップＳ１５６２）。時間切れの処理結果がなければ、ステップＳ１５６１以降の処理を繰り返す。
時間切れの処理結果があれば、処理結果ファイル２１８からそれを削除し（ステップＳ１５６３）、情報管理テーブル２１３の対応する処理要求の中継状況を、“結果削除済み”に変更する（ステップＳ１５６４）。そして、ステップＳ１５６１以降の処理を繰り返す。
処理要求の中継に遅延がある場合、利用者は処理要求受付部２１１を通じて、その旨の回答メッセージ１５０１を受け取る。回答メッセージ１５０１に処理要求の識別子が含まれている場合、利用者は後で改めて、その識別子を含む処理結果要求を送信することで、先に行った処理要求の処理結果を受け取ることができる。
ステップＳ１５２３において処理結果が格納されていない（中継状況が“結果受付済み”でない）場合、処理要求受付部２１１は、処理結果が時間切れで削除されている（中継状況が“結果削除済み”である）か否かを判定する（ステップＳ１５２５）。
処理結果が削除されていれば、その旨を示す時間切れ削除メッセージを生成して、利用者端末２０２に回答メッセージとして送信する（ステップＳ１５２６）。処理結果が削除されていなければ、中継処理遅延メッセージを生成して、利用者端末２０２に回答メッセージとして送信する（ステップＳ１５２７）。
処理結果が時間切れで削除されている場合、前述した方法で自動的に処理の再実行を行う他に、利用者に再実行の要否を選択させることも可能である。この場合、時間切れ削除メッセージの中に、処理要求の識別子と、利用者に対して再実行の要否を確認するメッセージを含めておく。
このような時間切れ削除メッセージ１５０２を受け取った利用者は、処理の再実行を依頼するか否かを選択し（ステップＳ１５１３）、利用者が再実行の依頼を選択しなければ、利用者端末２０２は処理を終了する。
利用者が再実行の依頼を選択すれば、利用者端末２０２は、時間切れ削除メッセージ１５０２に含まれる処理要求の識別子を含む再実行要求を、遅延ストレージ装置２０１に送信する（ステップＳ１５１４）。
処理要求受付部２１１は、再実行要求を受け付け（ステップＳ１５２８）、情報管理テーブル２１３を参照して、再実行要求に含まれる処理要求の識別子に対応する処理要求を、処理要求ファイル２１７から読み出す（ステップＳ１５２９）。そして、再実行要求に含まれる処理要求と読み出した処理要求が同じものであることを確認する。
次に、情報管理テーブル２１３の中継状況を“結果削除済み”から“受付済み”に変更する（ステップＳ１５３０）。これにより、中継時間調整部２１４は、その処理要求を中継待ちの処理要求であると認識するので、この処理要求は自動的に処理装置２０４に中継される。
次に、中継が遅延している旨を示す遅延メッセージを生成して、利用者端末２０２に送信する（ステップＳ１５３１）。この場合の遅延メッセージの生成方法については、図１４と同様である。利用者端末２０２は、受信した遅延メッセージをディスプレイ１２０２の画面上に表示する（ステップＳ１５１５）。
次に、図１６から図１９までを参照しながら、インターネット上における遅延ストレージシステムの運用方法および構成について説明する。
図１６は、遅延ストレージ装置を一種のアプライアンスサーバとしてＷｅｂサーバの前段に配置することで、利用者からの処理要求をＷｅｂサーバに中継する構成を示している。図１６の遅延ストレージ装置２０１、利用者端末２０２、およびＷｅｂサーバ１６０２は、それぞれ独立したコンピュータにより構成され、インターネット１６０１に接続されている。このうち、Ｗｅｂサーバ１６０２は、図２の処理装置２０４に対応する。利用者端末２０２は、Ｗｅｂブラウザ１６１１を含み、Ｗｅｂサーバ１６０２は、Ｗｅｂコンテンツ１６１２を格納したディスク装置を含む。
例えば、Ｗｅｂサーバ１６０２の処理性能が、１分間に１万件の処理要求を処理できるというものである場合、管理者は、遅延ストレージ装置２０１に接続された管理端末２０３から、処理要求の中継が１分間に１万件を越えないように指定する。
例えば、新製品の予約販売や、スポーツの試合のチケットの予約等で、予約受け付け開始と同時に一斉に予約処理の要求が集中し、Ｗｅｂサーバ１６０２で処理しきれなくなり、処理が滞ってしまうような場合に、このような運用方法が有効となる。
遅延ストレージ装置２０１自体が行う処理は、利用者端末２０２からの処理要求を受け付けて格納することと、処理が遅延している旨のメッセージを利用者端末２０２に回答することだけであるので、実際のＷｅｂサーバ１６０２が行う予約処理に比べて、計算機システムへの負荷は小さくなる。このため、Ｗｅｂサーバ１６０２に比べて、単位時間当たりにより多くの処理要求を処理できることが期待される。図１６における処理の手順は以下の通りである。
（１）遅延ストレージ装置２０１は、利用者端末２０２からの処理要求を受け付ける。
（２）処理が遅延している旨の遅延メッセージ（例えば、図４、５、６のような遅延メッセージ）を利用者端末２０２に返す。
（３）指定された単位時間当たりの処理要求件数を越えないように遅延時間を調整して、受け付けた処理要求をＷｅｂサーバ１６０２に中継する。
（４）Ｗｅｂサーバ１６０２は、中継された処理要求を順次処理し、その結果を遅延ストレージ装置２０１に返す。遅延ストレージ装置２０１は、返された処理結果を処理結果ファイル２１８に格納する。
（５）利用者端末２０２は、遅延メッセージに含まれる、先の処理要求の識別子を用いて、遅延ストレージ装置２０１に対して処理結果を要求する。
（６）遅延ストレージ装置２０１は、利用者端末２０２に処理結果を返す。
一般に、利用者は処理要求に対する回答が来ないまま待たされると、処理を中断して、再び処理要求を送信する傾向がある。このため、遅延ストレージ装置２０１を持たない構成の場合、Ｗｅｂサーバ１６０２の負荷は、中断と再要求を繰り返す処理要求によって、実際の処理要求の負荷と比べてますます高くなってしまう。また、利用者が自分の要求した予約が受け付けられたのかどうか分からずに処理要求を再送すると、多重に処理を要求してしまうこともあり得る。
これに対して、遅延ストレージ装置２０１を利用者端末２０２とＷｅｂサーバ１６０２の間に配置し、処理要求を受け付けた旨のメッセージを利用者に迅速に返すようにすれば、このような問題が解決される。
図１７は、図１６と同様の構成で、Ｗｅｂサーバ１６０２のディスク装置に障害が発生し、その交換のためにＷｅｂサーバ１６０２の動作を１時間停止するような運用方法を示している。
この場合、管理者は、管理端末２０３から、処理要求の中継を１時間遅延させる指示を行うことで、利用者端末２０２から受信した処理要求を遅延ストレージ装置２０１に一時的に蓄積させる。図１７における（１）および（４）〜（６）の処理は、図１６と同様である。（２）および（３）の処理は、以下のようになる。
（２）処理が遅延している旨の遅延メッセージ（例えば、図７のような遅延メッセージ）を利用者端末２０２に返す。
（３）指定された遅延時間が経過した後に、受け付けた処理要求をＷｅｂサーバ１６０２に中継する。
図１７において遅延ストレージ装置２０１がない構成の場合、利用者は停止しているＷｅｂサーバ１６０２に処理要求を送ったとしても、回答がない状態になるか、あるいは、処理再開後も自分の送った処理要求が実行されないため、処理の再開を待って再要求を行う必要がある。
これに対して、遅延ストレージ装置２０１を利用者端末２０２とＷｅｂサーバ１６０２の間に配置することで、利用者に対して処理要求が遅延している原因と結果が得られる予定時刻を伝えることが可能となる。さらに、利用者の処理要求自体は遅延ストレージ装置２０１に蓄積されているため、Ｗｅｂサーバ１６０２の処理再開後に、処理要求を順次処理することができる。
ところで、遅延ストレージ装置２０１とＷｅｂサーバ１６０２の配置方法としては、これらを同一のコンピュータ上に配置する方法と互いに異なるコンピュータ上に配置する方法とが考えられる。
図１８は、前者の配置方法による構成を示している。この構成では、遅延ストレージ装置２０１、管理端末２０３、およびＷｅｂサーバ１６０２の機能が同一のコンピュータにより実現され、このコンピュータは遅延中継機能付きＷｅｂサーバ１８０１としてインターネット１６０１に接続される。
この場合、利用者からは遅延ストレージ装置２０１とＷｅｂサーバ１６０２が一体に見えるため、従来のＷｅｂサーバに対して送信していた処理要求とまったく同じ処理要求を送信するだけで、その受付と中継を遅延ストレージ装置２０１に代行させることができる。
図１９は、後者の配置方法による構成を示している。この構成は、既にＷｅｂサーバ１６０２が稼動している状態で、Ｗｅｂサーバ１６０２から独立したコンピュータ上に遅延ストレージ装置２０１を配置し、利用者からＷｅｂサーバ１６０２宛てに出されていた処理要求を遅延ストレージ装置２０１を経由して中継するような場合に有効である。
インターネット１６０１を用いた通信サービスの場合、利用者端末２０２からＷｅｂサーバ１６０２への処理要求は、通常、ＤＮＳと呼ばれる名前解決システムによりＷｅｂサーバ１６０２の名前とネットワーク上のアドレスとを置き換えることで、Ｗｅｂサーバ１６０２に送信される。
遅延ストレージ装置２０１を経由してＷｅｂサーバ１６０２に処理要求を中継する場合、ＤＮＳ１９０１上で管理されているＷｅｂサーバ１６０２のエントリを遅延ストレージ装置２０１のそれに置き換えることで、利用者端末２０２から見たＷｅｂサーバ１６０２のアドレスをすりかえることができる。この方法により、利用者端末２０２からＷｅｂサーバ１６０２への処理要求は、そのまま遅延ストレージ装置２０１を経由してＷｅｂサーバ１６０２に中継することができる。図１９における処理の手順は以下の通りである。
（１）管理者は、遅延ストレージ装置２０１のアドレスを、Ｗｅｂサーバ１６０２の名前でＤＮＳ１９０１に登録する。
（２）利用者端末２０２からＤＮＳ１９０１へ、Ｗｅｂサーバ１６０２のアドレスを問い合わせる。
（３）ＤＮＳ１９０１から利用者端末２０２へ、遅延ストレージ装置２０１のアドレスを回答する。
（４）利用者端末２０２は、回答されたアドレスを用いて、Ｗｅｂサーバ１６０２の名前をアクセス先として遅延ストレージ装置２０１にアクセスする。
図２の遅延ストレージ装置２０１、利用者端末２０２、管理端末２０３、および処理装置２０４は、例えば、図２０に示すような情報処理装置（コンピュータ）を用いて構成することができる。図２０の情報処理装置は、ＣＰＵ（中央処理装置）２００１、メモリ２００２、入力装置２００３、出力装置２００４、外部記憶装置２００５、媒体駆動装置２００６、およびネットワーク接続装置２００７を備え、それらはバス２００８により互いに接続されている。
メモリ２００２は、例えば、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）等を含み、処理に用いられるプログラムおよびデータを格納する。ＣＰＵ２００１は、メモリ２００２を利用してプログラムを実行することにより、必要な処理を行う。
図２の処理要求受付部２１１、処理要求格納部２１２、中継時間調整部２１４、処理結果受付部２１５、および処理結果格納部２１６は、メモリ２００２に格納されたプログラムに対応する。
入力装置２００３は、例えば、キーボード、ポインティングデバイス、タッチパネル等であり、オペレータ（利用者や管理者）からの指示や情報の入力に用いられる。出力装置２００４は、例えば、ディスプレイ、プリンタ、スピーカ等であり、オペレータへの問い合わせや処理結果の出力に用いられる。図１２の入力装置１２０１および１２０３は、入力装置２００３に対応し、図１２のディスプレイ１２０２は、出力装置２００４に対応する。
外部記憶装置２００５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。情報処理装置は、この外部記憶装置２００５に、上記プログラムおよびデータを格納しておき、必要に応じて、それらをメモリ２００２にロードして使用する。外部記憶装置２００５は、図２の情報管理テーブル２１３、処理要求ファイル２１７、処理結果ファイル２１８、および保存ファイル２２１を格納するためにも用いられる。
媒体駆動装置２００６は、可搬記録媒体２００９を駆動し、その記録内容にアクセスする。可搬記録媒体２００９は、メモリカード、フレキシブルディスク、ＣＤ−ＲＯＭ（ｃｏｍｐａｃｔ  ｄｉｓｋ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、光ディスク、光磁気ディスク等の任意のコンピュータ読み取り可能な記録媒体である。オペレータは、この可搬記録媒体２００９に上記プログラムおよびデータを格納しておき、必要に応じて、それらをメモリ２００２にロードして使用する。
ネットワーク接続装置２００７は、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、インターネット等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う。情報処理装置は、必要に応じて、上記プログラムおよびデータを外部の装置からネットワーク接続装置２００７を介して受け取り、それらをメモリ２００２にロードして使用する。
図２１は、図２０の情報処理装置にプログラムおよびデータを供給することのできるコンピュータ読み取り可能な記録媒体を示している。可搬記録媒体２００９やサーバ２１０１のデータベース２１０３に格納されたプログラムおよびデータは、情報処理装置２１０２のメモリ２００２にロードされる。サーバ２１０１は、そのプログラムおよびデータを搬送する搬送信号を生成し、ネットワーク上の任意の伝送媒体を介して情報処理装置２１０２に送信する。ＣＰＵ２００１は、そのデータを用いてそのプログラムを実行し、必要な処理を行う。
【産業上の利用可能性】  本発明によれば、Ｗｅｂサーバ等の後段の処理装置に処理要求が集中し、高負荷により処理に遅延が生じるような場合に、処理要求の転送速度を調整しながら処理要求を処理装置に中継することで、処理装置のあふれを防ぐことが可能となる。
また、利用者にとっては、後段の処理装置の負荷が高くなった場合でも、回答なしに処理要求が待たされることがなくなり、後で処理結果を受け取ることも可能となる。
【図１】
2004102396.tif 000003
【図２】
2004102396.tif 000004
【図３】
2004102396.tif 000005
【図４】
2004102396.tif 000006
【図５】
2004102396.tif 000007
【図６】
2004102396.tif 000008
【図７】
2004102396.tif 000009
【図８】
2004102396.tif 000010
【図９】
2004102396.tif 000011
【図１０】
2004102396.tif 000012
【図１１】
2004102396.tif 000013
【図１２】
2004102396.tif 000014
【図１３】
2004102396.tif 000015
【図１４】
2004102396.tif 000016
【図１５】
2004102396.tif 000017
【図１６】
2004102396.tif 000018
【図１７】
2004102396.tif 000019
【図１８】
2004102396.tif 000020
【図１９】
2004102396.tif 000021
【図２０】
2004102396.tif 000022
【図２１】
2004102396.tif 000023
【手続補正書】
【提出日】平成17年11月9日(2005.11.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
利用者から処理装置への処理要求を受け付けて該処理装置へ中継する遅延ストレージ装置であって、
前記処理要求を受け付ける受付部と、
受け付けた処理要求を一時的に格納する要求格納部と、
受け付けた処理要求の受付時刻を格納する管理部と、
前記処理装置の性能に応じて処理要求の転送速度を調整しながら、前記受付時刻順に処理要求を該処理装置に中継する中継部と
を備えることを特徴とする遅延ストレージ装置。
【請求項２】
前記中継部は、指定された単位時間当たりの処理要求件数を受け取り、前記処理装置に送信される単位時間当たりの処理要求件数が該指定された単位時間当たりの処理要求件数を越えないように、前記処理要求の転送速度を調整することを特徴とする請求項１記載の遅延ストレージ装置。
【請求項３】
前記中継部は、指定された遅延時間を受け取り、受け付けた処理要求の受付時刻から該指定された遅延時間が経過した後に、該処理要求を前記処理装置に中継することを特徴とする請求項１記載の遅延ストレージ装置。
【請求項４】
前記中継部は、中継停止の指示を受け取ったとき、次に中継再開の指示を受け取るまで処理要求の中継を停止することを特徴とする請求項１記載の遅延ストレージ装置。
【請求項５】
前記中継部は、前記処理装置の負荷状況を検知し、検知した負荷状況に基づいて前記処理要求の転送速度を調整することを特徴とする請求項１記載の遅延ストレージ装置。
【請求項６】
前記処理装置に中継された処理要求に対して該処理装置から返送された処理結果を格納する結果格納部をさらに備え、前記受付部は、処理要求を一意に識別するための識別子を発行して、該処理要求の要求元に該識別子を返送し、該要求元が該識別子を用いて該処理要求に対する処理結果を要求したとき、該結果格納部から対応する処理結果を読み出して該要求元に送信することを特徴とする請求項１記載の遅延ストレージ装置。
【請求項７】
前記受付部は、受け付けた処理要求の中継が遅延する場合、中継遅延理由に応じてあらかじめ決められた遅延メッセージを、該処理要求に対する回答として該処理要求の要求元に返送することを特徴とする請求項１記載の遅延ストレージ装置。
【請求項８】
前記処理装置に中継された処理要求に対して該処理装置から返送された処理結果を格納する結果格納部をさらに備え、前記受付部は、処理要求を一意に識別するための識別子を発行し、該識別子と予測される中継遅延時間を含む遅延メッセージを生成して前記要求元に返送し、該要求元が該識別子を用いて該処理要求に対する処理結果を要求したとき、該結果格納部から対応する処理結果を読み出して該要求元に送信することを特徴とする請求項７記載の遅延ストレージ装置。
【請求項９】
利用者から処理装置への処理要求を受け付けて該処理装置へ中継するコンピュータのためのプログラムであって、
前記処理要求を受け付け、
受け付けた処理要求を一時的に格納し、
受け付けた処理要求の受付時刻を発行し、
前記処理装置の性能に応じて処理要求の転送速度を調整しながら、前記受付時刻順に処理要求を該処理装置に中継する
処理を前記コンピュータに実行させることを特徴とするプログラム。
【請求項１０】
利用者から処理装置への処理要求を受け付けて該処理装置へ中継するコンピュータのためのプログラムを記録した記録媒体であって、該プログラムは、
前記処理要求を受け付け、
受け付けた処理要求を一時的に格納し、
受け付けた処理要求の受付時刻を発行し、
前記処理装置の性能に応じて処理要求の転送速度を調整しながら、前記受付時刻順に処理要求を該処理装置に中継する
処理を前記コンピュータに実行させることを特徴とするコンピュータ読み取り可能な記録媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、利用者からの処理要求を受けて逐次的に処理を行う処理装置の前段に配置され、高速かつ大量に送信されてくる処理要求を後段の処理装置に逐次入力していく際に、その処理要求を一時的に蓄え、利用者の要求や後段の処理装置の性能に応じて処理要求速度を制御する遅延ストレージ装置および遅延処理方法に関する。
【背景技術】
【０００２】
従来のＷｅｂサーバ等の処理装置では、システムの負荷を軽減するために、複数の処理装置に処理要求を振り分けるためのドメインネームサーバ（ＤＮＳ）を配置して、利用者からの処理要求を中継する、ラウンドロビン技術が用いられている（例えば、非特許文献１および特許文献１参照）。この技術では、クライアントからは複数のサーバが仮想的に１つのサーバに見えるが、実際には複数のサーバに処理要求が振り分けられる。
【０００３】
また、プロキシサーバと呼ばれる装置が、利用者と処理装置の間に配置され、利用者からの処理要求を記録するとともに、処理装置からの処理結果を記録しておく技術も用いられている（例えば、特許文献２参照）。この技術では、同じ処理要求が再び同一あるいは別の利用者から行われた場合に、後段の処理装置に処理要求を中継せずに、記録されている処理結果を後段の処理装置の処理結果として利用者に返すことができる。
【非特許文献１】“高性能かつ高可用性クラスタシステムの構築”、３ページ、１．１  ロード・バランシングの種類、［online］、２０００年６月１６日、Zeus Technology−技術資料−技術情報、［平成１５年３月７日検索］、インターネット＜Ｕ ＲＬ：http://www.jp.zeus.com/library/technical/cluster/index.html＞
【特許文献１】特開２００２−０５７６９１号公報
【特許文献２】特開２００２−２５９３３８号公報
【０００４】
しかしながら、上述した従来の技術には、次のような問題がある。
従来のラウンドロビン技術をもってしても、振り分け対象となる複数の処理装置のすべてが高負荷な状態になった場合には、利用者からの処理要求は、回答されることなしに待たされることになる。
【０００５】
また、プロキシ技術では、初めて受け付けた処理要求に対しては処理結果が記録されていないため、その処理要求は後段の処理装置にそのまま中継される。このため、プロキシサーバがあったとしても、後段の処理装置が高負荷な状態にある場合には、利用者からの処理要求は、回答されることなしに待たされることになる。
【０００６】
実際には、後段の処理装置の処理性能（例えば、単位時間当たりの処理件数）の上限が決まっている場合が多く、それを越える処理要求が送られると、処理装置のあふれを招き、さらに処理時間の遅延につながる。
【発明の開示】
【０００７】
本発明の課題は、高速かつ大量に送信されてくる処理要求を後段の処理装置に逐次入力していく際に、処理装置のあふれを防止する遅延ストレージ装置および遅延処理方法を提供することである。
【０００８】
本発明のもう１つの課題は、処理要求を送信した利用者が回答されることなしに待たされる状況を回避することである。
図１は、本発明の遅延ストレージ装置の原理図である。図１の遅延ストレージ装置は、受付部１０１、要求格納部１０２、管理部１０３、および中継部１０４を備え、利用者１０５から処理装置１０６への処理要求を受け付けて処理装置１０６へ中継する。
【０００９】
受付部１０１は、処理要求を受け付け、要求格納部１０２は、受け付けた処理要求を一時的に格納する。管理部１０３は、受け付けた処理要求の受付時刻を格納し、中継部１０４は、処理装置１０６の性能に応じて処理要求の転送速度を調整しながら、受付時刻順に処理要求を処理装置１０６に中継する。
【００１０】
中継部１０４は、例えば、以下のような方法で処理要求の転送速度を調整する。
（１）指定された単位時間当たりの処理要求件数を受け取り、処理装置１０６に送信される単位時間当たりの処理要求件数が指定された単位時間当たりの処理要求件数を越えないように、処理要求の転送速度を調整する。
（２）指定された遅延時間を受け取り、受け付けた処理要求の受付日時から指定された遅延時間が経過した後に、その処理要求を処理装置１０６に中継する。
（３）中継停止の指示を受け取ったとき、次に中継再開の指示を受け取るまで処理要求の中継を停止する。
（４）処理装置１０６の負荷状況を検知し、検知した負荷状況に基づいて処理要求の転送速度を調整する。
【００１１】
このように、処理要求を受け付けて処理装置１０６への転送速度を調整する遅延ストレージ装置を、処理装置１０６の前段に設けることにより、処理装置１０６の性能に応じて処理要求の中継を遅延させることが可能となり、処理装置のあふれが防止される。また、処理要求とともにその受付時刻を格納することにより、処理要求を受付順に処理装置１０６へ転送することができる。
【００１２】
また、遅延ストレージ装置は、処理装置１０６に中継された処理要求に対して処理装置１０６から返送された処理結果を格納する結果格納部１０７をさらに備える。受付部１０１は、処理要求を一意に識別するための識別子を発行して、処理要求の要求元（利用者１０５の端末等）にその識別子を返送し、その要求元が識別子を用いて処理要求に対する処理結果を要求したとき、結果格納部１０７から対応する処理結果を読み出して要求元に送信する。
【００１３】
このように、処理要求を受け付けたときに識別子を発行して要求元に返送することで、処理要求が受け付けられたことを利用者に通知することが可能となり、利用者が回答されることなしに待たされる状況が回避できる。また、結果格納部１０７を設けることで、要求元は、返送された識別子を用いて、先に送信した処理要求に対する処理結果を遅延ストレージ装置から取得することが可能となる。
【００１４】
図１の受付部１０１、要求格納部１０２、管理部１０３、中継部１０４、および結果格納部１０７は、例えば、後述する図２の処理要求受付部２１１、処理要求ファイル２１７、情報管理テーブル２１３、中継時間調整部２１４、および処理結果ファイル２１８にそれぞれ対応する。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
後段の処理装置では、通常、実質的な処理にかかる時間と処理の受付や回答にかかる時間の和によって単位時間当たりの処理件数の上限が決まっている。したがって、その前段に利用者からの処理要求を中継する装置を配置し、その装置により後段の処理装置の処理件数の上限を越えないように単位時間当たりの処理要求件数を調整することで、処理装置のあふれを防ぐことができる。
【００１６】
本実施形態の遅延ストレージ装置は、利用者からの処理要求を一時的に蓄積するバッファリング装置として用いられ、処理装置の性能に応じて処理要求の転送速度を制御する。この遅延ストレージ装置内には、処理要求を一時的に格納する記憶機構と、処理要求が到着した時刻を記録する機構が設けられる。処理要求の到着時刻を処理要求と併せて記録しておくことで、到着した処理要求を後段の処理装置に出力する際の順序を保証することができ、また、指定された遅延時間後に、到着した処理要求を指定された時間間隔や頻度で中継することが可能となる。
【００１７】
また、遅延ストレージ装置は、要求元から処理要求を受け付けた際に、処理要求を一意に識別するための識別子とあらかじめ決められた形式の回答を要求元に返すことができる。これにより、処理の要求元は、後で、その処理要求が後段の処理装置に出力されたかどうかをこの識別子を用いて遅延ストレージ装置に問い合わせたり、処理装置による処理結果を受け取ったりすることが可能となる。
【００１８】
例えば、Ｗｅｂサーバ等の処理装置の前段に遅延ストレージ装置を配置することで、Ｗｅｂサーバの性能上の要件に応じて、送られてくる処理要求の転送速度を制御することができる。例えば、処理要求の転送速度が毎秒１千トランザクションであって、Ｗｅｂサーバの処理速度が毎秒５００トランザクションであった場合に、Ｗｅｂサーバの処理速度に合わせて処理要求の転送速度を遅延させることが可能となる。
【００１９】
また、Ｗｅｂサーバの運用中にディスク装置等に障害が発生した場合でも、システムの運用を停止することなく、遅延ストレージ装置に処理要求を一時的に格納していき、その間にディスク装置の交換を行うことで、システムの運用を継続させることが可能となる。
【００２０】
図２は、このような遅延ストレージ装置を用いた遅延ストレージシステムの構成図である。図２の遅延ストレージシステムは、遅延ストレージ装置２０１、利用者端末２０２、管理端末２０３、および処理装置２０４からなる。実線の矢印は処理要求時の情報の流れを示しており、破線の矢印は処理結果要求時の情報の流れを示している。
【００２１】
利用者端末２０２は、利用者からの処理要求の入力と処理結果の表示に用いられ、管理端末２０３は、管理者による遅延時間の指定、中継停止／再開の指示、および単位時間当たりの処理要求件数の指定に用いられる。処理装置２０４は、遅延ストレージ装置２０１から受け取った処理要求に従って処理を実行し、処理結果を返す。
【００２２】
遅延ストレージ装置２０１は、処理要求受付部２１１、処理要求格納部２１２、情報管理テーブル２１３、中継時間調整部２１４、処理結果受付部２１５、および処理結果格納部２１６を備え、利用者端末２０２からの処理要求を後段の処理装置２０４に中継する。
【００２３】
処理要求受付部２１１は、利用者端末２０２からの処理要求を受け付け、受け付けた処理要求を識別する識別子と受付日時とを処理要求に付与し、利用者に対するメッセージを生成する。処理要求格納部２１２は、受け付けた処理要求を処理要求ファイル２１７に一時的に格納する。情報管理テーブル２１３は、処理要求の識別子、処理要求の受付日時、処理要求の中継状況、および処理要求と処理結果を結びつける管理情報を格納する。
【００２４】
中継時間調整部２１４は、格納された処理要求を処理装置２０４に中継する際に、時間的な調整を行ってから処理要求を送出する。処理結果受付部２１５は、処理装置２０４から処理結果を受け取り、その処理結果の受付日時を発行する。処理結果格納部２１６は、受け取った処理結果に受付日時を付与して、処理結果ファイル２１８に一時的に格納する。
【００２５】
中継時間調整部２１４は、処理装置２０４の負荷状況を検知し、検知した負荷状況や、管理端末２０３から指定された遅延時間および単位時間当たりの処理要求件数に応じて、中継のタイミングを調整する。さらに、中継時間調整部２１４は、管理端末２０３からの指示により中継の停止や再開を制御する。このような中継時間調整部２１４を設けることで、処理装置２０４のあふれを防ぐことが可能となる。
【００２６】
処理要求受付部２１１は、処理要求の中継に遅延がある際に、処理装置２０４の代わりに、処理に遅延が発生している旨のメッセージ（遅延メッセージ）を生成して利用者に回答する。また、受け付けた処理要求の識別子を利用者端末２０２に対して発行し、利用者端末２０２が後でその識別子に基づいて改めて処理結果を要求した際に、処理装置２０４からの処理結果を回答する。
【００２７】
利用者端末２０２は、遅延ストレージ装置２０１から受け取った遅延メッセージや処理要求の識別子を含むクッキーを、ローカルな保存ファイル２２１に保存しておき、後で処理結果を要求する際に読み出して使用する。このようなメッセージと識別子を用いることで、利用者は、処理要求の中継に遅延がある場合にも、待たされることなしにその旨を知ることができ、後で改めて処理結果を受け取ることも可能となる。
【００２８】
図３は、利用者からの処理要求の例を示している。この例では、処理装置２０４としてＷｅｂサーバを用いたチケットの予約受け付けシステムにおける処理要求が示されている。利用者端末２０２上で、利用者が予約フォーム３０１に名前３１１とコース番号３１２を入力し、予約ボタン３１３をクリックすると、Ｗｅｂブラウザは、入力された情報をＷｅｂサーバで処理可能な処理要求３０２に変換する。
【００２９】
図４から図６までは、処理要求の中継に遅延が発生する場合に利用者に返される遅延メッセージの例を示している。
図４は、遅延メッセージを保存する場合の例を示している。この例では、遅延メッセージ４０１は、ＨＴＭＬ（HyperText Markup Language）形式の文書 として利用者端末２０２に送られる。遅延メッセージ４０１には、サーバ負荷のため処理が遅延しており、終了まで３０分ほどかかる旨を示すテキストと、遅延ストレージ装置２０１が発行した、処理結果要求のためのリンク４１１とが含まれている。リンク４１１には、処理要求の識別子（ＩＤ＝５６７８）が付加されている。
【００３０】
利用者がメッセージの保存ボタン４１２をクリックすると、利用者端末２０２は、遅延メッセージ４０１を保存ファイル２２１に保存する。そして、遅延メッセージ４０１に書かれた遅延時間を経た後に利用者が処理結果を要求する際に、利用者端末２０２は、保存した遅延メッセージ４０１を保存ファイル２２１から読み出して、画面上に表示する。このとき、利用者は、リンク４１１をクリックすることで、遅延ストレージ装置２０１に対して処理結果を要求することができる。
【００３１】
図５は、クッキーを用いる場合の例を示している。一般に、利用者端末２０２のＷｅｂブラウザには、サーバからの指示に基づいて識別子等の情報を自動的に利用者端末側の保存ファイル２２１に保存しておく、クッキーと呼ばれる機能が備わっている。この機能を用いることで、遅延ストレージ装置２０１から利用者端末２０２に送付される遅延メッセージ５０１の中に、処理要求の識別子をクッキー５１１として含ませておくことができる。
【００３２】
利用者端末２０２は、受け付けたクッキー５１１を自動的に保存ファイル２２１に保存する。そして、遅延メッセージ５０１に書かれた遅延時間を経た後に利用者が処理結果を要求する際に、利用者は、例えば、再度、予約フォーム３０１の画面を呼び出して、予約ボタン３１３をクリックする。これにより、遅延ストレージ装置２０１に処理要求が送られるが、このとき保存ファイル２２１に保存されているクッキー５１１が自動的に読み出され、処理要求とともに遅延ストレージ装置２０１に送られる。
【００３３】
遅延ストレージ装置２０１は、クッキー５１１を読み出すことで、割り当てられた処理要求の識別子の有無を判定し、利用者端末側にクッキー５１１があれば、既に受け付けた予約であると判別する。そして、その識別子に基づいて予約確認フォーム５０２を利用者端末２０２に送付する。利用者は、予約確認フォーム５０２の画面に含まれる確認ボタン５１２をクリックすることで、遅延ストレージ装置２０１に対して処理結果を要求することができる。
【００３４】
図４および図５の方法は、遅延時間が長く、利用者端末２０２に遅延メッセージを表示したままにしておくことが困難な場合に有効である。これに対して、遅延時間が短く、遅延メッセージを表示したままにしておくことが容易であれば、表示された遅延メッセージの画面上に埋め込まれたリンクをクリックすることで、処理結果を要求することも可能である。
【００３５】
図６および図７は、このような遅延メッセージの例を示している。図６の遅延メッセージは、Ｗｅｂサーバの単位時間当たりの処理要求件数が閾値を越えたため処理が遅延している場合に、利用者端末２０２に送付される。この遅延メッセージには、処理要求の識別子を含む、処理結果を要求するためのリンク６０１が挿入されており、利用者は、リンク６０１をクリックすることで、遅延ストレージ装置２０１に対して処理結果を要求することができる。
【００３６】
図７の遅延メッセージは、Ｗｅｂサーバのメンテナンスのため処理が遅延している場合に、利用者端末２０２に送付される。この場合も、利用者は、図６の遅延メッセージと同様に、リンク７０１をクリックすることで、遅延ストレージ装置２０１に対して処理結果を要求することができる。
【００３７】
図８は、処理装置２０４から返される処理結果の例を示している。この例では、遅延ストレージ装置２０１が中継した処理要求がＷｅｂサーバで処理され、その結果として予約が完了したという処理結果８０１が返される。この処理結果８０１は、遅延ストレージ装置２０１の処理結果ファイル２１８に一旦格納され、利用者からの処理結果要求に応じて利用者端末２０２に送られ、Ｗｅｂブラウザにより結果表示８０２として表示される。
【００３８】
図９は、情報管理テーブル２１３のデータの例を示している。図９の情報管理テーブルには、処理要求毎に、処理要求識別子、処理要求番号、受付日時、中継状況、および処理結果番号が登録される。このうち、処理要求番号は、情報管理テーブル２１３のデータと処理要求ファイル２１７のデータを結びつけるために用いられ、処理結果番号は、情報管理テーブル２１３のデータと処理結果ファイル２１８のデータを結びつけるために用いられる。
【００３９】
また、中継状況としては、“受付済み”、“処理中”、“結果受付済み”、および“結果削除済み（不図示）”のいずれかが登録される。“受付済み”は、処理要求が登録済みであることを表し、“処理中”は、処理装置２０４が処理を実行中であることを表し、“結果受付済み”は、処理装置２０４からの処理結果が登録済みであることを表し、“結果削除済み”は、登録された処理結果が削除されたことを表す。“受付済み”、“処理中”、および“結果削除済み”の場合は、処理結果ファイルが登録されていないので、処理結果番号は  “−１”に設定される。
【００４０】
図１０は、処理要求ファイル２１７のデータの例を示している。図１０の処理要求ファイルには、処理要求毎に、処理要求番号および処理要求がテーブル形式で登録される。
図１１は、処理結果ファイル２１８のデータの例を示している。図１１の処理結果ファイルは、処理結果テーブル１１０１と個々の処理結果を格納したファイル１１０２からなる。処理結果テーブル１１０１には、処理結果毎に、処理結果番号、処理結果受付日時、および処理結果ファイル名が登録される。処理結果ファイル名はファイル１１０２の名称であり、遅延ストレージ装置２０１は、処理結果テーブル１１０１を参照することで、ファイル１１０２を読み出すことができる。
【００４１】
次に、図１２から図１５までを参照しながら、図２の遅延ストレージシステムによる処理をより詳細に説明する。
図１２は、図２の遅延ストレージシステムの全体処理のフローチャートである。利用者が利用者端末２０２の入力装置１２０１から処理要求を入力して、それを遅延ストレージ装置２０１に送信すると（ステップＳ１２１１）、処理要求受付部２１１は、その処理要求を受け付ける（ステップＳ１２２１）。
【００４２】
次に、処理要求受付部２１１は、情報管理テーブル２１３を参照して現在の処理要求遅延状況を確認し（ステップＳ１２２２）、処理要求の中継に遅延があるか否かを判定する（ステップＳ１２２３）。
【００４３】
処理要求の中継に遅延があれば、受け付けた処理要求を識別する識別子を発行し、要求を受け付けた日時を取得する（ステップＳ１２２４）。そして、処理要求を処理要求格納部２１２の処理要求ファイル２１７に登録し（ステップＳ１２２５）、識別子を受付日時とともに情報管理テーブル２１３に登録する（ステップＳ１２２６）。図９の情報管理テーブルの場合、中継状況は“受付済み”に設定され、処理結果番号は“−１”に設定される。
【００４４】
次に、あらかじめ決められた遅延メッセージを用いて、処理要求の識別子を含む回答メッセージを生成し、利用者端末２０２に送信する（ステップＳ１２２７）。これを受けて、利用者端末２０２は、受信した回答メッセージをディスプレイ１２０２の画面上に表示し（ステップＳ１２１２）、待機状態となる。
【００４５】
システムの管理者は、管理端末２０３の入力装置１２０３から、あらかじめ決められた遅延時間の指定、中継停止／再開の指示、および単位時間当たりの処理要求件数の指定を入力する（ステップＳ１２４１）。
【００４６】
中継時間調整部２１４は、情報管理テーブル２１３から処理要求のデータを読み出し（ステップＳ１２３２）、処理装置２０４の負荷状況を検知して、管理者により指定された遅延時間および単位時間当たりの処理要求件数と、管理者からの中継停止／再開の指示と、検知された負荷状況等の情報に基づいて、中継時間を調整し、中継時刻を決定する（ステップＳ１２３３）。
【００４７】
そして、中継状況が“受付済み”となっている処理要求を受付日時順に処理要求ファイル２１７から読み出して、順次、処理装置２０４に中継送信し（ステップＳ１２３４）、中継した処理要求の中継状況を“処理中”に変更する  （ステップＳ１２３５）。
【００４８】
処理装置２０４は、遅延ストレージ装置２０１からの処理要求を受け付け  （ステップＳ１２５１）、要求された処理を実行し（ステップＳ１２５２）、処理結果を回答する（ステップＳ１２５３）。
【００４９】
処理結果受付部２１５は、処理装置２０４からの処理結果を受け付け（ステップＳ１２３６）、処理結果格納部２１６の処理結果ファイル２１８に登録する（ステップＳ１２３７）。このとき、処理結果の受付日時が処理結果ファイル２１８の処理結果テーブルに登録される。
【００５０】
また、処理結果受付部２１５は、情報管理テーブル２１３に処理結果ファイルに関する情報を登録する（ステップＳ１２３８）。ここでは、情報管理テーブル２１３の中継状況が“結果受付済み”に変更され、処理結果番号が“−１”から実際の処理結果番号に変更される。
【００５１】
遅延ストレージ装置２０１から、処理要求の中継に遅延がある旨の回答メッセージを受け取った利用者は、遅延ストレージ装置２０１に対して、後で改めて処理結果を要求する。このとき、利用者は、入力装置１２０１から処理結果要求を入力して、それを遅延ストレージ装置２０１に送信する（ステップＳ１２１３）。これにより、回答メッセージに含まれていた処理要求の識別子が、遅延ストレージ装置２０１に送信される。
【００５２】
処理要求受付部２１１は、その処理結果要求を受け付け（ステップＳ１２２８）、情報管理テーブル２１３を参照して、受信した識別子に対応する処理要求の中継状況を確認し（ステップＳ１２２９）、処理結果ファイル２１８に処理結果が格納されているか否かを判定する（ステップＳ１２３０）。
【００５３】
この時点で、処理要求が既に処理装置２０４に中継され、その結果が処理結果ファイル２１８に格納されていれば（中継状況が“結果受付済み”であれば）、その処理結果を読み出して利用者端末２０２に送信する（ステップＳ１２３１）。これを受けて、利用者端末２０２は、受信した処理結果をディスプレイ１２０２の画面上に表示する（ステップＳ１２１４）。
【００５４】
まだ処理要求が中継されていない（中継状況が“受付済み”である）か、あるいは処理要求は中継されたが処理結果を受け付けていない（中継状況が“処理中”である）場合は、処理要求受付部２１１は、その旨の回答メッセージを生成して、利用者端末２０２に送信する（ステップＳ１２２７）。
【００５５】
また、処理装置２０４から処理結果が返され、その後一定時間おいても利用者から処理結果の要求がなかった場合には、処理結果格納部２１６は、記憶容量に応じてその処理結果を削除することもできる。この場合、処理結果格納部２１６は、削除したことを示す情報を情報管理テーブル２１３に登録する。ここでは、情報管理テーブル２１３の中継状況が“結果削除済み”に変更される。
【００５６】
同じ処理要求が２回繰り返して処理されても問題がない場合には、既に削除された処理結果に関する処理結果要求が利用者からあった際に、その処理要求を再び処理装置２０４に中継することも可能である。この場合、遅延ストレージ装置２０１は、情報管理テーブル２１３を参照して、その処理要求を処理要求ファイル２１７から読み出し、処理装置２０４に改めて中継送信することで、処理結果を再び受け取ることができる。
【００５７】
管理者は、管理端末２０３から、処理装置２０４に対する処理要求の再実行に関する条件を設定しておき、遅延ストレージ装置２０１は、その条件に基づいて、処理要求の再実行に問題があるか否かを判断し、条件を満たす処理要求を再び処理装置２０４に中継する。そして、処理結果受付部２１５は、その処理結果を処理結果ファイル２１８に格納し、処理要求受付部２１１は、処理結果を利用者端末２０２に送信する。
【００５８】
ステップＳ１２２３において処理要求の中継に遅延がなければ、中継時間調整部２１４は、ステップＳ１２３４以降の処理を行い、処理要求受付部２１１は、ステップＳ１２２９以降の処理を行う。この場合、処理結果受付部２１５が受け付けた処理結果が、そのまま利用者端末２０２に送信される。
【００５９】
図１３は、中継時間調整部２１４による中継時間調整処理のフローチャートである。図１３のステップＳ１３０１の処理は、図１２のステップＳ１２４１の処理と同様であり、図１３のステップＳ１３１１〜Ｓ１３２０の処理は、図１２のステップＳ１２３２〜Ｓ１２３４の処理に対応している。
【００６０】
中継時間調整部２１４は、情報管理テーブル２１３から処理要求のデータを読み出し（ステップＳ１３１１）、処理装置２０４の負荷状況を確認する（ステップＳ１３１２）。そして、情報管理テーブル２１３から読み出した情報に基づいて、処理装置２０４に処理要求を中継する。このとき、以下の４つの中継条件を考慮する（ステップＳ１３１３〜Ｓ１３１８）。
（１）単位時間当たりの処理要求件数
後段の処理装置の処理性能に応じてあらかじめ決められた一定時間当たりの処理件数を越えないように処理要求を中継する。
（２）指定された遅延時間
利用者から受け付けた処理要求の受付日時から、あらかじめ指定された遅延時間が経過した後に、処理要求を中継する。
（３）処理装置２０４の負荷状況
あらかじめ決められた閾値を越える負荷が処理装置２０４にかかっている場合に中継を遅延させる。
（４）中継停止／再開の指示
管理者からの指示に基づいて、明示的に遅延時間を指定することなく、処理要求の中継を停止、あるいは再開する。中継を停止している間は、処理要求の中継を遅延させる。
【００６１】
まず、処理装置２０４の負荷が閾値を越えているか否かを判定する（ステップＳ１３１３）。負荷が閾値を越えていれば、中継待機（ステップＳ１３２０）の後でステップＳ１３１１以降の処理を繰り返す。
【００６２】
負荷が閾値を越えていなければ、次に、管理端末２０３からの指示状況を確認し（ステップＳ１３１４）、中継停止が指示されているか否かを判定する  （ステップＳ１３１５）。中継停止が指示されていれば、中継待機（ステップＳ１３２０）の後でステップＳ１３１１以降の処理を繰り返す。
【００６３】
中継停止が指示されていなければ、次に、現在の単位時間当たりの処理要求件数を確認し（ステップＳ１３１６）、その単位時間当たりの処理要求件数が閾値を越えているか否かを判定する（ステップＳ１３１７）。閾値としては、管理者により指定された単位時間当たりの処理要求件数が用いられる。単位時間当たりの処理要求件数が閾値を越えていれば、中継待機（ステップＳ１３２０）の後でステップＳ１３１１以降の処理を繰り返す。
【００６４】
単位時間当たりの処理要求件数が閾値を越えていなければ、次に、処理要求の受付日時から指定された遅延時間が経過しているか否かを判定する（ステップＳ１３１８）。遅延時間が経過していなければ、中継待機（ステップＳ１３２０）の後でステップＳ１３１１以降の処理を繰り返す。そして、遅延時間が経過していれば、処理要求の中継を実行する（ステップＳ１３１９）。
【００６５】
図１４は、処理要求受付部２１１による処理要求受付処理のフローチャートである。図１４のステップＳ１４０１およびＳ１４０２の処理は、図１２のステップＳ１２１１およびＳ１２１２の処理と同様であり、図１４のステップＳ１４１１〜Ｓ１４１６の処理は、図１２のステップＳ１２２１〜Ｓ１２２６の処理と同様である。
【００６６】
また、図１４のステップＳ１４２３の処理は、図１２のステップＳ１２３４の処理に対応しており、図１４のステップＳ１４１７〜Ｓ１４２２およびステップＳ１４２４〜Ｓ１４２９の処理は、図１２のステップＳ１２２７の処理に対応している。
【００６７】
処理要求受付部２１１は、中継時間調整部２１４による処理要求の中継が遅延している場合、利用者に対して処理要求の中継が遅延している旨のメッセージを回答する。メッセージの内容は、あらかじめ決められており、メッセージ中に処理要求の識別子を含めることもできる。
【００６８】
また、上述した４つの中継条件に従って、その時点で中継が遅延している処理要求の件数と処理装置２０４の処理性能から、受け付けた処理要求が中継されるまでの予測待ち時間をメッセージの中に含めることもできる。ただし、中継停止が指示されている場合等は、中継再開時刻が特に指定されていない限り、待ち時間を予測することはできない。
【００６９】
４つの中継条件に従って回答メッセージを生成する場合、処理要求受付部２１１は、まず、中継時間調整部２１４から中継遅延理由を受け取る（ステップＳ１４１７）。そして、中継遅延理由が中継停止が指示されているためであるか否かを判定する（ステップＳ１４１８）。中継遅延理由が中継停止が指示されているためであれば、中継停止の遅延メッセージを生成し（ステップＳ１４２４）、それを用いて処理要求の識別子を含む回答メッセージを生成して、利用者端末２０２に送信する（ステップＳ１４２２）。
【００７０】
中継遅延理由が中継停止が指示されているためでなければ、次に、中継遅延理由が処理装置２０４の負荷が閾値を越えているためであるか否かを判定する（ステップＳ１４１９）。中継遅延理由が処理装置２０４の負荷が閾値を越えているためであれば、処理装置２０４の負荷超過の遅延メッセージを生成し  （ステップＳ１４２５）、ステップＳ１４２２の処理を行う。
【００７１】
中継遅延理由が処理装置２０４の負荷が閾値を越えているためでなければ、次に、中継遅延理由が単位時間当たりの処理要求件数が閾値を越えているためであるか否かを判定する（ステップＳ１４２０）。中継遅延理由が単位時間当たりの処理要求件数が閾値を越えているためであれば、中継待機中の処理要求の件数と処理装置２０４の処理性能から中継予定時刻を予測し（ステップＳ１４２６）、その中継予定時刻を含む、処理要求件数超過の遅延メッセージを生成して（ステップＳ１４２７）、ステップＳ１４２２の処理を行う。
【００７２】
中継遅延理由が単位時間当たりの処理要求件数が閾値を越えているためでなければ、次に、中継遅延理由が遅延時間が指定されているためであるか否かを判定する（ステップＳ１４２１）。中継遅延理由が遅延時間が指定されているためであれば、処理要求の受付日時と指定された遅延時間から中継予定時刻を予測し（ステップＳ１４２８）、その中継予定時刻を含む、遅延時間指定の遅延メッセージを生成して（ステップＳ１４２９）、ステップＳ１４２２の処理を行う。
【００７３】
中継遅延理由が遅延時間が指定されているためでなければ、処理要求の識別子を含む適当な回答メッセージを生成して、利用者端末２０２に送信する（ステップＳ１４２２）。
図１５は、処理要求受付部２１１による処理結果要求受付処理と、その処理に関連する処理のフローチャートである。図１５のステップＳ１５１１およびＳ１５１２の処理は、図１２のステップＳ１２１３およびＳ１２１４の処理と同様であり、図１５のステップＳ１５２１〜Ｓ１５２４の処理は、図１２のステップＳ１２２８〜Ｓ１２３１の処理と同様である。
【００７４】
また、図１５のステップＳ１５４１〜Ｓ１５４５の処理は、図１２のステップＳ１２３４〜Ｓ１２３８の処理と同様であり、図１５のステップＳ１５５１〜Ｓ１５５３の処理は、図１２のステップＳ１２５１〜Ｓ１２５３の処理と同様である。
【００７５】
処理結果格納部２１６は、情報管理テーブル２１３を参照して、中継状況が“結果受付済み”の処理要求の処理結果番号を取得し、その番号をキーとして処理結果ファイル２１８を参照する（ステップＳ１５６１）ことで、処理結果の受付日時から一定時間が経過した時間切れの処理結果があるか否かを判定する（ステップＳ１５６２）。時間切れの処理結果がなければ、ステップＳ１５６１以降の処理を繰り返す。
【００７６】
時間切れの処理結果があれば、処理結果ファイル２１８からそれを削除し  （ステップＳ１５６３）、情報管理テーブル２１３の対応する処理要求の中継状況を、“結果削除済み”に変更する（ステップＳ１５６４）。そして、ステップＳ１５６１以降の処理を繰り返す。
【００７７】
処理要求の中継に遅延がある場合、利用者は処理要求受付部２１１を通じて、その旨の回答メッセージ１５０１を受け取る。回答メッセージ１５０１に処理要求の識別子が含まれている場合、利用者は後で改めて、その識別子を含む処理結果要求を送信することで、先に行った処理要求の処理結果を受け取ることができる。
【００７８】
ステップＳ１５２３において処理結果が格納されていない（中継状況が“結果受付済み”でない）場合、処理要求受付部２１１は、処理結果が時間切れで削除されている（中継状況が“結果削除済み”である）か否かを判定する（ステップＳ１５２５）。
【００７９】
処理結果が削除されていれば、その旨を示す時間切れ削除メッセージを生成して、利用者端末２０２に回答メッセージとして送信する（ステップＳ１５２６）。処理結果が削除されていなければ、中継処理遅延メッセージを生成して、利用者端末２０２に回答メッセージとして送信する（ステップＳ１５２７）。
【００８０】
処理結果が時間切れで削除されている場合、前述した方法で自動的に処理の再実行を行う他に、利用者に再実行の要否を選択させることも可能である。この場合、時間切れ削除メッセージの中に、処理要求の識別子と、利用者に対して再実行の要否を確認するメッセージを含めておく。
【００８１】
このような時間切れ削除メッセージ１５０２を受け取った利用者は、処理の再実行を依頼するか否かを選択し（ステップＳ１５１３）、利用者が再実行の依頼を選択しなければ、利用者端末２０２は処理を終了する。
【００８２】
利用者が再実行の依頼を選択すれば、利用者端末２０２は、時間切れ削除メッセージ１５０２に含まれる処理要求の識別子を含む再実行要求を、遅延ストレージ装置２０１に送信する（ステップＳ１５１４）。
【００８３】
処理要求受付部２１１は、再実行要求を受け付け（ステップＳ１５２８）、情報管理テーブル２１３を参照して、再実行要求に含まれる処理要求の識別子に対応する処理要求を、処理要求ファイル２１７から読み出す（ステップＳ１５２９）。そして、再実行要求に含まれる処理要求と読み出した処理要求が同じものであることを確認する。
【００８４】
次に、情報管理テーブル２１３の中継状況を“結果削除済み”から“受付済み”に変更する（ステップＳ１５３０）。これにより、中継時間調整部２１４は、その処理要求を中継待ちの処理要求であると認識するので、この処理要求は自動的に処理装置２０４に中継される。
【００８５】
次に、中継が遅延している旨を示す遅延メッセージを生成して、利用者端末２０２に送信する（ステップＳ１５３１）。この場合の遅延メッセージの生成方法については、図１４と同様である。利用者端末２０２は、受信した遅延メッセージをディスプレイ１２０２の画面上に表示する（ステップＳ１５１５）。
【００８６】
次に、図１６から図１９までを参照しながら、インターネット上における遅延ストレージシステムの運用方法および構成について説明する。
図１６は、遅延ストレージ装置を一種のアプライアンスサーバとしてＷｅｂサーバの前段に配置することで、利用者からの処理要求をＷｅｂサーバに中継する構成を示している。図１６の遅延ストレージ装置２０１、利用者端末２０２、およびＷｅｂサーバ１６０２は、それぞれ独立したコンピュータにより構成され、インターネット１６０１に接続されている。このうち、Ｗｅｂサーバ１６０２は、図２の処理装置２０４に対応する。利用者端末２０２は、Ｗｅｂブラウザ１６１１を含み、Ｗｅｂサーバ１６０２は、Ｗｅｂコンテンツ１６１２を格納したディスク装置を含む。
【００８７】
例えば、Ｗｅｂサーバ１６０２の処理性能が、１分間に１万件の処理要求を処理できるというものである場合、管理者は、遅延ストレージ装置２０１に接続された管理端末２０３から、処理要求の中継が１分間に１万件を越えないように指定する。
【００８８】
例えば、新製品の予約販売や、スポーツの試合のチケットの予約等で、予約受け付け開始と同時に一斉に予約処理の要求が集中し、Ｗｅｂサーバ１６０２で処理しきれなくなり、処理が滞ってしまうような場合に、このような運用方法が有効となる。
【００８９】
遅延ストレージ装置２０１自体が行う処理は、利用者端末２０２からの処理要求を受け付けて格納することと、処理が遅延している旨のメッセージを利用者端末２０２に回答することだけであるので、実際のＷｅｂサーバ１６０２が行う予約処理に比べて、計算機システムへの負荷は小さくなる。このため、Ｗｅｂサーバ１６０２に比べて、単位時間当たりにより多くの処理要求を処理できることが期待される。図１６における処理の手順は以下の通りである。
（１）遅延ストレージ装置２０１は、利用者端末２０２からの処理要求を受け付ける。
（２）処理が遅延している旨の遅延メッセージ（例えば、図４、５、６のような遅延メッセージ）を利用者端末２０２に返す。
（３）指定された単位時間当たりの処理要求件数を越えないように遅延時間を調整して、受け付けた処理要求をＷｅｂサーバ１６０２に中継する。
（４）Ｗｅｂサーバ１６０２は、中継された処理要求を順次処理し、その結果を遅延ストレージ装置２０１に返す。遅延ストレージ装置２０１は、返された処理結果を処理結果ファイル２１８に格納する。
（５）利用者端末２０２は、遅延メッセージに含まれる、先の処理要求の識別子を用いて、遅延ストレージ装置２０１に対して処理結果を要求する。
（６）遅延ストレージ装置２０１は、利用者端末２０２に処理結果を返す。
【００９０】
一般に、利用者は処理要求に対する回答が来ないまま待たされると、処理を中断して、再び処理要求を送信する傾向がある。このため、遅延ストレージ装置２０１を持たない構成の場合、Ｗｅｂサーバ１６０２の負荷は、中断と再要求を繰り返す処理要求によって、実際の処理要求の負荷と比べてますます高くなってしまう。また、利用者が自分の要求した予約が受け付けられたのかどうか分からずに処理要求を再送すると、多重に処理を要求してしまうこともあり得る。
【００９１】
これに対して、遅延ストレージ装置２０１を利用者端末２０２とＷｅｂサーバ１６０２の間に配置し、処理要求を受け付けた旨のメッセージを利用者に迅速に返すようにすれば、このような問題が解決される。
【００９２】
図１７は、図１６と同様の構成で、Ｗｅｂサーバ１６０２のディスク装置に障害が発生し、その交換のためにＷｅｂサーバ１６０２の動作を１時間停止するような運用方法を示している。
【００９３】
この場合、管理者は、管理端末２０３から、処理要求の中継を１時間遅延させる指示を行うことで、利用者端末２０２から受信した処理要求を遅延ストレージ装置２０１に一時的に蓄積させる。図１７における（１）および（４）〜（６）の処理は、図１６と同様である。（２）および（３）の処理は、以下のようになる。
（２）処理が遅延している旨の遅延メッセージ（例えば、図７のような遅延メッセージ）を利用者端末２０２に返す。
（３）指定された遅延時間が経過した後に、受け付けた処理要求をＷｅｂサーバ１６０２に中継する。
【００９４】
図１７において遅延ストレージ装置２０１がない構成の場合、利用者は停止しているＷｅｂサーバ１６０２に処理要求を送ったとしても、回答がない状態になるか、あるいは、処理再開後も自分の送った処理要求が実行されないため、処理の再開を待って再要求を行う必要がある。
【００９５】
これに対して、遅延ストレージ装置２０１を利用者端末２０２とＷｅｂサーバ１６０２の間に配置することで、利用者に対して処理要求が遅延している原因と結果が得られる予定時刻を伝えることが可能となる。さらに、利用者の処理要求自体は遅延ストレージ装置２０１に蓄積されているため、Ｗｅｂサーバ１６０２の処理再開後に、処理要求を順次処理することができる。
【００９６】
ところで、遅延ストレージ装置２０１とＷｅｂサーバ１６０２の配置方法としては、これらを同一のコンピュータ上に配置する方法と互いに異なるコンピュータ上に配置する方法とが考えられる。
【００９７】
図１８は、前者の配置方法による構成を示している。この構成では、遅延ストレージ装置２０１、管理端末２０３、およびＷｅｂサーバ１６０２の機能が同一のコンピュータにより実現され、このコンピュータは遅延中継機能付きＷｅｂサーバ１８０１としてインターネット１６０１に接続される。
【００９８】
この場合、利用者からは遅延ストレージ装置２０１とＷｅｂサーバ１６０２が一体に見えるため、従来のＷｅｂサーバに対して送信していた処理要求とまったく同じ処理要求を送信するだけで、その受付と中継を遅延ストレージ装置２０１に代行させることができる。
【００９９】
図１９は、後者の配置方法による構成を示している。この構成は、既にＷｅｂサーバ１６０２が稼動している状態で、Ｗｅｂサーバ１６０２から独立したコンピュータ上に遅延ストレージ装置２０１を配置し、利用者からＷｅｂサーバ１６０２宛てに出されていた処理要求を遅延ストレージ装置２０１を経由して中継するような場合に有効である。
【０１００】
インターネット１６０１を用いた通信サービスの場合、利用者端末２０２からＷｅｂサーバ１６０２への処理要求は、通常、ＤＮＳと呼ばれる名前解決システムによりＷｅｂサーバ１６０２の名前とネットワーク上のアドレスとを置き換えることで、Ｗｅｂサーバ１６０２に送信される。
【０１０１】
遅延ストレージ装置２０１を経由してＷｅｂサーバ１６０２に処理要求を中継する場合、ＤＮＳ１９０１上で管理されているＷｅｂサーバ１６０２のエントリを遅延ストレージ装置２０１のそれに置き換えることで、利用者端末２０２から見たＷｅｂサーバ１６０２のアドレスをすりかえることができる。この方法により、利用者端末２０２からＷｅｂサーバ１６０２への処理要求は、そのまま遅延ストレージ装置２０１を経由してＷｅｂサーバ１６０２に中継することができる。図１９における処理の手順は以下の通りである。
（１）管理者は、遅延ストレージ装置２０１のアドレスを、Ｗｅｂサーバ１６０２の名前でＤＮＳ１９０１に登録する。
（２）利用者端末２０２からＤＮＳ１９０１へ、Ｗｅｂサーバ１６０２のアドレスを問い合わせる。
（３）ＤＮＳ１９０１から利用者端末２０２へ、遅延ストレージ装置２０１のアドレスを回答する。
（４）利用者端末２０２は、回答されたアドレスを用いて、Ｗｅｂサーバ１６０２の名前をアクセス先として遅延ストレージ装置２０１にアクセスする。
【０１０２】
図２の遅延ストレージ装置２０１、利用者端末２０２、管理端末２０３、および処理装置２０４は、例えば、図２０に示すような情報処理装置（コンピュータ）を用いて構成することができる。図２０の情報処理装置は、ＣＰＵ（中央処理装置）２００１、メモリ２００２、入力装置２００３、出力装置２００４、外部記憶装置２００５、媒体駆動装置２００６、およびネットワーク接続装置２００７を備え、それらはバス２００８により互いに接続されている。
【０１０３】
メモリ２００２は、例えば、ＲＯＭ（read only memory）、ＲＡＭ（random access memory）等を含み、処理に用いられるプログラムおよびデータを格納する。ＣＰＵ２００１は、メモリ２００２を利用してプログラムを実行することにより、必要な処理を行う。
【０１０４】
図２の処理要求受付部２１１、処理要求格納部２１２、中継時間調整部２１４、処理結果受付部２１５、および処理結果格納部２１６は、メモリ２００２に格納されたプログラムに対応する。
【０１０５】
入力装置２００３は、例えば、キーボード、ポインティングデバイス、タッチパネル等であり、オペレータ（利用者や管理者）からの指示や情報の入力に用いられる。出力装置２００４は、例えば、ディスプレイ、プリンタ、スピーカ等であり、オペレータへの問い合わせや処理結果の出力に用いられる。図１２の入力装置１２０１および１２０３は、入力装置２００３に対応し、図１２のディスプレイ１２０２は、出力装置２００４に対応する。
【０１０６】
外部記憶装置２００５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。情報処理装置は、この外部記憶装置２００５に、上記プログラムおよびデータを格納しておき、必要に応じて、それらをメモリ２００２にロードして使用する。外部記憶装置２００５は、図２の情報管理テーブル２１３、処理要求ファイル２１７、処理結果ファイル２１８、および保存ファイル２２１を格納するためにも用いられる。
【０１０７】
媒体駆動装置２００６は、可搬記録媒体２００９を駆動し、その記録内容にアクセスする。可搬記録媒体２００９は、メモリカード、フレキシブルディスク、ＣＤ−ＲＯＭ（compact disk read only memory ）、光ディスク、光磁気ディスク等の任意のコンピュータ読み取り可能な記録媒体である。オペレータは、この可搬記録媒体２００９に上記プログラムおよびデータを格納しておき、必要に応じて、それらをメモリ２００２にロードして使用する。
【０１０８】
ネットワーク接続装置２００７は、ＬＡＮ（local area network）、インターネット等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う。情報処理装置は、必要に応じて、上記プログラムおよびデータを外部の装置からネットワーク接続装置２００７を介して受け取り、それらをメモリ２００２にロードして使用する。
【０１０９】
図２１は、図２０の情報処理装置にプログラムおよびデータを供給することのできるコンピュータ読み取り可能な記録媒体を示している。可搬記録媒体２００９やサーバ２１０１のデータベース２１０３に格納されたプログラムおよびデータは、情報処理装置２１０２のメモリ２００２にロードされる。サーバ２１０１は、そのプログラムおよびデータを搬送する搬送信号を生成し、ネットワーク上の任意の伝送媒体を介して情報処理装置２１０２に送信する。ＣＰＵ２００１は、そのデータを用いてそのプログラムを実行し、必要な処理を行う。
【０１１０】
（付記１）
利用者から処理装置への処理要求を受け付けて該処理装置へ中継する遅延ストレージ装置であって、
前記処理要求を受け付ける受付部と、
受け付けた処理要求を一時的に格納する要求格納部と、
受け付けた処理要求の受付時刻を格納する管理部と、
前記処理装置の性能に応じて処理要求の転送速度を調整しながら、前記受付時刻順に処理要求を該処理装置に中継する中継部と
を備えることを特徴とする遅延ストレージ装置。
（付記２）
前記中継部は、指定された単位時間当たりの処理要求件数を受け取り、前記処理装置に送信される単位時間当たりの処理要求件数が該指定された単位時間当たりの処理要求件数を越えないように、前記処理要求の転送速度を調整することを特徴とする付記１記載の遅延ストレージ装置。
（付記３）
前記中継部は、指定された遅延時間を受け取り、受け付けた処理要求の受付時刻から該指定された遅延時間が経過した後に、該処理要求を前記処理装置に中継することを特徴とする付記１記載の遅延ストレージ装置。
（付記４）
前記中継部は、中継停止の指示を受け取ったとき、次に中継再開の指示を受け取るまで処理要求の中継を停止することを特徴とする付記１記載の遅延ストレージ装置。
（付記５）
前記中継部は、前記処理装置の負荷状況を検知し、検知した負荷状況に基づいて前記処理要求の転送速度を調整することを特徴とする付記１記載の遅延ストレージ装置。
（付記６）
前記処理装置に中継された処理要求に対して該処理装置から返送された処理結果を格納する結果格納部をさらに備え、前記受付部は、処理要求を一意に識別するための識別子を発行して、該処理要求の要求元に該識別子を返送し、該要求元が該識別子を用いて該処理要求に対する処理結果を要求したとき、該結果格納部から対応する処理結果を読み出して該要求元に送信することを特徴とする付記１記載の遅延ストレージ装置。
（付記７）
前記受付部は、受け付けた処理要求の中継が遅延する場合、中継遅延理由に応じてあらかじめ決められた遅延メッセージを、該処理要求に対する回答として該処理要求の要求元に返送することを特徴とする付記１記載の遅延ストレージ装置。
（付記８）
前記処理装置に中継された処理要求に対して該処理装置から返送された処理結果を格納する結果格納部をさらに備え、前記受付部は、処理要求を一意に識別するための識別子を発行し、該識別子と予測される中継遅延時間を含む遅延メッセージを生成して前記要求元に返送し、該要求元が該識別子を用いて該処理要求に対する処理結果を要求したとき、該結果格納部から対応する処理結果を読み出して該要求元に送信することを特徴とする付記７記載の遅延ストレージ装置。
（付記９）
利用者から処理装置への処理要求を受け付けて該処理装置へ中継するコンピュータのためのプログラムであって、
前記処理要求を受け付け、
受け付けた処理要求を一時的に格納し、
受け付けた処理要求の受付時刻を発行し、
前記処理装置の性能に応じて処理要求の転送速度を調整しながら、前記受付時刻順に処理要求を該処理装置に中継する
処理を前記コンピュータに実行させることを特徴とするプログラム。
（付記１０）
利用者から処理装置への処理要求を受け付けて該処理装置へ中継するコンピュータのためのプログラムを記録した記録媒体であって、該プログラムは、
前記処理要求を受け付け、
受け付けた処理要求を一時的に格納し、
受け付けた処理要求の受付時刻を発行し、
前記処理装置の性能に応じて処理要求の転送速度を調整しながら、前記受付時刻順に処理要求を該処理装置に中継する
処理を前記コンピュータに実行させることを特徴とするコンピュータ読み取り可能な記録媒体。
（付記１１）
利用者から処理装置への処理要求を受け付けて該処理装置へ中継するコンピュータにプログラムを搬送する搬送信号であって、該プログラムは、
前記処理要求を受け付け、
受け付けた処理要求を一時的に格納し、
受け付けた処理要求の受付時刻を発行し、
前記処理装置の性能に応じて処理要求の転送速度を調整しながら、前記受付時刻順に処理要求を該処理装置に中継する
処理を前記コンピュータに実行させることを特徴とする搬送信号。
（付記１２）
利用者から処理装置への処理要求を受け付けて該処理装置へ中継する遅延処理方法であって、
前記処理要求を受け付け、
受け付けた処理要求を一時的に蓄積し、
受け付けた処理要求の受付時刻を発行し、
前記処理装置の性能に応じて処理要求の転送速度を調整しながら、前記受付時刻順に処理要求を該処理装置に中継し、
前記処理装置が、中継された処理要求の処理を実行して処理結果を出力する
ことを特徴とする遅延処理方法。
【産業上の利用可能性】
【０１１１】
本発明によれば、Ｗｅｂサーバ等の後段の処理装置に処理要求が集中し、高負荷により処理に遅延が生じるような場合に、処理要求の転送速度を調整しながら処理要求を処理装置に中継することで、処理装置のあふれを防ぐことが可能となる。
【０１１２】
また、利用者にとっては、後段の処理装置の負荷が高くなった場合でも、回答なしに処理要求が待たされることがなくなり、後で処理結果を受け取ることも可能となる。
【図面の簡単な説明】
【０１１３】
【図１】本発明の遅延ストレージ装置の原理図である。
【図２】遅延ストレージシステムの構成図である。
【図３】処理要求を示す図である。
【図４】第１の遅延メッセージを示す図である。
【図５】第２の遅延メッセージを示す図である。
【図６】第３の遅延メッセージを示す図である。
【図７】第４の遅延メッセージを示す図である。
【図８】処理結果を示す図である。
【図９】情報管理テーブルを示す図である。
【図１０】処理要求ファイルを示す図である。
【図１１】処理結果ファイルを示す図である。
【図１２】遅延ストレージシステムの処理のフローチャートである。
【図１３】中継時間調整処理のフローチャートである。
【図１４】処理要求受付処理のフローチャートである。
【図１５】処理結果要求受付処理のフローチャートである。
【図１６】第１の運用方法を示す図である。
【図１７】第２の運用方法を示す図である。
【図１８】第１の遅延ストレージシステムを示す図である。
【図１９】第２の遅延ストレージシステムを示す図である。
【図２０】情報処理装置の構成図である。
【図２１】記録媒体を示す図である。
【国際調査報告】
2004102396.tif 000024
2004102396.tif 000025
2004102396.tif 000026
2004102396.tif 000027