JP2006501585A - 非同期情報共有システム - Google Patents
非同期情報共有システム Download PDFInfo
- Publication number
- JP2006501585A JP2006501585A JP2005506083A JP2005506083A JP2006501585A JP 2006501585 A JP2006501585 A JP 2006501585A JP 2005506083 A JP2005506083 A JP 2005506083A JP 2005506083 A JP2005506083 A JP 2005506083A JP 2006501585 A JP2006501585 A JP 2006501585A
- Authority
- JP
- Japan
- Prior art keywords
- database
- information
- changes
- change
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
Description
この出願は、あらゆる目的で、各々の内容がこの明細書において完全に援用される以下の出願、すなわち、
2002年8月1日に出願されて「分散した情報の共有における規則の使用(UTILIZING RULES IN DISTRIBUTED INFORMATION SHARING)」と題された米国仮特許出願第60/400,532号、および
2002年9月13日に出願されて「オラクルストリームズ(ORACLE STREAMS)」と題された米国仮特許出願第60/410,883号
に関し、また、これらの出願の優先権を主張する。
この発明は、情報共有システムに関する。
容易にかつ適時に情報を共有する能力は、どのようなビジネス環境にとっても重要な要件である。したがって、情報の共有は、討議、郵便物、書籍、定期刊行物、およびコンピュータ技術等の多くの機構によりサポートされてきた。情報共有の目標、たとえば、報告書/諸表、複製、およびメッセージ送信を容易にするために、コンピュータベースの多くの技術が開発されてきた。
電子情報を共有するための方法およびシステムを説明する。以下の説明では、説明のために多数の特定の詳細を明示して、この発明の十分な理解を図る。しかしながら、これらの特定の詳細がなくてもこの発明を実施し得ることは明らかである。場合によっては周知の構造およびデバイスをブロック図の形で示し、この発明をむやみに不明瞭にすることを避ける。
従来のデータベースシステムの技術は、しばしば、データの操作を単独のアクションとして扱う。しかしながら、実際の多くの状況ではこのことが当てはまらない。具体的に、データの操作は、しばしば、一連の活動または活動の「連鎖」をトリガする。このようにトリガされる活動は、以下のものに限定されないがそれらを含む、様々なカテゴリに入り得る。
以下に、柔軟性に富んだ非同期の情報共有システムを説明する。このシステムは、単独でまたは組み合わせて用いられて多種多様な情報共有の問題を解決することのできる多数の特徴を提供する。一実施例に従い、情報共有システムは、共有されるべき情報を記憶するための1つ以上のステージングエリアを含む。この明細書で「取得プロセス」と呼ばれる1組のソフトウェアのプロセスは、ステージングエリアに情報を配置する。この明細書で「消費プロセス」と呼ばれる別の組のソフトウェアのプロセスは、ステージングエリアから情報を消費する。
る。具体的に、取得プロセスが取得する変更を生成するプロセスは、取得プロセスによる変更の取得を待つために実行を休止しない。反対に、取得プロセスは、変更を生成したプロセスに報告し直す必要がない。同様に、取得プロセスは、取得プロセスがステージングエリアに追加する情報の、更に進んだ処理を待つために実行を休止しない。同様に、消費プロセスは、取得プロセスに実行の継続を促すために取得プロセスに報告し直す必要がない。
図1は、この情報の一実施例に従った、情報を非同期式に共有するためのシステム100のブロック図である。図1を参照すると、図1は、複数のステージングエリア102、104、および106を含む。ステージングエリア102、104、および106の各々に対し、取得プロセス112、114、および116のそれぞれによって情報が追加される。ステージングエリア102、104、および106の各々から、消費プロセス122、124、および126のそれぞれによって情報が消費される。取得プロセス112、114、および116は、暗黙的な取得プロセスおよび/または明示的な取得プロセスを含み得る。消費プロセス122、124、および126は、適用プロセスおよび明示的なデキュープロセスを含み得る。
示す別のプロセスに送信するように設定され得る。他のプロセスは、たとえば、システム100に遠隔なシステムで稼動するプロセスであり得る。
上述のように、イベントに応答してシステム100により実行され得る活動の連鎖は、多くの形態を取り得る。一般に、活動の連鎖は、データ取得、アウトバウンドのステージング、伝播、インバウンドのステージング、および消費の1つ以上を含み得る。一実施例に従い、システム100は、さまざまな態様でこれらの活動の各々を実施するためのメカニズムを提供する。表1は、さまざまな活動の各々に関する特性のいくつかに対するさまざまなオプションを列挙する。
一実施例に従い、ユーザは情報共有システム100を用いて、データベースにおいて変更を取得し、キュー内にイベントをエンキューし、1つのキューから別のキューにイベントを伝播し、イベントをデキューし、データベースにおいてイベントを適用し、ディレクテッド・ネットワークを実現し、自動的な、矛盾の検出および解決を実行し、変換を実行し、異質な情報の共有を実現することができる。
情報共有システム100は、情報共有における実質的に無数の目的を達成するのに十分な柔軟性を有する。したがって、情報共有システム100が配置され得るアプリケーションの数も同様に多大である。情報共有システム100の有用性および汎用性を示すために、情報共有システムをどのように適用してメッセージのキューイングおよびデータの複製を実現することができるかに関する詳細を提示する。
、適用プロセス(消費プロセス122等)により適用され得る。
システム100の構成要素は、1組のコアサービスを提供する。一実施例に従い、これらのコアサービスは、イベントの取得、イベントの配信、およびイベントの消費を含む。
上述のように、システム100は、明示的および暗黙的な取得プロセスの両方をサポートする。ログ取得プロセスは、暗黙的な取得プロセスの一例である。一実施例に従い、ログ取得プロセスは、データベースサーバのログファイル内に記憶された情報を読出し、そして、ログファイル内の情報に基づいて1つ以上のステージングエリア内に情報を記憶するように設定されたプロセスである。このようなログファイルは、たとえば、データベースシステムが行なっている変更を記録するためにデータベースシステムが生成する再実行ログファイルを含み得る。
ロセスを用いることにより、ログが本来作成された回復の目的を超越する多種多様な態様で、情報を用いることが可能になる。たとえば、消費プロセスは、ログを生成したデータベースサーバの外に存在するプロセスに対し、ステージングエリアからの変更情報を選択的に提供することができる。
ントリまたはLCRが、ローカルなデータベースまたは異なるデータベースで生じた変更を含んでいるか否かを判定することができ、それによってユーザは、LCRが生じたデータベースにLCRを送り返すことを回避することができる。タグは、他のLCRの経過を追う目的でも用いることができる。ユーザはまた、タグを用いて、各LCRに対する宛先データベースの組を指定することもできる。LCRに関連付けられたタグ値は、情報共有システム100のさまざまな構成要素に対して確立された規則に依存して、LCRがシステムを流通するのに伴い、さまざまな時点でセット、変更、および/または変換され得る。たとえば、ログファイル内で識別される変更に対して作成されたLCRに対し、取得プロセスによってタグ値がセットされて、変更が生じたデータベースを示すことができる。別の例として、LCRに対するタグ値が伝播プロセスによりセットされて、伝播プロセスがそこからLCRを伝播しているシステムを示すことができる。
図1に示すように、ステージングエリアは、情報の取得、配信、および消費間において情報を一時的に保持するために用いられ得る。情報を保持するために用いられるステージングエリアの特性は、その情報の特性と、その情報がトリガする活動の連鎖とに依存して変化し得る。たとえば、情報の取得、配信、および消費間において情報を保持するために用いられるステージングエリアは、以下の任意の形態を取り得る。
利用することのできるオラクルワークフロー(Workflow)2.6とともにこのアドバンスト・キューイング機能を用いて、他のイベントのコンテキスト内のイベントを検査する能力を得ることができる。たとえば、明示的なイベント(たとえば、API経由でアプリケーションにより行なわれた呼出においてアプリケーションから受信したメッセージ)を、他の明示的なイベント(たとえば、同一のアプリケーションから受信した他のメッセージ)のコンテキスト内で見ることができる。同様に、暗黙的に取得されたイベント(たとえばデータベースサーバが管理するデータに対する変更)を、他の暗黙的に取得されたイベント(たとえば他のデータベースの変更)のコンテキスト内で見ることができる。
情報共有システム100は、ディレクテッド・ネットワークを介して変更が共有される環境をユーザが設定することを可能にする。ディレクテッド・ネットワークは、伝播されるイベントが1つ以上の中間データベースを通過してから宛先データベースに到達し得るネットワークである。イベントは、中間データベースで処理されてもよく、または処理されなくてもよい。ユーザは、情報共有システム100を用いて、各宛先データベースにどのイベントが伝播されるかを選択することができ、ユーザは、ルートイベントが宛先データベースに向かう途中でトラバースすることを指定することができる。
ユーザアプリケーションは、情報共有システム100のステージングエリア内にイベントを明示的にエンキューすることができる。ユーザアプリケーションは、これらのイベントをLCRとしてフォーマット化することができ、このことは、適用プロセスが、宛先データベースにおいてこれらのイベントを適用することを可能にする。代替的に、これらのイベントは、別のユーザアプリケーションによる消費のために、ユーザメッセージとしてフォーマット化され得、この別のユーザアプリケーションは、適用プロセスからのコールバックにより、これらのイベントを明示的にデキューするか、または処理する。キュー内に明示的にエンキューされたイベントは、同じキューから明示的にデキューされ得る。図6は、キュー内へのイベントの明示的なエンキューと、その同じキューからのイベントのデキューとを示す。
ー、宛先キューへの伝播、および宛先キューからのイベントの明示的なデキューを示す。
一実施例によると、適用プロセスは、データベースサーバ内で稼動するバックグラウンドプロセスであり、キューからイベントをデキューして、各イベントをデータベースオブジェクトに直接適用するか、または、ユーザが定義した、適用ハンドラと呼ばれるプロシージャにそのイベントをパラメータとして渡す。これらの適用ハンドラは、メッセージハンドラ、DMLハンドラ、およびDDLハンドラを含み得る。
上で説明したように、活動の連鎖内の各活動は、さまざまな態様で実施され得る。たとえば、伝播は、「最善の努力」および「オープン」な特性、または「1度のみ」および「クローズド」の特性を伴って実施され得る。この発明の一実施例に従い、
・特定のイベントに応答して実施されるべき活動の連鎖、および
・活動の連鎖における各活動がどのように実施されるべきであるか
を指定する規則をユーザが登録することを可能にするために、規則登録メカニズムが提供される。
・複製されるべきデータベースのテーブルを識別し、
・ターゲットデータベースを識別し、
・複製を実施するためのデータの取得、ステージング、伝播、および消費のオプションを指定する、
1組の規則を登録することができる。
情報共有システム100は、どの情報が共有されるべきか、および、規則を用いてその情報をどこで共有すべきか、をユーザが制御できるようにする。規則は、SQLクエリーのWHERE句内の条件と同様の条件として指定され、ユーザは、関連する規則を共にグループ化して規則セットにすることができる。一実施例に従い、規則は、規則条件、規則評価のコンテキスト、および規則アクションのコンテキストを含む。
この規則条件は、情報共有システム100内において以下の態様で、すなわち、
取得プロセスに、hr.部門のテーブルに対するDML変更を取得するように指示し、
伝播に、hr.部門のテーブルに対するDML変更を伝播するように指示し、
適用プロセスに、hr.部門のテーブルに対するDML変更を適用するように指示する
ために用いられ得る。
上述のように、システム100のさまざまな構成要素は、規則をシステム100に登録することによって無効にされ得るデフォルト機能を有して設計され得る。規則が登録され
ると、システム100内でメタデータが生成されてその規則を反映する。システム100のさまざまな構成要素は、メタデータを呼出し、そして、そのメタデータ内で反映される任意の規則に従って構成要素自体の機能を変更するように設定される、この規則は、(1)構成要素に適用され、かつ、(2)構成要素が現在作動している状況に適用される。
規則ベースの変換は、規則がTRUEと評価する際に生じる、イベントへの任意の変更である。たとえばユーザは、或るイベントに関し、テーブル内の特定の列のデータ型を変更したいときに規則ベースの変換を用いることができる。この場合、変換は、列に対してNUMBERデータ型を有する論理変更記録(LCR)を含むSYS.AnyDataオブジェクトを入力として取り、かつ、その同じ列に対してVARCHAR2データ型を有するLCRを含むSYS.AnyDataオブジェクトを返す、PL/SQL関数であり得る。
情報共有システム100は、同じ企業が作成したデータベース間における情報の共有に加え、異なる企業からのデータベース間における情報の共有もサポートする。一般に、或
る企業が提供するデータベースシステムがサポートする特徴は、他の企業が提供するデータベースシステムがサポートする特徴とは異なる。したがって、2つの異なる種類のデータベースシステム間において情報を共有するタスクは、極めて困難なものであることが考えられる。以下により詳細に説明するように、情報共有システム100を用いて、このような異質のデータベースシステム間における情報の共有を著しく容易にすることができる。
生成してタグをつけるか、を規定することができる。同様に、伝播プロセス、適用プロセス、およびさまざまなハンドラのプロシージャもすべて、規則駆動型であり得る。
上述のように、データベースサーバ(以降「ソースサーバ」)の再実行ログからの情報は、取得プロセスにより、ステージングエリアに選択的に追加され得る。そして、消費プロセスは、ステージングエリアからソースサーバ外のプロセスにこの情報を選択的に提供することができる。変更情報は、たとえば、異なるデータベースサーバ(以降「ターゲット」データベースサーバ)内のプロセスに提供され得る。それにより、ターゲットデータベースサーバ内のプロセスは、ソースデータベースサーバからの変更情報を用いて、ターゲットデータベース内に存在する情報を、ソースデータベースサーバ内の対応する情報と同期させて維持することができる。たとえば、プロセスは、ソースデータベースサーバ内のテーブルT2に対して行なわれた変更に基づき、ターゲットデータベースサーバ内のテーブルT1を更新することができ、それによってT1は、T2の複製として働き得る。
オラクルのデータベースの各々は、2つ以上の再実行ログファイルからなる組を有する。データベース用の再実行ログファイルは、総称して、データベースの再実行ログとして公知である。再実行ログの主な機能は、データベースに対して行なわれたすべての変更を記録することである。
取得プロセスは、再実行ログから取得した変更を、LCRに再フォーマット化する。LCRは、データベースの変更を記述するオブジェクトである。一実施例に従い、取得プロセスは、列LCRおよびDDL LCRを含む、複数の種類のLCRを取得する。
LEまたはPACKAGE。
一実施例に従い、情報共有システム100内の取得プロセス(取得プロセス116等)は、ユーザが定義する規則に基づいて変更を取得する。各規則は、取得プロセスが変更を取得するデータベースオブジェクトと、取得すべき変更の種類とを指定する。一実施例において、ユーザは、以下のレベルにおいて取得規則を指定することができる。
稼動中の取得プロセスは、変更を取得するための以下の一連のアクションを完了する。
1つ以上の規則が変換後にTRUEと評価され得る場合、変更をLCRに変換するようにし、
変換後にTRUEと評価する規則が何ら存在しないことを取得プロセスが保証できる場合、変更がLCRに変換されないようにする。
取得プロセスに対して他の規則は定義されず、取得プロセスに対する並列処理パラメータは1にセットされる。
情報共有システム100は、イベントをステージングするために、型SYS.AnyDataのキューを用いる。キューにステージングされ得る2種類のイベント、すなわち、論理変更記録(LCR)と、ユーザメッセージとが存在する。LCRは、データベースオブジェクトに対する変更についての情報を含むオブジェクトであり、ユーザメッセージは、ユーザまたはアプリケーションによって作成されたカスタムメッセージである。両方の種類のイベントは、型SYS.AnyDataを有し、1つのデータベース内で、またはデータベース間において情報を共有するために用いられ得る。
れうる。これらのイベントは、適用プロセスか、またはそれらのイベントを明示的にデキューするユーザアプリケーションによって消費され得る。イベントが消費された後であっても、ユーザが、1つの以上の他のキューにイベントを伝播するように情報共有システム100を設定している場合、または、メッセージの保存が指定されている場合、そのイベントはキュー内に残り得る。これらの他のキューは、同じデータベース内または異なるデータベース内に存在し得る。いずれの場合も、イベントがそこから伝播されるキューをソースキューと呼び、イベントを受信するキューを宛先キューと呼ぶ。ソースキューと宛先キューとの間には、1対多、多対1、または多対多の関係が存在し得る。図4は、ソースキューから宛先キューへの伝播を示す。
一実施例に従い、イベントは、以下の2つの態様でエンキューされ得る。
できる。イベントがLCRを含んでいない場合、適用プロセスは、ユーザが指定した、メッセージハンドラと呼ばれるプロシージャを呼出して、イベントを処理することができる。
ユーザは、情報共有システム100を用いて、異なるデータベース内に存在し得る2つのキュー間におけるイベントの伝播を設定することができる。情報共有システム100は、ジョブキューを用いてイベントを伝播する。
伝播は、ユーザが定義した規則に基づいてイベントを伝播する。各規則は、イベントに対し、この伝播が変更を伝播するデータベースオブジェクトと、伝播すべき変更の種類とを指定する。ユーザは、以下のレベルにおいて、イベントに対する伝播規則を指定することができる。
一実施例に従い、適用プロセスは、特定のキューからの論理変更記録(LCR)およびユーザメッセージをデキューして、そしてその各々を直接適用するか、またはユーザが定義したプロシージャにパラメータとして渡す、バックグラウンドプロセスである。適用プロセスがデキューしたLCRは、適用プロセスが宛先データベース内のデータベースオブジェクトに適用することのできる、データ操作言語(DML)の変更またはデータ定義言語(DDL)の変更を含む。ユーザが定義して適用プロセスがデキューしたメッセージは、型SYS.AnyDataを有し、ユーザが作成したLCRを含む任意のユーザメッセージを含み得る。
適用プロセスは、ユーザが定義した規則に基づいて変更を適用する。各規則は、適用プロセスが変更を適用するデータベースオブジェクトと、適用すべき変更の種類とを指定する。ユーザは、以下のレベルにおいて適用規則を指定することができる。
適用プロセスは、キュー内のイベントを処理するための、柔軟性に富んだメカニズムである。ユーザは、読者の環境に対して1つ以上の適用プロセスをいつ設定するかを考慮するためのオプションを有する。この章では、適用プロセスが適用し得るイベントの種類と、適用プロセスがそれらのイベントを適用し得る態様とを論じる。
。宛先データベースのキューが、取得されたイベントおよびユーザがエンキューしたイベントの両方を含む場合、宛先データベースは、それらのイベントを処理するために、少なくとも2つの適用プロセスを有していなければならない。
イベント処理に対するオプションは、適用プロセスが受信したイベントの種類に依存する。図8は、適用プロセスに対するイベント処理のオプションを示す。
ベントを渡す。それにより、ユーザプロシージャは、カスタマイズされた態様でこのイベントを処理することができる。
INSERT UPDATE DELETE LOB UPDATE
の各々を処理することができる。
ユーザがエンキューしたイベントが、適用プロセスに対する規則セット内の少なくとも1つの規則を満たす場合、ユーザがエンキューしてLCRを含まないイベントは、適用プロセスに対して指定されたメッセージハンドラによって処理される。メッセージハンドラは、読者の環境に対してカスタマイズされた態様で非LCRのユーザメッセージを処理することのできる、ユーザが定義したプロシージャである。
この発明の一実施例に従い、適用プロセスは、リーダサーバ、コーディネータプロセス、および1つ以上の適用サーバを含む。
一実施例によると、規則は、イベントが生じて条件が満たされたときにクライアントによるアクションの実施を可能にするデータベースオブジェクトである。規則は、一実施例に従って情報共有システム100を管理するデータベースサーバ内に構築された規則エン
ジンによって評価される。ユーザが作成したアプリケーションおよび情報共有システム100はともに、規則エンジンのクライアントであり得る。一実施例に従い、規則は、以下の構成要素、すなわち、
・規則条件
・規則評価のコンテキスト(任意)
・規則アクションのコンテキスト(任意)
を含む。
この論理条件は、部門-id列が30であると、所定の行についてTRUEと評価する。ここで、値は、テーブルの部門 id 列内のデータである。
この規則条件は、OR条件付き演算子により結合された2つの条件を含む。いずれかの条件がTRUEと評価した場合、規則条件は、TRUEと評価する。条件付き演算子がORではなくANDであれば、規則条件の全体がTRUEと評価するために、両方の条件がTRUEと評価しなければならなくなってしまう。
規則条件は、変数を含み得る。一実施例に従い、規則条件内の変数の前にはコロン(:)が置かれる。以下は、規則条件内で用いられる変数の一例である。
変数は、テーブル内に記憶されていないデータをユーザが参照することを可能にする。変数はまた、一般に生じる式に取って代わることによってパフォーマンスを改善することもできる。パフォーマンスが改善し得るのは、同じ式を複数回評価する代わりに変数を一回評価するためである。
ここで、従業員_idの値は、従業員_idが列であるテーブル内のデータにより求められる
。
単純な規則条件
単純な規則条件は、以下の形態のいずれかを有する条件である。
・定数 演算子 単純な規則式
規則の構成要素
単純な規則条件において、単純な規則式は、以下のうちの1つである。
・変数、
・変数の属性、および
・方法の結果。ここで、この方法は引き数を取らず、この方法の結果は、変数方法関数により返され得、それによって式は、数字型または文字型のいずれかとなる。
他の演算子を用いることにより、非単純な規則条件が生じる。定数は固定値である。定数は、以下のものであり得る。
・ :v2.al<10.01
・ :v3.m() = 10
規則セットの評価
規則エンジンは、イベントに基づいて規則セットを評価する。イベントは、規則エンジンのクライアントが定義するオカレンスである。クライアントは、DBMS-RULE.EVALUATE プロシージャを呼出すことによってイベントの評価を開始する。クライアントがDBMS-RULE.EVALUATEプロシージャを呼出す際にクライアントが指定する情報は、以下のものを含む。
いるための評価のコンテキスト。指定された評価のコンテキストを用いる規則のみが評価される。
情報共有システム100において、以下のメカニズム、すなわち、取得プロセス、伝播、および適用プロセスの各々は、規則エンジンのクライアントであり、そのとき、このメカニズムは規則セットに関連付けられる。
情報共有システム100は、規則に基づき、3つのタスク、すなわち、取得プロセスを用いた変更の取得、伝播を用いた変更の伝播、および適用プロセスを用いた変更の適用を実施する。ユーザが作成した規則およびシステムが作成した規則の両方を用いて、これらのタスクの各々がどのように実施されるかを管理することができる。さらに、これらのタスクの任意の1つは、システムが作成した規則およびユーザが作成した規則の両方を含む1つの規則セットによって管理され得る。
取得プロセスが規則セットを用いる場合、取得中に変換が実施されるには以下の条件のいずれもが満たされなければならない。
エンキューする。
伝播が規則セットを用いる場合、伝播中に変換を実施するには以下の条件のいずれもが満たされなければならない。
適用プロセスが規則セットを用いる場合、適用中に変換が実施されるには以下の条件がいずれも満たされなければならない。
適用プロセスのデキュー中に変換関数が実行される際にエラーが生じた場合、エラーを生じたイベントはデキューされず、そのイベントを含むトランザクションは適用されず、そのエラーは適用プロセスに返され、適用プロセスが不能にされる。適用プロセスが可能にされ得る前に、ユーザは、規則ベースの変換を変更または除去してエラーを回避しなければならない。
一実施例に従い、適用プロセスは、(1)LCRを読出してLCR内で反映された変更
を識別し、(2)所望の変更を生じるデータベースコマンド(SQLコマンド等)を構築し、(3)データベースに対してデータベースコマンドを実行することにより、データベースに1組のLCRを「適用する」ように設定され得る。
さまざまなデータベース言語、たとえば構造化クエリー言語(Structured Query Language(SQL))は、この明細書で「カーソル」と呼ばれる特殊用途向けの構成体をサポートする。DBMSは、特定のクエリーのステートメントの結果を検索する前に、そのステートメントに対して大量の事前作業、たとえば構文解析、意味解析、およびクエリープラン生成を実施することができる。カーソルは、この事前作業の多くの結果を記憶する。したがって、クエリーのステートメントが到着すると、DBMSは最初に、そのステートメントと、カーソルが既に作成されたステートメントとの突合せを試みる。一致が発見された場合、カーソルは、そのクエリーのステートメントにより共有され、オーバーヘッド作業が回避される。
結果、取得プロセスは、そのログを読出して、変更に対応するLCRを生成する。このLCRはその後、ステージングエリアに記憶される。
上述のように、情報共有システム100のさまざまな構成要素は、特定のイベントが活動の複雑な連鎖を主に開始するように設定され得る。連鎖内の各活動(たとえば、1つのステージングエリアから別のステージングエリアへのイベントの伝播)自体が活動の別の連鎖を開始し得るため、サイクルが生じ得る。たとえば、情報共有システム100に対する構成要素が、第1のデータベースに対して行なわれた変更を第2のデータベースに伝播して、かつ、第2のデータベースに対して行なわれた変更を第1のデータベースに伝播するように設定されるものと仮定されたい。この場合、第1のデータベース内の変更に関連付けられたイベントは、第2のデータベースに伝播されてそこで適用される。しかしながら、第2のデータベースにおけるイベントの適用は、第2のデータベースに対する変更を構成する。第2のデータベースにおけるその変更に対するイベントは、(サイクリングを回避するメカニズムなしに)第1のデータベースに再び伝播されて、そこで適用される。第2のデータベースにおけるイベントの適用は、第1のデータベースに対する「変更」を構成し、このことは、プロセス全体の、それ自体の繰返しを生じる。一実施例に従い、情報共有システム100のさまざまな構成要素は、このようなサイクルが永続することを回避する態様でタグをセットして調べる。
一実施例によれば、再実行ログにおけるどの再実行エントリも、それに関連するタグを有する。タグのデータ型はRAWである。デフォルトにより、ユーザまたはアプリケーションが再実行エントリを生成すると、タグの値は各再実行エントリについてNULLであり、NULLタグは再実行エントリにおいて空間を消費しない。
ることができる。タグは他のLCR追跡目的のためにも用いられてもよい。ユーザはまた、タグを用いて、各LCR用の1組の宛先データベースを特定することもできる。
・取得プロセスは、ある変更についての再実行ログにおけるタグがNULLで、かつ、
規則条件の残りがその変更についてTRUEと評価する場合に限り、その変更を取得する
・伝播は、あるLCRにおけるタグがNULLで、かつ、規則条件の残りがそのLCRについてTRUEと評価する場合に限り、そのLCRを含むイベントを伝播する
・適用プロセスは、あるLCRにおけるタグがNULLで、かつ、規則条件の残りがそのLCRについてTRUEと評価する場合に限り、そのLCRを含むイベントを適用する。
得され、伝播され、適用される。通常、データベースアドミニストレータらは、オンラインバックアップステートメントの複製を望まない。むしろ、彼らはそれらが元々実行されるデータベースで実行することしか望んでいない。オンラインバックアップステートメントの複製を避けるために、ユーザは以下の方策のうちの1つを使用できる:
・SET TAGプロシージャへの1つ以上の呼出をユーザのオンラインバックアッププロシージャに含めて、オンラインバックアップステートメントが取得プロセスに無視されるようにする値にセッションタグをセットする
・適用プロセス用のDDLハンドラを使用して、オンラインバックアップステートメントの適用を回避する。
適用プロセスは、それがDML変更またはDDL変更を適用する際に、宛先データベースの再実行ログにエントリを生成する。たとえば、適用プロセスがテーブルのある行を更新する変更を適用する場合、その変更は宛先データベースの再実行ログに記録される。ユーザは、DBMS_APPLY_ADMパッケージのCREATE_APPLYまたはALTER_APPLYプロシージャにおけるapply_tagパラメータをセットすることによって、これらの再実行エントリにおけるタグを制御できる。たとえば、適用プロセスは、‘0’(ゼロ)または‘1’の16進法の値と同等の再実行タグを生成してもよい。
2つ以上のデータベース共有データを双方向的に含む環境では、ユーザはタグを用いて変更サイクリングを回避することができる。変更サイクリングとは、変更をそれが生じたデータベースに送り返すことを意味する。通常、変更サイクリングは回避されるべきである。なぜなら、それは、各変更が無限ループを通ってそれが生じたデータベースに戻ることをもたらす場合があるためである。そのようなループは、データベースに意図しないデータをもたらして、環境のネットワーキングおよびコンピュータ資源に負担をかける場合がある。
・各データベースは共有データ用のソースおよび宛先データベースである
・いくつかの2次データベースとデータを共有する1次データベース
・いくつかの拡張2次データベースとデータを共有する1次データベース。
このシナリオは、各データベースが他のすべてのデータベースにとってのソースデータベースであり、各データベースが他のすべてのデータベースの宛先データベースである環境に関与する。各データベースは他のすべてのデータベースと直接通信する。
このシナリオは、1つのデータベースが1次データベースで、この1次データベースがいくつかの2次データベースとデータを共有している情報共有システム100環境に関与する。2次データベースは1次データベースとしかデータを共有しない。2次データベース同士は互いに直接データを共有することはないが、代わりに、1次データベースを介して互いに間接的にデータを共有する。この種の環境は時折「ハブアンドスポーク」環境と呼ばれ、1次データベースがハブ、2次データベースがスポークとなっている。
ロセスを作成するために、以下のプロシージャを実行する。
ML取得プロセス規則および1つのDDL取得プロセス規則を、変更についてのタグにかかわらず生成するために、1次データベースで以下のプロシージャを実行する。
については、そのような規則は以下の条件を含むべきである。
・ある2次データベースで生じた変更は決してその2次データベースに伝播し返されない
・1次データベースで生じた変更は決して1次データベースに伝播し返されない
・この環境における任意のデータベースで共有データに対して行なわれた変更はすべて、この環境における他のすべてのデータベースに伝播される。
この環境では、1つの1次データベースがいくつかの2次データベースとデータを共有するが、2次データベースは、それらに接続された、遠隔2次データベースと呼ばれる他の2次データベースを有する。この環境は、「いくつかの2次データベースとデータを共有する1次データベース」で説明された環境の拡張である。
データベースは、たとえばフロッピー(登録商標)ディスク、ハードディスクまたはテープといった永続的な電子データ記憶媒体上に、整合した、かつ回復可能な態様で情報を記憶し、編成するために使用される。データベースはまた、それが記憶媒体に対して行なうすべての変更について、再実行および取消情報のストリームを生成する。再実行/取消ストリームは主として、クラッシュ後、データベースを一定の点まで回復させるために使用される。
・再実行ストリームの各変更には、ここで変更順序番号(またはCSN)と呼ばれる、一意的でかつ増加する番号が割当てられる
・取得エンジンは、変更をFIFOバッファにCSN順で追加する
・伝播エンジンは、変更を移送する間、CSN順を保持する
・適用エンジンはこの順序を用いて、変更を適用する順番を決定する。
残念ながら、非常駐メモリに記憶されている情報は、故障が起こるとそのメモリから永久に消去される場合がある。そのような情報損失は、変更が宛先サイトで1回のみ適用されることを必要とするシステムにおいて壊滅的な影響を与える場合がある。すなわち、何の予防措置も取られていない場合、取得エンジンも適用エンジンも、どの変更が故障の前に送信されたもののまだ適用されていなかったかがわからない。このため、既に適用された変更を、取得エンジンが再送し、適用エンジンが再適用する、という危険が大いにある。逆に、故障の前に送信されたもののまだ適用されていなかった変更を、取得エンジンが再送せず、適用エンジンが決して適用しない、という危険もある。
)以前に送信され、適用されたいくつかの変更を再送する。しかしながら、第2のカテゴリに該当する変更の数は通常、非常に少ない。なぜなら、それは、適用された変更で、かつそのCSNがソースサイトで記憶されているLAST ACK CSNよりも大きい変更しか含まないためである。
CSNを追跡しているため、宛先サイト2402は、CSN31〜CSN50に関連する変更を再度適用しない、ということを理解している。
播エンジンに認証される。これらの状況において、適用エンジンはまず、(永続的なキューが空でない場合)永続的なキューにおける変更を見て、次に、永続的なキューが一旦空になれば、FIFOバッファから変更を適用する。
いくつかの故障シナリオでは、揮発性メモリ内の全情報が失われるわけではない。たとえば、図24に示すシステムでは、取得エンジンは、ソースサイト2400の揮発性メモリに記録されている全データを失うことなく、故障するかもしれない。そのような故障から迅速に回復するために、LAST PROCESSED CSN(最後に処理されたCSN)が揮発性メモリに保持されていてもよい。あるエンジンによって記憶されているLAST PROCESSED CSNは、そのエンジンによって最も直前に処理された変更のCSNを示す。たとえば、ソースサイト2400上の取得プロセスは、適用エンジンが最も直前にFIFOバッファ2410に配置した変更のCSNを示すLAST PROCESSED CSNを記憶していてもよい。同様に、中間サイト2404上の伝播エンジンは、宛先サイト2402に最も直前に伝播された変更のCSNを示すLAST PROCESSED CSNを記憶していてもよい。
いくつかの環境では、取得、伝播および適用される変更は、トランザクションに属していてもよい。トランザクションとは、単一の原子動作として「永続的になる」1組の動作である。変更がトランザクションに属する環境では、さまざまなトランザクションについての変更が、CSN順に関して互いにインタリーブされてもよい。たとえば、第1のトランザクションTX1についての変更にCSN10、11、15および17が割当てられ、一方、第2のトランザクションTX2についての変更にCSN12、13、14、16、18および20が割当てられてもよい。
一実施例によれば、適用中の変更がトランザクションの一部である場合、適用エンジンによって上流に送信されるACKメッセージは、LAST APPLIED CSNというよりもむしろ、OLDEST CSN値を含む。OLDEST CSNとは、コミットされていないすべてのトランザクションの最も古い変更CSNである。一実施例によれば、OLDEST CSN値は、適用エンジンによって永続的に記憶され、ACKメッセージを用いて定期的に上流に通信される。
CSN12、13、17、20での変更を有するTX1
CSN11、14、15、18、19および23での変更を有するTX2
CSN16、21、22、24および25での変更を有するTX3。
変更CSNは16であるためである。この時点で、LAST COMMITTED CSNも23に変更される。
上述の説明では、トランザクションがそれらのコミットCSNの順序で適用されると仮定された。このため、ある変更が、LAST COMMITTED CSNよりも大きいCSNを有するトランザクションについてである場合、その変更はまだ適用されていないと仮定することができる。しかしながら、一実施例によれば、適用エンジンは変更を並行して、かつ、全トランザクションがそれらのコミットCSNの順序で適用されることを保証せずに整合性を保証する順序で適用することができる。
一実施例によれば、LOW WATERMARK CSNは、LOW WATERMARK CSNよりも低いかまたはそれと等しいコミットCSNを有するトランザクションがすべて適用済みであると保証されるようなCSNである。トランザクションが常にCSNコミット順で適用されるシステムでは、LOW WATERMARK CSNはLAST COMMITTED CSNと同じである。しかしながら、トランザクションが必ずしもCSNコミット順で適用されるとは限らないシステムでは、LOW WATERMARK CSNが、最も直前に適用されたトランザクションのコミットCSNよりも小さいということが起こり得る。
る場合、および(2)ちょうど適用されたばかりのトランザクションのコミットCSNよりも低いコミットCSNを有する、適用されていないトランザクションがない場合に、LOW WATERMARK CSNを「高める」。
LOW WATERMARKを上回るコミットCSNを有する、既に適用されたトランザクションを、ここにABOVE-MARK APPLIEDトランザクションと呼ぶ。上述の例では、TX3がTXの前に十分に適用された場合、TX3はABOVE-MARK APPLIEDトランザクションとなった。一実施例によれば、適用エンジンは、LOW WATERMARK CSNに加え、ABOVE-MARK APPLIEDトランザクションについての情報を永続的に記憶する。一実現化例によれば、ABOVE-MARK APPLIEDトランザクションについての情報は揮発性メモリのハッシュテーブルに保持され、ハッシュテーブルは永続的なストレージ上にバックアップされる。
永続的なストレージ上にLOW WATERMARK CSN、ABOVE-MARK APPLIEDトランザクションについての情報、およびOLDEST CSNを保持する一実施例では、適用エンジンは、(1)OLDEST CSNよりも低いCSNに関連する変更、(2)LOW WATERMARK CSNよりも小さいコミットCSNを有するトランザクションに属する変更、(3)変更が属するトランザクションのHIGHEST-SO-FAR CSNよりも小さいかまたはそれと等しいCSNを有する変更、および(4)ABOVE-MARK APPLIEDトランザクションに属する変更を廃棄することによって、既に適用された変更を廃棄する。
れる。
図25を参照すると、それは、永続的に記憶されるLOW WATERMARK、永続的に記憶されるOLDEST CSN、ABOVE-MARK APPLIEDトランザクションを識別する永続的に記憶されるデータ、および非永続的に記憶されるHIGHEST-SO-FAR CSNを用いて1回のみの運転を達成する、この発明の一実施例に従った適用エンジンによって実行されるステップを示すフローチャートである。
コミットCSNを有する、適用されていないトランザクションがない場合、LOW WATERMARKは更新される。制御はステップ2520に渡る。
上述のように、データベースオブジェクトのいくつかのコピーを保持することが有益な多くの状況がある。上述の例の多くは、各複製に含まれるデータが、同じデータベースオブジェクトの他のすべてのデータに含まれるデータと整合性を保つことを確実にするために、情報共有システム100がいかに用いられ得るか、について説明している。すなわち、情報共有システム100は、複製のうちのいずれか1つに対して行なわれた変更を、他の複製の各々が存在するサイトに伝播し、適用するために使用されてもよい。
れらのデータベース内で対応するDDLステートメントを発行することによってイベントを「適用」するよう設定されてもよい。これらのDDLステートメントの実行により、テーブルT1の複製の作成がデータベースの各々において作成される。
DDL動作についての再実行情報を生成しないシステムでは、DDL動作の結果として生成される再実行情報が依然として存在する場合がある。たとえば、DDL動作がデータベース内でのテーブルの作成をもたらしたと仮定されたい。テーブルの作成は、データベースのさまざまなテーブルについてのメタデータを記憶するために使用される既存のシステムテーブルに、データの1つ以上の行を挿入するDML動作を伴ってもよい。これらのシステムテーブル内のデータに対して行なわれた変更に応じて、DML再実行情報が生成されてもよい。しかしながら、システムテーブルの内容への変更をもたらした特定のDDL動作を、それらのシステムテーブルへの更新に応じて生成される再実行情報のみに基づいて再度構築しようとすることは、不可能ではないものの、極度に困難である。このため、それらのDDL動作について特定の情報を生成することは、DDL動作の非同期的複製が望まれる状況において著しい利点を提供する。
情報共有システム100は、情報を共有するために情報共有システム100を使用するあらゆるシステム間でDDL複製を実行するために使用されてもよい。したがって、双方向および多方向DDL複製が可能である。たとえば、情報共有システム100は、5つのデータベースシステム間でDDLを複製するのに、5つのデータベースシステムのうちのいずれか1つで実行されたDDLステートメントが、他の4つのデータベースシステムで実行中の対応するDDLステートメントをもたらすよう、設定されてもよい。
データベースシステムでそれからドロップされた別の列を有する場合がある。これらの変更の各々が行なわれるにつれて、対応する変更が他の4つのデータベースシステムの各々で行なわれる。すなわち、第1のデータベースシステムにおけるテーブルの作成は、他の4つのデータベースシステムの各々におけるテーブルの複製の作成をもたらし得る。第2のデータベースシステムにおけるその後の列の追加は、対応する列が他の4つのデータベースシステムの各々におけるテーブルの複製に追加されることをもたらす。第3のデータベースシステムにおけるその後の列のドロップは、対応する列が他の4つのデータベースシステムの各々におけるテーブルの複製でドロップされることをもたらす。これらのDDL動作のすべてがさまざまなデータベース間で複製されている間、(DDL動作およびDML動作を含む)活動が引続きデータベース上で、さらにはDDL動作のターゲットであるテーブル上でですら、何の制約もなく起こり得る。
上述の例では、複製されたDDL動作は、テーブルに関する動作である。しかしながら、情報共有システム100は、任意の形のDDL動作を複製するために使用されてもよい。たとえば、情報共有システム100は、ユーザがある特定のデータベースシステムに追加されるのに応じて、1つ以上のデータベースシステムに新規ユーザを作成するために使用されてもよい。同様に、情報共有システム100は、ユーザがある特定のデータベースシステムに追加されるのに応じて、1つ以上のデータベースシステムに新しい許可を作成するために使用されてもよい。
(1)DML変更の第1の組がオブジェクトに対して行なわれ、次に(2)DDL動作がそのオブジェクトに対して実行され、次に(3)DML変更の第2の組がそのオブジェクトに対して行なわれる、というシナリオを考慮されたい。オブジェクトへのDML変更およびDDL変更の双方が複製中である場合には、宛先が、複製へのDDL変更の前にDML変更の第1の組を適用し、複製へのDDL変更の後でDML変更の第2の組を適用することが重要である。
ムが提供される。たとえば、上に提示したシナリオでは、DDL動作はDML変更の第1の組に従属しており、DML変更の第2の組はDDL動作に従属している。この従属性情報を追跡し、DML変更およびDDL変更が複製される宛先サイトに従属性情報を運ぶことによって、宛先サイトは、変更が適切な順序で実行されることを確実にすることができる。
上述の例の多くでは、情報共有システム100は、1つの「ソース」システム内で行なわれた変更についての情報を、1つ以上の「宛先」システムと共有するために使用される。変更情報を運ぶために使用される記録の構造は、実現化例ごとに異なっていてもよい。ここに説明される手法は、記録用のどの特定の構造にも依存しない。
図26は、この発明の一実施例が実現され得るコンピュータシステム2600のブロック図を示す。コンピュータシステム2600は、情報を通信するためのバス2602または他の通信メカニズムと、情報を処理するためにバス2602と結合されたプロセッサ2604とを含む。コンピュータシステム2600はまた、プロセッサ2604により実行されるべき命令および情報を記憶するためにバス2602に結合された、ランダムアクセスメモリ(RAM)または他のダイナミック記憶装置といったメインメモリ2606も含む。メインメモリ2606は、プロセッサ2604により実行されるべき命令の実行中に一時的な変数または他の中間情報を記憶するためにも使用されてもよい。コンピュータシステム2600はさらに、プロセッサ2604用の命令およびスタティック情報を記憶するためにバス2602に結合された読出専用メモリ(ROM)2608または他のスタティック記憶装置を含む。磁気ディスクまたは光ディスクといった記憶装置2610が、情報および命令を記憶するために提供され、バス2602に結合されている。
サ2604は、ここに説明されたプロセスステップを実行するようになる。代替的な実施例では、この発明を実現するために、ソフトウェア命令の代わりに、またはソフトウェア命令と組合わせて、配線接続回路が使用されてもよい。このため、この発明の実施例は、配線接続回路とソフトウェアとのどの特定の組合せにも限定されない。
ネットワーク2622およびインターネット2628は双方とも、デジタルデータ共有システム100を搬送する電気信号、電磁信号または光信号を使用する。コンピュータシステム2600へ、またはコンピュータシステム2600からデジタルデータを搬送する、さまざまなネットワークを通る信号、ネットワークリンク2620上の信号、および通信インターフェイス2618を通る信号は、情報を運ぶ搬送波の例示的な形態である。
Claims (67)
- 情報を共有するための方法であって、
明示的な取得プロセスが、ステージングエリアに関連するAPIを介して明示的な呼出を行なうことにより、前記ステージングエリアに1つ以上の情報項目の第1の組を追加するステップと、
暗黙的な取得プロセスが、前記暗黙的な取得プロセスに関連するシステムにおいて起こるイベントに基づいて、前記ステージングエリアに1つ以上の情報項目の第2の組を自動的に追加するステップと、
消費プロセスが、前記ステージングエリアに記憶された情報項目を消費するステップとを含む、方法。 - 1つ以上の情報項目の第2の組を自動的に追加する前記ステップは、データベースシステム内に生成されるログファイルの内容に基づいて、前記ステージングエリアに情報項目を挿入する取得プロセスによって実行される、請求項1に記載の方法。
- 前記ステージングエリアは前記データベースシステムによって管理される、請求項2に記載の方法。
- 前記ログは、前記データベースシステム内で行なわれた変更を識別し、1つ以上の情報項目の前記組は、1組の前記変更を反映する記録を含む、請求項2に記載の方法。
- 前記1組の前記変更は、前記ログに反映されるすべての変更のサブセットであり、
前記取得プロセスは、前記データベースシステム内に記憶されたメタデータに示された規則に基づいて、前記記録においてどの変更を反映させるかを選択する、請求項4に記載の方法。 - 前記明示的な取得プロセス、前記暗黙的な取得プロセス、および前記消費プロセスは、情報共有システムの構成要素であり、
前記方法はさらに、
前記情報共有システムが、前記構成要素の少なくとも1つがどのように機能すべきかを示す1つ以上の規則を特定する規則データを受取るステップと、
前記情報共有システム内に前記1つ以上の規則を表わすメタデータを記憶することによって、前記規則データを登録するステップと、
前記少なくとも1つの構成要素が前記メタデータを読出し、前記メタデータにおいて特定される態様で機能するステップとを含む、請求項1に記載の方法。 - 前記規則データは、前記少なくとも1つの構成要素が前記情報項目をどのように変換すべきかを示す規則を含む、請求項6に記載の方法。
- 前記情報共有システムはデータベースシステムを含み、
前記規則データを登録する前記ステップは、前記データベースシステム内に、前記1つ以上の規則を表わすメタデータを記憶するステップを含み、
前記少なくとも1つの構成要素は、前記データベースシステム内で実行するプロセスである、請求項6に記載の方法。 - 前記暗黙的な取得プロセスが、1つ以上の情報項目の前記第2の組の各情報項目内に、前記情報項目が前記システムにおいて起こったイベントに対応していることを示すタグ値を記憶するステップと、
さもなければ前記イベントが前記システム内で再度適用されることを引き起こすサイク
ルを回避するために、前記タグ値を使用するステップとをさらに含む、請求項1に記載の方法。 - 前記情報項目を前記ステージングエリアから第2のシステムに伝播するステップと、
前記第2のシステムにおいて前記情報項目に関連する前記イベントを適用することによって、前記第2のシステムにおいて変更を行なうステップとをさらに含み、
前記第2のシステムは、前記第2のシステムにおける変更を前記第1のシステムに伝播するよう設定されており、
サイクルを回避するために前記タグ値を使用する前記ステップは、前記情報項目における前記タグ値に基づいて、前記変更が前記第1のシステムに伝播されることを防止するステップを含む、請求項9に記載の方法。 - 前記システムは第1のシステムであり、
前記暗黙的な取得プロセスは、前記第1のシステムに対して遠隔の第2のシステムにおいて実行される、請求項1に記載の方法。 - 前記第1のシステムから前記第2のシステムにログを通信するステップと、
前記暗黙的な取得プロセスが、前記ログに含まれる情報に基づいて、情報項目の前記第2の組を生成するステップとをさらに含む、請求項11に記載の方法。 - 前記第1のシステムは第1のデータベースシステムであり、
前記第2のシステムは第2のデータベースシステムであり、
前記ログは、前記第1のデータベースシステムにより生成される再実行ログであり、
情報項目の前記第2の組は、前記第1のデータベースシステムにおいて行なわれた変更を識別する、請求項12に記載の方法。 - 前記ステージングエリアは前記第2のデータベースシステム内にあり、
前記方法はさらに、前記ステージングエリアから情報項目の前記第2の組を読出し、情報項目の前記第2の組に基づいて前記第2のデータベースシステムにおいて変更を行なうために、適用プロセスを使用するステップを含む、請求項13に記載の方法。 - 情報を共有するための方法であって、
取得プロセスが、前記取得プロセスに関連する第1のシステムにおいて起こるイベントに基づいて、前記ステージングエリアに1つ以上の情報項目の組を自動的に追加するステップと、
前記取得プロセスが、1つ以上の情報項目の前記組の各情報項目内に、前記情報項目が前記第1のシステムにおいて起こったイベントに対応していることを示すタグ値を記憶するステップと、
情報項目を前記ステージングエリアから第2のシステムに伝播するステップと、
前記情報項目に関連する前記イベントを前記第2のシステムにおいて適用することによって、前記第2のシステムにおいて変更を行なうステップとを含み、
前記第2のシステムは、前記第2のシステムにおける変更を前記第1のシステムに伝播するよう設定されており、前記方法はさらに、
前記情報項目における前記タグ値に基づいて、前記変更が前記第1のシステムに伝播されることを防止することによってサイクルを回避するために、前記タグ値を使用するステップを含む、方法。 - 情報を共有するための方法であって、
取得プロセスが、第1のデータベースシステムにおいて生成される再実行ログファイルを調べるステップと、前記再実行ログファイルにおいて示されるイベントに基づいて、ス
テージングエリアに1つ以上の情報項目の組を追加するステップとを自動的に行なうステップと、
消費プロセスが、前記再実行ログファイルに示されるイベントに基づいて、前記ステージングエリアの情報項目を読出し、第2のデータベースシステムにおいて変更が行なわれるようにすることによって、前記ステージングエリアから情報項目を自動的に処理するステップとを含む、方法。 - 前記第2のデータベースにおいて変更が行なわれるようにする前記ステップは、前記第1のデータベースシステムにおける1つ以上のデータベースオブジェクトの複製を前記第2のデータベースシステムに保持するステップを含み、前記1つ以上のデータベースオブジェクトは前記第1のデータベースシステムにおける複製可能なオブジェクトのサブセットである、請求項16に記載の方法。
- 変更が行なわれるようにする前記ステップは、
前記変更をもたらすためにデータベースコマンドを構築するステップと、
前記データベースコマンドを前記第2のデータベースシステムに提出するステップとを含む、請求項16に記載の方法。 - 前記第1のデータベースシステムは、前記第2のデータベースシステムとは異なる種類のデータベースシステムである、請求項16に記載の方法。
- サブスクライバを示すサブスクリプションデータと、前記サブスクライバが関心を持つ情報とを受取るステップと、
第2の消費プロセスが、前記ステージングエリアから情報項目を自動的に読出し、前記サブスクリプションデータに基づいて、前記情報項目に関連するイベントに関心があるサブスクライバに通知するステップとをさらに含む、請求項16に記載の方法。 - 情報を共有するための方法であって、
1組の取得規則をデータベースシステム内に登録するステップと、
1組の伝播規則を前記データベースシステム内に登録するステップと、
前記1組の取得規則に基づいて、前記データベースシステム内で起こるどのイベントが取得されるべきかを判断するステップと、
前記イベントについての情報をステージングエリアに記憶することによって、前記イベントを取得するステップと、
前記1組の伝播規則に基づいて、前記ステージングエリアから情報をどのように伝播するかを判断するステップと、
前記1組の伝播規則に基づいて、前記ステージングエリアから情報を伝播するステップとを含む、方法。 - 1組の適用規則を登録するステップと、
前記ステージングエリアから伝播された前記情報を受取るステップと、
前記1組の適用規則に基づいて、前記ステージングエリアから受取られた前記情報を適用するステップとをさらに含む、請求項21に記載の方法。 - 前記イベントを取得する前記ステップは、前記データベースシステムによって生成されるログを読出すステップと、前記ログにおいて識別されたイベントについての情報を前記ステージングエリアに選択的に記憶するステップとを含む、請求項21に記載の方法。
- 伝播の前記ステップは、前記情報を第2のステージングエリアに伝播するステップを含み、
前記方法はさらに、前記第2のステージングエリアにおいて識別された変更を第2のデータベースシステムに適用するステップを含む、請求項21に記載の方法。 - 前記方法はさらに、1組の適用規則を登録するステップを含み、
変更を適用する前記ステップは、前記1組の適用規則に基づいて実行される、請求項24に記載の方法。 - 前記方法はさらに、ユーザプロシージャを登録するステップを含み、
変更を適用する前記ステップは、前記ユーザプロシージャに基づいて実行される、請求項24に記載の方法。 - 情報を共有するための方法であって、
取得プロセスが、1つ以上の情報項目の第1の組をステージングエリアに追加するステップと、
適用プロセスが、前記ステージングエリアから情報項目を自動的に読出し、前記情報項目を選択的に消費するステップと、
明示的なデキュープロセスが、前記ステージングエリアに関連するAPIに明示的な呼出を行なうことによって、前記ステージングエリアから情報項目を消費するステップとを含む、方法。 - システムにおいて行なわれた変更に応じるための方法であって、
前記変更に変更時点を割当てるステップと、
前記変更の記録を生成するステップとを含み、前記記録を生成する前記ステップは、前記変更が行なわれるときに対して非同期的に実行され、前記方法はさらに、
前記変更の前記記録を読出すステップを含み、前記記録を読出す前記ステップは、前記記録が生成されるときに対して非同期的に実行され、前記方法はさらに、
フラッシュバッククエリーを実行するステップを含み、前記フラッシュバッククエリーは、前記変更時点に基づくアクセス時点で前記システムからのデータを処理し、前記方法はさらに、
前記フラッシュバッククエリーの結果に基づいて、前記変更に応じて実行するアクションを決定するステップを含む、方法。 - 前記システムはデータベースシステムであり、
記録を生成する前記ステップは、前記データベースシステムによって生成されるログファイルから読出される情報に基づいて実行される、請求項28に記載の方法。 - 前記記録を生成する前記ステップは、前記記録を前記ステージングエリアに記憶させる取得プロセスによって実行され、
前記記録を読出す前記ステップは、前記ステージングエリアに記憶された記録を消費する消費プロセスによって実行される、請求項28に記載の方法。 - 項目の順序の1回のみの取扱いを達成するための方法であって、
宛先サイトに他のサイトから到着する、項目の前記順序における各項目について、
前記項目に関連する順序番号を読出すステップと、
1組の条件が満たされているかどうかに基づいて、前記項目が既に処理されているかどうかを判断するステップとを実行し、前記1組の条件は、前記項目に関連する前記順序番号と永続的に記憶されたウォータマーク値との比較を必要とする条件を含んでおり、さらに、
前記1組の条件が満たされている場合に限り前記項目を処理するステップを実行するステップと、
前記項目が前記宛先サイトで処理されるにつれて、前記項目に関連する前記順序番号に基づいて、どの項目が処理されたかを示すために前記永続的に記憶されたウォータマーク値を繰返し更新するステップと、
前記宛先サイトから前記他のサイトにメッセージを定期的に送信するステップとを含み、前記メッセージは、前記宛先サイトでどの項目が処理されたかを示す、方法。 - 前記項目はトランザクションの断片に対応しており、
前記ウォータマーク値は、その変更が前記宛先サイトで完全に適用されたトランザクションのコミット時点を示している、請求項31に記載の方法。 - 前記ウォータマーク値は、その変更が適用エンジンによって最も直前に適用されたトランザクションのコミット時点を示している、請求項32に記載の方法。
- 前記ウォータマーク値はコミット時点を示しており、前記ウォータマーク値の、またはそれを下回るコミット時点を有するトランザクションはすべて、適用エンジンによって適用されたと保証される、請求項32に記載の方法。
- 永続的に記憶されたウォータマーク値を繰返し更新する前記ステップは、前記宛先サイトで十分に適用されるべき最も直前のトランザクションのコミット時点を反映するよう、前記永続的に記憶されたウォータマーク値を繰返し更新するステップを含む、請求項32に記載の方法。
- 前記項目はトランザクションの断片に対応しており、
メッセージを定期的に送信する前記ステップは、その変更が前記宛先サイトで完全には適用されていないトランザクションの最も古い変更時点を示すメッセージを定期的に送信するステップを含む、請求項31に記載の方法。 - 前記宛先サイトでまだ十分に適用されていない最も古いトランザクションの最も古い変更時点を反映するために、永続的に記憶されたOLDEST CSN値を繰返し更新するステップをさらに含む、請求項36に記載の方法。
- 前記宛先サイトでの障害に応じて、前記永続的に記憶されたOLDEST CSN値を読出し、前記永続的に記憶されたOLDEST CSN値に基づいて、前記宛先サイトに再送されるべき項目を要求するステップをさらに含む、請求項37に記載の方法。
- 前記宛先サイトでの障害に応じて、前記永続的に記憶されたウォータマーク値を読出し、前記永続的に記憶されたウォータマーク値に基づいて、前記宛先サイトに再送されるべき項目を要求するステップをさらに含む、請求項31に記載の方法。
- 前記他のサイトはソースサイトであり、
前記方法はさらに、
前記ソースサイトが、前記メッセージにおいて受取られた情報を永続的なストレージに定期的に記憶するステップと、
前記ソースサイトでの障害の後、前記ソースサイトが、永続的なストレージから前記情報を読出すステップ、および、前記情報に基づいて前記宛先サイトに項目を再送するステップを実行するステップとを含む、請求項31に記載の方法。 - 前記他のサイトは、前記項目を第3のサイトから受取る中間サイトであり、
前記方法はさらに、
前記中間サイトが、前記メッセージにおいて受取られた情報を永続的なストレージに定
期的に記憶するステップと、
前記中間サイトでの障害の後、前記中間サイトが、永続的なストレージから前記情報を読出すステップ、および、前記情報に基づいて前記中間サイトに項目を再送するよう前記第3のサイトに要求するステップを実行するステップとを含む、請求項31に記載の方法。 - 前記中間サイトは前記情報を前記第3のサイトに定期的に送信する、請求項41に記載の方法。
- 前記項目は、第1のトランザクションの断片と第2のトランザクションの断片とを含み、前記第1のトランザクションは前記第2のトランザクションの前にコミットされており、
前記永続的に記憶されたウォータマーク値を繰返し更新する前記ステップは、
前記宛先サイトが前記第1のトランザクションの適用を終了する前に、前記宛先サイトが前記第2のトランザクションの適用を終了している場合には、前記宛先サイトは、前記永続的に記憶されたウォータマークを変更することなく、前記第2のトランザクションが十分に適用されていることを示す情報を永続的に記憶するステップと、
前記宛先サイトが前記第2のトランザクションの適用を終了する前に、前記宛先サイトが前記第1のトランザクションの適用を終了しており、かつ、前記第1のトランザクションを下回るコミット時点を有するトランザクションがすべて、十分に適用されている場合には、前記第1のトランザクションに関連する順序番号に基づいて前記永続的に記憶されたウォータマークを更新するステップとを含む、請求項31に記載の方法。 - 前記項目は、第1のデータベースにおいて実行されたトランザクションによって行なわれた変更を識別し、
前記宛先サイトは、前記第1のデータベースとは異なる第2のデータベースに前記変更を反映させることによって、前記項目を処理する、請求項31に記載の方法。 - 前記変更を反映させる前記ステップは、
前記第1のデータベースにおいて実行されたある特定のトランザクションに関連する前記変更に基づいて、1つ以上のデータベースコマンドの組を構築するステップと、
1つ以上のデータベースコマンドの前記組を、前記第2のデータベースにおけるトランザクションとして実行するステップとを含む、請求項44に記載の方法。 - データベースオブジェクトに関連するDDL動作に応じるための方法であって、
データベースオブジェクトに関連するDDLステートメントの実行に応じて、前記DDLステートメントによって行なわれた変更を示す記録を生成するステップと、
前記記録に基づいて、前記DDLの実行に対して非同期的なアクションを実行するステップとを含む、方法。 - 前記記録は従属性情報を含んでおり、
前記方法はさらに、
他のどのアクションが前記アクションに従属するかを判断するために前記従属性情報を使用するステップと、
前記アクションに従属していない他のアクションと並行して前記アクションを実行するステップとを含む、請求項46に記載の方法。 - アクションを実行する前記ステップは、対応する変更が行なわれるようにするステップを含み、
前記対応する変更は、前記データベースオブジェクトの複製に対して行なわれる、請求
項46に記載の方法。 - 対応する変更が行なわれるようにする前記ステップは、前記データベースオブジェクトの複製に関与するどのデータベースもクェーシングすることなく実行される、請求項48に記載の方法。
- 対応する変更が行なわれるようにする前記ステップは、前記データベースオブジェクトの複製に関与するどのデータベースにおいてもユーザ活動を制約することなく実行される、請求項48に記載の方法。
- 前記DDLステートメントの前記実行は、前記データベースオブジェクトの作成をもたらし、前記対応する変更は前記複製の作成をもたらす、請求項48に記載の方法。
- 前記DDLステートメントの実行は、前記データベースオブジェクトがどのように構成されるかを変更し、前記対応する変更は、前記複製の構成において変更をもたらす、請求項48に記載の方法。
- 記録を生成する前記ステップは、再実行ログに情報を記憶するステップを含む、請求項48に記載の方法。
- 対応する変更が行なわれるようにする前記ステップは、
前記再実行ログから前記情報を読出すステップと、
前記再実行ログからの前記情報に基づいて、前記データベースオブジェクトがどのように変更されたかを示す変更データを生成するステップと、
前記変更データを前記複製に適用するステップとを含む、請求項53に記載の方法。 - 前記変更データを生成する前記ステップは、前記DDLステートメントの実行に対して非同期的に実行される、請求項54に記載の方法。
- 前記再実行ログは、前記データベースオブジェクト内のデータに行なわれた変更を識別する情報を含んでおり、
前記方法はさらに、前記再実行ログからの情報に基づいて、前記複製に含まれるデータを変更するステップを含む、請求項53に記載の方法。 - 前記変更データを前記複製に適用するステップの前に、前記変更データをステージングエリアに記憶するステップをさらに含む、請求項54に記載の方法。
- 前記ステージングエリアから前記変更データを読出し、前記複製が位置するサイトに前記変更データを伝播するステップをさらに含む、請求項57に記載の方法。
- 変更データを生成する前記ステップは、ユーザによって登録された規則セットに基づいて、取得エンジンにより実行される、請求項54に記載の方法。
- 前記変更データを伝播する前記ステップは、ユーザによって登録された規則セットに基づいて、伝播エンジンにより実行される、請求項58に記載の方法。
- 前記変更データを適用する前記ステップは、ユーザによって登録された規則セットに基づいて、適用エンジンにより実行される、請求項54に記載の方法。
- 前記データベースオブジェクトは、データベースシステムの新規ユーザを確立するユー
ザオブジェクトであり、
前記DDLステートメントの実行は、前記ユーザオブジェクトを作成し、
対応する変更が行なわれるようにする前記ステップは、前記新規ユーザを前記他のデータベースシステムの新規ユーザとなるように確立するために、別のデータベースシステムに複製ユーザオブジェクトを作成するステップを含む、請求項48に記載の方法。 - 前記データベースオブジェクトは、データベースシステムのための1つ以上の許可の組であり、
前記DDLステートメントの実行は、前記1つ以上の許可を作成し、
対応する変更が行なわれるようにする前記ステップは、別のデータベースシステムに前記1つ以上の許可の複製を作成するステップを含む、請求項48に記載の方法。 - 前記DDLステートメントは第1のデータベースにおいて実行され、
前記複製は第2のデータベースに存在し、
前記方法はさらに、
前記複製に関連する第2のDDLステートメントの実行に応じて、前記第2のDDLステートメントによって行なわれた変更を示す第2の記録を生成するステップと、
前記記録に基づいて、第2の対応する変更が行なわれるようにするステップとを含み、前記第2の対応する変更は、前記第1のデータベースにおける前記データベースオブジェクトに対して行なわれる、請求項48に記載の方法。 - 前記データベースオブジェクトは、ビュー、トリガ、プロシージャ、インデックス、順序、同義語、ロールバックセグメント、アウトライン、データベースリンク、具体化されたビュー、および具体化されたビューログからなる組から選択される一種類のデータベースオブジェクトであり、
前記DDLステートメントの実行は、前記選択された種類のデータベースオブジェクトを作成し、
対応する変更が行なわれるようにする前記ステップは、前記種類のデータベースオブジェクトの複製を別のデータベースシステムに作成するステップを含む、請求項48に記載の方法。 - 前記DDLステートメントは第1のデータベースシステムにおいて実行され、
アクションを実行する前記ステップは、前記第1のデータベースシステムとは異なる第2のデータベースシステムにメッセージを送信するステップを含む、請求項46に記載の方法。 - 1つ以上のプロセッサによって実行される際、請求項1〜66のいずれかに記載された方法をプロセッサに実行させる命令を記憶している、コンピュータ読み取り可能な媒体。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US40053202P | 2002-08-01 | 2002-08-01 | |
US41088302P | 2002-09-13 | 2002-09-13 | |
US10/308,851 US7031974B1 (en) | 2002-08-01 | 2002-12-02 | Replicating DDL changes using streams |
US10/308,879 US8374966B1 (en) | 2002-08-01 | 2002-12-02 | In memory streaming with disk backup and recovery of messages captured from a database redo stream |
US10/308,924 US6889231B1 (en) | 2002-08-01 | 2002-12-02 | Asynchronous information sharing system |
PCT/US2003/023747 WO2004013725A2 (en) | 2002-08-01 | 2003-07-29 | Asynchronous information sharing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006501585A true JP2006501585A (ja) | 2006-01-12 |
JP4384633B2 JP4384633B2 (ja) | 2009-12-16 |
Family
ID=31499648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005506083A Expired - Lifetime JP4384633B2 (ja) | 2002-08-01 | 2003-07-29 | 非同期情報共有システム |
Country Status (6)
Country | Link |
---|---|
US (1) | US7103612B2 (ja) |
EP (1) | EP1543442B1 (ja) |
JP (1) | JP4384633B2 (ja) |
AU (1) | AU2003252183B2 (ja) |
CA (2) | CA2495469C (ja) |
WO (1) | WO2004013725A2 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005284395A (ja) * | 2004-03-26 | 2005-10-13 | Sharp Corp | 通信機器、通信システムの情報同期方法、通信機器の制御プログラム、記録媒体 |
JP2005309968A (ja) * | 2004-04-23 | 2005-11-04 | Kyosan Electric Mfg Co Ltd | 最新情報表示システム及びそれを使用した列車運行状況表示システム |
JP2010510590A (ja) * | 2006-11-17 | 2010-04-02 | マイクロソフト コーポレーション | ソフトウェアトランザクションのコミット順序および競合の管理 |
US8010550B2 (en) | 2006-11-17 | 2011-08-30 | Microsoft Corporation | Parallelizing sequential frameworks using transactions |
US8024714B2 (en) | 2006-11-17 | 2011-09-20 | Microsoft Corporation | Parallelizing sequential frameworks using transactions |
JP4855538B2 (ja) * | 2008-06-04 | 2012-01-18 | 株式会社アテナテレコムラボ | データベースのデータ項目の平行編集方式 |
JP4855537B2 (ja) * | 2008-06-04 | 2012-01-18 | 株式会社アテナテレコムラボ | データベース並行編集方式 |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7152076B2 (en) * | 2003-01-23 | 2006-12-19 | Microsoft Corporation | System and method for efficient multi-master replication |
CA2472887A1 (en) * | 2003-06-30 | 2004-12-30 | Gravic, Inc. | Methods for ensuring referential integrity in multithreaded replication engines |
US7873684B2 (en) * | 2003-08-14 | 2011-01-18 | Oracle International Corporation | Automatic and dynamic provisioning of databases |
US8311974B2 (en) | 2004-02-20 | 2012-11-13 | Oracle International Corporation | Modularized extraction, transformation, and loading for a database |
US8554806B2 (en) * | 2004-05-14 | 2013-10-08 | Oracle International Corporation | Cross platform transportable tablespaces |
US7571173B2 (en) * | 2004-05-14 | 2009-08-04 | Oracle International Corporation | Cross-platform transportable database |
US8949395B2 (en) | 2004-06-01 | 2015-02-03 | Inmage Systems, Inc. | Systems and methods of event driven recovery management |
US7430558B2 (en) * | 2005-01-31 | 2008-09-30 | International Business Machines Corporation | Transfer of table instances between databases |
US7610314B2 (en) * | 2005-10-07 | 2009-10-27 | Oracle International Corporation | Online tablespace recovery for export |
CA2626227C (en) * | 2005-10-28 | 2016-07-05 | Goldengate Software, Inc. | Apparatus and method for creating a real time database replica |
CN100405422C (zh) * | 2005-12-31 | 2008-07-23 | 华工科技产业股份有限公司 | 一种双卡防伪标识及其制作方法 |
US8838528B2 (en) * | 2006-05-22 | 2014-09-16 | Inmage Systems, Inc. | Coalescing and capturing data between events prior to and after a temporal window |
US8909599B2 (en) * | 2006-11-16 | 2014-12-09 | Oracle International Corporation | Efficient migration of binary XML across databases |
US7627595B2 (en) * | 2006-12-06 | 2009-12-01 | Verizon Data Services Inc. | Apparatus, method, and computer program product for synchronizing data sources |
US9058571B2 (en) * | 2007-08-31 | 2015-06-16 | Red Hat, Inc. | Tool for automated transformation of a business process definition into a web application package |
US8423955B2 (en) * | 2007-08-31 | 2013-04-16 | Red Hat, Inc. | Method and apparatus for supporting multiple business process languages in BPM |
US8825713B2 (en) * | 2007-09-12 | 2014-09-02 | Red Hat, Inc. | BPM system portable across databases |
US8914804B2 (en) | 2007-09-12 | 2014-12-16 | Red Hat, Inc. | Handling queues associated with web services of business processes |
US8954952B2 (en) * | 2007-11-30 | 2015-02-10 | Red Hat, Inc. | Portable business process deployment model across different application servers |
EP2157518A1 (en) * | 2008-08-19 | 2010-02-24 | Tieto Oyj | Method for delivering data |
US11176111B2 (en) * | 2013-03-15 | 2021-11-16 | Nuodb, Inc. | Distributed database management system with dynamically split B-tree indexes |
US9128965B1 (en) * | 2013-08-07 | 2015-09-08 | Amazon Technologies, Inc. | Configurable-capacity time-series tables |
US20150149259A1 (en) * | 2013-11-26 | 2015-05-28 | Chang Bin Song | Enterprise performance management planning model for an enterprise database |
US9922300B2 (en) * | 2013-11-26 | 2018-03-20 | Sap Se | Enterprise performance management planning operations at an enterprise database |
US10546149B2 (en) | 2013-12-10 | 2020-01-28 | Early Warning Services, Llc | System and method of filtering consumer data |
US10769296B2 (en) | 2013-12-10 | 2020-09-08 | Early Warning Services, Llc | System and method of permission-based data sharing |
US9558078B2 (en) | 2014-10-28 | 2017-01-31 | Microsoft Technology Licensing, Llc | Point in time database restore from storage snapshots |
US11113320B2 (en) * | 2014-12-19 | 2021-09-07 | Here Global B.V. | Versioned change propagation |
US20170255663A1 (en) * | 2016-03-07 | 2017-09-07 | Researchgate Gmbh | Propagation of data changes in a distributed system |
CN106326376A (zh) * | 2016-08-15 | 2017-01-11 | 东软集团股份有限公司 | 用于表结构变更后的信息复制方法和装置 |
US11347713B2 (en) * | 2019-09-27 | 2022-05-31 | Salesforce.Com, Inc. | Version-based table locking |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4007450A (en) * | 1975-06-30 | 1977-02-08 | International Business Machines Corporation | Data sharing computer network |
JP3386823B2 (ja) * | 1991-03-28 | 2003-03-17 | 株式会社日立製作所 | ファイルの管理方法及び装置 |
US5613134A (en) * | 1993-09-17 | 1997-03-18 | Digital Equipment Corporation | Document display system using documents having ephemeral attributes for sharing information regarding the location of the display of each document on multiple display devices |
US5473696A (en) * | 1993-11-05 | 1995-12-05 | At&T Corp. | Method and apparatus for combined encryption and scrambling of information on a shared medium network |
US5742848A (en) * | 1993-11-16 | 1998-04-21 | Microsoft Corp. | System for passing messages between source object and target object utilizing generic code in source object to invoke any member function of target object by executing the same instructions |
US5680619A (en) * | 1995-04-03 | 1997-10-21 | Mfactory, Inc. | Hierarchical encapsulation of instantiated objects in a multimedia authoring system |
US6163813A (en) * | 1995-06-07 | 2000-12-19 | International Business Machines Corporation | Pattern for instantiating objects of unknown type in object-oriented applications |
US5948062A (en) * | 1995-10-27 | 1999-09-07 | Emc Corporation | Network file server using a cached disk array storing a network file directory including file locking information and data mover computers each having file system software for shared read-write file access |
US5758083A (en) * | 1995-10-30 | 1998-05-26 | Sun Microsystems, Inc. | Method and system for sharing information between network managers |
US5715413A (en) * | 1996-06-25 | 1998-02-03 | International Business Machines Corporation | Dragging and dropping with an instantiation object |
US6553428B1 (en) * | 1996-11-18 | 2003-04-22 | International Business Machines Corporation | Distributed object instantiation of native objects in java |
US6222840B1 (en) | 1996-12-30 | 2001-04-24 | Compaq Computer Corporation | Method and system for performing concurrent read and write cycles in network switch |
JP3319341B2 (ja) * | 1997-06-20 | 2002-08-26 | 日本電気株式会社 | データ共有システム |
US6577634B1 (en) * | 1998-07-01 | 2003-06-10 | Hitachi, Ltd. | Method for sharing network information and a router apparatus |
US6405209B2 (en) * | 1998-10-28 | 2002-06-11 | Ncr Corporation | Transparent object instantiation/initialization from a relational store |
US6442568B1 (en) * | 1998-12-11 | 2002-08-27 | Compaq Computer Corporation | Customer information control system application programming interface with transient data functions, in a loosely coupled data processing environment |
US6453354B1 (en) * | 1999-03-03 | 2002-09-17 | Emc Corporation | File server system using connection-oriented protocol and sharing data sets among data movers |
EP1342170A4 (en) * | 1999-11-29 | 2006-01-25 | Interwoven Inc | METHOD AND DEVICE TO MOVE DATA BETWEEN DATA FOR WEBSITE DEVELOPMENT AND MAINTENANCE |
US20010047270A1 (en) * | 2000-02-16 | 2001-11-29 | Gusick David L. | Customer service system and method |
US20030182328A1 (en) * | 2001-10-29 | 2003-09-25 | Jules Paquette | Apparatus and method for sharing data between multiple, remote sites of a data network |
US7284032B2 (en) * | 2001-12-19 | 2007-10-16 | Thomson Licensing | Method and system for sharing information with users in a network |
US20030236823A1 (en) * | 2002-06-19 | 2003-12-25 | Robert Patzer | Information sharing groups, server and client group applications, and methods therefor |
US6691155B2 (en) * | 2002-06-20 | 2004-02-10 | Linda Gottfried | Multimedia system for sharing brand information keeps history of modifications of production information by consumers to allow recreating multimedia interface in its previous formats |
-
2003
- 2003-03-26 US US10/400,225 patent/US7103612B2/en not_active Expired - Lifetime
- 2003-07-29 EP EP03766969.4A patent/EP1543442B1/en not_active Expired - Lifetime
- 2003-07-29 WO PCT/US2003/023747 patent/WO2004013725A2/en active Application Filing
- 2003-07-29 JP JP2005506083A patent/JP4384633B2/ja not_active Expired - Lifetime
- 2003-07-29 CA CA2495469A patent/CA2495469C/en not_active Expired - Lifetime
- 2003-07-29 CA CA2665951A patent/CA2665951C/en not_active Expired - Lifetime
- 2003-07-29 AU AU2003252183A patent/AU2003252183B2/en not_active Expired
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005284395A (ja) * | 2004-03-26 | 2005-10-13 | Sharp Corp | 通信機器、通信システムの情報同期方法、通信機器の制御プログラム、記録媒体 |
JP4481053B2 (ja) * | 2004-03-26 | 2010-06-16 | シャープ株式会社 | 通信機器、通信機器の制御方法、通信機器の制御プログラム |
JP2005309968A (ja) * | 2004-04-23 | 2005-11-04 | Kyosan Electric Mfg Co Ltd | 最新情報表示システム及びそれを使用した列車運行状況表示システム |
JP2010510590A (ja) * | 2006-11-17 | 2010-04-02 | マイクロソフト コーポレーション | ソフトウェアトランザクションのコミット順序および競合の管理 |
JP4698757B2 (ja) * | 2006-11-17 | 2011-06-08 | マイクロソフト コーポレーション | ソフトウェアトランザクションのコミット順序および競合の管理 |
US8010550B2 (en) | 2006-11-17 | 2011-08-30 | Microsoft Corporation | Parallelizing sequential frameworks using transactions |
US8024714B2 (en) | 2006-11-17 | 2011-09-20 | Microsoft Corporation | Parallelizing sequential frameworks using transactions |
US8402447B2 (en) | 2006-11-17 | 2013-03-19 | Microsoft Corporation | Parallelizing sequential frameworks using transactions |
JP4855538B2 (ja) * | 2008-06-04 | 2012-01-18 | 株式会社アテナテレコムラボ | データベースのデータ項目の平行編集方式 |
JP4855537B2 (ja) * | 2008-06-04 | 2012-01-18 | 株式会社アテナテレコムラボ | データベース並行編集方式 |
Also Published As
Publication number | Publication date |
---|---|
US20040034669A1 (en) | 2004-02-19 |
CA2665951C (en) | 2013-02-12 |
CA2495469C (en) | 2012-07-10 |
AU2003252183B2 (en) | 2008-08-28 |
US7103612B2 (en) | 2006-09-05 |
EP1543442A4 (en) | 2007-07-25 |
CA2495469A1 (en) | 2004-02-12 |
WO2004013725A3 (en) | 2004-07-15 |
EP1543442A2 (en) | 2005-06-22 |
WO2004013725A2 (en) | 2004-02-12 |
JP4384633B2 (ja) | 2009-12-16 |
AU2003252183A1 (en) | 2004-02-23 |
EP1543442B1 (en) | 2020-01-22 |
CA2665951A1 (en) | 2004-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4384633B2 (ja) | 非同期情報共有システム | |
US7031974B1 (en) | Replicating DDL changes using streams | |
US8374966B1 (en) | In memory streaming with disk backup and recovery of messages captured from a database redo stream | |
CN111417938B (zh) | 针对客户端同步服务更新本地树 | |
US7702741B2 (en) | Configuring or reconfiguring a multi-master information sharing environment | |
US7680793B2 (en) | Commit-time ordered message queue supporting arbitrary read and dequeue patterns from multiple subscribers | |
JP4856541B2 (ja) | データベースの自動的および動的な提供 | |
US8799213B2 (en) | Combining capture and apply in a distributed information sharing system | |
US9009104B2 (en) | Checkpoint-free in log mining for distributed information sharing | |
US20020165724A1 (en) | Method and system for propagating data changes through data objects | |
US7613741B2 (en) | Utilizing rules in a distributed information sharing system | |
US7565379B2 (en) | Preventing change cycling using rules and redo tags in a redo log | |
US7899785B2 (en) | Reconfiguring propagation streams in distributed information sharing | |
US7185005B1 (en) | Nested transactions in a file system | |
US8005802B2 (en) | Partial evaluation of rule sets | |
CN100550009C (zh) | 异步信息共享系统 | |
Masud et al. | Transaction processing in a peer to peer database network | |
US9734185B2 (en) | Mechanism for communication in a distributed database | |
Doraiswamy et al. | Reweaving the tapestry: Integrating database and messaging systems in the wake of new middleware technologies | |
CN115170091A (zh) | 一种业务待办已办系统及发送方法 | |
Ashdown et al. | Oracle Database XStream Guide, 11g Release 2 (11.2) E16545-07 | |
Ashdown et al. | Oracle Database XStream Guide, 11g Release 2 (11.2) E16545-09 | |
Schelfaut | Distributed systems (H04I4A)-summary (version 1) | |
Ashdown et al. | Oracle Database XStream Guide, 11g Release 2 (11.2) E16545-04 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060516 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090414 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090714 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090722 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090813 |
|
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: 20090908 |
|
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: 20090925 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4384633 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131002 Year of fee payment: 4 |
|
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 |
|
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 |