JP2002505483A - Method and system for changing inside a database - Google Patents

Method and system for changing inside a database

Info

Publication number
JP2002505483A
JP2002505483A JP2000533837A JP2000533837A JP2002505483A JP 2002505483 A JP2002505483 A JP 2002505483A JP 2000533837 A JP2000533837 A JP 2000533837A JP 2000533837 A JP2000533837 A JP 2000533837A JP 2002505483 A JP2002505483 A JP 2002505483A
Authority
JP
Japan
Prior art keywords
template
entry
database
entries
request
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
JP2000533837A
Other languages
Japanese (ja)
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
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2002505483A publication Critical patent/JP2002505483A/en
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

Abstract

(57)【要約】 【課題】1以上のエントリーデータベースが複数のエントリーを記憶するデータベースシステムに関し、エントリー又はエントリーの集合をデータベースから取り出すことなくデータベースの内部で変更することを可能にする。 【解決手段】データベースのエントリーに対するクエリーが作成されることを許容する検索エンジンが採用される。クエリーは、読取操作、取出操作及び通知操作を含む。各クエリー要求は、操作の種類を示すコマンドと、第1のテンプレートと、第2のテンプレートとを含む。検索エンジンは、第1のテンプレートとの比較によって、操作すべきエントリーを探し、第2のテンプレートのフィールドに従って、データベースの内部で適合エントリーのフィールドを変更、追加又は削除する。データベースは、エントリーの集合を用いて対照されるエントリーの集合を記憶してもよい。 (57) Abstract: In a database system in which one or more entry databases store a plurality of entries, it is possible to change an entry or a set of entries in the database without extracting the entry from the database. A search engine is employed that allows queries to be made for entries in a database. The query includes a read operation, a retrieval operation, and a notification operation. Each query request includes a command indicating the type of operation, a first template, and a second template. The search engine searches for the entry to be manipulated by comparing it with the first template, and changes, adds or deletes the fields of the matching entry within the database according to the fields of the second template. The database may store a set of entries to be compared using the set of entries.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【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)。
(Related Application) This application is a continuation-in-part of US Patent Application No. 08/971529, filed on November 17, 1997, and the description of the following US Patent Application It is a reference for the matters described in the application and forms part of the content of this patent application. Provisional Patent Application No. 60 / 076,048 filed on Feb. 26, 1998, entitled "Distributed Computer Processing System". U.S. patent application Ser. No. 09 / 044,923, filed on the same date, entitled "Methods and Systems for Use of Storage Devices" (Attorney Docket No. 06502.0011-01000). U.S. patent application Ser. No. 09 / 044,838, filed on the same date, entitled "Methods, Apparatus and Products for Use of Delegation Certificates in Distributed Systems" (Attorney Docket No. 06502.001)
1-02000). U.S. patent application Ser. No. 09 / 044,834, filed on the same day, entitled "Method, Apparatus and Product for Use of Group Membership in a Distributed System" (Attorney Docket No. 0
6502.0011-03000,). U.S. Patent Application No. 09 / 044,916, filed on the same date, Title of Invention, "Assignment for Failure Detection" (Attorney Docket 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)。
[0002] US Patent Application No. 09 / 044,933, filed on the same date, titled "Method of Transfer Operation in Event-Based System" (Attorney Docket No. 06502.0054-00000). U.S. patent application Ser. No. 09 / 044,919, filed on the same date, titled "Remote Loading and Deferred Reconstruction of Objects for Event Notification in Distributed Systems" (Attorney Docket No. 06502.0062-01000). US Patent Application No. 09 / 044,938, filed on the same date, titled "Method and Apparatus for Remote Method Call" (Attorney Docket No. 06502.0102-00000). US Patent Application No. 09 / 045,652, filed on the same date, entitled "Method and Apparatus for Deterministic Hash to Identify Remote Methods" (Attorney Docket No. 06502.0103-00)
000). United States Patent Application No. 09 / 044,790, filed on the same date, entitled "Method and Apparatus for Determining Status of Remote Objects in a Distributed System" (Attorney Docket 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,945、発明の名称「データベースにおける 型保証の属性対照のための方法及びシステム」(代理人整理番号no.06502.0109-
00000)。 同日出願の米国特許出願No.09/044,931、発明の名称「分散型システムにおけ る動的探索サービス」(代理人整理番号no.06502.0110-00000)。
[0003] US patent application Ser. No. 09 / 044,930, filed on the same date, entitled “Downloadable Smart Proxy for Performing Processes Related to Remote Procedure Calls in Distributed Systems” (Attorney Docket Number) no.06502.0105-00000). U.S. Patent Application No. 09 / 044,917, filed on the same date, titled "Suspension and Continuation of Remote Method" (Attorney Docket No. 06502.0106-00000). U.S. Patent Application No. 09 / 044,835, filed on the same date, titled "Method and System for Multi-Entry and Multi-Template Comparison in Databases" (Attorney Docket No. 06502.0107-00000). U.S. patent application Ser.
00000). U.S. Patent Application No. 09 / 044,931, filed on the same day, entitled "Dynamic Search Service in Distributed Systems" (Attorney Docket 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)。
[0004] US patent application Ser. No. 09 / 044,939, filed on the same day, entitled “Apparatus and Method for Supplying Downloadable Code for Communication with Devices in a Distributed System” (Attorney Docket No. .06502.0112-00000). U.S. Patent Application No. 09 / 044,826, filed on the same date, entitled "Method and System for Facilitating Access to Search Services" (Attorney Docket No. 06502.0113-00)
000). U.S. patent application Ser. No. 09 / 044,932, filed on the same date, entitled "Apparatus and method for dynamic certification of information in a distributed system" (Attorney Docket No.
0). U.S. Patent Application No. 09 / 030,840, filed February 26, 1998, entitled "Method and Apparatus for Dynamic Distributed Computer Processing Across Networks". US Patent Application No. 09 / 044,936, filed on the same date, titled "Interactive Design Tool for Persistent Shared Memory Space" (Attorney Docket 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)。[0005] US patent application Ser. No. 09 / 044,934, filed on the same day, entitled “Diverse Token-Based Control” (Attorney Docket No. 06502.0117-00000). U.S. Patent Application No. 09 / 044,915, filed on the same date, titled "Stack-Based Access Control" (Attorney Docket No. 06502.0118-00000). U.S. Patent Application No. 09 / 044,944, filed on the same date, titled "Stack Based Security Requirement" (Attorney Docket No. 06502.0119-00000). U.S. Patent Application No. 09 / 044,837, filed on the same date, entitled "Specification of Security Requirements for Each Method" (Attorney Docket No. 06502.0120-00000).

【0006】 (発明の背景技術) (発明の技術分野) 本発明は、データベースシステムに関連し、特に、データベースシステムにお
けるエントリー記憶に関する。本発明は、更に、データベースシステムにおいて
用いられるクエリー対照方法原理に関連する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a database system, and more particularly, to storage of entries in a database system. The invention further relates to the query contrast method principles used in database systems.

【0007】 (関連技術の説明) データベースシステムは、今日の社会では、ますます重要な役割を担っている
。一般的なデータベースシステムに記憶される可能性があるデータの量は、急速
に増大しており、便利で柔軟性のあるデータアクセスが、極めて重要である。し
かしながら、最適の方法で作動するデータベースシステムを設計することは、困
難である。
(Description of Related Art) A database system plays an increasingly important role in today's society. The amount of data that can be stored in a typical database system is growing rapidly, and convenient and flexible data access is critical. However, designing a database system that works in an optimal way is difficult.

【0008】 データベース設計における特に重要な問題は、広く様々なアプリケーションで
利用されるようにデータを記憶することであって、データベースが用いられる手
法を短期間で容易に変更することができるようにすることである。更に、しばし
ば、データベースの他の部分にあまり影響せず追加データ型又は追加カテゴリー
を追加することができるようにすることが求められる
A particularly important problem in database design is storing data for use in a wide variety of applications, so that the manner in which the database is used can be easily changed in a short time. That is. Further, it is often required to be able to add additional data types or additional categories without significantly affecting other parts of the database.

【0009】 あいにく、データが多数のデータベースシステムにおいて使用され組織される
方式を変更すること、及び、追加データ型と追加カテゴリーを許容することは、
著しく困難である。変更は、データベースシステムのプログラムと他の要素に対
し連鎖的に変化を強要するので、遂行するのに非常に費用がかかる。それ故に、
データ処理は、古いデータ構造に拘束されがちである。更に、データベースの設
計者は、1つの設計例と他の設計例との間で複雑な多くの取捨選択を事項を作る
傾向にあり、決して最適な結果を生む設計をしようとはしない。
Unfortunately, changing the manner in which data is used and organized in multiple database systems, and allowing for additional data types and categories,
Extremely difficult. Changes are very costly to implement as they force chain changes to the programs and other elements of the database system. Therefore,
Data processing tends to be tied to old data structures. Furthermore, database designers tend to make many complex choices between one design example and another, and never attempt to produce a design that produces optimal results.

【0010】 更に、詳しく述べると、データベースシステムに情報を記憶させることは、通
常、的確な型によって実行される。即ち、データベースシステムに記憶されるレ
コードは、リレーショナル・データベースの関係における集合のような、ある数
値とフィールド型を有している。各フィールドは、例えば、ストリングデータ、
整数データ、ブールデータ又は要望に応じて他のデータ型等のデータの特定の型
を記憶するように定義される。ユーザが、データベースの情報を探索したいとき
には、ユーザは、的確なレコード型を探索しなければならない(即ち、異なる型
のレコードは、一般に独立して検索される。)。こうして、検索者が関心のある
データが複数の種々の型の中の何れかの型のレコードにある場合には、検索者は
前もって存在するレコード型を知っていなければならず、全ての型を調べる明確
な方策を有している必要がある。検索者は、更に、関心のある特定のレコードを
見つけるために全ての可能性のあるレコード型を明確に調べなければならない。
それ故に、検索エンジンに関連するソフトウェアは複雑になり、含まれることが
できるレコード型の数を事実上制限する。
More specifically, storing information in a database system is typically performed in a precise manner. That is, records stored in a database system have certain numerical values and field types, such as sets in a relational database relationship. Each field is, for example, string data,
It is defined to store a particular type of data, such as integer data, Boolean data, or other data types as desired. When a user wants to search information in a database, the user must search for the correct record type (ie, different types of records are generally searched independently). Thus, if the data of interest to the searcher is in a record of any of a number of different types, the searcher must know the pre-existing record type and You need to have a clear strategy to look at. The searcher must also explicitly look through all possible record types to find the particular record of interest.
Therefore, the software associated with a search engine is complex and effectively limits the number of record types that can be included.

【0011】 更に、データベースに含まれるレコードのフィールドは、一般に他のレコード
を引用しない。これにより、一つのレコードが一般に具備する情報の量及び種類
は、少なくなる。従って、データベースは、レコードの集合であるレコード群を
記憶及び処理するための能力によって制限される。
In addition, the fields of a record included in a database generally do not refer to other records. As a result, the amount and type of information generally included in one record is reduced. Thus, databases are limited by their ability to store and process records, which are collections of records.

【0012】 加えて、一般的なデータベースのレコードは、通常、実際のデータ自身とは異
なる特性に関連付けられない。例えば、データが見つかった時には、レコード型
と共に変化するレコードに、動作を関連させることはできない。こうして、プロ
グラムは、1つの方法による対照によって返される種々のレコードを使用してレ
コード型特定結果を得ることができる。
In addition, general database records are not usually associated with different characteristics than the actual data itself. For example, when data is found, no action can be associated with a record that changes with the record type. Thus, the program can obtain record typing results using the various records returned by the control in one way.

【0013】 データベースシステムの他の側面に関して言えば、データベースにおける属性
又は特性を指定する通常の方法は、組〈名前、値〉の単純な集合によるものであ
る。ここで、値は、ストリングに制限され、さもなければ、任意の型(type “
any”)でよい。これらの組〈名前、値〉において、型を制限することはできな い。それ故に、特定の名前が特定の型の値を常に有するように強制することがで
きない。例えば、仮のプリンタにおいて、属性“スピード”は、整数型に制限さ
れなければならず、ユーザが他の型、例えば「約8」や「8から9」、に設定し
ないように制限されなければならない。スピードは、プリンタが印刷できる1分
当たりのページ数を表わす。値がどんな型のオブジェクトにもなり得る場合には
、同様の問題が存在する。この場合には、ユーザは、属性をストリングオブジェ
クトではなく整数オブジェクトに設定することができるが、他のユーザが整数に
設定されるべき属性に誤ってストリングオブジェクトを記憶させることを防ぐこ
とはやはりできない。
With respect to other aspects of the database system, the usual way of specifying attributes or properties in a database is by a simple set of pairs <name, value>. Here, the value is restricted to a string, otherwise it is of any type (type “
any ”). In these pairs <name, value>, the type cannot be restricted, and therefore it cannot be enforced that a particular name always has a value of a particular type. In a temporary printer, the attribute "speed" must be limited to an integer type and must not be set by the user to another type, for example "about 8" or "8 to 9". . Speed represents the number of pages per minute that the printer can print. A similar problem exists if the value can be any type of object. In this case, the user can set the attribute to an integer object rather than a string object, but still cannot prevent other users from accidentally storing the string object in the attribute to be set to an integer. .

【0014】 更に、先のシステムは、異なる属性間の関係(例えば、1つの属性は、他の属
性が存在するときにのみ、存在するようにすべきである。)を制限しない。例え
ば、ある3つの例示的なプリンタ用属性、解像度(1インチ当たりのドット数)
、スピード(1分当たりのページ数)、カラー(或いは白黒)に関して言えば、
多くのプリンタはこれらの属性の種々の組合わせを実行する。例えば、典型的な
カラープリンタは次のように記述する。
Further, the above systems do not restrict the relationship between different attributes (eg, one attribute should only be present when another is present). For example, three exemplary printer attributes, resolution (dots per inch)
, Speed (pages per minute), color (or black and white)
Many printers perform various combinations of these attributes. For example, a typical color printer is described as follows.

【0015】 1分当たり5ページ、1インチ当たり600ドット、白黒 1分当たり7ページ、1インチ当たり300ドット、白黒 1分当たり1ページ、1インチ当たり300ドット、カラー5 pages per minute, 600 dots per inch, black and white 7 pages per minute, 300 dots per inch, black and white 1 page per minute, 300 dots per inch, color

【0016】 但し、この属性は複数の値を持っており、従来のいくつかのシステムは属性
が複数の値を持つことを許容し、これらのシステムは次のように属性を表示する
。 スピード = {1,5,7} 解像度 = {300,600} カラー = {真,偽} しかし、これは属性の組の相互間の関連性を表わしておらず、明らかに、3つの
関連性を表現しておらず規定していない。
However, this attribute has a plurality of values, and some conventional systems allow the attribute to have a plurality of values, and these systems display the attributes as follows. Speed = {1,5,7} Resolution = {300,600} Color = {True, False} However, this does not represent an association between sets of attributes, and obviously three associations Not expressed and not specified.

【0017】 {スピード: 1,解像度:300,カラー:真}; {スピード: 7,解像度:300,カラー:偽}; {スピード: 5,解像度:600,カラー:偽};{Speed: 1, resolution: 300, color: true}; {speed: 7, resolution: 300, color: false}; {speed: 5, resolution: 600, color: false};

【0018】 従って、、エントリーの集合を含む多様なエントリー、エントリー対照及び
エントリー操作を提供すること、及び、多数の効率的な検索を許容し、多くの型
が存在する単純化されたソフトウェアを許容することが要望される。更に、エン
トリーが、型に応じて自身の動作を規定するシステムを提供することが望まれる
。加えて、データベースにおける型保証の属性対照を可能にすること、及び、属
性間の関係について制限を可能にすることが求められる。
Thus, providing a variety of entries, including a set of entries, entry control and entry manipulation, and allowing a large number of efficient searches and allowing simplified software in which many types exist. It is requested to do. It is further desirable to provide a system in which entries define their behavior according to type. In addition, there is a need for enabling type-safe attribute contrasts in databases and enabling restrictions on the relationships between attributes.

【0019】 (発明の概要) 上に説明した問題は、本発明によるデータベースにおけるエントリーの記憶及
び検索のための方法及びシステムによって解決される。1つの実施形態では、コ
ンピュータシステムは、1つ以上のエントリーデータベースが複数のエントリー
を記憶するデータベースシステムを実装する。各エントリーは、エントリーのフ
ィールドを定義する所与の型である。フィールドの夫々は、関連する属性又はデ
ータを有するオブジェクトを含み、又は定義する。各エントリーの型は、更に、
エントリーが実行するように構成されるメソッドのフォームの動作を定義する。
他のものの部分型であるエントリー型は、その上位型の全てのフィールド及び動
作を継承し、追加のフィールドを含み、及び/又は、新規の動作又は変更された
動作を定義する。エントリーは、JavaTMで表現されてもよい。同様に、一
実施形態では、各フィールドは、定義されたクラスで表現される。
SUMMARY OF THE INVENTION The problem described above is solved by a method and system for storing and retrieving entries in a database according to the present invention. In one embodiment, the computer system implements a database system where one or more entry databases store multiple entries. Each entry is of a given type that defines the fields of the entry. Each of the fields contains or defines an object with associated attributes or data. The type of each entry is
Defines the behavior of the form of the method that the entry is configured to execute.
An entry type, which is a subtype of another, inherits all fields and behaviors of its supertype, includes additional fields, and / or defines new or modified behaviors. The entry may be expressed in Java . Similarly, in one embodiment, each field is represented by a defined class.

