JP2007066325A - 関係型データベースシステムに統合された、コンテンツに基づく発行および加入システム - Google Patents

関係型データベースシステムに統合された、コンテンツに基づく発行および加入システム Download PDF

Info

Publication number
JP2007066325A
JP2007066325A JP2006292882A JP2006292882A JP2007066325A JP 2007066325 A JP2007066325 A JP 2007066325A JP 2006292882 A JP2006292882 A JP 2006292882A JP 2006292882 A JP2006292882 A JP 2006292882A JP 2007066325 A JP2007066325 A JP 2007066325A
Authority
JP
Japan
Prior art keywords
incoming message
subscription
subscriber
query
array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006292882A
Other languages
English (en)
Other versions
JP4149489B2 (ja
Inventor
Neerja Bhatt
バット,ニールジャ
Dieter Gawlick
ガウリック,ディーター
Ekrem Soylemez
ソイレメズ,エクレム
Rahim Yaseem
ヤシーム,ラヒム
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.)
Oracle International Corp
Original Assignee
Oracle International Corp
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 Oracle International Corp filed Critical Oracle International Corp
Publication of JP2007066325A publication Critical patent/JP2007066325A/ja
Application granted granted Critical
Publication of JP4149489B2 publication Critical patent/JP4149489B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • G06F16/24565Triggers; Constraints
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/954Relational
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access

Abstract

【課題】コンテンツに基づく発行および加入システムを関係型データベースシステムにおいて実現するための方法を提供する。
【解決手段】加入者はデータベースサーバによってサポートされるクエリー言語を用いることによりメッセージに対する要求を行なう。クエリーを次いで加入規則として用い、入来メッセージを加入者に送るべきか否かを判断する。入来メッセージの加入規則に対する評価は2層プロセスを伴う。第1層では、入来メッセージに当てはまる可能性があり得ないすべての加入規則をフィルタ処理により取除く。第2層では、必要な場合には入来メッセージをさらに評価してどの加入者が入来メッセージを受取ることになるか判断する。発行者が関係型データベースシステムそれ自体である場合には、メッセージの発行は非明示であるのでメッセージに対する要求を行なうクエリーは加入規則としては記憶されなくてもよい。
【選択図】図3

Description

