(57)【要約】【課題】再計算に要するコンピュータの負荷を最小限に止めることを可能とする期間分割統計プログラムを、提供する。【解決手段】統計システム１１１は、統計対象情報１２３が入力されると、それを記憶装置１２に格納する。そして、統計システム１１１は、統計算出ルール１２４に定義された個々の単位期間が満了すると、その単位期間内に事象発生時点が含まれる全ての統計対象情報を記憶装置１２から読み出して、統計計算を実行し、その統計結果を、記憶装置１２内の統計情報１２２に登録する。また、統計システム１１１は、統計対象情報が入力された場合には、統計情報１２２に統計結果が登録されている各単位期間のうち、当該統計対象情報が示す事象発生時を含む単位期間については、その単位期間内に事象発生時点が含まれる全ての統計対象情報を記憶装置１２から読み出して、統計計算を再実行し、その統計結果を、記憶装置１２内の統計情報１２２に上書きする【特許請求の範囲】
【請求項１】
ある時点において発生した事象の値とその発生時点を示す統計対象情報に基づいた統計を行うために、記憶装置と入力装置とに接続されたコンピュータに対して、
統計対象期間を複数の単位期間に分解するために統計対象期間の開始点，各単位期間の開始間隔及び各単位期間の時間幅を定義した統計算出ルールを参照させ、
前記入力装置を通じて統計対象情報が入力された場合には、入力された統計対象情報を前記記憶装置に格納させ、
前記統計算出ルールに定義された前記開始間隔及び前記時間幅から特定される各単位期間のうちの何れかが満了した後に、当該満了した単位期間内にその発生時点が含まれる全ての統計対象情報を前記記憶装置から読み出させ、読み出した全統計対象情報が示す事象の値に対して所定の統計計算を実行させ、その統計計算の結果得られた統計結果を、前記記憶装置に格納させ、
前記入力装置を通じて統計対象情報が入力された場合には、更に、前記記憶装置に統計結果が登録されている各単位期間のうち、当該入力された統計対象情報が示す事象の発生時点を含むものを特定させ、
特定された個々の単位期間につき、夫々、その単位期間内にその発生時点が含まれる全ての統計対象情報を前記記憶装置から読み出させ、読み出した全統計対象情報が示す事象の値に対して前記統計計算を再実行させ、その統計結果を、前記記憶装置に上書きさせる
ことを特徴とする期間分割統計プログラム。
【請求項２】
ある時点において発生した事象の値とその発生時点を示す統計対象情報に基づいた統計を行うために、記憶装置と入力装置とに接続されたコンピュータに対して、
統計対象期間を複数の単位期間に分解するために統計対象期間の開始点，各単位期間の開始間隔及び各単位期間の時間幅を定義した統計算出ルールを参照させ、
前記入力装置を通じて統計対象情報が入力された場合には、入力された統計対象情報を前記記憶装置に格納させ、
前記統計算出ルールに定義された前記開始間隔及び前記時間幅から特定される各単位期間のうちの何れかが満了した後に、当該満了した単位期間内にその発生時点が含まれる全ての統計対象情報を前記記憶装置から読み出させ、読み出した全統計対象情報が示す事象の値に対して所定の統計計算を実行させ、その統計計算の結果得られた統計結果を、前記記憶装置に格納させ、
前記入力装置を通じて統計対象情報が入力された場合には、更に、前記記憶装置に統計結果が登録されている各単位期間のうち、当該入力された統計対象情報が示す事象の発生時点を含むものにフラグをセットさせ、
定期的に、前記記憶装置内に統計結果が登録されている単位期間のうち、前記フラグがセットされている個々の単位期間につき、夫々、その単位期間内にその発生時点が含まれる全ての統計対象情報を前記記憶装置から読み出させ、読み出した全統計対象情報が示す事象の値に対して前記統計計算を再実行させ、その統計結果を、前記記憶装置に上書きさせる
ことを特徴とする期間分割統計プログラム。
【請求項３】
前記統計算出ルールに定義されている前記開始間隔よりも前記時間幅が長いために、隣接する各単位期間同士が部分的に重なっている
ことを特徴とする請求項１又は２記載の期間分割統計プログラム。
【請求項４】
前記各単位期間についての統計結果は、その単位期間の開始時点を示す情報及び前記フラグとともに前記記憶装置に格納されている
ことを特徴とする請求項１又は２記載の期間分割統計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ある時点において発生した事象に関する情報（即ち、時系列データ）を、その事象の発生時点が属する単位期間毎に統計するための期間分割統計プログラムに、関する。
【背景技術】
【０００２】
ある時点において発生した事象に関する情報（即ち、時系列データ）を統計する場合、その情報の入力元端末が単一のセンサであったり、高速ネットワークを通じて接続された高速処理可能な複数台のセンサであるのであれば、統計処理を実行するコンピュータに対して、夫々が表す事象の発生順（時系列順）に、情報が整然と入力される。よって、かかる環境下では、コンピュータは、単純に、時系列順に入力されて来る情報を順次取り込んで統計計算を実行すればよい。
【０００３】
しかしながら、例えば、事象の発生から情報の入力までの間に人間が介在する環境下においては、事象が発生してから当該事象についての情報が端末を通じてコンピュータに入力されるまでのレスポンスが、大きくバラついてしまう可能性がある。その為、コンピュータは、各端末がどのようなタイミングで情報を送ってくるかが判らないので、ある時点で、それまでに受信していた情報に基づいて統計計算を実行せざるをえない。その結果、統計計算の完了後に、やっと、本来統計の対象とすべきであった情報がコンピュータに入力されるというケースが生じてしまうのである。
【０００４】
そのようなケースにおいて、統計計算後に入力した情報を統計結果に反映させずに無視してしまえば、正しい統計結果が得られないことになる。これに対して、正しい統計結果を得ようとするならば、コンピュータは、一旦統計計算を完了した後であっても、本来処理対象とすべきであった情報が入力される都度、新たに入力された情報を統計結果に反映させるために、統計計算を再度実行せざるを得なかったのである。
【特許文献１】特開平１１−１３８４７号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような再計算に際して、それまでに入力されている情報が多いと、新たに入力された情報が、統計結果のどの部分にどのように影響を与えるかが、コンピュータを操作するオペレータには判らないため、結果として、今までに受信していた全ての情報に基づいて、再計算をせざるを得なかった。よって、コンピュータの負荷が大きくなってしまい、性能面での効率が悪くなってしまう。
【０００６】
本発明は、以上の問題点に鑑みてなされたものであり、その課題は、事象が発生してからコンピュータに当該事象についての情報が入力されるまでのレスポンスが大きくバラつき得る環境下において、入力された情報に基づいて一旦統計計算を完了して統計結果を得た後に、本体統計計算の対象とすべきであった情報が入力された場合には、既に得ていた統計結果のうち、新たに入力された情報が示す事象の発生時点を含む単位期間に相当する部分のみについて再計算することにより、再計算に要するコンピュータの負荷を最小限に止めることを可能とする期間分割統計プログラムの、提供である。
【課題を解決するための手段】
【０００７】
本発明による期間分割統計プログラムの第一の態様を読み込んだコンピュータは、統計対象期間を複数の単位期間に分解するために統計対象期間の開始点，各単位期間の開始間隔及び各単位期間の時間幅を定義した統計算出ルールを参照しつつ、前記入力装置を通じて統計対象情報が入力された場合には、入力された統計対象情報を前記記憶装置に格納する。また、前記統計算出ルールに定義された前記開始間隔及び前記時間幅から特定される各単位期間のうちの何れかが満了すると、当該満了した単位期間内にその発生時点が含まれる全ての統計対象情報を前記記憶装置から読み出し、読み出した全統計対象情報が示す事象の値に対して所定の統計計算を実行し、その統計計算の結果得られた統計結果を前記記憶装置に格納する。また、前記入力装置を通じて統計対象情報が入力された場合には、更に、前記記憶装置に統計結果が登録されている各単位期間のうち、当該入力された統計対象情報が示す事象の発生時点を含むものを特定し、特定された個々の単位期間につき、夫々、その単位期間内にその発生時点が含まれる全ての統計対象情報を前記記憶装置から読み出し、読み出した全統計対象情報が示す事象の値に対して前記統計計算を再実行し、その統計結果を前記記憶装置に上書きする。
【０００８】
その結果、統計対象情報がその事象発生時点の順に入力されず、一旦統計計算が実行されて統計結果が得られた後に、統計計算の対象となった統計対象情報における事象発生時点と同じ頃発生した事象についての統計対象情報が入力された場合であっても、新たに入力された統計対象情報が示す事象発生時点が属する各単位期間についてのみ、その単位期間に事象発生時点が含まれるものとして記憶装置に登録されている全統計対象情報及び当該新たに入力された統計対象情報に基づいて、統計計算が再実行される。よって、記憶装置に格納されている全統計対象情報に対して統計処理を実行する必要がないので、コンピュータの処理負荷を最小限に抑えることができる。
【０００９】
また、本発明による期間分割統計プログラムの第二の態様を読み込んだコンピュータは、統計対象期間を複数の単位期間に分解するために統計対象期間の開始点，各単位期間の開始間隔及び各単位期間の時間幅を定義した統計算出ルールを参照しつつ、前記入力装置を通じて統計対象情報が入力された場合には、入力された統計対象情報を前記記憶装置に格納する。また、前記統計算出ルールに定義された前記開始間隔及び前記時間幅から特定される各単位期間のうちの何れかが満了すると、当該満了した単位期間内にその発生時点が含まれる全ての統計対象情報を前記記憶装置から読み出し、読み出した全統計対象情報が示す事象の値に対して所定の統計計算を実行し、その統計計算の結果得られた統計結果を、前記記憶装置に格納する。また、前記入力装置を通じて統計対象情報が入力された場合には、更に、前記記憶装置に統計結果が登録されている各単位期間のうち、当該入力された統計対象情報が示す事象の発生時点を含むものにフラグをセットする。その後、定期的に、前記記憶装置内に統計結果が登録されている単位期間のうち、前記フラグがセットされている個々の単位期間につき、夫々、その単位期間内にその発生時点が含まれる全ての統計対象情報を前記記憶装置から読み出し、読み出した全統計対象情報が示す事象の値に対して前記統計計算を再実行し、その統計結果を、前記記憶装置に上書きする。
【００１０】
その結果、上述した第一の態様と同様に、記憶装置に格納されている全統計対象情報に対して統計処理を実行する必要がないという作用が得られるとともに、新たに統計対象情報が入力されても、直ちに統計計算を再実行するのではなく、統計計算の再実行を行うべき単位期間につきフラグを設定するだけに留め、その後、定期的に、フラグの状態をチェックして、フラグが設定されている単位期間についてまとめて統計計算を再実行するので、統計計算の再実行の頻度を抑えることにより、コンピュータの処理負荷を更に低減できるという作用を、得ることができる。
【発明の効果】
【００１１】
以上のように構成された本発明の期間分割統計プログラムによると、事象が発生してから当該事象についての情報がコンピュータに入力されるまでのレスポンスが大きくバラつき得る環境下において、入力された情報に基づいて一旦統計計算を完了して統計結果を得た後に、本体統計計算の対象とすべきであった情報が入力された場合には、既に得ていた統計結果のうち、新たに入力された情報が示す事象の発生時点を含む単位期間に相当する部分のみについて再計算すれば足りるので、再計算に要するコンピュータの負荷を最小限に止めることが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を、図面を参照して説明する。
＜構成＞
図１は、本発明による期間分割統計プログラムの実施の形態である統計システムプログラムがインストールされているコンピュータの概略構成（ハードウェア構成及びプログラム構成）を示すブロック図である。図１に示すように、このコンピュータは、バスＢによって相互に接続されたＣＰＵ１０，ＲＡＭ１１，記憶装置１２，ディスプレイ１３，キーボード１４及びネットワークインタフェース１５を、主要構成として有している。
【００１３】
このうち、ＣＰＵ１０は、プログラムを読み込んで実行することによって、所定の処理を実行する中央処理装置であり、請求項中のコンピュータそのものに相当する。
【００１４】
また、記憶装置１２は、ＣＰＵ１０が実行する各種プログラムや各種データを保存するハードディスク（コンピュータ可読記憶媒体）である。記憶装置１２が格納しているプログラムの一つが、上記統計システムプログラム１２１である。また、記憶装置１２が格納しているデータには、上記統計システムプログラム１２１を実行するＣＰＵ１０の機能によって参照される統計算出ルール１２４，上記統計システムプログラム１２１を実行するＣＰＵ１０の機能によって作成される統計情報１２２及び統計対象情報１２３が、含まれている。
【００１５】
ディスプレイ１３は、ＣＰＵ１０が処理結果を画面として表示させるための出力装置である。キーボード１４は、オペレータが、ＣＰＵ１０に各種コマンドやデータを入力するために操作されるキーボード，ポインティングデバイス等である。また、ネットワークインタフェース１５は、所定の通信プロトコルに従ってネットワークにデータを送出しまたネットワークからデータを受信する通信装置である。
【００１６】
ＲＡＭ１１は、ＣＰＵ１０が上記処理実行をするにあたり、記憶装置１２から読み出されたプログラムがキャッシュされて、その作業領域が展開される主記憶装置である。図１は、統計システムプログラム１２１がＣＰＵ１０によって読み込まれることによって、統計システム１１１としてＲＡＭ１１の作業領域上に展開された状態を、示している。また、上述したキーボード１４がオペレータによって操作されることにより入力された統計対象情報、若しくは、ネットワークインタフェース１５を通じて図示せぬ端末から受信した統計対象情報１２３が、上記したＲＡＭ１１上に読み込まれる。
【００１７】
この統計対象情報１２３は、本実施形態においては、会社の経理に従業員から請求された出張旅費である。即ち、この統計対象情報１２３が表す事象とは出張旅費の支出であり、下記表１に示されるように、統計対象情報１２３は、事象の発生時（即ち、出張旅費の支出日）としての「申請対象日」，及び、情報の値としての「申請額」から、構成されている。
【００１８】
【表１】
2007257213.tif 000002
統計システム１１１は、統計対象情報１２３が入力されると、その申請対象日（事象の発生時）如何に関わらず、記憶装置１２に格納（登録）する。統計システム１１１は、このようにして記憶媒体１２に登録した統計対象情報１２を読み出して、統計参照ルール１２４を参照することにより、統計計算を実行する。この統計参照ルール１２４の詳細を、表２に示す。
【００１９】
【表２】
2007257213.tif 000003
この統計算出ルール１２４は、「統計開始時刻」，「統計算出期間」，「統計算出間隔」及び「統計算出スケジュール」の各項目から、構成されている。
【００２０】
この「統計開始時刻」には、統計情報（統計結果）を算出する起点となる日時が定義される。この時刻を起点として、統計対象期間が、「統計算出間隔」毎に開始して「統計対象期間」に指定された時間幅を持つ多数の単位期間に分解されて、各単位期間毎に、その単位期間内にその事象発生時（「申請対象日」）が含まれる統計対象情報１２３に基づく統計計算が、実行されるのである。即ち、「統計算出期間」には、単位期間の幅を指定するための数値及び単位の組み合わせが、定義される（例えば、“１０分”，“１週間”等）。また、「統計算出間隔」には、各単位期間が開始する間隔を指定するための数値及び単位の組み合わせが、定義される（例えば、“１０分”，“１週間”等）。表２の例では、１週間毎に、４週間の幅を持った単位期間が開始することになるので、隣接した単位期間同士が部分的に重なり合い、ある統計対象情報の事象発生時（「申請対象日」）は、４つの単位期間に含まれることになる。その結果、例えば、統計計算の内容が平均値の算出であるならば、所謂移動平均が算出されることになる。なお、統計算出期間の値と統計算出間隔の値とは互いに一致していても良く、その場合には、統計対象期間が複数の単位期間に区切られたことになる。
【００２１】
また、「統計算出スケジュール」には、各単位期間につき一旦統計計算が実行された後の統計計算の再実行をするタイミングが、定義されている。即ち、再計算を最初に実行するタイミングを指定する「起点」，及び、その後再計算が繰り返される周期を指定する「間隔」が、「統計算出スケジュール」に定義されている。
【００２２】
統計システム１１１は、統計算出ルール１２４の「統計開始時刻」後において、各単位期間につき、その単位期間後に、最初の統計計算を実行する。この統計計算とは、例えば、合計，平均，最大値の抽出等である。その統計計算の結果が、統計情報１２２として、記憶装置１２に登録される。下記表３は、表２の統計算出ルールに従って算出された統計情報１２２の具体例である。
【００２３】
【表３】
2007257213.tif 000004
この統計情報１２２における各エントリは、各単位期間についての統計結果に相当する。また、各エントリにおける「統計算出開始時刻」フィールドには、その単位期間の開始時点（即ち、統計開始時刻＋ｎ×統計算出間隔，但し、ｎは正の整数）が登録される。また、「述べ人数」フィールドには、その単位期間についての統計計算の基となった統計対象情報の数が登録される。また、「出張旅費平均額」フィールドには、その単位期間についての統計計算の結果（統計結果，表３の例においては、各統計対象情報が示す事象の値の平均値）が登録される。また、「再計算フラグ」には、その単位期間に事象発生時（「申請対象日」）が含まれる統計対象情報１２３が新たに入力されたが為に当該単位期間についての統計計算を再実行する必要がある事を示すフラグが、セットされる。このフラグがセットされていない場合には、統計算出ルール１２４の「統計算出スケジュール」に登録されている再計算のタイミング（起点＋ｎ×間隔，但し、ｎは正の整数）が到来しても、当該単位期間についての統計計算は再実行されない。
＜処理＞
次に、上述した統計システム１１１（統計システムプログラム１２１に従って動作するＣＰＵ１０）が実行する処理のうち、各単位期間につき最初の統計計算を実行して記憶装置１２に統計結果を登録する部分以外の部分を、図２のフローチャートに基づいて説明する。
【００２４】
統計システム１１１は、最初の統計計算実行後、統計対象情報１２３が入力されると、処理をＳ１からＳ２へ進める。このＳ２では、統計システム１１１は、Ｓ１にて入力された統計対象情報１２３における事象発生時（「申請対象日」）が、統計算出ルール１２４の「統計開始時刻」に指定された日時以降であるかどうかをチェックする。そして、前者が後者より前であれば、統計対象外であると判断して、当該統計対象情報１２３に対する処理を終了する。これに対して、前者が後者以降であれば、統計対象であると判断して、処理をＳ２からＳ３へ進める。
【００２５】
このＳ３では、統計システム１１１は、統計算出ルール１２４を参照して、その開始時点（即ち、統計算出開始時刻＝統計開始時刻＋ｎ×統計算出間隔）がＳ１にて入力された統計対象情報１２３における事象発生時（「申請対象日」）以前であり、且つ、その満了時点（＝統計算出開始事項＋統計算出期間）が当該統計対象情報１２３における事象発生時（「申請対象日」）より後である単位期間についてのエントリを、記憶装置１２内の統計情報１２２から検索する。
【００２６】
次のＳ４では、統計システム１１１は、Ｓ３にて検索された全ての統計情報１２２のエントリにおける「再計算フラグ」フィールドに、フラグをセットする。表４は、表３の内容で統計情報１２２が登録されているところに、表１に示す統計対象情報１２３が新たに入力されていた場合に、図２に示す処理が実行されることにより、そのＳ４において、その統計情報１２２の「再計算フラグ」フィールドにフラグが設定された状態を示している。
【表４】
2007257213.tif 000005
【００２７】
統計システム１１１は、以上に説明したＳ１乃至Ｓ４の処理を、統計対象情報１２３が新たに入力される毎に、繰り返し実行する。
【００２８】
そして、統計算出ルール１２４の「統計算出スケジュール」に登録されている再計算のタイミング（起点＋ｎ×間隔）が到来すると、統計システム１１１は、表５に示すように、統計情報１２２における「再計算フラグ」フィールドにフラグがセットされている全エントリにつき、統計計算を再実行する。即ち、フラグがセットされている各エントリに対応する単位期間毎に、その単位期間内に事象発生時（「申請対象日」）が含まれる統計対象情報１２３を記憶装置１２から読み出して、統計計算を再実行する。このようにして各単位期間についての統計計算を再実行すると、統計システム１１１は、新たに得られた統計結果を、統計情報１２２における当該単位期間についてのエントリに上書きして、そのエントリのフラグをリセットする。
【表５】
2007257213.tif 000006
【００２９】
＜作用＞
以上に説明したように、本実施形態の統計システムプログラム１２１が実行されると、統計開始後の統計対象期間が複数の単位期間毎に分解され、多数の統計対象情報が、その情報が示す事象の発生時点が属する１乃至複数の単位期間毎に、統計計算に算入される。そして、各単位期間の満了後に当該単位期間内に発生した事象についての統計対象情報１２３が入力された場合には、その統計対象情報１２３が示す事象発生時を含む各単位期間についてのみ、統計計算が再実行されるので、全統計情報につき統計計算をやり直す場合と比較して、ＣＰＵ１０の処理負荷を大幅に低減することができる。しかも、各単位期間の満了後に当該単位期間内に発生した事象についての統計対象情報１２３が入力されても、直ちに統計計算を再実行するのではなく、再計算が必要な単位期間についてフラグをセットするに留めておき、その後で、再計算のタイミングが到来した時点で、まとめて、統計計算を再実行するので、ＣＰＵ１０の処理負荷を更に低減することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施例である統計システムプログラムがインストールされているコンピュータの概略構成を示すブロック図
【図２】統計システムプログラムによってＣＰＵが実行する処理の内容を示すフローチャート
【符号の説明】
【００３１】
１０    ＣＰＵ
１１    ＲＡＭ
１２    記憶装置
１４    入力装置
１５    ネットワークインタフェース
１１１    統計システム
１２１    統計システムプログラム
１２２    統計情報
１２３    統計対象情報
１２４    統計算出ルール
【図１】
2007257213.tif 000007
【図２】
2007257213.tif 000008