【0020】 データベースシステムは、更に、クエリーがデータベースのエントリーに対し
て作成されることを許容する検索エンジンを採用する。一実施形態では、クエリ
ーは、読取操作、取出操作及び通知操作を含む。各クエリー要求は、操作の型を
示すコマンドと、それのフィールドの一部又は全部が正確に対照される特定の値
に設定されているエントリーオブジェクトであるテンプレートとを含む。そのテ
ンプレートエントリーの他のフィールドは、ワイルドカードとして指定されても
よく、その場合にはその値は何でもよい。多様性を有するエントリー対エントリ
ー対照技術は、テンプレートエントリーと同じ型の、又は、テンプレートエント
リーの部分型のエントリーを適合するものとするクエリーを許容する点で、有利
である。これにより、効率的に検索を実行することができ、サーチエンジンを簡
易に実装させることができる。更に、検索エンジンは、全ての存在する可能性の
ある部分型を知っている必要がない。結局、各エントリーが、関連するクラスを
有しているので、エントリーは、1つ以上のメソッドをサポートすることにより
、それ自身の動作を定義する。特定のエントリーの方法は、同一性検査のような
種々の機能性を実行するために呼び出される。
The database system further employs a search engine that allows queries to be made for entries in the database. In one embodiment, the query includes a read operation, a retrieval operation, and a notification operation. Each query request includes a command that indicates the type of operation and a template that is an entry object with some or all of its fields set to specific values that are accurately matched. Other fields in the template entry may be specified as wildcards, in which case its value may be anything. The versatile entry-to-entry control technique is advantageous in that it allows queries to match entries of the same type as the template entry, or a subtype of the template entry. As a result, the search can be efficiently executed, and the search engine can be easily implemented. Further, the search engine does not need to know all the possible subtypes. After all, since each entry has an associated class, the entry defines its own behavior by supporting one or more methods. Specific entry methods are invoked to perform various functions, such as identity checks.

【0021】 その検索エンジンは、更に、クエリーによって普通に指定された特性を有する
エントリーのためにインデックスを作成するように構成される。即ち、検索エン
ジンは、用法様式を検出し、受取られたテンプレートによって普通に指定された
属性を有するエントリーを指し示すインデックスを作成する。このようにして、
好適なエントリー検索が遂行される。
The search engine is further configured to index for entries having characteristics normally specified by the query. That is, the search engine detects the usage pattern and creates an index pointing to the entry having the attributes normally specified by the received template. In this way,
A suitable entry search is performed.

【0022】 加えて、検索エンジンは、更に、単一のレコード内にエントリーの集合を記憶
するように構成されるようにしてもよい。このエントリーの集合は、テンプレー
トの集合を用いて対照される。一実施形態では、検索エンジンは、更に、エント
リー又はエントリーの集合をデータベースから取り出すことなく、エントリー又
はエントリーの集合をデータベースの内部で変更するための操作を実行すること
ができる。
In addition, the search engine may be further configured to store the set of entries in a single record. This set of entries is contrasted using a set of templates. In one embodiment, the search engine may further perform operations to modify an entry or set of entries within the database without retrieving the entry or set of entries from the database.

【0023】 (発明の詳細な説明) 添付図面を用いて実施例を示すことにより特定の実施例を示し、詳細に説明す
るが、本発明は種々の変更や他の形式を受け入れることができる。即ち、図面及
び詳細な説明は、開示された特定の形式に本発明を限定するためのものではなく
、全ての変容例を包含しておらず、付属の請求項による定義に従って、均等物及
び代替物が、本発明の趣旨及び範囲に含まれると、理解されなければならない。
DETAILED DESCRIPTION OF THE INVENTION While specific embodiments are illustrated and described in detail by showing embodiments with the aid of the accompanying drawings, the invention is susceptible to various modifications and other forms. That is, the drawings and detailed description are not intended to limit the invention to the particular forms disclosed, and are not intended to include all modifications, equivalents and alternatives as defined by the appended claims. It should be understood that objects fall within the spirit and scope of the present invention.

【0024】 本発明に従う方法及びシステムは、データベース内のエントリーの記憶及び検
索をする。各エントリーは、その型のフィールドを定義する所与の型を具備し、
各フィールドは、所与の型のオブジェクトを含み、定義する。これらのエントリ
ーは、JavaTMプログラム言語のJavaTMクラスで表現される。加えて、本発明によ
る方法及びシステムはデータベースにおけるエントリーの集合を記憶し検索する
。一般に、これらの検索はテンプレートの集合を用いて実行される。1つの実施
の形態では、データベースからエントリー又はエントリーの集合が移転されるこ
となく、データベースの内部で、エントリー又はエントリーの集合に対して操作
が実行されることができる。
A method and system according to the present invention stores and retrieves entries in a database. Each entry has a given type that defines a field of that type,
Each field contains and defines an object of a given type. These entries are represented by Java classes in the Java programming language. In addition, the method and system according to the present invention stores and retrieves a set of entries in a database. Generally, these searches are performed using a set of templates. In one embodiment, operations can be performed on entries or sets of entries within the database without transferring entries or sets of entries from the database.

【0025】 (分散型システム) 図を参照すると、図1は、本発明に従う多様なエントリー、エントリー対照及
びエントリー操作が用いられる分散型システム100を表わす図である。図1は
、ネットワーク105によって相互に接続されている複数のコンピュータシステ
ム101〜103を示す。可能な通信チャンネルは他にも多様に有るが、ここで
は、ネットワーク105は、例えば、構内ネットワーク(LAN)、広域ネット
ワーク(WAN)又はインターネットで表わす。各コンピュータシステムは、コ
ンピュータシステム101のメモリー120及びCPU122のようにメモリー
及びマイクロプロセッサを含んでいる。メモリー120は、ハードディスク記憶
装置、フロッピー記憶装置、動的ランダムアクセスメモリー(DRAM)のよう
な適用可能な種々のタイプのメモリーの一例である。1個以上のCD−ROM又
はフロッーディスク(又は他の記憶媒体)が実例となる装着媒体126が、更に
、コンピュータシステム101に関連して示される。一般的に、装着媒体126
は、検索エンジンの実施部分及び下に記されるデータベースシステムの他の例を
実施するコード及び/又はデータを記憶し、そのコード及び/又はデータを該コ
ンピュータシステムに入力するために使用される。注意すべきことに、他の実施
の形態では、本発明に従うデータベースシステムは、単一のコンピュータ、即ち
、ネットワーク接続されないコンピュータシステムにおいても使用される。
Referring to the drawings, FIG. 1 is a diagram illustrating a distributed system 100 in which various entries, entry controls, and entry operations are used in accordance with the present invention. FIG. 1 shows a plurality of computer systems 101 to 103 interconnected by a network 105. Here, network 105 is represented, for example, by a local area network (LAN), a wide area network (WAN), or the Internet, although there are many other possible communication channels. Each computer system includes a memory and a microprocessor, such as the memory 120 and CPU 122 of the computer system 101. Memory 120 is an example of various types of applicable memory, such as hard disk storage, floppy storage, dynamic random access memory (DRAM). A mounting medium 126 exemplifying one or more CD-ROMs or floppy disks (or other storage media) is further shown in connection with the computer system 101. Generally, the mounting medium 126
Is used to store code and / or data implementing the search engine implementation and other examples of database systems described below, and to enter that code and / or data into the computer system. It should be noted that in another embodiment, the database system according to the invention is also used on a single computer, i.e. a computer system that is not networked.

【0026】 下に更に詳細に記載されるように、コンピュータシステム100は、オブジェ
クト指向技術を用いて適用可能な型又は部分型のエントリーを記憶するプログラ
ムデータベースシステムを使用する。このデータベースは、マルチ・エントリー
と称するエントリーの集合を記憶することもできる。データベースのエントリー
はコンピュータシステム101のメモリー122に単独に記憶させてもよいし、
複数の異なるシステムのメモリーに、例えば、コンピュータシステム102及び
103の同様のメモリーに、分散させてもよい。各エントリーは、そのエントリ
ーのフィールドを定義する所与の型を有する。フィールドの夫々は、属性又はデ
ータに関連するオブジェクトを含み、又は、そのオブジェクトを定義(identifi
es)する。フィールドの夫々は、更に、エントリーが実行されるように構成され
る方法のフォームにおける動作を定義する。他のものの部分型であるエントリー
型は、すべてのフィールドと上位型の動作とを受け継ぎ、追加のフィールドを含
み、及び/又は、新規の及び/又は変更した動作を定義する。
As described in further detail below, computer system 100 employs a program database system that stores entries of applicable or partial types using object-oriented techniques. This database may also store a collection of entries called a multi-entry. The database entry may be stored alone in the memory 122 of the computer system 101,
It may be distributed in the memories of a plurality of different systems, for example, in similar memories of the computer systems 102 and 103. Each entry has a given type that defines the fields of that entry. Each of the fields contains an object associated with the attribute or data or defines that object (identifi
es) Each of the fields further defines an action in the form of a method in which the entry is configured to be performed. The entry type, which is a subtype of the others, inherits all fields and behaviors of the supertype, includes additional fields, and / or defines new and / or modified behaviors.

【0027】 データベースシステムは、更に、データベース内のエントリー(又は後述する
マルチ・エントリー)に基づいて作られるクエリーを許容するソフトウェアによ
り実行される検索エンジンを用いる。一実施形態では、各クエリーは、正しい対
照をするためにテンプレートの対応するフィールドを対照しなければならない所
与のエントリーのキー・フィールドの値(又は属性)を指定するテンプレートを
含む。テンプレートエントリーの他のフィールドは、ワイルドカード(値は何で
もよいことを示す。)として指定されてもよい。コンピュータシステム100に
使用される多様なエントリー及びエントリー対照技術は、都合のよいことに、テ
ンプレートエントリーと同じ型のエントリー又はテンプレートエントリーの部分
型である適合するエントリーを結果として生じさせる可能性があるクエリーを生
成することを、許容する。加えて、多様なエントリー及びエントリー対照技術の
例に関する詳細な説明は、図2〜図9に従って、下に提示される。
The database system further employs a search engine executed by software that allows queries to be made based on entries (or multiple entries, described below) in the database. In one embodiment, each query includes a template that specifies the value (or attribute) of a key field of a given entry that must match the corresponding field of the template for a correct match. Other fields in the template entry may be specified as wildcards (indicating any value). The various entries and entry control techniques used in computer system 100 advantageously allow queries that may result in matching entries that are the same type of template entry or a subtype of the template entry. Is generated. In addition, a detailed description of various entry and example entry control techniques is provided below in accordance with FIGS.

【0028】 図2は、1組のクライアント(又はユーザ)及び複数のエントリー・データベ
ース206〜208の間の通信フローの例を示す。エントリー・データベース2
06〜208の夫々は分散型システム100の1個以上のメモリーサブシステム
を跨いで分散される。各クライアント202及び204は、1個以上のエントリ
ー・データベース206〜208に供給されるクエリーを生成するように構成さ
れる。クライアント202及び204は、下に記述されるように、更にエントリ
ー・データベース206〜208にエントリーを記憶(書込み)するように構成
される。そして、図2は、下に詳細に記載される機能を有するイベント受取部2
10を示す。
FIG. 2 shows an example of a communication flow between a set of clients (or users) and a plurality of entry databases 206-208. Entry database 2
Each of 06 to 208 is distributed across one or more memory subsystems of the distributed system 100. Each client 202 and 204 is configured to generate a query that is provided to one or more entry databases 206-208. Clients 202 and 204 are further configured to store (write) entries in entry databases 206-208, as described below. FIG. 2 shows an event receiving unit 2 having a function described in detail below.
10 is shown.

【0029】 (エントリー対照及び操作) 図3は、エントリー・データベース206〜208の何れにも記憶される複数
のエントリー例を示す。一例において、各エントリーは、JavaTMプログラム言語
のJavaTMクラスで表現されるオブジェクトの型付けされたグループである。Java TM プログラム言語は、ケン・アーノルド,ジェームス・ゴスリン著「JavaTMプロ
グラム言語」,アディソン−ウェスレイ、1996年に記載されており、この本
に記載されている内容は、参照されるとともにこの明細書の記載内容の一部とす
る。JavaTMは、米国及び他の国において、サン・マイクロシステム社の登録商標
である。しかしながら、他の実施例において、エントリーは他のプログラム言語
によるクラスで定義されてもよいことは、理解されるであろう。
(Entry Control and Operation) FIG. 3 shows a plurality of entries stored in any of the entry databases 206 to 208.
Here is an example entry. In one example, each entry is a JavaTMProgramming language
JavaTMA typed group of objects represented by a class. Java TM The programming language is "Java," written by Ken Arnold and James Goslin.TMProfessional
Gram Language ", Addison-Wesley, 1996.
The contents described in are referred to and are part of the contents of this specification.
You. JavaTMIs a registered trademark of Sun Microsystems, Inc. in the United States and other countries.
It is. However, in other embodiments, the entry may be in another programming language.
It may be understood that the class may be defined by

【0030】 図3のエントリー1は、図示のように、4個のフィールドからなる集合(フィ
ールドA、フィールドB、フィールドC、フィールドD)を含んでおり、クラス
型のエントリー1によって定義される。エントリー2は、5個のフィールドから
なる集合(フィールドA、フィールドB、フィールドC、フィールドD及びフィ
ールドE)を含んでおり、クラス型のエントリー2によって定義される。エント
リー2は、他の型に加えて、エントリー1と同じフィールド型を含むので、エン
トリー1の型の部分型であることに、注意すべきである。
As shown in FIG. 3, entry 1 includes a set of four fields (field A, field B, field C, and field D), and is defined by class type entry 1. Entry 2 includes a set of five fields (field A, field B, field C, field D, and field E), and is defined by class type entry 2. It should be noted that entry 2 is a subtype of the type of entry 1 because it contains the same field types as entry 1 in addition to other types.

【0031】 エントリー3は、4個のフィールドからなる集合(フィールドW、フィールド X、フィールドY及びフィールドZ)を含んでおり、クラス型のエントリー1に
よって定義される。注意すべきことに、エントリー1及びエントリー3は、夫々
、4個のフィールドを含むが、それらは一致しないので異なる型である。 多くの他の型及び部分型は、更に、特定のアプリケーション又はデータベース
の要求によって応じて、データベースシステムに関連付けられるかもしれない。
加えて、部分型の部分型であるエントリーも使用され得ることに注意すべきであ
る。例示するために、次のコードが、JavaTMプログラム言語で定義される特定の
エントリー例として示される。
Entry 3 includes a set of four fields (field W, field X, field Y, and field Z), and is defined by class type entry 1. Note that entry 1 and entry 3 each include four fields, but are of different types because they do not match. Many other types and subtypes may also be associated with the database system, depending on the needs of the particular application or database.
In addition, it should be noted that entries that are subtypes of subtypes can also be used. To illustrate, the following code is shown as a specific example entry defined in the Java programming language.