この発明は発行および加入システムに関し、より特定的には、コンテンツに基づく発行および加入システムを関係型データベースシステムと統合するための方法および装置に関する。
通信モデルを用いることにより、メッセージを分散型電算環境において複数のノードから受取ったりそれら複数のノードに分散させることの複雑さに対する対処がなされている。広く用いられている通信モデルのある例はアプリケーション間における発行および加入インタラクションシステムである。メッセージまたは情報を発生するエンティティは「発行者」であり、そのようなメッセージに興味を持つエンティティは「加入者」である。この発行および加入モデルは非同期メッセージ伝達能力を伴い、つまり、発行者は加入者を待つ必要はない。たとえば、情報の生産者によって単に情報が複数の通信チャネルにおいて「発行」され、情報の消費者は対象のチャネルに「加入」する。この発行および加入パラダイムは事象駆動型であると言われ、なぜならば、情報の生産者と情報の消費者との間における通信はビジネス事象がきっかけとなるからである。さらに、メッセージの非同期的な性格からして、いずれの入来メッセージも事象である。
一般に、メッセージ伝達システムは規則の集合を用いることにより特定のメッセージが正しい加入者に必ず到達するようにする。規則とは、加入者により所望されるメッセージを記述する条件である。規則エンジンを用いることによりそれらの規則をメッセージに適用する。規則の表現式およびメッセージの構造を支配するさまざまな基準が存在するが、広く用いられている単一の基準はない。広く用いられる基準の欠如の結果、履歴情報(既存の情報)対将来の情報(入来メッセージ)を扱うための、異なるツールの組をもたらすこととなった。異なるツールの組をメッセージ伝達システムにおいて維持することは非効率的である。
上記に基づき、コンテンツに基づく発行および加入システムを、ある環境において、広く用いられる基準を用いて実現し、共通のツールの組を用いて履歴情報および将来の情報を取扱うような方法または機構が求められている。
前述の要求はこの発明によって対処される。この発明は、一つの局面において、コンテンツに基づく発行および加入システムを実現するための方法およびシステムを含む。
この発明の一つの局面に従うと、クエリーにおいて用いられる表現式であって、関係型データベースシステムによりサポートされるクエリー言語で書かれる表現式を、加入者から受取り、それを規則として用いて、入来メッセージをその加入者に送るべきか否かを判断する。入来メッセージがその規則を満足させる場合には、そのメッセージをその加入者に配信する。ある実施例では、入来メッセージを加入者に送るべきか否かを判断するための規則の評価を、2層構造評価法を用いて行なう。この発明の別の局面では、発行者が関係型データベースシステムそのものであるとき、メッセージは加入者に対し非明示で発行される。
実施例に従うと、クエリー言語、たとえば構造化クエリー言語(SQL)などの、十分に確立された基準をコンテンツに基づく発行および加入システムにおいて用いることにより、その発行および加入システムはそのクエリー言語の既存の知識ベースおよびツールセットを利用することが可能となる。
この発明のさらに他の目的および利点は、以下の詳細な記載から、意図される、この発明を実施するベストモードの単なる例示によって容易に明らかとなるであろう。認識されるように、この発明は、すべてそれから逸脱しない、他の異なる実施例が可能であり、そのいくつかの詳細は変形物がさまざまな明らかな面において可能である。したがって、図面および記載は本質的に例示的であると見なされるべきであり、制限的であると見なされるべきではない。
この発明は、同様の参照番号によって同様の要素が示される添付の図面において例示的に示されるものであり、限定的に示されるものではない。
コンテンツに基づく発行および加入システムを関係型データベースシステムにおいて実現するための方法およびシステムを記載する。以下の記載においては、説明という目的から、数多くの具体的な詳細を述べて、この発明が十分に理解されるようにする。しかしながら、当業者には、この発明がこれらの具体的な詳細なしに実施されてもよいことはあきらかであろう。他の例では、周知の構造および装置をブロック図形式で示すことにより、この発明を不必要に不明瞭にすることを避ける。
機能的外観
この発明の一つの実施例に従うと、コンテンツに基づく発行および加入システムは関係型データベースシステムにおいて統合される。コンテンツに基づく発行および加入システムを関係型データベースシステムに統合することにより、コンテンツベースの発行および加入システムは、メッセージを表現するまたはメッセージを要求する際に、標準化された表現式の形式を利用し得る。たとえば、構造化クエリー言語(SQL)は、データを関係型データベースシステムにおいて定義し、それへのアクセスをを制御し、および操作するために用いられる言語であるが、それをANSIおよび国際基準機構(International Standards Organization)によって標準化する。したがって、関係型データベースシステムに統合される、コンテンツに基づく発行および加入システムは、SQLを用いてメッセージを要求しならびにメッセージを発生し得る。
さらに、広く用いられる標準化されたSQLは、履歴情報(既存の情報)および将来の情報(入来メッセージ)を取扱うための共通のツールの組を斟酌する。メッセージは列状にデータテーブルに記憶され、基準SQL文を用いてメッセージプロパティ、メッセージ履歴およびメッセージ内容にアクセスする。たとえば、メッセージは加入者による消費の後保持され得る。データベースシステムは、各メッセージの履歴について、そのメッセージが発行のために待ち行列に入れられた時間、そのメッセージが発行された時間、ならびにその発行者および加入者の識別情報を含む情報を記憶する。たとえば、加入者は「名称=Oracleを伴うすべての株取引値、過去3ヶ月間に発行されたもの」についての履歴情報を要求し得る。
別の利点は、管理者によって、メッセージをデータベースメッセージ行列待ちシステムから検索し得る加入者のリストが特定化され得る、という点である。さらに、そのデータベース行列待ちシステムにおける特定のメッセージをその行列への加入者であるかもしれないしそうではないかもしれない特定の受け手に向け、それによってその加入者リストを無効化し得る。データベースと統合されたメッセージ行列待ちシステムの一例はオラクル
・アドバンスト・キューイング(Oracle Advanced Queuing)である。アドバンスト・キューイングの詳細はOracle Server Concepts, Release 8.0に記載されている。
コンテンツに基づく発行および加入システムを関係型データベースシステムにおいて統合することのさらなる別の利点は、既存のSQL技術、たとえばインデックスなどを用いてメッセージへのアクセスを最適化し得るという点である。さらに、この既存のSQL技術は、メッセージおよび規則の、洗練されたフィルタ処理に対しても用いられ得る。たとえば、ある規則は「Oracleのような株名称を伴う株価格取引値」を特定化し得る。SQLインタプリタは「Oracleのような名称」という句を理解する。別の利点は、すべての標準的なデータベース特徴、たとえば回復および再起動などがサポートされるという点である。
コンテンツに基づく発行および加入システムを関係型データベースシステムにおいて統合することの、重要な、しかしながら看過されやすい利点は、コンテンツに基づく発行および加入システムはどのような強化からも当該関係型データベースシステムにおいてSQLインタプリタ、任意の関連のデータ型、または行列待ちシステムに対し自動的に恩恵を授けるという点である。
実施例に従うと、加入者はSQL(ANSI/ISO 1992規格、ANSI/ISO 1999規格およびそれら規格への拡張などを含む)を用いて規則をデータベースシステムに提出する。各規則は加入者により所望されるメッセージを記述する。コンテンツに基づく発行および加入システムは関係型データベースシステムに統合されるので、加入者により提出されるいずれのクエリーも規則として認定され得る。クエリーがまず加入者によって提出されると、そのクエリーは実行され得、そのクエリーの結果は加入者に返される。それらクエリー結果は当該規則を満足させる既存のメッセージの集合を構成する。該クエリーは次いで加入規則として記憶され、それに対して入来データが評価され得る。説明のため、SQL言語をサポートする行列状に情報が記憶される関係型データベースに関して例を挙げる。しかしながら、この発明はその特定の実施例に限定されるものではない。たとえば、加入規則は、関係型データベースシステムによってサポートされる任意のデータ型、たとえばeXtensible Markup Language(XML)データ型、SWIFT(基金の電子転送のためのデータフォーマットおよびプロトコルを特定化する世界的銀行間金融電気通信のための団体(Society for Worldwide Interbank Financial Telecommunication))データ型、マルチメディアデータ型、および空間的データ型を用いて書かれてもよい。
規則エンジンを用いることにより、記憶された加入規則を入来メッセージに適用する。入来メッセージが加入規則を満足させる場合、そのメッセージはその加入規則を提出したその特定の加入者に対し発行される。入来メッセージによって満足される加入規則を提出した加入者が複数存在するかもしれないことに注意されたい。そのメッセージはすべてのそのような加入者に対し発行される。
ある実施例に従うと、入来メッセージは、記憶された加入規則に対し、2層構造評価機構を用いて評価される。第1の層は、「高速評価」機構を用いることにより、入来メッセージに対し当てはまる可能性が有り得ない記憶された加入規則をフィルタ処理して除去することを伴う。コンテンツに基づく発行および加入システムは関係型データベースシステムに統合されるので、加入規則をインデックスで記憶して効率のよい方法を斟酌することにより明らかに適用不可な加入規則をフィルタ処理して除去してもよい。この第1の層「高速評価」をさらに以下に説明する。
ある場合では、すべての加入規則が第1の層の評価中にフィルタ処理して除去されるわけではない。フィルタ処理して除去されない加入規則のうち、いくつかの規則は、それら
が入来メッセージに当てはまるか否かを判断するためさらなる評価を必要とするかもしれない。それらの規則に対し実行されるこのさらなる評価は2つの評価型のうちの1つであってもよい。1つのさらなる評価型はここでは単純な継続評価と称される。単純な継続評価が必要とされるかもしれないのは、加入規則において、評価されるべく残っている属性−演算子の対を含むさらなる条件が含まれる場合である。この単純な継続評価についてはさらに後に説明する。他方のさらなる評価型はここでは「完全評価」と称される。完全評価が必要とされるかもしれないのは、たとえば、加入規則において、「高速評価」機構を用いては評価され得ない複雑な条件が含まれる場合である。
一実施例に従うと、この完全評価プロセスは、関係型データベースシステムのSQLインタプリタを用いることによりメッセージを加入規則に対して評価することを伴う。この「完全評価」機構についてはさらに後に説明する。
ある実施例に従うと、メッセージの発行は明示または非明示のいずれでもよい。明示発行は、発行者がメッセージをメッセージ待ち行列に入れてさまざまな加入者に対し発行する場合である。一旦メッセージがメッセージ待ち行列に入れられると、そのメッセージは、記憶された加入規則に対し、上記の2層構造の評価機構を用いて評価される。逆に、非明示発行は、自動発行としても公知であるが、それは、ある情報の先の発行が発行および加入システムにおいて存在しない場合でさえも生ずる。加入者は、情報が関係型データベースに記憶される限りにおいて、その情報に関連する、発行および加入システム上において対応の既存の発行を有さない加入規則を提出してもよい。データベースサーバは発行者の機能を果たす。たとえば、ある会社の在庫情報に興味を持つ加入者がいると仮定する。発行および加入システムにおいてそのような情報の発行が全くないと仮定する。しかしながら、その在庫情報はそのデータベースに記憶されている。加入者のクエリーが実行され、その結果が当人に返される。しかしながら、そのクエリーを、入来メッセージが評価され得る加入規則として記憶する代わりに、トリガを実現することにより、その加入者に対し、当人がそのクエリーを用いて要求した情報の更新版のいずれをも自動的に発行する。かくして、そのデータベースサーバは、在庫情報の発行者となる。自動発行については後により詳細にさらに説明する。
一実施例に従うと、データベース行列待ちシステムにおける特定のメッセージが特定の受け手に対して向けられる。そのようなメッセージは、それらメッセージの受け手が既知であるため、記憶された加入規則に対し評価される必要はない。
高速評価
入来メッセージを加入規則の集合に対して評価することにより、どの加入者がそのメッセージを受取るべきかを判断する。高速評価とは、入来メッセージに当てはまる可能性が有り得ない加入規則のいずれをも高速にフィルタ処理して取除く機構である。入来メッセージに当てはまる可能性が有り得ない加入規則をフィルタ処理して取除くことにより、後に残るのは、その入来メッセージが評価される比較的小さな加入規則の部分集合である。
高速評価句なしでは、各入来メッセージはすべての記憶される加入規則に対する完全評価を経なければならない。入来メッセージのすべての加入規則に対する完全評価は、高速評価に次いでより小さな記憶される加入規則の部分集合に対する「完全評価」が行なわれる場合よりも、計算において、かなりより高価である。
フィルタのアレイ
一実施例では、高速評価メッセージ句処理は「フィルタ」のアレイを用いて実行される。そのアレイの各コラムまたは「ボックス」はあるフィルタからなる。一実施例に従うと、フィルタは、(1)テーブルのコラムを識別する値と、(2)演算子を識別する値とを
含む、属性−演算子の対である。以下の属性−演算子の対は、メッセージテーブルに「名称」および「価格」というコラムが含まれる場合の、あるシステムにおけるフィルタの例である:
「名称=」
「名称>」
「名称<」
「価格=」
「価格>」
「価格<」
属性−演算子の対における属性はメッセージテーブルにおける任意のコラムまたは属性を指す。属性−演算子の対における演算子は関係型演算子を指す。図1はフィルタのアレイ100を示す。フィルタのアレイ100はボックス102、104、…114からなる。各ボックスは属性−演算子の対からなるが、ただしボックス114は除く。ボックス114は識別ボックスとして知られる。この識別ボックスは、フィルタのアレイ100の他のボックスのいずれにも適合しない加入規則のアレイに関連付けられる。この識別ボックスに関連付けられる加入規則のアレイにおける加入規則は、「完全評価」というより低速でより高価なプロセスを必要とする。
各属性−演算子の対に関連付けられる加入規則のアレイ
加入者が加入規則を提出すると、データベースパーサは加入規則を構文解析する。この構文解析は、まず、加入規則を、論理和演算子により合わされるシリーズ表現式に正規化することにより行なわれる。各表現式は、それ自体、論理積演算子により合わされる1つ以上の条件の連なりである。たとえば、加入規則「名称=Oracleおよび価格<60または名称=Hewlett Packard(ヒューレット・パッカード)および価格<95を伴う株の株取引値」は以下のように正規化される:
(名称=OracleAND価格<60を伴う株の株取引値)OR(名称=Hewlett Packard AND価格<95を伴う株の株取引値)。
この上記の加入規則のフォーマットは「論理和正規」形として公知である。各論理和表現式は、上記において括弧内に示されているが、別々の加入規則として取扱われ、「規則のアレイ」に記憶される。各規則のアレイは、上記のフィルタのアレイにおける属性−演算子の対のうちの1つと関連付けられる。
たとえば、加入規則「名称=OracleAND価格<60を伴う株の株取引値」は、属性−演算子の対「名称=」または属性−演算子の対「価格<」のいずれかと関連付けられる規則のアレイに記憶され得る。一実施例に従うと、このような場合において、加入規則が2つ以上の属性−演算子の対と関連付けられ得る場合には、その加入規則は評価するのに最も費用がかからない属性−演算子の対と関連付けられる。上記の場合、属性−演算子の対のいずれかに関連付けられる評価の費用は同じである。しかしながら、加入者が加入規則「名称=OracleAND複雑条件を伴う株の株取引値」を提出し、その複雑条件は完全評価というより高価な計算を必要とする場合を仮定すると、その加入規則「名称=OracleAND複雑条件を伴う株の株取引値」は属性−演算子の対「名称=」に関連付けられる規則のアレイに記憶される。複雑条件とは、たとえば、ユーザにより定義される関数の組合せ、メッセージテーブル自体を超えてデータベース内の他のテーブルにアクセスすることを必要とする条件、およびLIKE比較演算子を用いる条件などであり得る。
図2は、フィルタのアレイ100と、フィルタのアレイ100のボックスに関連付けられる規則のアレイ200とを示す。たとえば、ボックス102は、属性−演算子の対「名称=」からなっており、その「名称=」属性−演算子の対に当てはまる規則のアレイ202に関連付けられる。同様に、ボックス104は識別ボックスとして知られ、それは、識
別ボックス114に当てはまる規則のアレイ214に関連付けられる。
各規則のアレイ内のすべての加入規則がある値を有する。たとえば、図3にフィルタのアレイ300を示す。フィルタのアレイ300の第1のボックスに関連付けられるのは、「名称=」ボックス302に当てはまる規則のアレイ310である。規則のアレイ310内の加入規則の1つは値=「Oracle」を有する。規則のアレイ310内にあり「名称=」ボックス302に当てはまる別の加入規則は値=「IBM」を有する。アレイ内の2つの加入規則の値のみを説明のために示す。各規則のアレイにおける加入規則は、加入規則の「値」に基づくインデックスで整理される。この加入規則のインデックスによる整理は、以下に記載されるように、入来メッセージに対する効率のよい高速評価を考慮するものである。
単純な継続評価
入来メッセージを評価する高速評価機構の結果として単純な継続評価がもたらされるかもしれない。たとえば、すべての加入規則が高速評価プロセス中において入来メッセージに関してフィルタ処理されて取除かれるのではない場合、その入来メッセージは、さらに、単純な継続評価を用いて評価されるかもしれない。単純な継続評価を説明するため、加入規則のうち高速評価機構によってフィルタ処理されて除去されなかった加入規則が、図2の属性−演算子の対「名称=」からなるボックス102に関連付けられる規則のアレイ202からの加入規則Xであったと仮定する。さらに、この規則Xは論理積演算子によって合わされる1つ以上の条件を含むと仮定する。たとえば、規則Xは「名称=OracleAND価格<60を伴う株取引値」のようであるかもしれない。規則Xがフィルタ処理により除去されなかったのは、入来メッセージによって規則Xの「名称=Oracle」部分が満たされたからである。しかしながら、さらなる評価を行なって、その入来メッセージが規則Xの残りの部分つまり「価格<60」を満たすかどうかを判断する必要がある。このさらなる評価はこの例においては単純な継続評価であると言え、なぜならば、「価格<60」は属性−演算子の対に関与ししたがって高速かつ安価に評価され得るからである。単純な継続評価中、入来メッセージによって「価格<60」が満たされるか否かが判断される。入来メッセージによって「価格<60」が満たされる場合、その入来メッセージは加入規則Xを提出した加入者に対し発行される。そうでない場合には、規則Xは、この特定の入来メッセージに関し、さらなる考慮の対象から外される。
完全評価
入来メッセージを評価する高速評価機構はすべての複雑な加入規則をフィルタ処理して取除くというわけではないかも知れず、したがって、完全評価が後に続かなければならないかもしれない。複雑な加入規則の例を以下に示す:
「Oracle Parkway 5000の位置から5マイル半径内のインディアンレストラン」
「赤紫色の花模様のデザインで価格=$50のドレス」
「名称=Oracleを伴いその敷地内にインディアンレストランがある会社」
上記の例において「〜から5マイル半径内」、「赤紫色の花模様のデザインで」および「その敷地内にインディアンレストランがある」という句は解釈するためにSQLエンジンを必要とする複雑な条件であると考えられる。入来メッセージの高速評価中に、フィルタ処理により除去されず、解釈のためにSQLエンジンを必要とする複雑な条件を含む1つ以上の加入規則がある場合には、入来メッセージを完全評価にかけることによりそれがそれらの規則を満たすか否かを判断しなければならない。説明のため、加入規則のうち高速評価機構によるフィルタ処理により取除かれなかった加入規則が、図2の属性−演算子の対「名称=」からなるボックス102に関連付けられる規則のアレイ202からの加入規則Yであったと仮定する。さらに、この規則Yは論理積演算子により合わされる1つ以上の条件を含むと仮定する。たとえば、規則Yは「名称=OracleAND複雑な条件pを伴う株取引値」のようであるかもしれない。規則Yがフィルタ処理により除去されなかった
のは入来メッセージによって規則Yの「名称=Oracle」部分が満たされたからである。しかしながら、さらなる評価を行なって、その入来メッセージが規則Yの残りの部分つまり「複雑な条件p」を満たすかどうかを判断する必要がある。このさらなる評価はこの例ではSQLインタプリタを用いる満開評価を必要とし、「完全評価」として知られている。完全評価は高速評価または単純な継続評価のいずれよりも計算面でより高価である。
入来メッセージによって「複雑な条件p」が満たされる場合には、その入来メッセージは規則Yを提出した加入者に対し発行される。そうでない場合には、規則Yはこの特定の入来メッセージに関しさらなる考慮の対象から外される。
識別ボックス114に関連付けられる規則のアレイ214に記憶される加入規則に関しては、入来メッセージは完全評価を用いて評価される。規則のアレイ214に記憶される加入規則はフィルタのアレイの他のボックスには適合しないことを想起されたい。
メッセージを評価する
入来メッセージをまず第1の層の高速評価機構を用いて評価することにより、その入来メッセージによっては満足され得ない加入規則をすべて高速にフィルタ処理して取除く。この第1の層の評価により、入来するメッセージを、フィルタのアレイ内の所与のボックスに関連付けられる各加入規則に対して評価する結果、以下の4つの状態のうちの1つがもたらされる。
状態1:加入規則は満足されず、したがってその加入規則はさらなる評価からは外される。
状態2:加入規則は満足されるかもしれないが、単純な継続評価が必要である。
状態3:加入規則は満足されるかもしれないが、第2層の「完全評価」が必要である。
状態4:加入規則は完全に満足され、したがって、その特定の加入規則を提出した加入者に対するメッセージの発行に向けて、その加入規則に印を付ける。
フィルタのアレイ内の特定のボックスに関連付けられる規則のアレイ内の加入規則が非常に少数存在する場合には、入来メッセージは規則のアレイ内の各加入規則に対して評価される。しかしながら、規則のアレイ内に所定の数を超える加入規則が存在する場合には、それら加入規則は加入規則の値に基づいてインデックス付けされる。このインデックスを検索することにより、以下により詳細に説明されるように、入来メッセージの値に一致する値を伴う加入規則のみが選択されることになる。入来メッセージが特定のボックスに関連付けられる規則のアレイ内の関連性がある最後の加入規則に対して評価されると、評価はフィルタのアレイ内の次のボックスに進んでいく。
図3は、ボックス302、304、306、…、308からなるフィルタのアレイ300を示す。各ボックスは、その特定のボックスに当てはまる規則のアレイと関連付けられる。ボックス302は規則のアレイ310と関連付けられる。ボックス304は規則のアレイ316と関連付けられる。ボックス306は規則のアレイ322と関連付けられ、ボックス308は規則のアレイ328と関連付けられる。説明のため、以下のように仮定する。
規則のアレイ310は加入規則Aおよび加入規則Bのみを含む。
加入規則A:「名称=OracleAND価格=60を伴う株」。
加入規則Aは値=Oracleを有する。
加入規則B:「名称=IBMAND複雑な条件Aを伴う株」。
加入規則Bは値=IBMを有する。
規則のアレイ316は加入規則Cおよび加入規則Dのみを含む。
加入規則C:「価格=60AND名称>Intuitを伴う株」。
加入規則Cは値=60を有する。
加入規則D:「価格=75AND複雑な条件Bを伴う株」。
加入規則Dは値=75を有する。
規則のアレイ322は加入規則Eおよび加入規則Fのみを含む。
加入規則E:「P/E>0.5を伴う株」。
加入規則Eは値=0.5を有する。
加入規則F:「P/E>0.7AND名称<Microsoftを伴う株」。
加入規則Fは値=0.7を有する。
規則のアレイ328は加入規則Gのみを含む。
加入規則G:「複雑な条件Eを伴う株」。
入来メッセージ♯1:「株名称=OracleAND価格=60ANDP/E>0.5。」
入来メッセージ♯2:「株名称=IBMAND価格=75ANDP/E>0.7AND複雑な条件E。」
入来メッセージ♯1の評価について図3を参照して説明する。入来メッセージ♯1は、上に規定されるとおりでは、まず高速評価機構を用いて評価される。まず、加入規則のうちどれかがメッセージ♯1に当てはまるかどうかは判断されず、したがって、メッセージ♯1に関し、加入規則のすべてがまず「おそらくは満たされる規則」の集合に属する。
「名称=」ボックス302に関し、入来メッセージ♯1を規則のアレイ310内の加入規則に対し評価する。我々は、規則のアレイ310は加入規則Aおよび加入規則Bのみを含むと仮定した。入来メッセージ♯1を、値=「Oracle」を有する加入規則Aに対して評価する。メッセージ♯1の加入規則Aに対する評価の結果は、上に定義されるように、状態2である。状態2という結果を有するということは、入来メッセージ♯1は加入規則Aに対する単純な継続評価を経て入来メッセージ♯1が完全に加入規則Aを満たすか否かを判断しなければならないことを意味する。
一実施例に従うと、さらなる評価が行なわれるのは、入来メッセージ♯1がフィルタのアレイ300の各ボックスに関連付けられるすべての加入規則に対し評価された後である。このメッセージ♯1の加入規則Aに対するさらなる評価は単純な継続評価であると言え、なぜならば、入来メッセージ♯1は加入規則Aの残りの部分に対して評価されなければならず、それは「AND価格=60」だからである。「AND価格=60」は単純な属性−演算子の対に関与し、したがって高速かつ安価に評価され得る。
次に、入来メッセージ♯1を加入規則Bに対して評価するが、これは値=「IBM」を有する。明らかに、入来メッセージ♯1の名称=「Oracle」は加入規則Bを満足させない。したがって、評価の結果は状態1であり、それは、加入規則Bは入来メッセージ♯1に対し満足される可能性のある規則の集合からは外されることを意味する。一旦加入規則Bが満足される可能性のある規則の集合から外されると、その規則は、入来メッセージ♯1に関する限り、さらなる考慮の対象から外される。
一実施例に従うと、所定数を超える加入規則が規則のアレイ310に存在する場合、それら加入規則は加入規則の値に基づいてインデックス付けされるであろう。このインデックスを検索することにより、入来メッセージ♯1に対し満足される可能性のある規則の集合に含まれるべき値=「Oracle」を伴う加入規則のみが選択されるであろう。入来メッセージ♯1は規則のアレイ310内の加入規則のすべてに対して評価されているので、入来メッセージ♯1は、次に、「価格=」ボックス304に関連付けられる規則のアレイ316内の加入規則に関して評価される。
規則のアレイ316に多数の加入規則が含まれる場合、それら加入規則は加入規則の値に基づいてインデックス付けされるであろう。このインデックスを次いで検索することにより、値=「60」を伴う加入規則のみを選択する。例においては、規則のアレイ316は加入規則Cおよび加入規則Dのみを含む。入来メッセージ♯1の加入規則Cに対する評価の結果は、上に定義されるように、状態2である。状態2という結果を有するということは、入来メッセージ♯1は加入規則Cに対する単純な継続評価を経て入来メッセージ♯1が加入規則Cを十分に満たすかどうかを判断しなければならないことを意味する。他方、加入規則Dは値=「75」を有し、したがって、入来メッセージ♯1に対し満たされる可能性のある規則の集合からは除去される。
入来メッセージ♯1は、次に、「P/E>」ボックス306に関連付けられる規則のアレイ322内の加入規則に関して評価される。規則のアレイ322内の加入規則が加入規則の値に基づいてインデックス付けされる場合、値=「0.5」を有する加入規則のみが選択されて、入来メッセージ♯1に対し満たされる可能性のある規則の集合に含まれるであろう。加入規則Fは値=「0.7」を有し、したがって、満たされる可能性のある規則の集合からは外される。入来メッセージ♯1の加入規則Eに対する評価の結果は状態4である。状態4の結果を有するということは、入来メッセージ♯1は加入規則Eを完全に満たし、さらなる評価は入来メッセージ♯1および加入規則Eに関しては全く必要ないことを意味する。加入規則Eは、加入規則Cを提出した加入者に対する入来メッセージ♯1の発行に向けて印を付けられる。
かくして、入来メッセージ♯1は、フィルタのアレイ300内の残りの数のボックスの各々に関連付けられるすべての加入規則に対して評価される。識別ボックス308に関しては、加入規則Gが、識別ボックス308に関連付けられる規則のアレイ328内の唯一の加入規則である。定義では、識別ボックスに関連付けられるすべての加入規則は第2の層の完全評価を必要とする。かくして、入来メッセージ♯1は、加入規則Gに関し、完全評価のプロセスを経なければならない。
第1層の高速評価における特徴をさらに説明するため、入来メッセージ♯2を上記のプロセスを用いて評価する。規則のアレイ310における加入規則が加入規則の値に基づいてインデックス付けされる場合、値=「IBM」を有する加入規則のみが選択されて、入来メッセージ♯1に対し満たされる可能性のある規則の集合に含まれるであろう。規則のアレイ310内の加入規則に関しては、加入規則Aは値=「Oracle」を有し、したがって、入来メッセージ♯2に対し満たされる可能性のある規則の集合からは取除かれる。入来メッセージ♯2を加入規則Bに対して評価すると、その結果は状態3である。状態3の結果を有するということは、入来メッセージ♯2は加入規則Bの一部を満たし、入来メッセージ♯2が加入規則Bを提出した加入者に対して発行されるべきか否かが判断され得る前に第2の層の完全評価を必要とすることを意味する。
規則のアレイ316における加入規則に関しては、加入規則Cは値=「60」を有し、したがって、入来メッセージ♯2に対し満たされる可能性のある規則の集合からは除かれ
る。入来メッセージ♯2を加入規則Dに対して評価すると、その結果は状態3である。状態3の結果を有するということは、入来メッセージ♯2は加入規則Dの一部を満たし、入来メッセージ♯2が加入規則Dを提出した加入者に対して発行されるべきか否かが判断され得る前に第2の層の完全評価を必要することを意味する。
規則のアレイ322における加入規則に関しては、加入規則Eは値=「0.5」を有し、したがって、入来メッセージ♯2に対し満たされる可能性のある規則の集合からは除かれる。入来メッセージ♯2を加入規則Fに対して評価すると、その結果は状態2である。状態2の結果を有するということは、入来メッセージ♯2は加入規則Fに対する単純な継続評価を経て入来メッセージ♯2が十分に加入規則Fを満たすか否かを判断しなければならないこと意味する。
最後に、規則のアレイ328内の加入規則に関しては、入来メッセージ♯2は完全評価のプロセスを加入規則Gに関して経なければならず、なぜならば、加入規則Gは識別ボックス308に関連付けられるからである。
自動発行
自動発行または非明示発行が生ずるのは、関係型データベースシステム内に記憶される情報に既知の関心がある場合である。関心があるエンティティによって、そのような情報に関連付けられる加入規則が提出されるかもしれず、データベースサーバはそのような情報の発行者となる。これは可能であるのは、コンテンツに基づく発行−加入システムの実施例が関係型データベースシステムにしっかりと統合されるからである。かくして、自動発行が生ずるのは加入者がメッセージに対する要求をSQLを用いて提出する(クエリーを提出する)ときであり、そのメッセージにはデータベースサーバによって維持されるデータテーブルに記憶される情報が含まれる。メッセージに対するこの加入者の要求はデータベースサーバによる発行を引起す。たとえば、加入者のクエリーが実行され、そのクエリーの結果がその加入者に返される。しかしながら、クエリーを、入来メッセージが評価され得る加入規則として記憶する代わりに、トリガを実現することにより、加入者に対し、当人がそのクエリーを用いて要求した情報のいずれの更新版も自動的に発行する。
一実施例に従うと、このトリガは、データベースに記憶され、一人以上の加入者が関心を持つ情報を含むデータテーブルに関連付けられるコンピュータプログラムとして実現される。このトリガが活性化または放たれるのはUPDATE(更新)動作がそのデータテーブルに対し要求されるときである。このトリガは3つの部分、つまり、トリガを行なう文、トリガ制限およびトリガ動作を含む。
説明のため、この関係型データベースは小売店アクミ(Retail Acme)に対する現在の在庫情報をデータテーブルAcme_Inventoryに維持すると仮定する。Acme_Inventoryの各行はある特定のタイプの製品に関する情報を含んでいる。さらに、加入者Aは小売店アクミのすべての製品の在庫に関心があり、クエリーを提出して各タイプの製品の手元のストックがある特定の量未満(低い在庫状態)であるかどうかをチェックする。加入者Aはどの製品タイプでも手元のストックが特定の量未満であれば知らせてもらうことを望んでいる。加入者Aのクエリーを実行し、そのクエリーの結果を当人に返す。次に、加入者Aのクエリーに応答して、トリガを実現することにより、データテーブルを、低い在庫状態に関し、該データテーブルの行が更新されるごとに自動的にチェックし、低い在庫状態があればそれを加入者Aに自動的に発行する。かくして、トリガを行なう文はこの例にいおてはデータテーブルAcme_InventoryにおけるUPDATE要求である。
たとえば、ある消費者が小売店アクミからフーバール(foobarl)タイプの製品(widget)を買うと、データテーブルAcme_Inventoryのフーバール製品(foobarl widgets)に
関する在庫情報を含む行が更新されて、減少した数のフーバール製品を反映する。トリガはこの更新に応答して放たれる。かくして、トリガを行なう文は“…UPDATE of number_of_widgets_on_hand ON Acme_Inventory…(…アクミ在庫における手元の製品数の更新…)”のようであるかもしれず、それが意味するところは、Acme_Inventoryデータテーブル内のある行のNUMBER_OF_WIDGETS_ON_HAND(手元の製品数)列が更新されたらトリガを放て、である。
トリガ制限は、トリガが放たれるようTRUE(真)にならなければならない論理式を特定する。上記の例では、トリガ制限は“number_of_widgets_on_hand<reorder_quantity”(手元の製品数<再注文量)のようであるかもしれない。
トリガ動作は、トリガを行なう文が出されトリガ制限がTRUEになると実行されるべきコンピュータコードである。上記の例では、トリガ動作は、低い在庫状態に関するメッセージを加入者Aに発行することになるだろう。かくして、トリガ動作の実行は、トリガを行なう文“…UPDATE of number_of_widgets_on_hand ON Acme_Inventory…”が出されトリガ制限“number_of_widgets_on_hand<reorder_quantity”がTRUEになるゆえに行なわれる。
メッセージ配信
実施例では、入来メッセージが加入者に配信される前に、その加入者に入来メッセージを2回以上受信する資格があるか否かが判断される。加入者に所与の入来メッセージを2回以上受信する資格が実際にあると判断される場合には、その入来メッセージはその加入者に一度だけ配信される。
実施例では、メッセージを受信する資格を与えられている加入者に配信されるメッセージは、入来メッセージのみならず、以前に発行されておりデータベースに記憶されたメッセージも含む。たとえば、加入者によって加入規則「Oracleの雇用機会に関する新たな告示およびそれと並んで過去3ヵ月間における告示」が提出されたとする。入来メッセージ、およびそれと並んで、関係型データベースに記憶されたものであり、その加入規則を満足させる、以前に発行されたメッセージの両方が、その加入者に配信される。関係型データベースに記憶されているので、以前に発行されたメッセージは、データベースサーバにより用いられる既存のデータ検索法を用いて、新たな加入者に対する発行に向けて検索され得る。
この発明のある実施例では、加入者は、配信機構、メッセージの宛先および通知プロトコルを、そのメッセージを要求する当人のクエリーの一部として特定してもよい。たとえば、加入者は、そのクエリーにおいて、自分はメッセージをeメールによって受信することを望む旨を指定してもよい。加入者は、次いで、そのメッセージを受取るeメールアドレスを指定し得る。代替的に、加入者は、そのクエリーにおいて、自分は自分のメッセージが遠隔のデータベースにデータベースリンクを介して配信されることを望む旨を指定してもよい。一実施例では、このデータベースはSQLを用いて設けられ得、それはその遠隔のデータベースに接続するために用いられるデータベースの名称、経路、ログオン・アカウント、およびプロトコルを定義する。加えて、加入者は、どのように高速にメッセージが自分に配信されたいかを指定してもよい。たとえば、ファーストクラスプロトコル通知ならば、メッセージの加入者に対する配信はそのメッセージの創出から0.5秒以内に確実に行なわれるであろう。
この発明の一実施例では、メッセージの配信は、ある宛先への別途の通知に対する選択肢を含み、その通知は、メッセージが加入規則によって指定された別の宛先に配信中である旨を知らせる。たとえば、ある医師がジョン・ドウのX線写真を得るためにある加入規
則を送り込むとする。この医師の加入規則はそれらX線写真が当人のオフィスのコンピュータに電子配信されるべきである旨を指定し、さらに、それらX線写真がその医師のオフィスのコンピュータに向かっているときに当人に小型無線呼出機(短いメッセージを受信し、典型的にはビープ音を出すことによりそれを持っている人を呼出す小型の電気通信装置)を介して知らせるべきである旨を指定する。
この発明のある実施例では、メッセージは、加入者(規則を提出したエンティティ)には配信されず、メッセージの受け手またはメッセージの宛先は取引の内容から判断される。たとえば、スキンフリント・ユニオン銀行の銀行経営者氏によって、「口座が$500,000以上の残高に達したらすぐにその口座の所有者に対して銀行から無料のトースターが贈呈される旨をその口座所有者に通知する」旨を指定する加入規則が送り込まれたとする。この場合、メッセージは、加入者である銀行経営者氏ではなく、口座所有者に配信されることになる。取引の性質、つまり$500,000を超える口座残高によって、「無料トースター」メッセージの受け手または宛先が決定される。
ハードウェア外観
図4は、この発明のある実施例が実現されてもよいコンピュータシステム400を示すブロック図である。コンピュータシステム400は、情報を通信するためのバス402または他の通信機構と、バス402と結合され情報を処理するためのプロセッサ404とを含む。コンピュータ400は、さらに、バス402に結合され、プロセッサ404によって実行されるべき情報または命令を記憶するためのメインメモリ406、たとえばランダムアクセスメモリ(RAM)または他の動的記憶装置を含む。メインメモリ406は、さらに、プロセッサ404によって実行されるべき命令の実行中に一時的な変数または他の中間情報を記憶するために用いられてもよい。コンピュータシステム400は、さらに、バス402に結合され、プロセッサ404のために静的情報および命令を記憶するためのリードオンリメモリ(ROM)408または他の静的記憶装置を含む。記憶装置410、たとえば磁気ディスクまたは光ディスクなどを設けてバス402に結合し、情報および命令を記憶させる。
コンピュータシステム400はバス402を介してディスプレイ412、たとえば陰極線管(CRT)などに結合されてコンピュータユーザへの情報を表示してもよい。入力装置414はアルファベットおよび他のキーを含んでおり、バス402に結合されて情報およびコマンド選択をプロセッサ404に通信する。他のタイプのユーザ入力装置はカーソルコントロール416、たとえばマウス、トラックボール、またはカーソル方向キーであり、方向情報およびコマンド選択をプロセッサ404に通信し、カーソルの動きをディスプレイ412上において制御する。この入力装置は典型的には2つの自由度を2つの軸、つまり第1の軸(たとえばx)および第2の軸(たとえばy)において有し、それらによって該装置は面内において位置を特定することができる。
この発明は、関係型データベースにおいてコンテンツに基づく発行および加入システムのためのコンピュータシステム400の使用に関連する。この発明の一実施例に従うと、コンテンツに基づく発行および加入システムは、関係型データベースにおいては、コンピュータシステム400によって、メインメモリ406に含まれる1つ以上の命令からなる1つ以上のシーケンスを実行するプロセッサ404に応答して与えられる。そのような命令はメインメモリ406に他のコンピュータ読取可能媒体、たとえば記憶装置410から読込まれてもよい。メインメモリ406に含まれる命令のシーケンスの実行によって、プロセッサ404はここに記載されるプロセスステップを実行する。代替実施例では、ハードワイヤード回路をソフトウェア命令の代わりまたはソフトウェア命令との組合せで用いることによりこの発明を実現してもよい。このように、この発明の実施例はハードウェア回路とソフトウェアとのどのような特定の組合せにも限定されない。
ここに用いられる「コンピュータ読取可能媒体」という語は、実行のためにプロセッサ404に命令を与えることに預かる任意の媒体を指す。そのような媒体は、不揮発性媒体、揮発性媒体および伝送媒体を含む数多くの形式をとってもよいが、それらに限定されるものではない。不揮発性媒体は、たとえば、記憶装置410のような光ディスクまたは磁気ディスクを含む。揮発性媒体はたとえばメインメモリ406などのダイナミックメモリを含む。伝送媒体は、バス402を形成するワイヤを含む、同軸ケーブル、銅線およびファイバ光学素子を含む。伝送媒体は、さらに、無線および赤外線データ通信中に発生するような音波または光波の形式も取り得る。
一般的な形式のコンピュータ読取可能媒体は、たとえば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD−ROM、任意の他の光学媒体、パンチカード、ペーパーテープ、穴のパターンを有する任意の他の物理的媒体、RAM、PROM、EPROM、フラッシュEPROM、任意の他のメモリチップまたはカートリッジ、以下に記載される搬送波、またはコンピュータが読取り得る任意の他の媒体を含む。
さまざまな形式のコンピュータ読取可能媒体が、実行のためにプロセッサ404に1つ以上の命令からなる1つ以上のシーケンスを担持することに関与してもよい。たとえば、それらの命令はまず遠隔のコンピュータの磁気ディスクに担持されてもよい。この遠隔のコンピュータはそれら命令をそのダイナミックメモリにロードしそれら命令を電話回線上をモデムを介して送り得る。コンピュータシステム400にローカルなモデムがその電話回線上のデータを受取り赤外線送信機を用いてそのデータを赤外線信号に変換し得る。赤外線検出器によってその赤外線信号で搬送されるデータが受取られ得、適切な回路によってそのデータはバス402上に置かれ得る。バス402はそのデータをメインメモリ406に運び、そこからプロセッサ404は命令を検索し実行する。メインメモリ406によって受取られたそれらの命令は、選択肢として、記憶装置410に、プロセッサ404による実行の前または後に記憶されてもよい。
コンピュータシステム400は、さらに、バス402に結合される通信インターフェイス418を含む。この通信インターフェイス418は、ローカルネットワーク422に接続されるネットワークリンク420に結合する2方向データ通信を与える。たとえば、通信インターフェイス418は、対応のタイプの電話回線へのデータ通信接続を与えるような統合デジタル通信サービス網(ISDN)カードまたはモデムであってもよい。他の例としては、通信インターフェイス418は、互換性のあるLANへのデータ通信接続を与えるようなローカルエリアネットワーク(LAN)カードであってもよい。さらに、無線リンクを実現してもよい。任意のそのような実現例では、通信インターフェイス418は、さまざまなタイプの情報を表現するデジタルデータストリームを搬送する電気信号、電磁信号または光信号を送受する。
ネットワークリンク420は典型的にはデータ通信を1つ以上のネットワークを介して他のデータ装置に与える。たとえば、ネットワークリンク420は、接続を、ローカルネットワーク422を介して、ホストコンピュータ424に対して、またはインターネットサービスプロバイダ(ISP)426により動作されるデータ装置に対して与える。ISP426は、次いで、データ通信サービスを、現在では「インターネット」428とよく称される世界的なパケットデータ通信ネットワークを介して与える。ローカルネットワーク422およびインターネット428は、両方とも、デジタルデータストリームを搬送する電気信号、電磁信号または光信号を用いる。さまざまなネットワークを介する信号ならびにネットワークリンク420上および通信インターフェイス418を介する信号は、コンピュータシステム400との間でデジタルデータを搬送するものであり、それらは情報
を移送する搬送波の例示的形式である。
コンピュータシステム400は、メッセージの創出およびデータの受信を、プログラムコードを含んで、ネットワーク、ネットワークリンク420および通信インターフェイス418を介して行ない得る。インターネットの例では、サーバ430はある要求されるコードをあるアプリケーションプログラムのためにインターネット428、ISP426、ローカルネットワーク422および通信インターフェイス418を介して送信するかもしれない。この発明に従うと、1つのそのようなダウンロードされるアプリケーションはここに記載されるように関係型データベースにおいてコンテンツに基づく発行および加入システムを可能にする。
受取られたコードは、受取られると、プロセッサ404によって実行されてもよく、および/または記憶装置410もしくは他の不揮発性ストレージおいて後の実行のために記憶されてもよい。この態様において、コンピュータシステム400はアプリケーションコードを搬送波の形式で得てもよい。
前述の明細書において、この発明はその具体的な実施例を参照して記載されてきた。しかしながら、さまざまな修正および変更をこの発明のより広い精神および範囲から逸脱することなくそれに対して行なってもよいことは明らかである。明細書および図面は、したがって、制限的な意味ではなく例示的な意味において理解されるべきである。
フィルタのアレイを示すブロック図である。 フィルタのアレイおよび関連の規則のアレイを示すブロック図である。 規則のアレイおよび継続処理のさらなる詳細を示すブロック図である。 この発明の実施例が実現されてもよいコンピュータシステムを示す図である。
符号の説明
100,300 フィルタのアレイ、200 規則のアレイ。

