(58)【調査した分野】(Int.Cl.,DB名)
階級毎の頻度から滑らかな確率密度分布情報を算出できるような平滑対象幅が存在することを予め検証済みな階級に区切って、ウェブシステムの処理時間の階級毎の頻度と階級毎の合計処理時間とを更新する集計部を有し、
前記階級毎の上限値は概ね等比数列で並び、前記階級毎の階級幅の平滑化対象幅毎の移動平均が隣接階級間で概ね同じであり、前記階級の平滑化後の階級の代表値が、秒、分、または時間でみて数桁程度の有効桁数を有する値である、
ことを特徴とする情報処理装置。
【発明を実施するための形態】
【0015】
図1は、本発明の一実施形態に係る情報処理装置を適用したネットワークシステムの構成例を示した図である。
図1に示すように、ネットワークシステムは、情報処理装置1と、ウェブシステム2と、端末装置3と、ネットワーク4と、を有している。ネットワーク4は、例えば、インターネットである。
【0016】
ウェブシステム2は、ウェブサーバ2aを有している。
図1では、ウェブシステム2は、1台のウェブサーバ2aを有しているが、2台以上有していてもよい。
【0017】
端末装置3は、ネットワーク4を介して、ウェブシステム2(ウェブサーバ2a)に接続されている。端末装置3は、ウェブシステム2に対し、リクエストデータを送信する。
図1では、端末装置3は、1台しか示していないが、2台以上であってもよい。
【0018】
端末装置3からウェブシステム2に送信されるリクエストデータには、例えば、URL(Uniform Resource Locator)やリクエストパラメータ等が含まれる。ウェブシステム2は、端末装置3から送信されるリクエストデータに応じて、所定の処理を行い、処理結果を端末装置3に送信する。
【0019】
ウェブシステム2は、端末装置3のリクエストデータに応じて行ったデータ処理に関する稼働データを保存している。稼働データには、ウェブシステム2がリクエストデータをデータ処理した日時、ウェブシステム2がリクエストデータをデータ処理した処理内容を区別するための識別情報、ウェブシステム2がリクエストデータのデータ処理に要した処理時間などが含まれている。
【0020】
情報処理装置1は、ネットワーク4を介して、ウェブシステム2と接続されている。情報処理装置1は、例えば、1日または1週間等、所定の間隔において、ウェブシステム2から、稼働データを受信する。情報処理装置1は、ウェブシステム2から稼働データを受信すると、稼働データに含まれている所定の情報を抽出して圧縮(非可逆圧縮)し、HDD(Hard Disk Drive)などの記憶装置に記憶する。
【0021】
図2は、情報処理装置のハードウェア構成例を示した図である。情報処理装置1は、例えば、
図2に示すような、CPU(Central Processing Unit)等の演算装置61と、RAM(Random Access Memory)などの主記憶装置62と、HDD等の補助記憶装置63と、有線又は無線により通信ネットワークと接続するための通信インターフェイス(I/F)64と、マウス、キーボード、タッチセンサーやタッチパネルなどの入力装置65と、液晶ディスプレイなどの表示装置66と、DVD(Digital Versatile Disk)などの持ち運び可能な記憶媒体に対する情報の読み書きを行う読み書き装置67と、を備えるコンピュータで実現することができる。
【0022】
なお、上記の所定のプログラムは、例えば、読み書き装置67により読み取られた記憶媒体からインストールされてもよいし、通信I/F64を介してネットワークからインストールされてもよい。
【0023】
上述した情報処理装置1の機能構成は、情報処理装置1の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。情報処理装置1の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【0024】
図3は、情報処理装置1の機能ブロックの一例を示した図である。
図3に示すように、情報処理装置1は、受信部11と、集計部12と、階級値13と、圧縮データ記憶部14と、を有している。集計部12は、判定部12aと、カウント部12bと、合計部12cを有している。稼働データ11dおよび階級値13は、図示していない記憶装置に記憶される。
【0025】
受信部11は、ウェブシステム2から稼働データ11dを受信する。受信部11は、例えば、1日または1週間等、所定の間隔において、ウェブシステム2から、稼働データ11dを受信する。
【0026】
例えば、集計部12の機能は、補助記憶装置63などから主記憶装置62にロードされた所定のプログラムを演算装置61が実行することで実現される。受信部11は、例えば、演算装置61が通信I/F64を利用することで実現される。階級値13は、補助記憶装置63などから主記憶装置62にロードされる集計部12で参照されるデータ、または、所定のプログラムの一部として主記憶装置62にロードされるデータであっても良い。圧縮データ記憶部14は、例えば、演算装置61が主記憶装置62または補助記憶装置63を利用することで実現される。
【0027】
圧縮データ記憶部14には、集計部12によって圧縮されたデータが記憶される。なお、情報処理装置1は、圧縮データ記憶部14を有していなくてもよい。例えば、ネットワーク4に接続された他の装置が、圧縮データ記憶部14を有していてもよい。
【0028】
図4は、情報処理装置1の集計部12に入力される階級値13の検証部7も具備した場合の機能ブロック間のデータフローを示したものである。
【0029】
集計部12は、受信部11から供給される稼働データ11dを、階級値13を用いて圧縮したデータを、圧縮データ記憶部14に蓄積する。
【0030】
受信部11は、1日おきにウェブシステム2から稼働データを受信する場合、1日分の稼働データを受信する。また、受信部11は、1週間おきにウェブシステム2から稼働データを受信する場合、1週間分の稼働データを受信する。
【0031】
後日、稼働データ11dに関するレポートが欲しくなった時、統計処理8は、圧縮データ記憶部14に蓄積されたデータと階級値13とから累積確率データ8aを生成し、さらに平滑対象幅7aも用いて、確率密度データ8bを生成し、レポート部9で、処理時間の平均値や遵守率等を含みうるレポート9fを出力または可視化する。
【0032】
階級値の検証部7は、情報処理装置1で集計部12を起動させるより前に1回だけ、集計部12で圧縮した情報が、統計処理8で抽出を予定しているデータの精度において情報を損なうことなく圧縮データを生成できるような階級値13と、稼働データに含まれるノイズを取り除いた確率密度データを生成するための平滑対象幅7aとを算出する。
【0033】
ここで、階級値の検証部7は、情報処理装置1の集計部12と同一の情報処理装置1に配備されてもよいし、情報処理装置1の集計部12の実行に先立って処理される方法であってもよい。
【0034】
図5は、階級値13の検証方法を構成する一連の手順を示したフローである。また、階級値の検証部7を実装する場合は、
図5に示す機能ブロックと等価な処理群によって実現することができる。
【0035】
階級値の検証処理7の中のステップS79では、「情報処理装置1の集計部12」と等価な処理を「階級値の検証処理7での統計処理12」として用いる。
【0036】
次に、ステップS79では、統計処理8は、圧縮データ記憶部14から、累積確率データ8aを生成し、さらに階級の代表値における累積確率グラフの傾きから確率密度データ8bを生成し、確率密度データ8bが滑らかなグラフとなることを検証し、検証結果7cを出力する。
【0037】
かかる検証方法によって、
図4におけるレポート部9で出力する遵守率等のレポート9fに、情報の欠落が発生することを防ぐためには、「
図4におけるレポート部9の直前の統計処理8」と「
図5における検証処理7における統計処理8」とを、等価な処理にすることが合理的である。
【0038】
ここで、階級値の検証方法として、検証用データ生成ステップS78で生成されるデータから確率密度データ8bを生成し可視化しただけでは、
図39の様に微妙に歪んだ確率密度グラフとなる場合もあり、生成された確率密度データの滑らかさや歪みについて、客観的な判断ができない。
【0039】
そこで、階級値の検証処理7では、確率密度データが滑らかなグラフとなる為に、何らかの生成規則に従って生成された階級値に対して、下記の要件を満たすような“平滑対象幅”が存在するか否かを判別する。
・要件1:階級値が概ね等比数列であって、階級値で階級幅を割った分解能の全階級の平均より、隣接階級値の比率の標準偏差が小さい。
・要件2:隣接する階級幅が概ね等しく、平滑対象幅の隣接階級幅の合計の隣接階級の比率から1減じた値の絶対値が、階級値で階級幅を割った分解能の平均値より小さい。
・要件3:所定の平滑対象幅で平滑化した階級の代表値が、時・分・秒で観て、より少ない有効数字であること。
【0040】
以下には、何らかの生成規則に従って生成された階級値が、要件1,2,3に適合することを客観的に判断できる為の手順を示す。
【0041】
ステップS71では、(k)個の階級値(c[i])に対して、
図6の式3に従って隣接する階級値の差(c[i]−c[i―1])として定義される階級幅(w[i])を、
図6の式4に従って、階級値(c[i])で割った階級毎の分解能(d[i])の平均値(D)を算出する。
【0042】
例えば
図19に示す生成規則2の場合、表T2中のDの行に示すように、59.7分の1となる。
【0043】
ステップS72では、仮の平滑対象幅(f)を2に設定し、ステップS73での要件1適合性判定とステップS74での要件2適合性判定に適合するまで、仮の平滑対象幅を増やすことを繰り返す。
【0044】
ステップS73では、
図6に示すように、式1に示すように従って隣接階級値の比率(c[i]−c[i―1])として定義される(v[i]:i=fからk)の値の内、式6に従って、最初の(f)個を除く値の標準偏差(S)が、式5従って算出される平均分解能(D)未満であることによって、式7に示したように、要件1に適合すると判断する。
【0045】
ステップS74では、平滑対象幅(f個)の階級幅の移動平均が、隣接階級間において、平滑化後に期待される分解能の範囲で、概ね等しいことによって、要件2に適合すると判断する。
【0046】
より具体的な判定方式の例として、
図7の式8に示すように、最初の(f)個を除いた階級毎に、(f)個の階級幅の合計の隣接階級間の比率から1を減じた値の絶対値の平均値が、最初の(f)個の階級を除く階級の分解能の平均値に平滑対象幅を掛けた値より小さいことを判定するものであってもよい。
【0047】
また、
図8の式9に示すように、最初の(f)個を除いた階級毎に、(f)個前の階級値との差によって、(f)個の階級幅の合計を算出して、等価な判定条件とするものであっても良い。
【0048】
ステップS75は、要件1または要件2の何れかに適合しなかった場合、ステップS76に移行し、仮の平滑対象幅(f)が階級の個数(k)に十分近づいた時には要件1および要件2が成立するので、ステップS77に移行できる。
【0049】
例えば
図13に示す生成規則1で、仮の平滑対象幅を70階級とした場合、
図13のDの行に示すように、隣接階級値の比率の標準偏差は0.0021で、
図13のDの行に示した平滑化前の分解能(535.1分の1)より大きく、要件1に適合しない。
【0050】
また、例えば
図13に示す生成規則1の場合、仮の平滑対象幅を70階級とした場合、
図14の階級番号967の行の「隣接70階級幅の比率」欄に示したように、0.930から0.999までの階級幅の合計と、0.931から1.000までの階級の幅の合計の比率から1を減じた値が、
図13のMの行に示すように1.129となり、
図13のGに示した平滑化後の分解能である0.1308より小さいので、要件2には適合する。
【0051】
例えば
図19に示す生成規則2の場合、表T2中のFの行に示すように、8個の階級を平滑対象幅とした時、表T2中のKの行に示したように要件1に適合し、表T2中のNの行に示したように要件1に適合する。
【0052】
図5のステップS77では、ステップS75で算出した仮の平滑対象幅で平滑化した後に期待される分解能に応じて、時・分・秒で観て区切りの良い階級値が、より多く含まれることをもって、要件3に適合すると判断する。
【0053】
図5のステップS77の内部処理を、
図9を用いて、より詳細に述べる。ステップS771では、階級値の数列に、{1秒,10秒,60秒(1分),600秒(10分),3600秒(1時間)、36000秒(10時間)}、即ち、時・分・秒で観て、有効桁数が1桁である数値が含まれていることを判定し、もし、何れかの数値が含まれていなければ、ステップS778に移行し、要件3に不適合だと判断する。
【0054】
ステップS772では、階級値の数列に、{0.5秒,5秒,30秒(0.5分),300秒(5分),1800秒(0.5時間)、18000秒(5時間)}、即ち、時・分・秒で観て1桁の有効数値の2分の1の数値が含まれていることを判定し、もし、何れかの数値が含まれていなければ、ステップS778に移行し、要件3に不適合だと判断する。
【0055】
ステップS773では、平滑化対象後に期待する分解能の値として、平滑化前の平均分解能(D)に、平滑対象幅(f)を掛けた値を設定する。
【0056】
ここで平滑化対象後に期待する分解能(D)は、ステップS771とステップS772による制約により、1より小さな値で、その逆数は1より大きくなる。
【0057】
例えば
図19に示す生成規則2の場合、平滑化前の分解能は表T2中のDの行に示すように59.7分の1で、それに表T2中のDのFの行に示した平滑対象幅(f)の値8を掛けて、表T2中のGの行に示した平滑後に期待する分解能(D)の値として「7.46分の1」が算出できる。
【0058】
ステップS774からS777では、{1秒,10秒,60秒(1分),600秒(10分),3600秒(1時間)、36000秒(10時間)}に{D、2×D、・・・(Dの逆数を超えない整数)×D}を掛けた数値が、階級値の数列に含まれることを判定する。
【0059】
例えば
図19に示す生成規則2の場合、平滑後に期待する分解能(D)の値「7.46分の1」であるので、{7.46分の1,7.46分の2,7.46分の3,7.46分の4,7.46分の5,7.46分の6,7.46分の7}を{1秒,10秒,60秒(1分),600秒(10分),3600秒(1時間)、36000秒(10時間)}に掛け、平滑後に期待する有効精度(約1.8桁)に丸めた値に近い数値である{{0.1,1,6,60,360,3600},{0.2,2,12,120,720,7200},{0.4,4,24,240,1440,14400},{0.5,5,30,300,1800,18000},{0.6,6,36,360,2160,21600},{0.8,8,48.25,480,2880,28620},{0.9,9,54,540,3240,32400}}が、全て
図20の13d2に示した階級値に含まれるので、要件3に適合していると判定できる。
【0060】
一方、
図26に示す生成規則3の場合、平滑後に期待する分解能の値「2.8分の1」であるので、{2.8分の1,2.8分の2}を{1秒,10秒,60秒(1分),600秒(10分),3600秒(1時間)、36000秒(10時間)}に掛けた値に近い階級値が{{0.309,2.99,18.1,179,1050,10700},{0.731,7.07,42.8,434,2560,26000}}であって、区切りの良い階級値となっていないので、不適合であると判定できる。
【0061】
次に、
図5のステップS78では、検証用のデータとして、ワイブル分布や一様分布等、解析的に確率密度データの分布が判っている処理時間のデータを、1種類以上生成する。
【0062】
図5のステップS79では、
図4における集計部12、および統計処理8と同様な処理によって、累積確率データ8aを生成する。
【0063】
例えば、ワイブル分布の場合、
図12のG17のグラフに示すように、滑らかな曲線になる。
【0064】
さらに、ステップS79では、累積確率データの階級毎の代表点における接線の傾きから確率密度データを生成し、ステップS77までに算定した平滑対象幅で平滑化した確率密度データを算出する。
【0065】
例えば、生成規則1の階級値で、平滑対象幅を70階級として、ワイブル分布の確率密度データを算出し、グラフとして可視化すると、
図18のG14のグラフのように、A1の近辺で滑らかさが損なわれて歪んだグラフとなる。
【0066】
一方、生成規則2の階級値で、平滑対象幅を8とした場合、
図25に示すように、平滑化後に期待される分解能(0.134)を超える処理時間では、滑らかで歪みの無いグラフとなる。
【0067】
以上の検証結果は、
図13に示すような情報を含む検証結果7cとして出力しても良い。また、さらに、前記検証結果は、
図13のT1,
図19のT2,
図26のT3,
図33のT4の様に、複数種類の生成規則による階級を比較可能にするものであっても良い。
【0068】
また、検証の過程で算出したデータをグラフとして可視化しても良い。
・I1,I2,I3,I4の“階級値(class value)”の列:
階級「第i」毎の階級値「c[i]」
・I1,I2,I3,I4の“階級幅(class width)”の列:式3の「w[i]」の計算結果
・I1,I2,I3,I4の“隣接・階級値の比率”の列:式1の「v[i]」の計算結果
・I1,I2,I3,I4の“隣接・階級幅の比率”の列:式8,式9の計算経過
・I1,I2,I3,I4の“隣接・n階級の階級幅の比率”の列:
式8,式9の計算経過で、平滑化対象幅をn階級とした計算経過
・I1,I2,I3,I4の“分解能”の列:式4の「d[i]」計算結果
・G11,G21,G31,G41:階級値「c[i]」と階級幅「w[i]」のグラフ
・G12,G22,G32,G42:階級値「c[i]」と隣接・階級値の比率「v[i]」グラフ
・G13,G23,G33,G43:
式8,式9の計算経過を示す隣接・階級幅の比率のグラフ
・G14,G24,G34,G44:
図5の確率密度データ8bを可視化したグラフ
【0069】
さらに、ステップS79で出力する階級値は、
図35に示すような、数値の列挙として出力しても良い。
【0070】
また、階級値の検証部7が出力する階級値13は、
図35と同じ生成規則4に対して、
図40の様なSQL文の形式で、集計部12の処理を構成するカスタマイズ可能な処理コードの一部が出力されるものであっても良い。
【0071】
図5から
図4に戻って、本願の情報処理装置1は、階級値の検証部7と同様な方法で、要件1〜3への適合性を検証済みであるような階級値13を構成要素とすることを特徴とするが、階級値の検証部7を機械的に行うことは、必ずしも必須としない。
【0072】
次に、本願の中心的な処理である、
図4の中の集計部12の処理内容を、
図10を用いて、より詳しく述べる。
【0073】
図10の集計部12が処理する稼働データ11dは、例えば、
図41に示すようなデータである。
図41に示すように、稼働データ11d中のレコード21,22は、ウェブシステム2がリクエストデータをデータ処理した時刻21a,22aを有している。また、稼働データ11d中のレコード21,22は、ウェブシステム2がリクエストデータをデータ処理した処理内容を区別するための識別情報21b,22bを有している。また、稼働データ11d中の21,22は、ウェブシステム2がリクエストデータのデータ処理に要した処理時間21c,22cを有している。
【0074】
例えば、稼働データ11dの中のレコード21の例の場合、ウェブシステム2は、時刻21aに受け付けた識別情報21bに示すデータ処理内容のデータ処理を行うのに、「0.371s」の処理時間を要している。
【0075】
図41では、稼働データ11dのレコードとして21,22しか示していないが、情報処理装置1は、例えば、1日おきにウェブシステム2から稼働データを受信する場合には、一般的に数千から数百万レコードの稼働データ11dを受信する。
【0076】
図10のステップS1では、
図41に例を示したような稼働データ11d中のレコードをメモリに読み込む。
【0077】
ステップS2では、稼働データ11dから
図42中で処理識別情報を構成する{URL51、Query文字列52、該当レコードが処理された時期53}を抽出する。
【0078】
ここで、時期53は、ステップS1の中では、処理識別情報抽出条件12eとして与えられる条件に従って、稼働データ11dの時刻部分21aから、{繁忙期、平常時}等の表意的な識別情報に変換しても良い。また、処理識別情報抽出条件に従って、稼働データ21中の処理時期別情報部分21b中の一部だけを抽出し、URL情報51、またはQuery文字列52としても良い。以降では、稼働データ11d中のレコードに含まれていた処理識別情報から抽出した{URL51、Query文字列52、時期53}等からなる情報を、ウェブシステム2内部でのデータ処理内容を識別しうる情報として、処理識別子と呼ぶ。
【0079】
ステップS3では、
図41に示すような稼働データ11d中の1レコードの処理時間部分21cを数値化し、
図35に示すような、階級毎の上限値を示す数値の列と比較して、当該の処理時間21cが属する階級を選定する。
【0080】
ステップS4では、
図42に示すようなデータ構成において、処理識別子を構成する情報(51,52,53)が前記ステップ2で抽出した処理識別子に一致し、さらに階級値54の列が前記所属階級の階級値となっているレコードを探し、もし該当レコードが無ければ、頻度欄が0の行を追加し、もし該当レコードが有れば頻度55の値を1増やす。
【0081】
ステップS5では、
図42に示すようなデータ構成において、処理識別子を構成する情報(51,52,53)が前記ステップ2で抽出した処理識別子に一致し、さらに階級値54の列が前記所属階級の階級値となっているレコードを探し、もし該当行が無ければ、処理時間の合計値欄が0の行を追加し、もし該当レコードがあれば、処理時間21cの値を、処理時間の合計値欄に加算する。
【0082】
ステップS6では、稼動データ11dに後続データの有無を判定し、
図41における、稼動データの後続レコード22があれば、ステップS1に遷移して、後続レコード22について、前記レコード21と同様な処理によって、
図42に示す圧縮データ記憶部14のデータを、さらに更新する。
【0083】
ステップS6で、稼動データ11dに後続データの有無を判定し、稼動データ11dに後続レコードが無ければ、集計処理を終了する。
【0084】
ここで、稼動データ11dは、WEBシステム2から受信し、集計処理12が終わるまでの一時的な期間だけ保持するものであって、集計処理12の終了後、情報処理装置1から消去しても良い。
【0085】
また、圧縮データ記憶部14には、翌週以降の稼動データの集計処理に備えて、情報処理装置1の補助記憶装置63の領域を長期的に占有するものであるが、処理識別子と階級の数の組合せに応じた領域を占めるのみである。
【0086】
図42に示すように、圧縮データ記憶部14は、URL(Uniform Resource Locator)51と、Query52、時期53等からなる処理識別情報と、階級値54と、頻度55と、処理時間の合計値56と、を有している。圧縮データ記憶部14には、処理識別子と階級値の種類の組合せに対応する量のデータを保持する。例えば、処理識別子の種類が200種類で、階級値が生成規則2の例の様に953階級の場合、約20万(190,600=200×953)レコード相当のデータ量となる。従って、1日分だけでも数百万レコードに及びうる稼働データ11dから、高々20万レコード相当のデータ量に圧縮して、圧縮データ記憶部14に情報を蓄積できる。さらに、圧縮データ記憶部14には、稼働データ11dの中のレコード数に依存しない固定的な容量である。また、さらに、生成規則4のように、より少ない数(244階級)の階級値を用いると、より圧縮データ14のデータ量を削減し、省メモリ化できる。
【0087】
また、生成規則4の階級値は、
図34に示すように、処理時間が属する階級を、処理時間のランクの判別条件と、所属ランク毎の階級幅で切り上げる演算式で算出できる。さらに
図34の階級値算出式を用いると、
図40の11d5のSQL文の様に、カスタマイズ可能な実行文の形式で階級値11dを準備し、
図48に示す、集計部12の別の実装でも、
図10と等価な処理ができる。
【0088】
集計部12の別の実装を、
図48を用いて、より詳しく述べる。
【0089】
ステップS11で、稼動データ中の1件のレコードを読込、ステップS12で、データベースのレコードとして整形して一時テーブルに書き込む。ステップS11,S12を、日々の稼働データの全レコードに適用する。
【0090】
図40に示したSQL文の様に、複数のテーブル間の突合せや演算機能を利用すると、ステップS14の処理識別子の判定条件はWhere句の条件、ステップS15の所属ランクの判定はCASE&When式、ステップS16の階級の上限値への切り上げはCEIL関数、ステップS17の頻度の合計とステップS18の処理時間の合計は、Group BY句とSUM関数を含む1文で実装できることは、当業者であれば明らかである。
【0091】
例えば、
図41における稼働データ中のレコード21の処理時間21cは、0.371秒であるが、
図34または、その実装である
図40の計算式によって、0.2秒から0.4以下に対する階級幅(0.02秒)の倍数に切り上げ、0.38秒を上限値とする階級の頻度55と、処理時間の合計値56とを更新する。
【0092】
ここで、レポート部9の前処理としての統計処理8に必要となる情報を失わないことを、階級値の検証部7で検証するために、階級値の検証部7の内部処理としての統計処理8とレポート部9の前処理としての統計処理8とは、等価な処理内容とすることが合理的である。集計部12と組み合わせて用いられる統計処理8は、少なくとも、累積確率データ8aと、確率密度データ8bとを生成することを想定する。
【0093】
そこで、レポート部9の前処理としての統計処理8と、階級値の検証部7の内部処理としての統計処理8に共通して具備されるべき処理の1例について、
図11を用いて述べる。
【0094】
ステップS81では、圧縮データ記憶部14から
図42に示す内容のデータを主記憶装置62に読み込み、
図43に示すような構造のデータを構成する。
図43における処理識別情報の構成要素の例としているURL51,Query52,時期53は、何れも圧縮データ記憶部14から転記した情報である。さらに、
図43における階級の上限値54、頻度55、処理時間の合計値も、1種類以上の処理識別情報{51、52、53}と階級値{54}の組み合わせ毎に在った情報を転記したものである。
【0095】
ステップS82は、
図43に示すようなデータ構造の情報を、処理識別子毎に繰り返す。
【0096】
ステップS83は、
図43の示すようなデータ構造の情報の内、同一の処理識別子について、階級毎の頻度55の合計を算出する。
【0097】
ステップS84は、
図43の示すようなデータ構造の情報の内、同一の処理識別子について、階級値の昇順に繰り返す処理を示す。
【0098】
ステップS85は、当該階級での度数55を、当該階級までの度数に累計値に加えて、前記ステップ83で算出した合計頻度で割った値を、当該階級までの累積確率57として算出する。
【0099】
ステップS86では、再び、
図43の示すようなデータ構造の情報の内、同一の処理識別子について、階級値の昇順に繰り返す処理を示す。
【0100】
ステップS87とステップS88とでは、
図43における、平滑化前の階級毎の代表値と、確率密度との対58、または、階級値の検証の過程で定めた平滑対象幅を下回らない数の階級に対する階級毎の代表値と、平滑対象幅毎の確率密度の対59とを、階級毎に算出する。ここで、平滑対象幅毎の確率密度データは、
図44に示されるような累積確率データのグラフの階級の代表値における接線の傾きとして定義されるものである。その確率密度データの平滑化は、階級値毎に昇順に、平滑対象幅(f)個だけ離れた累積確率の差を(f)個の階級の幅の合計値で割った傾きを算出すれば、移動平均値を算出できる。
【0101】
同一処理識別情報の全階級について、ステップS87とS88を繰り替えし終えたとき、ステップS86は、次の処理識別情報について処理し、さらにステップS82で全ての処理識別情報について処理を終えたとき、統計処理を終える。
【0102】
以上に、情報処理装置1を構成する処理、および、その前提として実施されるべき階級値の検証手順、さらに検証の前提として組み合わせて利用されることを想定した統計処理について、述べた。
【0103】
以下には、各処理内容の効果を、適用データの例と共に示す。
【0104】
まず、階級値の検証部7、または、階級値の検証手段が、似て異なる生成規則の階級値の一方だけを要件1〜3に適合すると判別でき、圧縮データ記憶部14から確立密度データを算出した時、統計処理に必要となる精度の情報を失わないことを示す。
【0105】
例として、
図13のT1に示す生成規則1、
図19のT2に示す生成規則2の内、要件1〜3に適合するのは、生成規則2であって、生成規則1は要件1,2に不適合である為に、確率密度データに歪みが生じると判別できることを示す。
【0106】
まず、T1のBの行に概要を示した生成規則1は、0秒から48時間までの処理時間について、3桁の有効桁数の数値を網羅する階級値であり、階級の数(k)はTの(C)の行に示したように5519個の階級である。
【0107】
図5に示した階級値の検証の過程では、例えば
図14のI1に示すような、階級値毎のデータを用いる。
【0108】
ステップS71で計算する、階級の分解能とは式4で定義され、式5に従って平均分解能を計算することができる。また別の手段として、
図15のG11のグラフのように、横軸に処理時間、縦軸に階級幅をプロットしたグラフの傾きから、「100分の1」と「千分の1」との間の値であると、視覚的な手順で「分解能の代表的は535分の1前後の値」ということを求めても良い。
【0109】
ステップS73での「要件1適合性判定」の中で用いる隣接階級値の比率(v[i])は、
図14の“隣接階級値の比率”の列の様に、階級毎に式2に従って算出できる。
【0110】
生成規則1の場合、T1のKの行に示すように、
図13のT1のJの行に示した隣接階級値の比率の標準偏差が約0.0021であって、T1のDの行に示した平滑化対象前の平均分解能である「約535分の1」、すなわち0.0018より大きいので、要件1に不適合であることを判別することができる。
【0111】
図16のG12のグラフのように、横軸に階級値、縦軸に隣接階級値の比率をプロットして、最初の何個かの階級値を除いて、平均分解能を下回る変動幅であることをもって、要件1に適合することを、視覚的な手段で判断することもできる。
【0112】
ステップS74での「要件2適合性判定」の中で用いる平滑対象幅(f)での隣接階級幅の比率は、
図14における“隣接・70階級幅の比率”の列に示すような、階級幅の移動平均値に対して、式8または式9に従って判別することができる。例えば
図14において、階級の代表値を0.967とした70階級の幅は、1.13倍の比率となり、前記ステップS71で算出した平均分解能(535分の1=0.0018)より大きいので、要件2に不適合であると判別できる。このように、要件2に不適合となりそうな階級の代表値は、
図17のG13のように、横軸に階級値、縦軸に隣接階級値の比率をプロットしたグラフから、殆どの階級で「隣接階級値の比率は約1倍」であるのに対して、「階級値が1、10、100、1000、10000の前後では、10倍になっている」という様子から、視覚的に不適合であることを推定することもできる。
【0113】
ステップS79では、検証用の分布として、解析的に滑らかな確率密度グラフとなることが既知となっているワイブル分布を用いると、累積確率データは
図12のG17のグラフのように滑らかなデータであるにも関わらず、生成規則1の階級値を用いて確率密度データを生成すると、
図18のG14のグラフに示すように、階級値が100秒のA1の点の前後で、滑らかさが損なわれて歪んだグラフとなることを、視覚的に確認することもできる。
【0114】
ステップS77では、生成規則1が、有効桁数3桁の数値を全て包含することにより、要件3に適合することは明らかである。
【0115】
これら
図5に従った一連の手順による「階級値の検証結果」は、
図13のT1の各行に示すように、生成規則1は、要件1にも要件2にも適合しないことを、判別できる。
【0116】
ただし、
図13の場合は、平滑対象幅を70で止めた為に要件1,2に適合しなかったが、平滑対象後に期待できる分解能が荒くなることを許容して、平滑対象幅を階級の個数である5519に近づければ、要件1,2には適合する。
【0117】
別の例として、
図19のT2に示した生成規則2では、階級の上限値の平均公比を(60の(240分の1))とし、時・分・秒で観て有効桁数が2ケタ、または「{1秒,10秒,60秒,600秒,3600秒,36000秒}の(8分の1)の倍数に最寄の値」を階級毎の上限値とした階級を考える。生成規則2は、
図20に階級値13d2に示すように、規則的な合成ではなく、恣意的な数値の選択を含む。
【0118】
生成規則2についても、生成規則1に対する
図14と同様な階級値の検証経過データとして
図21のI2に示す情報を計算する。
【0119】
生成規則2にステップS71を適用すると、
図22のグラフG21に示すように(90分の1)から(50分の1)の分解能であって、
図19のT2のDの行に示すように平滑化前の平均分解能は(約59.7分の1)即ち(約0.0167)である。
【0120】
生成規則2にステップS73での「要件1適合性判定」を適用すると、
図19のT2の(J)の行に示すように、隣接する階級値の比率の標準偏差が約0.00920で、前記(D行)平均分解能(0.0167)より小さいので、要件1に適合していると判別できる。
【0121】
また、この要件1への適合性は、
図23に示す、横軸が階級値で、縦軸が隣接階級値であるようなグラフを描き、平滑化後に期待される分解能に応じた「0.1399秒以上」のG22の平坦さから、視覚的に判断することもできる。
【0122】
生成規則2に、平滑対象幅を8階級として、ステップS74での「要件2適合性判定」を適用すると、
図21のI2の表中の「隣接8階級の幅の比率」の列の値から、
図19のT2の(f)の行に示した平滑滑対象幅「8階級」での隣接階級幅の比率から1を減じた絶対値の最大値として、
図19のT2の表中の(M)の行に示すように約0.125を算出でき、平滑化後に期待される分解能であるG行「0.1339」より小さいので、要件2に適合すると判別できる。また要件2への適合性判定は、
図24において、平滑化後に期待される分解能に応じた「0.1399秒以上」のグラフG23の平坦さによって、視覚的に確認することもできる。
【0123】
生成規則2の階級値に、
図9の「要件3適合性判定」手順を適用すると、ステップS771では、{1,10,60,600,3600,36000}が
図20の階級値13d2に包含されるので、ステップS772に移行する。ステップS772では、{0.5,5,30,300,1800,18000}が
図20の階級値13d2に包含されるので、ステップS773に移行する。
【0124】
ステップS773では、平滑化後に期待される分解能として、前記平滑化前の分解能(約59.7分の1)に、前記平滑対象幅(8)を掛けて、平滑化後に期待される分解能として(約7.46分の1≒約0.1339)という値を算出できる。
【0125】
図9のステップS774からステップS777では、{1,10,60,600,3600,36000}に前記平滑化後に期待される分解能(約7.46分1)の分母に近い7以下を掛けた数列に近い数列である{{0.1,1,6,60,360,3600},{0.2,2,12,120,720,7200},{0.4,4,24,240,1440,14400},{0.5,5,30,300,1800,18000},{0.6,6,36,360,2160,21600},{0.8,8,48.25,480,2880,28620},{0.9,9,54,540,3240,32400}}が、
図20の階級値13d2に包含されるので、ステップS779に移行し、要件3に適合していることを判別できる。
【0126】
さらに、生成規則2の階級値と、平滑対象幅8と、検証用データとして
図12のG78の累積確率データとなるようなワイブル分布に、
図5のステップS79を適用すると、
図25のG24に示すような、確率密度データを算出することができて、その前記平滑化後に期待される分解能(約0.13秒)を超える部分のグラフが滑らかになっていることをもって、圧縮データには確率密度データに歪みを生じない精度のデータを格納できていたことを確認することもできる。
【0127】
生成規則2の階級値に対する検証結果も、
図19のT2のような情報として出力することができる。
【0128】
ここで、生成規則1と生成規則2とで、ワイブル分布に従うデータの圧縮と、確率密度データとしての復元を行った結果を比較すると、確率密度データに歪みが生じした階級値A1は、要件1または要件2を満たさなかったような階級値の箇所であることも判る。
【0129】
そこで、要件1および要件2は、復元した確率密度データに歪みが生じない為の必要条件であるとしている。
【0130】
また、ここで、生成規則2の953個の階級と平滑対象幅(8階級)によって、平滑化後に期待される分解能がT2に示したように(約7.46分の1)であって、それを有効桁数に換算する為に分解能の10を底とする対数値を算出すると、(約0.87桁)相当である。同様に生成規則1の5519個の階級と平滑対象幅(70階級)によって、平滑化後に期待される分解能はT1に示したように(約7.6分の1)であって、それを有効桁数に換算すると(約0.9)相当である。これら生成規則1と生成規則2とを比べると、平滑化後に期待される有効桁数は同程度であるのに、平滑化前の階級の数が5519個となっている生成規則1より、平滑化前の階級の数が953階級となっている生成規則2の方が、階級数が少ないので、より省メモリで、同等の有効精度の統計結果を得ることができる。
【0131】
このように、階級値の検証部7または、集計部12に先立って階級値の検証手段は、
図13のT1、
図19のT2、
図26のT3、
図33のT4のように、検証経過で算出した階級数、平滑化前の平均分解能、平滑対象幅、平滑化後に期待できる平均分解能、隣接階級の比率の平均値および標準偏差、平滑対象幅の隣接階級幅の比率から1減じた値の最大値等を出力する場合、圧縮効果の高い階級値、または、平滑化後により細かい分解能となる階級値を選択することもできる。
【0132】
別の例として、
図26のT3に示す生成規則3、
図33のT4に示す生成規則4の内、要件3に適合するのは、生成規則4であって、生成規則3は不適合な為に正確な遵守率を算出できないことを示す。
【0133】
生成規則3は、1秒、50秒、60秒、3600秒を滑らかに通るよう、0.1秒から50秒の階級値は1.08倍(=50の(50分の1)乗)、60秒以上は1.06倍(=60の(60分の1)乗)の等比級数を、有効数字3桁目で丸めた数値を階級値としている。
【0134】
生成規則3に対して、
図28のI3に示すように、階級毎の階級幅と、階級幅を階級値で割った階級毎の分解能の平均を算出すると、約14.0分の1(約0.0714)となる。
【0135】
生成規則3での隣接階級の階級値の比率は、
図30のG32に示すように、60秒未満と60秒を超えた処理時間の階級に対して異なるが、
図26のT2の(J)の行に示すように、平滑化後に期待できる分解能未満の処理時間(約0.07秒未満)に対する階級を除いて、標準偏差(約0.014)が平均分解能(約0.0714)を下回るので、要件1に適合する。
【0136】
生成規則3の階級値に対して、平滑対象幅を5階級とした場合、
図28のI3の“隣接5階級幅の比率”に示すように式8の値を計算すると、
図26のT3中の(M)に示すように「約0.200」であって、平滑化後の分解能(約2.8分の1≒約0.357)を下回るので、要件2に適合する。
【0137】
生成規則3によって生成される階級値は、
図27の13d3に示す数列である。ところが、時・分・秒で観て有効数字1桁の{1,10,60,600,3600,3600}に最寄な階級値は、{1,9.67,10.5,60,570,611,3600,36600}であるので、時・分・秒で観て区切りの良い数値を包含しているとは言えない。
【0138】
さらに、
図9に示した要件3の検証手順では、平滑化後に期待する分解能(約2.8分の1)に応じて、より多くの時・分・秒で観て区切りの良い数値である{{1,10,60,600,3600,3600},{0.5,5,30,300,1800,18000},{0.3,3,18,180,1080,10800},{0.7,7,42,420,2520,25200}}を包含することを判別条件としているにも関わらず、それらの数値に最寄の階級値が{{1,9.67,10.5,60,570,611,3420,3600,34200,36600},{0.495,0.535,4.78,5.17,28.9,31.3,288,309,1700,1820,10000,10700},{0.309,2.99,18.1,179,1050,10700},{0.731,7.07,42.8,434,2560,26000}}であることからも、要件3に不適合であると判定できる。
【0139】
生成規則4によって生成される階級値は、
図36のG41に示すように、60秒未満の階級毎の分解能は(10分の1)から(20分の1),60秒を超える階級の分解能は(10分の1)から(30分の1)で、
図38のG13のグラフに示すように、隣接する階級幅の比率が殆どの階級で1.5倍未満、最大でも2.5倍を超えないような比率で、
図36のB2の拡大図に示すように、所定の分解能の上限を示すグラフに接しそうになった時所定の分解能の下限を示すグラフに近くて、概ね2倍以下の階級幅まで垂直に増やし、再び、階級値が増えても、所定の分解能の下限に接しそうになるまで、階級幅を水平なまま変えないということを繰り返すような、階段状に階級幅を増した階級値であって、時・分・秒で観て区切りの良い数値をより多く含むように恣意的に選んだ、
図35に示す階級値13d4である。
【0140】
生成規則4の階級値は、
図36のグラフB1の階段状の段差となっている階級の上限値を「ランク」と呼ぶ区切りとすれば、
図34に示すように、ランク毎の階級幅の倍数に切り上げた階級毎の上限値として表現することもできる。
【0141】
生成規則4は、
図33のT4に示すように、平滑化前の分解能は「約17分の1」、平滑化前平滑対象幅を6とした場合の平滑化後に期待される平均分解能は「約2.82分の1≒約0.3543」と算出できる。
【0142】
生成規則4での隣接する階級値の比率は、
図37のG42のグラフに示すように60秒を境に若干異なるが、生成規則3に対するG32のグラフと同様、平均1.08倍の比率となっており、
図37のG42における平滑化後に期待できる分解能(約0.35秒)を超える処理時間に対する隣接階級値の比率のグラフG42が平坦になっていること、あるいは
図33の(J)の行に示す隣接階級値の比率の標準偏差(約0.0219)が、平滑化前の分解能(約17分の1=約0.058)を下回るので,要件1を満たす。
【0143】
生成規則4での隣接階級間の階級幅の比率は、
図38のG43に示すように、ランクの区切りとなった多くの階級を除いて1.0倍であり、ランクの区切りとなった階級では、1.5倍から2.5倍で、概ね2倍である。これも、隣接階級の幅の比率が1未満となる階級も有った生成規則3との差異である。
【0144】
生成規則4で、平滑対象幅を6とした場合、平滑対象幅の移動平均値の隣接階級間の比率から1を減じた値の絶対値の最大値は、
図33の(M)の行に示したように「約0.250」で、平滑化後に期待される分解能「約0.058」を下回るので、要件2を満たす。
【0145】
生成規則4は、{1,10,60,600,3600,3600}の{1倍,0.5倍,2.82分の1倍、2.82分の2倍}に近い数値として{{1,10,60,600,3600,36000},{0.5,5,30,300,1800,18000},{0.3,3,18,180,1080,10800},{0.7,7,42,420,2520,25200}}を包含するので、
図9に示した判定条件で、要件3に適合していると判定できる。
【0146】
ここで、生成規則3の階級は、階級数が238階級で、平滑後に期待できる分解能は約2.8分の1であり、かたや、生成規則4の階級は、階級数が244階級で、平滑化後に期待できる分解能は約2.82分の1であり、さらに、生成規則3の階級値の検証過程でワイブル分布の確率密度データを復元した
図32のグラフG34も、生成規則4の階級値について同じ検証用のデータを用いて確率密度データを復元した
図39のグラフG44も、平滑化後に期待できる分解能より長い処理時間(約0.3秒)を超える部分は、同程度に滑らかなグラフとなっているので、同程度の精度の情報を保持しつつ、同程度に省メモリ化できるかのように観える。
【0147】
しかしながら、
図4におけるレポート部9で、遵守率をレポートに含めることを想定した場合、生成規則3の階級は生成規則4の階級より精度が劣っている。例えば、遵守率の目標値を600秒とし「処理時間が600秒以下であった遵守率」の統計値をレポートしようとした場合、生成規則4の階級には「600秒」という階級値が含まれるので、正確な遵守率を算出できる。一方、生成規則3では、600秒に最寄りの階級値は{570秒と611秒}であるので、599秒の処理が多発した場合も、600秒以下の処理時間が少なくて610秒の処理が多発した場合も、圧縮データ記憶部14に蓄積される階級毎の頻度も合計処理時間も同一の内容になるので区別がつかない。そこで、
図44に示すような累積確率のデータにおいて、570秒以下の処理時間の累積発生確率と611秒以下の処理時間の累積発生確率とから、600秒以下の処理時間の発生確率を内挿して計算せざるを得ないが、遵守率の目標値の前後での片寄を発見できる精度は、圧縮データ記憶部14に記録する前に失われている。
【0148】
ここで、
図10であろうと
図48であろうと、あるいは、それらと等価な別の実装であろうと、集計部12で生成した圧縮データ記憶部14の情報は、
図4で想定した統計処理8およびレポート部9に必要となる情報を、平滑対象幅(f)に期待される精度の範囲において損なうことなく保持できることを検証済みな階級値を用いて、稼働データ11dから抽出した情報を、非可逆に圧縮し、圧縮データ記憶部14に記録していることを示す。
【0149】
非可逆に圧縮している過程について、
図41の稼働データ中のレコード21と22と、
図10または
図48の実行後の
図42の圧縮データ14との対応付けに着目して説明する。
【0150】
前記に示したように、圧縮データ記憶部14には、
図41に示す稼動データのレコードの例であるレコード21やレコード22の発生順序や、処理識別情報として抽出しなかったQuery文字列の一部または全部を保持しないことにより、省メモリ化を計っている。
【0151】
例えば、
図41の稼働データ中のレコードの例21で、URL部には「/context01/svcName1」という処理内容を識別しうる情報が含まれていたが、
図42の圧縮データ記憶部14に記録するデータとしては「/URL1」の様に、処理識別情報の抽出条件として指定される変換規則に従って、多対1に対応する情報であっても良い。また、
図41の稼働データ中のレコードの例21で、URLに続くQuery文字列「p=53&aps=1743606」であったが、
図42の処理識別子を構成するデータとしては「SomeQuery」の様に、処理識別情報の抽出条件として指定される変換規則に従って、多対1に対応する情報であっても良い。
【0152】
また、さらに、稼働データ中の時刻21aは、1時間単位の日中変化をレポート予定とする場合は、1時間単位の時刻情報を処理識別子に転記するが、{繁忙期、平常時}等の時期のみをレポートする予定である場合は、処理識別子を構成する情報の中での時期53は、{繁忙期、平常時}のような表意的な記号であっても良い。
【0153】
あるいは、レポート予定の内容に処理識別子を含める予定が全くない場合は、処理識別子の抽出も記録も不要としても良い。
【0154】
これらは、圧縮データ記録部から、元の稼働データ11dを完全に復元できるような可逆圧縮を行わないことによって、データ圧縮効果を高めていることを示す。
【0155】
階級値の検証段階で要件1,2,3に適合することを判断済の階級値を用いる集計部12は、以下の効果をもたらす。
【0156】
即ち、要件1により、例えば、100分の数秒から、数時間までの広い処理時間の分布に対し、階級毎の有効精度(分解能)を保持しつつ、階級の数を削減することができる。
【0157】
この、概ね対数的に等間隔な数列を階級値とすることにより、全階級を等間隔にした場合に比べて、階級の数を削減し、圧縮データ記憶部14の記録に用いる補助記憶装置63も、集計処理を行うための主記憶装置62も、所要量を削減できる。
【0158】
要件2に適合して、平滑化対象とする幅の隣接階級幅の比率が概ね等しいことにより、統計処理8において圧縮データ記憶部14から復元できる確率密度データの歪みを、平滑化対象幅に期待される分解能に抑えることができる。
【0159】
なお、確率密度データの生成では、
図45中の平滑化前のグラフに示すように、収取データのノイズが含まれるため、一般的に平滑化処理は必要とされるが、従来技術では、データ収集前に適切な平滑幅を算出しようとしていなかった。一方、要件2への適合性検証の過程で、平滑対象幅の下限と、平滑化後に期待される分解能とを算定しているので、
図45の8b1に示すような凸凹な多峰性の分析に対して、優位の差と見なすべき判別条件の採択にも貢献できる。
【0160】
要件3により、レポート部9で処理時間に対するウェブシステム2の順守率を求める際に、元データ(圧縮する前の処理時間のデータ)を用いないで済むよう、順守率の目標として指定されうる処理時間(例えば、人間が認知できる時間(間隔)であって、キリのよい数字)をより多く網羅することができる。
【0161】
即ち、要件3に適合して、平滑化対象幅に期待される分解能に応じて、より多くの階級値が時・分・秒で観て区切りの良い数値であることにより、より多種類の処理時間を遵守率の目標値として、圧縮前の稼働データと比べて精度を損なうことなく、遵守率をレポートできる。
【0162】
例えば、
図47では、遵守率の目標値として{0.4秒,4秒,40秒}の3種類について、遵守率の補数を表示しているが、これ以外の処理時間を遵守率の目標値として、再度統計処理8を行うことになっても、再び稼働データ11dを読み直すことなく、レポートできる。なお、再び稼働データ11dの読み直しを必要としないことは、稼働データ11dを、レポート出力後まで保存することを不要にするので、稼働データ11dを保存する為の補助記憶装置63の所要量を削減することにも貢献する。
【0163】
また、さらに、
図35に示した生成規則4の階級値は、
図20に示す生成規則2での要件3判別条件で必要としていた{{0.1,1,6,60,360,3600},{0.2,2,12,120,720,7200},{0.4,4,24,240,1440,14400},{0.5,5,30,300,1800,18000},{0.6,6,36,360,2160,21600},{0.8,8,48.25,480,2880,28620},{0.9,9,54,540,3240,32400}の内の殆どを包含し、一部包含されていない{48.25,28620}に近い数として{45秒,50秒,27000秒(7.5時間),28800秒(8時間)}を包含おり、順守率の目標として指定されうる処理時間を同程度に多種包含しているので、確率密度データの精度より遵守率のレポートを重視するならば、生成規則2による953個の階級値より、生成規則4による244個の階級値を選択することによって、より省メモリとすることもできる。
【0164】
さらに、圧縮データ記憶部14に記録した各処理識別子毎の情報から、
図47に示した「平均値9f2」,「68%カバーする最大値,95%カバーする最大値,99.7%カバーする最大値等の複数のpercentile値9f3」,「統計対象期間の合計処理時間や合計頻度9f4」等、多様な統計情報を一つの圧縮データ記憶部14から抽出する場合であっても、再び稼働データ11dを読み直す必要が無く、レポート部9に必要となる情報を損なうことなく稼動データ11dの情報を圧縮データ記憶部14に保持できていると言える。
【0165】
以下では、下記の例によって、圧縮効果を示す。
・稼動データ11として、
図41の21に示すような1つのレコードが平均120バイトで、1日当たり平均10万レコード、1年当たり約3千650万レコード発生しうるものとする。
・稼動データ中に含まれる、データ処理内容を識別しうる情報は、平均64バイト含まれ、処理識別子として32バイトの情報を抽出するものとする。即ち、
図42における処理識別子(51,52,53)が32バイトであるとする。
・処理時間は、0.001秒から48時間まで発生しえて、小数点下3桁の数値とする。
【0166】
従来技術による場合、一旦レポートを生成しても、遵守率の目標値などを変えた場合に、再度生の稼動データの読み直しを不要とすることができるような情報を保持することを保証していなかった為、以下のような情報を保持する必要が生じる。
・稼動データとして、1年前に遡るデータを保持するために「(120バイト)×(10万/日)×(365日)」=「4,380,000,000バイト」
・
図42に示す構造のデータとして、0秒から48時間までを0.001秒で等間隔に区切った、「172,800,000個」の階級夫々について、処理識別子として32バイト、階級値として4バイト、頻度として8バイト、処理時間の合計として8バイト、1個の階級当たり「52バイト」、1種類の処理識別子あたり「8,985,600,000バイト」の記録領域を必要とする。
・稼動データと、中間的な処理で用いるデータとを合わせると「13,365,600,000バイト」の記憶領域を必要とする。
【0167】
一方、本発明で、例えば生成規則4に従う階級値を用いた場合、遵守率の目標値などを変えても、再度生の稼動データを読み直す必要が生じないだけの十分な情報を保持していることにより、保持すべき情報量を下記にしめすように削減できる。
・稼動データとして、1日分のデータを保持するために「(120バイト)×(10万/日)×(1日)」=「12,000,000バイト」
・
図42に示す構造のデータとして、生成規則4の244個の階級について、前記と同様1個の階級当たり「52バイト」占めるとすると、1種類の処理識別子あたり「12.688バイト」の記憶領域を必要とする。
・稼動データと、圧縮データ部に保持するデータとを合わせると、「12,012,688バイト」あれば十分な記憶領域となる。
・この例における圧縮効果は、「約1112分の1=((12,012,688)÷(13,365,600,000))」である。
【0168】
ここに示した圧縮効果は、より長期の稼働期間に対するレポートを作成することを想定する程、より高い圧縮効果となる。
【0169】
また、
図11の統計処理8におけるステップS81の様に、補助記憶装置63から主記憶装置62に、圧縮データ記憶部14に記録された情報をロードするような処理がレポート部9にも含まれる場合、主記憶装置62の省メモリ化によって、同時期により多種の処理識別子の確率密度データをメモリ上に保持することも可能になる。
【0170】
例えば、従来技術において、
図43に示すような構造のデータを統計処理経過で用いる場合、前記「1種類の処理識別子あたりの記憶領域量」の例として算出した「9Gバイト≒8,985,600,000バイト」を必要とし、これは、32ビットOSで容易に確保可能な主記憶装置の容量(4Gバイト)を超えるので、複数個の処理識別子の統計処理を行うことが困難である。一方、本発明において、
図43に示すような構造のデータを統計処理経過で用いる場合、前記「1種類の処理識別子あたりの記憶領域量」の例として算出した「13Mバイト≒12.688バイト」を必要とするのみであるので、4Gバイトのメモリを使用すれば(338,506≒(4*1024*1024*1024÷12,688))個までの処理識別子の統計処理を同時期に行うことができる余地がもたらされ、これによって、例えば
図46に示すように、多種の処理識別子の確率密度グラフを重ねて表示し、他の処理識別子に比べて突出した確率密度の処理時間を発見できるなど、統計処理8で生成する累積確率データらや確率密度データから、さらに2次的な分析ができるという効果も期待できる。
【0171】
要件1,2,3の全ての要件を満たすことにより、
図4に示したような、階級値の検証部7で想定したレポート部9に必要となる情報が損なわれることなく、圧縮データ記憶部14に、必要な情報が保持できることにより、長期間の統計処理を行う場合であっても、稼働データ11dを保持する必要は無く、統計対象期間に応じて増加しうる稼働データの総量に比べて、少量で、統計対象期間に応じない固定的な容量の圧縮データ記憶部14は、より長期間の統計を容易にするという効果もある。
【0172】
以下、4種類の生成規則に基づいて、ウェブシステムの処理時間が属する階級を求めるための情報(例えば、
図35に示したような情報)を生成する例について説明する。以下では、ウェブシステムの処理時間を丸めるための情報を、階級値と呼ぶことがある
【0173】
[生成規則1]
図13は、生成規則1の概要と要件適合性判定結果を示した図である。
図13に示す表T1の(B)欄には、ウェブシステムの処理時間が属する階級を求めるための階級値を生成する生成規則1を示している。
【0174】
図14は、生成規則1に基づいて生成した階級値と、階級の検証過程を示した情報である。
【0175】
図15は、生成規則1による階級値の検証経過における階級の分解能を説明する図である。
図15に示すグラフG11は、
図14に示す情報I1の階級値と階級幅とを対数グラフにプロットしたものである。グラフG11の横軸は階級値を示し、縦軸は階級幅を示している。
【0176】
グラフG11に示すように、生成規則1に基づいて生成した階級値の階級幅は、各ランクにおいて、水平方向に変化する。従って、階級値は、ランクごとにおいては、等差数列で並んでいる。例えば、「1秒以下」のランクでは、階級値の公差すなわち階級幅は「0.001」である。「10秒以下」のランクでは、階級値の公差は「0.01」である。
【0177】
また、階級幅は、ランク間において等比数列で並んでいる。例えば、グラフG11に示すように、階級幅は、ランクが変わるところにおいて階段状に変化し、階段の各蹴上げは、対数的にみて、概ね等間隔となっている。これにより、生成規則1の場合、
図15に示すように階級幅を階級値で割った分解能は、約100分の1から1000分の1の範囲の分解能を持つことができる。
【0178】
図16は、生成規則1による階級値の隣接する階級値の比率を示した図である。
図16に示すグラフG12は、
図14の情報I1に示す「隣接・階級値の比率」(階級値の隣接する比率)を、対数グラフにプロットしたものである。グラフG12の横軸は階級値を示し、縦軸は比率を示している。グラフG12に示すように、階級値の隣接する比率は、概ね「1.010」となっている。
【0179】
図17は、生成規則1による階級幅の隣接する移動平均の比率を示した図である。
図17に示すグラフG13の白い四角は、
図14の情報I1に示す「隣接・70階級幅の比率」(70区間による移動平均の隣接する比率)を、対数グラフにプロットしたものである。グラフG13の黒い菱形は、
図14の情報I1に示す「隣接・階級幅の比率」(移動平均しない階級幅の隣接する比率)を、対数グラフにプロットしたものである。グラフG13の横軸は階級値を示し、縦軸は比率を示している。
【0180】
グラフG13に示すように、階級幅を移動平均(平滑化)した場合の隣接する比率は、白い四角に示すように、概ね「1」である。一方、階級幅を移動平均しない場合の隣接する比率は、黒い菱形に示すように、階段状のランクの変わり目で10倍異なる場合がある。
【0181】
[生成規則2]
図19は、生成規則2の概要と要件適合性判定結果を示した図である。
図19に示す表T2には、ウェブシステムの処理時間が属する階級を求めるための階級値を生成する生成規則2を示している。
図19の表T2の(B)の欄にも記しているように、生成規則2の階級値は、平均公比(60の(240分の1)乗)の数列を元に、時・分・秒で観た有効桁数が2桁または時・分の(8分の1)に近い数値を恣意的に選んだ、
図20に列挙した数列である。
【0182】
図21の情報I2は、
図20の階級値に対する階級の検証過程を示すデータである。
【0183】
図22は、生成規則2による階級の検証過程における分解能を説明する図である。
図22に示すグラフG21は、
図21に示す情報I2の階級値と階級幅とを対数グラフにプロットしたものである。グラフG21の横軸は階級値を示し、縦軸は階級幅を示している。
階級値は、ランクごとにおいては、概ね等差数列で並んでいる。
【0184】
グラフG21に示すように、生成規則2に基づいて生成した階級値の階級幅は、階段状の増加傾向はあるが、水平方向の変化が途切れ、単調な増加では無い箇所もある。
例えば、「0.092秒以下」のランクでは、階級値の公差すなわち階級幅は「0.001」である。「0.160秒以下」のランクでは、階級値の公差は「0.003」である。
【0185】
また、階級値「0.800秒」から「1.00秒」の階級幅は主として「0.015」であるが、その途中の階級値「0.810秒」「0.910秒」に対する階級幅を「0.010」とすることによって、階級値「0.900秒」と「1.00秒」等、有効数字1ケタの秒単位で観て区切りの良い階級値をより多く含むようにしている。
【0186】
また、階級幅は、ランク間において概ね等比数列で並んでいる。例えば、グラフG21に示すように、階級幅は、ランクが変わるところにおいて階段状に変化し、階段の各蹴上げは、対数的にみて、概ね等間隔となっている。これにより、生成規則2の場合、階級値は、約50分の1から90分の1の範囲の分解能を持つことができる。
【0187】
図23は、生成規則2による階級値の隣接する階級値の比率を示した図である。
図23に示すグラフG22は、
図21の情報I2に示す「隣接・階級値の比率」(階級値の隣接する比率)を、対数グラフにプロットしたものである。グラフG22の横軸は階級値を示し、縦軸は比率を示している。グラフG22に示すように、階級値の隣接する比率は、概ね「1.0172」となっている。
【0188】
図24は、生成規則2による階級幅の隣接する移動平均の比率を示した図である。
図24に示すグラフG23の白い四角は、
図21の情報I2に示す「隣接8階級幅の比率」(8区間による移動平均の隣接する比率)を、対数グラフにプロットしたものである。グラフG23の黒い菱形は、
図21の情報I2に示す「隣接・階級幅の比率」(移動平均しない階級幅の隣接する比率)を、対数グラフにプロットしたものである。グラフG23の横軸は階級値を示し、縦軸は比率を示している。
【0189】
グラフG23に示すように、階級幅を移動平均(平滑化)した場合の隣接する比率は、白い四角に示すように、概ね「1」である。一方、階級幅を移動平均しない場合の隣接する比率は、G23の黒い菱形、あるいは
図21での階級値「0.810秒」「0.910秒」に対する隣接・階級幅の比率に示す最小値「0.67」から、階級値「0.094秒」に対する隣接・階級幅の比率に示す最大値「2.00」までの値となる階級もある。
グラフG23で明らかなように、生成規則2における階級幅は、単純な等比数列として生成できる数列では無く、階級値の大きさに応じて単調に増加するものでもない。
図25は、
図19の要件適合性判定結果の内の「滑らかさの検証(ワイブル分布の復元能力検証)」欄を視覚的に確認する為のグラフの例である。
【0190】
[生成規則3]
図26は、生成規則3の概要と要件適合性判定結果を示した図である。
図26に示す表T3には、ウェブシステムの処理時間を丸めるための階級値を生成する生成規則3を示している。
生成規則3の階級値は、{1秒,50秒,60秒,3600秒}を滑らかに通るように、50秒以下の階級値は、1.08倍(50の(50分の1)乗)、60秒以上の階級値は1.06倍(60の60分の1)乗)を公比とする等比数列を、有効数字3桁で丸めるという、規則的に合成できる数列の値である。
【0191】
図27は、生成規則3に基づいて生成した階級値を示した図である。
図27の階級値について、階級値検証用のデータを生成すると、
図28の情報I3のようになる。
【0192】
図29は、生成規則3による階級値の階級値の分解能を説明する図である。
図29に示すグラフG31は、
図28に示す情報I3の階級値と階級幅とを対数グラフにプロットしたものである。グラフG31の横軸は階級値を示し、縦軸は階級幅を示している。
【0193】
グラフG31に示すように、生成規則3の場合、階級値は、約10分の1から20分の1の範囲の分解能を持ち、
図26のT3の表に示すように、平均分解能は(約14分の1≒0.07144)であることが判る。
【0194】
図30は、生成規則3による階級値の隣接する階級値の比率を示した図である。
図30に示すグラフG32は、
図28の情報I3に示す「隣接・階級値の比率」(階級値の隣接する比率)を、対数グラフにプロットしたものである。グラフG32の横軸は階級値を示し、縦軸は比率を示している。グラフG32に示すように、階級値の隣接する比率は、60秒以下の階級では「約1.08倍」と、60秒を超える階級では「約1.07」になっている。
【0195】
図31は、生成規則3による階級の隣接する階級幅の移動平均の比率を示した図である。
図31に示すグラフG33の黒丸は、
図28の情報I3に示す「隣接・5階級幅の比率」(5区間による移動平均の隣接する比率)を、対数グラフにプロットしたものである。グラフG33の白い菱形は、
図28の情報I3に示す「隣接・階級幅の比率」(移動平均しない階級幅の隣接する比率)を、対数グラフにプロットしたものである。グラフG33の横軸は階級値を示し、縦軸は比率を示している。
【0196】
[生成規則4]
図33は、生成規則4の概要と要件適合性判定結果を示した図である。
図33に示す表T4には、ウェブシステムの処理時間を丸めるための階級値を生成する生成規則4を示している。 生成規則4の詳細は、
図34のように、ランク毎の階級幅として定め、
図35に示す階級値となる。
【0197】
図36は、
図35の階級値と階級幅の関係を示す分解能を示すグラフである。また、生成規則4による階級値の隣接する階級値の比率は、
図37に示すようになる。また、生成規則4による階級の隣接する階級は場の移動平均の比率は、
図38に示すようになる。
【0198】
次に、上記の階級値でウェブシステムの処理時間を圧縮した場合の確率密度算出について説明する。
【0199】
上記したように、圧縮されたウェブシステムの処理時間は、ユーザによって分析される。例えば、ユーザは、圧縮されたウェブシステムの処理時間を用いて、ウェブシステムの処理時間の確率密度を算出する。
【0200】
以上、本発明について実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。また、本発明は、処理時間に関する情報を圧縮する圧縮方法、および情報処理装置1で処理時間に関する情報を圧縮するプログラム、および当該プログラムを記憶した記憶媒体として提供することもできる。