【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フィールド }A “bid request” object for book purchase, public class RFB implement Entry {public integer order number; // purchase tracking number for this order public String title; // book title public integer count ; // desired version number} ------------------------------------------ -a "full" request for bids, ie one containing ISBN, public class FullRFB extends a RFB {public String isbn; // ISBN field}

【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つ以上の方法をサポートする。
Referring to FIG. 3, each field of the entry is configured to store a value that points to or specifies the typed object. Each of these typed objects is similarly represented in Java . For example, field A of entry 1 contains a value specifying object 310, and field B of entry 1 specifies object 312. Similarly, field A of entry 2 specifies object 314, field B specifies object 316, and so on. With regard to the example entry of FIG. 3, since entry 2 is a partial type of entry 1, object 310 associated with field A of entry 1 is represented by the same class type as object 314, and entry 2
Should be noted. Object 31
The attributes or data associated with each of 0 and 314, however, may be different. It should further be noted that the objects specified by the fields of the various entries, as required by the defined type, include integer data, Boolean data, string data, and other data types.
Further, it should be noted that since each field is associated with a typed object, the method is supported and selectively invoked by external stimuli to perform data manipulation as required. Similarly, as described below, each entry type supports one or more methods.

【0034】 図2を再び参照すると、前述のように各エントリー・データベース206,2
07及び208は、部分型である種々の型の多くのエントリーを記憶する。エン
トリーは、クライアントにより呼び出される書込操作により、所与のエントリー
・データベース206〜208に記憶される。エントリーは、更に、装着媒体(
図1の装着媒体126)を介してエントリー・データベースに供給される。
Referring again to FIG. 2, as described above, each entry database 206,2
07 and 208 store many entries of various types that are subtypes. Entries are stored in a given entry database 206-208 by a write operation invoked by the client. Entries are further provided with a mounting medium (
The data is supplied to the entry database via the mounting medium 126 shown in FIG.

【0035】 図4に示すように、いくつかの追加の操作が、更にシステムによってサポート
される。即ち、クライアント又はユーザは、書込操作に加えて、読取操作、取出
操作及び通知操作を開始させる。
As shown in FIG. 4, some additional operations are further supported by the system. That is, the client or the user starts the reading operation, the extraction operation, and the notification operation in addition to the writing operation.

【0036】 読取、取出及び通知操作は、夫々、特定のエントリー・データベースを検索す
るために用いられ、任意の指定された特性を持つエントリーがエントリー・デー
タベースに書込まれているか否かを、そして、書込まれているならば特定の動作
を誘導するか否か、を判定する。特定の実施例では、これらのクエリーが、操作
に関連するエントリーの型を定義するとともに操作要求の一部として含まれるテ
ンプレートを用いて、生成される。読取操作は、関連するテンプレートに適合す
るエントリー・データベースのエントリーの読取りを開始する操作である。取出
操作は、読取操作に似ているが、取出操作はテンプレートに適合するエントリー
を、エントリー・データベースから取り去る操作である。最後に、通知操作は、
関連するテンプレートに適合する指定されたエントリー・データベースの将来入
ってくるエントリーに対する関心を登録する操作である。適合するエントリーが
到来したときには、クライアント又は特定のイベント受取部は、通知を受ける。
これらの操作の夫々に関する詳細は、以下に提示される。
The read, retrieve, and notify operations are used to search a particular entry database, respectively, to determine whether an entry with any specified characteristics has been written to the entry database, and , It is determined whether or not a specific operation is to be induced if written. In particular embodiments, these queries are generated using a template that defines the type of entry associated with the operation and is included as part of the operation request. A read operation is an operation that starts reading an entry in the entry database that matches the associated template. The fetch operation is similar to the read operation, except that the fetch operation removes entries matching the template from the entry database. Finally, the notification operation is
An operation that registers interest in future incoming entries in a specified entry database that matches the associated template. When a matching entry arrives, the client or a particular event receiver is notified.
Details regarding each of these operations are provided below.

【0037】 図5は、テンプレートの例を示す。概して、テンプレートは、それのフィール
ドが値(オブジェクトに対する参照値)又はワイルドカードの何れかを有する特
定のエントリー型を指定する。エントリー・データベース内の特定のエントリー
を、テンプレートに対する可能性のある適合物であると仮定すると、エントリー
の指定されたフィールドの属性(即ち、テンプレートのワイルドカードを使用さ
れたフィールドに対応しないもの)は、正確に、テンプレートの対応するフィー
ルドによって指定される属性に適合する(又は可能性のある範囲に含まれる)。
テンプレートの“ワイルドカード”のフィールドに対応するエントリーのフィー
ルドは、どんな属性を有してもよく、対照の結果に影響を与えない(即ち、テン
プレート内のワイルドカードは、エントリーの同じフィールドのどんな値にも適
合する)。1つの実施の形態ではワイルドカードは、ヌル参照値により指定され
る。下に、更に記載されるように、テンプレートに適合するエントリーの型は、
テンプレートの型の部分型であることもある。このように、部分型によって定義
された特定のエントリーの全てのフィールドは、ワイルドカードであると考えら
れる。これにより、テンプレートは、どんな部分型のエントリーとも適合するこ
とになる。注意すべきことに、ワイルドカードを含まないエントリーは、有効な
テンプレートであるかもしれない。
FIG. 5 shows an example of a template. Generally, a template specifies a particular entry type whose fields have either a value (a reference value to an object) or a wildcard. Assuming that a particular entry in the entry database is a possible match for the template, the attributes of the specified field of the entry (ie, those that do not correspond to the wildcarded fields of the template) are: , Exactly (or possibly within) the attributes specified by the corresponding fields in the template.
The fields of the entry that correspond to the “wildcard” fields of the template may have any attributes and do not affect the result of the control (ie, the wildcard in the template is the value of any value in the same field of the entry) Also fits). In one embodiment, the wildcard is specified by a null reference value. As described further below, the types of entries that fit the template are:
It may be a subtype of the template type. Thus, all fields of a particular entry defined by a subtype are considered to be wildcards. This allows the template to match any subtype entry. Note that entries that do not contain wildcards may be valid templates.

【0038】 図6は、本発明に従う読取要求又は取出要求に反応して特定のエントリー・デ
ータベース内のエントリーを検索する方法の実施の形態を示すフローチャートで
ある。前述のように、読取要求は、所与のテンプレートに適合するエントリーを
読み取るために、クライアント(又はユーザ)により開始される。取出要求は、
エントリー・データベースから所与のテンプレートに適合するエントリーを取り
除く。
FIG. 6 is a flowchart illustrating an embodiment of a method for searching for an entry in a particular entry database in response to a read or retrieve request according to the present invention. As described above, a read request is initiated by a client (or user) to read an entry that matches a given template. The removal request is
Remove entries matching the given template from the entry database.

【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に返す。
(1) (Entry Control Method) The steps shown in FIG. 6 are described in conjunction with FIG. 7, and FIG. 7 shows an operation example of a database system using the search method principle of FIG. The functional components shown in FIG. 7 are realized by a combination of software and hardware related to one or more of the computer systems 101 to 103 in FIG. In step 602,
A read or unload request is provided from the user 702 to the database manager 704. A given request includes a specified template (eg, one of which is template 706 in FIG. 7). Subsequently, in step 604, the search engine 708 of the database manager 704
A search for 0 determines whether a matching template type or template subtype exists in the entry database 710. If there is no entry of the same type as the template or its subtype in the entry database 710 (
In steps 606) and 608, the database manager 704 returns a null value to the user 702.

【0040】 検索エンジン708が、そのテンプレートの型又はその部分型に適合する1つ
以上のエントリーがエントリー・データベース710に存在すると判定すると、
選択されたエントリー(同じ型又はその部分型)のフィールドを、ワイルドカー
ドとして指定されていないテンプレート706の対応するフィールドと比較する
(ステップ610)。検索エンジン708は、テンプレートのワイルドカードフ
ィールドに対応する選択されたエントリーの全てのフィールドを無視する(ステ
ップ612)。1つの特定の実施形態では、検索エンジン708は、エントリー
の非ワイルドカード・フィールドに関連付けられた属性又はデータが、正確に、
対応するテンプレートエントリーの属性又はデータに適合するか否かを判定する
。ワイルドカード以外のフィールドの属性が、テンプレートのフィールドに正確
に適合しないときには、適合するものがそのエントリーに関しては発生しないこ
とが判定される。注意すべきことに、他の実施例では、テンプレートのフィール
ドは、対応するフィールドのデータが結果的に適合するような値の範囲(正確に
適合するものを要求しない)が指定される。
If the search engine 708 determines that one or more entries in the entry database 710 that match the template type or its subtype,
The fields of the selected entry (of the same type or a subtype thereof) are compared with the corresponding fields of template 706 that are not specified as wildcards (step 610). Search engine 708 ignores all fields of the selected entry that correspond to the wildcard fields of the template (step 612). In one particular embodiment, search engine 708 determines that the attribute or data associated with the non-wildcard field of the entry is exactly:
It is determined whether the attribute or data of the corresponding template entry matches. If an attribute of a field other than a wildcard does not exactly match a field of the template, it is determined that a match does not occur for that entry. It should be noted that in other embodiments, the fields of the template are specified with a range of values (which do not require an exact match) so that the data in the corresponding field will eventually match.

【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
に返す。
(2) Embodiment In the embodiment illustrated by FIG. 7, field C of template 706 is specified as a wild card. Thus, when the search engine 708 searches the entry database 710 for a matching entry, the search engine 708 first determines whether the entry that is the type of the template 706 or a subtype thereof is the entry database 710. It is determined whether or not it exists. As shown, entry 1 and entry 2 satisfy this condition. The search engine 708 selects one of these entries (eg, entry 2 as shown) and compares the fields of that entry with fields of the template that are not specified as wildcards. The search engine 708
It is determined whether each of the non-wildcard fields of the template matches each attribute of the corresponding field of the entry. Note that FIG.
Since the field C of the template 706 is designated as a wild card, the attribute of the field C of the entry 2 is ignored and does not affect the comparison operation. Similarly, those fields of all entries defined by the subtypes of the template type are ignored (even though the attributes of the wildcard field do not match, there is a match). . If a matching entry is found (all non-wildcard fields match)
The search engine 708 reads the matching entry from the entry database 710 and provides it to the user, or removes the entry from the entry database 710, depending on whether the request is a read request or a retrieval request. Search engine 708 searches entry database 710 until a match is found, or until all of the entries have been examined. If a search of all entries in the database does not find a matching entry, the database manager 704 returns a null value (step 616) to the user 702.
To return.

【0042】 (3)通知 次に、図8を参照すると、本発明に従って、ユーザから受取った通知要求を処
理するための検索エンジン708によって実施される方法原理の実施の形態を図
示するフローチャートが示されている。前述の如く、通知要求は、テンプレート
に適合する将来入ってくるエントリーに対する関心を登録するために、ユーザに
よって発行される。適合するエントリーが到来すると、データベース・マネージ
ャは、ユーザ又はイベント受取部(図2)に、通知する。ユーザが、通知要求を
発するときには、通知を登録する期間の長さを示す登録時間が指定される。指定
された時間が経過すると、その通知登録がキャンセルされる。
(3) Notification Referring now to FIG. 8, a flowchart illustrating an embodiment of a method principle implemented by a search engine 708 for processing a notification request received from a user in accordance with the present invention is shown. Have been. As described above, a notification request is issued by a user to register interest in future incoming entries that match the template. When a matching entry arrives, the database manager notifies the user or event receiver (FIG. 2). When the user issues a notification request, a registration time indicating the length of the period for registering the notification is specified. When the specified time has elapsed, the notification registration is canceled.

【0043】 こうして、図8に示されるように、データベース・マネージャ704が新しい
通知要求を受取ったときには(ステップ802)、登録時間が満了するまで、入
ってくるエントリーが監視される(ステップ804及びステップ806)。テン
プレートの型又はその部分型であるエントリーが、エントリー・データベース7
10に書き込まれると(ステップ808)、エントリーのフィールドが比較され
、それらの属性が、テンプレートの非ワイルドカード・フィールドに関連付けら
れた属性に適合するか否かを判定する(ステップ810)。先の記述と同様に、
入ってくるエントリーのフィールドが、ワイルドカードを用いられるか、又はテ
ンプレートエントリーの部分型によって定義される場合には、無視される(ステ
ップ812)。もし、適合するものが現れたときには、ユーザ又はイベント受取
部に通知する(ステップ814、ステップ816)。更に、入ってくるエントリ
ーは、登録時間が満了しない限り監視される。
Thus, as shown in FIG. 8, when database manager 704 receives a new notification request (step 802), incoming entries are monitored until the registration time expires (steps 804 and step 804). 806). An entry that is a template type or a subtype thereof is stored in an entry database 7.
Once written to 10 (step 808), the fields of the entry are compared to determine if their attributes match the attributes associated with the non-wildcard fields of the template (step 810). As before,
If the field of the incoming entry is used with a wildcard or defined by a subtype of the template entry, it is ignored (step 812). If a match is found, the user or the event receiver is notified (steps 814 and 816). In addition, incoming entries are monitored as long as the registration time has not expired.

【0044】 (4)インデックス作成 図7へ戻ると、検索エンジン708は、更に、データベース・マネージャ70
4に受取られたクエリーによって普通に指定された特性を具備するエントリーの
インデックスを生成する。即ち、検索エンジン708は、所定の用法を検出する
と、受理されたテンプレートによって指定される普通に指定された特性を具備す
るエントリーを指し示すインデックス720を生成する。実施例として、データ
ベース・マネージャ704が、図7に示すテンプレート706と同じ型又は部分
型のテンプレートを使用するいくつかのクエリー要求を受取ったときには、この
状況では、検索エンジン708が、フィールドAと同じ属性値(例えば、整数値
1000)が、多くの要求の各テンプレートにおいて指定されることを検出する
。1つの実施の形態では、データベース・マネージャ704は、多くの要求によ
って指定された通常のテンプレート用法を検出すると、それに反応して、エント
リー・データベース710内の普通に受取ったテンプレートと同じ型又はその部
分型であり、フィールドAによって指定された通常の属性を有する全てのエント
リーに関し、その位置を示すインデックス720を作成し、。従って、同様のテ
ンプレート(即ち、フィールドAに値1000が指定されたテンプレート)を有
する新しいクエリーが受取られたときには、検索エンジン708がインデックス
720を使用して、データベースのエントリー集合全体を検索することなく、迅
速に、そのテンプレートに適合するエントリー群の部分集合の位置を突きとめる
(4) Index Creation Returning to FIG. 7, the search engine 708 further includes a database manager 70
4 generates an index of entries having the properties normally specified by the query received. That is, upon detecting a predetermined usage, the search engine 708 generates an index 720 pointing to an entry having the normally specified characteristics specified by the received template. As an example, when database manager 704 receives several query requests that use a template of the same type or subtype as template 706 shown in FIG. Detect that an attribute value (eg, an integer value of 1000) is specified in each template of many requests. In one embodiment, when database manager 704 detects the normal template usage specified by many requests, it responds in response to the same type, or portion thereof, as a normally received template in entry database 710. For every entry that is of type and has the usual attributes specified by field A, create an index 720 indicating its location; Thus, when a new query is received having a similar template (ie, a template with a value of 1000 for field A), search engine 708 can use index 720 to search the entire set of entries in the database without having to search index 720. Quickly locate the subset of entries that match the template.

【0045】 このインデックス作成方法原理についての実施形態が、図9A及び図9Bに図
示される。図9Aに示されるように、要求テンプレートに基づいて(ステップ9
10)、同じ属性及び値により指定されるテンプレートに関連付けられたパター
ン(例えば、特定の1つの(又は複数個の)非ワイルドカード・フィールドフィ
ールド)があるか否かを決定する(ステップ912)ことにより、特定のテンプ
レート分類に対応するエントリーについてのインデックスが、作成される。この
決定は、特定の時間に同様のテンプレートを有する予め定められた個数のクエリ
ーを受取ることにより、又は、同様のテンプレートを有するクエリーのパーセン
トを受取ることにより、下される。検索エンジン708は、普通のテンプレート
用法様式を検出すると、特定のテンプレート分類のエントリーについてのインデ
ックスを作成する(ステップ914)。このように、上記の例に関し、検索エン
ジン708は、フィールドAが値1000を有するテンプレート706と同じ型
又はその部分型の全てのエントリーについてのインデックスを作成する。
An embodiment of the principle of this indexing method is illustrated in FIGS. 9A and 9B. As shown in FIG. 9A, based on the request template (step 9
10) determining whether there is a pattern (eg, one (or more) specific non-wildcard field fields) associated with the template specified by the same attributes and values (step 912) Thus, an index for an entry corresponding to a specific template classification is created. This determination is made by receiving a predetermined number of queries having a similar template at a particular time, or by receiving a percentage of queries having a similar template. When the search engine 708 detects an ordinary template usage pattern, it creates an index for entries of a particular template category (step 914). Thus, for the above example, search engine 708 creates an index for all entries of the same type as template 706, or a subtype thereof, where field A has a value of 1000.

【0046】 図9Bに示されるように、新しい要求がステップ920で受理されると、特定
のテンプレート分類のためのインデックスが存在しなければ通常の検索が実行さ
れる(ステップ922、ステップ924)。新規要求のテンプレートのためのイ
ンデックス分類が存在するときには、そのインデックスが、適合する可能性があ
るエントリーの部分集合及びこれらのエントリーの同等物を見つけるために用い
られる。この様式により、利便性の高い検索が実現される。注意すべきは、その
後、検索エンジン708は、要望に応じて、通常の用法がもはや検出されなけれ
ばインデックスを消去するようにしてもよい。
As shown in FIG. 9B, when a new request is received at step 920, a normal search is performed if no index exists for the particular template classification (steps 922, 924). When an index classification exists for a new request template, that index is used to find a subset of possible matching entries and their equivalents. With this style, highly convenient search is realized. Note that the search engine 708 may then purge the index, if desired, if normal usage is no longer detected.