Claims (28)

  1. コンテンツに基づく発行および加入システムを関係型データベースシステムにおいて実現するための方法であって、
    関係型データベースシステムによりサポートされるクエリー言語で書かれるクエリーを加入者から受信することと、
    入来メッセージを加入者に送るべきか否かを判断するために、クエリーを関係型データベースシステムにおいて加入規則として記憶することと、
    クエリーを関係型データベースシステムにおいて加入規則として記憶した後、関係型データベースシステムは入来メッセージがクエリーを満足させるか否かを判断することと、
    入来メッセージがクエリーを満足させると入来メッセージを加入者に発行することとを含み、入来メッセージを加入者に発行することは、
    入来メッセージを発行者から受取ることと、
    発行者からの入来メッセージの受取で、入来メッセージが加入規則を満足させるか否かを判断することを、フィルタのアレイ内の各コラムに関連付けられる規則のアレイに対して入来メッセージを評価すること、規則のアレイにおけるどの加入規則が入来メッセージに当てはまる可能性があり得るかを判断すること、入来メッセージをその入来メッセージに当てはまる可能性があり得る加入規則に対して評価し、さらなる評価がその入来メッセージに対して必要であるかどうかを判断すること、さらなる評価が必要である場合には、単純な継続評価が必要であるかどうかを判断し、単純な継続評価が必要である場合にはその単純な継続評価を進めること、および完全評価が必要とされるか否かを判断し、完全評価が必要とされる場合にはその完全評価に進むことにより行なうことと、
    入来メッセージをテーブルで関係型データベースシステムに記憶することと、
    入来メッセージが加入規則を満足させる場合には入来メッセージを加入者に発行することとを含み、前記方法はさらに、
    クエリーを満足させる、関係型データベースシステムに記憶されるデータになされる変更に応答して、データを加入者に発行することを含む、方法。
  2. 加入規則において宛先およびプロトコルを入来メッセージを配信するために特定することをさらに含む、請求項1に記載の方法。
  3. トリガを実現することにより、関係型データベースシステムに記憶される特定の情報のどのような更新版も加入者に対し自動的に発行することをさらに含む、請求項1に記載の方法。
  4. 完全評価は、さらに、関係型データベースのクエリー言語エンジンを用いることを含む、請求項1に記載の方法。
  5. 入来メッセージを発行することは、さらに、入来メッセージを、加入者により提出された加入規則により特定される宛先に配信することを含む、請求項1に記載の方法。
  6. 入来メッセージを発行することは、さらに、入来メッセージの通知を、加入者により提出された加入規則において特定される通知宛先に送り、それに加えて、入来メッセージを、加入者によって提出された加入規則により特定されるメッセージ宛先に配信することを含む、請求項1に記載の方法。
  7. 通知宛先はメッセージ宛先とは異なる、請求項1に記載の方法。
  8. 入来メッセージを発行することは、さらに、入来メッセージを、メッセージの発行を結果的にもたらす内容から演繹される宛先に配信することを含む、請求項1に記載の方法。
  9. 入来メッセージを発行することは、さらに、入来メッセージを、加入者により提出された加入規則により特定されるプロトコルを用いて配信することを含む、請求項1に記載の方法。
  10. メッセージを発行することは、さらに、
    加入者に入来メッセージを2回以上受信する資格があるかどうかを判断することと、
    入来メッセージを一度だけ配信することとを含む、請求項1に記載の方法。
  11. 加入者に対しては発行されていない、以前に発行されたメッセージがクエリーを満足させると、該以前に発行されたメッセージを加入者に発行することをさらに含む、請求項1に記載の方法。
  12. コンテンツに基づく発行および加入システムを関係型データベースシステムにおいて実現するための方法であって、
    関係型データベースシステムによりサポートされるクエリー言語で書かれるクエリーを加入者から受信することと、
    入来メッセージを加入者に送るべきか否かを判断するために、クエリーを関係型データベースシステムにおいて加入規則として記憶することとを含み、クエリーを関係型データベースシステムにおいて加入規則として記憶することは、
    1つ以上のコラムを含むフィルタのアレイを創出することと、
    属性−演算子の対を伴ってフィルタのアレイのコラムを初期化することと、
    フィルタのアレイのどのコラムに加入規則が当てはまるかを判断することと、
    加入規則を値に関連付けることと、
    加入規則がフィルタのアレイにおいて当てはまるコラムに関連付けられる規則のアレイに加入規則を記憶することとを含み、前記方法はさらに、
    クエリーを関係型データベースシステムにおいて加入規則として記憶した後、関係型データベースシステムは入来メッセージがクエリーを満足させるか否かを判断することと、
    入来メッセージがクエリーを満足させると入来メッセージを加入者に発行することと、
    クエリーを満足させる、関係型データベースシステムに記憶されるデータになされる変更に応答して、データを加入者に発行することとを含む、方法。
  13. フィルタのアレイにおけるどのコラムに加入規則が当てはまるかを判断することは、さらに、
    加入者からのクエリーに対し構文解析を行なうことと、
    クエリーを一連の表現式に正規化することとを含み、各表現式は論理積演算子により合わされる1つ以上の条件を含み、各表現式は各他の表現式と論理和演算子を用いて組合せられ、さらに、
    各表現式をフィルタのアレイにおける1つのコラムに割当てることと、
    各表現式を、加入規則として、その加入規則がフィルタのアレイにおいて当てはまるコラムに関連付けられる規則のアレイに記憶することとを含む、請求項12に記載の方法。
  14. 加入規則を規則のアレイに記憶することは、さらに、規則のアレイをインデックスで整理することを含む、請求項12に記載の方法。
  15. コンテンツに基づく発行および加入システムを関係型データベースシステムにおいて実現するためのコンピュータ読取可能媒体であって、コンピュータ読取可能媒体は命令を担持し、命令は、1つ以上のプロセッサによって処理されると、
    関係型データベースシステムによりサポートされるクエリー言語で書かれるクエリーを加入者から受信することと、
    入来メッセージを加入者に送るべきか否かを判断するために、クエリーを関係型データベースシステムにおいて加入規則として記憶することと、
    クエリーを関係型データベースシステムにおいて加入規則として記憶した後、関係型データベースシステムは入来メッセージがクエリーを満足させるか否かを判断することと、
    入来メッセージがクエリーを満足させると入来メッセージを加入者に発行することとを引き起こし、入来メッセージを加入者に発行することは、
    入来メッセージを発行者から受取ることと、
    発行者からの入来メッセージの受取で、入来メッセージが加入規則を満足させるか否かを判断することを、フィルタのアレイ内の各コラムに関連付けられる規則のアレイに対して入来メッセージを評価すること、規則のアレイにおけるどの加入規則が入来メッセージに当てはまる可能性があり得るかを判断すること、入来メッセージをその入来メッセージに当てはまる可能性があり得る加入規則に対して評価し、さらなる評価がその入来メッセージに対して必要であるかどうかを判断すること、さらなる評価が必要である場合には、単純な継続評価が必要であるかどうかを判断し、単純な継続評価が必要である場合にはその単純な継続評価を進めること、および完全評価が必要とされるか否かを判断し、完全評価が必要とされる場合にはその完全評価に進むことにより行なうことと、
    入来メッセージをテーブルで関係型データベースシステムに記憶することと、
    入来メッセージが加入規則を満足させる場合には入来メッセージを加入者に発行することとを含み、前記命令はさらに、1つ以上のプロセッサによって処理されると、
    クエリーを満足させる、関係型データベースシステムに記憶されるデータになされる変更に応答して、データを加入者に発行することを引き起こす、コンピュータ読取可能媒体。
  16. 1つ以上のプロセッサによって処理されると、加入規則において宛先およびプロトコルを入来メッセージを配信するために特定することを引き起こすさらなる命令をさらに含む、請求項15に記載のコンピュータ読取可能媒体。
  17. 1つ以上のプロセッサによって処理されると、トリガを実現することにより、関係型データベースシステムに記憶される特定の情報のどのような更新版も加入者に対し自動的に発行することを引き起こすさらなる命令をさらに含む、請求項15に記載のコンピュータ読取可能媒体。
  18. 完全評価は、さらに、関係型データベースのクエリー言語エンジンを用いることを含む、請求項15に記載のコンピュータ読取可能媒体。
  19. 入来メッセージを発行することは、さらに、入来メッセージを、加入者により提出された加入規則により特定される宛先に配信することを含む、請求項15に記載のコンピュータ読取可能媒体。
  20. 入来メッセージを発行することは、さらに、入来メッセージの通知を、加入者により提出された加入規則において特定される通知宛先に送り、それに加えて、入来メッセージを、加入者によって提出された加入規則により特定されるメッセージ宛先に配信することを含む、請求項15に記載のコンピュータ読取可能媒体。
  21. 通知宛先はメッセージ宛先とは異なる、請求項15に記載のコンピュータ読取可能媒体。
  22. 入来メッセージを発行することは、さらに、入来メッセージを、メッセージの発行を結果的にもたらす内容から演繹される宛先に配信することを含む、請求項15に記載のコンピュータ読取可能媒体。。
  23. 入来メッセージを発行することは、さらに、入来メッセージを、加入者により提出された加入規則により特定されるプロトコルを用いて配信することを含む、請求項15に記載のコンピュータ読取可能媒体。
  24. メッセージを発行することは、さらに、
    加入者に入来メッセージを2回以上受信する資格があるかどうかを判断することと、
    入来メッセージを一度だけ配信することとを含む、請求項15に記載のコンピュータ読取可能媒体。
  25. 1つ以上のプロセッサによって処理されると、加入者に対しては発行されていない、以前に発行されたメッセージがクエリーを満足させると、該以前に発行されたメッセージを加入者に発行することを引き起こすさらなる命令をさらに含む、請求項15に記載のコンピュータ読取可能媒体。
  26. コンテンツに基づく発行および加入システムを関係型データベースシステムにおいて実現するためのコンピュータ読取可能媒体であって、コンピュータ読取可能媒体は命令を担持し、命令は、1つ以上のプロセッサによって処理されると、
    関係型データベースシステムによりサポートされるクエリー言語で書かれるクエリーを加入者から受信することと、
    入来メッセージを加入者に送るべきか否かを判断するために、クエリーを関係型データベースシステムにおいて加入規則として記憶することとを引き起こし、クエリーを関係型データベースシステムにおいて加入規則として記憶することは、
    1つ以上のコラムを含むフィルタのアレイを創出することと、
    属性−演算子の対を伴ってフィルタのアレイのコラムを初期化することと、
    フィルタのアレイのどのコラムに加入規則が当てはまるかを判断することと、
    加入規則を値に関連付けることと、
    加入規則がフィルタのアレイにおいて当てはまるコラムに関連付けられる規則のアレイに加入規則を記憶することとを含み、前記命令は、1つ以上のプロセッサによって処理されると、さらに、
    クエリーを関係型データベースシステムにおいて加入規則として記憶した後、関係型データベースシステムは入来メッセージがクエリーを満足させるか否かを判断することと、
    入来メッセージがクエリーを満足させると入来メッセージを加入者に発行することと、
    クエリーを満足させる、関係型データベースシステムに記憶されるデータになされる変更に応答して、データを加入者に発行することと引き起こす、コンピュータ読取可能媒体。
  27. フィルタのアレイにおけるどのコラムに加入規則が当てはまるかを判断することは、さらに、
    加入者からのクエリーに対し構文解析を行なうことと、
    クエリーを一連の表現式に正規化することとを含み、各表現式は論理積演算子により合わされる1つ以上の条件を含み、各表現式は各他の表現式と論理和演算子を用いて組合せられ、さらに、
    各表現式をフィルタのアレイにおける1つのコラムに割当てることと、
    各表現式を、加入規則として、その加入規則がフィルタのアレイにおいて当てはまるコラムに関連付けられる規則のアレイに記憶することとを含む、請求項26に記載のコンピュータ読取可能媒体。
  28. 加入規則を規則のアレイに記憶することは、さらに、規則のアレイをインデックスで整理することを含む、請求項26に記載のコンピュータ読取可能媒体。
