JP2001507837A - データを安全に格納する方法及び装置 - Google Patents

データを安全に格納する方法及び装置

Info

Publication number
JP2001507837A
JP2001507837A JP53026198A JP53026198A JP2001507837A JP 2001507837 A JP2001507837 A JP 2001507837A JP 53026198 A JP53026198 A JP 53026198A JP 53026198 A JP53026198 A JP 53026198A JP 2001507837 A JP2001507837 A JP 2001507837A
Authority
JP
Japan
Prior art keywords
database
data
bpm
workstation
server
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.)
Pending
Application number
JP53026198A
Other languages
English (en)
Inventor
ディ. ゴールドスタイン,ベンジャミン
Original Assignee
ディ. ゴールドスタイン,ベンジャミン
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25110198&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2001507837(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by ディ. ゴールドスタイン,ベンジャミン filed Critical ディ. ゴールドスタイン,ベンジャミン
Publication of JP2001507837A publication Critical patent/JP2001507837A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 末端ユーザのクライアントワークステーション(1)は、データベースサーバコンピュータ(30)と通信する。末端ユーザのクライアントワークステーション(1)には、コードブック(11)と、2つのアルゴリズム(15,19)を含むメモリー(6)がある。データベースサーバコンピュータ(30)には、CPU(31)、通信ポート(32)及びメモリー(33)がある。メモリー(33)は、q−コードデータベース(35)と、アルゴリズム(39)を含んでいる。末端ユーザのクライアントワークステーション(1)は、さらに、データベースサーバコンピュータ(30)と通信するための通信ポート(5)を有する。

Description

【発明の詳細な説明】 データを安全に格納する方法及び装置 [0001]産業上の利用分野 この発明はデータの安全な格納方法に関するものである。より具体的には、こ の発明はデータの平文化の作業を必要としない方法で、有意的に暗号化されたデ ータを、安全に格納することに関するものである。 [0002]本発明の背景 データベースシステムは、様々なデータ集合の信頼性や秘匿性を保つことが要 求されており、従って承認された個々の利用者や利用者のグループのみが、デー タにアクセスしたり操作することを許される。この要求は一般に利用者の認証コ ントロールを通して扱われる。オーディト トレール(Audit trail)も同時に保 存され、少なくとも理論的には、ある利用者がどの情報にアクセスしたか、その アクセスはいつ行なわれたかなどの経過が記録される。その他の目的の中で、オ ーディト トレールは、データベースシステム上のデータに対してアクセスし、 操作する責任を明確にすることを意図している。それによって、システム上のデ ータへ不適切なアクセスや操作 がなされることを妨げることに役立っている。 アクセス制御とオーディト トレールは、データベースシステムの秘密保持を 支援するのに有用であり、用心深い機構であるが、これらの方法を使ったデータ ベースシステムは、依然として秘密性の破壊を受け易い。破壊を受け易い状態で 残っている基本的な領域として、システムを管理している人によるものが挙げら れる。システムを管理する権限を持った人は、オーディト トレールの記録を採 らないようにしたり、消したり、書き換えたりすることができる。システムを管 理している人は、効果的に仕事をすることが求められているために、現在の技術 に制限を加え、データベースの情報にアクセスする特別な権限をもっている。そ の制限の主なものは、現在のデータベースシステムには効果的かつ効率的なデー タの暗号化によるセキュリティーが存在しないことによる。さらには、たとえば コンピュータハッカーによりアクセスコントロールを無効化されてしまったとき 、データベースの暗号化による防御がなされていないことにより、データの機密 が危険にさらされる。 [0003]現在の手法による問題点 現在存在する暗号の技術をデータベースのセキュリティーを向上するために利 用した場合、それはデータベースのパフォーマンスに影響することが広く知られ ている。 強力な暗号化手法はデータベースにおけるデータ構造を変化させてしまうため、 多くの種類のクエリー操作(query operation)と、その他のDML(database manipu lation language)(データベース操作言語)は激しく影響を受ける。なぜならデー タベースを操作するために、まずデータを平文化するという作業が必要となるた めである。さらには、現在存在する暗号化の手法によりデータの平文化を行なう ことは、情報を平文の状態でさらけ出すことにもなる。 [0004] データベースの暗号化には、コミュニケーションの暗号化との間に多くの異な る特徴がある。データベースの暗号化とコミュニケーションの暗号化の違いにつ いては以下のものを含むいくつもの場所で論じられてきている。[Gudes,E."Th e Application of Cryptography to Data Base Security."Ph.D.Dissertation ,Ohio State University,1976]。[Gudes,E.,H.S.Koch,and F.A.Stahl."T he Applications of Cryptography for Data Base Securityo."In Prceedings o f the National Computer Conference,AFIPS Press,1976,pp.97-107],[Seb erry J.And J.Pieprzyk."Cryptography:An Introduction to Computer Securi ty."New York:Prentice-Hall,1989,pp.233-259]。これらの参考文献は本発明 の背景としてここに挿入し、出願の一部とした。データ ベースは、複数の利用者が、共有して格納されているデータにアクセスし、クエ リー(query)を発し操作できるように作成されている。それらの利用者は典型的 には様々な種類の格納された情報に対して異なった権限を持つ。ここで強調した いのは、様々なアクセス権限を伴っている共有して格納されたデータは、単純な 通信について存在する一般の問題とは全く異なった問題がある。単純な通信では 、通信の当事者は、共通の共有している格納データに操作を加えることを通常は 問題にしないからである。 [0005] データーベースは、それに属する記録が選択的にかつ予想できないように転換 されることを許している。この特質は、メッセージの操作が問題ではなく、むし ろ単純である通信に適用される特質と較べて、データベースへ効果的に加え得る 暗号化の種類にさらなる制限を加えることになる。データベースの暗号化につい ての要求に答えることは、ファイルの暗号化における直接的な要求と比較して明 らかに難しい。 [0006] ほとんどすべてのデータベースにおいて、クエリー要求に対して適切なパフォ ーマンスを得るためには、インデックスの作成を行なうことが不可欠である。デ ータベースの情報にアクセスする際に、インデックスは暗号化 された状態のままで、それを効果的に利用する一般的な手法は知られていない。 それゆえ、インデックスが活用されるためには、それは暗号化されていない状態 でなければならない。 [0007]データベースの暗号化の概要 Gudes[Gudes,E."The Application of Cryptography to Data Base Security ."Ph.D.Dissertation,Ohio State University,1976]と、Gudes,Koch and St ahl[Gudes,E.,H.S.Koch,and F.A.Stahl."The Application of Cryptogr aphy for Data Base Security."In Proceedings of the National Computer Con ference,AFIPS Press,1976,pp.97-107]は、データベースの暗号化が、コミ ュニケーションの暗号化と区別される3つの根本的な制約を指摘した。これらの 制約は、データベースに効果的に適用することができる暗号化の種類に厳しい制 限をはめる事になる。まず第1に、その方法は選択的にそして効率的にデータを 取り出すことが出来なければならない。なぜならデータベースの中のデータはこ れらの操作を容易にするように配置されていて、個々のレコードの暗号化と平文 化は他のレコードを同時に含まないことが望ましい。第2に、データはデータベ ースの中に長期にわたり含まれることが通常である。もしデータが暗号化されて いるとした時に、暗号鍵の変更が要求 されたとしたら、新しい鍵をつかってのデータの再暗号化をする必要が生じる。 第3に、"取扱い上の問題"が存在する。もしデータベースの操作が、暗号化され たデータに対して直接行なうことが出来たとしたら、すなわち平文のデータと同 じ方法で暗号化されたデータを扱うことが出来るとしたら、それはとても都合の 良いことである。これは平文の暗号化と、暗号の平文化に含まれるオーバーヘッ ドをなくすだけでなく、曝されることがあるデータ操作サイクルのいかなる場所 においても、平文のままでデータが存在することがないことを意味し、結果とし てデータの安全性を高めることにもなる。 [0008] GudesとGudes、KochとStahlには、マルチレベル形式がデータベースの暗号化 の課題に対処するための、もっとも適切なモデルであると指摘されている。デー タベースは複数のレベルをもつと認識される。すなわち、データは、複数のデー タ構造の形式で存在するし、この方式にしたがって参照でき、複数のレベルの間 にマッピングが存在するものとして管理される。このマッピングは、実際には、 データの変形を定義するが、これらのデータの変形はデータベース設計における 当たり前の機能であるから、それらは暗号によるセキュリティー機能を使えるよ うに利用し、拡張することが可能である。彼らの分析は、複数レベルのデータベ ース構造の隣り合うレベル間 で、利用可能な様々なタイプの暗号化手法を検証した。Gudesらは独自に物理的 にも論理的にもいくつかのレベルを持つデータベース構造を定義した。彼らの複 数レベルデータベース構造は、データベースの異なるレベル間における暗号化の 可能性を目立たせるために使われる。データベースにおいては、データがシステ ムの様々な物理メディア(ディスク、メモリー、ディスプレイ)上に異なった形態 で存在し、それゆえデータは様々な物理レベルをもち、そのそれぞれは対応する 絶対的な(論理的な)意味あいを持つ、という事実を彼らは強調している。様々 なタイプの暗号による変形はこの構造における様々なレベルの間で実行可能であ る。論理レベルはデータベースレコードの形式を様々なレベルにおいて適当であ るように定義する一方、物理レベルは論理レコードにより定義される形式による 具体的なデータから構成される。典型的には、任意の数の物理レコードが、すべ ての定義済みの論理レコードのために存在する。Gudes及び、Gudes、KochとStah lによる成果は1976年に発表されているが,それにもかかわず彼らのモデルは分散 コンピュータ構造のことも考慮している、というのも複数レベルデータベース構 造における様々なレベルは物理的に分離した場所に置くことも可能であると暗に 理解されるからである。 [0009] Gudesらはデータベース構造における5つの論理的な段 階を定義した。 1)ユーザ論理レベル 2)システム論理レベル 3)アクセス論理レベル 4)格納レベル(又は、組織化された格納レベル) 5)組織化されていない格納レベル 1つ若しくはそれ以上の物理レベルは、物理媒体の数に応じてそれぞれの論理レ ベルに割り当てることが可能である。論理レベルと物理レベルとの対応があるか どうかは、実装の詳細さにも依存する。 [0010] Gudesらは、データベースアーキテクチャの隣接するレベル間で写像する過程 で、適用される所定タイプの暗号化変換を詳述している。Seberry、Peiprzykは 、Gudes、Koch、Stahlによるコンピュータセキュリティーに関する文献の最新の 要約と分析とを示した。[Seberry J.And J.Pieprzyk."Cryptography:An Int roduction to Computer Security."New York:Prentice-Hall,1989,pp.233-25 9] [0011] Gudesらの複数レベルのデータベース構造によって達成された暗号法は、コン ピュータシステムにおいて保管されているままの状態の暗号を参照する。複数レ ベルにわたる暗号化は、暗号化されたデータはどのように操作さ れるべきかという問題を実際には出さない。Gudesらによる複数レベルの暗号化 は、暗号化されたデータ要素を直接操作することをすべての場合については可能 とはしない。暗号化されたデータは、ある項目がアクセスされる前に、先ず平文 化される必要があるものである。 [0012] データベースの暗号化が直面する根本的な制約は、データを保管する際には 、操作をする上で便利な状態でなければならないという要求である。データベー スにおける隣り合うレベルに暗号カギを利用する場合の暗号化の強度は、この条 件により制限される。究極的には、容易に取り出せるように低いレベルでデータ を格納することが必要である。もしこれが出来ないのであれば、クエリーを受け 付けることができる形式にデータを再構成しなければならないため、追加の作業 を行なう必要がある。 [0013] 異なった形式の暗号化の変換を組み合わせれば非常に強力な暗号となりうる。 その一方で、自然と形式化された複数レベルデータベース構造においては、本質 的に利用可能であるデータベースのレベル数が制限されていることが、暗号化に よるセキュリティへのクエリーに厳しい制約を加えることになる。暗号化による セキュリティは、データベースに大きな変化を加えて、悪化させる様なパフォー マンスを行なうことなく、暗号を使ってデー タベースから究極的に獲得するものである。 [0014] 複数レベルデータベース構造の概念は良く知られている。様々な複数レベルデ ータベース構造と関連した用語が定義されている。"ANSI/SPARC"複数レベルデー タベース構造は、複数レベルデータベース構造の中で最も広く認識されているモ デルである。DateによるANSI/SPARC構造についての説明である[Date,C.J."An Introduction to Database Systems."5th ed.New York:Addison-Wesley,1990 ,Vol.I.,Chapter 2,pp.31-54]を、ここで本発明の背景として出願の一部と する。 [0015]暗号/Qコード 暗号には大きく2つの主流の分野がある。暗号カギとqコード化である。それ ぞれの分野は異なった種類の暗号化を扱う。すなわちそれぞれ暗号カギとqコー ドである。暗号はアルファベットにおける個々の記号や、記号のグループの変換 を含む。ここでいう記号には、例えば、大文字、小文字、数字そして句読点など も含む。暗号化の変換は、意味的な単位を取り扱う特別なルールを使うことなく 、完全に一般的な方法でそれぞれの記号や、記号のグループに対して当てはめら れる。任意のそして意味のない記号による文章は、暗号化したのと同様に、容易 に意味のある文章にできる。暗号化が実行される文章構 成上の1単位は、偶然により意味を持つ内容となる。Qコードは、それとは逆に 、文章構成上の単位、例えば単語や、文節や、場合によっては明確に意味を持つ 内容を持つ文全体を変化させることを含む。どんな些細なqコードでも大きなコ ード表を使う必要がある。例をしめすことでこの理由は明確になる:英語の文章 を変換することができる単純なqコードは、固有名詞も含むすべての英語の単語 を含むのと等価なコード表を必要とする。qコードで用いられるコード表は、コ ードにおけるキーを構成する。コード表の中のエントリーは、それ自身をカギと みなすこともできる。 [0016] 暗号解析をおこなう手法は、本質的には平文の領域における統計的特徴に基づ く。原文が例えばある特定の自然言語でのメッセージであると推測される暗号を 解析しようと試みる時には、暗号解析者は推測される言語の平文におけるそれぞ れの文字や、文字の組み合わせの出現頻度について検討する。例えばqコードに おいては、個々の単語と単語の組み合わせの頻度について検討される。 [0017] SPARCOM概略 SPARCOMというのは"疎関連接続行列(Sparse Associative Relational Connect ion Matrix)"の頭字語である。 これはAshany氏により提案され研究されている手法であって、データベースシス テムにおいて、データを動的に構築し、早い反応時間と高いスループットを、多 くの種類の応用に用いられる。このアプローチにおいては、離散的な値をとるデ ータを大規模な疎行列(sparse matrix)に変換し、データベース操作を行なうた めに広範囲な疎行列技術を用いて、データベース操作することを可能にする。SP ARCOMのアプローチでは、その疎行列を圧縮された状態において格納や操作を行 ない、それにより大きな格納スペースと実行時間を節約する。SPARCOMに固有の 正規化過程は、任意の属性について複数の値をもつ実体により、屡々生じさせら れるデータの冗長性を減少させる。データベースの操作は、内部レベルでデータ ベースがもっている構造化された情報を含む疎行列構造に対して、算術的な操作 により実行される。 [0018] SPARCOMは、離散的な値を取るデータに対して、その内容を呼び出す方法を提 供する。すなわち、データの要素はその内容の関数として呼び出され、取り出さ れる。内容を呼び出すためにSPARCOMは与えられた実体と属性との関係を、それ に対応する実体と特性との関係に変換する。実体と属性との関係は、ある特定し た関係で目的が設定されると、どんな属性を有しているかを示している。対応す る実体と特徴との関係は、設定されたオブジェクト が、設定された属性の特性として取りうる値のすべての値に対応するだけの様々 な特性を持っているかどうかを示す。実体と特徴との関係は行列として表現され る。その行列は通常はきわめて疎である。 これまでの関係付けデータベースの理論においては、任意の属性に対して、複数 の値を持つオブジェクトの為にいくつもの関係を作る必要がある。(すなわち、 テーブルの中に複数の組を生成する)のに対し、SPARCOMでは、それが実体と特 性の関係を基本として構築されているため、このような関係を作る作業の必要は ない。 [0019] アシャニィ氏は、Binary Property MatrixがSPARCOMにおける基本的なデータ 構造であり、それが実体と属性との関係に対応すると記述している。[Ashany,pp .62-63]:A1,A2,...,Anという属性をもつn次元の属性空間があり、それは基 底d1,d2,...,dnのそれぞれ別々の成分D1,D2,...,Dnからなる領域を持つ が、それらはN次元の特性空間に以下の式に従い変換することができる。 この独立した特性P1,P2,...,Pnの数は、n次元の属性空間における点から 、N次元の特性空間へとあらゆる点を写像する。明らかにNはnよりも大きい、 そして高次元のユークリッド空間における点として表現するために、さらに多く の軸が必要となる。それゆえに大きなベクトルとなる。特性空間においては、し かしながら、それぞれの軸において2つの区別され得る点しかない;0もしくは1 ;そしてそれぞれの成分の軸はある特性を表わす。 [0020] nの単一値の属性によって、属性空間に表現される実体、すなわち;n桁 の数によって、n個の1とN−n個の0の値からなるN桁の特性空間により表現さ れる。1という値は当該の属性をあらわす場所に挿入される。性別をあらわすた めの属性の基本的な種類数は(男,女)の2つであり、目の色をあらわす属性の 基本的な種類は5つ(黒,青,茶,緑,赤褐色)であるため、(男,青)という特性 をもつ実体、すなわち性別が男で目の色が青であるという実体は7桁の数E(1,0,0 ,1,0,0,0)で表現される。2要素の組は、0でない2つの要素を含む7桁の数に変 換される。単一の値をもつ属性がそれぞれ基本的な数(cardinal number)をもち 、例えば、d1=10で、d2=12であるような時、属性空間における2要素の 組は特性空間における22桁のものに変換される。再び言うと、2つの0でない値 と、20の0の値を持つバイナリベクトルである。これらの特性空間におけるベ クト ルは、Extended Binary Vectors(EBV)(拡大バイナリベクトル)と呼ばれ、通常そ のベクトルは疎大である。 [0021] m個の実体の集合は、m×nのBinary Connection Matrix(BCM)(バイナリ 連結行列)と呼ばれる0,1からなる(バイナリー)行列により表現される。なぜなら その0でない要素はそれぞれの実体と、そのそれぞれが対応する特性との間に存 在する関係を示すことになるからである。 この行列はより具体的にはバイナリー特徴行列(Binary Property Matrix:BP M)と呼ばれる。EBVの重要な特徴の1つに、値が1つしかない属性と複数の値を採 りうる属性は、冗長問題を解く上では、1つのそして同じベクトルとして表現さ れる。 [0022] バイナリー特徴行列の作りかたから生じる特徴として、それぞれ、そしてすべ ての各特性がインデックスされていることから、それ自身が完全に反転したファ イル(inverted files)でもある(さらには直接ファイルでもある)という重要な特 徴を持つ事実があり、それゆえバイナリ特徴行列は本質的に、特徴を取り出す作 業をするために特に適している。領域の問い合わせ(range query)も、SPARCOMの アプローチによって、古典的なデータベース構造と比較して非常に容易に実行す ることが出来る。とい うのもその問い合わせの回答を得るためには、BPMに対して1つだけのクエリーベ クトルをかけるだけでいいからである。これとは対称的に、属性を基本とするデ ータベースでは、領域の問い合せについての回答を得るには、一般的に検索操作 を複数回反復する必要がある。 [0023] Binary Property Matricesがベースとしている関係は、SPARCOM標準形式(SNF' s)とよばれる固有の標準形式であり、それは関係のある他のデータベースの標準 形式とは、属性を基本とするというよりむしろ、特性を基本とするという点にお いて区別される。そしてもっとも顕著なのは、複数の値を持つ関係をどのように 取り扱うかという点における違いである。Coddにより定義された1NF標準化方法 は、複数の値を持つ属性が存在した時、複数の値を持つ属性により生成される冗 長性を複数の関係に分解する方法により小さくする。このような分解は、SPARCO Mの手法によると不必要であり、かつ不適切である。SPARCOMでは、属性をベース とするのではなく、特性をベースにして関係が組織化されるから、上記の点はそ の通りである。事実上、1NFの目的は、通常ならば1NFに関連している分解に頼 らないで、SPARCOMの下で自動的に達成される。 [0024] 図1Aにおけるコンサルタントの例における関係は1NF には含まれない。ここでコンサルタント関係における属性のために存在する機能 上の依存関係は次のようなものである。 名前→時給,名前→技量,名前→曜日 これは前提のようなものであるが、他の依存関係があってもよい。技量と曜日と いう属性は、ここでは複数の値を持つ属性として与えられている。説明するため の図1Aにおいては、複数の値を持つ属性である技量と翌日は、二つの異なる目的 で扱われている。技量におけるそれぞれの特定のコンサルタントの複数の例は複 数のレコードに分解されている。一方、コンサルタントを利用できる曜日につい ての複数の例では、その個々のレコードの範囲内で繰返しグループが生成される 。これらの複数の値を持つ属性を表現するための手法は、どちらも好ましいもの ではない。 [0025] 一方では、複数の値を持つ属性の各事例に関する複数のレコードを1NFの中に ではなく、ある関係の中に持つことは、内在する所定の機能上の依存関係の無い 他の属性を、不必要にも複製してしまう。(この例では、時給と曜日の属性は、 名前が技量である機能上の依存関係には関係していないが、しかしながらそのデ ータは複製されることになる。)それに対して、繰り返されるグループは分子の 如く分解した値ではなく、それゆえ繰り返される グループをもつレコードに対する操作には、更なる操作が必要となる。さらには 繰り返されるグループの関係のレコードは、同じ長さではないか、もしくは空値 を含み、このどちらの場合も好ましいものとはいえない。 [0026] コンサルタントの関係(名前、時給、技量、曜日)を分解し、1NFに要求され ている如く、複数の値を持つ属性を取り除くと、3つの独立した関係であるCRat e(名前,時給)やCSkills(名前,技量)やCDays(名前,曜日)が得られる。図1Bは、図 1Aのデータに対応するデータを分解して得られた1NFの関係を示す。図1Bの関係 は、3NFやBCNF(Boyce-Codd Normal Form)においても同様に発生する。 [0027] 分解は通常は、全体の冗長性を縮小するが、その過程で小さな冗長性を生成し てしまっている。それは図1Bにおける事例では、「名前」が何れの関係にもその 一部として見い出すことが出来る。この冗長性は必要であって、そこですべての 関係は、保存され、そして分解の過程から導き出された複数の関係中に存在する 属性に対して、普通の連結を実行することで元の関係を再構築することに役立つ 。 [0028] 図1Aで用いているコンサルタントの関係をSNFのバージョンにしたものが図1C である。SPARCOMデータベースにお いては1NFに分解する必要がないという事実のため,データのより効果的な方法を 提供することにより、この過程において冗長性が生成されることを防止出来る。 これはまさに、これまでの属性を基に考えるデータベースモデルに対するSPACOM モデルの優位性である。 [0029] Ashany氏はSPARCOMの手法による主たるパフォーマンスの優位性の1つを次の ように説明している。[Ashany,184頁] 疎行列を扱っている多くのアルゴリズムは、ひとつの共通の特徴を持っている。 即ち0でない要素のみが行列に格納されることである。目標はこれらの行列を、 格納するスペースを節約するために,そして特にアクセスと実行時間を短縮する ために、行列の全体が存在しないかの如き状態において操作することにある。な ぜなら0の要素は表現したり操作したりする必要はないからである。 [0030] SPARCOM手法が、他のデータベース手法を越えて有する別の主なパフォーマン ス上の利点は、データに対する内容アドレス能力にある。他のデータベースシス テムは様々なタイプのクエリーに対して高速に答えるために、複数のインデック スが保持されていることが求められることが多い。SPARCOM以外のデータベース システムにおいて は、特定したクエリーをサポートするインデックスが作成されていない時には、 そのクエリーに対する回答速度は非常に遅いものとなる。というのもインデック スがないときには徹底的にデータ要素の検索を行なう必要があるからである。SP ARCOMは複数のインデックスを必要とはしない。なぜならそれはすべてのデータ をインデックスしているからである。SPARCOMに用いられているBPMを圧縮するた めの様々な手法は、実はそれ自身インデックスを行なう手法であるからである。 [0031]疎行列の概念 これまでに述べたようにSPARCOMは、特徴を基にしたデータベースにおいて、 建築レンガの如く内部レベルのデータ構造を作るために、バイナリー疎行列を用 いる。SPARCOM中の持続性データはBPMによって構成されているが、クエリー の結果は、それ自身は疎であったり、或いはそうではない、非バイナリー行列の 形式となる。Ashany氏は行列のインデックスを作る3つの手法について議論した 。Ashany氏が調査した方法は、Bitmap法(BMS)と、"Single Index"法(SIS)と、"D ouble Index"法(DIS)による圧縮方法である。これらの手法はいずれも著しい圧 縮を疎な行列に対して行なう。そしてバイナリー疎行列に対しては、より高い圧 縮を行なう。データベース操作が、これらの3つの手法の各々にしたがってイン デックス化 されたBPMに対して行われた。インデックス手法や、データセットや、データベ ース操作においてそのどれを選択したかによって、良かったり悪かったりの結果 が得られたが、それぞれにおいてすばらしいパフォーマンスを示す結果が、様々 な圧縮方法において得られた。 図2は、以下に詳細を示すBMS,SIS,DISの各圧縮方法によって行列がどのように 圧縮されるかの例である。 [0032]"Bit Map" bitmap法においては、m×nの行列A(mは行、nは列)は3つの要素に分解され る。 1)2要素のDim(m,n)、但しm,nは行列Aにおける行と列。 2)m×nのディメンジョンのバイナリ行列B。但し、Aの0でない値は、Bのそ れに置き換える。 3)ベクトルv、但しそれの要素はAの0でない値であって、ある順序で輪郭が たどられている。 バイナリー行列Bの要素のビットは、その行列の行(もしくは列)を繋ぐことに より、形成されたビット列SBとして格納される。SBを格納するために必要なバ イト数は、以下の簡単な公式により計算できる。 SB=[(m×n)/S] 但しSは1バイト中のビットの数である。 vの要素の配列順序は、それが行1からmまで、又は列1 からnまで順番にスキャンしたときに出現する様に、配列される。他の配列順序 ももちろん可能である。 [0033] bitmap法は、バイナリ行列要素Bを1つのビットとして、それぞれの要素を格納 することにより著しい圧縮を達成する。bitmap法においては、複数のバイナリ要 素は、バイトサイズに依存する実際のビット数をもつ単一のバイトに、周知な方 法によって格納される。この圧縮の手法は、この特徴のための使用をサポートす る言語を使って効率の良いビット操作を実行できるハードウェアーにより、もっ とも効率良く達成されることは明白である。BPM Aのビットマップ表現には、ベ クトル要素vを必要としないことは、2要素組のDim(m,n)と、ビットマップ 要素Bが、BPM Aを完全に定義するには十分であることからも明らかである。 [0034]単一インデックス付け体系 ビット写像体系と対照的に、単一インデックス付け体系は、マトリックスのゼ ロでない要素だけをメモリーする。単一インデックス付け体系は、次の3つの構 成要素を用いて2進でないマトリックスAを表現している。1)2個組のDim (m,n),但しmはAの行の番号、nはAの列の番号である。2)要素はA内のゼ ロでない要素の位置をリストしている位置ベクトルv1。3)要素は Aのゼロでない値であるベクトルv2。二つのベクトルv1及びv2の要素は、v2 の要素biが、v1の要素aiによって特定された位置に、マトリックスA内で見 つけられた要素の値を保持するようにインデックス付けされる。 [0035] Aの要素(i,j)の位置kは、線状のマッピング機能によって決定される。 k=f(i,j)=j÷(i−1)×n 前記式において、i及びjはそれぞれ、要素の行と列であり、nはA内の列の番 号である。この数式は、単にマトリックスの要素の配列を決めるだけであって、 これはマトリックスの要素を順次、1行が済めば次の行を走査することを、1行 目からm行目まで行なうことによって、決定される。 [0036] BPMのマトリックスのような2進マトリックスは、単一インデックス付け体 系を用いて同様な方法で表されるが、ここでは二つの構成要素、即ち上記に定義 した1)2個組のDim(m,n)及び、2)位置ベクトルv1だけが必要とされる 。すべてのゼロでない値は、2進マトリックスの値であるので、ゼロでない値を 特定する二番目のベクトルv2の必要がないことは明らかである。 [0037]二重のインデックス付け体系 二重のインデックス付け体系には3つの構成要素があって、構成要素自体の2 番目は二つの部分から成り立っている。1)マトリックスの行及び列の数を決定 する2個組のDim(m,n)、2)マトリックスの要素の位置をインデックス付 けするための二つのベクトルv1及びv2及び、3)要素がAのゼロでない値であ るベクトルv3である。構成要素1及び3は、ビット写像と既述の単一インデッ クス付け体系の両方と同一の対応を有しているから、検討は全く必要でない。他 の圧縮体系と同様に、ベクトルv3は、(この場合、マトリックスのゼロでない要 素の値を保持している)2進マトリックスには必要とされていない。 [0038] Dim(m,n)を有するマトリックスAに於ける1からm行目までの各行のた めに、ベクトルv1は順次にA内のゼロでない値を有する要素の列番号をリスト する。v1の最後の要素は、区別できる(distinguished)記号を保持しなければな らない。1からnの範囲の整数以外の記号が保持されるであろう。(Ashanyは、 記号「Δ」を使用している)。ベクトルv1における要素の数は、Aにおけるゼロ でない要素の数より1多い数に等しい。 [0039] ベクトルv2の要素は、マトリックスAの各行中でゼロでない1番目の要素を 含んでいるv1における要素の位置 を特定する。ベクトルv2の要素は、v2の要素iが、マトリックスAの行iに第 1のゼロでない要素を含んでいるv1のインデックスの数を特定するように、該 要素自体がインデックス付けされる。ベクトルv2は、m+1個の要素を含んで いる。v2の最後の要素は、v1の最後の要素を特定し、これは区別される記号で ある。 [0040]その他のインデックス付け体系 スパースマトリックスを圧縮するその他の技術は多く存在する。頻繁に引用さ れ、プログラムすることが容易な簡単な技術としては、行又は列のいずれかによ ってリンクされたリストの使用を含んでいるものがある。行又は列のいずれかに よってデータが容易に回復できる二重にリンクされたリストも、その他の方法と 同様に使用されることが可能であり、これは、(SIS及びDIS圧縮技術の様 な)配列中又は更に複雑なデータ構造におけるゼロでないスパースマトリックス 値をインデックス付けする。 [0041] トレードオフ(tradeoffs)は、様々なスパースマトリックス圧縮体系の選択と 共に存在する。例えば、ビット写像、上記した単一インデックス及び二重インデ ックス圧縮体系を比較すると、リンクされた及び二重にリンクされたリストを具 体化することは、リンクされたリストを 保持するために要求される増加したオーバーヘッドが原因で、同じ様な圧縮を提 供しない。これは、リストの各ノードが、要素の値と連結アドレスの情報の両方 を含んでいるからである。肯定的な面に関して、リンクされたリスト構造は、上 記記載の体系を、新たなゼロでない要素をスパースマトリックスへ挿入すること において具体化するという明白な方法より、優れたパフォーマンスをもたらす傾 向にある。上記のスパースマトリックス圧縮体系にて用いられたベクトルが十分 に稠密である単純な配列を使って具体化される場合は、次に新たなスパースマト リックス圧縮体系を挿入するには、新たな配列が構成される必要である。せいぜ い、これは、左のサブベクトルをメモリーにて逆方向に桁送りすること若しくは 、右のサブベクトルをメモリーにて順方向に桁送りすることを含む。これには、 これらの桁送り操作に先じて、予め適当なメモリーが付与されていることを仮定 している。 [0042]クエリー(queries) SPARCOMにおいて、単純なクエリーが、BPMをクエリーベクトルの変 換で行列乗算することによって実行される。クエリーベクトルは行ベクトルであ って、問い合わせするBPM中の列数と同数の要素を備えるように構成されなけ ればならない。クエリーベクトルは、2進である即ち、1或いはゼロだけを含ん でいる。クエ リーベクトルの1は、求められているプロパティを表示する。 [0043] SPARCOMにおいて、単純なクエリーの結果は、一般的に2進でない列ベ クトル(又は応答マトリックス)である。このような列ベクトルの次元は、それを ある程度導いているBPM内の行数と対応する。単純なクエリーにおいて獲得さ れた列ベクトルのi番目の要素の値は、クエリーベクトル及びクエリーのための BPMを共通に持つプロパティ数を示す。クエリーベクトルの程度は、ベクトル 中の1の数である。単純なクエリーの場合、BPMの行iがクエリーから獲得さ れたクエリーベクトルに「一致する」のは、(2進でないことが多い)列ベクトル のi番目の要素がクエリーベクトルの程度と等しいときである。このことを別の 表現で示すならば、単純なクエリーには、応答マトリックスの要素のしきい値は 、クエリーベクトルの程度と等しい。図3は、単純なクエリーの実施例を示して いる。 [0044] 多くの型の更に複雑なクエリーは、問合せ範囲及びブール操作を必要とするク エリーを含んでいるSPARCOMアプローチを用いて、容易に実行され得る。 問合せ範囲において、値(プロパティ)の倍数は、何かの属性のために特定される 。クエリー範囲は、特定された特性の 任意の1つを有する記録を送り返す。仮に我々が顧客情報の提供業に関係してい る場合、Cust(顧客)(名前、通り、市、州、郵便番号)、州についてのクエリ ー範囲を特定したこの関係についてのSQLステートメントは、以下の様に与え られることが出来るであろう。 選択*Custから 州は?="NY"又は州="NJ"又は州="CT" [0045] このSQLステートメントは、問合せ範囲が「又は」の操作−多重の「又は」 の操作であることが多い−を必要とする事実を強調する。属性に重点を置くデー タベースにおいて、「又は」の各操作は、クエリーに要する検索時間を増加する 。SPARCOMアプローチに従って、単一値属性の問合せ範囲は、特定された 範囲内のすべての値を含むクエリーベクトルを有するBPMの普通の行列乗算を 実行することによって達成出来る。一致している行を獲得するために、この場合 に行われることが必要な唯一の調整は、応答マトリックスの要素のしきい値がク エリーベクトルではなく問合せされた属性の数に等しくなるように行われなけれ ばならない。従って、SPARCOMでは、単一値属性に関するクエリー範囲に は、余分な検索時間は不要である。図4は、SPARCOMのクエリー範囲がど の様に上記に示したCust関係のSQLステートメントを実行するかを例示し ている。 [0046] 特定の技術、例えばSISやDIS圧縮技術を使って圧縮されたスパースマト リックスにおける行列乗算は、スパースマトリックスのゼロでない要素を因子と する処置だけが必要であり、結果として、スパースマトリックスにおける行列乗 算のために優れたパフォーマンスを得ることが出来る。 [0047] データベースの操作を実行することに対するSPARCOMアプローチに関し た上述の概観は、導入としてのみ役立つ。更に詳細な説明は、Ashany氏の博士論 文に示されており、本発明の背景として本願の一部とする。[Ashany,R."SPAR COM:A Sparse Matrix Associative Relational Approach to Dynamic Structuri ng and Data Retrieval."Ph.D.Dissertationn,Polytechnic institute of New York,June 1976] [0048]発明の要旨 本発明は、データを安全に格納する装置に関する。装置は、有意的に暗号化さ れたデータの記憶を有するデータベースを具えている。装置は、データの解読を 必要とせずに有意的に暗号化されたデータを含んでいる有意味のデータベース操 作を実行するためのデータベース機構を具えている。データベース機構は、デー タベースへ接 続されている。該装置は、データベース機構からデータを獲得するためにデータ ベース機構へ接続されているアクセス機構も具えている。 [0049] 本発明は、データを格納する装置に関する。装置は、有意的に表されたデータ を有するデータベースを具えている。装置は、データベースの操作を有意的に表 されたデータで実行するためのデータベース機構を具えている。データベース機 構は、データベースへ接続されている。装置は、データベース機構からデータを 獲得するためにデータベース機構へ接続されたアクセス機構を具えており、該ア クセス機構は、有意的に暗号化されたデータによって異なった標識を持った、種 々のユーザを含んでいる。 [0050] 本発明は、データを安全に格納する方法に関する。方法は、有意的に暗号化さ れたデータをメモリー内に蓄積する工程を含む。次に、データの暗号化を必要と せずに、メモリーからの有意的に暗号化されたデータを用いて、データベース操 作を実行する工程がある。更に、メモリーからデータを獲得する工程がある。 [0051]図面の簡単な説明 添付の図面において、本発明の望ましい実施例及び本 発明を実行する望ましい方法が示されている。 図1Aは、背景的情報のために、INF(第1正規形)でない関係を示している 。 図1Bは、背景的情報のために、図1Aが3NF(第3正規形)へ変換された後 の図1Aの関係を示している。 図1Cは、背景的情報のために、図1AがSNF(SPARCOM正規形)へ変 換された後の図1Aの関係を示している。 図2は、BMS(ビット写像体系)、SIS(単一インデックス付け体系)及びD IS(二重インデックス付け体系)圧力方法を用いてマトリックスがどの様に圧縮 されるかについての例を、背景的情報のために示している。 図3は、背景的情報のために、クエリーを実行するSPARCOMの方法を用 いている単純なクエリーの例を示している。 図4は、背景的情報のために、クエリー範囲を実行するSPARCOMの方法 を用いているクエリー範囲の例を示している。 図5は、本発明の基本的な要素をブロック図にて示している。 図6Aは、本発明の望ましい実施例のネットワークアーキテクチャを示してい る。 図6Bは、本発明の望ましい実施例の他のネットワークアーキテクチャを示し ている。 図7Aは、「Sales Rep」関係を例としてBPM(2進プロパティマトリックス )を示している。 図7Bは、図7Aにて示されているものと同一の「Sales Rep」関係のBPM を表している。BPMは変更されて、BPMの列の数及び列の特性内容は、結合 されるであろう"Cust"関係のBPMの列の数及び列の特性内容に対応してい る。 図7Cは、「州」を表わすものに関する列だけ選択し、その他の関係は「きれ いにする(sanitize)」投影を行なった後、図7BのBPMから得たBPMを図示 している。 図7Dは、転換された後の図7CのBPMを示している。 図8は、図2にて示されているものと同一の「Cust」関係のBPMを表し ている。BPMは、BPMのための列の特性内容及び列の数が、結合されるであ ろうものとの「Sales Rep」関係のBPMの特性内容及び列の数と合うように変 更されている。 図9は、図8×図7Dのマトリックスの行列乗算によって獲得される応答マト リックスを示している。該応答マトリックスは、結合されるであろう原型のBP Mの(図8及び図7Bにて得られる)マトリックスの行を特定する。 図10Aは、本発明の望ましい実施例の他のネットワークアーキテクチャを示 している。 図10Bは、本発明の望ましい実施例の他のネットワ ークアーキテクチャを示している。 図11は、単一インデックス付け圧縮体系(SIS)に基づいて5×8のマトリ ックスの座標を配列することを示しており、SIS表現(representation)の例に 加えてマトリックスの例を示している。このマトリックスのSIS表現の次元情 報だけを暗号化することは、実質上パフォーマンスを犠牲にすることなく、符号 化されたマトリックスによって暗号手法のセキュリティを更に高めるということ に気づかれるであろう。 [0052]望ましい実施例の説明 図中、参照番号は同様な又は同一の部分を示している図面及び更に詳細には各 図を参照して、データを安全に格納する装置が示されている。装置は、有意的に 暗号化されたデータの格納装置を有するデータベースを含んでいる。装置は、デ ータの解読を必要とせずに有意的に暗号化されたデータを含んでいる有意味のデ ータベース操作を実行するためのデータベース機構を具えている。データベース 機構は、データベースへ接続されている。該装置は、データベース機構からデー タを獲得するためにデータベース機構へ接続されているアクセス機構も具えてい る。 [0053] アクセス機構は、暗号化/解読の機構を含んでいるこ とが望ましく、これはデータベース機構へ接続されていて、解読されたデータを 受信し、データを暗号化して、これをデータベースへ供給する。また、データベ ース機構から解読されたデータを受信して、これを解読する。望ましくは、アク セス機構は、ユーザCPUとワークステーションメモリーを有しているエンドユ ーザワークステーションを含んでいて、そこで暗号化/解読機構は、メモリーに 蓄積されたコードブック及び、コードブックへのアクセスと更新をするメモリー 内にあるソフトウェアプログラムを含んでいる。 [0054] 有意的に暗号化されたデータは、プロパティに重点を置く定位置のQコードで あることが望ましい。プロパティに重点を置く定位置のQコードは、スパース2 進マトリックスを含むことが望ましい。プロパティに重点を置く定位置のQコー ドは、仮の列、仮の行、列の分割、列のオフセット、BPM列の順列の情報の寸 法を示す圧縮されたスパースマトリックスの暗号化を使用して、各プロパティに 重点を置く定位置のQコードのセキュリティを高める。 [0055] 装置は、データベース機構及び、データベースを有しているデータベースサー バコンピュータを含むことが望ましい。データベース機構は、サーバCPU及び サーバ CPUへ接続されたサーバを具えていることが望ましい。サーバメモリーはデー タベースを有している。望ましくは、サーバメモリーは、データベースコマンド 格納バッファ装置及びデータベース応答格納バッファ装置を具えている。サーバ コンピュータは、サーバメモリーとサーバCPUへ接続されたワークステーショ ン通信ポートを含むことが望ましい。望ましくは、ワークステーションは、サー バ通信ポート及び、ワークステーシヨンCPUとワークステーションメモリーへ 接続されたワークステーション通信ポートと、入力ポートと、出力ポートとを設 けており、両ポートは、ワークステーションメモリー、ワークステーションCP U及びワークステーション通信ポートへ接続されている。 [0056] 本発明は、データの格納装置を保護する装置に関する。装置は、十分なインデ ックス付きデータを有しているデータベース機構を具えている。装置は、インデ ックス情報を有している十分なインデックス付きデータの、又は該データで操作 を実行するための、データベース機構も具えていて、インデックス情報は、十分 なインデックス付きデータへのアクセス及び翻訳を許容する。装置は、データベ ース機構からデータを得るためにデータベース機構へ接続されたアクセス機構を 具えている。 [0057] 本発明は、データを格納する装置に関する。装置は、有意的に表されたデータ の格納装置を有しているデータベースを具えている。装置は、有意的に表された データを使用してデータベースの操作を実行するためのデータベース機構を具え ている。データベース機構は、データベースと接続されている。装置は、アクセ ス機構が、有意的に暗号化されたデータの様々な表現を持った種々のユーザを含 むように、データベース機構からデータを獲得するためにデータベース機構へ接 続されたアクセス機構を具備している。 [0058] アクセス機構は、有意的に表されたデータの様々な自然言語翻訳を種々のユー ザへ提供する。或いは、アクセス機構は、有意的に表されたデータの音声表現を 視覚損傷者へ提供する。 [0059] 本発明は、データの格納装置を保護する方法に関する。方法は、有意的に暗号 化されたデータをメモリー内に蓄積する工程を含む。次に、データの暗号化を必 要とせずに、メモリーから有意的に暗号化されたデータでデータベース操作を実 行する工程がある。更に、メモリーからデータを獲得する工程がある。 [0060] 本発明の主要なアイデアは、図5で示されているとお り、基本的にはデータベースの暗号化機構及び方法であって、データベース情報 を編成及び分散することにより、qコード情報の形式をした内部レベルのデータ が1以上のデータベースサーバ上に保持されつつ、、外部レベル(ユーザレベル) 及び/又は概念レベル(一般レベル)のスキーマ情報が、エンドユーザ顧客のワー クステーションに設置されることである。外部レベル又は概念レベルのスキーマ 情報に加えて、任意に採ったエンドユーザ顧客のワークステーション上にも存在 しているデータベース情報は、対の値のリストを含むコードブックである。各対 の1要素(member)は、プロパティを特定する。もう片方の値は、所与のプロパテ ィのために一組の等値のqコードを特定する。従って、コードブックは、プロパ ティのインデックスを設けると考えられることが可能で、任意に採ったエンドユ ーザ顧客のワークステーションは、そのための暗号を使用したキーを有している 。望ましい実施例において、任意に採ったデータベースサーバ上にも存在するデ ータベース情報(データ内容)はSPARCOMデータベースである。即ち、該情 報は、一組の圧縮されたBPMのデータベースで構成されていて、夫々は特定の プロパティ−エンティティ関係の例示である。データベースサーバは、この内部 レベルの圧縮されたBPMデータを翻訳するために必要とされるインデックス情 報を保持しない。望ましい実施例のネットワークアーキ テクチャは、図6Aにて示されている。 [0061] 図5を参照して、上記記載の如く、エンドユーザ顧客のワークステーション(1 )において、アルゴリズム1A(15)は、ユーザ入力を入力ポート(2)に受入れ、入 力情報を分析して、コードブックの検索を実行して入力情報中の特定されたプロ パティと等価の暗号化された物を発見し、暗号化されたデータベースコマンドを 公式化して、これらをデータベースサーバに提示して、発せられたコマンドにつ いての情報を内容格納バッファ装置(13)へ蓄積する。アルゴリズム1B(19)は、 暗号応答がデータベースサーバコンピュータ(30)の通信ポート(32)から送信され 、(5)にて受信されるまで待ち、暗号を読み取り、これを一時的にデータベース 応答格納バッファ装置(17)にて蓄積する。アルゴリズム1B(19)は次に、内容格 納バッファ装置(13)を検査して、受信された暗号応答のコマンドが何と関係して いるかを決定して、コードブックの検索を行なうことによって暗号を解読し、受 信された暗号の要素に等価な普通文を決定して、(1)上のユーザによって指示さ れた通りに普通文の結果を処理する即ち、出力情報を(4)へ導く或いは(23)へ導 くか、又はこの両方へ導いて処理する。アルゴリズム1A及び1Bの中心のデー タ構造は、コードブック(11)である。エンドユーザ顧客のワークステーション(1 )上のコードブック(11)は、特 定のテーブルのための具体的なプロパティのリスティングを有しており、単独の ワークステーション(1)には、そこへのアクセスが与えられている。コードブッ クのリスティングは、1セットの(プロパティ、列)の2個組(2-tuples)で構成さ れるであろう。 [0062] このセット自体は、別個の部分集合の(プロパティ、列)の2個組に完全に分割 されてもよく、各セットは、データベースサーバ(12)上の異なったテーブルの画 面(view)である。画面は、特定のユーザへ指定されたアクセスの特権に依って、 所定のテーブル内のすべての列をリストし、又はリストしないかもしれない。一 般的に、テーブルの特定の画面から除外されているかもしれない列はそれら自体 、テーブル内の特定の属性に関している列の群で構成されるであろう。しかしな がら、ユーザは、特定の属性に関する列の一部分のみへのアクセスを容易に得る ことが出来るので、容易に、細かなレベルに細分化することが可能である。 [0063] コードブックは、2フィールドを有しているレコードの簡単なリストとして実 行されることが可能であり、該リストは、線状に蓄積される又は、メモリー(6) 内のリンクされた或いは二重にリンクされたリストへ蓄積される。当該分野の専 門家によく知られている多くの他のアルゴ リズムは利用可能であって、これらは、順方向及び逆方向に検索することが可能 であり、対の関連項目にて効果的に実行される。敏速なコードブック検索は、本 発明には重要であるのは、発明を利用する単純でないデータベースが多くのプロ パティを有しているからである。 [0064] 望ましい一実施例において、異なったデータベースに関係するコードブック(1 1)の2個組の別個、単独した部分集合(subset)は、それぞれ収集されて、敏速な 検索のために二つの別個の関連配列のようにプログラムされる。即ち、各テーブ ルに二つの関連配列であり、一方の配列はプロパティから列数へ順方向に検索さ せるものであり、二つ目の配列は列数からプロパティへ逆方向に検索させるもの である。代わりの望ましい実施例において、一つのセットとして共に利用される コードブックについてのすべての(プロパティ、列)の2個組は、二つの関連配列 (順方向の検索用の配列及び逆方向の検索用の配列)を使用して、敏速な検索のた めにプログラムされ、ここで各プロパティフィールドは、整列された対(テーブ ルネーム、プロパティ1)で構成される記号列のように構成されている。ここでは 、プロパティ1は多重のテーブルに現れるプロパティ(即ち、整列された属性−値 の対)を意味している。それゆえに、(プロパティ、列)の2個組は、次のフォー マット(テーブルネーム、プロパティ1、列)を有する コードブックエントリーとして現れるであろう。異なったユーザによって所有さ れているいくつかのテーブルは、まったく同じに名付けられるかもしれないので 、テーブルネームのフィールドはそれ自体、テーブルネーム=(所有者、テーブ ルネーム1)を有する複合構成要素であるかもしれないことに気づかれるべきであ る。更に、図6Bにおいて示されるように、多重のデータベースサーバは、ネッ トワーク上に存在することが出来る。従って、プロパティの値は実質的に、更に 拡張された階層構造、例えば住所.データベース.所有者.テーブルネーム1.プロ パティ1.にあってもよい。各コードブック自体が、簡単で、特別な目的の単一使 用者のデータベースを事実上、構成することが判るであろう。 [0065] アルゴリズム1A(15)は、平文のプロパティ情報を、定位置のqコード列情報 へ変換する。(15)は、このことを、エンドユーザ顧客のワークステーションコー ドブック(11)において「順方向の検索」を行なうことによって達成する。アルゴ リズム1B(19)は、定位置のqコード列情報を、平文プロパティ情報に変換する 。(19)は、このことを、コードブック(11)において「逆方向の検索」を行なうこ とによって達成する。 [0066] クエリー及びその他のデータベース操作は、上記に明 示したように、エンドユーザ顧客のワークステーション(1)の定位置のqコード を含んでいるSPARCOMデータベースコマンドに組み立てられる。エンドユ ーザ顧客のワークステーションでこのように公式化されたデータベースコマンド は、データベースサーバ(30)へのネットワークへ送り出される。目標のデータベ ースサーバ(30)へ送られたデータベースコマンドがこのように暗号であるのは、 定位置のqコードを含んでいるからである。エンドユーザ顧客のワークステーシ ョン(1)の通信ポート(5)からデータベースサーバ(30)の通信ポート(32)へ送られ たデータベースコマンドを含むネットワークトラフィックは、データベースコマ ンドの暗号を含んでいるので、これ自体が暗号化されることが明らかである。( このネットワークトラフィックは勿論、DES又はRSAのような、その他の形 式の暗号化技術を使って付加的に暗号化されることが出来る。) [0067] 図5を参照して、望ましい実施例において、アルゴリズム2(39)は、通信ポー ト(32)で受信されたデータベースコマンドを分解する。該コマンドは、定位置の qコードを含んでいて、それゆえ、これは暗号である。次に、アルゴリズム2(3 9)は、データベースコマンド格納バッファ装置(37)内にデータベースコマンドを 蓄積して、定位置のqコードデータベース(35)上のコマンド内で特定 された操作を実行しながら、バッファ装置(37)内で見つけられたコマンドを実行 する。クエリー及びその他の内部レベルのデータベース操作は、背景情報におい て説明されたSPARCOMアプローチを使ってデータベースサーバコンピュー タ(30)に保持されたBPMデータに実行される。このことは、データベースサー バコンピュータ(30)のメモリー(33)内に含まれるqコードデータベース(35)内で 見つけられた圧縮された2進プロパティマトリックスにおける実行操作を意味し ている。実行されたデータベース操作は、データベースサーバコンピュータ(30) に蓄積されている暗号化されたデータへ、その普通テキスト形式のデータをどん なときでも見せずに、このように直接実行される。定位置のqコードデータベー ス(35)上のコマンドを実行することによって生成された出力情報は、圧縮された BPM及び操作状況情報、例えば「トランザクションID番号」、「成功」、「 失敗」、を含んでおり、データベース応答格納バッファ装置(41)内で一時的に蓄 積される。(操作状況情報は、本発明を基本的に機能させることには不可欠では ないが、むしろこれは該システムに設けられることが可能な標準的なデータベー スプログラム情報である。「トランザクションID番号」の使用によって、複雑 なネットワークシステム内で個々のトランザクションを見失わないようにするこ とを補助する。その他の方法は、同様に、本システムの必要 条件を処理する。「トランザクションID番号」の使用は単に、この必要性に焦 点をあてる一方法として示されているだけである。)アルゴリズム2(39)によっ て行われる最後の工程は、データベースコマンドの実行によって生成された出力 情報を、コマンドを起動するエンドユーザ顧客のワークステーション(1)へ送り 返すことである。 [0068] ネットワークトラフィックは、通信ポート(32)からエンドユーザ顧客のワーク ステーション(1)の通信ポート(5)へ送られたデータベースサーバ(30)においてデ ータベースコマンドを実行することによって生成された出力情報を含んでいて、 ネットワークトラフィック自体が暗号化されていることが明白であるのは、少な くともデータが送り返されるケース内の定位置のqコード暗号である圧縮された BPMを含んでいるからである。(その他の方向にネットワークトラフィックを 有する時、このネットワークトラフィックは勿論、DES又はRSAのようなそ の他の形式の暗号化技術を用いて付加的に暗号化されることが出来る。) [0069] 代わりの実施例において、エンドユーザ顧客のワークステーション自体は、デ ータベースサーバコンピュータに配置されたBPMにおいてデータベース操作を 直接的に行なう。この場合、データベースサーバは単に、デー タベースのファイルサーバとして作動する。すべてのSPARCOMのデータベ ース操作(例えば、行列乗算を伴うクエリー)は、エンドユーザ顧客のワークステ ーションによって、それら自身のCPU及びメモリーキャッシュを使って実行さ れる。通例のトレードオフは、二つのアプローチの間に存在する。データの中央 処理は、中央ホストマシンに、一層多くを求めるであろう。ネットワークされた ワークステーションにおけるデータの遠隔処理は、中央ホストコンピュータの負 担を軽減して、デスクトップの処理電力を利用するであろう。しかし、これは、 更にネットワークトラフィックを生じるかもしれないし、データベースサーバコ ンピュータ上でデータを同時に変更しようとしている多数のエンドユーザ顧客の ワークステーションに関して更に困難な点を引き起こすかもしれない。 [0070]例1 以下の注釈付けられた例は、前述の背景の欄で記述されたSPARCOM範囲 クエリー例が、本発明の好ましい実施例により如何に扱われるかの具体例を説明 する。"Cust"関係式に対する非圧縮データ表示(BPM)は図4に示される。 1)ユーザは末端ユーザワークステーション(1)の入 力ポート(2)に高レベルデータベース範囲のクエリーコマンドを発する。 州が(‘NY’、‘NJ’、‘CT’)であれば、Custから*を選択する。 2a)アルゴリズム1A(15)はこの入力を読み、解析する。 2b)アルゴリズム1A(15)は、コードブック(11)上で順方向探索を行い、範囲 クエリーにて特定された特質への列番号を決定する。 [0071] Custテーブルに適したコードブック(11)上のエントリーは以下の通りである。 名前.Lynn 1 名前.Mark 2 名前.Bill 3 名前.Sam 4 名前.Liza 5 名前.Carl 6 通り.5 Oak 7 通り.6 Gunn 8 通り.2 Pine 9 通り.8 Main 10 通り.4 Main 11 市.Nyack 12 市.Union 13 市.Derby 14 市.Reno 15 市.Butte 16 州.NY 17 州.NJ 18 州.CT 19 州.NV 20 州.MT 21 2c)アルゴリズム1A(15)は特定された特質に基づいたコードブック探索によ り得られた手法情報に基づき、クエリーベクトルを構築する。アルゴリズムが構 築したクエリーベクトルは、2進ベクトルであり、配列要素内に1'sを持ち、配 列要素のインデックスはコードブック探索で見つけられた列番号に対応する。他 の全ての配列要素は0'sである。故にアルゴリズム1A(15)は、NY、NJ、CT と同等の列番号を含む適切なクエリーベクトルを構築する。クエリーベクトルQ Vは非圧縮形式で以下のように表される。 QV=(000000000000000011100) しかし、BPMに関し、クエリーベクトルQVを直接圧縮形式で生成することは 勿論可能であるし、望ましい。 [0072] このクエリーベクトルを圧縮形式で生成する好ましい方法は、サイズに等しい 長さを有する配列をクエリーベ クトルの非ゼロ要素(1's)の番号に割り当てる。非ゼロクエリーベクトル要素の インデックス(即ち、列番号)は、ベクトルの圧縮表示に順次入力される。(クエ リーベクトルを圧縮する代わりの方法は、勿論可能である。例えば、ベクトルは 非ゼロ列番号のインデックスのリストにリンクするものとして表される。)故に 、クエリーベクトルQVは以下のように表される。 QV=(17、18、19) [0073] 範囲クエリーはこのとき構築され、”しきい値”は末端ユーザワークステーシ ョン(1)上のアルゴリズム1A(15)によって特定される。(しきい値、このケース では”1”は、クエリーによって生成された応答マトリックスのどのエントリー が、クエリーされたBPMの対応する行が選択標準に合うことを示しているかを 決定する為に用いられる。)クエリーは、4つの領域から構成される。1)OPコー ド(オペレーションコード)2)テーブル識別番号(即ち、BPM)3)クエリーベクト ルQV 及び4)特異処理識別番号である。 データベースサーバーコンピュータ(30)は”1”に指定されるとすれば(多数 のデータベースサーバーがあることに注意)、ユーザ”6”は識別番号”38” を有するCUSTテーブルの所有者であり、クライエント4(末端ユーザワーク ステーションは範囲クエリーを処理(formula te)する)は特異処理ID”client4.id185”を生成し、このときクエリーは以下の データを含む。 Op-code="Range Query,Threshold value=1",Table ID=1.6.38,Que ry Vector=(17,18,19), Transaction ID=client4.id185 [0074] より簡潔なOPコードの表示、即ちこのケースにて”Range Query,Threshold value=1”として”RQ1”を用いて、クエリーアルゴリズム1A(15)が構築するベク トルは以下のようになる。 RQ1 1.6.38(17、18、19) client4.id185 ここでスペースは領域の境界を定める為に用いられる。明らかに、他のデリミッ ターは同様に働き、領域の順序は単に都合の便宜上のものである。更にテーブル 識別番号を一般化し、多数のデータベースが存するケースを同じデータベースサ ーバーコンピュータに含めることはまた容易なことである。例えば1.3.6.38はデ ータベースオペレーションがデータベースサーバーコンピュータ”1”、データ ベース”3”(即ち、データベースサーバーコンピュータ”1”における3番目 のデータベース)、ユーザ”6”及びテーブル”38”を示す為に用いられる。 [0075] 2d)末端ユーザワークステーション(1)上のアルゴリズム1A(15)はこのとき 上記範囲クエリーを通信ポート (5)から”1”に指定されたデータベースサーバーコンピュータ(30)に送る。ア ルゴリズムはまた他の関係あるコンテキスト情報、例えばクエリーに対する応答 出力をどこへ送るべきかに関する情報と一緒に送られてきたクエリーをコンテキ スト格納バッファ(13)へ格納する。 3a)”1”に指定されたデータベースサーバーコンピュータ(30)のメモリ(3 3)内のアルゴリズム2(39)は、このとき命令(前ステップのアルゴリズム1A(15) により送られた)をデータベースサーバーコンピュータ(30)上の通信ポート(32) 上で受ける。 [0076] 3b)アルゴリズム2(39)は命令を解析し、特定されたコマンドを実行する。 このケースのOPコードは”RQ1”であり、”範囲クエリー, しきい値=1”、命令参照テーブル38を意味し、命令はクエリーベクトルQV= (17、18、19)を提供する。故にアルゴリズム2(39)はこの行列掛け算を実行する 。 RM=BPM38X(17、18、19)T RMは応答マトリックスである。Table 38=BPM38及び(17、18、19)Tは、クエ リーベクトルQV=(17、18、19)の置換である。背景の項で述べられた注釈図4 は、このマトリックス掛け算の圧縮されない表示を示す。 [0077] 本発明の好ましい実施例の1つに於いて、テーブル38(即ちBPM38)は背景部 に於いて記載された単一のインデックス圧縮手法を用いて、圧縮されたBPMと して実行される。このゆえにテーブル38(即ち、BPM38)はその次元とともに単 一のベクトルとして次のように示される。 (1,7,12,17,25,32,34,41,44,52,56,61,68,71,79,84,87,93,99,102,111,11 2,117,122) Dim(6,21) 同様に応答マトリックスRMは、その次元とともにベクトルとして次のように示 される。 (1,3,5,6) Dim(6,1) (このケースに於いて応答マトリクス内の非ゼロエントリーの値を格納する必要 はない。なぜならクエリーの性質に従って、それらは全て1に等しいからである 。) [0078] 応答マトリクスRMは、このときテーブル(38)から選択標準を満たす行を選択 するために用いられる。(これは応答マトリクスRMが実際には積極的に格納さ れる必要がないように、実際には"処理中(on the fly)"と成される)。OPコー ドは"RQ1"、即ちしきい値1の範囲クエリー動作を示し、しきい値1の応答マト リクス内のエントリーの行の数は、BPM38内の対応する行は範囲クエリ ーを満たすことを示している。それ故に、図4に示すように、行1、3、5及び 6は範囲クエリーに合うように選択される。(背景の項に述べられているように 、異なるクエリーは異なるしきい値を有する)。アルゴリズム2(39)は範囲クエ リーを満たす4つのBPM38の行から成る新たなマトリックスBPMRESPONSEを 生成する。これを表す非圧縮のBPMは以下に与えられる。 しかし、BPMRESPONSEは圧縮形式で生成され、単一のインデックス圧縮手法 の使用は、以下に表示される。 (1,7,12,17,23,31,35,40,45,51,57,60,69,70,75,80) Dim(4,21) BPMRESPONEは一時的にデータベース応答格納バッファ(41)に格納される。 [0079] 3c)アルゴリズム2(39)は次にデータベースサーバーコンピュータ(30)(こ のケースにてデータベースコサーバーンピュータ”1”として指定された)から 通信ポート(32)を介して末端ユーザワークステーション(1)の通信 ポート(5)に暗号を送り、ワークステーションは丁度処理された命令をこのケー スでは即ち客4に送る。暗号応答は4つの領域から成る。1)BPMRESPONSEの 単一のインデックス圧縮手法からのベクトル、2)BPMRESPONSEの次元を与え る順序付けられたペア、3)最初は範囲クエリーとともに単に識別する為に送ら れる処理ID"client4.id185"、4)特定されたRQ1動作の好結果の終了を示す動 作ステータスコード。領域1)と2)はデータベース応答格納バッファ(41)から 取られ、領域3)はデータベース命令格納バッファ(37)から取られ、一方領域4 )はアルゴリズム2(39)により直接生成される。”RQ1AA”が適切なステータス コードを表すとすると、暗号応答は以下のようになる。 (1,7,12,17,23,31,35,40,45,51,57,60,69,70,75,80)(4.21)client4.id185RQ 1AA ここでスペースは前記の如く領域の境界を定める為に用いられる。 [0080] 4a)末端ユーザワークステーション(1)、このケースでは客4、上のアルゴ リズム1B(19)はデータベースサーバーコンピュータ(30)(このケースにてデータ ベースコサーバーンピュータ”1”として指定された)の通信ポート(32)から送 られる上記暗号応答を処理する。アルゴリズムは通信ポート(5)上にて受信され た暗号応答を読み、 一時的にデータベース応答格納バッファ(17)に格納する。アルゴリズム1B(19)は このとき受信された暗号応答を以下のステップを用いて解読する。 1) 動作ステータスコードをチェックし、RQ1AAが好結果を示したから 続行する。 2) 処理IDをチェックする。処理IDはこの処理の為に特定されたコ ンテキスト情報をコンテキスト格納バッファ(13)内に置くために用いられ、コン テキスト格納バッファはこの処理が”Cust”関係式に適していることを示す。 3) コードブック(11)を逆探索することによりBPMRESPONSE(これは 、暗号応答の最初の2つの領域内にある単一インデックス手法圧縮形式にて与え られる。)を解読し、BPMRESPONSEの各行に存在する特質を決定する。逆探索 は”Cust”関係式に適するコードブックのエントリー上にて成され、BPMRESP ONSE によって特定された列番号に対して(平文)特質同等物を見出す。 [0081] 4b)アルゴリズム1B(19)はコンテキスト格納バッファ(13)内にてこの処理の 為に特定されたコンテキスト情報をチェックし、上記ステップ4aにて生成され た解読データがいかに導かれフォーマットされるかを決定する。コンテキスト情 報は送られた出力が直接に出力ポート(4)に送られるべきか、補助ユーザ格納エ リア(23)に送 られるべきかを特定し、またコンテキスト情報は出力ポート(4)と補助ユーザ格 納エリア(23)の両方に送ることを特定できる。代わりにコンテキスト情報は、出 力は末端ユーザワークステーション(1)のメモリ(6)内に存する他の処理又は応 用を経るべきかを特定する。 データのフォーマットが通常のタイプとすれば、アルゴリズム1B(15)により生 成される出力は以下のようになる。 Lynn 5 Oak Street Nyack,NY Mark 8 Main Street Derby,CT Bill 2 Pine Street Reno,NJ Carl 5 Oak Street Nyack,NY [0082] 動作の挿入、更新、削除は、本発明を用いて、範囲クエリーに対する上記例( 例1)に類似し、データはデータベースサーバーコンピュータ(30)のメモリ(33) 内でQコードデータベース(35)に変えられる明白な違いを有する方法にて遂行さ れる。SPARCOM方法を用いて動作の挿入、更新を行うことに関し、新たな 特質が特定されたときに、データベーステーブル(BPM)に列の追加供給が成さ れなければならない。これは我々の知る限り、従来技術にはない。この問題を取 り扱う好ましい方法は、任意のテーブルの創造子(creator)に対し基本的なBP Mが持つ列番号を特定することである。新たな特質には、 このときBPMの列次元を再び作る必要なしにテーブル(BPM)内に導入される ように列番号が割り当てられる。割り当てられた特質がない列番号は、”利用で きる列格納プール”内に置かれ、必要な基礎上にて順序を割り当てられて(連続 的に又はランダムに)、”利用できる列格納プール”から取り除かれる。列の欠 落した番号は、テーブルの創造子により値が供給されないときには、DBMSに よって供給される。 [0083] たとえBPM内に非ゼロ値のみが格納されていても、BPM内の列番号はBP Mの圧縮表示のサイズに影響を与えることは明白である。圧縮されたBPMのサ イズは列番号を表示するのに要求されるビットの数に大凡比例し、例えば655 36(216)の列を有するBPMは、夫々多くの基礎的なコンピュータハードウエ ア構造上で16ビットにて表されることができる。 [0084] 新たな特質が導入される前に(挿入又は更新動作のいずれかにより)BPM内に 列番号をプリセットすることは、特に単一インデックス圧縮手法が利用されると きに、SPARCOMデータベース内の挿入又は更新動作の遂行を容易にする。 例えば、図4のBPMの単一インデックス手法表示を考える。 (1,7,12,17,25,32,34,41,44,52,56,61,68,71,79,84,87, 93,99,102,111,112,117,122) Dim(6,21), このBPMに、BPMに新たな特質情報(Ann,6 Gulf Road,Tampa,FL)の新たな 列を挿入することは、4つの新たな特質列の追加が必要とされる。修正された非 圧縮BPMはこのとき以下のように示される。 但し、新たな列が挿入された箇所は修正されたBPMの最後の列であり、新た な4つの特質列は列22−25である。修正されたBPMの単一インデックス手 法表示は、以下のように示される。 (1,7,12,17,29,36,38,52,60,64,69,80,83,91,96,103,109,115,118,131,132,13 7,142,172,173,174,175) Dim(7,25). [0085] 明らかに本例に於いて、新たな特質の追加によりBPMの列の数が変わるから 、BPM内の非ゼロ(”1’s ”)エントリーのインデックス値は、BPMの単一インデックス手法表示につい て再計算されなければならない。 BPMにデータを挿入する前に列番号を大きな番号にプリセットすることは、 単一インデックス圧縮手法の下でBPMの非ゼロ(”1’s”)エントリーのイン デックスを再計算しなければならない問題を解消する。 [0086] 結合 結合は、関係するデータベースシステムに於いて、特に重要な動作である。当 業者はSPARCOM DBMS(即ち、データベース情報を構築し、掛け算す るSPARCOM方法を用いるDBMSに於いて)に於いて結合動作を実行でき 、これゆえにシステム上にて本発明が利用できる。それにもかかわらず、自然結 合(また等価結合として知られる)の構築を容易にするSPARCOMデータベー スに於ける列を数える2つの有用で自明でないシステム及び方法が以下に示され る。 [0087] SPARCOMデータベースを実行する好ましい方法及びシステムは、データ ベースの全ての関係式を結合して、単一の”データベース2進特質マトリックス ”又は”DBPM”にする。DBPMはデータベース(好ましくはSPARCO Mの通常形式)の関係式内に存する全ての特質(即ち列)を結合し、同じ特質に適 用するこれらの 列を併合し、DBPMに組み入れられる各関係式に列を追加する。これゆえに、 データベースの各列は、特定のデータベース関係式(好ましくはSPARCOM の通常形式)に適し、行が適する関係式は特別な関係式で関連づけられた列内の ”1”の存在により示される。SPARCOMデータベースシステムを実行する 為の第2の好ましい方法(及びシステム)は、DBPMの実質上実行を伴う。これ は、第1の実施例を用いて得られる同じ列番号手法を利用するが、(SPARC OM方法のアシャニー氏(Ashany's)の元の形式化を用いて)各関係式について分 離したBPMを維持する。本発明の第2の好ましい実施例のケースに於いて、勿 論圧縮形式にて非ゼロ(即ち”1”列)が格納され、及び/又は掛け算されるけれ ども、全てのBPMは同じ列総番号を持っていることは特筆されるべきである。 また、2番目の方法に於いて、与えられたBPM内の全ての行は、個々の関係式 に明らかに関係しているから、個々の行が関係する特別な関係式を表す為に列を 維持する必要はない。 [0088] SPARCOM DBMSは、この単一の計数システムに従って、SPARC OMデータベースの列を数えることを簡単に援助できる。DBMSはカウンタを 維持し、データベースに追加された新たな特質に、カウンタの増分値に等しい新 たな列番号を単に割り当てる。また、S PARCOMデータベース内にて、一意的な列番号を割り当てる方法をより複雑 にプログラミングすることも、更により容易にプログラミングすることも明らか に使用可能である。DBPMの為に列番号をプリセットし、全ての列番号をデー タベース創造時に”利用できる列番号プール”に入れることは、”利用できる列 番号プール”内の利用可能な番号の範囲から列番号を”ランダムに”選択する為 に、乱数生成器の使用を許す。本発明に於いて、異なる関係式内にて識別列番号 を識別特質に割り当てることは、特質が既に存在しているか、上記に定義された ように特質が属性値ペアをどこに示しているかを決定する為にコードブック(11) をチェックすることにより、末端ユーザワークステーション(1)上にて達成でき る。 [0089] 関係式の非ゼロ属性を含む自然結合は、SPARCOMデータベース上にて達 成され、該データベースの列は自然結合内に含まれるBPMの2つの関係式を掛 けることにより上記手法に従って順序付けられる。掛け算の前に、関係式の1つ に基づき、投影が最初に遂行され、結合内に含まれない全ての属性を排出すべき である。掛け算はこのとき”消去関係式”を用いて遂行される。 [0090] ここで特定されたユニバーサル計数手法を用いることにより、データベース内 の全てのBPMは同じ列番号を 持ち、それにより、あるマトリックス又は他のマトリックスが取り換えられた後 に、互いの掛け算に準拠した全ての関係式に関連づけられるBPMを作る。また 、特定されたユニバーサル計数手法を用いることにより、異なる関係式間の識別 属性は同じ列番号を分かち合う事実は、マトリックスが掛けられたときに応答マ トリクス内の非ゼロ(”1’s”)の位置が、マトリックス掛け算に含まれるB PMのどの行が結合されるべきかを示すようにする。マトリックス掛け算から得 られる応答マトリックスはこのように、互いに結合されるようにマトリックス掛 け算の2つの元のBPMの行を選択する為に用いられる。結合の為のマトリック ス掛け算を遂行する前に自然結合に含まれていない共通の属性を排出することは 、(即ち、以前に「きれいにする」と表現したとおり)応答マトリックス内にて” 誤正数”が得られることを防ぐ。しかし、応答マトリックスは、どの行又は元の BPMが結合されるべきか、即ち関係式のBPMが結合されるべきことを示すこ とに注意する。 [0091] 明らかに、SPARCOMデータベース内で列を数えるためにこの手法を用い ることは、非圧縮形式内で採用されるBPMのサイズを著しく増大する。BPM は勿論圧縮形式で格納されているから、もう一度繰り返すが、格納されたデータ のサイズに基づく実際のインパクトは 非常に小さい。 次の例は、列番号がここでの記載に従って割り当てられたときに、自然結合が SPARCOM構築データ上でどのように遂行されるかを説明する。用いられる データセットは、目的を説明するには非常に僅かである。 [0092]例2 図4で”Cust”関係式に対して与えられるBPM、及び図7で”Sale s Rep”関係式に対して与えられるBPMを考える。これら2つのBPMは 、同じ列番号を有し、2つの関係式が共通に持つ全ての特質が同じ列番号を利用 するように修正されることができる。”Cust”及び”Sales Rep” に対する2つの修正されたBPMは夫々図8及び図7Bに示される。”state(州 )”属性上でこれら2つの関係式を結合するSQLステートメントは以下に与え られる。 Select * from Cust c、Salesreps where c.state=s.state; [0093] 関係"”の”state(州)"特質のみを選択すべく投影して、図7cのBPMを得 る。このBPMを取り換えて図7DのBPMを得る。”Cust”関係式(図8) のBPMと”Sales Rep”関係式(図7D)の取り換えられたBPMとの マトリックス掛け算を実行して、図9の 応答マトリックスBPM9を得る。BPM9は3つの非ゼロ(”1’s”)エントリ ー、(1、1)(1、3)(2、2)を持つ。これらのエントリーは結合されるべき元 のBPM(図8及び図7Bにより示される)の行:結合されるべきBPM6の行1 とBPM7Bの行1、BPM8の行2とBPM7Bの行2、及びBPM8の行6とBP M7Bの行1を特定する。 [0094] 鍵の交換 本発明では、各末端ユーザのクライアントワークステーションは、コードブッ ク情報を持っているので、データベースのサーバコンピュータ上のBPMデータ を解釈することができるだけである。逆に言うと、末端ユーザのクライアントワ ークステーションは、コードブックエントリーを持っていなければ、それらの列 の意味を解釈することはできない。BPMデータベース情報を、2又はそれ以上 の末端ユーザのクライアントワークステーションでアクセスできるようにするた めに、これらの末端ユーザのクライアントワークステーショのコードブックには 、アクセスを共有するプロパティ用のエントリーを含んでいなければならない。 つまり、本発明では、コードブック情報(全文又は状況により部分的なものの何 れか)を安全に配布するために、ある種の機構又は方法が利用されることを必要 としており、その結果、データベー ス情報を共有することができる。新たなプロパティを、末端ユーザのクライアン トワークステーションからテーブルに加えると、この情報へアクセスを許可され た他の末端ユーザのクライアントワークステーションは、新たなプロパティ用の エントリーで更新されたコードブックを持たなければならない。コードブックエ ントリーの交換は、明らかに鍵交換の問題となる。コードブックエントリーは暗 号鍵である。それ故、コードブックエントリーについての詳細な情報の移動は、 暗号鍵の交換である。 [0095] 暗号鍵を安全に交換する方法についての問題は、周知の問題であり、多くのプ ロトコルと方法によって、うまくアドレスされている。 コードブックの更新情報は、直接的(ピアツーピア)に配布されるか、又は委託 された仲介者を通じて配布されるかの何れかである。 [0096] 公開鍵暗号技術(例えば、RSA)を利用したピアツーピア手法を用いて、コー ドブックエントリーの交換を処理すると、末端ユーザのクライアントワークステ ーション(以下のステップでは「送信局」という)の鍵共有機構(又はアルゴリズ ム)は、以下のステップによって、コードブック更新版を、他の末端ユーザのク ライアントワークステーションに送信する。 ステップ1)どの末端ユーザのクライアントワークステーションが、配布され るコードブックエントリーに結合したデータベース情報にアクセスする権利を与 えられているかを決めるための照合を行なう。本発明の望ましい実施例として、 この情報は、ローカルに維持される。他の望ましい実施例として、この情報は、 委託された第三者機関のコンピュータにリモートに保持される。 ステップ2)コードブックエントリーは、送信局の非公開鍵(private key)を 用いて電子署名(暗号化)される。 ステップ3)次に、電子署名された(つまり暗号化されている)コードブックエ ントリーは、コードブック更新版を受信する権限を与えられた末端ユーザのクラ イアントワークステーションの公開鍵を用いて暗号化される。 ステップ4)適当なコードブック更新版は、送信局から、更新版を受信する権 限を与えられた他の末端ユーザのクライアントワークステーションに送信される 。 [0097] 暗号化されたコードブック更新版を受信する末端ユーザのクライアントワーク ステーション(以下のステップでは「受信局」」という)は、以下のステップによ り、送信局からのコードブック更新版を受信する。 ステップ1)公開鍵で暗号化されたコードブック更新版を受信する。送信局が 、更新版を供給する権限を有しているかどうかを照合する。権限を有しておれば 、次の ステップに進み、そうでなければ、セキュリティの侵害が発生したことを通知す る。 ステップ2)受信したコードブック更新版を非公開鍵(即ち受信局の非公開鍵) を用いて解読する。これによって、送信局の非公開鍵で暗号化されたコードブッ ク更新版から構成される別の暗号化されたメッセージが(おそらく)生み出される 。 ステップ3)前のステップで獲得された暗号文を、送信局の公開鍵を用いて解 読し、受信したコードブック更新版の出所が正しいことを確認する。受信した更 新版が真正(即ち、送信局が、特定された個々のリレーションに対して、コード ブックの更新版の提供を許可されている)であれば、受信局は、次のステップに 進み、そうでなければ、セキュリティの侵害が発生したことを通知する。 ステップ4)受信局のコードブックは、受信された情報によって更新される。 [0098] 鍵を安全に交換する低度技術の方法であるが、末端ユーザのクライアントワー クステーションのユーザが、転送されるqコード列情報にアクセスする権限を持 つ他のユーザへ、適当なコードブック更新版の入ったディスケットを個人的に運 ぶことが、迅速性には欠けるけれども、それにも拘わらず効果的な方法である。 さらに安全にするには、各ディスケットの内容を、所望の受取人の公開 鍵を用いて夫々暗号化して、所望の受取人のみが、データを使用できるようにす ればよい。 [0099] 「委託された鍵サーバ」は、コードブック情報を配布するためにも用いること ができる。この場合、更新版は、最初に委託された鍵サーバに送信され、委託さ れた鍵サーバは、その許可データベース(authorization database)を確認し、暗 号化されたコードブック更新版を情報を持つ権限のある末端ユーザのクライアン トワークステーションに送る。図10Aは、本発明の構成を示しており、委託さ れた鍵サーバを含んでいる。注目すべきことは、委託された鍵サーバには、「完 全なる委託」を具えている必要はないことである。例えば、ネットワーク上のど のデータベースサーバコンピュータにもアクセスを認められている必要はなく、 また、鍵を配布する導管(conduit)を一つも必要としない。それ故、DBA(デー タベース管理者)は、委託された鍵サーバを管理し、データベーステーブルを定 義するにもかかわらず、データへのアクセス権を持っていなくてもよい。多数の 委託された鍵サーバを、同様に利用することもできる。図10Bは、本発明の構 成を示しており、多数のデータベースサーバコンピュータだけでなく、多数の委 託された鍵サーバを含んでいる。 [0100] 暗号の拡張 定位置Qコードの長さの拡張 この発明に使用される方法であって、データベースサーバコンピュータ上で、 プロパティの見かけの統計上頻度(apparent statistical frequencies)を変える いくつかの方法について、以下で具体的に説明する。これらの方法を用いること によって、データベースサーバコンピュータ上にあるデータ(即ち、BPM)の暗 号化を、より困難にする。 [0101] 1)ダミー列 BPMには、意味のない列を付け加えることができ、「1」と「0」を、どの ようなやり方でも、例えばランダムに、又は現在の行にいくつかの「1」と相関 する機能として付け加えることができる。 末端ユーザのクライアントワークステーションには、その情報にアクセスを継 続するために、コードブック更新版を提供する必要はなく、導入されたデータは 、BPMの暗号化をより困難にすることにのみ有用である。それでもやはり、「 ダミー列を含むコードブック更新版」を送出することは十分に有用であり、他人 が、BPM更新版の「真」と「偽」を区別するのを阻害する。 [0102] 2)ダミー行 意味のない(又は間違った)行の情報を、データベースに付加することができる 。末端ユーザのクライアントワークステーションは、ダミーの存在を認識し、デ ータベース操作を行なう際に、それらを無視できる必要がある。ダミー行を処理 する望ましい方法は、「ダミー行マーカー列」を用いて、ダミー行をもつBPM を提供することである。すべてのダミー行は、また、少なくとも一つの「ダミー マーカー列」に「1」を有する。ダミー行を含むBPMにアクセスする権限を有 する末端ユーザのクライアントワークステーションは、BPM中で、ダミー列マ ーカーのコードブック情報の提供を受ける。データベースの演算は、まず、特定 の行が、ダミー列マーカーを含んでいるかどうかを確認し、ダミー列マーカーを 含んでいる場合、その行を無視する。 [0103] 3)列分割 この方法を用いて、プロパティ頻度が均一化される。例えば、すべての兵士の 80%が男性であるということが知られているならば、4つの列は、プロパティ 「男性」を記録するために用いられ、4列毎の1列には、プロパティ「女性」を 記録するのに用いられる。所与の特性に対して、種々のプロパティの頻度に変動 がない場合でも、複数の列が、プロパティのために用いられ、現実の統計上頻度 をスキューし、又は、プロパティと列との 関係を単にわかりにくくする。 [0104] 列分割の最も極端なフォームの一つとして、各列が、プロパティ発生の一つの 例にのみ用いられることがある。 プロパティの第2の例を、BPMに付加する必要があれば、新しい列が、それに 付加されなければならない。例として、次の4つの記録について考える。 マーサ、 女性、青い目、 5'6"、120ポンド ジョージ、男性、青い目、 6'1"、190ポンド ジョージ、男性、茶色の目、5'6"、190ポンド リサ、 女性、茶色の目、5'6"、120ポンド [0105] これらの記録は、次のBPM(又はこのBPMの中で、いくつかを列方向に並 べたもの)で表わされ、列の意味を明白にするために注釈を付けておいた。 情報の理論的な観点から、この方法で構成されたBPMは、驚くほど秘密性の 高いものとなる。クエリーの操 作は、依然として、このBPM上で行なわれていることに注目すべきである。 [0106] 委託された鍵サーバは、様々な特性を具える種々のプロパティの頻度を監視す るためにアクセスを許容されており、ある閾値が限界を超えたときには、列の分 割を指示する。又は、列の分割は、末端ユーザのクライアントワークステーショ ンに基づいて並べ直されるので、末端ユーザのクライアントワークステーション は、勿論、アクセスを許可されたプロパティについての頻度を演算することがで きる。 [0107] 4)列オフセット 圧縮して表わされたBPM中のすべての指数には、実際の値からオフセットを 行なう。異なるBPMには、異なるオフセットが行なわれる。ランダムな(そう でなければ意味のない)データを作り出し、所与のBPMに適用されたオフセッ トよりも小さいインデックス値を持つ列を埋める。オフセットは、元の値を容易 に演算できる如何なる数式によっても行なうことができ、元のインデックス値は 、データベース操作で用いることができる。とても簡単な例として、もう一度図 4を参照すると、+5のオフセットが、一つのインデックス圧縮系で表わされた BPMに適用されると、BPMは、次のように表わされ る。 (6,12,17,22,30,37,39,46,49,57,61,66,73,76,84,89,92,98,104,107,116,117,12 2,127) Dim(11,26) [0108] オフセットを有する所与のBPMにアクセスする権限を有する末端ユーザのク ライアントワークステーションは、そのBPM用のオフセット情報が安全に配布 されなければならない。BPMを含む演算は、また、BPMのオフセットを考慮 して適合化され、オフセットよりも小さいインデックス値を持つ列のデータをは っきりと廃棄し又は無視しなければならない。一又はそれ以上の委託された鍵サ ーバを用いた構成が、この発明で用いられる場合、所与のBPMについてのオフ セット情報は、そのBPMについてのコードブック更新版を配布するのに用いら れた同じ委託された鍵サーバを介して送信される必要はない。オフセット情報は 、異なる委託された鍵サーバから、又は、直接末端ユーザのクライアントワーク ステーション間の何れかで配信することができる。末端ユーザのクライアントワ ークステーションからデータベースサーバに発行されるデータベースの命令には 、また、列オフセット情報を含んでいる。 [0109] 圧縮スパースマトリックスの次元情報の暗号化 この発明で用いられる圧縮BPMの次元を暗号化することにより、追加の安全 性を容易にすることが提供できる。ビットマップを用いたスパースマトリックス の圧縮や、単一インデックス又はダブルインデックス圧縮系はすべて、マトリッ クスの次元が特定されていることを必要とする。他のスパースマトリックス圧縮 系にも、マトリックスの次元が、マトリックスを圧縮するために特定されている 必要がある。圧縮スパースマトリックスの次元を特定するデータをただ暗号化す るだけで、殆んど実施コストなしで、コード化されたマトリックスの暗号化によ る安全性が高められる。 [0110] 例えば、単一のインデックス圧縮系では、BPM Aは、ちょうど2つの成分 からなり、それは、1)BPMの次元を特定する2要素の組と、2)BPM中の ゼロでない要素の位置を特定するベクトルvである。単一のインデックス化され た方法では、Aの要素は、順次、一次元に並べられる。それ故、A中の列の数を 知ることが、ベクトルvの各要素であるAの列と行が表しているものを解釈する ために極めて重要となる。SPARCOMデータベースのBPMは、一般的に非 常に大きいので、図示するために、図11では、5×8マトリックス中で、要素 の位置をまっすぐに並べたものを示しており、例示した BPMの同じ次元の単一インデックス系を表している。 [0111] 図11の例中、マトリックスの次元がDim(5,8)(特に、列数が8に等しいとき) であることを知らなければ、例えば、13の値を有するベクトルvの4番目の要 素は、BPM Aが、座標(2,5)にて「1」を有しているということを意味してい ることを知ることができないことがわかる。同様に、37の値を有するベクトル vの10番目の要素が、座標(5,5)でAが「1」を有していることを意味してい ることを知ることはできない。勿論、座標(2,5)と(5,5)の両方が、Aで「1」で あることを知らなければ、BPM Aの2番目と5番目の両方のレコードは、B PMの五番目の列がどのようなプロパティを表していたとしても、プロパティの 点で同じであることがわからないことを意味する。 どのような暗号化系(望ましくは強力な系)でも、データベース記憶装置に保持 された圧縮スパースマトリックスの次元の暗号化に用いることができる。 [0112] 6)BPM列の並べ替え BPMの列を並べ替えることは、情報にアクセスするのに必要な鍵を変える方 法である。列並べ替えは、多くの方法によって成し遂げることができる。これを 成し遂げるための望ましい方法は、テーブルの持ち主が、次の ステップにより、自分の末端ユーザのクライアントワークステーションで、この タスクを行なうことである。 ステップ1) 自分の末端ユーザのクライアントワークステーションにテーブ ル(BPM)をダウンロードする。 ステップ2) 列をランダムに並べ替える。(擬似ランダム数発生器を用いた プログラムが、列の順序づけの選択を補助するために用いられ、或いは、列の順 序づけの選択を補助する物理的なソースの乱数で結合したプログラムが用いられ る。) ステップ3) データベースサーバコンピュータから元のBPMを削除する。 ステップ4) 元のBPMに変えて、新たに並べ替えたBPMをデータベース サーバコンピュータにアップロードする。 この方法でBPM Aを並べ替えた後、勿論、BPM Aのデータにアクセスす る権限を有する利用者にコードブック更新版を提供する必要がある。 [0113] 自然結合操作(natural join operations)を手助けするために、上述の特定さ れた列に対して、汎用数体系手法(universal numbering scheme)を用いるならば 、BPM Aと同じように、プロパティを有する他のBPMは、BPM Aのプロ パティ列数の割り当てと同じやり方で並べ替えられた列を有していなければなら ない。連鎖BPM の並べ替えは、データベースのBPMに存在する共通のプロパティのウェブによ って、プロパティ列数を、一貫して維持するために必要であることは明らかであ る。 [0114] 本発明の配布型データベース構築についての変形 この発明の最初に述べた配布型データベース構築について、図6Aに示してい る。他の配布型データベース構築を特定する図を、図6B、図10A及び図10 Bに示している。この発明の配布型データベース構築の構成要素を配布する方法 は、その他にも多くあるが、それらはここに記された発明と矛盾しないことは明 らかである。注目すべき付加的な形態は、ネットワーク上に位置し、利用可能な SPARCOMデータのいくつか又はすべての個々の末端ユーザのワークステー ションのハウスポーション(house portions)を有するということである。この計 画の下では、末端ユーザのワークステーションは、1又は2以上の異なったデー タベースのみのSPARCOMサーバの代わりに、他の末端ユーザのワークステ ーション上に位置するSPARCOMデータベース情報にアクセスするであろう 。 [0115] データベースのプロパティ独立性 本発明の実用的な利点は、データベースに対して、プロパティの独立性を提供 できる点にある。この発明で用 いられる圧縮BPMは、プロパティが存在しているか、存在していないかという ことのみを記録し、実際に末端ユーザのクライアントワークステーションが、ア クセス権を持つ各プロパティの内容を特定する。異なる末端ユーザのクライアン トワークステーション上で、所与のプロパティ(即ち、「列の分割」が用いられ た場合は、BPM列数、又は1セットの列数)に対するコードブックのエントリ ーには、所与のプロパティについての異なる解釈が含まれる。例えば、所与のB PMで同じ列について言及した2つの異なるコードブックは、異なる自然言語、 例えば、英語と日本語で、同じ意味をもつエントリーを含むことができる。属性 適用データベース(attribute oriented databases)と比較すると、この発明で用 いられる圧縮BPMデータは、完全に自然言語の偏りがない。この発明によって 提供されるプロパティの独立性は、イメージや、ビデオ、音だけでなく、これら のタイプの対象を示すもののような、より複雑なデータ対象についても適用でき る。例えば、一方のコードブックは、所与のプロパティに対してテキスト値を特 定しており、他方のコードブックは、同じBPM列数に対してオーディオ又はイ メージファイルで特定するものであるように、同じBPMに対して言及する2つ の異なるコードブックには、同じプロパティに対して異なるデータタイプを有し ているエントリーさえも含めることができる。 [0116] 本発明は、例示を目的とした上述の実施例で詳細に説明されているが、これら 説明は、単にその目的のためのものであり、次の請求の範囲の記載された事項を 除いて、本発明の精神と範囲から離れることなく、当業者が変形を加え得ること は理解されるべきである。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G09C 1/00 660 G06F 15/40 320B

Claims (1)

  1. 【特許請求の範囲】 1.データを安全に格納するための装置であって、 意味的に暗号化されたデータを格納するデータベースと、 データの解読を必要とすることなしに、意味的に暗号化されたデータで、有 意味なデータベース操作を行なうためのデータベース機構であって、前記データ ベースに接続されたデータベース機構、及び 前記データベースに接続され、データベース機構からデータを獲得するアク セス機構と、 を具える。 2.請求項1に記載の装置であって、アクセス機構は、暗号化/解読機構を含ん でおり、該暗号化/解読機構は、データベース機構へ接続され、暗号化されたデ ータを受信し、データを解読し、解読されたデータをデータベースに提供し、及 び、データベース機構から暗号化されたデータを受信し、暗号化されたデータを 解読する。 3.請求項2に記載の装置であって、意味的に暗号化されたデータは、プロパテ ィに基づく定位置Qコードである。 4.請求項3に記載の装置であって、プロパティ用の定位置Q−コードは、疎二 進マトリックスを含んでいる。 5.請求項4に記載の装置であって、アクセス機構は、末端ユーザのワークステ ーションを含んでおり、該末端ユーザのワークステーションは、利用者のCPU と、該CPUに接続されたワークステーションメモリを有しており、暗号化/解 読機構は、メモリーに格納されたコードブックと、メモリーの中に、コードブッ クにアクセスし、コードブックを更新するソフトウェアプログラムとを含んでい る。 6.請求項5に記載の装置であって、データベース機構とデータベースとを有す るデータベースサーバコンピュータを含んでいる。 7.請求項6に記載の装置であって、データベース機構は、サーバCPUと、該 サーバCPUに接続されたサーバメモリを含んでおり、サーバメモリーは、デー タベースを有している。 8.請求項7に記載の装置であって、サーバメモリは、データベースの命令格納 バッファーと、データベースの応答格納バッファーを含んでいる。 9.請求項8に記載の装置であって、サーバコンピュータは、サーバメモリとサ ーバCPUに接続されたサーバ通信ポートを含んでいる。 10.請求項9に記載の装置であって、ワークステーションは、ワークステーショ ン通信ポート、入力ポート及び出力ポートを含んでおり、ワークステーション通 信 ポートは、サーバ通信ポート及び、ワークステーションCPUとワークステーシ ョンメモリに接続され、入力ポートと出力ポートは、ワークステーションメモリ ーとワークステーションCPU及びワークステーション通信ポートに接続される 。 11.データを安全に格納するための装置であって、 完全にインデックス化されたデータを有するデータベース機構と、 完全にインデックス化されたデータへのアクセス及び、解釈することが許容 されたインデックス情報を持った完全にインデックス化されたデータについて、 又は該データを用いて、操作を行なうためのデータベース機構であって、前記デ ータベースに接続されたデータベース機構と、 データベース機構に接続され、データベース機構からデータを獲得するため のアクセス機構と、 を具えている。 12.請求項4に記載の装置であって、プロパティ用の定位置Qコードは、該プロ パティ用の定位置Qコードの安全性を高めるために、ダミー列、ダミー行、列分 割、列オフセット、圧縮疎行列の次元情報の暗号化、又は、BPM列の並べ替え を用いる。 13.データを格納するための装置であって、 意味的に表わされたデータを格納するデータベース と、 意味的に表わされたデータを用いて、データベースの操作を行なうデータベ ース機構であって、前記データベースに接続されたデータベース機構と、 データベース機構からデータを獲得するためにデータベース機構に接続され たアクセス機構であって、異なるユーザに、意味的に暗号化されたデータの異な る表現を提供するアクセス機構と、 を具える。 14.請求項13に記載の装置であって、アクセス機構は、異なる利用者に、意味 的に表現されたデータを異なる自然言語で翻訳して提供する。 15.請求項13に記載の装置であって、アクセス機構は、視覚を損じた人に、意 味的に表わされたデータを音声表現で提供する。 16.データを安全に格納する方法であって、 メモリーに意味的に暗号化されたデータを格納するステップと、 データの解読を必要とすることなしに、メモリーからの意味的に暗号化され たデータを用いて、データベースを操作するステップ、及び、 メモリーからデータを獲得するステップと、 を含んでいる。
JP53026198A 1996-12-30 1997-12-29 データを安全に格納する方法及び装置 Pending JP2001507837A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/777,414 US5963642A (en) 1996-12-30 1996-12-30 Method and apparatus for secure storage of data
US08/777,414 1996-12-30
PCT/US1997/024025 WO1998029981A1 (en) 1996-12-30 1997-12-29 Method and apparatus for secure storage of data

Publications (1)

Publication Number Publication Date
JP2001507837A true JP2001507837A (ja) 2001-06-12

Family

ID=25110198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53026198A Pending JP2001507837A (ja) 1996-12-30 1997-12-29 データを安全に格納する方法及び装置

Country Status (6)

Country Link
US (1) US5963642A (ja)
EP (1) EP1013030A4 (ja)
JP (1) JP2001507837A (ja)
AU (1) AU5723198A (ja)
CA (1) CA2276036C (ja)
WO (1) WO1998029981A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012115031A1 (ja) * 2011-02-22 2012-08-30 三菱電機株式会社 検索システム、検索システムの検索方法、情報処理装置、検索プログラム、対応キーワード管理装置および対応キーワード管理プログラム
JP2016081526A (ja) * 2014-10-10 2016-05-16 富士通株式会社 テーブル再構成装置と方法

Families Citing this family (171)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE506853C2 (sv) * 1996-06-20 1998-02-16 Anonymity Prot In Sweden Ab Metod för databearbetning
JP3607107B2 (ja) * 1998-03-13 2005-01-05 株式会社東芝 データ管理装置
US6574733B1 (en) * 1999-01-25 2003-06-03 Entrust Technologies Limited Centralized secure backup system and method
US6502134B1 (en) * 1999-05-05 2002-12-31 Nextpage, Inc. Tuple-based information space for data exchange between applications
US6865576B1 (en) * 1999-05-21 2005-03-08 International Business Machines Corporation Efficient schema for storing multi-value attributes in a directory service backing store
AU5782900A (en) 1999-06-30 2001-01-31 Stephen Billester Secure, limited-access database system and method
US6981007B1 (en) * 1999-07-09 2005-12-27 Whitmyer Jr Wesley W Onsite backup for internet-based data processing
US6424969B1 (en) * 1999-07-20 2002-07-23 Inmentia, Inc. System and method for organizing data
US7093137B1 (en) * 1999-09-30 2006-08-15 Casio Computer Co., Ltd. Database management apparatus and encrypting/decrypting system
SE9904094D0 (sv) * 1999-11-12 1999-11-12 Protegrity Research & Dev Method for reencryption of a database
AU2909401A (en) * 1999-12-20 2001-07-03 Planetid, Inc. Information exchange engine providing a critical infrastructure layer and methods of use thereof
JP4617533B2 (ja) * 2000-03-14 2011-01-26 ソニー株式会社 情報提供装置および方法、情報処理装置および方法、並びにプログラム格納媒体
US7069591B1 (en) 2000-03-22 2006-06-27 Neil Weicher System for encrypting data files of application programs
US6564204B1 (en) * 2000-04-14 2003-05-13 International Business Machines Corporation Generating join queries using tensor representations
US20020066038A1 (en) * 2000-11-29 2002-05-30 Ulf Mattsson Method and a system for preventing impersonation of a database user
JP2002169808A (ja) 2000-11-30 2002-06-14 Hitachi Ltd セキュアマルチデータベースシステム
KR100706503B1 (ko) * 2000-12-19 2007-04-10 엘지전자 주식회사 메모리 영역 사용 방법
US7757278B2 (en) * 2001-01-04 2010-07-13 Safenet, Inc. Method and apparatus for transparent encryption
US7228416B2 (en) * 2001-01-26 2007-06-05 Hitachi, Ltd. Database access method and system capable of concealing the contents of query
US6631453B1 (en) 2001-02-14 2003-10-07 Zecurity Secure data storage device
US6944619B2 (en) * 2001-04-12 2005-09-13 Primentia, Inc. System and method for organizing data
US7904454B2 (en) * 2001-07-16 2011-03-08 International Business Machines Corporation Database access security
FR2828607B1 (fr) * 2001-08-07 2004-01-30 Centre Nat Rech Scient Procede de securisation de bases de donnees
US6886016B2 (en) * 2001-09-12 2005-04-26 International Business Machines Corporation Method and system for supporting multivalue attributes in a database system
US7865440B2 (en) * 2001-10-11 2011-01-04 International Business Machines Corporation Method, system, and program for securely providing keys to encode and decode data in a storage cartridge
US7003111B2 (en) * 2001-10-11 2006-02-21 International Business Machines Corporation Method, system, and program, for encoding and decoding input data
JP4386732B2 (ja) 2002-01-08 2009-12-16 セブン ネットワークス, インコーポレイテッド モバイルネットワークの接続アーキテクチャ
US20070107067A1 (en) * 2002-08-24 2007-05-10 Ingrian Networks, Inc. Secure feature activation
US7240046B2 (en) * 2002-09-04 2007-07-03 International Business Machines Corporation Row-level security in a relational database management system
SG136793A1 (en) * 2002-10-22 2007-11-29 Sql View Pte Ltd E-archiving system (eas), methodology and process
US7917468B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US7853563B2 (en) 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
US8468126B2 (en) 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US20040158561A1 (en) * 2003-02-04 2004-08-12 Gruenwald Bjorn J. System and method for translating languages using an intermediate content space
US7500111B2 (en) * 2003-05-30 2009-03-03 International Business Machines Corporation Querying encrypted data in a relational database system
US7685437B2 (en) * 2003-05-30 2010-03-23 International Business Machines Corporation Query optimization in encrypted database systems
US7290150B2 (en) * 2003-06-09 2007-10-30 International Business Machines Corporation Information integration across autonomous enterprises
US10339336B2 (en) * 2003-06-11 2019-07-02 Oracle International Corporation Method and apparatus for encrypting database columns
US7305404B2 (en) * 2003-10-21 2007-12-04 United Parcel Service Of America, Inc. Data structure and management system for a superset of relational databases
US7434256B2 (en) * 2003-12-18 2008-10-07 Intel Corporation Security management for wireless clients
US7395437B2 (en) * 2004-01-05 2008-07-01 International Business Machines Corporation System and method for fast querying of encrypted databases
US20050251774A1 (en) * 2004-05-07 2005-11-10 Shah Gaurav R Circuit design property storage and manipulation
US7519835B2 (en) * 2004-05-20 2009-04-14 Safenet, Inc. Encrypted table indexes and searching encrypted tables
JP4612461B2 (ja) * 2004-06-24 2011-01-12 株式会社東芝 マイクロプロセッサ
US7672966B2 (en) * 2004-06-30 2010-03-02 Microsoft Corporation Adding extrinsic data columns to an existing database schema using a temporary column pool
US7577845B2 (en) * 2004-08-17 2009-08-18 Hengli Ma Information matrix cryptogram
US7441271B2 (en) 2004-10-20 2008-10-21 Seven Networks Method and apparatus for intercepting events in a communication system
US8010082B2 (en) 2004-10-20 2011-08-30 Seven Networks, Inc. Flexible billing architecture
US7571490B2 (en) * 2004-11-01 2009-08-04 Oracle International Corporation Method and apparatus for protecting data from unauthorized modification
US7512814B2 (en) * 2004-11-09 2009-03-31 Fortiva Inc. Secure and searchable storage system and method
US7706781B2 (en) 2004-11-22 2010-04-27 Seven Networks International Oy Data security in a mobile e-mail service
FI117152B (fi) 2004-12-03 2006-06-30 Seven Networks Internat Oy Sähköpostiasetusten käyttöönotto matkaviestimelle
US7542972B2 (en) * 2005-01-28 2009-06-02 United Parcel Service Of America, Inc. Registration and maintenance of address data for each service point in a territory
US20070174271A1 (en) * 2005-02-18 2007-07-26 Ulf Mattsson Database system with second preprocessor and method for accessing a database
US7877703B1 (en) 2005-03-14 2011-01-25 Seven Networks, Inc. Intelligent rendering of information in a limited display environment
US7796742B1 (en) 2005-04-21 2010-09-14 Seven Networks, Inc. Systems and methods for simplified provisioning
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
JP4121134B2 (ja) * 2005-05-31 2008-07-23 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラム、分類方法およびシステム
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US8069166B2 (en) 2005-08-01 2011-11-29 Seven Networks, Inc. Managing user-to-user contact with inferred presence information
US7970788B2 (en) 2005-08-02 2011-06-28 International Business Machines Corporation Selective local database access restriction
US20070079386A1 (en) * 2005-09-26 2007-04-05 Brian Metzger Transparent encryption using secure encryption device
US20070079140A1 (en) * 2005-09-26 2007-04-05 Brian Metzger Data migration
US7933923B2 (en) 2005-11-04 2011-04-26 International Business Machines Corporation Tracking and reconciling database commands
US20070180275A1 (en) * 2006-01-27 2007-08-02 Brian Metzger Transparent encryption using secure JDBC/ODBC wrappers
WO2007092374A2 (en) * 2006-02-03 2007-08-16 Maritime International, Inc. Improved containment boom guide system and method
US8386768B2 (en) * 2006-02-08 2013-02-26 Safenet, Inc. High performance data encryption server and method for transparently encrypting/decrypting data
US7958091B2 (en) 2006-02-16 2011-06-07 Ingrian Networks, Inc. Method for fast bulk loading data into a database while bypassing exit routines
US7769395B2 (en) 2006-06-20 2010-08-03 Seven Networks, Inc. Location-based operations and messaging
US8332430B2 (en) 2006-03-01 2012-12-11 Oracle International Corporation Secure search performance improvement
US9177124B2 (en) 2006-03-01 2015-11-03 Oracle International Corporation Flexible authentication framework
US8868540B2 (en) 2006-03-01 2014-10-21 Oracle International Corporation Method for suggesting web links and alternate terms for matching search queries
US8875249B2 (en) 2006-03-01 2014-10-28 Oracle International Corporation Minimum lifespan credentials for crawling data repositories
US8214394B2 (en) 2006-03-01 2012-07-03 Oracle International Corporation Propagating user identities in a secure federated search system
US8707451B2 (en) 2006-03-01 2014-04-22 Oracle International Corporation Search hit URL modification for secure application integration
US20070226695A1 (en) * 2006-03-01 2007-09-27 Oracle International Corporation Crawler based auditing framework
US7587407B2 (en) * 2006-05-26 2009-09-08 International Business Machines Corporation System and method for creation, representation, and delivery of document corpus entity co-occurrence information
US7593940B2 (en) * 2006-05-26 2009-09-22 International Business Machines Corporation System and method for creation, representation, and delivery of document corpus entity co-occurrence information
US8379865B2 (en) 2006-10-27 2013-02-19 Safenet, Inc. Multikey support for multiple office system
US7707493B2 (en) * 2006-11-16 2010-04-27 Xerox Corporation Method for generating presentation oriented XML schemas through a graphical user interface
US8141100B2 (en) 2006-12-20 2012-03-20 International Business Machines Corporation Identifying attribute propagation for multi-tier processing
US7730106B2 (en) * 2006-12-28 2010-06-01 Teradata Us, Inc. Compression of encrypted data in database management systems
US7689567B2 (en) * 2006-12-28 2010-03-30 Sap Ag Error handling for intermittently connected mobile applications
US20080168043A1 (en) * 2007-01-09 2008-07-10 Dettinger Richard D System and method for optimizing query results in an abstract data environment
US8495367B2 (en) 2007-02-22 2013-07-23 International Business Machines Corporation Nondestructive interception of secure data in transit
GB2447494A (en) * 2007-03-15 2008-09-17 Linear Algebra Technologies Lt A method and circuit for compressing data using a bitmap to identify the location of data values
US8411868B2 (en) * 2007-03-30 2013-04-02 Intel Corporation Intruder traceability for shared security associations
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
US20100031321A1 (en) 2007-06-11 2010-02-04 Protegrity Corporation Method and system for preventing impersonation of computer system user
US7913764B2 (en) * 2007-08-02 2011-03-29 Agr Subsea, Inc. Return line mounted pump for riserless mud return system
US20090132804A1 (en) * 2007-11-21 2009-05-21 Prabir Paul Secured live software migration
US8364181B2 (en) 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US8793305B2 (en) 2007-12-13 2014-07-29 Seven Networks, Inc. Content delivery to a mobile device from a content service
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US9047342B2 (en) * 2007-12-28 2015-06-02 Sybase, Inc. Method for accelerating queries containing local range conditions using subtraction of cumulative bitmaps
US8107921B2 (en) 2008-01-11 2012-01-31 Seven Networks, Inc. Mobile virtual network operator
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US9395929B2 (en) * 2008-04-25 2016-07-19 Netapp, Inc. Network storage server with integrated encryption, compression and deduplication capability
US8261326B2 (en) 2008-04-25 2012-09-04 International Business Machines Corporation Network intrusion blocking security overlay
US20090319772A1 (en) * 2008-04-25 2009-12-24 Netapp, Inc. In-line content based security for data at rest in a network storage system
US8589697B2 (en) * 2008-04-30 2013-11-19 Netapp, Inc. Discarding sensitive data from persistent point-in-time image
US8117464B1 (en) 2008-04-30 2012-02-14 Netapp, Inc. Sub-volume level security for deduplicated data
WO2009139650A1 (en) * 2008-05-12 2009-11-19 Business Intelligence Solutions Safe B.V. A data obfuscation system, method, and computer implementation of data obfuscation for secret databases
US8787947B2 (en) 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US8078158B2 (en) 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US8332655B2 (en) * 2009-01-30 2012-12-11 International Business Machines Corporation Method for order invariant correlated encrypting of data and SQL queries for maintaining data privacy and securely resolving customer defects
WO2010141182A2 (en) * 2009-06-02 2010-12-09 Saffron Technology, Inc. Methods, systems and computer program products for providing a distributed associative memory base
US9477947B2 (en) 2009-08-24 2016-10-25 International Business Machines Corporation Retrospective changing of previously sent messages
TW201209697A (en) 2010-03-30 2012-03-01 Michael Luna 3D mobile user interface with configurable workspace management
US9946810B1 (en) 2010-04-21 2018-04-17 Stan Trepetin Mathematical method for performing homomorphic operations
US8626749B1 (en) * 2010-04-21 2014-01-07 Stan Trepetin System and method of analyzing encrypted data in a database in near real-time
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
EP2599003B1 (en) 2010-07-26 2018-07-11 Seven Networks, LLC Mobile network traffic coordination across multiple applications
GB2495877B (en) 2010-07-26 2013-10-02 Seven Networks Inc Distributed implementation of dynamic wireless traffic policy
GB2500333B (en) 2010-07-26 2014-10-08 Seven Networks Inc Mobile application traffic optimization
US8533489B2 (en) * 2010-09-29 2013-09-10 Microsoft Corporation Searchable symmetric encryption with dynamic updating
WO2012061430A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
WO2012060997A2 (en) 2010-11-01 2012-05-10 Michael Luna Application and network-based long poll request detection and cacheability assessment therefor
US8903954B2 (en) 2010-11-22 2014-12-02 Seven Networks, Inc. Optimization of resource polling intervals to satisfy mobile device requests
EP2635973A4 (en) 2010-11-01 2014-01-15 Seven Networks Inc TO THE BEHAVIOR OF A MOBILE APPLICATION AND INTERMEDIATE STORAGE TAILORED TO NETWORK CONDITIONS
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US9060032B2 (en) 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
US8190701B2 (en) 2010-11-01 2012-05-29 Seven Networks, Inc. Cache defeat detection and caching of content addressed by identifiers intended to defeat cache
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
CN103404193B (zh) 2010-11-22 2018-06-05 七网络有限责任公司 调校数据传输以优化为通过无线网络的传输建立的连接
CN102004799B (zh) * 2010-12-28 2012-10-03 天津神舟通用数据技术有限公司 数据库冗余数据一致性检验方法
EP2661697B1 (en) 2011-01-07 2018-11-21 Seven Networks, LLC System and method for reduction of mobile network traffic used for domain name system (dns) queries
EP2700020A4 (en) 2011-04-19 2015-01-07 Seven Networks Inc SHARING DEVICE RESOURCES FOR NETWORK RESOURCE CONSERVATION
GB2496537B (en) 2011-04-27 2014-10-15 Seven Networks Inc System and method for making requests on behalf of a mobile device based on atmoic processes for mobile network traffic relief
US8621075B2 (en) 2011-04-27 2013-12-31 Seven Metworks, Inc. Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
US8669889B2 (en) 2011-07-21 2014-03-11 International Business Machines Corporation Using variable length code tables to compress an input data stream to a compressed output data stream
US8400335B2 (en) 2011-07-21 2013-03-19 International Business Machines Corporation Using variable length code tables to compress an input data stream to a compressed output data stream
EP2737741A4 (en) 2011-07-27 2015-01-21 Seven Networks Inc SURVEILLANCE OF MOBILE APPLICATION ACTIVITIES IN SEARCH OF MALICIOUS TRAFFIC ON A MOBILE DEVICE
US8918503B2 (en) 2011-12-06 2014-12-23 Seven Networks, Inc. Optimization of mobile traffic directed to private networks and operator configurability thereof
WO2013086214A1 (en) 2011-12-06 2013-06-13 Seven Networks, Inc. A system of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
US9277443B2 (en) 2011-12-07 2016-03-01 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US9208123B2 (en) 2011-12-07 2015-12-08 Seven Networks, Llc Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor
WO2013090212A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system
WO2013090821A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
US9832095B2 (en) 2011-12-14 2017-11-28 Seven Networks, Llc Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
US8692696B2 (en) 2012-01-03 2014-04-08 International Business Machines Corporation Generating a code alphabet of symbols to generate codewords for words used with a program
US8909202B2 (en) 2012-01-05 2014-12-09 Seven Networks, Inc. Detection and management of user interactions with foreground applications on a mobile device in distributed caching
WO2013116856A1 (en) 2012-02-02 2013-08-08 Seven Networks, Inc. Dynamic categorization of applications for network access in a mobile network
US9326189B2 (en) 2012-02-03 2016-04-26 Seven Networks, Llc User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US8832427B2 (en) 2012-03-30 2014-09-09 Microsoft Corporation Range-based queries for searchable symmetric encryption
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
US10263899B2 (en) 2012-04-10 2019-04-16 Seven Networks, Llc Enhanced customer service for mobile carriers using real-time and historical mobile application and traffic or optimization data associated with mobile devices in a mobile network
WO2014011216A1 (en) 2012-07-13 2014-01-16 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
FR2999750A1 (fr) * 2012-12-18 2014-06-20 France Telecom Procede de traitement de donnees dans un systeme de stockage reparti
US20140177497A1 (en) 2012-12-20 2014-06-26 Seven Networks, Inc. Management of mobile device radio state promotion and demotion
US9241314B2 (en) 2013-01-23 2016-01-19 Seven Networks, Llc Mobile device with application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8943068B2 (en) * 2013-02-26 2015-01-27 Cray Inc Dynamic graph system for a semantic database
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US9390115B2 (en) * 2013-10-11 2016-07-12 Oracle International Corporation Tables with unlimited number of sparse columns and techniques for an efficient implementation
US10460704B2 (en) 2016-04-01 2019-10-29 Movidius Limited Systems and methods for head-mounted display adapted to human visual mechanism
US11256746B2 (en) 2016-04-25 2022-02-22 Oracle International Corporation Hash-based efficient secondary indexing for graph data stored in non-relational data stores
US10977383B2 (en) 2016-10-05 2021-04-13 Snowflake Inc. Systems, methods, and devices for encrypting database data
JP2018128602A (ja) * 2017-02-09 2018-08-16 日本電気株式会社 暗号化データベース管理装置、暗号化データベース管理方法、暗号化データベース管理プログラムおよび暗号化データベース管理システム
US10496631B2 (en) * 2017-03-10 2019-12-03 Symphony Communication Services Holdings Llc Secure information retrieval and update
US11073828B2 (en) * 2017-12-08 2021-07-27 Samsung Electronics Co., Ltd. Compression of semantic information for task and motion planning
US10949947B2 (en) 2017-12-29 2021-03-16 Intel Corporation Foveated image rendering for head-mounted display devices
CN109302391B (zh) * 2018-09-21 2021-03-02 深圳市九洲电器有限公司 一种安防数据上传方法及装置、客户端
US20210295224A1 (en) * 2020-03-23 2021-09-23 Lyft, Inc. Utilizing a requestor device forecasting model with forward and backward looking queue filters to pre-dispatch provider devices

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5050213A (en) * 1986-10-14 1991-09-17 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
US4974191A (en) * 1987-07-31 1990-11-27 Syntellect Software Inc. Adaptive natural language computer interface system
US5191611A (en) * 1989-04-03 1993-03-02 Lang Gerald S Method and apparatus for protecting material on storage media and for transferring material on storage media to various recipients
US5065429A (en) * 1989-04-03 1991-11-12 Lang Gerald S Method and apparatus for protecting material on storage media
US5367573A (en) * 1993-07-02 1994-11-22 Digital Equipment Corporation Signature data object
US5659614A (en) * 1994-11-28 1997-08-19 Bailey, Iii; John E. Method and system for creating and storing a backup copy of file data stored on a computer

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012115031A1 (ja) * 2011-02-22 2012-08-30 三菱電機株式会社 検索システム、検索システムの検索方法、情報処理装置、検索プログラム、対応キーワード管理装置および対応キーワード管理プログラム
CN103384980A (zh) * 2011-02-22 2013-11-06 三菱电机株式会社 检索系统、检索系统的检索方法、信息处理装置、检索程序、对应关键字管理装置以及对应关键字管理程序
US9418238B2 (en) 2011-02-22 2016-08-16 Mitsubishi Electric Corporation Search system, search method of search system, and information processing device
JP2016081526A (ja) * 2014-10-10 2016-05-16 富士通株式会社 テーブル再構成装置と方法

Also Published As

Publication number Publication date
CA2276036A1 (en) 1998-07-09
CA2276036C (en) 2008-10-21
US5963642A (en) 1999-10-05
AU5723198A (en) 1998-07-31
WO1998029981A1 (en) 1998-07-09
EP1013030A1 (en) 2000-06-28
EP1013030A4 (en) 2005-03-30

Similar Documents

Publication Publication Date Title
JP2001507837A (ja) データを安全に格納する方法及び装置
US11615202B2 (en) Mathematical method for performing homomorphic operations
CN106815350B (zh) 一种云环境中动态的密文多关键词模糊搜索方法
US10467420B2 (en) Systems for embedding information in data strings
US10664610B2 (en) Method and system for range search on encrypted data
US8533489B2 (en) Searchable symmetric encryption with dynamic updating
CA2887191C (en) Secure linkage of databases
US10985902B2 (en) Dynamic symmetric searchable encryption
US8626749B1 (en) System and method of analyzing encrypted data in a database in near real-time
US8949625B2 (en) Systems for structured encryption using embedded information in data strings
EP1193585A2 (en) Encrypted file system, encrypted file retrieval method, and computer-readable medium
JP2019500645A (ja) 暗号プロトコルを用いたsqlベースのデータベースの保護
CN103119594A (zh) 可检索密码处理系统
Emekci et al. Dividing secrets to secure data outsourcing
US20100262836A1 (en) Privacy and confidentiality preserving mapping repository for mapping reuse
Esponda et al. Protecting data privacy through hard-to-reverse negative databases
CN112583809B (zh) 非浸入式多种加密算法的数据加密解密的方法
KR101476039B1 (ko) 데이터베이스 암호화 방법 및 이의 실시간 검색 방법
Almakdi et al. Secure and efficient query processing technique for encrypted databases in cloud
WO2017103970A1 (ja) データ加工システム及びデータ加工方法
US20080317251A1 (en) Methods and systems for storing and retrieving encrypted data
KR100910303B1 (ko) 가변코드 테이블을 이용한 데이터 암복호화 장치 및 그 방법
Mu et al. Encrypted data retrieval scheme based on bloom filter
US11977657B1 (en) Method and system for confidential repository searching and retrieval
Kumar Securing Data at rest using Hill Cipher and XOR based operations