【0047】 前述の如く、エントリー型は、更に、特定の動作を実行させるためのメソッド
を定義するかもしれない。そのメソッドは、外部刺激(例えば、データベースシ
ステムに関連付けられエントリーを処理するソフトウェアプログラム)により呼
び出される。このような特定の動作は、エントリーに存在するデータに影響する
。加えて、データの形式は異なるが、特定のエントリーが他の物と同等(又はテ
ンプレートと等しい)か否かを決定するための効率的な適合検査を行う方法が使
用される。例えば、復元されたビデオデータを記憶するエントリーが、圧縮され
た形式の該ビデオデータを記憶する他のエントリーと同等とみなされるかもしれ
ない。実際に記憶されているデータが異なっても、このようなエントリー適合判
定方法が提供されるかもしれない(例えば、映像に関連付けられたファイルシス
テムにおける同じ潜在的なパスネームをオブジェクトが参照するか否かを決定す
る方法が呼び出される。)。
As mentioned above, entry types may further define methods for performing certain operations. The method is invoked by an external stimulus (e.g., a software program associated with the database system and processing the entries). Such specific actions affect the data present in the entry. In addition, although the format of the data is different, a method is used that performs an efficient match check to determine whether a particular entry is equivalent (or equal to a template) to another. For example, an entry that stores reconstructed video data may be considered equivalent to another entry that stores the video data in a compressed form. Even though the data actually stored may be different, such an entry match determination method may be provided (e.g., whether the object references the same potential pathname in the file system associated with the video). The method to determine is called.).

【0048】 更に注意すべきは、エントリーが、エントリーのクラス及びエントリーの各フ
ィールドの直列形式を含む実施例特有の表現で記憶される。テンプレートの直列
形式は、エントリーの直列形式と比較される。最後に注意すべきは、エントリー
は、他のエントリーのフィールドによって指定される場合もある。
It should be further noted that the entries are stored in an embodiment-specific representation including the class of the entry and the serial form of each field of the entry. The template serial form is compared to the entry serial form. Finally, note that entries may be specified by fields of other entries.

【0049】 (マルチ・エントリー及びマルチ・テンプレートの対照) 他の実施形態は、データベース内の項目の操作及び対照を実行し、各項目はエ
ントリーの集合を定義する。ここでは、“項目”は、“マルチ・エントリー”と
呼ばれ、“マルチ・テンプレート”(又は“項目テンプレート”)は、テンプレ
ートの集合を指して用いられ、どちらの語も、データベース内の項目の対照をす
るために用いられる。この節では、更に、マルチ・エントリーとマルチ・テンプ
レートとの対照処理、及びマルチ・エントリーとマルチ・テンプレートとを含む
操作について詳細に記述する。マルチ・エントリー及びマルチ・テンプレートの
多くの動作は、前述のシングル・エントリー及びシングル・テンプレートの動作
に似ている。
Multi-Entry and Multi-Template Contrast Another embodiment performs operations and contrasts on items in the database, where each item defines a set of entries. As used herein, "items" are referred to as "multi-entries" and "multi-templates" (or "item templates") are used to refer to a set of templates, both terms of which are items in a database. Used to control. This section further describes in detail the multi-entry and multi-template comparison process and the operations involving multi-entries and multi-templates. Many operations of multi-entry and multi-template are similar to the operation of single entry and single template described above.

【0050】 図10は、エントリーデータベース206〜208の何れにも記憶されている
可能性がある複数のマルチ・エントリーの例を示す図である。本発明に従う方法
及びシステムにおいては、各マルチ・エントリーはエントリーのグループであり
、各エントリーは、例えば、JavaTMプログラム言語のJavaTMクラスで表現された
オブジェクトを含む型付けされたグループである。言い換えれば、マルチ・エン
トリーはエントリーの集合であり、それ自身は型を有さない。
FIG. 10 is a diagram showing an example of a plurality of multi-entries that may be stored in any of the entry databases 206 to 208. In the method and system according to the invention, each multi-entry is a group of entries, each entry being, for example, a typed group containing objects represented by Java classes of the Java programming language. In other words, a multi-entry is a collection of entries and has no type in itself.

【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のマルチ
・エントリー例において、どのエントリーも同じ型を有するが、エントリーに関
連付けられた属性又はデータは異なる。
Referring to FIG. 10, the multi-entry 1 includes four elements (element A, element B, element C, and element D) as shown. Since the multi-entry is of variable length, the multi-entry 2 in this example has five elements (element E, element F, element G
, Element H, element I), the multi-entry 3 of this embodiment.
Includes a set of three elements (element J, element K, and element L). Each element of the multi-entry is configured to store a typed entry. As described, each of these typed entries is represented in a Java class, and the fields of the entry store values that represent the typed object. For example, element A of multi-entry 1 contains a value representing entry 1010 and element B of multi-entry 1 represents entry 1012. Similarly, element E of multi-entry 2 represents entry 1014, element F represents entry 1016, and so on. Note that in the multi-entry example of FIG. 10, all entries have the same type, but the attributes or data associated with the entries are different.

【0052】 マルチ・エントリーとマルチ・テンプレートは、まさに集合であるので、適当
な集合の表現を用いて表わされることができる。例えば、JavaTMプログラム言語
を含む多くのプログラム言語における適当な表現は、配列である。配列の大きさ
は、マルチ・エントリーのエントリーの個数又はマルチ・テンプレートのテンプ
レートの個数により、与えられ、配列の各要素は、エントリー(マルチ・エント
リーの場合)又はテンプレート(マルチ・テンプレートの場合)である。
Since multi-entries and multi-templates are just sets, they can be represented using a suitable set representation. For example, a suitable representation in many programming languages, including the Java programming language, is an array. The size of the array is given by the number of entries in the multi-entry or the number of templates in the multi-template, and each element of the array is an entry (for a multi-entry) or a template (for a multi-template). is there.

【0053】 図2に戻ると、前述の如く、エントリーデータベース206,207及び20 8は多数のマルチ・エントリーを記憶している。マルチ・エントリーは、クライ
アントによって呼び出される書込操作によって、所与のエントリーデータベース
206〜208内に記憶される。更に、マルチエントリーが、装着媒体(例えば
、図1の装着媒体126)によってエントリー・データベースに供給されるかも
しれない。シングル・エントリーの実施形態と同様に、図11によって図示され
るように、いくつかの追加の操作がシステムによってサポートされる。即ち、書
込操作に加えて、クライアント又はユーザは、読取操作、書込操作又は通知操作
を開始させることができる。
Returning to FIG. 2, as mentioned above, entry databases 206, 207 and 208 store a number of multi-entries. Multi-entries are stored in a given entry database 206-208 by a write operation invoked by the client. Further, multi-entries may be provided to the entry database by a mounting medium (eg, mounting medium 126 of FIG. 1). As with the single entry embodiment, some additional operations are supported by the system, as illustrated by FIG. That is, in addition to the write operation, the client or user can start a read operation, a write operation, or a notification operation.

【0054】 読取操作、取出操作及び通知操作は、シングルエントリーに対する操作と同様
にマルチエントリーを操作する。一つの実施形態においては、これらのクエリー
は、操作に関して関心のあるマルチエントリーを定義するために操作要求の一部
として含まれるマルチエントリーを用いて、生成される。前記シングルエントリ
ーの場合と同様に、読取操作は所与のマルチ・テンプレートに適合するデータベ
ースのマルチ・エントリーを読取る。ここでも、取出操作は、読取操作と同様の
機能を実行するとともに、データベースから読取ったマルチ・エントリーを取去
る。通知操作は、前もってマルチ・エントリーへの関心を登録するために用いら
れ、適合するマルチ・エントリーがデータベースに到来した時に、クライアント
又はイベント受取部へ通知する。
The read operation, the ejection operation, and the notification operation operate a multi-entry in the same manner as the operation for a single entry. In one embodiment, these queries are generated using the multi-entries included as part of the operation request to define the multi-entries of interest for the operation. As with the single entry case, the read operation reads multiple entries in the database that match the given multi-template. Again, the fetch operation performs the same function as the read operation and removes the multi-entry read from the database. The notify operation is used to register interest in a multi-entry in advance and notifies the client or event receiver when a matching multi-entry arrives in the database.

【0055】 図12は、マルチ・エントリーの実施例を図示する。概して、マルチ・テンプ
レートは、前述のように、要素がテンプレートを含む特定のマルチ・エントリー
を指定する。図12に示されるマルチ・テンプレート1200は、4つの要素、
W,X,Y及びZを有しているが、注意すべきは、マルチ・テンプレートに含ま
れる要素の個数は、幾つでもよい。しかし、本発明の実施の形態では、マルチ・
テンプレート1200の各要素は、1つのテンプレート1202を含む。
FIG. 12 illustrates a multi-entry embodiment. In general, a multi-template specifies a particular multi-entry whose elements include the template, as described above. The multi-template 1200 shown in FIG. 12 has four elements:
Although it has W, X, Y and Z, it should be noted that the number of elements included in the multi-template may be any number. However, in the embodiment of the present invention, the multi-
Each element of the template 1200 includes one template 1202.

【0056】 (1)マルチ・エントリーとマルチ・テンプレートとの対照 概して、マルチ・テンプレートの各テンプレートが、マルチ・エントリー内に
適合するエントリーを有していれば、マルチ・テンプレートはマルチ・エントリ
ーに適合する。マルチ・エントリーの各エントリーは、マルチ・テンプレートの
複数のテンプレートと適合する場合もある。例えば、マルチ・エントリー内の1
つのシングル・エントリーが、マルチ・テンプレート内の全てのテンプレートと
適合する場合があり、その場合には、そのマルチ・エントリーとマルチ・テンプ
レートとは適合すると判定される。マルチ・エントリーがマルチ・テンプレート
と適合するか否かを決定する過程では、マルチ・エントリーの個々のエントリー
をマルチ・テンプレートの個々のテンプレートと比較することが必要である。か
かるマルチ・テンプレート内の個々のテンプレートとマルチ・エントリー内の個
々のエントリーとの対照は、前述のシングル・エントリーとシングル・エントリ
ーとの対照と同様に、実行される。
(1) Contrast between Multi-Entry and Multi-Template Generally, if each template of the multi-template has a matching entry in the multi-entry, the multi-template matches the multi-entry. I do. Each entry of the multi-entry may match multiple templates of the multi-template. For example, one in a multi-entry
A single entry may match all templates in the multi-template, in which case the multi-entry and the multi-template are determined to be compatible. Determining whether a multi-entry matches a multi-template involves comparing each entry of the multi-entry with an individual template of the multi-template. The comparison between individual templates in such a multi-template and the individual entries in the multi-entry is performed in the same manner as the above-described single-entry and single-entry comparison.

【0057】 図13は、読取要求又は取出要求に反応して特定のエントリーデータベース内
のマルチ・エントリーを検索する方法の一実施例を示すフローチャートである。
図13に図示される工程は、図13の検索方法原理を採用するデータベースシス
テムの動作例を示す図14に関連して説明される。図14の機能的構成部分は、
1個以上のコンピュータ101〜103と連携するソフトウェアとハードウェア
との組合わせによって実現される。ステップ1302において、読取又は取出要
求が、ユーザ702からデータベースマネージャ704へ供給される。所与の要
求は、指定されたマルチ・テンプレートを含む(例えば、その1つは図14のテ
ンプレート1200である。)。続いて、データベースマネージャ704の検索
エンジン708は、エントリー・データベース710を検索し、マルチ・テンプ
レートに適合するマルチ・エントリーが、エントリー・データベース710に存
在するか否かを決定する。
FIG. 13 is a flowchart illustrating one embodiment of a method for searching for a multi-entry in a particular entry database in response to a read or retrieval request.
The steps illustrated in FIG. 13 will be described with reference to FIG. 14 illustrating an operation example of a database system employing the search method principle of FIG. The functional components of FIG.
This is realized by a combination of software and hardware that cooperate with one or more computers 101 to 103. At step 1302, a read or retrieve request is provided from the user 702 to the database manager 704. A given request includes a specified multi-template (eg, one of which is template 1200 in FIG. 14). Subsequently, the search engine 708 of the database manager 704 searches the entry database 710 to determine whether a multi-entry matching the multi-template exists in the entry database 710.

【0058】 エントリーデータベース710を検索するために、検索エンジン708は、エ
ントリーデータベース710のマルチ・エントリーを選択し、与えられたマルチ
・テンプレートと比較する(ステップ1304)。そして、検索エンジン708
は、マルチ・エントリーが指定されたマルチ・テンプレートに適合するか否かを
判定するために、マルチ・テンプレートの各テンプレートをマルチ・エントリー
のエントリーと比較する(ステップ1306)。マルチ・テンプレートの全ての
テンプレートに関し、適合するエントリーが存在する場合には、マルチ・エント
リーはマルチ・テンプレートに適合すると判定される(ステップ1308)。マ
ルチ・エントリーの各エントリーは、マルチ・テンプレートの複数のテンプレー
トに適合するかもしれない。マルチ・テンプレートの全てのテンプレートが、適
合するエントリーをそのマルチ・エントリーに有していると判定されたときには
(ステップ1310)、マルチ・テンプレートはマルチ・エントリーと適合する
と判定され、そのマルチ・エントリーが返される(ステップ1312)。この処
理は、データベース内の全てのエントリーが、調べられるまで、繰り返される。
To search the entry database 710, the search engine 708 selects a multi-entry in the entry database 710 and compares it with the provided multi-template (step 1304). And search engine 708
Compares each template in the multi-entry with the entries in the multi-entry to determine whether the multi-entry matches the specified multi-template (step 1306). If there is a matching entry for all templates in the multi-template, it is determined that the multi-entry matches the multi-template (step 1308). Each entry of a multi-entry may match multiple templates of a multi-template. If it is determined that all templates of the multi-template have matching entries in the multi-entry (step 1310), the multi-template is determined to be compatible with the multi-entry and the multi-entry is determined. Returned (step 1312). This process is repeated until all entries in the database have been examined.

【0059】 選択されたマルチ・エントリーと操作によって供給されたマルチ・テンプレー
トとの間で適合が生じないときには、検索エンジン708は、エントリーデータ
ベース710内の他のマルチ・エントリーを検索する(ステップ1314)。マ
ルチ・テンプレートに適合するマルチ・エントリーがデータベースに存在しない
ときには、ヌル値が返される(ステップ1316)。複数が発見されたときには
、1つのマルチ・エントリーが返されるようにしてもよいし、要求された個数の
適合するマルチ・エントリーを返すようにしてもよい。クライアントからの元要
求が、取出要求として到来したときには、適合するマルチ・エントリーがデータ
ベースから取り去られる。
If no match occurs between the selected multi-entry and the multi-template provided by the operation, search engine 708 searches for another multi-entry in entry database 710 (step 1314). . If no multi-entries in the database match the multi-template, a null value is returned (step 1316). When a plurality is found, one multi-entry may be returned, or the requested number of matching multi-entries may be returned. When the original request from the client arrives as a fetch request, the matching multi-entry is removed from the database.

【0060】 (2)実施例 図14に図示される実施例では、検索エンジン708はマルチ・エントリーの
1つを選択し(例えば、図示されるマルチ・エントリー2)、マルチ・エントリ
ーのエントリーをマルチ・テンプレートのテンプレートと比較する。この実施例
では、検索エンジン708は、マルチ・テンプレート1200を含む要求を受取
る。
(2) Embodiment In the embodiment shown in FIG. 14, the search engine 708 selects one of the multi-entries (eg, the multi-entry 2 shown) and multiplies the entries of the multi-entry.・ Compare with the template of the template. In this example, search engine 708 receives a request that includes multi-template 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に適合する
と判定される。
The search engine 708 determines whether a template in the multi-template 1200 matches an entry of the selected multi-entry in the entry database 710. The search engine 708 uses the multi-template 12
The template of the element W of 00 is compared with the elements E, F, G, H, and I of the multi-entry 2 of the entry database 710, and it is determined whether any of these entries matches the template. When the search engine 708 finds a match with the template in the element W of the multi-template 1200, it tries to find a match with the template of the element X of the multi-template 1200. Next, element X of multi-template 1200 until a match is found.
Is compared with each entry of the multi-entry 2. Note that each of these entries for elements E, F, G, H, and I are compared to another template of the multi-template (ie, the template for element W) and then to this template again. Sometimes. If a match is found for the template for element X, the search engine 708 proceeds to the multi-template 1200
Are examined in the same manner. Each entry is compared to multiple templates, so for example, multi-entry 2
May be compatible with all of the W, X, Y, and Z templates of the multi-template 1200. Multi template 120
If each template of 0 has a matching entry in multi-entry 2, then multi-entry 2 is determined to be compatible with multi-template 1200.

【0062】 シングル・エントリー操作と同様に、適合するマルチ・エントリーが見つかっ
たときには、検索エンジン708は、要求が読取要求であるか取出要求であるか
に応じて、エントリーデータベース710から適合するマルチ・エントリーを読
取るか、又は、取去り、そして、それをユーザへ供給する。検索エンジン708
は、適合するものが見つかるか、又は、全てのマルチ・エントリーが調べられる
まで、エントリーデータベース710を検索する。適合するマルチ・エントリー
が見つからなければ、データベースマネージャ704は、ヌル値をユーザ702
へ返す。
As with the single entry operation, when a matching multi-entry is found, the search engine 708 determines a matching multi-entry from the entry database 710 depending on whether the request is a read request or a retrieval request. Read or remove the entry and supply it to the user. Search engine 708
Searches the entry database 710 until a match is found or all multi-entries have been looked up. If no matching multi-entry is found, the database manager 704 assigns a null value to the user 702
Return to

