JP2006155663A - 最大ビットスライスを用いてビットストリングにブール演算を施すための方法とシステム - Google Patents
最大ビットスライスを用いてビットストリングにブール演算を施すための方法とシステム Download PDFInfo
- Publication number
- JP2006155663A JP2006155663A JP2006055239A JP2006055239A JP2006155663A JP 2006155663 A JP2006155663 A JP 2006155663A JP 2006055239 A JP2006055239 A JP 2006055239A JP 2006055239 A JP2006055239 A JP 2006055239A JP 2006155663 A JP2006155663 A JP 2006155663A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- input
- slice
- bit slice
- slices
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Apparatus For Radiation Diagnosis (AREA)
Abstract
【解決手段】各ビットストリングは入力ビットスライスに分割される。結果のビットストリングは結果のビットスライスに分割される。作用は、第1のビットストリームからの第1の入力ビットスライスと第2のビットストリングからの第2の入力ビットスライスとに基づく。第1および第2の入力ビットスライスからより長いビット長の入力ビットスライスが選択される。より長い入力ビットスライスと、より短かいビット長の入力ビットスライスを有するビットストリングの複数の入力ビットスライスとがより長いビット長に等しい少なくとも一方のビットストリングのビット数まで作用に従って処理されて少なくとも1つの結果のビットスライスを形成する。
【選択図】図5
Description
図6,7および8を参照すると、本発明の一実施例はビットストリングA40及びB46の対にブール演算を施してビットストリングC52を生成する。ビットストリングAおよびBの双方は一連の入力ビットスライス41a,47a−jで表わされ、それらはこの例ではランとして処理される(ランおよびインパルスは後にさらに説明される)。ビットストリングA40とB46の対はブール演算に従って処理される。すなわち、ビットストリングA40とB46の対の各々からより長い長さ44を有するビットスライス41aが選択され、この入力ビットスライス41aはより長い長さ41aに等しいビット数について他のビットストリング46の1つ以上のビットスライス47a−jに対して処理され、その結果として少なくとも1つのビットスライス53a−jの連なりが生成される。記述された具体例において、結果としてのビットスライス53aが出力インパルスを生成するときはいつでも好ましくはそれはさらに処理されて符号化された格納効率の良い形式になる。
II.用語
“ビットストリング”とは2進ビットの列をいう。
本発明に係り1対のビットストリングにブール演算を施すプログラム可能コンピュータとコンピュータプログラムを有するコンピュータシステムが図1に示される。このコンピュータシステムは、プログラム可能なマイクロプロセッサ2、ディスプレイ3、マイクロプロセッサ2のためのキーボード入力装置11およびビットストリングの格納またはバッファリングのための外部記憶装置12を含んでいる。変換のためのハードウェア、ソフトウェアまたはファームウェア及びブール演算のためのハードウェア、ソフトウェアまたはファームウェアはマイクロプロセッサ2に組み込まれたコンピュータプラットフォーム10(破線で示される)に収容されている。コンピュータプラットフォーム10はGlaser et al. の米国特許第 5,306,457号に示されたように、ビットストリングに対してブール演算を施すことに関連する種々の実体を調整する。
より特定的に、図2を参照すると、コンピュータプラットフォーム10はエンコーダ/デコーダ14、バス15と27でオプションとしてのバッファメモリ18に相互接続されたオプションとしての2次メモリ16(これはコンピュータプラットフォーム10の外に置くこともできる)、ブール論理ユニット(BLU)20、標準の処理ユニット25およびシステム調整器26を含んでいる。ビットストリングを符号化/復号化し、ブール演算を行ない、コンポーネント間のデータ転送を調整するソフトウェアプログラム(後にさらに説明する)がコンピュータプラットフォーム10にロードされると、コンピュータプラットフォーム10が形成され処理の準備が整う。
IV.ビットストリングの形式
図3および図4を参照すると、圧縮されていないビットストリングと圧縮されたビットストリングとが2進ビット値33,36及び2値波形33′,36′として図解的に示されている。2進ビット値がこの明細書を通して言及されているが2値波形にも交換可能に適用できる。
ビットスライスの2つのタイプは、ラン34とインパルス35である。これらは前述したようにいずれも生のビットストリングである。
ラン34またはインパルス35のような各ビットスライスはスライスを圧縮形式で記述する属性5,6,7で表わすことができる。ビットスライスを伸長することなく属性5,6,7を使ってブール演算を達成することができる。記述された具体例において、入力属性は:特徴形式rS5;ジェンダgS6;及び長さlS7を含んでいる。特徴形式rS5 の“0”または“1”はスライスがそれぞれインパルス35またはラン34であることを示している。ジェンダgS6の“0”または“1”は終了ビットの前に続く1つ以上のビットのジェンダを示す。長さlS7はスライス内のビット数を示している。図3の例は、インパルスすなわちrS=0で、ジェンダが“1”の連続ビットすなわちgS=1で、長さが14ビットすなわちlS=14であることを示している。
rB=(lA>lB)|rB (2)
ここでlAおよびlBは前に定義された長さである。式(1)及び(2)は“0”または“1”を返しそれらはスライスAおよびBがそれぞれインパルス35またはラン34として処理され戻り値を特徴形式rA42またはrB48として格納することを示す。等値性、すなわち、長さ44,50が等しいことは、ブール条件−rA & −rBで表わされそれは双方のビットスライスが同じ長さのインパルスであることを示している。
図5を参照すると、生のビットストリング、符号化ビットストリング及び圧縮インパルスの関係を示す流れ図が示されている。生のビットストリング(ブロック120)はビットストリング変換手段121好ましくはプロセッサ2によって圧縮インパルス(ブロック122)に変換される。符号化ビットストリング(ブロック123)は復号手段124 、好ましくはエンコーダ/デコーダ14によって圧縮インパルス(ブロック122)に復号される。
V.ビットストリング処理
図6,7,8,9および10を参照すると、1対のビットストリングA40とB46が主プログラムループの各サイクルの中で最長(最大)カレントビットスライス41aの長さを使って反復的に処理されて結果のビットストリング52,58,64を形成する。上記の様に、1対のビットストリングA40とB46と各結果のビットストリング52,58,64が2進ビット値40,46,52,58,64および2値波形40′,46′,52′,58′,64′として示されている。2進ビット値がこの明細書を通して言及されるが、同じ記述が互換的に2値波形にも適用される。
ここでlAとlBは入力ビットストリングA40とB46の各々についての長さ41a,47aのような入力ビットスライスの長さであり、lCは結果のビットストリング52,58,64についての結果のビットスライス47a,53a,65aの長さであり、MAX( )は最大ビットスライス長を戻す関数であり、takeは入力スライス41a,47aの長さが等しくないとき1値(“1”)であり、それ以外ではゼロ値(“0”)である。各サイクルの中で非常に多数のゼットを処理できるので、最小長インパルス技術よりも著しいスピードアップが達成される。
入力パラメータを決定するためには次の3項目の情報を知り確認しなければならない:図11,12,13,14,15,16,17,18および19に表わされる所望のブール演算;ビットストリングA40における各入力ビットスライス41aについての入力属性42,43,44;およびビットストリングB46における各入力ビットスライス47aについての入力属性48,49,50。
特に記述されないが、さらなるブール演算または派生物が表1に示すように達成できる。さらに、3つ以上の入力に対するブール演算が想定できる。さらに、例えば、ブール演算子はNAND(AND の補数)、 NOR(ORの補数)、XNOR(XOR の補数)、XAND(排他的AND)および XNAND(排他的AND の補数)を含んでいる。派生物は加法性、可換性および分配性またはド・モルガンの定理のような通常のブール代数の性質や定理を適用することによって形成される等価的または組み合わせ的ブール演算子を含む。上記のリストは完全なものではなく本発明の範囲内でさらに他のブール演算が可能である。
以下の記述において、それぞれの作用または出力関数はブール演算AND, OR およびXOR の各形式に1つのカルノー図で表わされる。各カルノー図は行と列からなる表である。例えば図11を参照すると、各行はビットストリングA40の各ビットスライス41aの入力属性42,43からの特徴形式rA70およびgA71でインデックスされる。各列はビットストリングB46の各ビットスライス47a−jの入力属性48,49からの特徴形式rB73とジェンダgB74によってインデックスされる。ビットストリングA40からの特徴形式とジェンダのペアrA,gAとビットストリングB46についての特徴形式とジェンダのペアrB, gBが特定されることによってカルノー図の行72の1つと列75の1つが特定される。各関数の出力は特定された行および列の交点の2進値によって示される。
ブール関数AND, OR およびXOR の演算について達成されるべき作用の形式を示すカルノー図はそれぞれ図11,12および13に示される。作用はコピー作用またはスキャン作用のいずれかである。各サイクルの間、入力ビットストリングA40とB46の各々に対するビットスライス41a,47aのような2つの入力ビットスライスから最大すなわち最長の入力ビットスライスが選択される。
ブール関数AND, OR およびXOR の演算に対する結果のビットスライス53a−j,59a−j,65a−jの特徴形式rC54,60,66を示すカルノー図が図14,図15および図16にそれぞれ示されている。特徴形式はランまたはインパルスのいずれかである。したがって、結果のビットスライスにランまたはインパルスのいずれが出力されるかの状況がカルノー図85,86,87にランに対する1値(“1”)およびインパルスに対するゼロ値(“0”)としてテーブル化されている。
ブール関数AND, OR およびXOR の演算に対する結果のビットスライス53a−j,59a−j,65a−jのジェンダgC55,61,67を示すカルノー図がそれぞれ図17,18および19に示されている。従って、適切なジェンダはカルノー図90,91,92に1値(“1”)およびゼロ値(“0”)としてそれぞれテーブル化されている。
ブール関数AND, OR およびXOR の演算に対して“take”ビットが必要かどうか示すカルノー図がそれぞれ図20,21および22に示されている。takeビットは以前に記述した式(3)に従いより長いビット長44から差し引かれる単一ビット値である。takeビットはビットストリングA40とB46の対の各々からの入力ビットスライス41a,47aの長さlA44とlB50の関数である。長さが等しくなければtakeビットは1に設定され、それ以外では“0”に設定される。したがってtakeビットが必要であるか(否か)の状況はカルノー図95,96,97に1値(“1”)およびゼロ値(“0”)としてそれぞれテーブル化されている。
ブール関数XOR の演算について“フリップ”作用が行なわれなければならないかを示すカルノー図が図23に示されている。フリップビットとして表わされるフリップ作用とはカレントビットスライス47a−jから出力されるかまたは決定される各ビットのジェンダを“フリッピング”することにより結果のビットスライス65a−iのジェンダが反転されなければならないかを意味する。したがって、フリップ作用が行なわれるか(否か)の状況はカルノー図102 に1値(“1”)およびゼロ値(“0”)としてそれぞれ(フリップビットとして)テーブル化されている。ブール関数AND とORの演算に対するカルノー図はない。というのは、それらのブール演算に対して結果のビットスライス53a−i,59a−iは決して反転されないからカルノー図はすべてゼロ値であるからである。
図11,12,13,14,15,16,17,18,19,20,21,22および23の5つの関数に対するカルノー図が組み合わせられて図24に出力関数のルックアップテーブルとして示されている。入力ビットスライスの特徴形式とジェンダおよびブール関数AND, OR およびXOR の演算の各々に対応する関数からの出力にそれぞれ相当する4組の列がある。特に、第1列はビットストリングA40の各ビットスライス41aについての入力属性42,43からの特徴形式rA70とジェンダgA、およびビットストリングB46の各ビットスライス47a−jについての入力属性48,49に対する特徴形式rB70とジェンダgB74によってインデックスされる。ブール関数AND, OR およびXOR の演算に対する列は作用a80,81,82、特徴形式rC85,86,87、ジェンダgC90,91,92、takeビットt95,96,97およびフリップビットf100, 101, 102 に相当する出力を含んでいる。ビットストリングA40からの特徴形式rAとジェンダgAのペア及びビットストリングB46についての特徴形式rBとジェンダgBのペアが特定されてルックアップテーブルの行106 が選択される。各関数105 の出力は行106 と選択されたブール演算に対する出力関数に相当する列との交点にある。
VI.実施例
図26および27を参照すると、理解を容易にするため、図24の出力関数ルックアップテーブルを図解的に表わすテーブルが示されている。それは、ビットストリングA40からの特徴形式rAとジェンダgAのペアおよびビットストリングB46についての特徴形式rBとジェンダgBのペアを使ってルックアップテーブルと同じ形でインデックスされている。作用、結果のビットスライスの特徴形式rCとジェンダgC、takeビットおよびフリップビットはブール関数AND, OR およびXOR でそれぞれまとめられた列110, 111および112 にテキスト形式115 で記述されている。さらに、入力ビットスライス41a,47aの各々に対するそれぞれの入力属性42,43,44,48,49,50、そして特に、特徴形式rA42とrB48、ジェンダgA43とgB49及び長さlA44とlB50が列113 に図解的に描かれている。図24のルックアップテーブルと同様に、出力関数の各々の出力115 が、入力属性に相当する行と選択されたブール演算に相当する列110, 111, 112 の交点に記述されている。
所望のブール演算がAND110であるとする。入力ビットストリングA40とB46の対は図6および7に示されている。結果のビットストリングC52は図8に示されている。第1のビットスライス41aがビットストリングA40から選択され第2のビットスライス47aがビットストリングB46から選択される。第1のビットスライス41aは式(1)から計算された“1”に等しい特徴形式rA42(第1のビットスライス41aはより短かいビットスライスの長さまでは“ラン”であることを示す)、“1”のジェンダgA43(第1のビットスライス41aは極性が“1”のランを含んでいることを示す)および34ビットの長さlA44を含む入力属性を有している。より短かいビットスライス47aの長さまでの第2のビットスライスは“0”の特徴形式rB48(第2のビットスライス47aはより短かいビットスライスの長さまではインパルスであることを示す)、“0”のジェンダgB(第2のビットスライス47aは極性が“0”のランを含んでいることを示す)および6ビットの長さlB50を含む入力属性を有している。
所望のブール演算がOR 111であるとする。入力ビットストリングA40とB46の対は図6および7に示されている。結果のビットストリングC58は図9に示されている。第1のビットスライス41aがビットストリングA40から選択され第2のビットスライス47aがビットストリングB46から選択される。第1のビットスライス41aは式(1)から計算された“1”に等しい特徴形式rA42(第1のビットスライス41aはより短かいビットスライスの長さまでは“ラン”であることを示す)、“1”のジェンダgA43(第1のビットスライス41aは極性が“1”のランを含んでいることを示す)および34ビットの長さlA44を含む入力属性を有している。より短かいビットスライス47aの長さまでの第2のビットスライスは“0”の特徴形式rB48(第2のビットスライス47aはより短かいビットスライスの長さまではインパルスであることを示す)、“0”のジェンダgB(第2のビットスライス47aは極性が“0”のランを含んでいることを示す)および6ビットの長さlB50を含む入力属性を有している。
所望のブール演算がXOR 112 であるとする。入力ビットストリングA40とB46の対は図6および7に示されている。結果のビットストリングC64は図10に示されている。第1のビットスライス41aがビットストリングA40から選択され第2のビットスライス47aがビットストリングB46から選択される。第1のビットスライス41aは式(1)から計算された“1”に等しい特徴形式rA42(第1のビットスライス41aはより短かいビットスライスの長さまでは“ラン”であることを示す)、“1”のジェンダgA43(第1のビットスライス41aは極性が“1”のランを含んでいることを示す)および34ビットの長さlA44を含む入力属性を有している。より短かいビットスライス47aの長さまでの第2のビットスライスは“0”の特徴形式rB48(第2のビットスライス47aはより短かいビットスライスの長さまではインパルスであることを示す)、“0”のジェンダgB(第2のビットスライス47aは極性が“0”のランを含んでいることを示す)および6ビットの長さlB50を含む入力属性を有している。
VII .コンピュータプログラム構造
図1のシステムにおいて使用するためのコンピュータプログラムの構造と、本発明に係りブール演算を達成するためのコンピュータプログラムによって創出されるプロセスが図28−30の流れ図に図解的に示される。
結果のビットストリングCを形成するために、ビットストリングAおよびBの対についてブール演算110, 111, 112 を施すためのプロセスが図28に示される。その目的は、各サイクルの中で長さlCの最大ビットスライスに等しいビット数までビットストリングAおよびBの対からのビットスライスをブール演算に従って反復的に処理することにある。
上記のプロセスに基づくコピー作用(ブロック162)を達成する手続が図29に示されている。その目的は結果のビットストリングC52,58,64に対する結果のビットスライス53a,59a,65aの長さlC56,62,68に等しい数のビットをビットストリングB46からスライスごとにコピーすることである。初めに、結果のビットスライス53a,59a,65aのジェンダgC55,61,67、特徴形式rC54,60,66および長さlC56,62,68がそれぞれプログラム変数g,rおよびlenに格納される(ブロック180)。
上記のプロセスに基づくスキャン(ブロック163)を達成する手続が図30に示される。その目的は、長さlCに等しいビット数までビットストリングBの1つ以上の入力ビットスライス47a−jをスキャンすることにある。特徴形式rC60、ジェンダgC61および長さlC62を含む現在の結果のビットスライス59aが標準プロセッサ25へ出力される。
Claims (25)
- 関係データベース管理システムを動かすためのコンピュータを使用してビットストリングにブール演算を施して結果のビットストリングを形成するためのステップを具備する方法であって、ビットストリングは関係データベース管理システムにおける組織化されたデータを表わし、結果のビットストリングはユーザによるクエリーの条件を満足する関係データベース管理システムにおけるレコードを表わし、各ビットストリングは入力ビットスライスに分割され、結果のビットストリングは結果のビットスライスに分割され、コンピュータを使用するステップはさらに、関係データベース管理システムにおける組織化されたデータを表わす第1のビットストリングからの第1の入力ビットスライスと関係データベース管理システムにおける組織化されたデータを表わす第2のビットストリングからの第2の入力ビットスライスとに基づきブール演算による作用を決定し、
第1の入力ビットスライスと第2の入力ビットスライスとの中からより長いビット長の入力ビットスライスを選択し、
より長いビット長を有するビットストリングのビット数まで、より長い入力ビットスライスと、より短かいビット長の入力ビットスライスを有するビットストリングの複数の入力ビットスライスとを、決定された作用に従って処理してユーザのクエリーの条件を満足する結果のビットストリングについて少なくとも1つの結果のビットスライスを形成する各ステップを具備する方法。 - 各入力ビットスライスは属性で表わされ、前記決定するステップは、第1の入力ビットスライスを表わす属性と第2の入力ビットスライスとに基づいて作用を特定し、前記処理するステップは、決定された作用に従って属性を処理する請求項1記載の方法。
- 第1の圧縮ビットスライスから第1の入力ビットスライスの入力属性を決定し第2の圧縮ビットスライスから第2の入力ビットスライスの入力属性を決定するステップをさらに具備し、前記決定するステップは第1の入力ビットスライスの入力属性を第2の入力ビットスライスの入力属性と比較するステップを具備する請求項2記載の方法。
- 各圧縮ビットスライスは、圧縮ビットスライスが表わす各入力ビットスライスの特徴形式を示すための特徴形式インジケータを具備し、第1の圧縮入力ビットスライスの特徴形式インジケータを第1の入力ビットスライスの入力属性に結合し、第2の圧縮入力ビットスライスの特徴インジケータを第2の入力ビットスライスの入力属性に結合する段階をさらに具備する請求項2記載の方法。
- 各圧縮ビットスライスは圧縮ビットスライスが表わす各入力ビットスライスの2進値を示すジェンダインジケータを具備し、第1の圧縮入力ビットスライスのジェンダインジケータを第1の入力ビットスライスの入力属性に結合し、第2の圧縮入力ビットスライスのジェンダインジケータを第2の入力ビットスライスの入力属性に結合するステップをさらに具備する請求項2記載の方法。
- 各圧縮ビットスライスは圧縮ビットスライスが表わす各入力ビットスライスの長さを示す長さインジケータを具備し、第1の圧縮入力ビットスライスの長さインジケータを第1の入力ビットスライスの入力属性に結合し、第2の圧縮入力ビットスライスの長さインジケータを第2の入力ビットスライスの入力属性に結合するステップをさらに具備する請求項2記載の方法。
- 第1の入力ビットスライスと第2の入力ビットスライスの双方の入力属性はそれぞれが特徴形式を具備し、作用を決定するために第1の入力ビットスライスの特徴形式を第2の入力ビットスライスの特徴形式と比較するステップをさらに具備する請求項2記載の方法。
- 各入力ビットスライスの入力属性はそれぞれの入力ビットスライスのビットの2進値を示すジェンダを具備し、作用の決定のために第1の入力ビットスライスのジェンダを第2の入力ビットスライスのジェンダと比較するステップをさらに具備する請求項2記載の方法。
- 各入力ビットスライスの入力属性はビット長を具備し、作用の決定のために第1の入力ビットスライスビット長を第2の入力ビットスライスのビット長と比較するステップをさらに具備する請求項2記載の方法。
- 入力ビットスライスの少なくとも一方はインパルスを具備し、インパルスは同じ2進値の少なくとも1つの連続する2進ビットとそれに続き少なくとも1つの連続2進ビットの一方の終わりに反対の2進値の2進ビットを具備し、前記処理するステップはインパルスを処理するステップを具備する請求項1記載の方法。
- 前記決定するステップは結果のビットストリングを表わす各結果のビットスライスの少なくとも1つの結果の属性を特定する請求項1記載の方法。
- 各結果のビットスライスの結果の属性は結果のビットスライスの複数の特徴形式の1つを示す特徴形式を具備し、前記処理するステップは特徴形式を決定するステップを具備する請求項11記載の方法。
- 各結果のビットスライスの結果の属性は結果のビットスライスの複数のジェンダの1つを示すジェンダを具備し、前記処理するステップはジェンダを決定するステップを具備する請求項11記載の方法。
- 各結果のビットスライスの結果の属性は結果のビットスライスのビット数を示すビット長を具備し、前記処理するステップはビット長を決定するステップを具備する請求項11記載の方法。
- 前記処理するステップは、より短かいビット長の入力ビットスライスを有するビットストリングの複数の入力ビットスライスへのコピー作用を達成するステップを具備する請求項1記載の方法。
- 前記処理するステップはより長い入力ビットスライスへのスキャン作用を達成するステップを具備する請求項1記載の方法。
- 第1のビットストリングからの第1の入力ビットスライスと第2のビットストリングからの第2の入力ビットスライスとに基づきフリップ関数が必要であるかを決定し、
フリップ関数が必要とされるとき、処理するステップの中で第1の入力ビットスライスまたは第2の入力ビットスライスへフリップ関数を施すステップをさらに具備する請求項1記載の方法。 - 第1のビットストリングからの第1の入力ビットスライスと第2のビットストリングからの第2の入力ビットスライスとに基づいてtake関数が必要であるかを決定し、
take関数が必要であるとき、処理するステップの中で結果のビットスライスと第1の入力ビットスライスまたは第2の入力ビットスライスとにtake関数を施すステップをさらに具備する請求項1記載の方法。 - 複数のビットストリングを格納するメモリであってその各々は関係データベース管理システムにおける組織化されたデータを表わし各々が入力ビットスライスに分割されるものを具備する関係データベース管理システムと、
ビットストリングの1つにブール演算を施して結果のビットストリングを形成する手段であって、該結果のビットストリングはユーザのクエリーの条件を満足する関係データベース管理システムにおけるレコードを表わし、結果のビットストリングは結果のビットスライスに分割されるものと、
関係データベース管理システムにおける組織化されたデータを表わす第1のビットストリングからの第1の入力ビットスライスと関係データベース管理システムにおける組織化されたデータを表わす第2のビットストリングからの第2の入力ビットスライスとに基づきブール演算による作用を決定する手段と、
第1の入力ビットスライスと第2の入力ビットスライスとの中からより長いビット長の入力ビットスライスを選択する手段と、
より長いビット長を有するビットストリングのビット数まで、より長い入力ビットスライスと、より短かいビット長の入力ビットスライスを有するビットストリングの複数の入力ビットスライスとを、決定された作用に従って処理してユーザのクエリーの条件を満足する結果のビットストリングについて少なくとも1つの結果のビットスライスを形成する手段とを具備するシステム。 - 関係データベース管理システムを動かすためのコンピュータを使用して各々が2進ビットスライスの連なりで表わされる1対の2進ビットストリングへブール演算を効率的に施すための方法であって、2進ビットストリングは関係データベース管理システムにおける組織化されたデータを表わしブール演算はユーザのクエリーに基づく関数を表わし、
ブール演算に従って1対の2進ビットストリングを処理して、結果のビットスライスの連なりによって表わされ、ユーザのクエリーの条件を満足する関係データベース管理システムにおけるレコードを表わす結果の2進ビットストリングを形成するステップを具備し、該ステップは、
ビットスライスの連なりの各々からの1対の2進ビットスライスの中からより長いビット長の2進ビットスライスを選択し、
より長いビット長を有する2進ビットストリングのビット数まで、ブール演算を施してユーザのクエリーの条件を満足する結果のビットストリングについて少なくとも1つの結果のビットスライスを形成するステップを具備する方法。 - 結果のビットスライスの連なりの各々はさらに特徴形式を具備し、前記施すステップは、
1対の2進ビットスライスを比較して結果のビットスライスの連なりの各々によって表わされるビットスライスの形式を決定し、
ビットスライスの形式を結果のビットスライスの連なりの各々の特徴形式に割り当てることをさらに具備する請求項20記載の方法。 - ビットスライスの形式はランまたはインパルスのいずれかを表わし、前記割り当てるステップはランインジケータまたはインパルスインジケータを特徴形式にそれぞれ割り当てることをさらに具備する請求項21記載の方法。
- 結果のビットスライスの連なりの各々はジェンダをさらに具備し、前記施すステップは
1対の2進ビットスライスを調べて結果のビットスライスの連なりの各々によって表わされる2進値を決定し、
結果のビットスライスの連なりの各々のジェンダに前記2進値を割り当てることをさらに具備する請求項20記載の方法。 - 1対の2進ビットスライスの各々はさらに反転インジケータを具備し、前記調べるステップは反転インジケータを調べることをさらに具備し、前記割り当てるステップは反転またはフリップが必要であるとき結果のビットスライスの連なりの各々のジェンダを反転させることをさらに具備する請求項23記載の方法。
- 結果のビットスライスの連なりの各々は長さをさらに具備し、前記施すステップは、
1対の2進ビットスライスを調べて結果のビットスライスの連なりの各々の長さを決定し、
長さを結果のビットスライスの連なりの各々に割り当てることをさらに具備する請求項20記載の方法。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US56600595A | 1995-12-01 | 1995-12-01 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP09521291A Division JP2000515654A (ja) | 1995-12-01 | 1996-11-18 | 最大ビットスライスを用いてビットストリングにブール演算を施すための方法とシステム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2006155663A true JP2006155663A (ja) | 2006-06-15 |
| JP4044586B2 JP4044586B2 (ja) | 2008-02-06 |
Family
ID=24261049
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP09521291A Withdrawn JP2000515654A (ja) | 1995-12-01 | 1996-11-18 | 最大ビットスライスを用いてビットストリングにブール演算を施すための方法とシステム |
| JP2006055239A Expired - Fee Related JP4044586B2 (ja) | 1995-12-01 | 2006-03-01 | 最大ビットスライスを用いてビットストリングにブール演算を施すための方法とシステム |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP09521291A Withdrawn JP2000515654A (ja) | 1995-12-01 | 1996-11-18 | 最大ビットスライスを用いてビットストリングにブール演算を施すための方法とシステム |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US6035311A (ja) |
| EP (1) | EP0912922B1 (ja) |
| JP (2) | JP2000515654A (ja) |
| AU (1) | AU707738B2 (ja) |
| DE (1) | DE69627391T2 (ja) |
| WO (1) | WO1997021170A1 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010539616A (ja) * | 2007-09-21 | 2010-12-16 | ハッソ−プラトナー−インスティテュート フュア ソフトバレシステムテヒニク ゲゼルシャフト ミット ベシュレンクテル ハフツング | Oltpデータをレポートするための、重複がないetlレスシステム及びその方法 |
| US8229940B2 (en) | 2007-07-16 | 2012-07-24 | International Business Machines Corporation | Query predicate generator to construct a database query predicate from received query conditions |
| US9053466B2 (en) | 2007-10-31 | 2015-06-09 | International Business Machines Corporation | Publishing and subscribing to calendar events information via categorical mapping methodology |
| US10031938B2 (en) | 2006-12-04 | 2018-07-24 | International Business Machines Corporation | Determining Boolean logic and operator precedence of query conditions |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6378127B1 (en) * | 1998-09-21 | 2002-04-23 | Microsoft Corporation | Software installation and validation using custom actions |
| US7467155B2 (en) * | 2005-07-12 | 2008-12-16 | Sand Technology Systems International, Inc. | Method and apparatus for representation of unstructured data |
| US20080030382A1 (en) * | 2006-07-17 | 2008-02-07 | Shu-Kai Yang | Real Number Coding Apparatus |
| US8229867B2 (en) * | 2008-11-25 | 2012-07-24 | International Business Machines Corporation | Bit-selection for string-based genetic algorithms |
| US10514914B2 (en) * | 2017-08-29 | 2019-12-24 | Gsi Technology Inc. | Method for min-max computation in associative memory |
| CN109962711B (zh) * | 2019-04-09 | 2022-07-08 | 深圳市道通智能航空技术股份有限公司 | 一种数据压缩方法、电子设备及存储介质 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5036457A (en) * | 1987-09-24 | 1991-07-30 | Nucleus International Corporation | Bit string compressor with boolean operation processing capability |
| WO1989004013A1 (en) * | 1987-10-09 | 1989-05-05 | Nucleus International Corporation | A relational database representation with relational database operation capability |
-
1996
- 1996-11-18 DE DE69627391T patent/DE69627391T2/de not_active Expired - Lifetime
- 1996-11-18 EP EP96941388A patent/EP0912922B1/en not_active Expired - Lifetime
- 1996-11-18 JP JP09521291A patent/JP2000515654A/ja not_active Withdrawn
- 1996-11-18 WO PCT/US1996/018509 patent/WO1997021170A1/en not_active Ceased
- 1996-11-18 AU AU10547/97A patent/AU707738B2/en not_active Ceased
-
1997
- 1997-11-12 US US08/968,051 patent/US6035311A/en not_active Expired - Lifetime
-
2006
- 2006-03-01 JP JP2006055239A patent/JP4044586B2/ja not_active Expired - Fee Related
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10031938B2 (en) | 2006-12-04 | 2018-07-24 | International Business Machines Corporation | Determining Boolean logic and operator precedence of query conditions |
| US8229940B2 (en) | 2007-07-16 | 2012-07-24 | International Business Machines Corporation | Query predicate generator to construct a database query predicate from received query conditions |
| JP2010539616A (ja) * | 2007-09-21 | 2010-12-16 | ハッソ−プラトナー−インスティテュート フュア ソフトバレシステムテヒニク ゲゼルシャフト ミット ベシュレンクテル ハフツング | Oltpデータをレポートするための、重複がないetlレスシステム及びその方法 |
| US9626421B2 (en) | 2007-09-21 | 2017-04-18 | Hasso-Plattner-Institut Fur Softwaresystemtechnik Gmbh | ETL-less zero-redundancy system and method for reporting OLTP data |
| US10713253B2 (en) | 2007-09-21 | 2020-07-14 | Sap Se | ETL-less zero-redundancy system and method for reporting OLTP data |
| US11461331B2 (en) | 2007-09-21 | 2022-10-04 | Sap Se | ETL-less zero-redundancy system and method for reporting OLTP data |
| US12001433B2 (en) | 2007-09-21 | 2024-06-04 | Sap Se | ETL-less zero-redundancy system and method for reporting OLTP data |
| US12361005B2 (en) | 2007-09-21 | 2025-07-15 | Sap Se | ETL-less zero-redundancy system and method for reporting OLTP data |
| US9053466B2 (en) | 2007-10-31 | 2015-06-09 | International Business Machines Corporation | Publishing and subscribing to calendar events information via categorical mapping methodology |
Also Published As
| Publication number | Publication date |
|---|---|
| AU1054797A (en) | 1997-06-27 |
| EP0912922A4 (en) | 2000-03-15 |
| JP2000515654A (ja) | 2000-11-21 |
| US6035311A (en) | 2000-03-07 |
| DE69627391T2 (de) | 2004-03-04 |
| WO1997021170A1 (en) | 1997-06-12 |
| EP0912922A1 (en) | 1999-05-06 |
| DE69627391D1 (de) | 2003-05-15 |
| AU707738B2 (en) | 1999-07-15 |
| JP4044586B2 (ja) | 2008-02-06 |
| EP0912922B1 (en) | 2003-04-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11741014B2 (en) | Methods and systems for handling data received by a state machine engine | |
| US11977977B2 (en) | Methods and systems for data analysis in a state machine | |
| TWI600295B (zh) | 用於在狀態機中路由之方法及系統 | |
| US9817678B2 (en) | Methods and systems for detection in a state machine | |
| JPS5924356A (ja) | デ−タ・レコ−ドの探索方法 | |
| CN104603742A (zh) | 用于状态机引擎的结果产生 | |
| JP4044586B2 (ja) | 最大ビットスライスを用いてビットストリングにブール演算を施すための方法とシステム | |
| US11947979B2 (en) | Systems and devices for accessing a state machine | |
| CN104487956A (zh) | 用于使用状态机引擎中的状态向量数据的方法及系统 | |
| US10929764B2 (en) | Boolean satisfiability | |
| US20170193351A1 (en) | Methods and systems for vector length management | |
| JPH01297723A (ja) | ソート処理装置 | |
| CA2239157C (en) | Method and system for performing a boolean operation on bit strings using a maximal bit slice | |
| JPH02158987A (ja) | フロッピーディスクファイルのデータ件数検索装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070313 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070612 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070615 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070913 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071016 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071115 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101122 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111122 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121122 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131122 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |
