(57)【要約】【課題】業務アプリケーションがHTTPレスポンスヘッダに書き込むデータが、Webアプリケーションサーバの上限をオーバーした場合の回避策は、従来、HTTPレスポンスヘッダを拡張するか、HTTPレスポンスヘッダ書込み処理を業務アプリケーション内で制限する２つである。本発明では、HTTPレスポンスヘッダサイズが大きくなるようなケースにおいて、HTTPレスポンスヘッダサイズを圧迫する処理と特定できる情報と、過去のデータから書込み可能なサイズ情報をWebアプリケーション開発者に提供する。【解決手段】図１に示したWebアプリケーションサーバシステムによれば、HTTPレスポンスヘッダ書込み関数による書込みデータサイズ、回数のどちらが変動したのかWebアプリケーションサーバ内で把握した後、サイズ、回数の定常状態が考慮された推奨値を得ることができる。【選択図】図１
2008099153.tif 000002
【特許請求の範囲】
【請求項１】
HTTPレスポンスヘッダへのデータ書込み処理を制御するシステムであって、HTTPレスポンスヘッダ書込み関数による書込みデータサイズ、回数の変動を閾値でチェックする部分を持つことを特徴とした、Webアプリケーションサーバシステム。
【請求項２】
HTTPレスポンスヘッダ書込み関数による書込みデータサイズ、回数の変動をチェックする閾値を過去のデータから自動的に算出する閾値算出部を持つことを特徴とした、Webアプリケーションサーバシステム。
【請求項３】
HTTPレスポンスヘッダ書込み関数による書込みデータサイズ、回数の変動をチェックする閾値を、業務アプリケーション毎に持つことができることを特徴とした、Webアプリケーションサーバシステム。
【請求項４】
HTTPレスポンスヘッダ書込み関数による書込みデータサイズ、回数の変動範囲がレスポンスヘッダサイズ上限を超えた場合、サイズデータ、回数データを交互に減少させてレスポンスヘッダサイズ上限内に収まる推奨値を算出すること特徴とした、書込みデータサイズ、回数推奨値算出方法。
【請求項５】
HTTPレスポンスヘッダ書込み関数の書込みサイズデータ、回数データの推奨値算出処理において、分散値の大きいデータを優先的に減らすことを特徴とした、書込みデータサイズ、回数推奨値算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
Webアプリケーションサーバシステムにおけるレスポンスヘッダ処理に関する。
【背景技術】
【０００２】
Webアプリケーションサーバを用いた業務システムは、銀行のオンラインシステムや、公共機関の帳票管理システム等、多岐に渡る。こうした業務システムではその性格上、ユーザ情報をシステム側で保持しておいて、ユーザの作業履歴を管理する処理を多数持つ。その中心処理は、CookieデータをHTTPレスポンスヘッダに付与する処理である。しかしながら、業務アプリケーションの開発者がHTTPレスポンスヘッダ書込み関数（addCookie(), setHeader()など）を実装する背景は、多種多様なため、業務の造りによっては、HTTPレスポンスヘッダサイズが巨大化する場合がある。HTTPレスポンスヘッダサイズが、Webアプリケーションサーバシステムの上限を超えると、業務アプリケーション処理のエラーとして、Webアプリケーションサーバはエラーを通知する。
【０００３】
業務アプリケーションがHTTPレスポンスヘッダに書き込むデータが、Webアプリケーションサーバの上限をオーバーした場合の回避策には、特開2004-96738号のような、HTTPヘッダを圧縮する方法や、業務アプリケーション側でヘッダ書込み処理を削減する方法がある。HTTPレスポンスヘッダ書込み処理を削減する方法は、業務アプリケーション内での方法となる。そのためには、過去の業務リクエストでどれだけのデータがHTTPレスポンスヘッダに書き込まれるかの傾向分析をして、書込み可能なサイズ、回数を策定する作業となる。後者の作業は、特開2005-31908号のような、学習機能および統計処理による時系列予測技術を取り入れるなどの方法が考えられる。
【０００４】
【特許文献１】特開2004-96738号公報
【特許文献２】特開2005-31908号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
業務アプリケーションがHTTPレスポンスヘッダに書き込むデータが、Webアプリケーションサーバの上限をオーバーした場合の回避策において、特開2004-96738号のようなHTTPヘッダ圧縮による方法では、業務アプリケーションがさらに大きなデータをヘッダに書き込むケースに対応できない。また、特開2005-31908号などにより、HTTPレスポンスヘッダに書き込むデータサイズの傾向を分析し、書込み可能なサイズ、回数を策定する方法は、予測値が常にHTTPレスポンスヘッダサイズ上限に収められることまで考慮できないケースがある。また、HTTPレスポンスヘッダサイズ上限内に収める際にも、現状のWebアプリケーションサーバシステムでは、サイズ、回数のどちらをどれだけ減らすかを判断する材料がない。
【０００６】
本発明の目的は、HTTPレスポンスヘッダサイズが大きくなるようなケースにおいて、HTTPレスポンスヘッダサイズを圧迫する処理と特定できる情報と、過去のデータから書込み可能なサイズ情報をWebアプリケーション開発者に提供することである。
【課題を解決するための手段】
【０００７】
本発明では、HTTPレスポンスヘッダ書込み関数による書込みデータサイズ、回数の変動を閾値でチェックする部分と、HTTPレスポンスヘッダ書込み関数による書込みデータサイズ、回数の変動をチェックする閾値を過去のデータから自動的に算出する閾値算出部を持つことを特徴とした、Webアプリケーションサーバシステムを提供する。
【０００８】
前記閾値算出部は、HTTPレスポンスヘッダ書込み関数による書込みデータサイズ、回数の変動範囲がHTTPレスポンスヘッダサイズ上限を超えた場合、サイズデータ、回数データを交互に減らしてHTTPレスポンスヘッダサイズ上限内に収まる推奨値を算出すること特徴とした、データサイズ、回数の推奨閾値の算出が可能である。さらに、HTTPレスポンスヘッダ書込み関数の書込みサイズデータ、回数データにおいて、分散値の大きいデータを優先的に減らすことが可能であることを特徴としている。
【発明の効果】
【０００９】
HTTPレスポンスヘッダ書込み関数による書込みデータサイズ、回数の変動を閾値チェックする部分では、HTTPレスポンスヘッダ書込みデータサイズ、回数が、定常時のサイズ、回数変動範囲を超えたかどうかをチェックできる。これにより、HTTPレスポンスヘッダを圧迫する可能性のある書込み処理を特定できる。
【００１０】
閾値算出部では、HTTPレスポンスヘッダサイズ超過時において、定常状態でのサイズ、回数を考慮した推奨値を、業務アプリケーション開発者に伝えることができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を用いて発明の実施の形態を説明する。
【００１２】
図１は、本発明のWebアプリケーションサーバシステム構成図の例を表す図である。
【００１３】
本システムは、ネットワーク002に接続された、クライアントマシン010、APサーバマシン020で構成される。APサーバマシン020内部の処理は、CPU 021が、メモリ022に格納されたプログラムを実行することで行われる。メモリ022の内部には、業務アプリケーションを動かすプログラム処理部030と、HTTPレスポンスヘッダ処理部040と、ボディデータ処理部053と、レスポンスデータ返却部054が存在する。レスポンスデータ返却部054には、HTTPレスポンスヘッダ書込み上限サイズ055が設けられている。HTTPレスポンスヘッダ処理部040の内部には、閾値チェック部050と、閾値自動算出部060が含まれている。閾値チェック部050は、業務アプリケーションごとに比較部を持つ（051、052）ことを特徴とする。
【００１４】
図２は、HTTPレスポンスヘッダ書込み関数による書込みデータサイズ、回数の閾値チェック部050を表す図である。閾値チェック部050は、業務アプリケーションごとに持つことができることを特徴とする。以下、業務Aの場合を例に示す。閾値チェック部050では、HTTPレスポンスヘッダ書込み関数による書込みデータサイズ、回数の一覧をまとめたテーブルA  503を、プログラム処理部030から取得する。その後、回数、サイズデータと閾値比較部507において、テーブルA  503の書込み要求を一つ一つチェックし、レスポンスヘッダ書込みサイズ、回数閾値保持部505にあるレスポンスヘッダ書込みサイズ閾値514、回数閾値515をオーバーしたか否かの判定を行う。HTTPレスポンスヘッダ上限オーバー時の処理部509では、テーブルA  503にある、HTTPレスポンスヘッダ書込み関数による書込みデータサイズ合計がHTTPレスポンスヘッダサイズ上限055内なら、テーブルAにある、HTTPレスポンスヘッダ書込み関数による書込みデータをそのままレスポンスデータ返却部054へ送る。上限外ならHTTPレスポンスヘッダ書込み関数による書込みデータサイズ、回数データを閾値自動算出部060へ渡して、算出された結果をレスポンスデータ返却部054へ送る。図2で説明した、書込みデータサイズ、回数の一覧をまとめたテーブルA  503と、レスポンスヘッダ書込みサイズ、回数閾値保持部505と、回数、サイズデータと閾値比較部507と、HTTPレスポンスヘッダ上限オーバー時の処理部509は、業務Aの場合であり、業務Bではそれぞれ、504、506、508、510に相当する。
【００１５】
図１５は、従来技術の課題を解決する手段のシステム全体での流れを表す図である。図１５では、DBサーバ070に登録されている入金情報テーブルC 071のデータを表示する業務アプリケーションを例に示している。業務アプリケーションでは、入金状況照会処理034によってテーブルC 071の入金情報データを取得する。取得した入金情報データが、クライアントから送られてきたCookie情報に含まれていなければ、初めての入金情報データ表示と判断し、以降の表示を既表示にするために、クライアントにCookieデータを送信する（HTTPレスポンスヘッダ書込み関数を用いて送信する）。上記のような業務アプリケーションを動作させると、HTTPレスポンスヘッダ書込み関数036による書込み命令が逐次実行される。その際、閾値チェック部050による閾値チェックの実行をHTTPレスポンスヘッダへの書込み要求の発生回数だけ実行しなければならない。このため、プログラム処理部030の中に、実行されたHTTPレスポンスヘッダへの書込み要求が発生する度に、書込みデータ035を保持するテーブルＡ503を生成すればよい。これにより、閾値チェックを「テーブルＡ503の行の終端まで行う」という処理を実装していれば、HTTPレスポンスヘッダへの書込み要求の発生回数だけ閾値チェックを実行できる。レスポンスヘッダ処理部040には、「閾値チェックをテーブルＡ503の行の終端まで行う」という処理を持つ閾値チェック部050がある。これにより、HTTPレスポンスヘッダへの書込み関数による書込みデータ517〜519ごとに、534〜537のようにサイズ閾値超え、回数閾値超えを、業務アプリケーションで実行される全てのHTTPレスポンスヘッダへの書込み要求についてチェックできる。上記のような業務アプリケーションに、本発明を適用することで、534〜537で「×」の付いたデータから、HTTPレスポンスヘッダ書込み関数による書込みデータ、回数が増加することによるHTTPレスポンスヘッダ圧迫要因を事前に検知できる。また、HTTPレスポンスヘッダ上限055をオーバーした場合でも、閾値自動算出部060により、HTTPレスポンスヘッダ書込み関数により書込み可能なサイズ、回数を過去のデータから策定し、クライアント010に通知することが可能である。
【００１６】
図３は、プログラム処理部030で生成される、HTTPレスポンスヘッダ書込み関数による書込みデータサイズ、回数の一覧をまとめたテーブルA 503を表す図である。テーブルAは、HTTPレスポンスヘッダ書込み関数の発行回数を表すデータを格納する列511と、HTTPレスポンスヘッダ書込み関数により書き込まれるデータを格納する列512と、HTTPレスポンスヘッダ書込み関数により書き込まれるデータのサイズを格納する列513で構成される。
【００１７】
図４は、HTTPレスポンスヘッダ書込みサイズ、回数閾値保持部505を表す図である。HTTPレスポンスヘッダ書込みサイズ、回数閾値保持部505は、HTTPレスポンスヘッダ書込み回数閾値保持部514と、HTTPレスポンスヘッダ書込みサイズ閾値保持部515で構成される。HTTPレスポンスヘッダ書込み回数閾値保持部514と、HTTPレスポンスヘッダ書込みサイズ閾値保持部515の値は、業務アプリケーションからのHTTPレスポンスヘッダへの書込み要求がない状態では、ユーザ定義ファイル516で与えられる初期値が使用される。その後、業務アプリケーションからのHTTPレスポンスヘッダ書込み要求を受けて、HTTPレスポンスヘッダ上限オーバー時の処理部509から返される値に更新される。図４では、ユーザ定義ファイル516から指定された閾値（書込み回数閾値2回、書込みサイズ閾値2KB）が、業務アプリケーションからのHTTPレスポンスヘッダへの書込み要求を受けて、書込み回数閾値5回、書込みサイズ閾値2.5KBへ更新される例を示している。
【００１８】
図５は、図２のHTTPレスポンスヘッダ書込み関数による書込みデータサイズ、回数の閾値チェック部050内にある、ヘッダ書込み回数、サイズデータと閾値比較部507の処理を表す図である。本処理は、以下の手続きにより実行される。
【００１９】
図３のテーブルA  503から、データを1列取得する（ステップ520）。取得したデータは、HTTPレスポンスヘッダ書込み関数の発行回数を表すデータ517と、HTTPレスポンスヘッダ書込み関数により書き込まれるデータ518と、HTTPレスポンスヘッダ書込み関数により書き込まれるデータのサイズ519で構成される。
【００２０】
HTTPレスポンスヘッダ書込み関数の発行回数を表すデータ517と、HTTPレスポンスヘッダ書込み回数閾値保持部514の持つ値を比較する（ステップ521）。データ517のサイズが、閾値保持部514の範囲内であれば、ステップ522へ進む。閾値保持部514の範囲外であれば、ステップ523へ進む。
【００２１】
チェック結果保持部533にヘッダ書込み回数閾値範囲内「○」である旨を書き込む（ステップ522）。チェック結果保持部533は、閾値比較部507に含まれるテーブルである。チェック結果保持部533の詳細は、図６にて説明する。
【００２２】
チェック結果保持部533にヘッダ書込み回数閾値範囲外「×」である旨を書き込む（ステップ523）。
【００２３】
HTTPレスポンスヘッダ書込み関数が書込むデータサイズを表すデータ519と、HTTPレスポンスヘッダ書込みデータサイズ閾値保持部515の持つ値を比較する（ステップ524）。データ519のサイズが、閾値保持部515の範囲内であれば、ステップ525へ進む。閾値保持部515の範囲外であれば、ステップ526へ進む。
【００２４】
チェック結果保持部533にHTTPレスポンスヘッダ書込みサイズ閾値範囲内「○」である旨を通知する（ステップ525）。
【００２５】
チェック結果保持部533にHTTPレスポンスヘッダ書込みサイズ閾値範囲外「×」である旨を通知する（ステップ526）。
【００２６】
チェック結果保持部533に、ステップ520で取得したデータ517〜519をセットする（ステップ527）。
【００２７】
ステップ527において、チェック結果保持部533にセットしたデータ内に、HTTPレスポンスヘッダ書込み回数閾値範囲外「×」もしくは、HTTPレスポンスヘッダ書込みサイズ閾値範囲外「×」の判定結果があるかをチェックする（ステップ528）。有る場合は、ステップ529に進む。無い場合は、ステップ530に進む。
【００２８】
ステップ527において、チェック結果保持部533にセットしたデータ内に、HTTPレスポンスヘッダ書込み回数閾値範囲外「×」もしくは、HTTPレスポンスヘッダ書込みサイズ閾値範囲外「×」の判定結果が有る場合、HTTPレスポンスヘッダ書込みサイズもしくは、ヘッダ書込み回数の変動が、閾値の範囲内を超えたと判断される。このため、チェック結果保持部533にセットしたデータを、ログ出力データ保持部538に送る（ステップ529）。ログ出力データ保持部538は、閾値比較部507に含まれるテーブルである。ログ出力データ保持部538については、図７にて説明する。
【００２９】
テーブルA 503のすべてのデータ列を読み終えたかどうかをチェックする（ステップ530）。読み終えていれば、ステップ531へ進む。読み終えていなければ、次のデータのチェックを行うために、ステップ520に戻る。
【００３０】
閾値自動算出部060に渡すデータの生成を行う（ステップ531）。ここでは、サイズデータ、回数データ保持部543に一旦保持する。サイズデータ、回数データ保持部543は、閾値比較部507に含まれるテーブルである。サイズデータ、回数データ保持部543については、図８にて説明する。
【００３１】
図６は、HTTPレスポンスヘッダ書込みサイズ、回数閾値チェック結果保持部533を表す図である。閾値チェック結果保持部533は、閾値チェック結果を含む列534と、HTTPレスポンスヘッダ書込み関数の発行回数を表すデータを格納する列535と、HTTPレスポンスヘッダ書込み関数により書き込まれるデータを格納する列536と、HTTPレスポンスヘッダ書込み関数により書き込まれるデータのサイズを格納する列537で構成される。
【００３２】
図７は、ログ出力データ保持部538を表す図である。ログ出力データ保持部538は、回数、サイズデータと閾値比較部507により、HTTPレスポンスヘッダ書込みサイズもしくは、HTTPレスポンスヘッダ書込み回数の変動が、閾値の範囲内を超えたと判断されたデータを、閾値チェック結果保持部533から抜き出したデータを保持している。
【００３３】
図８は、閾値自動算出部060に渡すサイズデータ、回数データ保持部543を表す図である。閾値自動算出部060に渡すサイズデータ、回数データ保持部543は、受けたリクエストのHTTPレスポンスヘッダ書込みサイズデータを含むセル544と、受けたリクエストのHTTPレスポンスヘッダ書込み回数データを含むセル545で構成される。
【００３４】
セル544における、A?[0]=という表記は、「?」には、最新のリクエストを受け取った際の回次が入る。例えば、過去に受け取ったリクエストが4リクエストであれば、最新のリクエストは、5番目のリクエストとなるので、「?」には、5が入り、A5[0]=という表記になる。
【００３５】
図９は、HTTPレスポンスヘッダ上限オーバー時の処理509を表す図である。本処理は、以下の手続きにより、実行される。
【００３６】
サイズデータ、回数データ保持部543にあるデータサイズの合計が、HTTPレスポンスヘッダサイズ055内か否かのチェックを行う（ステップ546）。HTTPレスポンスヘッダサイズ上限055内であれば、ステップ547に進む。HTTPレスポンスヘッダサイズ上限外であれば、ステップ551に進む。
【００３７】
サイズデータ、回数データ保持部543にあるデータサイズの合計が、HTTPレスポンスヘッダサイズ上限055内の場合、テーブルA  503の、HTTPレスポンスヘッダ書込み関数により書き込まれるデータを格納する列512のデータをレスポンスデータ返却部054に送る（ステップ547）。その後、次回リクエストチェック用の閾値を算出するため、ステップ548に移る。
【００３８】
サイズデータ、回数データ保持部543にあるデータを、閾値自動算出部060に送る（ステップ548）。
【００３９】
閾値自動算出部060の結果を受け取る（ステップ549）。
【００４０】
ステップ549の結果を、閾値チェック部050にある閾値セット部505にセットする（ステップ550）。HTTPレスポンスヘッダ上限オーバー時の処理509の終了。
【００４１】
サイズデータ、回数データ保持部543にあるデータサイズの合計が、HTTPレスポンスヘッダサイズ上限外であれば、エラー画面の生成を行う（ステップ551）。
【００４２】
エラー画面の生成時に、HTTPレスポンスヘッダ書込みサイズ、HTTPレスポンスヘッダ書込み回数が変動可能な範囲を算出、クライアント通知するために、サイズデータ、回数データ保持部543にあるデータを、閾値自動算出部060に送る（ステップ552）。
【００４３】
閾値自動算出部060の結果を受け取る（ステップ553）。受け取った結果をステップ555に渡した後、ステップ554の次回リクエスト用の閾値セット処理に移る。
【００４４】
ステップ553の結果を、閾値チェック部050にある閾値セット部505にセットする（ステップ554）。
【００４５】
ステップ553の結果を、HTTPレスポンスヘッダサイズ上限055オーバーの旨と同時にレスポンスデータ返却部054にエラー画面として送る（ステップ554）。HTTPレスポンスヘッダ上限オーバー時の処理509の終了。
【００４６】
図１０は、閾値自動算出部060を表す図である。本処理は、以下の手続きにより、実行される。
【００４７】
サイズデータ、回数データ保持部543にあるデータを受け取る（ステップ600）。
【００４８】
過去データ保持部606にサイズデータ、回数データ保持部543にあるデータを追加する（ステップ601）。
【００４９】
過去データ保持部606にある、上限区間推定値、データ分散値算出部607により、サイズデータ、回数データの分散値と、変動範囲を表す上限区間推定値を算出する（ステップ602）。
【００５０】
ステップ602で算出されたサイズデータ、回数データの分散値と、上限区間推定値を、過去データ保持部606の書込みサイズデータ保持部608と、書込み回数データ保持部611に上書きする（ステップ630）。上書きされたサイズデータの分散値と、上限区間推定値は、それぞれ609、610で表され、回数データの分散値と、上限区間推定値は、それぞれ612〜613で表される。
【００５１】
（サイズデータ上限区間推定値）×（回数データ上限区間推定値）により見積もられるHTTPレスポンスヘッダ書込みサイズ見積もり値が、HTTPレスポンスヘッダサイズ上限055内かどうかのチェックを行う（ステップ603）。上限内であれば、ステップ608に進む。上限外であれば、ステップ604に進む。
【００５２】
（サイズデータ上限区間推定値）×（回数データ上限区間推定値）により見積もられるHTTPレスポンスヘッダ書込みサイズ見積もり値が、HTTPレスポンスヘッダサイズ上限055をオーバーした場合、HTTPレスポンスヘッダサイズ上限055内に収まる（サイズデータ上限区間）×（回数データ上限区間）のHTTPレスポンスヘッダ書込みサイズ見積もり値を策定しなくてはならない。そこで、サイズデータ上限区間推定値610、回数データ上限区間推定値613の補正処理を行う（ステップ604）。ステップ604の処理の詳細は、図１３で説明する。その後、得られた結果を、ステップ605を実行して閾値チェック部050に返す。終了。
【００５３】
（サイズデータ上限区間）×（回数データ上限区間）により見積もられるHTTPレスポンスヘッダ書込みサイズ見積もり値が、HTTPレスポンスヘッダサイズ上限055内であれば、ステップ602で得られたサイズデータ上限区間推定値610および、回数データ上限区間推定値613を、閾値チェック部050に返す（ステップ608）。終了。
【００５４】
図１１は、過去データ保持部606を表す図である。過去データ保持部606は、過去のリクエストにおける、HTTPレスポンスヘッダ書込み関数による書込みサイズのデータの分散値609と、変動区間を表す上限区間推定値610を保持する部分608と、HTTPレスポンスヘッダ書込み関数による書込み回数のデータの分散値612と、変動区間を表す上限区間推定値613を保持する部分611を持つ。過去のリクエスト情報は、614〜621で管理される。最新リクエストを受けると、622にHTTPレスポンスヘッダ書込み関数による書込みサイズのデータ群が追加され、623にHTTPレスポンスヘッダ書込み関数による書込み回数のデータ群が追加される。書込みサイズデータの分散値609、上限区間推定値610と、書込み回数データの分散値612と、上限区間推定値613は、過去データ614〜621と、最新データ622、623から計算される。最後に、上限区間推定値をHTTPレスポンスヘッダ上限055以内に補正する処理604に渡すための、過去データ614〜621と、最新データ622、623を降順に並べ替えたデータ624、625を保持する。
【００５５】
図１２は、HTTPレスポンスヘッダ書込み関数による書込みサイズのデータ、書込み回数のデータの上限区間推定値、分散値算出部607が行う、統計処理の例を表す図である。上限区間の推定には、任意のデータ学習処理や統計処理を使用可能とする。ここでは、データ624と、データ625の分布から上限区間推定値610、613を求め、分散値609、612を求める。データ624は、連続値データなので、データの正規分布を使い、分布関数の平均値μ、標準偏差をσとすると、μ＋3σの値から、上限区間推定値610を求める。データ625は、離散値データなので、データの二項分布を使い、同様に分布関数の平均値μ＋3σの値から、上限区間推定値613を求める。
【００５６】
図１３は、上限区間推定値をHTTPレスポンスヘッダ上限055の範囲内に補正する処理604を表す図である。本処理は、以下の手続きにて実行される。
【００５７】
サイズデータx[0],x[1],．．．回数データy[0],y[1],．．．および、サイズデータの上限区間推定値610  x_u、分散値609  x_bunsan、回数データの上限区間推定値613 y_u、分散値612  y_bunsanを受け取る（ステップ801）。
【００５８】
サイズデータの分散値 x_bunsan、回数データの分散値 y_bunsanを比較。x_bunsanが大きければ、Case:1、y_bunsanが大きければ、Case:2とする（ステップ802）。
【００５９】
サイズ変動（Case:1）なのか、回数変動（Case:2）なのかをチェックする（ステップ803）。Case:1であれば、ステップ805へ。Case:2であれば、ステップ812へ。
【００６０】
HTTPレスポンスヘッダ書込み関数による書込みサイズデータ624の分散値609の四捨五入数だけ、下記処理を繰り返す（ステップ805（ループ１））。例えば、分散値609の値が、1.04であれば、ステップ805の処理繰り返し数は1回である。ループ1の繰り返し回数を分散値609の四捨五入数としているのは、図14のように、x_u、y_uを交互に減らす処理において、変動の大きいデータを優先的に減らすためである。
【００６１】
x_u > x[n]の間、下記処理を繰り返す（ステップ806（ループ２））。nは、過去データ保持部606のデータ624の数を表す。
【００６２】
x_uを減らす処理を行う。x_uは、HTTPレスポンスヘッダ書込み関数による書込みサイズ変動の上限を表すので、x_u  0.1x_uのように、減少係数を乗算した値づつ減らしていく（ステップ807）。ここでは、HTTPレスポンスヘッダ書込み関数による書込みサイズ補正は、減少係数0.1を乗算した値づつ減らすことにする。
【００６３】
x_u ×  y_uの値（HTTPレスポンスヘッダ書込み関数による書込みサイズ610と、HTTPレスポンスヘッダ書込み関数による書込み回数613の掛け算で見積もられるHTTPレスポンスヘッダ書込みデータ見積もり値）がHTTPレスポンスヘッダサイズ上限055内か否かのチェックを行う（ステップ808）。上限内なら、ステップ817へ。上限外なら、ステップループ２の終端のステップ810へ。
【００６４】
x_u（上限値）に、x[n]を入力する。同時にnをデクリメントする（ステップ810）。本処理がステップ806（ループ2）の終端となる。
【００６５】
ループ１の範囲内にあるかどうかの判定を行う（ステップ811）。本処理がステップ805（ループ1）の終端となる。範囲内であれば、ステップ806へ。そうでなければ、ステップ812へ。
【００６６】
レスポンスヘッダ書込み関数による書込み回数データ625の分散値612の四捨五入数だけ、下記処理を繰り返す（ステップ812（ループ3））。例えば、分散値612の値が、2.8であれば、ステップ812の処理繰り返し数は3回である。ループ3の繰り返し回数を分散値612の四捨五入数としているのは、図14のように、x_u、y_uを交互に減らす処理において、変動の大きいデータを優先的に減らすためである。
【００６７】
y_uを1つ減らす（ステップ813）。
【００６８】
x_u ×  y_uの値（レスポンスヘッダ書込み関数による書込みサイズ610と、レスポンスヘッダ書込み関数による書込み回数613の掛け算で見積もられるレスポンスヘッダ書込みデータ見積もり値）がレスポンスヘッダ書込みサイズ上限055内に収まったか否かのチェックを行う（ステップ814）。収まったら、ステップ817へ。収まらなければ、ステップ815へ。
【００６９】
ループ3の範囲内にあるかどうかの判定を行う（ステップ815）。本処理が、ステップ812（ループ3）の終端となる。範囲内であれば、ステップ813へ。そうでなければ、ステップ805へ。
【００７０】
補正されたx_u 、y_uの値を返す（ステップ817）。図１５全処理終了。
【００７１】
図１４は、上限区間推定値がHTTPレスポンスヘッダ上限055超過時の補正処理結果例を表す図である。過去データ保持部分606から算出されたHTTPレスポンスヘッダ書込み関数による書込みサイズ上限区間610 と、HTTPレスポンスヘッダ書込み関数による書込み回数上限区間613から見積もったHTTPレスポンスヘッダ書込みサイズは、HTTPレスポンスヘッダの上限055のサイズを16KBと仮定すると、3.781×14=52.94KB>16KBでサイズオーバーとなる。このため、図13の処理を実行し、HTTPレスポンスヘッダの上限055に収まるよう、補正を行う。図１１では、HTTPレスポンスヘッダ書込み関数の書込みサイズデータ624の分散値609、書込み回数データ625の分散値612の値がそれぞれ1.04、2.8なので、図１３のループ1の繰り返し回数が1回、ループ3の繰り返し回数が3回となる。このため、補正（デクリメント）過程が、サイズ1回、回数3回、サイズ1回、回数3回・・という繰り返しになる。これにより、HTTPレスポンスヘッダ書込み関数の書込みサイズ、書込み回数の過去の履歴から、HTTPレスポンスヘッダ書込み関数の書込みサイズが3.1KBまで、回数が5回までならHTTPレスポンスヘッダの上限055内で書込み可能。という情報が得られる。
【００７２】
図１６は、本発明適用後のディスプレイ000内のブラウザ111で表示される画面017および、ログ出力の例018を表す図である。本発明により、業務アプリケーション開発者は、サイズ、回数のどちらが変動したのかを調査することなく、画面017から推奨値を得ることができる。
【００７３】
また、ログ出力例018により、HTTPレスポンスヘッダ書込み関数の実行において、どの書込み処理がサイズ超過しているのか、回数超過しているのかを検知することが可能となる。
【図面の簡単な説明】
【００７４】
【図１】Webアプリケーションサーバシステム構成図。
【図２】書込みデータサイズ、回数の閾値チェック部050。
【図３】書込みデータサイズ、回数の一覧をまとめたテーブルA 503。
【図４】レスポンスヘッダ書込みサイズ、回数閾値保持部505。
【図５】ヘッダ書込み回数、サイズと、回数、サイズ閾値比較部507。
【図６】レスポンスヘッダ書込みサイズ、回数閾値チェック結果保持部533。
【図７】ログ出力データ保持部538。
【図８】閾値自動算出部に渡すサイズデータ、回数データ保持部543。
【図９】レスポンスヘッダ上限オーバー時の処理509。
【図１０】閾値自動算出部060。
【図１１】過去データ保持部606。
【図１２】上限区間推定値、分散値算出部607で行う統計処理の例。
【図１３】上限区間推定値をレスポンスヘッダ上限に補正する処理604。
【図１４】上限区間推定値がヘッダ上限超過時の補正処理結果例。
【図１５】従来技術の課題を解決する手段のシステム全体での流れ。
【図１６】本発明適用後の画面とログ出力の例。
【符号の説明】
【００７５】
000…ディスプレイ、001…キーボード、002…ネットワーク、010…クライアントマシン、011…ブラウザ、020…APサーバ、021…CPU、022…メモリ、030…プログラム処理部、031、032…業務アプリケーション、040…レスポンスヘッダ処理部、050…閾値チェック部、051、052…業務アプリケーションごとの閾値比較部、053…ボディデータ処理部、054…レスポンデータ返却部、055…レスポンスヘッダ上限サイズ保持部、060…閾値自動算出部。
【図１】
2008099153.tif 000003
【図２】
2008099153.tif 000004
【図３】
2008099153.tif 000005
【図４】
2008099153.tif 000006
【図５】
2008099153.tif 000007
【図６】
2008099153.tif 000008
【図７】
2008099153.tif 000009
【図８】
2008099153.tif 000010
【図９】
2008099153.tif 000011
【図１０】
2008099153.tif 000012
【図１１】
2008099153.tif 000013
【図１２】
2008099153.tif 000014
【図１３】
2008099153.tif 000015
【図１４】
2008099153.tif 000016
【図１５】
2008099153.tif 000017
【図１６】
2008099153.tif 000018