【0063】 (3)通知 次に、図15を参照すると、ユーザから受理した通知要求を処理するために検
索エンジン708によって実行される方法原理の一実施例を図示するフローチャ
ートが示されている。通知操作は、シングル・エントリーの場合の通知と同様で
あり、前述の如く、将来入ってくるマルチ・テンプレートに適合するマルチ・エ
ントリーへの関心を登録するためにユーザによって発行される。適合するマルチ
・エントリーが到来したときには、データベースマネージャ704は、ユーザ又
はイベント受取部へ通知する(図2)。ユーザが、通知要求を呼び出したときに
は、データベースマネージャ704が通知を登録する期間の長さを示す登録時間
が指定される。指定された時間が満了すると、通知登録はキャンセルされる。
(3) Notification Referring now to FIG. 15, there is shown a flowchart illustrating one embodiment of a method principle performed by the search engine 708 to process a notification request received from a user. The notification operation is similar to the notification in the case of a single entry, and is issued by the user to register interest in a multi-entry that matches a future incoming multi-template, as described above. When a matching multi-entry arrives, the database manager 704 notifies the user or event receiver (FIG. 2). When the user calls the notification request, a registration time indicating the length of the period during which the database manager 704 registers the notification is specified. Upon expiration of the specified time, notification registration is canceled.

【0064】 こうして、図15に示されるように、データベースマネージャ704は、新し
い通知要求を受取ったときには(ステップ1502)、その登録時間が満了する
まで、入ってくるマルチ・エントリーが監視される(ステップ1504、ステッ
プ1506)。マルチ・エントリーがエントリーデータベース710に書き込ま
れると、検索エンジン708は、そのマルチ・エントリーがマルチ・テンプレー
トに適合するか否かを判定する。上記説明と同様に、マルチ・テンプレートの各
テンプレートが、マルチ・エントリー内に適合するマルチ・エントリーを有して
いれば(ステップ1508、ステップ1510)、適合することになり、ユーザ
又はイベント受取部に通知される(ステップ1512)。それ以降に入ってくる
マルチ・エントリーも、登録された時間が満了するまで、監視される(ステップ
1504)。
Thus, as shown in FIG. 15, when the database manager 704 receives a new notification request (step 1502), it monitors the incoming multiple entries until its registration time expires (step 1502). 1504, step 1506). Once the multi-entry is written to entry database 710, search engine 708 determines whether the multi-entry matches the multi-template. As described above, if each template of the multi-template has a matching multi-entry in the multi-entry (step 1508, step 1510), it will be matched and the user or the event receiver will be notified. A notification is provided (step 1512). Subsequent multi-entries are also monitored until the registered time has expired (step 1504).

【0065】 (内部でのエントリー変更) 選択的実施形態では、更に、データベース内の内部でエントリー及びマルチ・
エントリーを変更する。本発明によれば、この実施形態は、エントリー/テンプ
レートを有する例にも、マルチ・エントリー/マルチ・テンプレートを有する例
にも、適用される。この実施例においては、エントリーのフィールドがデータベ
ースの内部で変更されることが可能であり、マルチ・エントリーの場合には、マ
ルチ・エントリー内のエントリーが追加、変更及び削除されることが可能である
。“内部で”の語は、エントリー又はマルチ・エントリーをデータベースから取
去ることなくデータベース内で変更することを意味する。
(Internal Entry Change) In an alternative embodiment, the entry and multi-
Change an entry. According to the invention, this embodiment applies both to the example with entries / templates and to the example with multi-entries / multi-templates. In this embodiment, the fields of the entry can be changed inside the database, and in the case of multiple entries, the entries in the multiple entry can be added, changed and deleted. . The term "internally" means that the entry or multi-entry is changed in the database without removing it from the database.

【0066】 本発明のこの実施例に従う内部での変更操作は、“シングル・エントリー変更
”、“マルチ・エントリー追加”、“マルチ・エントリー変更/削除”、そして
、“通知”を含む。図16は、これらの内部での変更及び変更を要求するために
ユーザから供給される情報を図示する。このシングル・エントリー変更操作は、
データベースのエントリーの個々のフィールドの値を変更する。マルチ・エント
リー追加操作は、データベースに存在するマルチ・エントリーにエントリーを追
加し、マルチ・エントリー変更/削除操作は、データベースのマルチ・エントリ
ーのエントリーを変更又は削除する。内部での変更に関しては、通知操作は、デ
ータベース内のエントリー又はマルチ・エントリーでの変化によって適合が生じ
たことを通知する。一般に、操作要求の第1のパラメータは、図16に示すよう
にデータベース内の変更されるエントリー又はマルチ・エントリーを表わし、第
2のパラメータは、実行される変更を表わす。
Internal change operations according to this embodiment of the invention include “single entry change”, “multi-entry add”, “multi-entry change / delete”, and “notification”. FIG. 16 illustrates these internal changes and the information provided by the user to request the changes. This single entry change operation,
Change the value of individual fields in database entries. A multi-entry add operation adds an entry to a multi-entry existing in the database, and a multi-entry change / delete operation changes or deletes a multi-entry entry in the database. For internal changes, the notify operation signals that a match has occurred due to a change in an entry or multiple entry in the database. In general, the first parameter of the operation request represents the entry to be changed or multiple entries in the database, as shown in FIG. 16, and the second parameter represents the change to be performed.

【0067】 (1)シングル・エントリー変更 図17は、本発明に従うシングル・エントリー変更の実施例を図示するフロー
チャートを示す。更に、構造的な態様を示すために、図7が参照される。エント
リー内の個々のフィールドの値を変更するためのシングル・エントリー変更を呼
び出すために、ユーザ702は、2つのテンプレートを含む要求を生成する(ス
テップ1700、図16参照)。第1のテンプレート1602は、変更されるデ
ータベースのエントリーを表わすために使用され、第2のテンプレート1604
は、エントリーを変更するために使用され、実行される変更を表わす。これらの
2つのテンプレートにより、エントリーを識別し、それを変更することにより、
同一のエントリーを操作するので、第2のテンプレート1604は、第1のテン
プレート1602と同じ型又はその上位型である。また、シングル・エントリー
変更手順が、テンプレートを検査する型を含むようにしてもよい。
(1) Single Entry Change FIG. 17 shows a flowchart illustrating an embodiment of a single entry change according to the present invention. Further, reference is made to FIG. 7 to illustrate the structural aspects. To invoke a single entry change to change the value of an individual field in the entry, the user 702 generates a request containing two templates (step 1700, see FIG. 16). The first template 1602 is used to represent the database entry to be changed and the second template 1604
Is used to change the entry and represents the change to be performed. With these two templates, by identifying the entry and modifying it,
Since the same entry is operated, the second template 1604 is of the same type as the first template 1602 or a higher type thereof. Further, the single entry change procedure may include a type for checking the template.

【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)。
First, the search engine 708 searches for an entry in the entry database 710 that matches the first template 1602 received from the request from the user 702. When comparing database entries to the first template,
As described above, a comparison is made by comparing the single entry with the template. If there is no entry matching the first template in the entry database 710 (step 1704), the search engine 708
Return zero indicating the number of entries changed by this operation to the user (1
712). If a matching entry is found, the second template 1604 is used to modify the entry within the database, ie, the entry is not removed from the database for modification. The second template 1604 is
Of the same type as the template 1602 of the first template
Since 602 is the same type as the entry to be changed or a higher type thereof, the second template 1604 is the same type as the entry to be changed or a higher type thereof,
The second template 1604 is the same field group as the field group of the entry to be changed or a subset thereof. To change the matching entry, the value of the non-null field of the second template 1604 is used to replace the value of the corresponding field of the entry (step 1708). The value of the field of the entry corresponding to the null field or the wildcard field of the second template 1604 is not changed. After changing the entry in the database, search engine 708 continues to search for the entry to be changed. If there are other database entries that match the first template 1602 (step 1710), those entries are similarly modified (step 1708). Upon completion, search engine 708 returns a number representing the number of entries changed by the operation (step 1712).

【0069】 (2)マルチ・エントリー追加 図18は、本発明に従うマルチ・エントリー追加操作の工程を図示するフロー
チャートである。概して、マルチ・エントリー追加操作は、データベース内の指
定されたマルチ・エントリーにエントリーを追加するものである。この操作を要
求するユーザ702は、2つのパラメータ、マルチ・テンプレート1606及び
マルチ・エントリー1608を検索エンジン708に供給する(図16参照)。
第1のパラメータ、マルチ・テンプレート1606は、変更されるエントリーデ
ータベースのマルチ・エントリーを指定するために用いられ、第2のパラメータ
マルチ・エントリー1608は、指定されたマルチ・エントリーデータベースに
追加されるエントリーの集合である。検索エンジン708は、マルチ・エントリ
ー/マルチ・テンプレート対照を前述のように実行して、ユーザ702によって
与えられたマルチ・テンプレート1606に適合するデータベースのマルチ・エ
ントリーを検索する(ステップ1802)。適合するマルチ・エントリーが見つ
からないときには(ステップ1804)、検索エンジン708は、エントリーが
追加されるマルチ・エントリーの個数を表わすゼロをユーザ702に返す(ステ
ップ1812)。
(2) Multi-Entry Addition FIG. 18 is a flowchart illustrating the steps of a multi-entry addition operation according to the present invention. Generally, a multi-entry addition operation is to add an entry to a specified multi-entry in the database. The user 702 requesting this operation supplies two parameters, the multi-template 1606 and the multi-entry 1608, to the search engine 708 (see FIG. 16).
The first parameter, multi-template 1606, is used to specify the multi-entry of the entry database to be changed, and the second parameter, multi-entry 1608, is the entry to be added to the specified multi-entry database. Is a set of The search engine 708 performs a multi-entry / multi-template comparison as described above to search for a multi-entry in the database that matches the multi-template 1606 provided by the user 702 (step 1802). If no matching multi-entry is found (step 1804), search engine 708 returns zero to user 702 indicating the number of multi-entries to which the entry is added (step 1812).

【0070】 適合するマルチ・エントリーが見つかったときには(1804)、ユーザ70
2によって供給された指定マルチ・エントリー1608のエントリーが、適合す
るマルチ・エントリーをエントリーデータベース710から取去ることなく、エ
ントリーデータベース内で見つかった適合するマルチ・エントリーに追加される
。データベース内のマルチ・エントリーに追加した後に、検索エンジン708は
、変更すべきマルチ・エントリーの検索を更に継続する。操作要求の第1のパラ
メータとして与えられたマルチ・テンプレート1606に適合するエントリーデ
ータベース710のマルチ・エントリーが他にある場合には(ステップ1810
)、操作要求のマルチ・エントリー1608のエントリーが、同様に、これらの
マルチ・エントリーに追加される(ステップ1808)。最後に、検索エンジン
708は、エントリーが追加されたマルチ・エントリーの個数を表わす数を返す
When a matching multi-entry is found (1804), the user 70
2 are added to the matching multi-entries found in the entry database without removing the matching multi-entries from entry database 710. After adding to the multi-entry in the database, the search engine 708 continues to search for the multi-entry to change. If there is another multi-entry in the entry database 710 that conforms to the multi-template 1606 given as the first parameter of the operation request (step 1810)
), The entries of the multi-entries 1608 of the operation request are similarly added to these multi-entries (step 1808). Finally, search engine 708 returns a number representing the number of multi-entries to which the entry has been added.

【0071】 (3)マルチ・エントリー変更/削除 図19は、本発明に従うマルチ・エントリー変更/削除操作を実施する方法を
図示するフローチャートである。マルチ・エントリー変更/削除操作は、要求に
含まれるマルチ・エントリーのエントリーに対応して、データベースのマルチ・
エントリーのエントリーを変更するか、又は、データベースのマルチ・エントリ
ーからエントリーを削除する。検索エンジン708は、マルチ・エントリー変更
/削除要求を受取ったときには、その要求は、2つのパラメータとして、2つの
マルチ・テンプレート、即ち、マルチ・テンプレート1610及びマルチ・テン
プレート1612を含む。マルチ・テンプレート1610は、変更され、又は、
エントリーが削除されるエントリーデータベース710のマルチ・エントリーを
指定するために用いられ、ユーザ702によって供給されるマルチ・テンプレー
ト1612は、適合するマルチ・エントリーのエントリーに対して実行される変
更又は削除を指定する。
(3) Multi-Entry Change / Delete FIG. 19 is a flowchart illustrating a method of performing a multi-entry change / delete operation according to the present invention. The multi-entry change / delete operation corresponds to the multi-entry of the database corresponding to the multi-entry entry included in the request.
Change the entry of the entry or delete the entry from the multiple entries in the database. When search engine 708 receives a multi-entry change / delete request, the request includes two multi-templates, multi-template 1610 and multi-template 1612, as two parameters. The multi-template 1610 can be modified or
Used to specify the multi-entry of the entry database 710 from which the entry is deleted, the multi-template 1612 supplied by the user 702 specifies the modification or deletion to be performed on the entry of the matching multi-entry. I do.

【0072】 要求により与えられるマルチ・テンプレート1612は、マルチ・テンプレー
ト1610と同じ数のテンプレートを含む。更に、各個々のテンプレートは、マ
ルチ・テンプレート1610の対応するテンプレートと同じ型、又はその上位型
である(即ち、マルチ・テンプレート1612のすべてのテンプレート(i)は、 マルチ・テンプレート1610のテンプレート(i)と同じ型、又は、その上位型 である。)。例えば、マルチ・テンプレート1610の第1のテンプレートは、
マルチ・テンプレート1610の第1のテンプレートの第1のテンプレートと同
じ型又はその上位型であり、第2のテンプレートは、対応する第2のテンプレー
トと同じ型又はその上位型であり、以後同様である。通常のマルチ・テンプレー
トとは異なり、要求パラメータに係るマルチ・テンプレート1612のテンプレ
ートは、ヌル値であるかも知れないし、これらのテンプレートが、下に説明され
るように、マルチ・エントリーからの削除を表わすために用いられることもある
The multi-template 1612 provided by the request includes the same number of templates as the multi-template 1610. Further, each individual template is of the same type or a supertype as the corresponding template of the multi-template 1610 (ie, all templates (i) of the multi-template 1612 are the same as the templates (i) of the multi-template 1610. It is the same type as) or its higher type.) For example, the first template of the multi-template 1610 is:
The first template of the multi-template 1610 has the same type as the first template or a higher type thereof, and the second template has the same type as the corresponding second template or a higher type thereof, and so on. . Unlike normal multi-templates, the multi-template 1612 templates for request parameters may be null values, and these templates represent deletions from multi-entries, as described below. Sometimes used for:

【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)の
非ヌル・フィールドの値は、変更される現存のエントリーの対応するフィールド
の値を置き換えるために用いられる。
The search engine 708 first searches for a multi-entry that matches the multi-template given as the first parameter of the operation request (step 190)
2). If no match is found, zero is returned indicating the number of multi-entries to be changed (step 1914). If a matching multi-entry is found in the entry database 710, it is modified using the multi-template 1612 from the operation request. To complete this change, for each non-null template in multi-template 1612, the entry corresponding to the matching multi-entry in entry database 710 is changed according to the non-null template in multi-template 1612 ( Step 1908). This change is performed by the aforementioned single entry change, which is made internally in the entry database 710 without removing the matching multi-entry. For example, if template (i) in multi-template 1612 has a non-null value, entry (i) in the multi-entry to be modified may be modified using single entry modification to form template (i) of multi-template 1612. ) (See step 1708 in FIG. 17; however, template (i) of multi-template 1612 is used as template 2). The value of the non-null field of template (i) is used to replace the value of the corresponding field of the existing entry to be changed.

【0074】 与えられたマルチ・テンプレート1612の全てのヌル・テンプレートについ
て、適合するマルチ・エントリー内の対応するエントリーが削除される(即ち、
ヌルであるマルチ・テンプレート1612の全てのテンプレート(i)に関し、 変更されるマルチ・エントリーのエントリー(i)が削除される。)(ステップ 1910)。マルチ・テンプレート1610に適合するデータベースのマルチ・
エントリーが存在する場合には、これらの工程は、エントリーデータベース71
0の残りの適合するマルチ・エントリーを変更するために、繰り返される。検索
エンジン708は、変更を完了すると、変更されたマルチ・エントリーの個数を
表わす数を返す(ステップ1914)。
For all null templates of a given multi-template 1612, the corresponding entry in the matching multi-entry is deleted (ie,
For all templates (i) of the multi-template 1612 that are null, the entry (i) of the multi-entry to be changed is deleted. ) (Step 1910). Multi-template of database conforming to multi-template 1610
If entries exist, these steps are performed in the entry database 71
Repeated to change the remaining matching multi-entries of zero. When search engine 708 completes the change, it returns a number representing the number of changed multi-entries (step 1914).

