JP7208967B2 - 異種ターゲットに対して使用するために分散型データソースからの変更データをキャプチャするためのシステムおよび方法 - Google Patents
異種ターゲットに対して使用するために分散型データソースからの変更データをキャプチャするためのシステムおよび方法 Download PDFInfo
- Publication number
- JP7208967B2 JP7208967B2 JP2020500202A JP2020500202A JP7208967B2 JP 7208967 B2 JP7208967 B2 JP 7208967B2 JP 2020500202 A JP2020500202 A JP 2020500202A JP 2020500202 A JP2020500202 A JP 2020500202A JP 7208967 B2 JP7208967 B2 JP 7208967B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- change data
- data
- distributed
- capture process
- 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.)
- Active
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/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本特許文献の開示の一部には、著作権保護の対象となるものが含まれている。著作権者は、この特許文献または特許開示の何者かによる複製が、特許商標庁の特許ファイルまたは記録にある限り、それに対して異議を唱えないが、そうでなければ、いかなる場合もすべての著作権を留保する。
本願は、2017年9月29日に出願され「SYSTEM AND METHOD FOR CAPTURE OF CHANGE DATA FROM NOSQL DATABASES OR DISTRIBUTED DATA STREAMS, FOR USE WITH HETEROGENEOUS TARGETS」と題された米国仮特許出願第62/566,113号に基づく優先権の利益を主張し、かつ、後に米国特許第8,510,270号として発行された、2010年7月27日に出願され「HETEROGENEOUS LOG BASED REPLICATION FROM DATABASES SUCH AS MYSQL DATABASES」と題された米国仮特許出願第61/368,141号に基づく優先権の利益を主張する2011年3月31日に出願され「MYSQL DATABASE - HETEROGENEOUS LOG BASED REPLICATION」と題された米国特許出願第13/077,760号に関連し、上記出願各々を、本明細書に引用により援用する。
本願に記載の実施形態は、1つ以上の異種ターゲットに対して使用するために分散型データソースシステムからの変更データをキャプチャすることに関し、これは、分散型ソーストポロジー・アウェアネス、初期ロード、重複排除、およびリカバリなどの特徴に対するサポートを含む。
組織は、時として、たとえばデータのバックアップを作成するためにまたは異なるデータアプリケーション間でデータを共有できるようにするために、異なるデータベース環境間でデータを移動させる必要がある場合がある。データレプリケーションシステムは、データベーステーブル全体とこのテーブル内のデータとをコピーするのではなく、たとえば行演算の結果生じたデータベーステーブル内のデータの変更を検出してレプリケートすることにより、上記必要への対応を支援する。このようなアプローチを用いることにより、ターゲットデータベース内のデータを、ソースデータベース内のデータと同期させることができる。
ある実施形態に従い、本明細書では、1つ以上の異種ターゲット、たとえばデータベースまたはメッセージキューに対して使用するために、分散型データソースシステム、たとえば分散型データベースまたは分散型データストリームからの変更データをキャプチャし、カノニカルフォーマット出力を作成するための、システムおよび方法について説明する。変更データキャプチャシステムは、分散型ソーストポロジー・アウェアネス、初期ロード、重複排除、およびリカバリなどの特徴に対するサポートを含み得る。本明細書に記載のシステムおよび方法の技術的目的は、複数のノードに分散する大量のデータを含む分散型データソースにおけるデータに対してなされた変更を判断し1つ以上のターゲットコンピュータシステムに伝達することを含む。
先に述べたように、組織は、時として、たとえばデータのバックアップを作成するためにまたは異なるデータアプリケーション間でデータを共有できるようにするために、異なるデータベース環境間でデータを移動させる必要がある場合がある。データレプリケーションシステムは、データベーステーブル全体とこのテーブル内のデータとをコピーするのではなく、たとえば行演算の結果生じたデータベーステーブル内のデータの変更を検出してレプリケートすることにより、上記必要への対応を支援する。このようなアプローチを用いることにより、ターゲットデータベース内のデータを、ソースデータベース内のデータと同期させることができる。しかしながら、非常に大きなデータセットをサポートする環境、たとえばビッグデータ環境には、可用性、スケーラビリティ、およびフォールトトレランスに関する課題がある。
ある実施形態に従い、本明細書では、1つ以上の異種ターゲット、たとえばデータベースまたはメッセージキューに対して使用するために、分散型データソースシステム、たとえば分散型データベースまたは分散型データストリームからの変更データをキャプチャし、カノニカルフォーマット出力を作成するための、システムおよび方法について説明する。変更データキャプチャ(change data capture)(CDC)システムは、分散型ソーストポロジー・アウェアネス、初期ロード、重複排除、およびリカバリなどの特徴に対するサポートを含み得る。本明細書に記載のシステムおよび方法の技術的目的は、複数のノードに分散する大量のデータを含む分散型データソースにおけるデータに対してなされた変更を判断し1つ以上のターゲットコンピュータシステムに伝達することを含む。
ソース変更トレースエンティティに対するアクセスが設定可能である、分散型ソーストポロジーの自動発見、および、ノードの追加または削除などの、分散型データソースに対する動的変更をサポートする分散型ソーストポロジー・アウェアネス。
分散型データソースシステムは、スケーラブルなので、変更データを探すための多数のキャプチャコンポーネントを含み得る。ある実施形態に従うと、システムは、実行時に異なるエンドポイントが動的に変化し得るように、いつ新たなコンポーネントが追加されたか、またはコンポーネントが削除されたかを含む、分散型システム内の分散型ソーストポロジー変更に、変更データキャプチャプロセスが対応できるよう、変更データのエンドポイント(たとえば、クラスタ内の各種ノード上のコミットログ、またはターゲットノード上のテーブル、または変更データのその他のソース)を自動的に発見することができる。
分散型システムは、一般的にデータ冗長性を含み、そのため可用度が高い。ある実施形態に従うと、このようなシステムからの変更データキャプチャプロセスは、重複記録をフィルタリングによって取り除くことができ、必要であればタイムスタンプフィルタを適用することもできる。
ステップ275で、重複排除キャッシュ内にトークンがある場合、このトークンに対応付けられたノードを重複排除キャッシュからフェッチする。
ある実施形態に従うと、変更キャプチャプロセスは、分散型システムから読み出したデータを、いずれかの異種ターゲットシステムが消費できるカノニカルフォーマット出力に変換することができる。新たなターゲットは、プラガブルアダプタコンポーネントを導入してカノニカル変更キャプチャデータを読み出しそれをターゲットシステムフォーマットに変換することで、サポートできる。
ある実施形態に従うと、アクティブノードが故障すると、キャプチャプロセスは、レプリカノードの履歴キャッシュからの別のレプリカノードの記録を自動的にリプレイすることができる。これは、分散型ソーストポロジーの変更によりキャプチャプロセスがあるノードから別のノードに切り替えられるときのデータ損失の可能性を回避するのに役立つ。キャプチャプロセスは、突然クラッシュしたとしても(たとえばkill -9信号が原因で)、データ損失を伴うことなくリカバリし分散型システム内に配置することができる。
ノードのルックアップが成功であれば、読み出された記録が送られる。
トークンが全くない場合、これは、重複排除キャッシュに追加する新たなノードである。
先に述べたように、ある実施形態に従うと、システムは、分散型データソースシステムから与えられたデータの自動重複排除を提供する重複排除プロセスを実行することができる。
図15~図18は、ある実施形態に係る、分散型データソースからの変更データをキャプチャするためのシステムに対して使用されるリカバリのシナリオの例を示す。
図15に示す実施形態に従うと、このリカバリシナリオにおいて、チェックポイント完了イベントを受けると、チェックポイント情報が位置ストレージにおいて更新され、トークンがカノニカルフォーマット出力にシリアライズされる。
ある実施形態に従うと、前の例を用いると、代わりにストップコマンドが抽出コンポーネントに対して出された場合、最後の記録に対するチェックポイント完了イベントが処理される。
図16に示す実施形態に従うと、このリカバリシナリオでは、チェックポイントイベントに際し、位置ストレージに書き込まれたチェックポイント情報は、シーケンスID:2、Node1:Position1; Node3:Position1を有する。
図17に示す実施形態に従うと、この例において、Node1がレプリカノードReplicaNode1に対応付けられておりチェックポイントイベントがシーケンスID:6の記録の処理後に発生した場合、抽出コンポーネントの現在の位置は、シーケンスID:6;Node1:Position3; Node2:Position1; Node3:Position2であろう。
上記例を用いるある実施形態に従うと、Node1がダウンすると、抽出コンポーネントは、Node1のレプリカノードを探す。これは、ReplicaNode1を発見し、それ以降、Node1から与えられたすべてのトークンは、ReplicaNode1から与えられることになる。
ある実施形態に従い、上記例を用いるが、代わりに抽出コンポーネントがReplicaNode1からの記録をチェックポイントできるようになる前にクラッシュすると想定する。
ある実施形態に従い、上記例を用いるが、代わりに記録がカノニカルフォーマット出力に書き込まれる前に抽出コンポーネントがクラッシュしたと想定する。
リスタートし、Node1がまだダウンしている場合、抽出コンポーネントは、ReplicaNode1からの読み出しを開始し、これにより、記録の重複が、前のNode1がこれらの記録を提供していた場合、発生し得る。
図18に示す実施形態に従うと、この例においてReplicaNode1は履歴記録を十分有していない。たとえば、ReplicaNode1の履歴キューにおける記録は、ReplicaNode1:Position6; ReplicaNode1:Position7; ReplicaNode1:Position8; ReplicaNode1:Position9である。
ある実施形態に従うと、このリカバリシナリオにおいて、抽出コンポーネントはいくつかの記録を処理しており、グローバルリカバリポジショニング情報は、シーケンスID:6;Node1:Position3; Node2:Position1; Node3:Position2であろう。
以下のセクションは、たとえばCassandraデータベースのような分散型データソースシステムからの変更データをキャプチャする実施形態の例の説明を提供する。
データセンター:関連するノードの集まり。別々のデータセンターを用いることで、トランザクションが他のワークロードの影響を受けることを防止し、レイテンシが低くなるように要求を互いに近くに置いておく。データセンターは一般的に物理的な場所を占有しない。
cdc_enabled(デフォルト:false):ノード全体にわたるCDC動作を有効または無効にする。
memtable_offheap_space_in_mb:memtableに割り当てられるオフヒープメモリの総量を設定。
ある実施形態に従うと、Cassandraは、memtable_heap_space_in_mbを、memtable_offheap_space_in_mbに加算し、合計をmemtable_cleanup_thresholdで乗算することにより、MBにおける空間量を得る。フラッシュしていないすべてのmemtableが使用するメモリの総量がこの量を超えると、Cassandraは最大のmemtableをディスクにフラッシュする。
ある実施形態に従うと、CDC特徴は、データベース変更が(RAMに格納された)Memtableからフラッシュされたときに、コミットログセグメントをCDCディレクトリにアーカイブするメカニズムを提供する。テーブルデータは、バイナリフォーマットになるようシリアライズされコミットログに書き込まれたコミットログセグメントとしてグループ分けされる。
ある実施形態に従うと、インストール時にパックされるCassandra JARは、入力ユーザクエリをインターセプトするように実現できるインターフェイスであるQueryHandlerを提供する。ユーザからの入力クエリは、SQLと同様のCassandraクエリ言語(Cassandra Query Language)(CQL)である。
ある実施形態に従うと、Cassandraクラスタは典型的に、1つのデータベースインスタンスとしてともに機能する1つ以上のノード(サーバ)を含む。コミットログは、クラスタ上の各ノード上に存在する。ある実施形態に従うと、コミットログへのアクセスのオプションは、たとえば以下を含む。
ある実施形態に従うと、コミットログは、抽出コンポーネントが実行されているマシンにアクセスする。この構成はネットワークコストを伴わない。
ある実施形態に従うと、コミットログは、抽出コンポーネントが実行されているマシンに搭載されたNFSを通して利用可能にされる必要がある。この構成は、コミットログの読み出しのためのネットワーク帯域幅を要しない。
ある実施形態に従うと、必要なコミットログはリモートノードから、抽出コンポーネントが実行されているマシンに、セキュア・ファイル・トランスファー・プロトコル(secure file transfer protocol)(SFTP)を用いて転送される。この構成も、ファイルの転送のためのネットワークコストを要しない。
ある実施形態に従うと、リモートプログラムは、コミットログから必要なテーブルデータをフィルタリングにより取り除くために抽出テーブルパラメータのコンテキストを有するノードの各々にインストールすることができる。フィルタリングされたこのコミットログデータは、抽出コンポーネントプロセスが実行されているマシンに、ネットワークを通して転送しなければならない。抽出コンポーネントは、すべてのノードからのリモートプログラムからデータを再度アセンブルし、必要な処理を続けることができる。
ある実施形態に従うと、抽出コンポーネントによるノード発見は、たとえば以下を含み得る。
ある実施形態に従うと、アドミニストレータは、クラスタ内のすべてのノードについて、以下の詳細を、すなわち、CDCコミットログディレクトリのリスト、アクティブコミットログディレクトリのリスト、およびCassandraノードアドレスのリストを、提供する必要がある。コミットログディレクトリは、ローカルディレクトリまたはNFSによって搭載されたリモートディレクトリであってもよい。
ある実施形態に従うと、ユーザ/オペレータは、クラスタ内のノードのうち1つのノードだけに関する情報を提供する。1つのノードの構成は、個々のノードアドレスを特定するためにコミットログディレクトリ経路内に($nodeAddressのような)メタフィールドを有することができる。クラスタ内のすべてのノードを自動的に発見する。
ある実施形態に従うと、Cassandra CDCプロセスマネージャは、コミットログ内の生テーブルデータ(ミューテーション)を読み出し、フィルタリングし、変換するJavaアプリケーションである。変換されたコミットログデータは、C++ライブラリによりJava Native Interface(JNI)を通してアクセスされる。Cassandra VAMは、抽出コンポーネントプロセスがトレイルファイルを書き込むために使用するC++/Cバイナリ(共有ライブラリ)として提供することができる。
ある実施形態に従うと、ビッグデータVAMモジュールは、すべてのビッグデータソースに対して再使用されることが提案される汎用VAMモジュールである。これは非トランザクションテーブルデータを扱う。これはマルチスレッドであり、あるスレッド(VAM APIスレッド)はVAM APIとやり取りし、第2のスレッド(JNIリーダースレッド)はJNIを用いて対応するビッグデータソースから動作記録を読み出す。JNIリーダースレッドは、動作記録のプロデューサとして機能し、VAM APIスレッドは、これらの動作記録を消費する。汎用VAMモジュールはファクトリクラスを用いて、ソースデータベースに基づき、特定のJNIリーダー実現をインスタンス化する。キャプチャプロセスは、クラスCassJNIReaderを用いてJavaアプリケーションCDCプロセスマネージャとやり取りする。
ある実施形態に従うと、Cassandraデータベースプロセスは、データベースに対するいかなる変更もコミットログに書き込む。CommitLogReadHandlerインターフェイスを実現することにより、ミューテーションオブジェクトの形態のデータベース変更を読み出すことができる。
ある実施形態に従うと、クラスCDCHandlerImplは、CommitLogReadHandlerインターフェイスの実現である。CDCHandlerImplには、コミットログ内に存在するコミットログ読出セグメントから構成されたミューテーションオブジェクトへのアクセスが提供される。クラスCassandraMutationProcessorは、ミューテーションオブジェクトをデコードしCassandra VAMライブラリがJNIを通して簡単にアクセスできるフォーマットに変換する役割を有する。CassandraMutationProcessorはまた、クラスタが現在使用するパーティショナーからすべてのミューテーション記録のパーティショントークンを生成する。クラスタが使用するパーティショナーは、いずれかのライブノード上のNodeProbeを用いて動的に取り出される。
ある実施形態に従うと、コミットログセグメントからの生のミューテーション記録は、データベース動作のデコードされたフォーマットであるCassandraCDCMutationに変換される。
ある実施形態に従うと、ミューテーションオブジェクトから抽出されたカラム定義は、CassandraColumnDefinitionクラスに格納される。このクラスはカラム属性を格納する。
ある実施形態に従うと、クラスColumnDataは、ミューテーションオブジェクトから読み出された1つのカラムのデータをカプセル化する。
ある実施形態に従うと、このクラスは、CassandraCDCProcessManagerに代わり、以下のタスクを実行する。リング内の分散ソーストポロジー変化(ノード状態変化)をリッスンする/に反応する。リング内のスキーマ変更をリッスンする/に反応する。重複排除(deduplication)キャッシュをレプリカからdedup行に維持する。履歴キャッシュからの記録をリプレイすることにより、ノード故障からリカバリする。ClusterPositionを通してポジション/チェックポイント情報を管理する。SchemaLoaderを通してキースペースおよびテーブルメタデータにアクセスする。埋め込まれたSFTPクライアントであるCassandraClusterSFTPClientにコミットログのリモートアクセスを指示する。
ある実施形態に従うと、Cassandraバイナリ(インストールtar)とともに出荷されるJARは、リングに関する情報を取り出すために使用できるNodeProbeクラスを提供する。NodeProbeインスタンスは、クラスタ内のいずれかのノードとの接続を確立することができる。あるノードへの1つの接続は、クラスタに関する必要な情報すべてにアクセスするのに十分である。
ある実施形態に従うと、NodeProbeは、ライブノードが使用するパーティショナーを取り出すために使用される。クラスタ内のすべてのノードに、パーティショントークン(ハッシュ値)の範囲が割り当てられる。キースペースのレプリケーション係数が1よりも大きい場合、パーティショントークンの値は、クラスタ内の2つ以上のノードを示し得る。パーティショナーは、特定のハッシングアルゴリズムを用いてパーティショントークン値を生成する。Cassandraの最近のバージョンは、Murmur3パーティショナーを用いてパーティショントークンを生成する。
ある実施形態に従うと、1よりも大きいレプリケーション係数を有するキースペース内にあるソーステーブル上でキャプチャが有効にされると、CDCプロセスマネージャは、同じ行の2つ以上のコピーが与えられ、レプリカから重複行をフィルタリングにより取り除くことができる。以下は、重複排除のためにCDCプロセスマネージャが実行するステップである。
ある実施形態に従い、CDCプロセスマネージャは、ミューテーションタイプの生記録をCassandraMutationProcessorに与えることにより、CassandraCDCMutationオブジェクトを生成する。ミューテーションがバルク動作を有する場合、CassandraMutationProcessorからの出力は、CassandraCDCMutation記録のリストであろう。処理されたCassandraCDCMutation記録はその後、フィルタリングプロセスを経る。抽出コンポーネントが開始タイムスタンプに位置していた場合、開始タイムスタンプよりも小さいタイムスタンプを有するいずれの記録もフィルタリングによって取り除かれる。これがレプリカノードからの重複記録である場合、これはフィルタリングによって取り除かれる。
ある実施形態に従い、CassandraTopologyManagerは、リングにおける、ノードのデコミッション、ノードのシャットダウン、新たなノードの追加、ノードの発生(ブート)、キースペースの追加/削除/修正、および、テーブルの追加/削除/修正、という変化/イベントを、登録しリッスンする。
ある実施形態に従い、ノードがシャットダウンされるまたはリングからデコミッションされると、CassandraTopologyManagerは、以下のアクションを実行する。重複排除キャッシュをクリアすることにより、このノードに対応付けられたすべてのパーティショントークンを削除する。削除されたノードのレプリカノードを発見する。ダウンしたノードから読み出された最後の記録を発見する。レプリカノードのいずれかにおける一致する記録を発見する。最大の記録履歴を有するいずれかのレプリカノードからの記録をリプレイする。重複排除キャッシュを更新することにより、最後の記録のパーティショントークンを新たなレプリカノードにリンクさせる。ダウンしたノードに対するSSH接続を閉じる。
ある実施形態に従い、記録を活発に供給していたノードがダウンすると、CassandraTopologyManagerは、レプリカノードを選択するとともに、ダウンしたノードが処理した最後の記録をルックアップする必要がある。一致する記録を有するレプリカノードが2つ以上ある場合、最大の記録履歴を有するレプリカが選択されて、シャットダウンしたノードの最後の記録において発見されたパーティショントークンを供給する。レプリカのうちいずれにおいても一致する記録が発見されなかった場合も、最大の記録履歴を有するレプリカが選択され、また、起こり得るデータ損失を示すために警告メッセージがロギングされてもよい。このシナリオにおける警告またはABEND抽出アクションを制御するためにパラメータを与えることができる。
ある実施形態に従い、新たなノードがリングに追加されると、または、ダウンしたノードが現れると、Cassandraがリング内のパーティショントークン範囲のシャッフルに取り掛かる機会がある。抽出コンポーネントが既存のノードからいくつかのパーティショントークンについてデータを読み出しており何らかのやり方でこれらのパーティショントークンがリング内の別のノードに移動した場合、このようなパーティショントークンについての新たなデータがフィルタリングによって取り除かれるというリスクがある。CassandraTopologyManagerは、このシナリオに対処するために以下のアクションを実行するであろう。重複排除キャッシュを更新しいずれかのパーティションノードがリング内の新たなノードが原因で無効であるか否かをチェックする。接続をオープンすることにより新たなノードからコミットログをプルする。新たなノードに対して位置/チェックポイントエントリ(casschek.sonに)を生成する。
ある実施形態に従い、クラスCassandraClusterSFTPClientは、処理のためにリモートコミットログを転送するのに使用されるSFTPクライアントである。このクラスはJSchライブラリを使用する。SSH接続がクラスタ内のすべてのライブノードに対してオープンされ、抽出コンポーネントプロセスが実行されているマシンにコミットログがプルされる。独立した専用スレッド上の1ノード当たり1つのSSH接続が存在するであろう。この接続は、ノードがリングの一部になるまで引続きオープンされる。
ある実施形態に従い、キャプチャを開始/リスタート/変更する固有位置を示すのに1つのログシーケンス番号で十分であるRDBMSとは異なり、複数のノードを有するCassandraクラスタは、1ノード当たり1つの位置を格納する必要があるであろう。「n」のノードリングに対して「n」の位置がある。クラスClusterPositionは、マルチノード位置を格納する。このクラスはまた、1つのノードに対して位置を格納する別のクラスNodePositionも収容する。このクラスはまた、抽出のために開始タイムスタンプも格納する。位置情報はJSONファイルに保存される。位置ファイルは、設定可能な間隔(典型的には10秒ごと)で、シャットダウン中にも更新される。抽出コンポーネントのポジショニングは、この位置ファイルに基づく。このJSON位置ファイルは、抽出をポジショニングするために手作業で編集することができる。
ある実施形態に従うと、CDCプロセスマネージャは、コミットログ内の新たなデータを継続して探す。Java ScheduledExecutorサービスを、設定可能なジョブ頻度で使用する。
ある実施形態に従うと、クラスSchemaLoaderは以下の役割を有する。Cassandra VAMモジュールからテーブルワイルドカードエントリを読み出し、ワイルドカードを拡張する。Cassandraクライアントアプリケーションにより、必要に応じてスキーマインスタンスをロードする。CommitLogReadHandlerインターフェイスは、CDCプロセスマネージャであるクライアントアプリケーションの現在のスキーマインスタンスにロードされるテーブルおよびキースペースについてのみ、コミットログセグメントデータを読み出すことができる。
ある実施形態に従うと、アクティブコミットログ内のコミットログセグメントのフォーマットは、CDCコミットログと同様である。これにより、アクティブコミットログの読み出しおよびアクティブコミットログ内へのポジショニングを行うことができる。アクティブコミットログの読み出しは、レイテンシを低減するので、望ましい特徴である。また、これは、Cassandraデータベースプロセスはアクティブコミットログをトランケートし将来のデータベース変更のために再使用する場合があるので、リスクを伴う。アクティブコミットログをトランケートするときは、アクティブコミットの内容を、CDCディレクトリに移動させ新たなコミットログに入れる。これはまた、結果としてデータの重複を生じさせるが、レイテンシを低くする。
ある実施形態に従うと、表1はデータタイプマッピングおよびOracle Golden Gateのためにサポートされるデータタイプを示す。
ある実施形態に従うと、Cassandraにはトランザクションがない。すべての動作記録は、1つの動作記録とともに疑似トランザクションに包含される。これはVAM APIとの互換性のためである。ある実施形態に従うと、トランザクションIDは、ノードアドレス、コミットログIDおよびコミットログ内のオフセットの連結によって構成される。
ある実施形態に従うと、これは1から始まる単純なシーケンス番号である。トレイルに書き込まれるすべての記録は固有のシーケンス番号を有し、このシーケンス番号の値は、トレイルに書き込まれる新たな記録ごとに増大する。
ある実施形態に従うと、VAMデータ構造位置->コンテキストは、トランザクションIDと同一の値でポピュレートされるであろう。このデータは、抽出コンポーネントによるポジショニングには使用されない。抽出コンポーネントのポジショニングは、チェックポイント情報と、正確なポジショニングのためのフルオーディットリカバリ(full audit recovery)(FAR)ロジックとに依拠する。
ある実施形態に従うと、OGG抽出をポジショニングすることにより下記のようにキャプチャすることができる。
利用できるすべてのデータを最初から読み出すことを開始:
GGSCI> ADD EXTRACT cassvam, TRANLOG
現在のタイムスタンプから開始:
GGSCI> ADD EXTRACT cassvam, TRANLOG, BEGIN NOW
所定の日付および時間から開始:
GGSCI> ADD EXTRACT cassvam, TRANLOG, BEGIN 2017-03-27 23:05:05.123456
前の実行からリスタート:
このインスタンスにおいて、JavaモジュールCDCプロセスマネージャは、クラスタ内のすべてのノードへのポジショニングに関する情報を有するdirchk/casschk.jsonの下でJSON位置を書き込む。
Claims (17)
- 異種ターゲットに対して使用するために、少なくとも1つのノードを含む分散型データソースからの変更データをキャプチャするためのシステムであって、前記システムは、
プロセッサを含むコンピュータと、前記コンピュータ上で実行される変更データキャプチャプロセスマネージャとを備え、
前記変更データキャプチャプロセスマネージャは、1つ以上のターゲットに対して使用するために、キャプチャプロセスを用いて分散型データソースからの変更データをキャプチャし、前記変更データに含まれる記録から生成された固有のトークンと前記分散型データソースから当該記録を提供するノードとの対応付けを生成するように構成される、システム。 - 異種ターゲットに対して使用するために分散型データソースからの変更データをキャプチャするためのシステムであって、前記システムは、
プロセッサを含むコンピュータと、前記コンピュータ上で実行される変更データキャプチャプロセスマネージャとを備え、
前記変更データキャプチャプロセスマネージャは、1つ以上のターゲットに対して使用するために、キャプチャプロセスを用いて分散型データソースからの変更データをキャプチャするように構成され、
前記変更データキャプチャプロセスマネージャは、前記分散型データソース内の、記録を提供してきた特定のノードが、使用できないノードになったと判断すると、前記特定のノードに含まれる記録を取得するための特定のレプリカノードを選択し、前記特定のノードに対応付けられたトークンをすべて削除し、前記特定のノードから読み出された最後の記録のトークンを前記特定のレプリカノードにリンクさせるリカバリプロセスを実行する、システム。 - 異種ターゲットに対して使用するために、少なくとも1つのノードを含む分散型データソースからの変更データをキャプチャするためのシステムであって、前記システムは、
プロセッサを含むコンピュータと、前記コンピュータ上で実行される変更データキャプチャプロセスマネージャとを備え、
前記変更データキャプチャプロセスマネージャは、1つ以上のターゲットに対して使用するために、キャプチャプロセスを用いて分散型データソースからの変更データをキャプチャするように構成され、
一致する最後の記録を有するレプリカノードが2つ以上ある場合、最大の記録履歴を有する特定のレプリカノードが選択されて、前記少なくとも1つのノードのうち使用できないノードが処理した最後の記録から生成されたパーティショントークンを前記特定のレプリカノードにリンクさせる、システム。 - 異種ターゲットに対して使用するために、少なくとも1つのノードを含む分散型データソースからの変更データをキャプチャするための、コンピュータによって実行される方法であって、前記方法は、
キャプチャプロセスを含む変更データキャプチャプロセスマネージャを提供するステップと、
1つ以上のターゲットに対して使用するために、前記キャプチャプロセスを用いて分散型データソースからの変更データをキャプチャするステップと、
前記変更データに含まれる記録から生成された固有のトークンと前記分散型データソースから当該記録を提供するノードとの対応付けを生成するステップとを含む、方法。 - 前記分散型データソースは、分散型データベース、または分散型データストリーム、またはその他の分散型データソース、のうちの1つとすることができ、前記1つ以上のターゲットは、データベース、メッセージキュー、またはその他のターゲット、のうちの1つ以上を含み得る、請求項4に記載の方法。
- 前記変更データキャプチャプロセスマネージャは、前記分散型データソースから読み出された前記変更データを、前記1つ以上のターゲットによる消費のために、前記変更データのカノニカルフォーマット出力に変換する変更データキャプチャプロセスを実行する、請求項4または5に記載の方法。
- 前記変更データの前記カノニカルフォーマット出力は、前記変更データを伝達する対象であるターゲットシステムに基づいて、前記ターゲットシステムが使用するフォーマットに変換される、請求項6に記載の方法。
- 前記変更データキャプチャプロセスマネージャは、前記変更データの前記カノニカルフォーマット出力を新たなターゲットシステムが使用するフォーマットにプラガブルアダプタコンポーネントを用いて変換する、請求項6または7に記載の方法。
- 前記変更データキャプチャプロセスマネージャは、前記分散型データソースから提供された特定の記録の自動重複排除を前記対応付けに基づいて提供する重複排除プロセスを実行する、請求項4~8のいずれか1項に記載の方法。
- 前記変更データキャプチャプロセスマネージャは、前記特定の記録を提供するノードと、前記対応付けにおいて前記特定の記録に固有のトークンに対応付けられたノードとが一致しない場合、前記特定の記録を前記変更データから削除する、請求項9に記載の方法。
- 前記分散型データソースに対応付けられた分散型ソーストポロジーに対し、前記分散型ソーストポロジーへの1つ以上のノードの追加または前記分散型ソーストポロジーからの1つ以上のノードの削除を含む変更がなされると、前記重複排除プロセスは、前記分散型ソーストポロジーに対する前記変更を検出し、前記対応付けを更新する、請求項9または10に記載の方法。
- 前記変更データキャプチャプロセスマネージャは、前記分散型データソースに対応付けられた分散型ソーストポロジーの自動発見を実行し、前記分散型データソースのノードのコミットログへのアクセスを前記キャプチャプロセスに提供する、請求項4~11のいずれか1項に記載の方法。
- 前記変更データキャプチャプロセスマネージャは、前記分散型データソース内の、記録を提供してきた特定のノードが、使用できないノードになったと判断すると、前記特定のノードに含まれる記録を取得するためのレプリカノードを選択するリカバリプロセスを実行する、請求項4~12のいずれか1項に記載の方法。
- 一致する最後の記録を有するレプリカノードが2つ以上ある場合、最大の記録履歴を有する特定のレプリカノードが選択されて、前記少なくとも1つのノードのうち使用できないノードが処理した最後の記録から生成されたパーティショントークンを前記特定のレプリカノードに与える、請求項4~13のいずれか1項に記載の方法。
- 異種ターゲットに対して使用するために分散型データソースからの変更データをキャプチャするための、コンピュータによって実行される方法であって、前記方法は、
キャプチャプロセスを含む変更データキャプチャプロセスマネージャを提供するステップと、
1つ以上のターゲットに対して使用するために、前記キャプチャプロセスを用いて分散型データソースからの変更データをキャプチャするステップとを含み、
前記変更データキャプチャプロセスマネージャは、前記分散型データソース内の、記録を提供してきた特定のノードが、使用できないノードになったと判断すると、前記特定のノードに含まれる記録を取得するための特定のレプリカノードを選択し、前記特定のノードに対応付けられたトークンをすべて削除し、前記特定のノードから読み出された最後の記録のトークンを前記特定のレプリカノードにリンクさせるリカバリプロセスを実行する、方法。 - 異種ターゲットに対して使用するために、少なくとも1つのノードを含む分散型データソースからの変更データをキャプチャするための、コンピュータによって実行される方法であって、前記方法は、
キャプチャプロセスを含む変更データキャプチャプロセスマネージャを提供するステップと、
1つ以上のターゲットに対して使用するために、前記キャプチャプロセスを用いて分散型データソースからの変更データをキャプチャするステップとを含み、
一致する最後の記録を有するレプリカノードが2つ以上ある場合、最大の記録履歴を有する特定のレプリカノードが選択されて、前記少なくとも1つのノードのうち使用できないノードが処理した最後の記録から生成されたパーティショントークンを前記特定のレプリカノードにリンクさせる、方法。 - 1つ以上のコンピュータに請求項4~16のいずれか1項に記載の方法を実行させるためのコンピュータ読取可能プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022040210A JP7308323B2 (ja) | 2017-09-29 | 2022-03-15 | 異種ターゲットに対して使用するために分散型データソースからの変更データをキャプチャするためのシステムおよび方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762566113P | 2017-09-29 | 2017-09-29 | |
US62/566,113 | 2017-09-29 | ||
PCT/US2018/053441 WO2019067911A1 (en) | 2017-09-29 | 2018-09-28 | SYSTEM AND METHOD FOR CAPTURING CHANGE DATA FROM DISTRIBUTED DATA SOURCES FOR USE ON HETEROGENEOUS TARGETS |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022040210A Division JP7308323B2 (ja) | 2017-09-29 | 2022-03-15 | 異種ターゲットに対して使用するために分散型データソースからの変更データをキャプチャするためのシステムおよび方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020527264A JP2020527264A (ja) | 2020-09-03 |
JP7208967B2 true JP7208967B2 (ja) | 2023-01-19 |
Family
ID=63878832
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020500202A Active JP7208967B2 (ja) | 2017-09-29 | 2018-09-28 | 異種ターゲットに対して使用するために分散型データソースからの変更データをキャプチャするためのシステムおよび方法 |
JP2022040210A Active JP7308323B2 (ja) | 2017-09-29 | 2022-03-15 | 異種ターゲットに対して使用するために分散型データソースからの変更データをキャプチャするためのシステムおよび方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022040210A Active JP7308323B2 (ja) | 2017-09-29 | 2022-03-15 | 異種ターゲットに対して使用するために分散型データソースからの変更データをキャプチャするためのシステムおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11762836B2 (ja) |
EP (1) | EP3676725A1 (ja) |
JP (2) | JP7208967B2 (ja) |
CN (1) | CN110249321B (ja) |
WO (1) | WO2019067911A1 (ja) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10733180B2 (en) * | 2017-11-13 | 2020-08-04 | Lendingclub Corporation | Communication graph tracking of multi-system operations in heterogeneous database systems |
US10649979B1 (en) * | 2017-12-07 | 2020-05-12 | Amdocs Development Limited | System, method, and computer program for maintaining consistency between a NoSQL database and non-transactional content associated with one or more files |
US11645261B2 (en) | 2018-04-27 | 2023-05-09 | Oracle International Corporation | System and method for heterogeneous database replication from a remote server |
US11082538B2 (en) * | 2018-06-27 | 2021-08-03 | Datastax, Inc. | Off node data compaction |
US11520752B2 (en) * | 2019-03-27 | 2022-12-06 | International Business Machines Corporation | Remote control of a change data capture system |
US11080257B2 (en) * | 2019-05-13 | 2021-08-03 | Snowflake Inc. | Journaled tables in database systems |
CN110417892B (zh) * | 2019-07-31 | 2021-08-27 | 中国工商银行股份有限公司 | 基于报文解析的数据复制链路优化方法及装置 |
US11169728B2 (en) | 2019-09-10 | 2021-11-09 | Western Digital Technologies, Inc. | Replication configuration for multiple heterogeneous data stores |
US11500849B2 (en) | 2019-12-02 | 2022-11-15 | International Business Machines Corporation | Universal streaming change data capture |
FR3105471B1 (fr) * | 2019-12-19 | 2022-02-04 | Amadeus | Une plateforme de réservation informatique distribuée pour stocker et gérer des enregistrements de données partagés |
CN111190912B (zh) * | 2019-12-27 | 2023-06-20 | 山大地纬软件股份有限公司 | 一种基于行变更的面向大事务的分片执行方法和装置 |
US11379470B2 (en) * | 2020-07-13 | 2022-07-05 | Oracle International Corporation | Techniques for concurrent data value commits |
CN111865725B (zh) * | 2020-07-29 | 2022-09-23 | 平安健康保险股份有限公司 | 基于日志的流量消耗分析方法及系统 |
US11500834B2 (en) * | 2020-09-18 | 2022-11-15 | Atlassian Pty Ltd. | Systems and methods for migrating data |
US11288325B1 (en) * | 2020-09-29 | 2022-03-29 | New Relic, Inc. | Data access optimization in distributed database |
US11593397B2 (en) | 2020-10-05 | 2023-02-28 | Micro Focus Llc | Low latency polling |
CN114416703A (zh) * | 2020-10-28 | 2022-04-29 | 北京中祥英科技有限公司 | 数据完整性自动监控方法、装置、设备及介质 |
CN112256485B (zh) * | 2020-10-30 | 2023-08-04 | 网易(杭州)网络有限公司 | 数据备份方法、装置、介质和计算设备 |
US11593021B2 (en) * | 2020-11-06 | 2023-02-28 | Hewlett Packard Enterprise Development Lp | Writing a container index to persistent storage |
US11216441B1 (en) * | 2020-11-25 | 2022-01-04 | Coupang Corp. | Systems and methods for managing a highly available and scalable distributed database in a cloud computing environment |
CN112506862A (zh) * | 2020-12-28 | 2021-03-16 | 浪潮云信息技术股份公司 | 一种自定义保存Kafka Offset的方法 |
CN112685426A (zh) * | 2021-01-21 | 2021-04-20 | 浪潮云信息技术股份公司 | 一种基于NiFi的Kafka消费NewSQL CDC流数据转换方法 |
US20220374431A1 (en) * | 2021-05-21 | 2022-11-24 | Oracle International Corporation | Techniques for a deterministic distributed cache to accelerate sql queries |
US11803448B1 (en) | 2021-06-29 | 2023-10-31 | Amazon Technologies, Inc. | Faster restart of task nodes using periodic checkpointing of data sources |
JP2023012217A (ja) * | 2021-07-13 | 2023-01-25 | 富士通株式会社 | 管理プログラム、管理方法、管理装置 |
JP2023049917A (ja) * | 2021-09-29 | 2023-04-10 | 株式会社日立製作所 | 計算機システム、計算ノード、及びデータ管理方法 |
US20230123573A1 (en) * | 2021-10-18 | 2023-04-20 | Oracle International Corporation | Automatic detection of seasonal pattern instances and corresponding parameters in multi-seasonal time series |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100274768A1 (en) | 2009-04-23 | 2010-10-28 | Microsoft Corporation | De-duplication and completeness in multi-log based replication |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH034339A (ja) * | 1989-06-01 | 1991-01-10 | Hitachi Ltd | 分散処理システムにおけるデータベース更新方式 |
JPH08179980A (ja) | 1994-12-26 | 1996-07-12 | Hitachi Ltd | 分散データベースシステム |
US6016501A (en) | 1998-03-18 | 2000-01-18 | Bmc Software | Enterprise data movement system and method which performs data load and changed data propagation operations |
US7076508B2 (en) | 2002-08-12 | 2006-07-11 | International Business Machines Corporation | Method, system, and program for merging log entries from multiple recovery log files |
US7321939B1 (en) * | 2003-06-27 | 2008-01-22 | Embarq Holdings Company Llc | Enhanced distributed extract, transform and load (ETL) computer method |
US7143123B2 (en) * | 2004-01-09 | 2006-11-28 | Microsoft Corporation | Well-known transactions in data replication |
GB0414291D0 (en) * | 2004-06-25 | 2004-07-28 | Ibm | Methods, apparatus and computer programs for data replication |
US7360111B2 (en) | 2004-06-29 | 2008-04-15 | Microsoft Corporation | Lossless recovery for computer systems with remotely dependent data recovery |
US7257690B1 (en) | 2004-10-15 | 2007-08-14 | Veritas Operating Corporation | Log-structured temporal shadow store |
US20060235715A1 (en) * | 2005-01-14 | 2006-10-19 | Abrams Carl E | Sharable multi-tenant reference data utility and methods of operation of same |
US7310716B2 (en) | 2005-03-04 | 2007-12-18 | Emc Corporation | Techniques for producing a consistent copy of source data at a target location |
US20100114826A1 (en) | 2008-10-24 | 2010-05-06 | Microsoft Corporation | Configuration management in distributed data systems |
JP4789021B2 (ja) * | 2009-02-06 | 2011-10-05 | 日本電気株式会社 | データ処理装置及びデータ処理方法 |
US8510270B2 (en) * | 2010-07-27 | 2013-08-13 | Oracle International Corporation | MYSQL database heterogeneous log based replication |
US20120303559A1 (en) * | 2011-05-27 | 2012-11-29 | Ctc Tech Corp. | Creation, use and training of computer-based discovery avatars |
US9910904B2 (en) * | 2011-08-30 | 2018-03-06 | International Business Machines Corporation | Replication of data objects from a source server to a target server |
US20130246376A1 (en) * | 2012-03-16 | 2013-09-19 | Infosys Limited | Methods for managing data intake and devices thereof |
JP5840580B2 (ja) * | 2012-08-24 | 2016-01-06 | 日本電信電話株式会社 | 分散情報同期システムおよび分散情報同期方法 |
WO2016025321A1 (en) * | 2014-08-13 | 2016-02-18 | OneCloud Labs, Inc. | Replication of virtualized infrastructure within distributed computing environments |
US9860314B2 (en) * | 2014-08-19 | 2018-01-02 | Ciena Corporation | Data synchronization system and methods in a network using a highly-available key-value storage system |
US10296632B2 (en) | 2015-06-19 | 2019-05-21 | Sap Se | Synchronization on reactivation of asynchronous table replication |
US20170262345A1 (en) * | 2016-03-12 | 2017-09-14 | Jenlong Wang | Backup, Archive and Disaster Recovery Solution with Distributed Storage over Multiple Clouds |
-
2018
- 2018-09-28 CN CN201880007751.2A patent/CN110249321B/zh active Active
- 2018-09-28 WO PCT/US2018/053441 patent/WO2019067911A1/en unknown
- 2018-09-28 US US16/145,707 patent/US11762836B2/en active Active
- 2018-09-28 JP JP2020500202A patent/JP7208967B2/ja active Active
- 2018-09-28 EP EP18788970.4A patent/EP3676725A1/en active Pending
-
2022
- 2022-03-15 JP JP2022040210A patent/JP7308323B2/ja active Active
-
2023
- 2023-09-13 US US18/367,917 patent/US20230418806A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100274768A1 (en) | 2009-04-23 | 2010-10-28 | Microsoft Corporation | De-duplication and completeness in multi-log based replication |
Also Published As
Publication number | Publication date |
---|---|
US20230418806A1 (en) | 2023-12-28 |
JP2022095645A (ja) | 2022-06-28 |
CN110249321A (zh) | 2019-09-17 |
EP3676725A1 (en) | 2020-07-08 |
JP7308323B2 (ja) | 2023-07-13 |
US11762836B2 (en) | 2023-09-19 |
US20190102418A1 (en) | 2019-04-04 |
CN110249321B (zh) | 2023-11-17 |
JP2020527264A (ja) | 2020-09-03 |
WO2019067911A1 (en) | 2019-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7308323B2 (ja) | 異種ターゲットに対して使用するために分散型データソースからの変更データをキャプチャするためのシステムおよび方法 | |
US11178246B2 (en) | Managing cloud-based storage using a time-series database | |
US7330859B2 (en) | Database backup system using data and user-defined routines replicators for maintaining a copy of database on a secondary server | |
JP6362685B2 (ja) | オンライン・ホット・スタンバイ・データベースのためのレプリケーション方法、プログラム、および装置 | |
CN109074306B (zh) | 分布式存储系统中的混合垃圾收集 | |
Borthakur | The hadoop distributed file system: Architecture and design | |
US9367579B1 (en) | System and method for maintaining a file change log within a distributed file system | |
US9727273B1 (en) | Scalable clusterwide de-duplication | |
US7653668B1 (en) | Fault tolerant multi-stage data replication with relaxed coherency guarantees | |
US8099627B1 (en) | Persistent images of distributed shared memory segments and in-memory checkpoints | |
US9575975B2 (en) | Cluster-wide unique ID for object access control lists | |
Borthakur | HDFS architecture | |
US11567837B2 (en) | Journaling data received in a cloud-based distributed computing environment | |
KR20150070134A (ko) | 가상 데이터베이스를 생성하기 위한 소스 데이터베이스의 지정 시간 복사의 검색 | |
US11347600B2 (en) | Database transaction log migration | |
US20210034477A1 (en) | Transaction recovery from a failure associated with a database server | |
US20190079828A1 (en) | Database Read Cache Optimization | |
Wang et al. | Understanding real world data corruptions in cloud systems | |
CN107402841B (zh) | 大规模分布式文件系统数据修复方法及设备 | |
US11079960B2 (en) | Object storage system with priority meta object replication | |
US11093465B2 (en) | Object storage system with versioned meta objects | |
Bevilacqua-Linn et al. | Sirius: distributing and coordinating application reference data | |
Krogh et al. | Pro MySQL NDB Cluster | |
US20230333946A1 (en) | Method and system for continuous data protection | |
BEVILACQUA-LINN et al. | Distributing and Coordinating Application Reference Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200110 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200110 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210302 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210531 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20211116 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220315 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20220315 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20220315 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20220413 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20220420 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20220701 |
|
C211 | Notice of termination of reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C211 Effective date: 20220705 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20220906 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20221011 |
|
C23 | Notice of termination of proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C23 Effective date: 20221115 |
|
C03 | Trial/appeal decision taken |
Free format text: JAPANESE INTERMEDIATE CODE: C03 Effective date: 20221213 |
|
C30A | Notification sent |
Free format text: JAPANESE INTERMEDIATE CODE: C3012 Effective date: 20221213 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230106 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7208967 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |