JP2002505485A - 型保証の属性対照のための方法及びシステム - Google Patents

型保証の属性対照のための方法及びシステム

Info

Publication number
JP2002505485A
JP2002505485A JP2000533839A JP2000533839A JP2002505485A JP 2002505485 A JP2002505485 A JP 2002505485A JP 2000533839 A JP2000533839 A JP 2000533839A JP 2000533839 A JP2000533839 A JP 2000533839A JP 2002505485 A JP2002505485 A JP 2002505485A
Authority
JP
Japan
Prior art keywords
entry
template
entries
database
type
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
JP2000533839A
Other languages
English (en)
Inventor
ロバート シェフラー
ケネス シー アール シー アーノルド
ジェイムズ エイチ ウォルド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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
Priority claimed from US09/044,954 external-priority patent/US5988426A/en
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2002505485A publication Critical patent/JP2002505485A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/427Loop networks with decentralised control
    • H04L12/433Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】複数のエントリーを記憶するデータベースシステムに関し、エントリーをデータベースから検索することを可能にする。 【解決手段】各エントリーは、エントリーのフィールドを定義するクラス型である。データベースのエントリーに対するクエリーが作成されることを許容する検索エンジンが採用される。クエリーは、読取操作、取出操作及び通知操作を含む。各クエリー要求は、操作の種類を示すコマンドと、クラス型のテンプレートとを含み、テンプレートは属性の集合を定義する。検索エンジンは、テンプレートの属性をエントリーのフィールドと比較し、その比較に基づいてテンプレートがエントリーと適合するかを判定し、その判定に基づいて適合エントリーを識別する。

Description