【0075】 しかし、マルチ・エントリー変更/削除操作を実行するときには、例外的な場
合が発生する。マルチ・エントリー/マルチ・テンプレート対照では、マルチ・
エントリーのエントリーはマルチ・テンプレートの複数のテンプレートと適合す
る場合があるので、マルチ・エントリーはマルチ・テンプレートに適合し、マル
チ・テンプレートが含むテンプレートよりも少ないエントリーを有するかもしれ
ない。このようなマルチ・エントリーは、マルチ・テンプレート1610に適合
し、本発明に従う変更/削除操作によって変更され、マルチ・テンプレート16
12の複数のテンプレートは、変更されるマルチ・エントリーのシングル・エン
トリーを変更又は削除するために用いられる。この場合には、マルチ・テンプレ
ート1612におけるこのようなテンプレート(即ち、変更されるマルチ・エン
トリーのエントリーに適合するマルチ・テンプレート1610のテンプレートに
対応するテンプレート)は、どれも、削除操作を表わし(即ち、ヌルである。)
、変更されるマルチ・エントリーのエントリーは削除される。さもなければ、マ
ルチ・テンプレート1612の全てのこのようなテンプレートは、変更操作を表
わし、全てのテンプレートは、変更のために用いられるが、変更を加える命令に
ついての決定は、実施例特有のものであり、変更/削除操作全体に関し重要なこ
とではない。
However, when executing the multi-entry change / delete operation, an exceptional case occurs. In multi-entry / multi-template control, multi-
Since an entry in an entry may match multiple templates of a multi-template, the multi-entry may match the multi-template and have fewer entries than the template that the multi-template contains. Such a multi-entry would conform to the multi-template 1610 and be modified by a modify / delete operation in accordance with the present invention.
Twelve templates are used to change or delete a single entry of the multi-entry to be changed. In this case, any such template in multi-template 1612 (i.e., the template corresponding to the template in multi-template 1610 that matches the entry of the multi-entry to be modified) indicates a delete operation (i.e., , Null.)
, The entry of the multi-entry being changed is deleted. Otherwise, all such templates in multi-template 1612 represent a change operation, and all templates are used for the change, but the decision on the instruction to make the change is implementation specific. Yes, it is not important for the whole change / delete operation.

【0076】 (4)変更通知 内部での変更に関し、本発明に従う他の実施例では、ユーザはデータベースの
エントリー又はマルチ・エントリーに対する関心を登録して、前記の如く、ユー
ザ又はイベント受取部に返される通知を受取ることができる。この実施例では、
ユーザが、テンプレート又はマルチ・テンプレートを供給することにより、デー
タベース内のエントリー又はマルチ・エントリーに対する関心を登録すると、検
索エンジン708は、上で為されたと同様に、入ってくるエントリー又はマルチ
・エントリーを監視するわけではない。内部での変更の通知を実行するときには
、データベース内の変えられた又は変更されたエントリー又はマルチ・エントリ
ーを監視する。データベースに入ってくるエントリーではなく、データベース内
の変更されたエントリー又はマルチ・エントリーを監視することが、先の通知操
作と内部での変更に関連するこの通知操作との主な相違点である。しかしながら
、通知の基本的な概要の多くは、同じである。
(4) Change Notification With respect to internal changes, in another embodiment according to the invention, the user registers his interest in the database entry or multi-entry and returns it to the user or event receiver as described above. Be notified. In this example,
When a user registers an interest in an entry or multi-entry in the database by supplying a template or multi-template, the search engine 708 may filter the incoming entry or multi-entry, as was done above. It does not monitor. When performing internal change notification, it monitors changed or changed entries or multiple entries in the database. Monitoring changed or multiple entries in the database, rather than entries coming into the database, is the main difference between the previous notification operation and this notification operation relating to internal changes. However, many of the basic outlines of notifications are the same.

【0077】 概して、テンプレート1614又はマルチ・テンプレート1616は、変化す
るエントリー又はマルチ・エントリーに対する関心の登録をするために用いられ
る。内部での変更によりマルチ・エントリー又はエントリーが変更されると、検
索エンジン708は、変更されたエントリー又はマルチ・エントリーが登録され
たテンプレート又はマルチ・テンプレートと適合するか否かを、又は、変更され
たマルチ・エントリー又はエントリーが、テンプレート又はマルチ・テンプレー
トに適合する状態から適合しないテンプレート又はマルチ・テンプレートに適合
しない状態へ移行しているか否かを判定するために調べる。従って、通知操作は
、適合から非適合への移行又は非適合から適合への移行のどちらかの適合状態移
行を検索する。
Generally, template 1614 or multi-template 1616 is used to register interest in changing entries or multi-entries. When a multi-entry or entry is changed due to an internal change, the search engine 708 may determine whether the changed entry or multi-entry matches the registered template or multi-template, or A check is made to determine whether the multi-entry or entry has transitioned from a state that conforms to the template or multi-template to a state that does not conform to the non-conforming template or multi-template. Accordingly, the notification operation searches for a conformance state transition, either a transition from conforming to non-conforming or a transition from non-conforming to conforming.

【0078】 次に図20を参照すると、変更されたエントリー又はマルチ・エントリーの変
化を監視するようにユーザから受けた通知要求を処理するための方法原理であっ
て検索エンジン708によって実行されるものの実施例が図示されるフローチャ
ートが示される。この場合には、通知要求は、ユーザによって発行され、供給さ
れたテンプレート1614又はマルチ・テンプレート1616に関連してそれら
が適合状態を変更するか否かを判定するために指定されたエントリー又はマルチ
・エントリーに対する関心を登録するための要求である。エントリー又はマルチ
・エントリーが変更されたときには、その適合状態が移行して、テンプレート1
614又はマルチ・テンプレート1616に適合する状態から適合しない状態へ
変化し、又は適合しない状態からから適合する状態へ変化することがある。通知
要求が為されており、テンプレート1614又はマルチ・テンプレート1616
に関し、エントリー又はマルチ・エントリーがその適合状態を変化するときには
、データベースマネージャ704は、要望に応じてユーザ又はイベント受取部の
どちらかへ通知する(図2参照)。ユーザが通知要求を発行すると、データベー
スマネージャ704が通知を登録する期間の長さを表わす登録時間が指定される
。指定された時間が満了すると、通知登録がキャンセルされる。
Referring now to FIG. 20, a method principle for processing a notification request received from a user to monitor a changed entry or a change in a multi-entry, as performed by the search engine 708, A flowchart illustrating an embodiment is shown. In this case, the notification request is issued by the user and, in connection with the supplied template 1614 or multi-template 1616, the designated entry or multi-template to determine if they change conformance. A request to register interest in an entry. When an entry or a multi-entry is changed, its conformance transitions and the template 1
614 or multi-template 1616 may change from conforming to non-conforming, or from non-conforming to conforming. A notification request has been made and template 1614 or multi-template 1616
, When an entry or multi-entry changes its relevance, the database manager 704 notifies either the user or the event receiver as desired (see FIG. 2). When the user issues a notification request, a registration time indicating the length of time during which the database manager 704 registers the notification is specified. Upon expiration of the specified time, notification registration is canceled.

【0079】 こうして、図20に示されるように、データベースマネージャ704は新規の
通知要求を受取り(ステップ2002)、エントリー又はマルチ・エントリーが
変更される場合には、登録時間が満了するまで、それらが監視される(ステップ
2004及び2006)。エントリー又はマルチ・エントリーがエントリーデー
タベース710内で変更される場合には、検索エンジン708は、通知要求で受
取ったテンプレート1614又はマルチ・テンプレート1616に関して、変更
されたエントリー又はマルチ・エントリーがその適合状態を変更したか否かを判
定する(ステップ2008及び2010)。検索エンジン708は、変更された
エントリー又はマルチ・エントリーが要求されたテンプレート又はマルチ・テン
プレートに適合する状態から適合しない状態へ又はその反対に移行したか否かを
判定する。適合状態の移行が発生すると、ユーザ又はイベント受取部へ通知され
る(ステップ2012)。それ以降も、内部で変更されるエントリー又はマルチ
・エントリーは、登録時間が満了しない限り、継続的に監視される(ステップ2
004)。
Thus, as shown in FIG. 20, the database manager 704 receives new notification requests (step 2002) and, if entries or multi-entries are changed, keeps them until the registration time expires. Monitored (steps 2004 and 2006). If an entry or multi-entry is changed in the entry database 710, the search engine 708 determines whether the changed entry or multi-entry has been matched for the template 1614 or multi-template 1616 received in the notification request. It is determined whether it has been changed (steps 2008 and 2010). The search engine 708 determines whether the changed entry or multi-entry has transitioned from a state that conforms to the requested template or multi-template to a state that does not conform, or vice versa. When the transition of the adaptation state occurs, the user or the event receiving unit is notified (step 2012). Thereafter, internally modified entries or multiple entries are continuously monitored as long as the registration time has not expired (step 2).
004).

【0080】 (型保証の属性対照) 本発明の他の実施形態は、オブジェクトとして表わされるデータベースエント
リーの種々の値を表わす属性を含む。この実施例では、属性をエントリーのフィ
ールドに関連付けること、エントリー、マルチ・エントリー及びそれらの操作を
用いることにより、型保証の属性対照が達成される。型保証の属性対象は、デー
タベースの属性の種々の型を検索することを含み、属性が強度に型付けされるこ
とを許容する。更に、それにより、属性間の関係を強制することができ、型によ
る属性の効率的な参照及び操作を可能にする。
(Type Contrast Attribute Contrast) Another embodiment of the present invention includes attributes that represent various values of a database entry represented as an object. In this embodiment, type-safe attribute matching is achieved by associating attributes with the fields of the entry, using entries, multi-entries, and their operations. Attribute objects for type assurance include searching for various types of attributes in the database, allowing attributes to be strongly typed. Further, it can enforce relationships between attributes, allowing for efficient reference and manipulation of attributes by type.

【0081】 型保証の属性対照を用いて、属性とそれらの値との間だけでなく(1分当たり
のページ数は整数に関連付けられる)、属性と名前との相互間も厳格に関連付け
られる(「1分当たりのページ数」属性は、プリンタと関連付けられる。)。型
保証の属性対照は、属性の組とそれらの値と間の関係を強制することもできる。
多くの異なる型のオブジェクトがデータベースに記憶されることを許容し、オブ
ジェクトの効率的な検索を可能にする。更に、データベースのオブジェクトの指
定された型にだけ影響する変更を認め、データベースは、多くの異なる型のオブ
ジェクトを記憶してもよい。
Using type-safe attribute contrasts, strict associations are made not only between attributes and their values (pages per minute is associated with an integer), but also between attributes and names ( The “pages per minute” attribute is associated with the printer.) Type-safe attribute contrasts can also enforce relationships between attribute sets and their values.
It allows many different types of objects to be stored in the database, allowing for efficient retrieval of the objects. Further, allowing for changes that affect only specified types of objects in the database, the database may store many different types of objects.

【0082】 本発明に従い、型保証の属性対照は属性をエントリーのフィールドに関連付け
ることにより遂行される。エントリーのフィールドに記憶された値は、関連付け
られた属性の値である。属性の集合(この場合、エントリー)は、JavaTMクラス
により、インスタンスすることができ、そのクラスは、集合と個々の属性の両方
の強度な型付けを提供する。例えば、次の例は、名前、製品名及び物理的位置の
ような包括的な情報を表わすエントリーに加えて、プリンタの属性(即ち、1分
当たりのページ数、解像度等)を表現するフィールドによって典型的なプリンタ
を表わすエントリーを図示する。
In accordance with the present invention, type-safe attribute matching is accomplished by associating attributes with fields of an entry. The value stored in the field of the entry is the value of the associated attribute. A set of attributes (in this case, an entry) can be instantiated by a Java class, which provides strong typing of both sets and individual attributes. For example, the following example uses fields representing printer attributes (ie, pages per minute, resolution, etc.) in addition to entries representing comprehensive information such as name, product name, and physical location. 2 illustrates an entry representing a typical printer.

【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; //それがある部屋 }Public class Printer implement Entry {integer ppm; // pages per minute integer dpi; // resolution expressed in dots per inch Boolean duplex // duplex printing Boolean color // color or black and white} public class Name implements Entry {String name; // friendly name of service String description; // formal description of service String language; // language used in language (language)} public class Type implements Entry {String type; / / General type of service String vendor; // vendor of the product that performs the service (vendor) String model; // model number of the product / model name String version; // version number of the product public class Location implements Entry { Integer floor; // the floor where the service is located String building; // the building where it is located String room; // the room where it is located}

【0084】 表に示すように、エントリーだけでなくフィールドも厳密に型付けされており
、これらのフィールドとそれらの型が、常にこれらのエントリー及びそれらの型
と関連付けられている。例えば、“ppm”又は“1分当たりのページ数”は、
“整数”型である。
As shown in the table, not only the entries but also the fields are strongly typed, and these fields and their types are always associated with these entries and their types. For example, "ppm" or "pages per minute"
It is of type "integer".

【0085】 項目の他の記載は、マルチ・エントリーを用いて為される。マルチ・エントリ
ーを用いると、典型的なプリンタは複数の属性集合からなる集合として記述され
る。この様式で典型的なプリンタを記述するときには、位置、名前、機種、のよ
うな追加の態様が含まれるかも知れず、各態様はマルチ・エントリーにおいて他
のエントリーによって表現される。上記の例におけるエントリーの集合は、典型
的なプリンタの属性を表わす例示的なマルチ・エントリーを構成する。
Other descriptions of items are made using multi-entries. With multi-entry, a typical printer is described as a set of attribute sets. When describing a typical printer in this manner, additional aspects such as location, name, model, and the like may be included, with each aspect being represented by other entries in a multi-entry. The set of entries in the above example constitutes an exemplary multi-entry representing the attributes of a typical printer.

【0086】 エントリー及びマルチ・エントリー操作は、これらの型保証の属性集合を、検
索し操作するために使用される。これらの操作は、取出、書込、通知、読取、エ
ントリー変更、マルチ・エントリー追加、マルチ・エントリー変更/削除及び変
更通知を含む。注意すべきは、他の既知のデータベース操作が本発明に従うデー
タベースシステムにおいて実行され得る。
Entry and multi-entry operations are used to retrieve and manipulate these type-safe attribute sets. These operations include fetch, write, notify, read, change entry, multi-entry addition, multi-entry change / delete and change notification. Note that other known database operations may be performed in the database system according to the present invention.

【0087】 例えば、データベースに記憶される次のマルチ・エントリーによって記述され
る2つのプリンタが存在すると仮定する。各プリンタは、マルチ・エントリーの
エントリーのフィールドに関連付けられた属性によって記述される特性を有して
いる。この仮定された例では、第1のプリンタは、英語の名前“quick”と
ドイツ語の名前“schnell”とを有し、どちらも記述と関連付けられてい
る。例に示すように、それは、ABCビルの1階1202号室に位置し、印刷特
性と結びついている(例えば、ppm=10、dpi=600等)。かかるプリ
ンタは次のマルチ・エントリーによって表現される。
For example, assume that there are two printers described by the next multi-entry stored in the database. Each printer has the characteristics described by the attributes associated with the fields of the multi-entry entry. In this hypothetical example, the first printer has the English name "quick" and the German name "schnell", both of which are associated with a description. As shown in the example, it is located on the ground floor room 1202 of the ABC building and is associated with printing properties (eg, ppm = 10, dpi = 600, etc.). Such a printer is represented by the following multi-entry.

【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]}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のプリンタは次のマルチ・エントリーで表現される。
The second printer has the English name “Slow”, is located in Room 101 on the second floor of the XYZ building, and is tied to the printing characteristics (for example, ppm = 3, dpi = 30).
0 etc.). The second printer is represented by the following multi-entry.

【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]}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ビルに置
かれカラープリンタであるデータベースに記憶されているプリンタを探す場合に
は、データベース検索用マルチ・テンプレートは、次のように表わされる。
Now, assume a search that requires returning all printers having the attributes represented by the fields of the entry. For example, when a user searches for a printer stored in a database that is a color printer and is located in an XYZ building, the database search multi-template is represented as follows.

【0092】 Multi-Template 1 = { Location [floor = null, building = "XYZ", room = null], Printer [ppm = null, dpi = null, duplex = null, color = true]}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は、データベースを検索し、正しくな
い型の項目を迂回して、エントリーのフィールドに記憶された値と、要求にかか
るテンプレートの値とを比較する。その結果、正しい属性値を有するものだけを
返す。この型保証の対照は、異なる型のオブジェクトが、同じデータベースに記
憶され、効率的に検索されることを可能にする。
The user invokes a read operation that supplies the multi-template 1 as a parameter. When applied to a database containing multi-templates 1 and 2, a multi-entry 2 representing the second printer from the above example is returned. This is because multi-template 1 matches multi-entry 2 as shown here. The search engine 708 searches the database and bypasses the incorrectly typed item and compares the value stored in the field of the entry with the value of the requested template. As a result, only those having the correct attribute value are returned. This type-safety contrast allows objects of different types to be stored in the same database and retrieved efficiently.