JP2006292882A 1999-07-21 2006-10-27 関係型データベースシステムに統合された、コンテンツに基づく発行および加入システム Expired - Lifetime JP4149489B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/359,170 US6405191B1 (en) 1999-07-21 1999-07-21 Content based publish-and-subscribe system integrated in a relational database system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001513065A Division JP2003505792A (ja) 1999-07-21 2000-06-29 関係型データベースシステムに統合された、コンテンツに基づく発行および加入システム

Publications (2)

Publication Number Publication Date
JP2007066325A true JP2007066325A (ja) 2007-03-15
JP4149489B2 JP4149489B2 (ja) 2008-09-10

Family

ID=23412635

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2001513065A Pending JP2003505792A (ja) 1999-07-21 2000-06-29 関係型データベースシステムに統合された、コンテンツに基づく発行および加入システム
JP2006292882A Expired - Lifetime JP4149489B2 (ja) 1999-07-21 2006-10-27 関係型データベースシステムに統合された、コンテンツに基づく発行および加入システム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2001513065A Pending JP2003505792A (ja) 1999-07-21 2000-06-29 関係型データベースシステムに統合された、コンテンツに基づく発行および加入システム

Country Status (9)

Country Link
US (2) US6405191B1 (ja)
EP (1) EP1210676B1 (ja)
JP (2) JP2003505792A (ja)
AT (1) ATE247302T1 (ja)
AU (1) AU773486B2 (ja)
CA (1) CA2379423C (ja)
DE (1) DE60004537T2 (ja)
HK (1) HK1044393B (ja)
WO (1) WO2001008048A1 (ja)

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998011934A1 (en) * 1996-09-18 1998-03-26 Boergesen Svend Erik Device for the treatment of hydrocephalus
US7073129B1 (en) * 1998-12-18 2006-07-04 Tangis Corporation Automated selection of appropriate information based on a computer user's context
US7596606B2 (en) * 1999-03-11 2009-09-29 Codignotto John D Message publishing system for publishing messages from identified, authorized senders
DE10031716B4 (de) * 1999-07-06 2006-10-26 International Business Machines Corp. Abonnement und Benachrichtigung bei Datenbanktechnik
GB9920662D0 (en) * 1999-09-01 1999-11-03 Ncr Int Inc Expert system
GB9920661D0 (en) * 1999-09-01 1999-11-03 Ncr Int Inc Expert system
GB2354847A (en) * 1999-09-28 2001-04-04 Ibm Publish/subscribe data processing with subscription points for customised message processing
GB2354913B (en) * 1999-09-28 2003-10-08 Ibm Publish/subscribe data processing with publication points for customised message processing
US6952728B1 (en) * 1999-12-01 2005-10-04 Nortel Networks Limited Providing desired service policies to subscribers accessing internet
US6918124B1 (en) * 2000-03-03 2005-07-12 Microsoft Corporation Query trees including or nodes for event filtering
US7185192B1 (en) * 2000-07-07 2007-02-27 Emc Corporation Methods and apparatus for controlling access to a resource
US20060074727A1 (en) 2000-09-07 2006-04-06 Briere Daniel D Method and apparatus for collection and dissemination of information over a computer network
US6609126B1 (en) 2000-11-15 2003-08-19 Appfluent Technology, Inc. System and method for routing database requests to a database and a cache
US7136899B1 (en) 2000-12-11 2006-11-14 Microsoft Corporation Inverse query decisions using binary decision diagrams and sub-expression implications
WO2002054293A1 (en) * 2001-01-05 2002-07-11 Detto Corporation Function/service based data export and import/distribution
US20020103743A1 (en) * 2001-01-30 2002-08-01 Sun Microsystems, Inc. Platform independent business to business publish/subscribe messaging system
US20030061365A1 (en) * 2001-03-14 2003-03-27 Microsoft Corporation Service-to-service communication for network services
US20030041065A1 (en) * 2001-03-14 2003-02-27 Mark Lucovsky Schema-based services for identity-based access to contacts data
US20030041076A1 (en) * 2001-03-14 2003-02-27 Lucovsky Mark H. Schema-based services for identity-based access to calendar data
US7024662B2 (en) 2001-03-14 2006-04-04 Microsoft Corporation Executing dynamically assigned functions while providing services
US7302634B2 (en) 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
US20030069887A1 (en) * 2001-03-14 2003-04-10 Lucovsky Mark H. Schema-based services for identity-based access to inbox data
US7149783B2 (en) * 2001-04-12 2006-12-12 Hewlett-Packard Development Company, L.P. Delivery of sequential information
US20020165948A1 (en) * 2001-05-07 2002-11-07 International Business Machines Corporation Scalable resource discovery and reconfiguration for distributed computer networks
US7797375B2 (en) * 2001-05-07 2010-09-14 International Business Machines Corporat System and method for responding to resource requests in distributed computer networks
US8868659B2 (en) * 2001-05-15 2014-10-21 Avaya Inc. Method and apparatus for automatic notification and response
US7110406B1 (en) * 2001-07-27 2006-09-19 Ciena Corporation Mechanism for facilitating broadcast in a communication system
US20030036462A1 (en) * 2001-08-20 2003-02-20 Sundaram Ravikumar Powered antithrombotic foot mobility device
US7315863B2 (en) * 2001-09-20 2008-01-01 Oracle International Corp Method and apparatus for automatic notification of database events
US7483938B2 (en) * 2001-09-27 2009-01-27 International Business Machines Corporation System for character validation and method therefor
US7668908B2 (en) * 2001-12-14 2010-02-23 Microsoft Corporation System and method for generalized and distributed scalable eventing system
US20030126109A1 (en) * 2002-01-02 2003-07-03 Tanya Couch Method and system for converting message data into relational table format
US7127467B2 (en) * 2002-05-10 2006-10-24 Oracle International Corporation Managing expressions in a database system
US7698276B2 (en) 2002-06-26 2010-04-13 Microsoft Corporation Framework for providing a subscription based notification system
US8495163B2 (en) * 2004-03-18 2013-07-23 Avaya, Inc. Method and apparatus for a publish-subscribe system with templates for role-based view of subscriptions
US20040002988A1 (en) * 2002-06-26 2004-01-01 Praveen Seshadri System and method for modeling subscriptions and subscribers as data
US7177859B2 (en) * 2002-06-26 2007-02-13 Microsoft Corporation Programming model for subscription services
US20040002958A1 (en) * 2002-06-26 2004-01-01 Praveen Seshadri System and method for providing notification(s)
US20040006564A1 (en) * 2002-06-28 2004-01-08 Lucovsky Mark H. Schema-based service for identity-based data access to category data
US9886309B2 (en) 2002-06-28 2018-02-06 Microsoft Technology Licensing, Llc Identity-based distributed computing for device resources
US7206788B2 (en) * 2002-07-30 2007-04-17 Microsoft Corporation Schema-based services for identity-based access to device data
US8005802B2 (en) 2002-08-01 2011-08-23 Oracle International Corporation Partial evaluation of rule sets
US7124137B2 (en) * 2002-12-19 2006-10-17 International Business Machines Corporation Method, system, and program for optimizing processing of nested functions
US7243098B2 (en) * 2002-12-19 2007-07-10 International Business Machines Corporation Method, system, and program for optimizing aggregate processing
US20040128622A1 (en) * 2002-12-26 2004-07-01 Mountain Highland Mary Method and server for communicating information between publishers and subscribers of web services
US20040143649A1 (en) * 2003-01-21 2004-07-22 An Feng Multiple dynamic view enabled web services
US8688462B2 (en) * 2003-01-31 2014-04-01 Media Queue, Llc Media auto exchange system and method
US20040162783A1 (en) * 2003-01-31 2004-08-19 Gross John N. Media queue replenisher
US20040158503A1 (en) * 2003-01-31 2004-08-12 Gross John N. Media queue monitor
US8712867B2 (en) * 2003-01-31 2014-04-29 Media Queue, Llc System for providing access to playable media
US8700538B2 (en) * 2003-01-31 2014-04-15 Media Queue, Llc Media exchange system and method
US7389243B2 (en) * 2003-01-31 2008-06-17 Gross John N Notification system and method for media queue
US9235457B2 (en) * 2003-03-27 2016-01-12 Oracle International Corporation Proactively communicating information between processes through a message repository
US20040193656A1 (en) * 2003-03-28 2004-09-30 Pizzo Michael J. Systems and methods for caching and invalidating database results and derived objects
US20040205048A1 (en) * 2003-03-28 2004-10-14 Pizzo Michael J. Systems and methods for requesting and receiving database change notifications
US8612311B2 (en) * 2004-05-28 2013-12-17 Media Queue, Llc Hybrid distribution method for playable media
US20060212367A1 (en) * 2003-05-28 2006-09-21 Gross John N Method of selecting and distributing items to consumers of electronic media
US8433622B2 (en) * 2003-05-28 2013-04-30 Media Queue, Llc Method of controlling electronic commerce queue
US20040243479A1 (en) * 2003-05-28 2004-12-02 Gross John N. Method of monitoring electronic commerce queue
US8010484B2 (en) * 2003-06-16 2011-08-30 Sap Aktiengesellschaft Generating data subscriptions based on application data
US7398304B2 (en) * 2003-06-23 2008-07-08 Microsoft Corporation General dependency model for invalidating cache entries
US8738541B2 (en) * 2003-06-25 2014-05-27 Media Queue, Llc Method of processing rental requests and returns
US7624126B2 (en) * 2003-06-25 2009-11-24 Microsoft Corporation Registering for and retrieving database table change information that can be used to invalidate cache entries
US20050080759A1 (en) * 2003-10-08 2005-04-14 International Business Machines Corporation Transparent interface to a messaging system from a database engine
US7669177B2 (en) 2003-10-24 2010-02-23 Microsoft Corporation System and method for preference application installation and execution
US7647595B2 (en) * 2003-10-29 2010-01-12 Oracle International Corporation Efficient event notification in clustered computing environments
WO2005051197A2 (en) * 2003-11-26 2005-06-09 Koninklijke Philips Electronics, N.V. Workflow optimization for high throughput imaging environment
US7801857B2 (en) * 2003-12-19 2010-09-21 Solace Systems, Inc. Implicit routing in content based networks
US7120864B2 (en) 2004-01-27 2006-10-10 International Business Machines Corporation Eliminating superfluous namespace declarations and undeclaring default namespaces in XML serialization processing
US7664728B2 (en) * 2004-02-20 2010-02-16 Microsoft Corporation Systems and methods for parallel evaluation of multiple queries
CN1950821A (zh) * 2004-03-26 2007-04-18 亚历克斯·马申斯基 通过因特网交换新增信息
US20050222996A1 (en) * 2004-03-30 2005-10-06 Oracle International Corporation Managing event-condition-action rules in a database system
US20050261923A1 (en) * 2004-05-21 2005-11-24 International Business Machines Corporation Method and apparatus for model based subscriptions for a publish/subscribe messaging system
US7487512B2 (en) * 2004-09-30 2009-02-03 Sap Ag Publish-subscribe event notifications
US7792274B2 (en) * 2004-11-04 2010-09-07 Oracle International Corporation Techniques for performing multi-media call center functionality in a database management system
US20060106871A1 (en) * 2004-11-16 2006-05-18 Burrell Thomas D Systems and methods for improving corporate compliance
US7895158B2 (en) * 2004-12-27 2011-02-22 Solace Systems Inc. Data logging in content routed networks
US20070050630A1 (en) * 2005-08-24 2007-03-01 Samsung Electronics Co., Ltd. Authentication method and system for asynchronous eventing over the internet
US20070067780A1 (en) * 2005-08-24 2007-03-22 Samsung Electronics Co., Ltd. Method and system for asynchronous eventing over the internet
US8146100B2 (en) 2006-03-21 2012-03-27 Sap Ag System and method for event-based information flow in software development processes
US20070260976A1 (en) * 2006-05-02 2007-11-08 Slein Judith A Rule Engines and Methods of Using Same
US8229994B2 (en) * 2006-07-06 2012-07-24 International Business Machines Corporation Method, system, and program product for providing automatic group subscriptions
US8484554B2 (en) * 2006-08-31 2013-07-09 Sap Ag Producing a chart
US9171040B2 (en) * 2006-10-10 2015-10-27 International Business Machines Corporation Methods, systems, and computer program products for optimizing query evaluation and processing in a subscription notification service
GB0621409D0 (en) * 2006-10-27 2006-12-06 Ibm Access control within a publish/subscribe system
US7676443B2 (en) * 2006-11-17 2010-03-09 Sap Ag System and method for processing data elements in retail sales environment
US20080177704A1 (en) * 2007-01-24 2008-07-24 Microsoft Corporation Utilizing Tags to Organize Queries
US7809707B2 (en) * 2007-07-23 2010-10-05 Sap Ag System and method for identifying element usage in a deep element structure
US7797289B2 (en) * 2007-09-05 2010-09-14 Oracle International Corporation Method and apparatus for automatically executing rules in enterprise systems
US20090089380A1 (en) * 2007-09-28 2009-04-02 Microsoft Corporation Aggregating and Delivering Information
US20090158298A1 (en) * 2007-12-12 2009-06-18 Abhishek Saxena Database system and eventing infrastructure
US20090144385A1 (en) * 2008-03-03 2009-06-04 Harry Gold Sequential Message Transmission System
US20090248612A1 (en) * 2008-03-31 2009-10-01 Morris Robert P Methods, Systems, And Computer Program Products For Providing Prior Values Of A Tuple Element In A Publish/Subscribe System
US8185508B2 (en) * 2008-08-08 2012-05-22 Oracle International Corporation Adaptive filter index for determining queries affected by a DML operation
US8335762B2 (en) 2008-10-06 2012-12-18 Microsoft Corporation Resource tracking
FR2939934B1 (fr) * 2008-12-16 2011-04-22 Thales Sa Systeme de publication et de souscription de donnees
US20100299426A1 (en) * 2009-05-21 2010-11-25 Topia Technology Service-oriented architecture
US8392555B2 (en) * 2009-06-01 2013-03-05 International Business Machines Corporation Push-back mechanism for pub/sub brokers
US9165086B2 (en) 2010-01-20 2015-10-20 Oracle International Corporation Hybrid binary XML storage model for efficient XML processing
US8918388B1 (en) * 2010-02-26 2014-12-23 Turn Inc. Custom data warehouse on top of mapreduce
US20170070470A9 (en) * 2012-02-02 2017-03-09 Yapmo Llc Automatic, Interest-Based Notifications
US10366083B2 (en) 2015-07-29 2019-07-30 Oracle International Corporation Materializing internal computations in-memory to improve query performance
US10204135B2 (en) 2015-07-29 2019-02-12 Oracle International Corporation Materializing expressions within in-memory virtual column units to accelerate analytic queries
US10701009B1 (en) * 2015-08-10 2020-06-30 Amazon Technologies, Inc. Message exchange filtering
US10810228B2 (en) * 2015-11-02 2020-10-20 Servicenow, Inc. Universal automatic data update detection and publication
US10783147B2 (en) 2016-04-01 2020-09-22 Arista Networks, Inc. Query result flow control in a network switch
US10642844B2 (en) 2016-04-01 2020-05-05 Arista Networks, Inc. Non-materialized tables with standing queries
US10261949B2 (en) 2016-04-01 2019-04-16 Arista Networks, Inc. Packed row representation for efficient network serialization with direct column indexing in a network switch
US10284673B2 (en) * 2016-04-01 2019-05-07 Arista Networks, Inc. Interface for a client of a network device
US10783144B2 (en) 2016-04-01 2020-09-22 Arista Networks, Inc. Use of null rows to indicate the end of a one-shot query in network switch
US10860568B2 (en) 2016-04-01 2020-12-08 Arista Networks, Inc. External data source linking to queries in memory
US11226955B2 (en) 2018-06-28 2022-01-18 Oracle International Corporation Techniques for enabling and integrating in-memory semi-structured data and text document searches with in-memory columnar query processing
US11061926B2 (en) 2018-10-02 2021-07-13 Target Brands, Inc. Data warehouse management and synchronization systems and methods

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6129938A (ja) * 1984-07-20 1986-02-12 Olympus Optical Co Ltd 検索方法
JPH03252864A (ja) * 1990-03-02 1991-11-12 Nippon Telegr & Teleph Corp <Ntt> 情報検索システム
WO1993026118A1 (en) * 1992-06-16 1993-12-23 Sansung Electronics Co., Ltd. A backward compatible hdtv recording/reproducing system
GB2274182B (en) * 1993-01-09 1996-09-25 Digital Equipment Int Database co-processor
JPH06319024A (ja) 1993-05-07 1994-11-15 Nippon Rojisuteikusu Kk ファクシミリサーバシステム
US5870552A (en) * 1995-03-28 1999-02-09 America Online, Inc. Method and apparatus for publishing hypermedia documents over wide area networks
US5564047A (en) * 1995-04-11 1996-10-08 International Business Machines Corporation Trigger generation in an active database management system
US5873084A (en) * 1996-01-18 1999-02-16 Sun Microsystems, Inc. Database network connectivity product
US5870605A (en) * 1996-01-18 1999-02-09 Sun Microsystems, Inc. Middleware for enterprise information distribution
US5999946A (en) * 1996-04-10 1999-12-07 Harris Corporation Databases in telecommunications
US5864871A (en) * 1996-06-04 1999-01-26 Multex Systems Information delivery system and method including on-line entitlements
JPH1021245A (ja) * 1996-06-28 1998-01-23 Ricoh Co Ltd 情報検索システムおよびこのシステム用プログラムを記憶した記憶媒体
JP3347636B2 (ja) * 1997-03-04 2002-11-20 株式会社リクルート ユーザ支援機能を備えたインターネット上のデータベース検索システム
US5873075A (en) * 1997-06-30 1999-02-16 International Business Machines Corporation Synchronization of SQL actions in a relational database system
US6038601A (en) * 1997-07-21 2000-03-14 Tibco, Inc. Method and apparatus for storing and delivering documents on the internet
JPH11120190A (ja) * 1997-10-15 1999-04-30 Hitachi Ltd 予約検索方法
US6122639A (en) * 1997-12-23 2000-09-19 Cisco Technology, Inc. Network device information collection and change detection
US6285997B1 (en) * 1998-11-16 2001-09-04 International Business Machines Corporation Query optimization with deferred update and autonomous sources

