"最大バイナリ桁数を含む最大整数値を有する既知の整数域を使ったデータシステム内の整数値をエンコードする方法であり、a前記整数値のバイナリ表記における桁数Nを決定するステップ;bNのバイナリ表記における桁数N’を決定するステップ;cNのlog2が、エンコードすべき値の既定の整数域範囲のlog2に等しい場合に、次の要素を有するように前記整数値をエンコードするステップ;1N’-1個のゼロに等しい第1要素;2第1要素に付け加えられる第2要素であり、前記整数値のバイナリ表記から最上位ビットを除いた値に等しい第2要素;dエンコードされた値を出力するステップ;を備える方法。Nが前記データシステムの前記最大整数値の前記最大バイナリ桁数よりも小さい場合、次の要素を有するバイナリ値として前記整数値をエンコードするステップ;1N’-1個のゼロに等しい第1要素;2第1要素に付け加えられる第2要素であり、Nのバイナリ表記に等しい第2要素;3第2要素に付け加えられる第3要素であり、前記整数値のバイナリ表記から最上位ビットを除いたものに等しい第3要素;を備える請求項1に記載の方法。エンコードされた値を出力する前記ステップdは、エンコードされた値を、ネットワーク接続を介して第1コンピュータデバイスから第2コンピュータデバイスへ転送するステップを備える請求項1又は2に記載の方法。エンコードされた値を出力する前記ステップdは、エンコードされた値を永続性記憶媒体へ記憶するステップを備える請求項1又は2に記載の方法。エンコードされた値を出力する前記ステップdは、サブコンポーネントを一つずつ出力して前記エンコードされた値を出力するステップであって、最初に前記第1サブコンポーネントを、第2に前記第2サブコンポーネントをFIFOデータ構造体に出力するステップを備える請求項1から4のいずれか1項に記載の方法。エンコードされた値を出力する前記ステップdは、サブコンポーネントを一つずつ出力して前記エンコードされた値を出力するステップであって、最初に前記第2サブコンポーネントを、第2に前記第1サブコンポーネントをLIFOデータ構造体に出力するステップを備える請求項1から4のいずれか1項に記載の方法。前記整数域に含まれる整数の個数が、2iただし、iは2のべき乗に等しいことを特徴とする請求項1から6のいずれか1項に記載の方法。前記整数域に含まれる整数の個数が、4、16、256、及び、65536のいずれかであることを特徴とする請求項1から6のいずれか1項に記載の方法。e前記整数値の少なくとも一部を既定の定数分だけ上位又は下位へシフトすることによって、データシステム内の前記整数域を正規化するステップ;をさらに備える請求項1から8のいずれか1項に記載の方法。ウエブアプリケーションとウエブサイトのパフォーマンスの問題を検知し診断するモニタリングシステムにおいて、当該システムは、モニタリングソフトウエアアプリケーションと、当該モニタリングソフトウエアアプリケーションによってモニタされるモニタ対象ソフトウエアアプリケーションを含んでおり、当該モニタ対象とモニタリングソフトウエアアプリケーションは、少なくとも一つのコンピュータデバイス内の少なくとも1つのプロセッサ上で動作するものであり、前記少なくとも1つのプロセッサは、前記モニタリングシステム内で用いられる整数値をエンコードする方法を実行するものであり、前記モニタリングシステムは、iを2のべき乗とする、2i個の整数値に等しい既知の整数域を用いるものであり、前記整数域は、最大バイナリ桁数を含む最大整数値を有しており、当該方法が、a前記整数値のバイナリ表記における桁数Nを決定するステップ;bNのバイナリ表記における桁数N’を決定するステップ;cNが、当該データシステムに対する前記最大整数値の前記最大バイナリ桁数に等しい場合に、次の要素を有するように前記整数値をエンコードするステップ;1N’-1個のゼロに等しい第1要素;2第1要素に付け加えられる第2要素であり、前記整数値のバイナリ表記から最上位ビットを除いたものに等しい第2要素;dエンコードされた値を出力するステップ;を備えるモニタリングシステム。Nが前記データシステムの前記最大整数値の前記最大バイナリ桁数よりも小さい場合、次の要素を有するバイナリ値として前記整数値をエンコードするステップ;1N’-1個のゼロに等しい第1要素;2第1要素に付け加えられる第2要素であり、Nのバイナリ表記に等しい第2要素;3第2要素に付け加えられる第3要素であり、前記整数値のバイナリ表記から最上位ビットを除いたものに等しい第3要素;を備える請求項10に記載のモニタリングシステム。前記少なくとも1つのプロセッサが、前記ステップaからdによってエンコードされた値をデコードする方法を実行するものであり、前記デコードする方法は、eエンコードされた値の先頭のゼロの個数を決定するステップ;f先頭のゼロの個数が、前記データシステムの前記最大整数値の前記最大バイナリ桁数のlog2の値以上であるか否かを決定するステップ;g前記ステップbにて、前記先頭のゼロの個数が、前記データシステムの前記最大整数値の前記最大バイナリ桁数のlog2の値以上であると決定された場合、2N1に等しい第1中間十進数Jを決定するステップ、ただし、Nは、前記最大整数値の前記最大バイナリ桁数に等しい値である;hエンコードされた値からその最上位ビットを除いた値の十進数変換値に等しい値Kであって第2中間十進数Kを決定するステップ;i第1中間十進数Jを第2中間十進数Kに加え、エンコードされた値によって示される整数値を提供するステップ;を備える請求項10又は11に記載のモニタリングシステム。前記先頭のゼロの個数が、前記データシステムの前記最大整数値の前記最大バイナリ桁数のlog2の値よりも小さい場合に、以下のステップ、jエンコードされた値の中から前記先頭のゼロに続くN’ビットを読み出すステップ;ここで、N’は前記先頭のゼロの個数に1を加えた値であってNのバイナリ表記の桁数に等しい値である;k読み出したN’ビットの十進数変換値に等しい値Nを決定するステップ;l前記ステップhで決定された値Nを用いて、J=2N1の式によって値Jを決定するステップ;を備える請求項10から12のいずれか1項に記載のモニタリングシステム。請求項10から13のいずれか1項に記載のモニタリングシステムであって、さらに、m前記整数値の少なくとも一部を既定の定数分だけ上位又は下位へシフトすることによって、モニタリングシステムによって使われている前記整数域を正規化するステップ;を備えるモニタリングシステム。エリアスデルタコード化技術の一つの課題は、あらゆる入力整数値に対して機能しなければならないことであり、それゆえ、あらゆる整数に対してコードのための容量を確保しなければならないことである。図2の例に示されているように、例えばx=64のような大きな入力値に対して、Eδは、もとのバイナリ値そのものよりも多くの記憶容量/帯域を必要とするバイナリ値が1000000であるのに対してEδ=00111000000である。しなしながら、現実のアプリケーションの多くにおいては、入力される整数値には制限がある。例えば、レジスタには、例えば4ビットというように与えられたサイズがある。他の事例として、多くのデータクラスでは、工業規格によって定められたサイズがある。例えば、マルチメディアのストリームにおけるカラー値の送信は0から255の範囲であり、8ビットに格納される。エリアスデルタコード化は、データシステムにはしばしば制限が決められており、入力値は既知の最小値と既知の最大値を有する帯域の範囲であるという、この知見を利用してはいない。本発明は、概略すると、送信すべき/記憶すべき整数値を、エリアスデルタコード化などの従来の圧縮技術と比較してより高い圧縮率で圧縮するシステムに関する。特に、データシステムが、最小値だけでなく最大値も有する既定の整数域に亘る整数値を記憶及び/又は送信することを用いて、最大値の、あるいは最大値に近い整数値を、データ解像度の損失なく、従来システムよりも高比率で圧縮する。本技術は、エリアスデルタコード化とパラレルの関係にある。しかしながら、記憶すべき、あるいは、送信すべきバイナリ整数値の桁数が、与えられたデータシステムに予め定められた最大桁数に等しいと判定された場合、整数値のlog値のバイナリ表記の記憶及び/又は送信が、記憶又は送信から除外され、これによって、従来のエリアスデルタコード化と比較して高い圧縮率が得られる。本技術の圧縮技術は、広範囲の様々なデータシステムにおける幅広いアプリケーションに適用することができる。しかしながら、一つのアプリケーションとして、本技術は、ウエブアプリケーションやウエブサイトが適切に動作することを確保するためにそれらウエブアプリケーションやウエブサイトのパフォーマンスの問題を積極的に検知し診断するアプリケーションマネージメントシステムに関連するデータを圧縮するのに用いられる。本技術は、ハードウエア、ソフトウエア、あるいは、ハードとソフトの組み合わせで実現されてよい。本発明のためのソフトウエアは、ハードディスクドライブ、CD-ROM、DVD、光学ディスク、フロッピー登録商標ディスク、テープドライブ、RAM、ROM、あるいは、他の適切な記憶デバイスを含む、一つあるいはそれ以上のプロセッサ読み出し可能な記憶媒体に格納される。別の態様では、そのソフトウエアの一部あるいは全部は、カスタムIC、ゲートアレイ、FPGA、PLD、及び、特定目的のためのコンピュータを含む、専用ハードウエアで置き換えられ得る。一つの態様では、本発明が実装されたソフトウエアは、一つあるいはそれ以上のプロセッサをプログラムするのに用いられる。そのプロセッサは、一つあるいはそれ以上の、記憶デバイス、周辺装置、及び/又は、通信インタフェイスと通信し得る。図4~11を参照して本技術を説明する。それは、一般的に、既知の可能な整数域内の範囲に亘る整数データを圧縮するシステムに関する。本技術の実施例は、特に、予め定められた整数域の上限に近い高次整数値を圧縮するのに効果的であるので、本技術の実施例を、本明細書では、高次圧縮技法と称する。ウエブアプリケーションとウエブサイトが適切に実行されるようにそれらのパフォーマンスについての問題を検知し診断するSOAアプリケーションを参照し、以下、高次圧縮技法を用いる一つの特定システムを説明する。そのようなアプリケーションマネジメントシステムの一つに、カリフォルニア州サウスサンフランシスコのCAIncWilyTechnologyDivisionによるIntroscope登録商標がある。図10のブロック図を参照してそのようなシステムを以下にて説明する。しかしながら、本明細書で説明する高次圧縮技法は、予め定められた整数域の範囲に亘る整数値が送信及び/又は記憶される広範囲に及ぶ様々なソフトウエアアプリケーションに適用することができる。図4に、本技術の高次圧縮技法の実施例による整数値をエンコードするためのフローチャートを示す。この技法は、記憶/送信される整数値の取り得る範囲が最小値たとえばゼロと所定の最大値で制限されているデータシステムにおいて整数値を圧縮するのに用いることができる。その範囲の最小整数値の典型はゼロであるが、他の実施形態では最小値はゼロである必要はない。最大整数値に関していえば、多くのデータシステムやソフトウエアアプリケーションは、システムの制約によって通常は制限されるデータ値の範囲を扱う。例えば、データシステムは、レジスタ、アドレスバス、データバスを用いており、それらは、例えば、0から15までの間の16個の整数値を扱い得る4ビットといった、予め決められたサイズ、セット数を扱う。他の例として、多くのアプリケーションプログラムは、工業規格によって定められているサイズとフォーマットのデータを送信し記憶する。多くの例の一つとしては、ビットマップ画像やビデオフレームバッファにおけるピクセルの色を表すデータは、8ビットフォーマットでの256個の値の一つとしてしばしば送信され記憶される。他の通信、オーディオ、及び、ビデオのデータは、標準的な8ビット、16ビット、などのデータ長で記憶される。高次圧縮技法の実施例では、送信され記憶される整数値は、既知の最大値を有する整数域内のものであると仮定する。この最大値の情報は、以下で説明するように、高次圧縮技法を実装するエンコードエンジンとデコードエンジンにて用いられ、圧縮されたデータの圧縮率を向上する。実施例において、本システムは、2iに等しい最大整数値の元で動作する。ここで、iは、2のべき乗であるi=2、4、8、16、32、64。しかしながら、本システムの他の実施形態は、別の整数値範囲のデータを圧縮/デコードするように動作する。図4のフローチャートを参照して、本システムの実施例を説明する。この処理は、4ビットで送信/記憶される16個までの異なる整数値を送信あるいは記憶するデータシステムにて用いられる。それゆえ、その整数域内の整数値をバイナリ表記で表す際のビットの最大数は4ビットである。上述したように、本技術は、バイナリの桁数の最大数がそれよりも大きい、あるいは小さい他の実施形態のデータシステムでも用いることができる。本明細書においては、バイナリ表記したときの桁数が、与えられたデータシステムにて許容される最大桁数と同じである整数値を高次整数値と称する。例えば、この高次圧縮技法は、最大4ビットを占める16個の整数値を扱うシステムで用いられる。そのようなシステムでは、81000base2から151111base2までの整数値が高次の整数値と称される。その同じ整数値であっても、例えば8ビットで256個の整数値を扱うシステムにおいては、高次の整数値とは見なされない。以下で説明する高次圧縮技法は、エンコードエンジン230図10にて実行される。説明の目的をもって、最大16個の整数値を許容するデータシステムにおいて任意に選択された整数値x=14をエンコードする場合について、図4のフローチャートを説明する。しかしながら、そのようなデータシステムにおいて、本技術は、16個の取り得る整数値のいずれであっても受け取ってエンコードできることが理解されるであろう。ステップ100では、エンコードエンジンはバイナリ形式の整数値xを受信する。この例では、x=14base=1110baseである。ステップ104では、エンコードエンジン230は、その整数のバイナリ値の桁数Nを決定する。背景の欄で説明したように、このときNは、N1log2xより決定される。N1log214→N13N4本技術分野の当業者であれば、整数値のバイナリ表記の桁数を決定する代替方法あるいは付加的な方法を理解することもあろう。ステップ106では、エンコードエンジン230は、Nが既知の整数域のlog2の最大値に等しいか否かを判断する。この例では、Nの最大値は4である。整数値x=4の場合Nは4に等しいので、エンコードエンジンは、ステップ108にて、受信した整数値に対するNが既定の最大値に等しいことを示すフラグを設定する。このフラグを設定することは、図4では、CHKmaxで表されている。ステップ106におけるNの値が最大値よりも小さい場合は、ステップ108はスキップされる。ステップ114では、Nのバイナリ表記4base10100base2を用い、Nのバイナリ表記における桁数N’を決定する。N’1log2NN’1log24→N’12N’3繰り返すが、本技術分野の当業者であれば、Nのバイナリ表記の桁数を決定する代替方法あるいは付加的な方法を理解することもあろう。ステップ114以降、エンコードエンジンは高次圧縮値を決定する。ここでは高次圧縮値をMで表す。整数値xが既定の最大値よりも小さい桁数Nを有する場合即ち、ステップ118においてCHKがmaxに等しくない場合、高次圧縮値Mは、ステップ120にてエリアスデルタ値と同じように決定される。即ち、高次圧縮値MM1にM1の後ろにM2を付加し、さらにM2の後ろにM3を付加したものである。ここで、M1N’1個のゼロステップ114;M2xのバイナリ表示におけるビット数Nステップ104;M3xのバイナリ表記の残りN1桁即ち、xのバイナリ表記からMSBを除いたものである。しかしながら、ステップ118において、整数値xが既定の整数値の範囲における最大ビット数を用いるものである場合、本システムは、エリアスデルタコード化技法のような従来の圧縮技法に比較して、エンコードされた値のサイズを低減する。ステップ124では、フラグが最大値に等しい場合、高次圧縮値MM1にM1の後にM3を付加したものとなる。ここで、M1N’1個のゼロステップ114M3xのバイナリ表記の残りN1桁即ち、xのバイナリ表記からMSBを除いたものである。理解されるように、受信した整数値のバイナリ表記が、既定の範囲についての最大桁数を有する場合、最上位ビットを表す符号化値即ちM2のための容量を確保する必要がない。x=14とするこの事例では、バイナリ表記におけるビット数即ち、4は、既定の最大値に等しい。従って、MM1にM3を付加したものM1N’1個のゼロ、即ち2個のゼロ→M100M3xのバイナリ表記からMSBを除いた残りN1桁x14のバイナリ表記は1110→M3110MM1にM3を付加したものM00110となる。ステップ130では、高次圧縮値Mが出力される。この出力は、プロセッサから永続的記憶媒体への出力であったり、プロセッサから、他のコンピュータデバイスへの転送のための通信インタフェイスへの出力であったりする。整数値に対する高次圧縮値は、永続的記憶媒体に記憶されたり、単一の値としてネットワーク接続を介して転送され得る。あるいは、図5に示されているように、それはサブコンポーネントM1,M2場合によってはM3として転送/記憶されることもある。即ち、M1は、ステップ134にて、転送されるか、あるいはFIFOデータ構造体に格納される。その整数値のバイナリ表記が既定の最大桁数のものではない場合、ステップ136にて、M2が転送されるかあるいはFIFOデータ構造体に格納される。そうでない場合は、ステップ136はスキップされる。ステップ138にて、M3が送信されるかあるいはFIFOデータ構造体に格納される。サブコンポーネントは上記した順で記憶され送信され、それらがFIFO構造体から取り出されるか受信されたときに、高次圧縮値の他のサブコンポーネントをデコードする必要があるそれらサブコンポーネントは、適切な順序で調べられる。あるいはサブコンポーネントは、転送されるか又はLIFOデータ構造体に格納され得る。その場合、サブコンポーネントは、上述した場合とは逆順で送信又は格納される。さらに、上記説明した図4のステップは、上記したステップの結果と同じ結果が得られる他の概念的方法によって行われてもよい。そのような代替方法を図4Aに示す。図4Aは、図4と類似しているが、Nが既定の最大値と同じか否かのチェックが省かれている。その代り、上記説明したように、システムは、ステップ106にて、Nが高次のものであるか否かをチェックする。もしそうであれば、システムは、上記したとおり、ステップ107にて、N’1log2Nを用い、Nのバイナリ表記における桁数N’を決定し、ステップ109にて、M1の後にM3を付け加えてMを設定する。ここで、M1とM3は上記説明したとおりである。ステップ106にて、Nが高次のものでないと判定された場合、システムは、上記したとおり、ステップ111にて、N’1log2Nを用い、Nのバイナリ表記における桁数N’を決定し、ステップ113にて、M1の後にM2を付けさらにその後にM3を付け加えてMを設定する。ここで、M1とM2とM3は上記説明したとおりである。次いで上記説明したとおりステップ130にてMが出力される。繰り返すが、この技術分野の当業者であれば、上記開示した方法のさらに別の方法を見出し得るであろう。図6は、整数値が0から15の範囲に属するシステムのテーブルを示す。図に示されているように、下位の整数値例えば、x≦7、及び、N<最大値4については、高次圧縮値Mはエリアスデルタ値Eδと同じである。しかしながら、バイナリ表記が最大ビット数である整数値8≦x≦15、及び、N=最大値4については、本圧縮技法Mは、整数値の転送及び/又は記憶に際して、エリアスデルタコードよりも容量の低減を提供する。図7は、0から255の範囲に属する整数値バイナリ表記の最大桁数=8に対する高次圧縮技法の例を示す。この例では、0から127の範囲の整数値は、エリアスデルタ値と同じ方法で計算された高次圧縮値となる。しかしながら、128から255の範囲の整数値そのいくつかが図7に示されているについては、それらの整数は最大ビット桁数をとり、それらの高次圧縮値は、エリアスデルタコード化法と比較して桁数の低減が図れる。図に示されているとおり、128から255の範囲の整数に対してはエリアスデルタコードは14桁を要するが、128から255の範囲の整数に対する高次圧縮値はたった9桁で済む。このことは、記憶容量と転送帯域の顕著な節約を提供する。エンコードされた値が転送にて受信されるか、永続記憶装置から取り出されると、エンコードされた値はデコードされる。本システムは、さらに、デコードエンジン232図10を備えている。デコードエンジン232は、上記した高次圧縮技法の逆を行うことができ、エンコードされた値を元の整数値に変換する。図8のフローチャートを参照してデコードエンジン232の処理を説明する。デコードエンジン232は、エンコードエンジン230と同じ既定の最小値と最大値を使って動作する。それゆえ、図8の例において、デコードエンジン232は、エンコードエンジン230と同じ整数域に対して動作するように構成されている。上記の例において、値は0から15の範囲であり、バイナリ表記における最大桁数Nは4である。図4において、M00110であった。図8にて、記憶/受信された値00110のデコード復号を説明する。しかしながら、上記と同様に、デコードエンジンは、既定の整数範囲のどの値であってもデコードできる点が理解されるであろう。デコードエンジン232は、扱う高次圧縮値Mの全部を受信することがあれば、FIFO又はLIFOデータ取得構造体から第1のコンポーネントM1を受信することもある。いずれの場合であっても、ステップ140において、デコードエンジンは、受信したあるいは記憶された値Mにおける先頭のゼロの並びである第1のコンポーネントM1を受信する。前の説明と同じように、先頭に並ぶゼロの個数を以下、N’1と称することにする。M00110の場合、先頭に2個のゼロの並びがある→N’12及びN’3高次圧縮値において、先頭に並ぶゼロの個数N’1は、次の関係によってデコードされるバイナリ値の最上位ビットNを示す。N’1Log2N整数値が0から15の間に制限されているシステムにおいて、先頭にゼロが付いていないことは、整数値が0と1の間であることを示し、先頭にゼロが1個の場合は整数値が2から7の間であることを示し、先頭にゼロが2個あるいはそれ以上並んでいる場合は整数値が8から15の間であることを示す。上記の例では、整数値は0から15の間に制限されているNの最大値は4である。しかしながら、上記で示したように、本発明は、いかなる既知の整数域に対しても動作する。実施例においては、既知の整数域における最大の整数値は、2iに等しい。ここで、iは、2のべき乗であるi=2,4,8,16,32,64。それゆえ、実施例においては、この高次圧縮技法は、2値、4値、16値上記の例のとおりである、256値、65536値の整数域を扱うものである。高次圧縮値の先頭に並ぶゼロの個数が、そのデータシステムにおける最大整数値のバイナリ表記の桁数のlog2の値以上である場合はいつでも、その高次圧縮値は、そのデータシステムにおけるバイナリ表記最大桁数を要する整数値を表す。従って以下のことが言える。0から3までの整数域の場合、与えられた高次圧縮値がその先頭に1個のゼロを有することは、その与えられた高次圧縮値がバイナリ表記で最大桁数N2ビットを要する整数値であることを示す。0から15までの整数域の場合上述の場合、与えられた高次圧縮値がその先頭に2個のゼロを有することは、その与えられた高次圧縮値がバイナリ表記で最大桁数N4ビットを要する整数値であることを示している。0から255までの整数域の場合、与えられた高次圧縮値がその先頭に3個のゼロを有することは、その与えられた高次圧縮値がバイナリ表記で最大桁数N8ビットを要する整数値であることを示している。0から65535までの整数域の場合、与えられた高次圧縮値がその先頭に4個のゼロを有することは、その与えられた高次圧縮値がバイナリ表記で最大桁数N16ビットを要する整数値であることを示している、等々。このような技法と整数域の情報を用いることによって、デコードエンジン232は、高次圧縮値の先頭のゼロの個数だけから、その高次圧縮値がバイナリで最大桁数を要する数値を表していることを判断することができる。整数値が0から15の範囲である図8の例を続ける。ステップ140では、デコードエンジンは先頭のゼロの個数を読む。ステップ144では、先頭に2個以上のゼロが存在すると判定された場合N’1が2以上である場合、デコードエンジンは、自動的に、その整数値は8から15の間であり、その整数値のバイナリ表記のビット数Nが4であると判断する。従って、ステップ144にて、N’1が2以上であると判定された場合、ステップ146にてNに4がセットされ、148-150後述のステップはスキップされる。ステップ152では、第1の中間十進数値Jが、2N1として決定される。Jは、最上位ビットの十進数表記を表す。M00110の例では、N4である。それゆえ、J2N1238である。ステップ158では、受信/記憶された値Mから最上位ビットを除いたものを十進数へ変換し、第2の中間十進数値Kが決定される。これは、Mの後ろのN1ビットである。上記のM00110の例では、N4と決定される。それゆえ、N13であり、Mの後ろの3桁は110である。従って、この例におけるMのN1桁の十進数変換値Kは次のとおり与えられる。110base2Kbase10→K6最後にステップ160にて、元の整数値xは、中間値JとKを加算して決定される。xJKx8614図4から理解されるように、高次圧縮技法によって整数値14はM00110にエンコードされる。図8から理解されるように、高次圧縮値00110は、元の整数値14にデコードされる。上記の説明において、先頭のゼロの並びが、デコードするバイナリ値が最大ビット数を有していることを示している場合、ステップ148と150はスキップされ、このことは処理時間の低減をもたらすことに留意されたい。ただし、バイナリ表記における桁数が最大値よりも少ないと判定された場合には、ステップ148と159が実行される。例えば、最大ビット数が4であるシステムその整数域内で16個の整数値が取り得るシステムにおいて、デコードエンジン232が高次圧縮値M01101を受信した場合を仮定する。その場合、ステップ140にて先頭に1個のゼロがあり、N’1は2以上ではない。従って、デコードエンジンは、ステップ148を実行し、Mにおいて先頭のゼロの並びに続くN’個のビットを読み出す。01101を復号化するこの例の場合、先頭に1個のゼロがあり、従ってN’11であり、N’2である。従って、Mにおいて先頭のゼロに続く2ビットが読まれる。M01101をデコードするこの例の場合、それら桁は11である。ステップ150では、Nは、読み出したN’個のビットの十進法への変換に等しい。この例の場合は、11base23base10→N3である。前述したように次いでステップ152が実行される。第1の中間値Jは、N3として、次のとおり決定される。J2N1224ステップ158では、第2の中間地Kが決定される。上記に示したように、Kは、受信/記憶された値Mから最上位ビットを除いた残りの部分、即ち、Mの最後のN1桁、の十進法への変換である。M01101である上記例では、N3であることが決定されている。即ち、N12であり、Mの最後の2桁は01である。従って、この例におけるMのN1桁の十進法への変換であるKは次のとおり与えられる。01base2Kbase10→K1最後に、ステップ160にて、中間値JとKが加算され、元の整数値xが求まる。xJKx415上記説明した図8のステップは、上記したステップの結果と同じ結果が得られる、他の概念的な方法によって実行されてもよいことが理解されるであろう。上記説明したように、実施例では、いかなる既知の整数域であっても、N=2iを満足する最大バイナリ桁数Nを有する。ここで、iは2のべき乗である。この制約によって、デコーダ復号器が、エンコードされた高次圧縮値がその既知の整数域における高次整数値を表しているか否かを自動的に判定することができるようになる。iが2のべき乗であるという制約のないシステムでは、先頭のゼロの数に基づいたNに関する仮定が成立しないので、高次圧縮値の復号化はより複雑になるであろう。例えば、Nが2iに制限されており、取り得る整数値が16個であるシステムにおいては、Mの先頭に2個のゼロが存在すれば、N’12であり、N’は、100base2あるいはN4base10に等しい3ビットのバイナリ値であることが判る。しかしながら、取り得る整数値は16個ではあるがNが2iに制限されていないシステムにおいては、先頭に2個のゼロが存在すればN4であると仮定することはできないのである。例えば、Mの先頭に2個のゼロが存在する場合、N’12であり、N’は3ビットのバイナリ値であるが、それは、100、101、110、或いは、111のいずれかを取り得る。しかしながら、より複雑であるにしても、この高次圧縮技法の実施例は、Nが2iiは2のべき乗であるに制限されていないNの値を扱うことはできる。これは、そのような値をエンコードしたMが、Nの取り得る値の夫々に対して一意に定まるからである。そのような実施例においては、符号化された値Mにおける先頭のゼロだけではNの値を決定することはできないが、Mの他の桁を調べる付加的なステップを実行して、Mを元の整数値にデコードすることはできる。実施例においては、高次圧縮技法は、高次整数値を符号化するには効率がよいが、高次整数値よりも下位の整数値に対してはそうでもない。他の実施形態では、高次圧縮技法によるエンコードに先立って、所定の整数域内の整数値に所定の定数を加算及び/又は除算するという、既知の正規化regularization技術を採用することによって、この課題に対処し得る。その定数は、その整数域のサイズに依存する。16値の整数域である上記した図6の例においては、その整数域の最上位において値をエンコードするビット数が、下位の値を符号化するのに必要なビットよりも小さくないので、この正規化ステップは、その利益を生じないことに留意されたい。この状況は、整数域が大きい場合ではない。例えば、正規化された高次圧縮技法の利点は、図9から明らかである。図9は、8ビット整数域256個の整数値に亘る整数値符号化の一部を示している。正規化されていないバージョンでは、高次圧縮技法は、64から127の範囲で値を符号化するのに、128を符号化する場合よりも多くのビットを使う。例えば、所定の値の範囲では、これは準最適である。正規化プロセスでは、例えば、128から255を表すビットコードを32から159を表すコードの代わりに用い、32から127を表すビットコードを160から255を表すコードの代りに用いることによって、この問題に対処し得る。このことは、エンコード/デコードの過程で定数その値は、その特定の整数域の範囲に依存するを加算及び/又は減算することによって達成し得る。図9の例では、32から159の間のいずれの値にも、正規化していない高次圧縮エンコードに先立って96が加算され、160から255の間のいずれの値にも、正規化していない高次圧縮エンコードに先立って128が減算されている。このシフトの後、上記した高次圧縮技法が実行される。デコードに際してはその逆が実行される。上述したように、高次圧縮技法の実施例は、整数データが記憶及び/又は転送される広範囲の様々な状況で用いられる。図10のブロック図を参照して、高次圧縮技法が用いられる1実施例を以下で説明する。このシステムは、TransactionTracerと題する、2002年12月12日に出願された米国特許出願第10318272号により詳しく記載されている。その出願は、本技術の所有者に譲渡されている。その出願は、参照によりその全てが本明細書に組み込まれる。一般に、そのようなシステムは、コンピューティング環境におけるトランザクションをモニタする。1以上のトランザクションの組についてのデータが収集される。このデータは次いで、一組の評価に対してテストされる。評価に適合するトランザクションが報告される。一実施形態では、評価に適合しないトランザクションのデータは破棄される。報告されたデータは、ソフトウエアのどの部分が実行が遅いのか、あるいは、適切に機能していないのか、を特定するために用いられる。一実施形態では、ユーザは、閾値追跡時間を設定するとともに、ソフトウエアシステム上で実行されている一つ、幾つか、あるいは全てのトランザクションについてトランザクション追跡を起動することができる。グラフィカルユーザインタフェイスを使って、実行時間が閾値追跡時間を超えているトランザクションがユーザに報告される。グラフィカルユーザインタフェイスは、追跡されたトランザクションにおいてどこで時間が費やされているか、ユーザが直ちに理解できるように、トランザクションについての報告をビジュアライズすることを含む。図10はアプリケーションパフォーマンスマネジメントツールのコンポーネントの概念図である。この図は、トランザクションモニタリングシステムによってモニタされる、管理対象アプリケーション200を示している。トランザクションモニタリングシステムは、管理対象アプリケーション200のバイトコードにプローブ202、204を付加することによって、そのバイトコードを計測する即ち修正する。プローブは、管理対象アプリケーションのビジネスロジックを変えることなく、そのアプリケーションについての情報の特定部分を計測する。エージェント208もまた、管理対象アプリケーション200の同じ機器に実装される。バイトコードを修正することについての詳しい情報は、SystemforModifyingObjectOrientedCodeと題する米国特許第6260187号に記載されている。その特許は、本技術の所有者に譲渡されている。その特許は、参照によりその内容の全てが本明細書に組み込まれる。トランザクションモニタリングシステムは、さらに、管理対象のアプリケーションの方法が完了したときに、その方法が追跡メカニズムを開始あるいは終了するという、新しいコードを追跡メカニズムを起動する管理対象アプリケーションに付加することによって、バイトコードを計測する。図10は、また、エンタープライズマネージャ220、データベース222、ワークステーション224、及び、ワークステーション226を示している。管理対象のアプリケーションが動作すると、プローブ即ち202、及び/又は204がデータをエージェント208へ中継する。エージェント208は、データを収集し要約し、それをエンタープライズマネージャ220へ送信する。エンタープライズマネージャ220は、エージェント208を介して管理対象アプリケーションからパフォーマンスデータを受信し、要求された計算を実行し、パフォーマンスデータをワークステーション例えば、224、226で使えるようにする。オプションではあるが、さらに後の分析に備えてパフォーマンスデータをデータベース222に送る。ワークステーション例えば224、226は、パフォーマンスデータを見るためのグラフィカルユーザインタフェイスである。ワークステーションは、人のオペレータがモニタできるようにパフォーマンスデータを見るための特別な画面を作成するのに使われる。一実施形態では、ワークステーションは、2個の主画面、即ちコンソールとエクスプローラを表示する。コンソールは、カスタマイズ可能な1組の画面にパフォーマンスデータを表示する。エクスプローラは、パフォーマンスデータを有意義に見ることができるようにパフォーマンスデータをフィルタする計算器と警報器を表示する。パフォーマンスデータを組織化し、操作し、フィルタリングし、表示するワークステーションの要素には、動作、計測、計算、計器類、継続的な収集、測量的分類、比較、スマートトリガ、及び、SNMP収集が含まれる。図10に示されているコンポーネント200、220、222、224、及び、226は、それぞれ、分離されたコンピューティングシステム上で動作し、あるいは、2個以上のコンポーネントが一つのコンピューティングシステム内で組み合わされてもよい。これらのコンポーネントのいくつか、あるいは、全てに対するコンピューティングシステムは、様々な異なるタイプのコンピュータデバイスであってよく、それらは、パーソナルコンピュータ、ミニコンピュータ、メインフレーム、サーバー、携帯デバイス、モバイルデバイスなどを含む。コンポーネント200、22、222、224、及び、226のいずれかを記述する例示的なコンピューティング環境300を、図11に示し、以下、説明する。この創造的なシステムは、数々の他の汎用或いは専用コンピュータシステム、環境、あるいは形態とともに動作する。この創造的なシステムとともに用いられるのに適したコンピューティングシステム、環境、及び/又は形態の良く知られた例には、パーソナルコンピュータ、サーバコンピュータ、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブルコンシューマエレクトロニクス、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、ラップトップ及びパームトップコンピュータ、ハンドヘルドデバイス、それらのシステムやデバイスのいくつかを含む分散コンピューティング環境、等々が含まれるが、それらに限定されるものでもない。図11に参照される創造的なシステムを実装するための例示的なシステムは、コンピュータ310の形式として、汎用コンピューティングデバイスを含む。コンピュータ310のコンポーネントには、プロセッシングユニット320、システムメモリ330、及び、システムメモリを含む様々なシステムコンポーネントをプロセッシングユニット320に接続するシステムバス321を含むが、それらに限られるものではない。システムバス321には、様々なバスアーキテクチャを採用したローカルバス、周辺バス、メモリコントローラ、メモリバスを含む、様々なタイプのバス構造を採用し得る。例として、そのようなアーキテクチャには、工業規格アーキテクチャISAバス、マイクロチャネルアーキテクチャMCAバス、エンハンスドISAEISAバス、ビデオエレクトロニクススタンダードアソシエーションVESAローカルバス、及び、メザニンバスとして知られているペリフェラルコンポーネントインターコネクトPCIバス、を含むが、それらに限定されるものではない。コンピュータ310は、様々なコンピュータ読取可能な媒体を含む。コンピュータ読取可能媒体は、コンピュータ310がアクセス可能ないかなる有用な媒体であってもよく、揮発性あるいは不揮発性媒体、着脱可能あるいは着脱不可媒体のいずれであってもよい。例として、コンピュータ読取可能媒体は、コンピュータストレージ媒体や通信媒体を備えるものであってもよいが、それらに限定されるものではない。コンピュータストレージ媒体は、揮発性あるいは不揮発性、着脱可能あるいは着脱不可の媒体のいずれであってもよく、それらは、コンピュータ読取可能な命令、データ構造、プログラムモジュール、あるいは他のデータなどの情報記憶に関する如何なる方法あるいは技術によって実装されてもよい。コンピュータストレージ媒体には、ランダムアクセスメモリRAM、リードオンリイメモリROM、EEPROM、フラッシュメモリ、他のメモリテクノロジ、CD-ROM、デシタル多用途ディスクDVD、あるいは他の光学ディスク媒体、磁気カセット、磁気テープ、磁気ディスク装置、あるいは他の磁気記憶デバイス、あるいは、情報を記憶することができ、コンピュータ310からアクセス可能な他の媒体が含まれるがそれらに限定されるものではない。通信媒体には、典型的には、コンピュータ読取可能な命令、データ構造体、プログラムモジュールや、キャリアウエーブや他の転送機構による変調データ信号による他のデータがあり、さらにはいかなる情報配信媒体も含む。変調データ信号は、情報を信号に符号化する方式であり、1以上の特性の組あるいは変化を含む信号を意味する。例として、通信媒体には、有線ネットワークや直接ワイヤ接続などの有線媒体、音波、RF、赤外線などの無線媒体、あるいは他の無線媒体が含まれるがそれらに限定されるものではない。上記した媒体のいかなる組み合わせも、コンピュータ読取可能媒体の範囲に含まれる。システムメモリ330は、ROM331やRAM332のような揮発性や不揮発性のメモリの形態のコンピュータ記憶媒体を含む。スタートアップの際などにコンピュータ310内の要素間での情報の転送を補助する基本的なルーチンを含むベーシック入力/出力システムBIOS333は、典型的にはROM331に記憶されている。RAM332は、典型的には、プロセッシングユニット320上で実行される、及び/又は、直ちにアクセスし得るデータ及び/又はプログラムモジュールを含む。例として、図11には、オペレーティングシステム334、アプリケーションプログラム335、他のプログラムモジュール336、及び、プログラムデータ337が示されているが、それらに限られるものではない。コンピュータ310は、また、他の着脱式/着脱不可の、揮発性/不揮発性のコンピュータ記憶媒体を含む。例として、図11には、着脱不可の不揮発性磁気媒体にデータを書き込むあるいはデータを読み出すハードディスクドライブ341、着脱式の不揮発性磁気ディスク352にデータを書き込むあるいはデータを読み出す磁気ディスクドライブ351が示されている。コンピュータ310は、光学媒体にデータを書き込む/データを読み出す光学媒体読取りデバイス355を含むこともある。この例示的なコンピュータ環境において用いられる他の着脱式/着脱不可、揮発性/不揮発性のコンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、DVD、デシタルビデオテープ、ソリッドステートRAM、ソリッドステートROM、等々が含まれ得るが、それらに限られるものではない。ハードディスク341は、典型的には、インタフェイス340などの着脱不可のメモリインタフェイスを介してシステムバス321に接続されており、磁気ディスクドライブ351と光学媒体読み取りデバイス355は、典型的には、インタフェイス350などの着脱式メモリインタフェイスによってシステムバス321に接続されている。図11に示されており上記で説明したドライブとそれに関連するコンピュータ記憶媒体は、コンピュータ310のためのコンピュータ読取り可能な命令、データ構造体、プログラムモジュール、及び、他のデータの格納場所を提供する。例えば、図11において、ハードディスク341は、オペレーティングシステム344、アプリケーションプログラム345、他のプログラムモジュール346、及び、プログラムデータ347を記憶するものとして描かれている。それらのコンポーネントは、オペレーティングシステム334、アプリケーションプログラム335、他のプログラムモジュール336、及び、プログラムデータ337と異なっていてもよいし同じであってもよい。オペレーティングシステム344、アプリケーションプログラム345、他のプログラムモジュール346、及び、プログラムデータ347には、図に描かれるのに異なる番号が与えられており、それらは少なくとも異なるコピーである。ユーザは、キーボード362、通常マウスと呼ばれるポインティングデバイス361、トラックボールやタッチパッドなどの入力デバイスを介して命令や情報をコンピュータ310に入力する。他の入力デバイス不図示として、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどがある。それらの、あるいは他の入力デバイスは、システムバス321に接続しているユーザ入力インタフェイス360を介してプロセッシングユニット320に接続されているが、パラレルポート、ゲームポート、あるいは、ユニバーサルシリアルバスUSBなどの他のインタフェイスやバス構造を介して接続されるものであってもよい。モニタ391や他のタイプのディスプレイデバイスもまた、ビデオインタフェイス390などのインタフェイスを介してシステムバス321に接続されている。モニタに加えてコンピュータは、スピーカ397やプリンタ396などの他の周辺出力デバイスを含んでおり、それらは、出力周辺インタフェイス395を介して接続されている。コンピュータ310は、リモートコンピュータ380のような、1つあるいはそれ以上のリモートコンピュータとの論理的な接続を使ったネットワーク環境にて動作するものであってもよい。リモートコンピュータ380は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、あるいは、他の一般的なネットワークノードであってよく、典型的には、図11ではメモリ記憶デバイス381しか描かれていないが、コンピュータ310のように上記説明した要素の多くあるいは全てを含んでいてよい。図11に示した論理的な接続には、ローカルエリアネットワークLAN371と広域ネットワークWAN373が含まれるが、他のネットワークを含んでもよい。そのようなネットワーク環境には、オフィスにて一般的である、エンタープライズワイドコンピュータネットワーク、イントラネット、及び、インターネットがある。LANネットワーク環境を使う場合は、コンピュータ310は、ネットワークインタフェイスあるいはアダプタ370を介してLAN371に接続される。WANネットワーク環境を使う場合は、コンピュータ310は、典型的には、モデム372や、インターネットのようなWAN373との通信を確立するための他の手段を有する。内線あるいは外線のモデム372は、ユーザ入力インタフェイス360や他の適切なメカニズムを介してシステムバス321に接続される。ネットワーク環境においては、コンピュータ310に描かれているプログラムモジュール、あるいはその一部は、リモート記憶デバイスに記憶されていてもよい。例として、図11には、メモリデバイス381に格納されているリモートアプリケーションプログラム385が描かれているが、これに限定されるものではない。図に示しているネットワーク接続は一例であって、コンピュータ間の通信リンクを確立する他の手段を用いてもよい。いくつかの実施形態では、トランザクションマネジメントシステムの一部あるいは全ては、ソフトウエアとして実装されてよい。そのソフトウエアは、1つあるいは複数のプロセッサ読取り可能な記憶デバイスに格納され、1つあるいは複数のプロセッサをプログラムするのに用いられる。図10に戻り、エンタープライズマネージャ220は、さらに、エンコードエンジン230とデコードエンジン232を有するCODECを備える。エンコードエンジン230とデコードエンジン232は、エンタープライズマネージャ220と送受信されるデータ、あるいは、エンタープライズマネージャに記憶されているデータに対して上記した高次圧縮技法を実行する。エンジン230と232を含むCODECは、管理対象のアプリケーション200、ワークステーション224、226、及び/又は、データベース222を搭載する1つあるいは複数のコンピュータシステムに代替的にあるいは付加的に備えられていてもよく、その場合、それらのコンピュータシステムに記憶されるデータあるいは送受信されるデータを符号化する。一般に、エンコードエンジン232は、コンポーネント200、220、222、224、及び、226のいずれかに備えられた記憶媒体から整数値を受け取り、その値をエンコードし、エンコードした値を、コンポーネント200、220、222、224、及び、226の1つあるいは複数の記憶媒体に記憶する。一実施形態では、エンコードエンジン232は、エンコードされた値を出力し、それらの値を格納するために新たなファイル及び/又はデータ構造体が作成される。同様に、デコードエンジンは、コンポーネント200、220、222、224、及び、226のいずれかに備えられた記憶媒体からエンコードされた値を受け取り、それらの値をデコードし、コンポーネント200、220、222、224、及び、226の1つあるいは複数に、デコードした値を出力する表示することを含む。一実施形態では、デコードエンジン232は、整数値を出力し、それらの値を記憶媒体に格納する、及び/又は出力するために新たなファイル及び/又はデータ構造体が作成される。一実施形態では、図11のシステムのユーザは、閾値追跡時間を指定することによって、エンタプライズマネージャに管理されているエージェントの全てあるいは幾つかについてトランザクション追跡を起動することができる。エージェント内のトランザクションでありその実行時間がその閾値レベルを超えてしまった全てのトランザクションは、追跡され、エンタープライズマネージャ220に報告される。エンタープライズマネージャ220は、追跡情報の要求を登録した適切なワークステーションにその情報を配信する。ワークステーションは、閾値を超えた全てのトランザクションをリストアップするGUIを備えている。リストアップされたトランザクションの夫々に対して、追跡されたトランザクションにおいてどこで時間が費やされているかをユーザが直ちに理解できるように可視化が行われる。以上、以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、本発明の範囲を限定するものではない。上記した技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記した実施形態は、本発明の原理をベストに説明するために選定されたものであり、その実用に際しては、本発明が最適にその有用性を発揮するように、その特定用途に適するように当業者が様々に変形し得る。本発明の範囲は、以下に記載した特許請求の範囲によって定義される。"