【0094】 型保証の属性対照を採用するデータベースにおいて実行される操作に関して、
特定の特性を有するデータベースに記憶されている全ての項目に型保証の変更が
要求されたと仮定する。この場合には、エントリー/マルチ・エントリー変更操
作は、データベースの項目を変更するために用いられる。例えば、全ての位置の
特定の解像度(dpi=100)の白黒印刷プリンタ(color=false)を変更して、それ
らの位置属性を取去るために構成されると仮定する。前述したように、マルチ・
エントリー変更/削除操作は2つのパラメータ使用し、データベースのどのマル
チ・テンプレートが変更されるかを決定するためのマルチ・テンプレート及び施
される変更を表わすためのマルチ・エントリーの2つのパラメータが、これらの
変更を表わすために供給される。先の例に戻って参照すると、マルチ・エントリ
ー変更/削除操作の第1のパラメータは、マルチ・テンプレートの形式で、次の
ように表現される。
For operations performed on databases employing type-safe attribute contrasts,
Assume that a change in type-safety has been requested for all items stored in the database having particular characteristics. In this case, the entry / multi-entry change operation is used to change an entry in the database. For example, assume that all locations are configured to change a black and white printer (color = false) at a particular resolution (dpi = 100) to remove their location attributes. As mentioned earlier,
The entry change / delete operation uses two parameters, a multi-template to determine which multi-template in the database is to be changed and a multi-entry to represent the change to be made. Supplied to indicate a change in Referring back to the previous example, the first parameter of the multi-entry change / delete operation is expressed in the form of a multi-template as:

【0095】 Multi-Template 2 = { Location [floor = null, building = null, room = null], Printer [ppm = null, dpi = null, duplex = null, color = false]}Multi-Template 2 = {Location [floor = null, building = null, room = null], Printer [ppm = null, dpi = null, duplex = null, color = false]}

【0096】 このマルチ・テンプレートは、位置に関わらず全ての白黒プリンタを探す。最
終的に、この100dpiの解像度特性を有する全てのマルチ・エントリーを変
更し、それらの位置属性を取去るために、変更/削除操作が次の要求により開始
される。
This multi-template looks for all black and white printers regardless of location. Finally, a change / delete operation is initiated by the next request to change all multi-entries with this 100 dpi resolution characteristic and remove their location attributes.

【0097】 Multi-entry modify/delete {Multi-Template 2, {null, Printer [ppm = null, dpi = 100, duplex = null, color = null]})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を生
み出す。
The search engine 708 locates all multi-entries in the database that match the multi-template 2 and, as described in the multi-entry change / delete operation method, performs a second operation on that operation. Change them according to the parameters. The multi-entry 1 in the previous example matches the multi-template 2 used in its operating parameters, so that multi-entry 1
It is changed according to the second parameter of the operation. This operation deletes the location attribute and replaces the value of the dpi attribute with 100, producing a modified multi-entry 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]}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】 従って、検索エンジンは、要求された型の属性を有するデータベース内の全て
の項目を探し、型保証の様式でそれらを変更することにより、型保証の属性対照
を実行する。注意すべきは、この例は、例示目的のためだけに、示されている。 上記の記載が十分に理解されれば、当業者には、多くの変容例や改変例が明ら
かになるであろう。そして、ここでは、前記特許請求の範囲の各請求項は、それ
らの全ての変用例や改変例を含むと解釈されることが意図されている。
Thus, the search engine performs a type-safe attribute comparison by looking for all items in the database that have the requested type of attribute and modifying them in a type-safe manner. Note that this example is shown for illustrative purposes only. Many variations and modifications will become apparent to those skilled in the art once the above description is fully understood. And it is intended that each claim of the appended claims be construed as including all such modifications and alterations.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明に従うデータベースを用いた分散型コンピュータシステムのブロック図
である。
FIG. 1 is a block diagram of a distributed computer system using a database according to the present invention.

【図2】 本発明に従う、複数のクライアントと複数のエントリー・データベースとの間
の通信例を示すブロック図である。
FIG. 2 is a block diagram illustrating an example of communication between a plurality of clients and a plurality of entry databases according to the present invention.

【図3】 本発明に従う、夫々が特定の型のフィールドを含むいくつかのエントリーを示
すブロック図であり、更に、他のエントリーの部分型であるエントリーを示して
いる。
FIG. 3 is a block diagram illustrating several entries, each containing a particular type of field, and showing entries that are subtypes of other entries, in accordance with the present invention.

【図4】 本発明に従うデータベースシステムによってサポートされる種々の操作を表わ
す図である。
FIG. 4 illustrates various operations supported by the database system according to the present invention.

【図5】 本発明に従うテンプレートエントリー例を示す図である。FIG. 5 is a diagram showing an example of a template entry according to the present invention.

【図6】 本発明に従う、読取要求又は取出要求のどちらかに反応して特定のエントリー
・データベース内のエントリーを検索する方法の実行を表わす図である。
FIG. 6 illustrates an implementation of a method for searching for an entry in a particular entry database in response to either a read request or a retrieval request in accordance with the present invention.

【図7】 本発明に従うデータベースシステムの一例を表わす機能ブロック図である。FIG. 7 is a functional block diagram illustrating an example of a database system according to the present invention.

【図8】 本発明に従う、通知要求を処理する検索方法原理の実行を図解するフロー図で
ある。
FIG. 8 is a flow diagram illustrating the execution of a search method principle for processing a notification request according to the present invention.

【図9A】 本発明に従う、インデックス生成方法原理の実行を図解する図である。FIG. 9A illustrates the execution of the principle of an index generation method according to the present invention.

【図9B】 本発明に従う、インデックス生成方法原理の実行を図解する図である。FIG. 9B illustrates the execution of the principles of the index generation method according to the present invention.

【図10】 マルチ・エントリーを表わす図であり、各マルチ・エントリーは、エントリー
を含有するフィールドを含む。
FIG. 10 is a diagram illustrating multiple entries, where each multiple entry includes a field containing the entry.

【図11】 本発明に従うデータベースシステムによってサポートされる種
々のマルチ・エントリー操作を示す図である。
FIG. 11 illustrates various multi-entry operations supported by the database system according to the present invention.

【図12】 本発明に従うマルチ・テンプレート例を示す図である。FIG. 12 shows an example of a multi-template according to the present invention.

【図13】 本発明に従うマルチ・エントリーのためのデータベース検索方
法を図示するフローチャートである。
FIG. 13 is a flowchart illustrating a database search method for multi-entry according to the present invention.

【図14】 本発明に従うマルチ・エントリー検索例に関連するデータベー
スシステムの一例を表わす相関図である。
FIG. 14 is a correlation diagram showing an example of a database system related to a multi-entry search example according to the present invention.

【図15】 マルチ・エントリーに関する通知要求を処理するための検索方
法原理に関する本発明による実行を図解するフローチャートである。
FIG. 15 is a flow chart illustrating an implementation according to the invention of a search method principle for processing a notification request for a multi-entry.

【図16】 本発明に従うデータベースの内部でエントリー及びマルチ・エ
ントリーを変更する種々の操作を表わす図である。
FIG. 16 illustrates various operations for changing entries and multi-entries within a database according to the present invention.

【図17】 本発明に従うシングル・エントリー変更操作の工程を示すフロ
ーチャートである。
FIG. 17 is a flowchart showing the steps of a single entry change operation according to the present invention.

【図18】 本発明に従うマルチ・エントリー追加操作の工程を示すフロー
チャートである。
FIG. 18 is a flowchart showing steps of a multi-entry adding operation according to the present invention.

【図19】 本発明に従うマルチ・エントリー変更/削除操作の工程を示す
フローチャートである。
FIG. 19 is a flowchart showing the steps of a multi-entry change / delete operation according to the present invention.

【図20】 本発明に従う内部での変更操作に用いられる通知操作の工程を
示すフローチャートである。
FIG. 20 is a flowchart showing steps of a notification operation used for an internal change operation according to the present invention.

【符号の説明】[Explanation of symbols]

100 分散型システム 310,312,314,316 オブジェクト 704 データベースマネージャ 706 テンプレート 708 検索マネージャ 710 エントリーデータベース 720 インデックス 1010,1012,1014,1016 エントリー 1200 マルチテンプレート 1202 テンプレート 100 Distributed System 310, 312, 314, 316 Object 704 Database Manager 706 Template 708 Search Manager 710 Entry Database 720 Index 1010, 1012, 1014, 1016 Entry 1200 Multi Template 1202 Template