Also Published As

Publication number Publication date
DE60004537T2 (de) 2004-06-24
EP1210676B1 (en) 2003-08-13
DE60004537D1 (de) 2003-09-18
AU773486B2 (en) 2004-05-27
HK1044393B (zh) 2003-11-21
JP4149489B2 (ja) 2008-09-10
EP1210676A1 (en) 2002-06-05
ATE247302T1 (de) 2003-08-15
US6502093B1 (en) 2002-12-31
WO2001008048A1 (en) 2001-02-01
HK1044393A1 (en) 2002-10-18
CA2379423A1 (en) 2001-02-01
JP2003505792A (ja) 2003-02-12
AU5781000A (en) 2001-02-13
CA2379423C (en) 2011-06-21
US6405191B1 (en) 2002-06-11

Similar Documents

Publication Publication Date Title
JP4149489B2 (ja) 関係型データベースシステムに統合された、コンテンツに基づく発行および加入システム
US6038562A (en) Interface to support state-dependent web applications accessing a relational database
US7191185B2 (en) Systems and methods for facilitating access to documents via an entitlement rule
US8554803B2 (en) Systems and methods for facilitating access to documents via a set of content selection tags
US7523466B2 (en) Method and apparatus for customizing a marketing campaign system using client and server plug-in components
US8271477B2 (en) Methods and systems for accessing data
US6970870B2 (en) Systems and methods for facilitating access to documents via associated tags
US9697181B2 (en) Centralized field rendering system and method
US20140201331A1 (en) Platform for the delivery of content and services to networked connected computing devices
US7702609B2 (en) Adapting to inexact user input
US20060080220A1 (en) Liquidity book system and method
US7124354B1 (en) Enterprise application transactions as shared active documents
EP1247167A1 (en) A method and apparatus for receiving information in response to a request from an email client
JP2001188804A (ja) プライバシー情報を含むデータベースの管理方法及びその装置
WO2003040883A2 (en) Methods, systems, and articles of manufacture for providing product availability information
AU2002340375A1 (en) Methods, systems, and articles of manufacture for providing product availability information
US20020116354A1 (en) Method and system for transforming session data
EP1218827A1 (en) System and methods for accessing internet information using internet appliances
JP3484325B2 (ja) 条件付き回答対応エージェントシステム装置およびプログラム記憶媒体
US8412766B1 (en) Method and apparatus for tracking client navigation among multiple resources in communication session information saved by a server
Suryawana et al. Database Performance Optimization using Lazy Loading with Redis on Online Marketplace Website

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080421

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080527

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080625

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110704

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4149489

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110704

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120704

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120704

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130704

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term