【発明の詳細な説明】
【0001】 (関連出願) 本出願は、出願日1997年11月17日の米国特許出願No.08/971529の部分継続出願
であり、以下に示した米国特許出願は、その記載事項が本特許出願の記載事項に
ついての参照となり且つ本特許出願の内容の一部をなすものとする。 1998年2月26日出願の米国特許仮出願No.60/076,048、発明の名称「分散コンピ
ュータ処理システム」。 同日出願の米国特許出願No.09/044,923、発明の名称「記憶装置の使用のため の方法及びシステム」(代理人整理番号no.06502.0011-01000)。 同日出願の米国特許出願No.09/044,838、発明の名称「分散型システムにおけ る委任証明の使用のための方法、装置及び製品」(代理人整理番号no.06502.001
1-02000)。 同日出願の米国特許出願No.09/044,834、発明の名称「分散型システムにおけ るグループ帰属関係の使用のための方法、装置及び製品」(代理人整理番号no.0
6502.0011-03000,)。 同日出願の米国特許出願No.09/044,916、発明の名称「失敗検出のための割当 て」(代理人整理番号no.06502.0011-04000)。
【0002】 同日出願の米国特許出願No.09/044,933、発明の名称「イベントベースシステ ムにおける転送動作の方法」(代理人整理番号no.06502.0054-00000)。 同日出願の米国特許出願No.09/044,919、発明の名称「分散型システムにおけ るイベント通知のための遠隔ロード及びオブジェクトの繰延べ再構築」(代理人
整理番号no.06502.0062-01000)。 同日出願の米国特許出願No.09/044,938、発明の名称「リモート方法呼出しの ための方法及び装置」(代理人整理番号no.06502.0102-00000)。 同日出願の米国特許出願No.09/045,652、発明の名称「リモート方法を識別す る決定論的ハッシュのための方法及び装置」(代理人整理番号no.06502.0103-00
000)。 同日出願の米国特許出願No.09/044,790、発明の名称「分散型システムにおけ るリモートオブジェクトの状態を決定するための方法及び装置」(代理人整理番
号no.06502.0104-00000)。
【0003】 同日出願の米国特許出願No.09/044,930、発明の名称「分散型システムにおけ るリモート手続き呼出しに関連して処理を実行するためのダウンロード可能なス
マートな代理」(代理人整理番号no.06502.0105-00000)。 同日出願の米国特許出願No.09/044,917、発明の名称「リモート方法の中止及 び及び継続」(代理人整理番号no.06502.0106-00000)。 同日出願の米国特許出願No.09/044,835、発明の名称「データベースにおける マルチ・エントリーとマルチ・テンプレートとの対照のための方法及びシステム
」(代理人整理番号no.06502.0107-00000)。 同日出願の米国特許出願No.09/044,839、発明の名称「データベースの内部で 変更するための方法及びシステム」(代理人整理番号no.06502.0108-00000)。 同日出願の米国特許出願No.09/044,931、発明の名称「分散型システムにおけ る動的探索サービス」(代理人整理番号no.06502.0110-00000)。
【0004】 同日出願の米国特許出願No.09/044,939、発明の名称「分散型システムにおけ るデバイスとの通信に用いるダウンロード可能なコードの供給のための装置及び
方法」(代理人整理番号no.06502.0112-00000)。 同日出願の米国特許出願No.09/044,826、発明の名称「探索サービスへのアク セスを容易にするための方法及びシステム」(代理人整理番号no.06502.0113-00
000)。 同日出願の米国特許出願No.09/044,932、発明の名称「分散型システムにおけ る情報の動的証明のための装置及び方法」(代理人整理番号no.06502.0114.0000
0)。 1998年2月26日出願の米国特許出願No.09/030,840、発明の名称「ネットワーク
をまたぐ動的分散コンピュータ処理のための方法及び装置」。 同日出願の米国特許出願No.09/044,936、発明の名称「持続的な共有メモリー 空間のためのインタラクティブ・デザイン・ツール」(代理人整理番号no.06502
.0116-00000)。
【0005】 同日出願の米国特許出願No.09/044,934、発明の名称「多様性を有するトーク ンベース制御」(代理人整理番号no.06502.0117-00000)。 同日出願の米国特許出願No.09/044,915、発明の名称「スタックベースのアク セス制御」(代理人整理番号no.06502.0118-00000)。 同日出願の米国特許出願No.09/044,944、発明の名称「スタックベースのセキ ュリティ要求」(代理人整理番号no.06502.0119-00000)。 同日出願の米国特許出願No.09/044,837、発明の名称「セキュリティ要求のメ ソッド毎の指定」(代理人整理番号no.06502.0120-00000)。
【0006】 (発明の背景技術) (発明の技術分野) 本発明は、データベースシステムに関連し、特に、データベースシステムにお
けるエントリー記憶に関する。本発明は、更に、データベースシステムにおいて
用いられるクエリー対照方法原理に関連する。
【0007】 (関連技術の説明) データベースシステムは、今日の社会では、ますます重要な役割を担っている
。一般的なデータベースシステムに記憶される可能性があるデータの量は、急速
に増大しており、便利で柔軟性のあるデータアクセスが、極めて重要である。し
かしながら、最適の方法で作動するデータベースシステムを設計することは、困
難である。
【0008】 データベース設計における特に重要な問題は、広く様々なアプリケーションで
利用されるようにデータを記憶することであって、データベースが用いられる手
法を短期間で容易に変更することができるようにすることである。更に、しばし
ば、データベースの他の部分にあまり影響せず追加データ型又は追加カテゴリー
を追加することができるようにすることが求められる
【0009】 あいにく、データが多数のデータベースシステムにおいて使用され組織される
方式を変更すること、及び、追加データ型と追加カテゴリーを許容することは、
著しく困難である。変更は、データベースシステムのプログラムと他の要素に対
し連鎖的に変化を強要するので、遂行するのに非常に費用がかかる。それ故に、
データ処理は、古いデータ構造に拘束されがちである。更に、データベースの設
計者は、1つの設計例と他の設計例との間で複雑な多くの取捨選択を事項を作る
傾向にあり、決して最適な結果を生む設計をしようとはしない。
【0010】 更に、詳しく述べると、データベースシステムに情報を記憶させることは、通
常、的確な型によって実行される。即ち、データベースシステムに記憶されるレ
コードは、リレーショナル・データベースの関係における集合のような、ある数
値とフィールド型を有している。各フィールドは、例えば、ストリングデータ、
整数データ、ブールデータ又は要望に応じて他のデータ型等のデータの特定の型
を記憶するように定義される。ユーザが、データベースの情報を探索したいとき
には、ユーザは、的確なレコード型を探索しなければならない(即ち、異なる型
のレコードは、一般に独立して検索される。)。こうして、検索者が関心のある
データが複数の種々の型の中の何れかの型のレコードにある場合には、検索者は
前もって存在するレコード型を知っていなければならず、全ての型を調べる明確
な方策を有している必要がある。検索者は、更に、関心のある特定のレコードを
見つけるために全ての可能性のあるレコード型を明確に調べなければならない。
それ故に、検索エンジンに関連するソフトウェアは複雑になり、含まれることが
できるレコード型の数を事実上制限する。
【0011】 更に、データベースに含まれるレコードのフィールドは、一般に他のレコード
を引用しない。これにより、一つのレコードが一般に具備する情報の量及び種類
は、少なくなる。従って、データベースは、レコードの集合であるレコード群を
記憶及び処理するための能力によって制限される。
【0012】 加えて、一般的なデータベースのレコードは、通常、実際のデータ自身とは異
なる特性に関連付けられない。例えば、データが見つかった時には、レコード型
と共に変化するレコードに、動作を関連させることはできない。こうして、プロ
グラムは、1つの方法による対照によって返される種々のレコードを使用してレ
コード型特定結果を得ることができる。
【0013】 データベースシステムの他の側面に関して言えば、データベースにおける属性
又は特性を指定する通常の方法は、組〈名前、値〉の単純な集合によるものであ
る。ここで、値は、ストリングに制限され、さもなければ、任意の型(type “
any”)でよい。これらの組〈名前、値〉において、型を制限することはできな い。それ故に、特定の名前が特定の型の値を常に有するように強制することがで
きない。例えば、仮のプリンタにおいて、属性“スピード”は、整数型に制限さ
れなければならず、ユーザが他の型、例えば「約8」や「8から9」、に設定し
ないように制限されなければならない。スピードは、プリンタが印刷できる1分
当たりのページ数を表わす。値がどんな型のオブジェクトにもなり得る場合には
、同様の問題が存在する。この場合には、ユーザは、属性をストリングオブジェ
クトではなく整数オブジェクトに設定することができるが、他のユーザが整数に
設定されるべき属性に誤ってストリングオブジェクトを記憶させることを防ぐこ
とはやはりできない。
【0014】 更に、先のシステムは、異なる属性間の関係(例えば、1つの属性は、他の属
性が存在するときにのみ、存在するようにすべきである。)を制限しない。例え
ば、ある3つの例示的なプリンタ用属性、解像度(1インチ当たりのドット数)
、スピード(1分当たりのページ数)、カラー(或いは白黒)に関して言えば、
多くのプリンタはこれらの属性の種々の組合わせを実行する。例えば、典型的な
カラープリンタは次のように記述する。
【0015】 1分当たり5ページ、1インチ当たり600ドット、白黒 1分当たり7ページ、1インチ当たり300ドット、白黒 1分当たり1ページ、1インチ当たり300ドット、カラー
【0016】 但し、この属性は複数の値を持っており、従来のいくつかのシステムは属性
が複数の値を持つことを許容し、これらのシステムは次のように属性を表示する
。 スピード = {1,5,7} 解像度 = {300,600} カラー = {真,偽} しかし、これは属性の組の相互間の関連性を表わしておらず、明らかに、3つの
関連性を表現しておらず規定していない。
【0017】 {スピード: 1,解像度:300,カラー:真}; {スピード: 7,解像度:300,カラー:偽}; {スピード: 5,解像度:600,カラー:偽};
【0018】 従って、、エントリーの集合を含む多様なエントリー、エントリー対照及び
エントリー操作を提供すること、及び、多数の効率的な検索を許容し、多くの型
が存在する単純化されたソフトウェアを許容することが要望される。更に、エン
トリーが、型に応じて自身の動作を規定するシステムを提供することが望まれる
。加えて、データベースにおける型保証の属性対照を可能にすること、及び、属
性間の関係について制限を可能にすることが求められる。
【0019】 (発明の概要) 上に説明した問題は、本発明によるデータベースにおけるエントリーの記憶及
び検索のための方法及びシステムによって解決される。1つの実施形態では、コ
ンピュータシステムは、1つ以上のエントリーデータベースが複数のエントリー
を記憶するデータベースシステムを実装する。各エントリーは、エントリーのフ
ィールドを定義する所与の型である。フィールドの夫々は、関連する属性又はデ
ータを有するオブジェクトを含み、又は定義する。各エントリーの型は、更に、
エントリーが実行するように構成されるメソッドのフォームの動作を定義する。
他のものの部分型であるエントリー型は、その上位型の全てのフィールド及び動
作を継承し、追加のフィールドを含み、及び/又は、新規の動作又は変更された
動作を定義する。エントリーは、JavaTMで表現されてもよい。同様に、一
実施形態では、各フィールドは、定義されたクラスで表現される。
【0020】 データベースシステムは、更に、クエリーがデータベースのエントリーに対し
て作成されることを許容する検索エンジンを採用する。一実施形態では、クエリ
ーは、読取操作、取出操作及び通知操作を含む。各クエリー要求は、操作の型を
示すコマンドと、それのフィールドの一部又は全部が正確に対照される特定の値
に設定されているエントリーオブジェクトであるテンプレートとを含む。そのテ
ンプレートエントリーの他のフィールドは、ワイルドカードとして指定されても
よく、その場合にはその値は何でもよい。多様性を有するエントリー対エントリ
ー対照技術は、テンプレートエントリーと同じ型の、又は、テンプレートエント
リーの部分型のエントリーを適合するものとするクエリーを許容する点で、有利
である。これにより、効率的に検索を実行することができ、サーチエンジンを簡
易に実装させることができる。更に、検索エンジンは、全ての存在する可能性の
ある部分型を知っている必要がない。結局、各エントリーが、関連するクラスを
有しているので、エントリーは、1つ以上のメソッドをサポートすることにより
、それ自身の動作を定義する。特定のエントリーの方法は、同一性検査のような
種々の機能性を実行するために呼び出される。
【0021】 その検索エンジンは、更に、クエリーによって普通に指定された特性を有する
エントリーのためにインデックスを作成するように構成される。即ち、検索エン
ジンは、用法様式を検出し、受取られたテンプレートによって普通に指定された
属性を有するエントリーを指し示すインデックスを作成する。このようにして、
好適なエントリー検索が遂行される。
【0022】 加えて、検索エンジンは、更に、単一のレコード内にエントリーの集合を記憶
するように構成されるようにしてもよい。このエントリーの集合は、テンプレー
トの集合を用いて対照される。一実施形態では、属性をエントリーのフィールド
と関連付けると、エントリー対照及びエントリーの集合の対照が可能になり、デ
ータベースシステムが型保証の属性対照を実行することが可能になる。かかる型
保証の属性対照によれば、データベースが属性の型を保護することができ、デー
タベースが異なる型の属性間の関係を強制することができる。
【0023】 (発明の詳細な説明) 添付図面を用いて実施例を示すことにより特定の実施例を示し、詳細に説明す
るが、本発明は種々の変更や他の形式を受け入れることができる。即ち、図面及
び詳細な説明は、開示された特定の形式に本発明を限定するためのものではなく
、全ての変容例を包含しておらず、付属の請求項による定義に従って、均等物及
び代替物が、本発明の趣旨及び範囲に含まれると、理解されなければならない。
【0024】 本発明に従う方法及びシステムは、データベース内のエントリーの記憶及び検
索をする。各エントリーは、その型のフィールドを定義する所与の型を具備し、
各フィールドは、所与の型のオブジェクトを含み、定義する。これらのエントリ
ーは、JavaTMプログラム言語のJavaTMクラスで表現される。加えて、本発明によ
る方法及びシステムはデータベースにおけるエントリーの集合を記憶し検索する
。一般に、これらの検索はテンプレートの集合を用いて実行される。 1つの実施の形態では、属性がエントリーのフィールドに関連付けられる。こ
の関連付けにより、型保証の対照が可能になり、属性の異なる型相互間の関係を
強制することができる。
【0025】 (分散型システム) 図を参照すると、図1は、本発明に従う多様なエントリー、エントリー対照及
びエントリー操作が用いられる分散型システム100を表わす図である。図1は
、ネットワーク105によって相互に接続されている複数のコンピュータシステ
ム101〜103を示す。可能な通信チャンネルは他にも多様に有るが、ここで
は、ネットワーク105は、例えば、構内ネットワーク(LAN)、広域ネット
ワーク(WAN)又はインターネットで表わす。各コンピュータシステムは、コ
ンピュータシステム101のメモリー120及びCPU122のようにメモリー
及びマイクロプロセッサを含んでいる。メモリー120は、ハードディスク記憶
装置、フロッピー記憶装置、動的ランダムアクセスメモリー(DRAM)のよう
な適用可能な種々のタイプのメモリーの一例である。1個以上のCD−ROM又
はフロッーディスク(又は他の記憶媒体)が実例となる装着媒体126が、更に
、コンピュータシステム101に関連して示される。一般的に、装着媒体126
は、検索エンジンの実施部分及び下に記されるデータベースシステムの他の例を
実施するコード及び/又はデータを記憶し、そのコード及び/又はデータを該コ
ンピュータシステムに入力するために使用される。注意すべきことに、他の実施
の形態では、本発明に従うデータベースシステムは、単一のコンピュータ、即ち
、ネットワーク接続されないコンピュータシステムにおいても使用される。
【0026】 下に更に詳細に記載されるように、コンピュータシステム100は、オブジェ
クト指向技術を用いて適用可能な型又は部分型のエントリーを記憶するプログラ
ムデータベースシステムを使用する。このデータベースは、マルチ・エントリー
と称するエントリーの集合を記憶することもできる。データベースのエントリー
はコンピュータシステム101のメモリー122に単独に記憶させてもよいし、
複数の異なるシステムのメモリーに、例えば、コンピュータシステム102及び
103の同様のメモリーに、分散させてもよい。各エントリーは、そのエントリ
ーのフィールドを定義する所与の型を有する。フィールドの夫々は、属性又はデ
ータに関連するオブジェクトを含み、又は、そのオブジェクトを定義(identifi
es)する。フィールドの夫々は、更に、エントリーが実行されるように構成され
る方法のフォームにおける動作を定義する。他のものの部分型であるエントリー
型は、すべてのフィールドと上位型の動作とを受け継ぎ、追加のフィールドを含
み、及び/又は、新規の及び/又は変更した動作を定義する。
【0027】 データベースシステムは、更に、データベース内のエントリー(又は後述する
マルチ・エントリー)に基づいて作られるクエリーを許容するソフトウェアによ
り実行される検索エンジンを用いる。一実施形態では、各クエリーは、正しい対
照をするためにテンプレートの対応するフィールドを対照しなければならない所
与のエントリーのキー・フィールドの値(又は属性)を指定するテンプレートを
含む。テンプレートエントリーの他のフィールドは、ワイルドカード(値は何で
もよいことを示す。)として指定されてもよい。コンピュータシステム100に
使用される多様なエントリー及びエントリー対照技術は、都合のよいことに、テ
ンプレートエントリーと同じ型のエントリー又はテンプレートエントリーの部分
型である適合するエントリーを結果として生じさせる可能性があるクエリーを生
成することを、許容する。加えて、多様なエントリー及びエントリー対照技術の
例に関する詳細な説明は、図2〜図9に従って、下に提示される。
【0028】 図2は、1組のクライアント(又はユーザ)及び複数のエントリー・データベ
ース206〜208の間の通信フローの例を示す。エントリー・データベース2
06〜208の夫々は分散型システム100の1個以上のメモリーサブシステム
を跨いで分散される。各クライアント202及び204は、1個以上のエントリ
ー・データベース206〜208に供給されるクエリーを生成するように構成さ
れる。クライアント202及び204は、下に記述されるように、更にエントリ
ー・データベース206〜208にエントリーを記憶(書込み)するように構成
される。そして、図2は、下に詳細に記載される機能を有するイベント受取部2
10を示す。
【0029】 (エントリー対照及び操作) 図3は、エントリー・データベース206〜208の何れにも記憶される複数
のエントリー例を示す。一例において、各エントリーは、JavaTMプログラム言語
のJavaTMクラスで表現されるオブジェクトの型付けされたグループである。Java TM プログラム言語は、ケン・アーノルド,ジェームス・ゴスリン著「JavaTMプロ
グラム言語」,アディソン−ウェスレイ、1996年に記載されており、この本
に記載されている内容は、参照されるとともにこの明細書の記載内容の一部とす
る。JavaTMは、米国及び他の国において、サン・マイクロシステム社の登録商標
である。しかしながら、他の実施例において、エントリーは他のプログラム言語
によるクラスで定義されてもよいことは、理解されるであろう。
【0030】 図3のエントリー1は、図示のように、4個のフィールドからなる集合(フィ
ールドA、フィールドB、フィールドC、フィールドD)を含んでおり、クラス
型のエントリー1によって定義される。エントリー2は、5個のフィールドから
なる集合(フィールドA、フィールドB、フィールドC、フィールドD及びフィ
ールドE)を含んでおり、クラス型のエントリー2によって定義される。エント
リー2は、他の型に加えて、エントリー1と同じフィールド型を含むので、エン
トリー1の型の部分型であることに、注意すべきである。
【0031】 エントリー3は、4個のフィールドからなる集合(フィールドW、フィールド X、フィールドY及びフィールドZ)を含んでおり、クラス型のエントリー1に
よって定義される。注意すべきことに、エントリー1及びエントリー3は、夫々
、4個のフィールドを含むが、それらは一致しないので異なる型である。 多くの他の型及び部分型は、更に、特定のアプリケーション又はデータベース
の要求によって応じて、データベースシステムに関連付けられるかもしれない。
加えて、部分型の部分型であるエントリーも使用され得ることに注意すべきであ
る。例示するために、次のコードが、JavaTMプログラム言語で定義される特定の
エントリー例として示される。
【0032】 書籍購入のための“Bidの要求”オブジェクト、 public class RFB implement Entry { public integer order number; //この注文のための購買者の追跡番号 public String title ; //書籍のタイトル public integer count ; //希望の版番号 } ------------------------------------------- bidsの“完全”要求、即ち、ISBNを含むもの、 public class FullRFB extends a RFB { public String isbn; // ISBNフィールド }
【0033】 図3に関して言えば、エントリーの各フィールドは、型付けされたオブジェク
トを指し示し又は指定する値を記憶するように構成される。これらの型付けされ
たオブジェクトの夫々は、同様にJavaTMで表現される。例えば、エントリー1の
フィールドAは、オブジェクト310を指定する値を含み、エントリー1のフィ
ールドBは、オブジェクト312を指定する。同様に、エントリー2のフィール
ドAはオブジェクト314を指定し、フィールドBはオブジェクト316を指定
し、以下同様である。図3のエントリー例に関しては、エントリー2がエントリ
ー1の部分型であるので、エントリー1のフィールドAに関連するオブジェクト
310は、オブジェクト314と同じクラス型によって表現され、エントリー2
のフィールドAに関連付けられることに、注意すべきである。オブジェクト31
0及び314の夫々に関連付けられた属性又はデータは、しかしながら、異なる
かもしれない。オブジェクトは、定義された型に応じた要求に従って、種々のエ
ントリーのフィールドによって指定されるオブジェクトは整数データ、ブールデ
ータ、ストリングデータ、他のデータ型を含むことに、更に注意すべきである。
更に、各フィールドは、型付けされたオブジェクトに関連付けられるので、要求
に従って、データ操作を実行するために、方法はサポートされ、外部刺激により
選択的に呼び出されることに注意すべきである。同様に、下に記載されるように
、各エントリー型は、1つ以上の方法をサポートする。
【0034】 図2を再び参照すると、前述のように各エントリー・データベース206,2
07及び208は、部分型である種々の型の多くのエントリーを記憶する。エン
トリーは、クライアントにより呼び出される書込操作により、所与のエントリー
・データベース206〜208に記憶される。エントリーは、更に、装着媒体(
図1の装着媒体126)を介してエントリー・データベースに供給される。
【0035】 図4に示すように、いくつかの追加の操作が、更にシステムによってサポート
される。即ち、クライアント又はユーザは、書込操作に加えて、読取操作、取出
操作及び通知操作を開始させる。
【0036】 読取、取出及び通知操作は、夫々、特定のエントリー・データベースを検索す
るために用いられ、任意の指定された特性を持つエントリーがエントリー・デー
タベースに書込まれているか否かを、そして、書込まれているならば特定の動作
を誘導するか否か、を判定する。特定の実施例では、これらのクエリーが、操作
に関連するエントリーの型を定義するとともに操作要求の一部として含まれるテ
ンプレートを用いて、生成される。読取操作は、関連するテンプレートに適合す
るエントリー・データベースのエントリーの読取りを開始する操作である。取出
操作は、読取操作に似ているが、取出操作はテンプレートに適合するエントリー
を、エントリー・データベースから取り去る操作である。最後に、通知操作は、
関連するテンプレートに適合する指定されたエントリー・データベースの将来入
ってくるエントリーに対する関心を登録する操作である。適合するエントリーが
到来したときには、クライアント又は特定のイベント受取部は、通知を受ける。
これらの操作の夫々に関する詳細は、以下に提示される。
【0037】 図5は、テンプレートの例を示す。概して、テンプレートは、それのフィール
ドが値(オブジェクトに対する参照値)又はワイルドカードの何れかを有する特
定のエントリー型を指定する。エントリー・データベース内の特定のエントリー
を、テンプレートに対する可能性のある適合物であると仮定すると、エントリー
の指定されたフィールドの属性(即ち、テンプレートのワイルドカードを使用さ
れたフィールドに対応しないもの)は、正確に、テンプレートの対応するフィー
ルドによって指定される属性に適合する(又は可能性のある範囲に含まれる)。
テンプレートの“ワイルドカード”のフィールドに対応するエントリーのフィー
ルドは、どんな属性を有してもよく、対照の結果に影響を与えない(即ち、テン
プレート内のワイルドカードは、エントリーの同じフィールドのどんな値にも適
合する)。1つの実施の形態ではワイルドカードは、ヌル参照値により指定され
る。下に、更に記載されるように、テンプレートに適合するエントリーの型は、
テンプレートの型の部分型であることもある。このように、部分型によって定義
された特定のエントリーの全てのフィールドは、ワイルドカードであると考えら
れる。これにより、テンプレートは、どんな部分型のエントリーとも適合するこ
とになる。注意すべきことに、ワイルドカードを含まないエントリーは、有効な
テンプレートであるかもしれない。
【0038】 図6は、本発明に従う読取要求又は取出要求に反応して特定のエントリー・デ
ータベース内のエントリーを検索する方法の実施の形態を示すフローチャートで
ある。前述のように、読取要求は、所与のテンプレートに適合するエントリーを
読み取るために、クライアント(又はユーザ)により開始される。取出要求は、
エントリー・データベースから所与のテンプレートに適合するエントリーを取り
除く。
【0039】 (1)(エントリー対照の方法) 図6に示される工程は、図7と連係して記載され、図7は、図6の検索方法原
理を用いたデータベースシステムの動作例を示す。図7に示す機能的構成部分は
、図1のコンピュータシステム101〜103の1つ以上に関連するソフトウェ アとハードウェアとの組合わせによって実現される。ステップ602において、
読取又取出要求が、ユーザ702からデータベースマネージャ704へ供給され
る。所与の要求は、指定されたテンプレートを含む(例えば、その1つは図7の
テンプレート706である。)。続いて、ステップ604において、データベー
スマネージャー704の検索エンジン708は、エントリー・データベース71
0を検索し、適合するテンプレートの型又はテンプレートの部分型が、エントリ
ー・データベース710に存在するか否かを決定する。テンプレートと同じ型又
はその部分型のエントリーが、エントリー・データベース710内になければ(
ステップ606)、ステップ608において、データベースマネージャ704は
、ヌル値をユーザ702に返す。
【0040】 検索エンジン708が、そのテンプレートの型又はその部分型に適合する1つ
以上のエントリーがエントリー・データベース710に存在すると判定すると、
選択されたエントリー(同じ型又はその部分型)のフィールドを、ワイルドカー
ドとして指定されていないテンプレート706の対応するフィールドと比較する
(ステップ610)。検索エンジン708は、テンプレートのワイルドカードフ
ィールドに対応する選択されたエントリーの全てのフィールドを無視する(ステ
ップ612)。1つの特定の実施形態では、検索エンジン708は、エントリー
の非ワイルドカード・フィールドに関連付けられた属性又はデータが、正確に、
対応するテンプレートエントリーの属性又はデータに適合するか否かを判定する
。ワイルドカード以外のフィールドの属性が、テンプレートのフィールドに正確
に適合しないときには、適合するものがそのエントリーに関しては発生しないこ
とが判定される。注意すべきことに、他の実施例では、テンプレートのフィール
ドは、対応するフィールドのデータが結果的に適合するような値の範囲(正確に
適合するものを要求しない)が指定される。
【0041】 (2) 実施例 図7によって図示される実施例は、テンプレート706のフィールドCが、ワ
イルドカードとして指定される。このように、検索エンジン708が、適合する
エントリーを求めてエントリー・データベース710を検索するときには、検索
エンジン708は、第1に、テンプレート706の型又はその部分型であるエン
トリーが、エントリー・データベース710内に存在するか否かを判定する。図
示のように、エントリー1及びエントリー2は、この条件を満たす。検索エンジ
ン708は、これらのエントリーから1つを選択し(図示のように、例えばエン
トリー2)、そして、そのエントリーのフイールドを、ワイルドカードとして指
定されていないテンプレートのフィールドと比較する。検索エンジン708は、
テンプレートの非ワイルドカード・フィールドの夫々が、エントリーの対応する
フィールドの夫々の属性に適合するか否かを判定する。注意すべきことに、図7
のテンプレート706のフィールドCがワイルドカードとして指定されているの
で、エントリー2のフィールドCの属性は無視され、比較操作に影響しない。同
様に、テンプレート型の部分型によって定義される全てのエントリーのそれらの
フィールドは、無視される(ワイルドカード・フィールドの属性は適合しないに
も関わらず、適合するものが存在することになる。)。もし、適合するエントリ
ーが見つかったときには(全ての非ワイルドカード・フィールドが適合する)、
検索エンジン708は、要求が読取要求又は取出要求のどちらであるかに応じて
、エントリーデータベース710から適合するエントリーを読み取ってそれをユ
ーザに提供し、又は、エントリーデータベース710からエントリーを取り去る
。検索エンジン708は、適合するものが見つかるまで、又は、エントリーの全
てが調べられるまで、エントリーデータベース710を検索する。データベース
の全てのエントリーを検索しても、適合するエントリーが見つからないときには
、データベース・マネージャ704はヌル値(ステップ616)をユーザ702
に返す。
【0042】 (3)通知 次に、図8を参照すると、本発明に従って、ユーザから受取った通知要求を処
理するための検索エンジン708によって実施される方法原理の実施の形態を図
示するフローチャートが示されている。前述の如く、通知要求は、テンプレート
に適合する将来入ってくるエントリーに対する関心を登録するために、ユーザに
よって発行される。適合するエントリーが到来すると、データベース・マネージ
ャは、ユーザ又はイベント受取部(図2)に、通知する。ユーザが、通知要求を
発するときには、通知を登録する期間の長さを示す登録時間が指定される。指定
された時間が経過すると、その通知登録がキャンセルされる。
【0043】 こうして、図8に示されるように、データベース・マネージャ704が新しい
通知要求を受取ったときには(ステップ802)、登録時間が満了するまで、入
ってくるエントリーが監視される(ステップ804及びステップ806)。テン
プレートの型又はその部分型であるエントリーが、エントリー・データベース7
10に書き込まれると(ステップ808)、エントリーのフィールドが比較され
、それらの属性が、テンプレートの非ワイルドカード・フィールドに関連付けら
れた属性に適合するか否かを判定する(ステップ810)。先の記述と同様に、
入ってくるエントリーのフィールドが、ワイルドカードを用いられるか、又はテ
ンプレートエントリーの部分型によって定義される場合には、無視される(ステ
ップ812)。もし、適合するものが現れたときには、ユーザ又はイベント受取
部に通知する(ステップ814、ステップ816)。更に、入ってくるエントリ
ーは、登録時間が満了しない限り監視される。
【0044】 (4)インデックス作成 図7へ戻ると、検索エンジン708は、更に、データベース・マネージャ70
4に受取られたクエリーによって普通に指定された特性を具備するエントリーの
インデックスを生成する。即ち、検索エンジン708は、所定の用法を検出する
と、受理されたテンプレートによって指定される普通に指定された特性を具備す
るエントリーを指し示すインデックス720を生成する。実施例として、データ
ベース・マネージャ704が、図7に示すテンプレート706と同じ型又は部分
型のテンプレートを使用するいくつかのクエリー要求を受取ったときには、この
状況では、検索エンジン708が、フィールドAと同じ属性値(例えば、整数値
1000)が、多くの要求の各テンプレートにおいて指定されることを検出する
。1つの実施の形態では、データベース・マネージャ704は、多くの要求によ
って指定された通常のテンプレート用法を検出すると、それに反応して、エント
リー・データベース710内の普通に受取ったテンプレートと同じ型又はその部
分型であり、フィールドAによって指定された通常の属性を有する全てのエント
リーに関し、その位置を示すインデックス720を作成し、。従って、同様のテ
ンプレート(即ち、フィールドAに値1000が指定されたテンプレート)を有
する新しいクエリーが受取られたときには、検索エンジン708がインデックス
720を使用して、データベースのエントリー集合全体を検索することなく、迅
速に、そのテンプレートに適合するエントリー群の部分集合の位置を突きとめる
【0045】 このインデックス作成方法原理についての実施形態が、図9A及び図9Bに図
示される。図9Aに示されるように、要求テンプレートに基づいて(ステップ9
10)、同じ属性及び値により指定されるテンプレートに関連付けられたパター
ン(例えば、特定の1つの(又は複数個の)非ワイルドカード・フィールドフィ
ールド)があるか否かを決定する(ステップ912)ことにより、特定のテンプ
レート分類に対応するエントリーについてのインデックスが、作成される。この
決定は、特定の時間に同様のテンプレートを有する予め定められた個数のクエリ
ーを受取ることにより、又は、同様のテンプレートを有するクエリーのパーセン
トを受取ることにより、下される。検索エンジン708は、普通のテンプレート
用法様式を検出すると、特定のテンプレート分類のエントリーについてのインデ
ックスを作成する(ステップ914)。このように、上記の例に関し、検索エン
ジン708は、フィールドAが値1000を有するテンプレート706と同じ型
又はその部分型の全てのエントリーについてのインデックスを作成する。
【0046】 図9Bに示されるように、新しい要求がステップ920で受理されると、特定
のテンプレート分類のためのインデックスが存在しなければ通常の検索が実行さ
れる(ステップ922、ステップ924)。新規要求のテンプレートのためのイ
ンデックス分類が存在するときには、そのインデックスが、適合する可能性があ
るエントリーの部分集合及びこれらのエントリーの同等物を見つけるために用い
られる。この様式により、利便性の高い検索が実現される。注意すべきは、その
後、検索エンジン708は、要望に応じて、通常の用法がもはや検出されなけれ
ばインデックスを消去するようにしてもよい。
【0047】 前述の如く、エントリー型は、更に、特定の動作を実行させるためのメソッド
を定義するかもしれない。そのメソッドは、外部刺激(例えば、データベースシ
ステムに関連付けられエントリーを処理するソフトウェアプログラム)により呼
び出される。このような特定の動作は、エントリーに存在するデータに影響する
。加えて、データの形式は異なるが、特定のエントリーが他の物と同等(又はテ
ンプレートと等しい)か否かを決定するための効率的な適合検査を行う方法が使
用される。例えば、復元されたビデオデータを記憶するエントリーが、圧縮され
た形式の該ビデオデータを記憶する他のエントリーと同等とみなされるかもしれ
ない。実際に記憶されているデータが異なっても、このようなエントリー適合判
定方法が提供されるかもしれない(例えば、映像に関連付けられたファイルシス
テムにおける同じ潜在的なパスネームをオブジェクトが参照するか否かを決定す
る方法が呼び出される。)。
【0048】 更に注意すべきは、エントリーが、エントリーのクラス及びエントリーの各フ
ィールドの直列形式を含む実施例特有の表現で記憶される。テンプレートの直列
形式は、エントリーの直列形式と比較される。最後に注意すべきは、エントリー
は、他のエントリーのフィールドによって指定される場合もある。
【0049】 (マルチ・エントリー及びマルチ・テンプレートの対照) 他の実施形態は、データベース内の項目の操作及び対照を実行し、各項目はエ
ントリーの集合を定義する。ここでは、“項目”は、“マルチ・エントリー”と
呼ばれ、“マルチ・テンプレート”(又は“項目テンプレート”)は、テンプレ
ートの集合を指して用いられ、どちらの語も、データベース内の項目の対照をす
るために用いられる。この節では、更に、マルチ・エントリーとマルチ・テンプ
レートとの対照処理、及びマルチ・エントリーとマルチ・テンプレートとを含む
操作について詳細に記述する。マルチ・エントリー及びマルチ・テンプレートの
多くの動作は、前述のシングル・エントリー及びシングル・テンプレートの動作
に似ている。
【0050】 図10は、エントリーデータベース206〜208の何れにも記憶されている
可能性がある複数のマルチ・エントリーの例を示す図である。本発明に従う方法
及びシステムにおいては、各マルチ・エントリーはエントリーのグループであり
、各エントリーは、例えば、JavaTMプログラム言語のJavaTMクラスで表現された
オブジェクトを含む型付けされたグループである。言い換えれば、マルチ・エン
トリーはエントリーの集合であり、それ自身は型を有さない。
【0051】 図10を参照すると、マルチ・エントリー1は、図示の如く、4つの要素(要
素A、要素B、要素C、要素D)を含む。マルチ・エントリーは、可変長である
ので、この例のマルチ・エントリー2は、5つの要素(要素E、要素F、要素G
、要素H、要素I)からなる集合を含み、この実施形態のマルチ・エントリー3
は、3つの要素(要素J、要素K、要素L)からなる集合を含む。マルチ・エン
トリーの各要素は、型付けされたエントリーを記憶するように構成される。記述
されるように、これらの型付けされたエントリーの夫々は、JavaTMクラスで表現
され、エントリーのフィールドは、型付けされたオブジェクトを表わす値を記憶
する。例えば、マルチ・エントリー1の要素Aは、エントリー1010を表わす
値を含みマルチ・エントリー1の要素Bは、エントリー1012を表わす。同様
に、マルチ・エントリー2の要素Eは、エントリー1014を表わし、要素Fは
エントリー1016を表わし、以後同様である。注意すべきは、図10のマルチ
・エントリー例において、どのエントリーも同じ型を有するが、エントリーに関
連付けられた属性又はデータは異なる。
【0052】 マルチ・エントリーとマルチ・テンプレートは、まさに集合であるので、適当
な集合の表現を用いて表わされることができる。例えば、JavaTMプログラム言語
を含む多くのプログラム言語における適当な表現は、配列である。配列の大きさ
は、マルチ・エントリーのエントリーの個数又はマルチ・テンプレートのテンプ
レートの個数により、与えられ、配列の各要素は、エントリー(マルチ・エント
リーの場合)又はテンプレート(マルチ・テンプレートの場合)である。
【0053】 図2に戻ると、前述の如く、エントリーデータベース206,207及び20 8は多数のマルチ・エントリーを記憶している。マルチ・エントリーは、クライ
アントによって呼び出される書込操作によって、所与のエントリーデータベース
206〜208内に記憶される。更に、マルチエントリーが、装着媒体(例えば
、図1の装着媒体126)によってエントリー・データベースに供給されるかも
しれない。シングル・エントリーの実施形態と同様に、図11によって図示され
るように、いくつかの追加の操作がシステムによってサポートされる。即ち、書
込操作に加えて、クライアント又はユーザは、読取操作、書込操作又は通知操作
を開始させることができる。
【0054】 読取操作、取出操作及び通知操作は、シングルエントリーに対する操作と同様
にマルチエントリーを操作する。一つの実施形態においては、これらのクエリー
は、操作に関して関心のあるマルチエントリーを定義するために操作要求の一部
として含まれるマルチエントリーを用いて、生成される。前記シングルエントリ
ーの場合と同様に、読取操作は所与のマルチ・テンプレートに適合するデータベ
ースのマルチ・エントリーを読取る。ここでも、取出操作は、読取操作と同様の
機能を実行するとともに、データベースから読取ったマルチ・エントリーを取去
る。通知操作は、前もってマルチ・エントリーへの関心を登録するために用いら
れ、適合するマルチ・エントリーがデータベースに到来した時に、クライアント
又はイベント受取部へ通知する。
【0055】 図12は、マルチ・エントリーの実施例を図示する。概して、マルチ・テンプ
レートは、前述のように、要素がテンプレートを含む特定のマルチ・エントリー
を指定する。図12に示されるマルチ・テンプレート1200は、4つの要素、
W,X,Y及びZを有しているが、注意すべきは、マルチ・テンプレートに含ま
れる要素の個数は、幾つでもよい。しかし、本発明の実施の形態では、マルチ・
テンプレート1200の各要素は、1つのテンプレート1202を含む。
【0056】 (1)マルチ・エントリーとマルチ・テンプレートとの対照 概して、マルチ・テンプレートの各テンプレートが、マルチ・エントリー内に
適合するエントリーを有していれば、マルチ・テンプレートはマルチ・エントリ
ーに適合する。マルチ・エントリーの各エントリーは、マルチ・テンプレートの
複数のテンプレートと適合する場合もある。例えば、マルチ・エントリー内の1
つのシングル・エントリーが、マルチ・テンプレート内の全てのテンプレートと
適合する場合があり、その場合には、そのマルチ・エントリーとマルチ・テンプ
レートとは適合すると判定される。マルチ・エントリーがマルチ・テンプレート
と適合するか否かを決定する過程では、マルチ・エントリーの個々のエントリー
をマルチ・テンプレートの個々のテンプレートと比較することが必要である。か
かるマルチ・テンプレート内の個々のテンプレートとマルチ・エントリー内の個
々のエントリーとの対照は、前述のシングル・エントリーとシングル・エントリ
ーとの対照と同様に、実行される。
【0057】 図13は、読取要求又は取出要求に反応して特定のエントリーデータベース内
のマルチ・エントリーを検索する方法の一実施例を示すフローチャートである。
図13に図示される工程は、図13の検索方法原理を採用するデータベースシス
テムの動作例を示す図14に関連して説明される。図14の機能的構成部分は、
1個以上のコンピュータ101〜103と連携するソフトウェアとハードウェア
との組合わせによって実現される。ステップ1302において、読取又は取出要
求が、ユーザ702からデータベースマネージャ704へ供給される。所与の要
求は、指定されたマルチ・テンプレートを含む(例えば、その1つは図14のテ
ンプレート1200である。)。続いて、データベースマネージャ704の検索
エンジン708は、エントリー・データベース710を検索し、マルチ・テンプ
レートに適合するマルチ・エントリーが、エントリー・データベース710に存
在するか否かを決定する。
【0058】 エントリーデータベース710を検索するために、検索エンジン708は、エ
ントリーデータベース710のマルチ・エントリーを選択し、与えられたマルチ
・テンプレートと比較する(ステップ1304)。そして、検索エンジン708
は、マルチ・エントリーが指定されたマルチ・テンプレートに適合するか否かを
判定するために、マルチ・テンプレートの各テンプレートをマルチ・エントリー
のエントリーと比較する(ステップ1306)。マルチ・テンプレートの全ての
テンプレートに関し、適合するエントリーが存在する場合には、マルチ・エント
リーはマルチ・テンプレートに適合すると判定される(ステップ1308)。マ
ルチ・エントリーの各エントリーは、マルチ・テンプレートの複数のテンプレー
トに適合するかもしれない。マルチ・テンプレートの全てのテンプレートが、適
合するエントリーをそのマルチ・エントリーに有していると判定されたときには
(ステップ1310)、マルチ・テンプレートはマルチ・エントリーと適合する
と判定され、そのマルチ・エントリーが返される(ステップ1312)。この処
理は、データベース内の全てのエントリーが、調べられるまで、繰り返される。
【0059】 選択されたマルチ・エントリーと操作によって供給されたマルチ・テンプレー
トとの間で適合が生じないときには、検索エンジン708は、エントリーデータ
ベース710内の他のマルチ・エントリーを検索する(ステップ1314)。マ
ルチ・テンプレートに適合するマルチ・エントリーがデータベースに存在しない
ときには、ヌル値が返される(ステップ1316)。複数が発見されたときには
、1つのマルチ・エントリーが返されるようにしてもよいし、要求された個数の
適合するマルチ・エントリーを返すようにしてもよい。クライアントからの元要
求が、取出要求として到来したときには、適合するマルチ・エントリーがデータ
ベースから取り去られる。
【0060】 (2)実施例 図14に図示される実施例では、検索エンジン708はマルチ・エントリーの
1つを選択し(例えば、図示されるマルチ・エントリー2)、マルチ・エントリ
ーのエントリーをマルチ・テンプレートのテンプレートと比較する。この実施例
では、検索エンジン708は、マルチ・テンプレート1200を含む要求を受取
る。
【0061】 検索エンジン708は、マルチ・テンプレート1200内のテンプレートがエ
ントリーデータベース710内の選択されたマルチ・エントリーのエントリーに
適合するか否かを判定する。検索エンジン708は、マルチ・テンプレート12
00の要素Wのテンプレートをエントリーデータベース710のマルチ・エント
リー2の要素E,F,G,H及びIと比較し、これらのエントリーの何れかがテ
ンプートに適合するか否かを判定する。検索エンジン708が、マルチ・テンプ
レート1200の要素W内のテンプレートに適合するものを見つけると、マルチ
・テンプレート1200の要素Xのテンプレートに適合するものを捜そうとする
。次は、適合するものが見つかるまで、マルチ・テンプレート1200の要素X
のテンプレートを、マルチ・エントリー2の各エントリーと比較する。注意すべ
きは、要素E,F,G,H及びIのこれらのエントリーの夫々は、マルチ・テン
プレートの他のテンプレート(即ち、要素Wのテンプレート)と比較された後に
、このテンプレートと再び比較されることがある。要素Xのテンプレートに適合
するものが見つかると、検索エンジン708は、マルチ・テンプレート1200
の残りのテンプレート(要素Y及びZのテンプレート)を同様に調べる。各エン
トリーは複数のテンプレートと比較されるので、例えば、マルチ・エントリー2
の要素Eのエントリーは、マルチ・テンプレート1200の要素W,X,Y及び
Zのテンプレートの全てと適合する可能性がある。マルチ・テンプレート120
0の各テンプレートは適合するエントリーをマルチ・エントリー2内に有してい
れときには、マルチ・エントリー2はマルチ・テンプレート1200に適合する
と判定される。
【0062】 シングル・エントリー操作と同様に、適合するマルチ・エントリーが見つかっ
たときには、検索エンジン708は、要求が読取要求であるか取出要求であるか
に応じて、エントリーデータベース710から適合するマルチ・エントリーを読
取るか、又は、取去り、そして、それをユーザへ供給する。検索エンジン708
は、適合するものが見つかるか、又は、全てのマルチ・エントリーが調べられる
まで、エントリーデータベース710を検索する。適合するマルチ・エントリー
が見つからなければ、データベースマネージャ704は、ヌル値をユーザ702
へ返す。
【0063】 (3)通知 次に、図15を参照すると、ユーザから受理した通知要求を処理するために検
索エンジン708によって実行される方法原理の一実施例を図示するフローチャ
ートが示されている。通知操作は、シングル・エントリーの場合の通知と同様で
あり、前述の如く、将来入ってくるマルチ・テンプレートに適合するマルチ・エ
ントリーへの関心を登録するためにユーザによって発行される。適合するマルチ
・エントリーが到来したときには、データベースマネージャ704は、ユーザ又
はイベント受取部へ通知する(図2)。ユーザが、通知要求を呼び出したときに
は、データベースマネージャ704が通知を登録する期間の長さを示す登録時間
が指定される。指定された時間が満了すると、通知登録はキャンセルされる。
【0064】 こうして、図15に示されるように、データベースマネージャ704は、新し
い通知要求を受取ったときには(ステップ1502)、その登録時間が満了する
まで、入ってくるマルチ・エントリーが監視される(ステップ1504、ステッ
プ1506)。マルチ・エントリーがエントリーデータベース710に書き込ま
れると、検索エンジン708は、そのマルチ・エントリーがマルチ・テンプレー
トに適合するか否かを判定する。上記説明と同様に、マルチ・テンプレートの各
テンプレートが、マルチ・エントリー内に適合するマルチ・エントリーを有して
いれば(ステップ1508、ステップ1510)、適合することになり、ユーザ
又はイベント受取部に通知される(ステップ1512)。それ以降に入ってくる
マルチ・エントリーも、登録された時間が満了するまで、監視される(ステップ
1504)。
【0065】 (内部でのエントリー変更) 選択的実施形態では、更に、データベース内の内部でエントリー及びマルチ・
エントリーを変更する。本発明によれば、この実施形態は、エントリー/テンプ
レートを有する例にも、マルチ・エントリー/マルチ・テンプレートを有する例
にも、適用される。この実施例においては、エントリーのフィールドがデータベ
ースの内部で変更されることが可能であり、マルチ・エントリーの場合には、マ
ルチ・エントリー内のエントリーが追加、変更及び削除されることが可能である
。“内部で”の語は、エントリー又はマルチ・エントリーをデータベースから取
去ることなくデータベース内で変更することを意味する。
【0066】 本発明のこの実施例に従う内部での変更操作は、“シングル・エントリー変更
”、“マルチ・エントリー追加”、“マルチ・エントリー変更/削除”、そして
、“通知”を含む。図16は、これらの内部での変更及び変更を要求するために
ユーザから供給される情報を図示する。このシングル・エントリー変更操作は、
データベースのエントリーの個々のフィールドの値を変更する。マルチ・エント
リー追加操作は、データベースに存在するマルチ・エントリーにエントリーを追
加し、マルチ・エントリー変更/削除操作は、データベースのマルチ・エントリ
ーのエントリーを変更又は削除する。内部での変更に関しては、通知操作は、デ
ータベース内のエントリー又はマルチ・エントリーでの変化によって適合が生じ
たことを通知する。一般に、操作要求の第1のパラメータは、図16に示すよう
にデータベース内の変更されるエントリー又はマルチ・エントリーを表わし、第
2のパラメータは、実行される変更を表わす。
【0067】 (1)シングル・エントリー変更 図17は、本発明に従うシングル・エントリー変更の実施例を図示するフロー
チャートを示す。更に、構造的な態様を示すために、図7が参照される。エント
リー内の個々のフィールドの値を変更するためのシングル・エントリー変更を呼
び出すために、ユーザ702は、2つのテンプレートを含む要求を生成する(ス
テップ1700、図16参照)。第1のテンプレート1602は、変更されるデ
ータベースのエントリーを表わすために使用され、第2のテンプレート1604
は、エントリーを変更するために使用され、実行される変更を表わす。これらの
2つのテンプレートにより、エントリーを識別し、それを変更することにより、
同一のエントリーを操作するので、第2のテンプレート1604は、第1のテン
プレート1602と同じ型又はその上位型である。また、シングル・エントリー
変更手順が、テンプレートを検査する型を含むようにしてもよい。
【0068】 第1に、サーチエンジン708は、ユーザ702からの要求から受取る第1の
テンプレート1602に適合するエントリーデータベース710のエントリーを
検索する。データベースのエントリーを第1のテンプレートと比較するときに、
前述のように、シングル・エントリーとテンプレートとを対照することによって
、対照が行われる。エントリーデータベース710に第1のテンプレートに適合
するエントリーがない場合には(ステップ1704)、検索エンジン708は、
この操作によって変更されたエントリーの個数を表わすゼロをユーザに返す(1
712)。 適合するエントリーが見つかると、第2のテンプレート1604は、データベ
ース内の内部でエントリーを変更するために用いられ、即ちエントリーは、変更
のためにデータベースから取去られない。第2のテンプレート1604は、第1
のテンプレート1602と同じ型又はその上位型であり、第1のテンプレート1
602は、変更されるエントリーと同じ型又はその上位型であるので、第2のテ
ンプレート1604は、変更されるエントリーと同じ型又はその上位型であり、
第2のテンプレート1604は、変更されるエントリーのフィールド群と同じフ
ィールド群又はその部分集合である。適合するエントリーを変更するために、第
2のテンプレート1604の非ヌル・フィールドの値が、エントリーの対応する
フィールドの値を置き換えるために、用いられる(ステップ1708)。第2の
テンプレート1604のヌル・フィールド又はワイルドカード・フィールドに対
応するエントリーのフィールドの値は、変更されない。データベースのエントリ
ーを変更した後、検索エンジン708は、変更されるエントリーの検索を更に継
続する。第1のテンプレート1602に適合するデータベースのエントリーが他
にある場合には(ステップ1710)、これらのエントリーは同様に変更される
(ステップ1708)。完了すると、検索エンジン708は、操作によって変更
されたエントリーの個数を表わす数を返す(ステップ1712)。
【0069】 (2)マルチ・エントリー追加 図18は、本発明に従うマルチ・エントリー追加操作の工程を図示するフロー
チャートである。概して、マルチ・エントリー追加操作は、データベース内の指
定されたマルチ・エントリーにエントリーを追加するものである。この操作を要
求するユーザ702は、2つのパラメータ、マルチ・テンプレート1606及び
マルチ・エントリー1608を検索エンジン708に供給する(図16参照)。
第1のパラメータ、マルチ・テンプレート1606は、変更されるエントリーデ
ータベースのマルチ・エントリーを指定するために用いられ、第2のパラメータ
マルチ・エントリー1608は、指定されたマルチ・エントリーデータベースに
追加されるエントリーの集合である。検索エンジン708は、マルチ・エントリ
ー/マルチ・テンプレート対照を前述のように実行して、ユーザ702によって
与えられたマルチ・テンプレート1606に適合するデータベースのマルチ・エ
ントリーを検索する(ステップ1802)。適合するマルチ・エントリーが見つ
からないときには(ステップ1804)、検索エンジン708は、エントリーが
追加されるマルチ・エントリーの個数を表わすゼロをユーザ702に返す(ステ
ップ1812)。
【0070】 適合するマルチ・エントリーが見つかったときには(1804)、ユーザ70
2によって供給された指定マルチ・エントリー1608のエントリーが、適合す
るマルチ・エントリーをエントリーデータベース710から取去ることなく、エ
ントリーデータベース内で見つかった適合するマルチ・エントリーに追加される
。データベース内のマルチ・エントリーに追加した後に、検索エンジン708は
、変更すべきマルチ・エントリーの検索を更に継続する。操作要求の第1のパラ
メータとして与えられたマルチ・テンプレート1606に適合するエントリーデ
ータベース710のマルチ・エントリーが他にある場合には(ステップ1810
)、操作要求のマルチ・エントリー1608のエントリーが、同様に、これらの
マルチ・エントリーに追加される(ステップ1808)。最後に、検索エンジン
708は、エントリーが追加されたマルチ・エントリーの個数を表わす数を返す
【0071】 (3)マルチ・エントリー変更/削除 図19は、本発明に従うマルチ・エントリー変更/削除操作を実施する方法を
図示するフローチャートである。マルチ・エントリー変更/削除操作は、要求に
含まれるマルチ・エントリーのエントリーに対応して、データベースのマルチ・
エントリーのエントリーを変更するか、又は、データベースのマルチ・エントリ
ーからエントリーを削除する。検索エンジン708は、マルチ・エントリー変更
/削除要求を受取ったときには、その要求は、2つのパラメータとして、2つの
マルチ・テンプレート、即ち、マルチ・テンプレート1610及びマルチ・テン
プレート1612を含む。マルチ・テンプレート1610は、変更され、又は、
エントリーが削除されるエントリーデータベース710のマルチ・エントリーを
指定するために用いられ、ユーザ702によって供給されるマルチ・テンプレー
ト1612は、適合するマルチ・エントリーのエントリーに対して実行される変
更又は削除を指定する。
【0072】 要求により与えられるマルチ・テンプレート1612は、マルチ・テンプレー
ト1610と同じ数のテンプレートを含む。更に、各個々のテンプレートは、マ
ルチ・テンプレート1610の対応するテンプレートと同じ型、又はその上位型
である(即ち、マルチ・テンプレート1612のすべてのテンプレート(i)は、 マルチ・テンプレート1610のテンプレート(i)と同じ型、又は、その上位型 である。)。例えば、マルチ・テンプレート1610の第1のテンプレートは、
マルチ・テンプレート1610の第1のテンプレートの第1のテンプレートと同
じ型又はその上位型であり、第2のテンプレートは、対応する第2のテンプレー
トと同じ型又はその上位型であり、以後同様である。通常のマルチ・テンプレー
トとは異なり、要求パラメータに係るマルチ・テンプレート1612のテンプレ
ートは、ヌル値であるかも知れないし、これらのテンプレートが、下に説明され
るように、マルチ・エントリーからの削除を表わすために用いられることもある
【0073】 検索エンジン708は、第1に操作要求の第1パラメータとして与えられるマ
ルチ・テンプレートに適合するマルチ・エントリーを検索する(ステップ190
2)。適合するものが見つからないときには、変更されるマルチ・エントリーの
個数を表わすゼロが返される(ステップ1914)。 エントリーデータベース710内に、適合するマルチ・エントリーが見つかる
と、操作要求からのマルチ・テンプレート1612を用いて、それが変更される
。この変更を完了するために、マルチ・テンプレート1612の各非ヌル・テン
プレートについて、マルチ・テンプレート1612の非ヌル・テンプレートに従
って、エントリーデータベース710の適合するマルチ・エントリーに対応する
エントリーが、変更される(ステップ1908)。この変更は、前述のシングル
・エントリー変更によって実行され、変更はエントリーデータベース710にお
いて、適合するマルチ・エントリーを取去ることなく、内部で行われる。例えば
、マルチ・テンプレート1612内のテンプレート(i)は非ヌル値であれば、変 更されるマルチ・エントリー内のエントリー(i)が、シングル・エントリー変更 を用いてマルチ・テンプレート1612のテンプレート(i)に従って、変更され る(図17のステップ1708参照。但し、マルチ・テンプレート1612のテ
ンプレート(i)はテンプレート2として用いられる。)。テンプレート(i)の
非ヌル・フィールドの値は、変更される現存のエントリーの対応するフィールド
の値を置き換えるために用いられる。
【0074】 与えられたマルチ・テンプレート1612の全てのヌル・テンプレートについ
て、適合するマルチ・エントリー内の対応するエントリーが削除される(即ち、
ヌルであるマルチ・テンプレート1612の全てのテンプレート(i)に関し、 変更されるマルチ・エントリーのエントリー(i)が削除される。)(ステップ 1910)。マルチ・テンプレート1610に適合するデータベースのマルチ・
エントリーが存在する場合には、これらの工程は、エントリーデータベース71
0の残りの適合するマルチ・エントリーを変更するために、繰り返される。検索
エンジン708は、変更を完了すると、変更されたマルチ・エントリーの個数を
表わす数を返す(ステップ1914)。
【0075】 しかし、マルチ・エントリー変更/削除操作を実行するときには、例外的な場
合が発生する。マルチ・エントリー/マルチ・テンプレート対照では、マルチ・
エントリーのエントリーはマルチ・テンプレートの複数のテンプレートと適合す
る場合があるので、マルチ・エントリーはマルチ・テンプレートに適合し、マル
チ・テンプレートが含むテンプレートよりも少ないエントリーを有するかもしれ
ない。このようなマルチ・エントリーは、マルチ・テンプレート1610に適合
し、本発明に従う変更/削除操作によって変更され、マルチ・テンプレート16
12の複数のテンプレートは、変更されるマルチ・エントリーのシングル・エン
トリーを変更又は削除するために用いられる。この場合には、マルチ・テンプレ
ート1612におけるこのようなテンプレート(即ち、変更されるマルチ・エン
トリーのエントリーに適合するマルチ・テンプレート1610のテンプレートに
対応するテンプレート)は、どれも、削除操作を表わし(即ち、ヌルである。)
、変更されるマルチ・エントリーのエントリーは削除される。さもなければ、マ
ルチ・テンプレート1612の全てのこのようなテンプレートは、変更操作を表
わし、全てのテンプレートは、変更のために用いられるが、変更を加える命令に
ついての決定は、実施例特有のものであり、変更/削除操作全体に関し重要なこ
とではない。
【0076】 (4)変更通知 内部での変更に関し、本発明に従う他の実施例では、ユーザはデータベースの
エントリー又はマルチ・エントリーに対する関心を登録して、前記の如く、ユー
ザ又はイベント受取部に返される通知を受取ることができる。この実施例では、
ユーザが、テンプレート又はマルチ・テンプレートを供給することにより、デー
タベース内のエントリー又はマルチ・エントリーに対する関心を登録すると、検
索エンジン708は、上で為されたと同様に、入ってくるエントリー又はマルチ
・エントリーを監視するわけではない。内部での変更の通知を実行するときには
、データベース内の変えられた又は変更されたエントリー又はマルチ・エントリ
ーを監視する。データベースに入ってくるエントリーではなく、データベース内
の変更されたエントリー又はマルチ・エントリーを監視することが、先の通知操
作と内部での変更に関連するこの通知操作との主な相違点である。しかしながら
、通知の基本的な概要の多くは、同じである。
【0077】 概して、テンプレート1614又はマルチ・テンプレート1616は、変化す
るエントリー又はマルチ・エントリーに対する関心の登録をするために用いられ
る。内部での変更によりマルチ・エントリー又はエントリーが変更されると、検
索エンジン708は、変更されたエントリー又はマルチ・エントリーが登録され
たテンプレート又はマルチ・テンプレートと適合するか否かを、又は、変更され
たマルチ・エントリー又はエントリーが、テンプレート又はマルチ・テンプレー
トに適合する状態から適合しないテンプレート又はマルチ・テンプレートに適合
しない状態へ移行しているか否かを判定するために調べる。従って、通知操作は
、適合から非適合への移行又は非適合から適合への移行のどちらかの適合状態移
行を検索する。
【0078】 次に図20を参照すると、変更されたエントリー又はマルチ・エントリーの変
化を監視するようにユーザから受けた通知要求を処理するための方法原理であっ
て検索エンジン708によって実行されるものの実施例が図示されるフローチャ
ートが示される。この場合には、通知要求は、ユーザによって発行され、供給さ
れたテンプレート1614又はマルチ・テンプレート1616に関連してそれら
が適合状態を変更するか否かを判定するために指定されたエントリー又はマルチ
・エントリーに対する関心を登録するための要求である。エントリー又はマルチ
・エントリーが変更されたときには、その適合状態が移行して、テンプレート1
614又はマルチ・テンプレート1616に適合する状態から適合しない状態へ
変化し、又は適合しない状態からから適合する状態へ変化することがある。通知
要求が為されており、テンプレート1614又はマルチ・テンプレート1616
に関し、エントリー又はマルチ・エントリーがその適合状態を変化するときには
、データベースマネージャ704は、要望に応じてユーザ又はイベント受取部の
どちらかへ通知する(図2参照)。ユーザが通知要求を発行すると、データベー
スマネージャ704が通知を登録する期間の長さを表わす登録時間が指定される
。指定された時間が満了すると、通知登録がキャンセルされる。
【0079】 こうして、図20に示されるように、データベースマネージャ704は新規の
通知要求を受取り(ステップ2002)、エントリー又はマルチ・エントリーが
変更される場合には、登録時間が満了するまで、それらが監視される(ステップ
2004及び2006)。エントリー又はマルチ・エントリーがエントリーデー
タベース710内で変更される場合には、検索エンジン708は、通知要求で受
取ったテンプレート1614又はマルチ・テンプレート1616に関して、変更
されたエントリー又はマルチ・エントリーがその適合状態を変更したか否かを判
定する(ステップ2008及び2010)。検索エンジン708は、変更された
エントリー又はマルチ・エントリーが要求されたテンプレート又はマルチ・テン
プレートに適合する状態から適合しない状態へ又はその反対に移行したか否かを
判定する。適合状態の移行が発生すると、ユーザ又はイベント受取部へ通知され
る(ステップ2012)。それ以降も、内部で変更されるエントリー又はマルチ
・エントリーは、登録時間が満了しない限り、継続的に監視される(ステップ2
004)。
【0080】 (型保証の属性対照) 本発明の他の実施形態は、オブジェクトとして表わされるデータベースエント
リーの種々の値を表わす属性を含む。この実施例では、属性をエントリーのフィ
ールドに関連付けること、エントリー、マルチ・エントリー及びそれらの操作を
用いることにより、型保証の属性対照が達成される。型保証の属性対象は、デー
タベースの属性の種々の型を検索することを含み、属性が強度に型付けされるこ
とを許容する。更に、それにより、属性間の関係を強制することができ、型によ
る属性の効率的な参照及び操作を可能にする。
【0081】 型保証の属性対照を用いて、属性とそれらの値との間だけでなく(1分当たり
のページ数は整数に関連付けられる)、属性と名前との相互間も厳格に関連付け
られる(「1分当たりのページ数」属性は、プリンタと関連付けられる。)。型
保証の属性対照は、属性の組とそれらの値と間の関係を強制することもできる。
多くの異なる型のオブジェクトがデータベースに記憶されることを許容し、オブ
ジェクトの効率的な検索を可能にする。更に、データベースのオブジェクトの指
定された型にだけ影響する変更を認め、データベースは、多くの異なる型のオブ
ジェクトを記憶してもよい。
【0082】 本発明に従い、型保証の属性対照は属性をエントリーのフィールドに関連付け
ることにより遂行される。エントリーのフィールドに記憶された値は、関連付け
られた属性の値である。属性の集合(この場合、エントリー)は、JavaTMクラス
により、インスタンスすることができ、そのクラスは、集合と個々の属性の両方
の強度な型付けを提供する。例えば、次の例は、名前、製品名及び物理的位置の
ような包括的な情報を表わすエントリーに加えて、プリンタの属性(即ち、1分
当たりのページ数、解像度等)を表現するフィールドによって典型的なプリンタ
を表わすエントリーを図示する。
【0083】 public class Printer implement Entry { integer ppm; // 1分当たりのページ数 integer dpi; // インチ当たりのドット数で表現した解像度 Boolean duplex // 両面印刷対応 Boolean color // カラー又は白黒 } public class Name implements Entry { String name; //サービスのわかりやすい名前 String description; //サービスに関する形式不問の記述 String language; //上で使用される言語(language) } public class Type implements Entry { String type; //サービスの一般的な型 String vendor; //サービスを実行する製品の供給元(vendor) String model; //製品のモデル番号/モデル名 String version; //製品のバージョン番号 public class Location implements Entry { Integer floor; //サービスが存在する階 String building; //それがあるビル String room; //それがある部屋 }
【0084】 表に示すように、エントリーだけでなくフィールドも厳密に型付けされており
、これらのフィールドとそれらの型が、常にこれらのエントリー及びそれらの型
と関連付けられている。例えば、“ppm”又は“1分当たりのページ数”は、
“整数”型である。
【0085】 項目の他の記載は、マルチ・エントリーを用いて為される。マルチ・エントリ
ーを用いると、典型的なプリンタは複数の属性集合からなる集合として記述され
る。この様式で典型的なプリンタを記述するときには、位置、名前、機種、のよ
うな追加の態様が含まれるかも知れず、各態様はマルチ・エントリーにおいて他
のエントリーによって表現される。上記の例におけるエントリーの集合は、典型
的なプリンタの属性を表わす例示的なマルチ・エントリーを構成する。
【0086】 エントリー及びマルチ・エントリー操作は、これらの型保証の属性集合を、検
索し操作するために使用される。これらの操作は、取出、書込、通知、読取、エ
ントリー変更、マルチ・エントリー追加、マルチ・エントリー変更/削除及び変
更通知を含む。注意すべきは、他の既知のデータベース操作が本発明に従うデー
タベースシステムにおいて実行され得る。
【0087】 例えば、データベースに記憶される次のマルチ・エントリーによって記述され
る2つのプリンタが存在すると仮定する。各プリンタは、マルチ・エントリーの
エントリーのフィールドに関連付けられた属性によって記述される特性を有して
いる。この仮定された例では、第1のプリンタは、英語の名前“quick”と
ドイツ語の名前“schnell”とを有し、どちらも記述と関連付けられてい
る。例に示すように、それは、ABCビルの1階1202号室に位置し、印刷特
性と結びついている(例えば、ppm=10、dpi=600等)。かかるプリ
ンタは次のマルチ・エントリーによって表現される。
【0088】 Multi-Entry 1 = {Name [name = "quick", description = "yada1", language = "English"], Name [name = "schnell", description = "yahda1", language = "Germany"], Location [floor = 1, building = "ABC", room = "1202"], Printer [ppm = 10, dpi = 600, duplex = true, color = false]}
【0089】 第2のプリンタは、英語名“Slow”を有し、XYZビルの2階101号室
に位置し、印刷特性に結び付けられている(例えば、ppm=3、dpi=30
0等)。第2のプリンタは次のマルチ・エントリーで表現される。
【0090】 Multi-Entry 2 ={Name [name = "slow", description = "yada2", language = "English"], Location [floor = 2, building = "XYZ", room = "101"], Printer [ppm = 3, dpi = 300, duplex = fales, color = true]}
【0091】 ここで、エントリーのフィールドによって表わされる属性を有する全てのプリ
ンタを返すことを要求する検索を仮定する。例えば、ユーザが、XYZビルに置
かれカラープリンタであるデータベースに記憶されているプリンタを探す場合に
は、データベース検索用マルチ・テンプレートは、次のように表わされる。
【0092】 Multi-Template 1 = { Location [floor = null, building = "XYZ", room = null], Printer [ppm = null, dpi = null, duplex = null, color = true]}
【0093】 ユーザは、パラメータとしてマルチ・テンプレート1を供給する読取操作を呼
び出す。マルチ・テンプレート1及び2を含むデータベースに適用されると、前
述の例の中から第2のプリンタを表わすマルチ・エントリー2が返される。何故
なら、マルチ・テンプレート1は、ここに示すように、マルチ・エントリー2に
適合するからである。検索エンジン708は、データベースを検索し、正しくな
い型の項目を迂回して、エントリーのフィールドに記憶された値と、要求にかか
るテンプレートの値とを比較する。その結果、正しい属性値を有するものだけを
返す。この型保証の対照は、異なる型のオブジェクトが、同じデータベースに記
憶され、効率的に検索されることを可能にする。
【0094】 型保証の属性対照を採用するデータベースにおいて実行される操作に関して、
特定の特性を有するデータベースに記憶されている全ての項目に型保証の変更が
要求されたと仮定する。この場合には、エントリー/マルチ・エントリー変更操
作は、データベースの項目を変更するために用いられる。例えば、全ての位置の
特定の解像度(dpi=100)の白黒印刷プリンタ(color=false)を変更して、それ
らの位置属性を取去るために構成されると仮定する。前述したように、マルチ・
エントリー変更/削除操作は2つのパラメータ使用し、データベースのどのマル
チ・テンプレートが変更されるかを決定するためのマルチ・テンプレート及び施
される変更を表わすためのマルチ・エントリーの2つのパラメータが、これらの
変更を表わすために供給される。先の例に戻って参照すると、マルチ・エントリ
ー変更/削除操作の第1のパラメータは、マルチ・テンプレートの形式で、次の
ように表現される。
【0095】 Multi-Template 2 = { Location [floor = null, building = null, room = null], Printer [ppm = null, dpi = null, duplex = null, color = false]}
【0096】 このマルチ・テンプレートは、位置に関わらず全ての白黒プリンタを探す。最
終的に、この100dpiの解像度特性を有する全てのマルチ・エントリーを変
更し、それらの位置属性を取去るために、変更/削除操作が次の要求により開始
される。
【0097】 Multi-entry modify/delete {Multi-Template 2, {null, Printer [ppm = null, dpi = 100, duplex = null, color = null]})
【0098】 検索エンジン708は、マルチ・テンプレート2に適合するデータベース内の 全てのマルチ・エントリーの位置を探し当て、マルチ・エントリー変更/削除操
作方法において記述されたように、その操作にかかる第2のパラメータに従って
それらを変更する。先の例のマルチ・エントリー1は、その操作パラメータで用
いられるマルチ・テンプレート2に適合し、従って、マルチ・エントリー1は、
その操作の第2のパラメータに従って変更される。この操作は、位置属性を削除
し、dpi属性の値を100に置き換え、変更されたマルチ・エントリー1を生
み出す。
【0099】 Multi-Entry 1 = {Name [name = "quick", description = "yada1", language = "English"], Name [name = "schnell", description = "yahda1", language = "German"], Printer [ppm = 10, dpi = 100, duplex = true, color = false]}
【00100】 従って、検索エンジンは、要求された型の属性を有するデータベース内の全て
の項目を探し、型保証の様式でそれらを変更することにより、型保証の属性対照
を実行する。注意すべきは、この例は、例示目的のためだけに、示されている。 上記の記載が十分に理解されれば、当業者には、多くの変容例や改変例が明ら
かになるであろう。そして、ここでは、前記特許請求の範囲の各請求項は、それ
らの全ての変用例や改変例を含むと解釈されることが意図されている。
【図面の簡単な説明】
【図1】 本発明に従うデータベースを用いた分散型コンピュータシステムのブロック図
である。
【図2】 本発明に従う、複数のクライアントと複数のエントリー・データベースとの間
の通信例を示すブロック図である。
【図3】 本発明に従う、夫々が特定の型のフィールドを含むいくつかのエントリーを示
すブロック図であり、更に、他のエントリーの部分型であるエントリーを示して
いる。
【図4】 本発明に従うデータベースシステムによってサポートされる種々の操作を表わ
す図である。
【図5】 本発明に従うテンプレートエントリー例を示す図である。
【図6】 本発明に従う、読取要求又は取出要求のどちらかに反応して特定のエントリー
・データベース内のエントリーを検索する方法の実行を表わす図である。
【図7】 本発明に従うデータベースシステムの一例を表わす機能ブロック図である。
【図8】 本発明に従う、通知要求を処理する検索方法原理の実行を図解するフロー図で
ある。
【図9A】 本発明に従う、インデックス生成方法原理の実行を図解する図である。
【図9B】 本発明に従う、インデックス生成方法原理の実行を図解する図である。
【図10】 マルチ・エントリーを表わす図であり、各マルチ・エントリーは、エントリー
を含有するフィールドを含む。
【図11】 本発明に従うデータベースシステムによってサポートされる種
々のマルチ・エントリー操作を示す図である。
【図12】 本発明に従うマルチ・テンプレート例を示す図である。
【図13】 本発明に従うマルチ・エントリーのためのデータベース検索方
法を図示するフローチャートである。
【図14】 本発明に従うマルチ・エントリー検索例に関連するデータベー
スシステムの一例を表わす相関図である。
【図15】 マルチ・エントリーに関する通知要求を処理するための検索方
法原理に関する本発明による実行を図解するフローチャートである。
【図16】 本発明に従うデータベースの内部でエントリー及びマルチ・エ
ントリーを変更する種々の操作を表わす図である。
【図17】 本発明に従うシングル・エントリー変更操作の工程を示すフロ
ーチャートである。
【図18】 本発明に従うマルチ・エントリー追加操作の工程を示すフロー
チャートである。
【図19】 本発明に従うマルチ・エントリー変更/削除操作の工程を示す
フローチャートである。
【図20】 本発明に従う内部での変更操作に用いられる通知操作の工程を
示すフローチャートである。
【符号の説明】
100 分散型システム 310,312,314,316 オブジェクト 704 データベースマネージャ 706 テンプレート 708 検索マネージャ 710 エントリーデータベース 720 インデックス 1010,1012,1014,1016 エントリー 1200 マルチテンプレート 1202 テンプレート
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AL,AM,AT,AU,AZ,BA,BB ,BG,BR,BY,CA,CH,CN,CU,CZ, DE,DK,EE,ES,FI,GB,GD,GE,G H,GM,HR,HU,ID,IL,IN,IS,JP ,KE,KG,KP,KR,KZ,LC,LK,LR, LS,LT,LU,LV,MD,MG,MK,MN,M W,MX,NO,NZ,PL,PT,RO,RU,SD ,SE,SG,SI,SK,SL,TJ,TM,TR, TT,UA,UG,UZ,VN,YU,ZW (71)出願人 2550 Garcia Avenue,MS PAL1−521,Mountain V iew,California 94043− 1100,United States of America (72)発明者 アーノルド ケネス シー アール シー アメリカ合衆国、02173 マサチューセッ ツ州、レキシントン、ムーン ヒル ロー ド 7 (72)発明者 ウォルド ジェイムズ エイチ アメリカ合衆国、01826 マサチューセッ ツ州、ドラカット、ルビー ロード 155 Fターム(参考) 5B075 KK07 KK13 KK33 KK40 ND20 ND23 ND34 NK46 NR02 NR12 PP10 PP12 PP30 PQ05 QP10 QS20 5B082 BA09 GA08

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 複数のエントリーを含むデータベースにおける型保証の属
    性対照の方法であって、各エントリーはクラス型によって定義され、各エントリ
    ーは複数の型付けされたフィールドを含み、 前記方法は、 クラス型のテンプレートを供給する工程を含み、前記テンプレートは属性の集
    合を定義し、 前記方法は、更に、 テンプレートの属性を前記複数のエントリーの中の1個以上のエントリーの対
    応するフィールドと比較する工程と、 前記比較に基づいて、テンプレートが前記複数のエントリーの中の1個以上の
    エントリーに適合するか否かを判定する工程と、 前記判定に基づいて、適合するエントリーを識別する工程と を含むことを特徴とする。
  2. 【請求項2】 前記比較工程は、前記テンプレートと同じクラス型又は前
    記テンプレートの上位型であるエントリーのみを比較する工程を含むことを特徴
    とする請求項1に記載の方法。
  3. 【請求項3】 更に、適合するエントリーの前記識別に応答してデータベ
    ースを変更する工程を含むことを特徴とする請求項1に記載の方法。
  4. 【請求項4】 前記供給工程は、前記第1のテンプレートと同じクラス型
    又は第1のテンプレートの上位型である第2のテンプレートを供給する工程を含
    み、 前記方法は、更に、 前記第2のテンプレートの属性を反映するように、適合するエントリーを変更
    する工程を含むことを特徴とする請求項3に記載の方法。
  5. 【請求項5】 更に、適合するエントリーを削除する工程を含むことを特
    徴とする請求項3に記載の方法。
  6. 【請求項6】 前記テンプレートは、エントリーの対応するフィールドの
    どんな値にも適合するワイルドカード属性を含むことを特徴とする請求項1に記
    載の方法。
  7. 【請求項7】 ワイルドカード属性の値がヌル値であることを特徴とする
    請求項6に記載の方法。
  8. 【請求項8】 複数のエントリーを含むデータベースにおける型保証の属
    性対照のためのデータ処理装置であって、各エントリーはクラス型によって定義
    され、各エントリーは複数の型付けされたフィールドを含み、 前記装置は、 クラス型のテンプレートを供給するように構成された供給部を含み、前記テン
    プレートは属性の集合を定義し、 前記装置は、更に、 テンプレートの属性を前記複数のエントリーの中の1個以上のエントリーの対
    応するフィールドと比較するように構成された比較部と、 前記比較に基づいて、テンプレートが前記複数のエントリーの中の1個以上の
    エントリーに適合するか否かを判定するように構成された判定部と、 前記判定に基づいて、適合するエントリーを識別するように構成された識別部
    と を含むことを特徴とする。
  9. 【請求項9】 前記比較部は、前記テンプレートと同じクラス型又は前記
    テンプレートの上位型であるエントリーのみを比較するように構成された比較部
    を含むことを特徴とする請求項8に記載の装置。
  10. 【請求項10】 更に、適合するエントリーの前記識別に応答してデータ
    ベースを変更するように構成された変更部を含むことを特徴とする請求項8に記
    載の装置。
  11. 【請求項11】 複数のエントリーを含むデータベースにおけるデータ処
    理のためのコンピュータ可読コードが内部に具現化されているコンピュータ可読
    媒体を含むコンピュータプログラム製品であって、各エントリーはクラス型によ
    って定義され、各エントリーは複数の型付けされたフィールドを含み、 前記処理は、 クラス型のテンプレートを供給する工程を含み、前記テンプレートは属性の集
    合を定義し、 前記処理は、更に、 テンプレートの属性を前記複数のエントリーの中の1個以上のエントリーの対
    応するフィールドと比較する工程と、 前記比較に基づいて、テンプレートが前記複数のエントリーの中の1個以上の
    エントリーに適合するか否かを判定する工程と、 前記判定に基づいて、適合するエントリーを識別する工程と を含むことを特徴とする。
  12. 【請求項12】 前記比較工程は、前記テンプレートと同じクラス型又は
    前記テンプレートの上位型であるエントリーのみを比較する工程を含むことを特
    徴とする請求項11に記載の製品。
  13. 【請求項13】 更に、適合するエントリーの前記識別に応答してデータ
    ベースを変更する工程を含むことを特徴とする請求項11に記載の製品。
  14. 【請求項14】 複数のエントリーを含むデータベースにおけるデータ処
    理のためのコンピュータ可読コードが内部に具現化されているコンピュータ可読
    媒体を含むコンピュータプログラム製品であって、各エントリーはクラス型によ
    って定義され、各エントリーは複数の型付けされたフィールドを含み、 前記製品は、 クラス型のテンプレートを供給するための手段を含み、前記テンプレートは属
    性の集合を定義し、 前記製品は、更に、 テンプレートの属性を前記複数のエントリーの中の1個以上のエントリーの対
    応するフィールドと比較するための手段と、 前記比較に基づいて、テンプレートが前記複数のエントリーの中の1個以上の
    エントリーに適合するか否かを判定するための手段と、 前記判定に基づいて、適合するエントリーを識別するための手段と を含むことを特徴とする。
JP2000533839A 1998-02-26 1999-02-25 型保証の属性対照のための方法及びシステム Pending JP2002505485A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US7604898P 1998-02-26 1998-02-26
US60/076,048 1998-02-26
US09/044,954 1998-03-20
US09/044,954 US5988426A (en) 1996-11-08 1998-03-20 Leakproof vented beverage lid
PCT/US1999/004148 WO1999044158A1 (en) 1998-02-26 1999-02-25 Method and system for typesafe attribute matching

Publications (1)

Publication Number Publication Date
JP2002505485A true JP2002505485A (ja) 2002-02-19

Family

ID=26722209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000533839A Pending JP2002505485A (ja) 1998-02-26 1999-02-25 型保証の属性対照のための方法及びシステム

Country Status (6)

Country Link
EP (1) EP1057124A1 (ja)
JP (1) JP2002505485A (ja)
KR (1) KR20010034516A (ja)
CN (1) CN1298525A (ja)
AU (1) AU2878499A (ja)
WO (1) WO1999044158A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010055927A (ko) * 1999-12-13 2001-07-04 이계철 반복적인 구조를 가지는 전자문서의 입력 방법
US7107445B2 (en) * 2002-11-20 2006-09-12 International Business Machines Corporation Method and apparatus for secure processing of sensitive data
CN100401294C (zh) * 2005-09-30 2008-07-09 南京大学 基于关系数据库信息技术产品保护轮廓的完整性检查方法
US7467136B2 (en) * 2005-10-13 2008-12-16 Kabushiki Kaisha Toshiba System and method for persistent query information retrieval
CN101430687B (zh) * 2007-11-09 2015-11-25 阿里巴巴集团控股有限公司 基于oltp环境的统计表应用方法及系统
CN102024183A (zh) * 2009-09-11 2011-04-20 上海宝信软件股份有限公司 企业信息管理系统
CN105302827B (zh) * 2014-06-30 2018-11-20 华为技术有限公司 一种事件的搜索方法和设备

Also Published As

Publication number Publication date
CN1298525A (zh) 2001-06-06
AU2878499A (en) 1999-09-15
EP1057124A1 (en) 2000-12-06
KR20010034516A (ko) 2001-04-25
WO1999044158A1 (en) 1999-09-02

Similar Documents

Publication Publication Date Title
US6480863B1 (en) Method and system for multi-entry and multi-template matching in a database
US6032151A (en) Database system employing polymorphic entry and entry matching
US6339777B1 (en) Method and system for handling foreign key update in an object-oriented database environment
US6026402A (en) Process restriction within file system hierarchies
US6562076B2 (en) Extending application behavior through active properties attached to a document in a document management system
US7386532B2 (en) System and method for managing versions
US7650604B2 (en) Access management apparatus, access management method and program
EP0437159B1 (en) Method for identifying documents having a particular attribute using a vector relational characteristical object
US20020059327A1 (en) Method and apparatus for generating web pages from templates
US20040162816A1 (en) Text and attribute searches of data stores that include business objects
US20020188626A1 (en) Disk storage with modifiable data management function
JPH11327919A (ja) オブジェクト指向割込みシステム用の方法およびデバイス
JP2003505766A (ja) クエリー最適化プラン用インデックスに対する変化の効果を観察するためのデータベースシステム
US7363328B2 (en) Method and system for modifying schema definitions
US20030074371A1 (en) Object-relational database management system and method for deleting class instance for the same
US7154497B2 (en) Dynamic tree-node property page extensions
JP2002505485A (ja) 型保証の属性対照のための方法及びシステム
JP2002505484A (ja) データベースにおけるマルチエントリーとマルチテンプレートとの対照のための方法及びシステム
US6578044B1 (en) Method and system for typesafe attribute matching
US20030200193A1 (en) Fast retrieval of data stored in metadata
JP2002505483A (ja) データベースの内部で変更するための方法及びシステム
KR20030047996A (ko) 내포 데이터베이스를 구현하는 방법, 시스템 및 데이터 구조
JPH04319744A (ja) データベースのオブジェクトの部分集合の管理方式
US20030088535A1 (en) Method and apparatus for implementing and maintaining a configuration database