───────────────────────────────────────────────────── フロントページの続き (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 PQ40 QP10 QS20 5B082 BA09 GA08 GA14 ──────────────────────────────────────────────────続 き Continuation of front page (81) Designated country EP (AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, IT, LU, MC, NL, PT, SE ), OA (BF, BJ, CF, CG, CI, CM, GA, GN, GW, ML, MR, NE, SN, TD, TG), AP (GH, GM, KE, LS, MW, SD, SL, SZ, UG, ZW), EA (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, GH, GM, HR, HU, ID, IL, IN, IS, JP , KE, KG, KP, KR, KZ, LC, LK, LR, LS, LT, LU, LV, MD, MG, MK, MN, MW, MX, NO, NZ, PL, PT, RO, RU, SD, SE, SG, SI, SK, SL, TJ, TM, TR, TT, UA, UG, UZ, VN, YU, ZW (71) Applicant 2550 Garcia Avenue, MS PAL1-521, Mountain View, California 94043-1100, United States of America (72) Inventor Arnold Kenneth C. Earl Sea United States, 02173 Massachusetts, Lexington, Moon Hill Road 7 (72) Inventor Wald James H. United States, 01826 Massachusetts, Dorcut , Ruby Road 155 F Term (Reference) 5B075 KK07 KK13 KK33 KK40 ND20 ND23 ND34 NK46 NR02 NR12 PP10 PP12 PP30 PQ05 PQ40 QP10 QS20 5B082 BA09 GA08 GA14

Claims (40)

【特許請求の範囲】[Claims] 【請求項1】 データベースにおけるエントリーの変更方法であって、該
データベースは、クラス型を構成するとともに複数の型付けされたフィ−ルドを
含むエントリーを複数記憶し、前記方法は、 同じ型の第1のテンプレートと第2のテンプレートとを含む要求を供給する工
程と、 前記第1のテンプレートに適合するデータベース中のエントリーの位置を検索
する工程と、 前記第2のテンプレートのフィールドに従って、データベースの内部で前記適
合エントリーのフィールドを変更する工程と を含有することを特徴とする。
1. A method for modifying entries in a database, the database storing a plurality of entries comprising a class type and including a plurality of typed fields, the method comprising the steps of: Providing a request that includes the template of the first template and a second template; searching for the location of an entry in the database that matches the first template; and within the database according to the fields of the second template. Changing the fields of the matching entry.
【請求項2】 前記変更する工程は、前記第2のテンプレート中の非ヌル
・フィールドに対応する適合エントリーの各フィールドを前記第2のテンプレー
ト中の非ヌル・フィールドの値に置き換える工程を含むことを特徴とする請求項
1に記載の方法。
2. The method of claim 1, wherein the changing comprises replacing each field of a matching entry corresponding to a non-null field in the second template with a value of a non-null field in the second template. The method of claim 1, wherein:
【請求項3】 更に、前記第1のテンプレートに適合するデータベース中
の全てのエントリーが変更されるまで、前記位置検索工程及び前記変更工程を繰
り返す工程を含むことを特徴とする請求項1に記載の方法。
3. The method according to claim 1, further comprising the step of repeating the position search step and the change step until all entries in the database conforming to the first template are changed. the method of.
【請求項4】 更に、データベース中の変更されたエントリーの個数を表
わす数を返す工程を含むことを特徴とする請求項3に記載の方法。
4. The method of claim 3, further comprising returning a number representing a number of changed entries in the database.
【請求項5】 データベースにおける項目の変更方法であって、該データ
ベースは複数の項目を記憶し、各項目は複数の型付けされたエントリーを含み、
前記方法は、 第1のマルチ・テンプレートと第2のマルチ・テンプレートとを含む要求を供
給する工程を含み、前記第1のマルチ・テンプレートのテンプレートは、前記第
2のマルチ・テンプレートのテンプレートの個数及び型に適合し、 前記方法は、更に、 前記第1のマルチ・テンプレートに適合するデータベース中の項目の位置を検
索する工程と、 要求で受取られた前記第2のマルチ・テンプレートのテンプレートに従って、
データベースの内部で前記適合項目のエントリーを変更する工程と を含有することを特徴とする。
5. A method of modifying an item in a database, the database storing a plurality of items, each item including a plurality of typed entries,
The method includes providing a request that includes a first multi-template and a second multi-template, wherein the first multi-template has a number of templates of the second multi-template. And the type, the method further comprises: retrieving a location of an item in a database that matches the first multi-template; and according to the template of the second multi-template received in the request.
Changing the entry of the matching item within the database.
【請求項6】 前記変更する工程は、前記第2のマルチ・テンプレート中
の非ヌル・テンプレートに対応する前記適合項目内の各エントリーを、前記第2
のマルチ・テンプレート中の非ヌル・テンプレートに従って変更する工程を含む
ことを特徴とする請求項5に記載の方法。
6. The method according to claim 1, wherein the changing step includes: replacing each entry in the matching item corresponding to the non-null template in the second multi-template with the second item.
6. The method according to claim 5, comprising modifying according to a non-null template in the multi-templates of.
【請求項7】 前記変更する工程は、前記第2のマルチ・テンプレート中
のヌル・テンプレートに対応する各エントリーを前記適合項目から削除する工程
を含むことを特徴とする請求項5に記載の方法。
7. The method of claim 5, wherein the step of modifying includes removing each entry corresponding to a null template in the second multi-template from the matching item. .
【請求項8】 更に、前記第1のマルチ・テンプレートに適合するデータ
ベース中の全ての項目が変更されるまで、前記位置検索工程及び前記変更工程を
繰り返す工程を含むことを特徴とする請求項5に記載の方法。
8. The method according to claim 5, further comprising the step of repeating the position search step and the change step until all items in the database conforming to the first multi-template are changed. The method described in.
【請求項9】 更に、データベース中の変更された項目の個数を表わす数
値を返す工程を含むことを特徴とする請求項8に記載の方法。
9. The method of claim 8, further comprising the step of returning a numerical value representing the number of changed items in the database.
【請求項10】 データベースの内部で項目にエントリーを追加する方法
であって、該データベースは複数の項目を記憶し、各項目は複数の型付けされた
エントリーを含み、前記方法は、 マルチ・テンプレートと項目とを含む要求を供給する工程と、 前記マルチ・テンプレートに適合するデータベース中の項目の位置を検索する
工程と、 前記要求で受取られた項目のエントリーをデータベース中の前記適合項目に追
加する工程と を含有することを特徴とする。
10. A method of adding an entry to an item within a database, the database storing a plurality of items, each item including a plurality of typed entries, the method comprising: Providing a request that includes an item; retrieving the location of the item in the database that matches the multi-template; and adding an entry for the item received in the request to the matching item in the database. And is characterized by containing.
【請求項11】 更に、前記マルチ・テンプレートに適合するデータベー
ス中の全ての項目が変更されるまで、前記位置検索工程及び前記追加工程を繰り
返す工程を含むことを特徴とする請求項10に記載の方法。
11. The method according to claim 10, further comprising the step of repeating the position searching step and the adding step until all items in the database conforming to the multi-template are changed. Method.
【請求項12】 更に、データベース中のエントリーが追加された項目の
個数を表わす数を返す工程を含むことを特徴とする請求項11に記載の方法。
12. The method of claim 11, further comprising the step of returning a number representing the number of items to which entries in the database have been added.
【請求項13】 データベース中のエントリーが変更された場合に、該エ
ントリーとテンプレートとの間の適合状態の変化を通知する方法であって、前記
方法は、 適合状態の変化に関しデータベースを監視することを求める要求であって監視
されるべきエントリーを指定するテンプレートを含むものを受取る工程と、 エントリーが変更された場合に、前記要求に係る前記テンプレートに関して該
エントリーの適合状態が変化したか否かを判定する工程と、 前記判定に基づいて適合状態の変化についての通知を返す工程と を含むことを特徴とする。
13. A method for notifying a change in a match between an entry and a template when an entry in the database changes, the method comprising: monitoring the database for changes in the match. Receiving a request including a template specifying an entry to be monitored, and determining if the conformance of the entry has changed with respect to the template in the request if the entry has been modified. A determining step; and returning a notification of a change in the conforming state based on the determination.
【請求項14】 前記判定工程は、前記エントリーがテンプレートに適合
する状態からテンプレートに適合しない状態に変化したか否かを判定する工程を
含むことを特徴とする請求項13に記載の方法。
14. The method of claim 13, wherein the determining step includes determining whether the entry has changed from a state that conforms to a template to a state that does not conform to a template.
【請求項15】 前記判定工程は、更に、前記エントリーがテンプレート
に適合しない状態からテンプレートに適合する状態に変化したか否かを判定する
工程を含むことを特徴とする請求項14に記載の方法。
15. The method of claim 14, wherein the determining step further comprises determining whether the entry has changed from a state that does not conform to the template to a state that conforms to the template. .
【請求項16】 前記エントリーは項目であり、前記テンプレートはマル
チ・テンプレートであることを特徴とする請求項13に記載の方法。
16. The method according to claim 13, wherein the entry is an item and the template is a multi-template.
【請求項17】 前記受取工程は、前記データベースが監視されるべき時
間の長さを示す登録時間を含む要求を受取る工程を含むことを特徴とする請求項
13に記載の方法。
17. The method of claim 13, wherein said receiving step includes receiving a request including a registration time indicating a length of time that said database is to be monitored.
【請求項18】 複数のエントリーを記憶するデータベースを備えるデー
タ処理装置であって、前記装置は、 同じ型の第1のテンプレートと第2のテンプレートとを含む要求を供給するよ
うに構成された供給部と、 前記第1のテンプレートに適合するデータベース中のエントリーの位置を検索
するように構成された位置検索部と、 前記第2のテンプレートのフィールドに従って、データベースの内部で前記適
合エントリーのフィールドを変更するように構成された変更部と を含有することを特徴とする。
18. A data processing apparatus comprising a database storing a plurality of entries, said apparatus configured to supply a request including a first template and a second template of the same type. A position search unit configured to search for a position of an entry in a database that matches the first template; and changing a field of the match entry within the database according to a field of the second template. And a modification unit configured to perform the following.
【請求項19】 前記変更部は、前記第2のテンプレート中の非ヌル・フ
ィールドに対応する適合エントリーの各フィールドを前記第2のテンプレート中
の非ヌル・フィールドの値に置き換えるように構成された置換部を含むことを特
徴とする請求項18に記載の装置。
19. The change unit is configured to replace each field of a matching entry corresponding to a non-null field in the second template with a value of a non-null field in the second template. 19. The device of claim 18, including a replacement.
【請求項20】 複数の型付けされたエントリーを含む項目を複数記憶す
るデータベースを備えるデータ処理装置であって、前記装置は、 第1のマルチ・テンプレートと第2のマルチ・テンプレートとを含む要求を供
給するように構成された供給部を含み、前記第1のマルチ・テンプレートのテン
プレートは、前記第2のマルチ・テンプレートのテンプレートの個数及び型に適
合し、 前記装置は、更に、 前記第1のマルチ・テンプレートに適合するデータベース中の項目の位置を検
索するように構成された位置検索部と、 要求で受取られた前記第2のマルチ・テンプレートのテンプレートに従って、
データベースの内部で前記適合項目のエントリーを変更するように構成された変
更部と を含有することを特徴とする。
20. A data processing apparatus comprising a database for storing a plurality of items including a plurality of typed entries, wherein the apparatus comprises: a request processing apparatus comprising: a first multi-template; A supply unit configured to supply, wherein the template of the first multi-template is adapted to the number and type of templates of the second multi-template, the apparatus further comprising: A position locator configured to retrieve the position of an item in the database that matches the multi-template, and according to the second multi-template received in the request;
And a change unit configured to change the entry of the matching item in the database.
【請求項21】 前記変更部は、前記第2のマルチ・テンプレート中の非
ヌル・テンプレートに対応する前記適合項目内の各エントリーを前記第2のマル
チ・テンプレート中の非ヌル・テンプレートに変更するように構成された変更部
を含むことを特徴とする請求項20に記載の装置。
21. The changing unit changes each entry in the matching item corresponding to a non-null template in the second multi-template to a non-null template in the second multi-template. 21. The apparatus of claim 20, comprising a change configured as such.
【請求項22】 前記変更部は、前記第2のテンプレート中のヌル・テン
プレートに対応する各エントリーを前記適合項目から削除するように構成された
削除部を含むことを特徴とする請求項20に記載の装置。
22. The method according to claim 20, wherein the changing unit includes a deleting unit configured to delete each entry corresponding to a null template in the second template from the matching items. The described device.
【請求項23】 複数の型付けされたエントリーを含む項目を複数記憶す
るデータベースを備えるデータ処理装置であって、前記装置は、 マルチ・テンプレートと項目とを含む要求を供給するように構成された供給部
と、 前記マルチ・テンプレートに適合するデータベース中の項目の位置を検索する
ように構成された位置検索部と、 前記要求で受取られた項目のエントリーをデータベース中の前記適合項目に追
加するように構成された追加部と を含有することを特徴とする。
23. A data processing device comprising a database storing a plurality of items including a plurality of typed entries, wherein the device is configured to supply a request including a multi-template and an item. A position searching unit configured to search for a position of an item in a database that matches the multi-template; and adding an entry of an item received in the request to the matching item in the database. It is characterized by containing the constituted additional part and.
【請求項24】 複数の型付けされたエントリーを含む項目を複数記憶す
るデータベースを備えるデータ処理装置であって、前記装置は、 エントリーとテンプレートとの間の適合状態の変化に関しデータベースを監視
することを求める要求であって監視されるべきエントリーを指定するテンプレー
トを含むものを受取るように構成された受取部と、 エントリーが変更された場合に、前記要求に係る前記テンプレートに関して該
エントリーの適合状態が変化したか否かを判定するように構成された判定部と、 前記判定に基づいて適合状態の変化についての通知を返すように構成された返
答部と を含むことを特徴とする。
24. A data processing device comprising a database storing a plurality of items including a plurality of typed entries, wherein the device monitors the database for changes in matching between entries and templates. A receiver configured to receive a request that includes a template specifying an entry to be monitored; and if the entry is changed, the conformance status of the entry changes with respect to the template associated with the request. And a response unit configured to return a notification of a change in the adaptation state based on the determination.
【請求項25】 前記判定部は、前記エントリーがテンプレートに適合す
る状態からテンプレートに適合しない状態に変化したか否かを判定するように構
成された判定部を含むことを特徴とする請求項24に記載の装置。
25. The determination unit according to claim 24, wherein the determination unit includes a determination unit configured to determine whether the entry has changed from a state conforming to the template to a state not conforming to the template. An apparatus according to claim 1.
【請求項26】 前記判定部は、前記エントリーがテンプレートに適合し
ない状態からテンプレートに適合する状態に変化したか否かを判定するように構
成された判定部を含むことを特徴とする請求項24に記載の装置。
26. The determination unit according to claim 24, wherein the determination unit includes a determination unit configured to determine whether the entry has changed from a state that does not conform to the template to a state that conforms to the template. An apparatus according to claim 1.
【請求項27】 前記エントリーは項目であり、前記テンプレートはマル
チ・テンプレートであることを特徴とする請求項24に記載の装置。
27. The apparatus according to claim 24, wherein the entry is an item, and the template is a multi-template.
【請求項28】 前記受取部は、前記データベースが監視されるべき時間
の長さを示す登録時間を含む要求を受取るように構成された受取部を含むことを
特徴とする請求項24に記載の装置。
28. The receiver of claim 24, wherein the receiver includes a receiver configured to receive a request including a registration time indicating a length of time that the database is to be monitored. apparatus.
【請求項29】 データベースにおけるデータ処理のためのコンピュータ
可読コードが内部に具現化されているコンピュータ可読媒体を含むコンピュータ
プログラム製品であって、前記処理は、 同じ型の第1のテンプレートと第2のテンプレートとを含む要求を供給する工
程と、 前記第1のテンプレートに適合するデータベース中のエントリーの位置を検索
する工程と、 前記第2のテンプレートのフィールドに従って、データベースの内部で前記適
合エントリーのフィールドを変更する工程と を含有することを特徴とする。
29. A computer program product comprising a computer readable medium having computer readable code for processing data in a database embodied therein, said processing comprising: a first template and a second template of the same type. Providing a request that includes a template; searching for a location of an entry in a database that matches the first template; and setting a field of the matching entry within the database according to the field of the second template. And a step of changing.
【請求項30】 前記変更する工程は、前記第2のテンプレート中の非ヌ
ル・フィールドに対応する適合エントリーの各フィールドを前記第2のテンプレ
ート中の非ヌル・フィールドの値に置き換える工程を含むことを特徴とする請求
項29に記載の製品。
30. The step of modifying includes replacing each field of a matching entry corresponding to a non-null field in the second template with a value of a non-null field in the second template. A product according to claim 29, characterized in that:
【請求項31】 データベースにおけるデータ処理のためのコンピュータ
可読コードが内部に具現化されているコンピュータ可読媒体を含むコンピュータ
プログラム製品であって、前記処理は、 第1のマルチ・テンプレートと第2のマルチ・テンプレートとを含む要求を供
給する工程を含み、前記第1のマルチ・テンプレートのテンプレートは、前記第
2のマルチ・テンプレートのテンプレートの個数及び型に適合し、 前記処理は、更に、 前記第1のマルチ・テンプレートに適合するデータベース中の項目の位置を検
索する工程と、 要求で受取られた前記第2のマルチ・テンプレートのテンプレートに従って、
データベース中の内部で前記適合項目のエントリーを変更する工程と を含有することを特徴とする。
31. A computer program product comprising a computer readable medium having computer readable code for processing data in a database embodied therein, said processing comprising: a first multi template and a second multi template. Providing a request comprising: a template, wherein the template of the first multi-template is adapted to the number and type of templates of the second multi-template, the processing further comprising: Retrieving the position of the item in the database that matches the multi-template of
Changing the entry of the matching item within the database.
【請求項32】 前記変更する工程は、前記第2のマルチ・テンプレート
中の非ヌル・テンプレートに対応する前記適合項目内の各エントリーを、前記第
2のマルチ・テンプレート中の非ヌル・テンプレートに従って変更する工程を含
むことを特徴とする請求項31に記載の製品。
32. The method of claim 31, wherein each of the entries in the matching item corresponding to a non-null template in the second multi-template is performed according to a non-null template in the second multi-template. 32. The product of claim 31, including the step of altering.
【請求項33】 前記変更する工程は、前記第2のテンプレート中のヌル
・テンプレートに対応する各エントリーを前記適合項目から削除する工程を含む
ことを特徴とする請求項31に記載の製品。
33. The product of claim 31, wherein the step of modifying includes removing each entry corresponding to a null template in the second template from the matching items.
【請求項34】 データベースにおけるデータ処理のためのコンピュータ
可読コードが内部に具現化されているコンピュータ可読媒体を含むコンピュータ
プログラム製品であって、前記処理は、 マルチ・テンプレートと項目とを含む要求を供給する工程と、 前記マルチ・テンプレートに適合するデータベース中の項目の位置を検索する
工程と、 前記要求で受取られた項目のエントリーをデータベース中の前記適合項目に追
加する工程と を含有することを特徴とする。
34. A computer program product comprising a computer readable medium having computer readable code for processing data in a database embodied therein, said processing providing a request comprising a multi-template and an item. Searching for the location of an item in the database that matches the multi-template, and adding an entry for the item received in the request to the matching item in the database. And
【請求項35】 データベースにおけるデータ処理のためのコンピュータ
可読コードが内部に具現化されているコンピュータ可読媒体を含むコンピュータ
プログラム製品であって、前記処理は、 エントリーとテンプレートとの間の適合状態の変化に関しデータベースを監視
することを求める要求であって監視されるべきエントリーを指定するテンプレー
トを含むものを受取る工程と、 エントリーが変更された場合に、前記要求に係る前記テンプレートに関して該
エントリーの適合状態が変化したか否かを判定する工程と、 前記判定に基づいて適合状態の変化についての通知を返す工程と を含むことを特徴とする。
35. A computer program product comprising a computer readable medium having computer readable code for processing data in a database embodied therein, said processing comprising: changing a match between an entry and a template. Receiving a request to monitor the database with respect to the template, the template specifying the entry to be monitored; and if the entry has been modified, the conformance status of the entry with respect to the template in the request is changed. A step of determining whether or not the state has changed; and a step of returning a notification of a change in the adaptation state based on the determination.
【請求項36】 前記判定工程は、前記エントリーがテンプレートに適合
する状態からテンプレートに適合しない状態に変化したか否かを判定する工程を
含むことを特徴とする請求項35に記載の製品。
36. The product of claim 35, wherein the determining step includes determining whether the entry has changed from a state that conforms to a template to a state that does not conform to a template.
【請求項37】 前記判定工程は、前記エントリーがテンプレートに適合
しない状態からテンプレートに適合する状態に変化したか否かを判定する工程を
含むことを特徴とする請求項35に記載の製品。
37. The product of claim 35, wherein the determining step includes determining whether the entry has changed from a state that does not conform to a template to a state that conforms to a template.
【請求項38】 前記エントリーは項目であり、前記テンプレートはマル
チ・テンプレートであることを特徴とする請求項35に記載の製品。
38. The product of claim 35, wherein the entry is an item and the template is a multi-template.
【請求項39】 前記受取工程は、前記データベースが監視されるべき時
間の長さを示す登録時間を含む要求を受取る工程を含むことを特徴とする請求項
35に記載の製品。
39. The product of claim 35, wherein the receiving step comprises receiving a request including a registration time indicating a length of time that the database is to be monitored.
【請求項40】 データベースにおけるデータ処理のためのコンピュータ
可読コードが内部に具現化されているコンピュータ可読媒体を含むコンピュータ
プログラム製品であって、前記コンピュータ可読媒体は、 同じ型の第1のテンプレートと第2のテンプレートとを含む要求を供給するた
めの手段と、 前記第1のテンプレートに適合するデータベース中のエントリーの位置を検索
するための手段と、 前記第2のテンプレートのフィールドに従って、データベースの内部で前記適
合エントリーのフィールドを変更するための手段と を含むことを特徴とする。
40. A computer program product comprising a computer readable medium having computer readable code for processing data in a database embodied therein, said computer readable medium comprising a first template and a second template of the same type. Means for providing a request comprising: a second template; means for retrieving a location of an entry in a database matching the first template; and within the database according to fields of the second template. Means for changing a field of the matching entry.
JP2000533837A 1998-02-26 1999-02-25 Method and system for changing inside a database Pending JP2002505483A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US7604898P 1998-02-26 1998-02-26
US60/076,048 1998-02-26
US4483998A 1998-03-20 1998-03-20
US09/044,839 1998-03-20
PCT/US1999/004071 WO1999044156A1 (en) 1998-02-26 1999-02-25 Method and system for in-place modifications in a database

Publications (1)

Publication Number Publication Date
JP2002505483A true JP2002505483A (en) 2002-02-19

Family

ID=26722059

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000533837A Pending JP2002505483A (en) 1998-02-26 1999-02-25 Method and system for changing inside a database

Country Status (6)

Country Link
EP (1) EP1057122A1 (en)
JP (1) JP2002505483A (en)
KR (1) KR20010041082A (en)
CN (1) CN1298524A (en)
AU (1) AU2876999A (en)
WO (1) WO1999044156A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826572B2 (en) 2001-11-13 2004-11-30 Overture Services, Inc. System and method allowing advertisers to manage search listings in a pay for placement search system using grouping
KR100882274B1 (en) * 2007-11-08 2009-02-06 아주대학교산학협력단 Apparatus and method for image retrieval using partial dynamic time warping

Also Published As

Publication number Publication date
AU2876999A (en) 1999-09-15
WO1999044156A1 (en) 1999-09-02
EP1057122A1 (en) 2000-12-06
CN1298524A (en) 2001-06-06
KR20010041082A (en) 2001-05-15

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
US6484181B2 (en) Method and system for handling foreign key update in an object-oriented database environment
US7386532B2 (en) System and method for managing versions
US6026402A (en) Process restriction within file system hierarchies
EP0437159B1 (en) Method for identifying documents having a particular attribute using a vector relational characteristical object
US20030196052A1 (en) Method, system, and program for grouping objects
US20020059327A1 (en) Method and apparatus for generating web pages from templates
EP0986009A2 (en) Extending application behavior through document properties
JPH09507109A (en) Device for facilitating the processing of transactions relating to computer databases
JP2003505766A (en) A database system for observing the effects of changes on indexes for query optimization plans
CA2398148C (en) System and method for managing bi-directional relationships between objects
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 (en) Method and system for type assurance attribute contrast
JP2002505484A (en) Method and system for comparing multiple entries and multiple templates in a database
US6578044B1 (en) Method and system for typesafe attribute matching
US20030200193A1 (en) Fast retrieval of data stored in metadata
US7024434B2 (en) Method and system for modifying schema definitions
JP2002505483A (en) Method and system for changing inside a database
KR20030047996A (en) Method, system and data structures for implementing nested databases
US20030088535A1 (en) Method and apparatus for implementing and maintaining a configuration database
JPH04319744A (en) Management system for partial set of objects in data base
EP0435804A2 (en) A method of expanding user access to a library of shared electronic documents