JP5550654B2 - データベースにおいて大量の更新をリアルタイムで統合する方法 - Google Patents

データベースにおいて大量の更新をリアルタイムで統合する方法 Download PDF

Info

Publication number
JP5550654B2
JP5550654B2 JP2011535118A JP2011535118A JP5550654B2 JP 5550654 B2 JP5550654 B2 JP 5550654B2 JP 2011535118 A JP2011535118 A JP 2011535118A JP 2011535118 A JP2011535118 A JP 2011535118A JP 5550654 B2 JP5550654 B2 JP 5550654B2
Authority
JP
Japan
Prior art keywords
update
master file
active image
data records
updates
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
Application number
JP2011535118A
Other languages
English (en)
Other versions
JP2012507813A (ja
Inventor
バノーブ,ナタリー
ダニエロ,ルディ
ルシカ,ブリジット
ミレーレス,ギ
ルメール,ピエール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amadeus SAS
Original Assignee
Amadeus SAS
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 Amadeus SAS filed Critical Amadeus SAS
Publication of JP2012507813A publication Critical patent/JP2012507813A/ja
Application granted granted Critical
Publication of JP5550654B2 publication Critical patent/JP5550654B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing

Description

本発明は、概して、データベースの管理に関し、より具体的には、稼働させて多くのエンドユーザへのサービス提供に使用しながら、データベースに持ち込まれる多くの更新をリアルタイムで受け入れる方法に関するものである。
データベースは、70年代に導入され広く採用され始めて、工学、科学、商業、ビジネスでの応用を含めて、あらゆる分野で急増した。その大きさは、パソコンで個人により例えば個人財政状況を記録しておくために用いられる小さなデータベースから、様々な団体、企業、商業組織によりその活動をサポートするために設立される大規模や超大規模のデータベースまで、あらゆるものがある。すべてが相互に接続されている世の中においては、一般的に、そのような大規模データベースは、常にというわけではないが、遠く離れたところにいる多くのエンドユーザでもアクセス可能になっており、データベースにより提供されるどのような情報でも照会することができる。
航空業界の場合のそういった超大規模データベースの例は、航空運賃をその使用制限規則と共に保持しているものである。運賃データベースは、主として、従来の旅行代理店やその他あらゆる種類のオンライン旅行サービス業者を含むすべての旅行産業関係者に対して旅行サービスを提供する、世界各地のいくつかの国際予約システム(GDS: Global Distribution System)によって構成されている。このようなGDSの例として、スペインのマドリッドに本社を置くヨーロッパの旅行サービス業者であるアマデウス(AMADEUS)がある。
そのような大規模データベースは、相反する要求に耐えるものでなければならない。それらは、眠らない世界中のビジネスを支えるためには24時間週7日体制で稼動していなければならないが、一方、何百もの大小航空会社により公示される新運賃を常に取得する必要もある。図1に示すように、データ提供者(120)すなわち航空会社あるいは航空会社を代行する運賃提供業者と、データ要求者すなわちデータベース(100)の遠隔のエンドユーザと、その両方が同時に同じリソースにアクセスしようとしており、データベース・コンテンツが更新されていく一方で問合せに応えるという相反する状況が生じる。
この問題を回避するために実施されてきた方法として、バッチモードで作動させるということがある。すなわち、やり方はさまざまであるが、受け取ったすべての更新を下処理して蓄積しておき、定期的に(例えば、毎晩あるいは予定の間隔で)エンドユーザが使用できないようにデータベースを停止させて、それまでに蓄積されたすべての更新の埋め込みを管理者に実行させる。その後、データベースは再び使用可能な状態に戻されて、エンドユーザの要求への応答が再開できるようになる。しかしながら、これは、24時間週7日体制での稼働を維持するという目的を明らかに果たしていない。
同じく実施されている別の解決法として、フリップ/フロップ機構を導入するということがある。2つの同一のデータベースを維持し、1つをエンドユーザの問合せに応えるために提供する一方で、もう1つは更新されていく。バッチモードの場合のような予定された間隔で、データベースの役割を入れ替える。この方法の明らかな利点は、エンドユーザにとっての停止時間がなくなる(あるいは、入れ替えを行うほんの少しの間である)ということである。しかしながら、これらの解決法はいずれも、入ってくる更新をリアルタイムで伝えることができるものではない。エンドユーザは、大きく遅れて時間がたってからしか変更を見ることができない。遅延時間は、基本的に、バッチモードあるいはフリップ/フロップモードに設定される時間間隔によって決まる。
そこで、本発明は、データ提供者から受け取った更新を継続的に統合することを可能とし、さらにそれを、コヒーレントに、かつ迅速に、データベースのエンドユーザからの問合せへの応答に使用できるように伝播(propagation)することを可能にする機構を開示することを主な目的とする。
本発明のさらなる目的、特徴、および効果は、添付の図面を参照して以下の説明を検討することで、当業者に明らかになるであろう。何らかの追加的利点を本書に組み込むことを意図するものである。
本発明は、データベースにおいて大量の更新を統合する方法を提供することにより、本発明の上記目的を達成する。個々の更新は、データ提供者により供給されるデータレコードのコヒーレント・セットからなる。データベースシステムは、マスターファイル・リポジトリと、アクティブイメージ・リポジトリとを有している。当該方法は、データ提供者により供給される更新を、最初にマスターファイル・リポジトリのマスターファイル(MF)に統合するステップを含んでいる。この統合ステップは、以下のステップを含んでいる。
‐ マスターファイルに更新を受け取る。
‐ マスターファイルにおいて、個々の更新についての、データレコードのコヒーレント・セットを定義する。この目的のため、プロセスの応用部分により、データがコヒーレントであるかどうかを調整し、データレコードのコヒーレント・セットを統合する順序を与える。
データレコードのコヒーレント・セットを定義する際には、個々の更新に対して、当該データベースシステムのロジスティック・テーブルにより、データレコードのコヒーレント・セットを一意的に識別するための固有の変更識別子を生成する。このように、変更識別子により、データレコードの各コヒーレント・セットが識別される。変更識別子は、マスターファイルでの更新の到着順に割り当てられる。
‐ 変更識別子をマスターファイルに受け取る。
‐ マスターファイルにおいて、変更識別子をデータレコードのコヒーレント・セットに割り当てる。
‐ 個々の更新のデータレコードのコヒーレント・セットと、このデータレコードのコヒーレント・セットに割り当てられた変更識別子とで、マスターファイルを更新することにより、個々の更新をコミットする。
この方法は、マスターファイルにコミットされた個々の更新に対して、固有のコミット識別子をロジスティック・テーブルから取得するステップをさらに含んでいる。コミット識別子は、個々の更新の上記コミット・ステップが完了した順序を示す数である。より正確に言えば、マスターファイルの更新が完了すると、コミット・サービスが呼び出され、その中でコミット識別子が割り当てられる。
この方法は、データベースシステムのアクティブイメージ(AI)に、個々の更新をロードするステップをさらに含んでいる。より具体的には、上記ロード・ステップは、以下のステップを含んでいる。
‐ 一意的に識別される個々の更新のデータレコードのコヒーレント・セットを、マスターファイルから取り出す。
‐ コミット識別子により指定される順序で、連続して、個々の更新をアクティブイメージに伝播していくことにより、アクティブイメージとマスターファイルを同期させる。
‐ 個々の更新のアクティブイメージへの伝播を完了させる。
これによって、本発明は、データベースシステムのエンドユーザが、伝播された更新のアクティブイメージからの検索を、直ちに開始することを可能にする。
本発明によると、連続的に更新をマスターファイル・リポジトリに統合して、遅れることなくアクティブイメージに伝播することができるので、それらを、データベースのエンドユーザにリアルタイムで提供することができる。よって、エンドユーザは、更新がアクティブイメージ・リポジトリでコミットされると、直ちにそれらの更新の検索を開始することができ、その一方で、データ提供者がマスターファイルを更新し続けることも可能であり、その新たな更新は直ちに伝播されることになる。
本発明は、オプションとして、つぎの特徴のうち少なくとも1つを備えることができる。
‐ データレコードのコヒーレント・セットは、例えば、輸送サービスの出発地と目的地、運賃、サービス提供業者の参照、運賃クラス、および各運賃が適用される輸送時期を含むことができる。
‐ 個々の更新は、MFキーと呼ばれる少なくとも1つの属性セットの形式で、マスターファイルのテーブルに記憶される。このMFキーは、マスターファイルのレコード粒度を決定するものであり、更新の情報データと関連付けられるものである。
‐ MFキーは、例えば、輸送サービスの出発地と目的地、サービス提供業者の参照、および運賃クラスを含むことができる。MFキーは、運賃および各運賃が適用される輸送時期を含む情報データと関連付けられる。
‐ 更新は、アクティブイメージ(AI)のテーブルにロードされ、AIキーと呼ばれる1つ以上の属性セットの形式で、記憶される。このAIキーは、アクティブイメージのレコード粒度を決定するものであり、更新の情報データと関係付けられるものである。
‐ 1つのAIキーは、1つ以上のMFキーを含んでいる。
‐ AIキーは、例えば、輸送サービスの出発地と目的地、サービス提供業者の参照を含むことができる。AIキーは、運賃、運賃クラス、および各運賃が適用される輸送時期を含む情報データと関連付けられる。
‐ マスターファイルは、すべての更新の履歴を含んでいる。
‐ マスターファイルからアクティブイメージへの更新の伝播は、ロジスティック・テーブルによるコミット識別子の割り当てによって、トリガされる。
‐ コミット識別子は、個々の更新がマスターファイル・リポジトリでコミットされた順序と全く同じ順序で、ロジスティック・テーブルにより割り当てられる。
‐ あるいは、コミット識別子は、優先度に基づいて、ロジスティック・テーブルにより割り当てられる。例えば、実行の早い個別更新が優先される。
さらに、本発明は、大量の更新を統合するためのデータベースシステムを記載しており、これは、マスターファイル(MF)を有するマスターファイル・リポジトリと、アクティブイメージ(AI)を有するアクティブイメージ・リポジトリとを備えている。マスターファイル・リポジトリは、マスターファイルが更新を受け取って、各更新についてのデータレコードのコヒーレント・セットを定義するように構成されていることを特徴とし、また、マスターファイル・リポジトリはロジスティック・テーブルを備えており、これは、各更新に対して、データレコードのコヒーレント・セットを定義する際に、このデータレコードのコヒーレント・セットを一意的に識別するための固有の変更識別子を生成するように構成されていることを特徴としている。さらに、このデータベースシステムは、つぎのステップを実行するように構成されている。
‐ マスターファイルにおいて、変更識別子を受け取り、この変更識別子をデータレコードのコヒーレント・セットに割り当てる。
‐ 各更新のデータレコードのコヒーレント・セットと、このデータレコードのコヒーレント・セットに割り当てられた変更識別子とで、マスターファイルを更新することにより、各更新をコミットする。
‐ さらに、マスターファイルでコミットされた各更新に対して、固有のコミット識別子をロジスティック・テーブルから取得する。このコミット識別子は、各更新について上記コミット・ステップが完了した順序を示す数である。
‐ 更新を、アクティブイメージ・リポジトリのアクティブイメージ(AI)にロードする。これは、各更新のデータレコードのコヒーレント・セットをマスターファイルから取り出すこと、コミット識別子により指定される順序で次々と各更新をアクティブイメージに伝播することにより、アクティブイメージとマスターファイルを同期させること、各更新に対応するデータレコードの各セットのロードがアクティブイメージでコミットされたときに、各更新のアクティブイメージへの伝播を完了させること、を含んでいる。
本発明は、さらに、第1と第2のリポジトリを備えるデータベースシステムを記載しており、第1のリポジトリは、データ提供者からの更新を受け取るように構成されており、第2のリポジトリは、該データベースシステムのエンドユーザにより発せられる問合せに応答するように構成されている。当該システムは、ロジスティック・テーブルを備えており、このロジスティック・テーブルは、さらに以下のものを含んでいる。
‐ 変更識別子を生成する手段。変更識別子は、第1のリポジトリにおいて個々の更新を一意的に識別するために用いられる。
‐ コミット識別子を生成する手段。コミット識別子は、第2のリポジトリへの更新のロードを制御するために用いられる。
また、このデータベースシステムの第1のリポジトリは、MFキーごとに整理されており、第2のリポジトリは、AIキーごとに整理されている。
本発明は、さらに、コンピュータ読取り可能な記憶媒体に記憶されたコンピュータプログラム・プロダクトを含んでおり、これは、データベースシステムにおいて大量の更新を統合する上記方法を少なくとも1つのコンピュータに実施させるコンピュータ読取り可能コード手段を有している。
図1は、大量データの継続的取得を、同時に、多くのエンドユーザにサービスを提供することに努めながら持続しなければならない、従来技術のシングルリポジトリ・データベースを示している。 図2は、コンピュータ化された環境における本発明のデータベースシステムのモデルを示している。 図3は、MFキーごとに整理されたマスターファイル(MF)リポジトリであって、さらにロジスティック・テーブルも含むものと、AIキーごとに整理されたアクティブイメージ(AI)リポジトリとを備える、データベースシステム・モデルの詳細を示している。 図4は、変更識別子およびコミット識別子を用いてデータをマスターファイルからアクティブイメージに伝播する、データベースシステムの全体的動作を説明している。 図5a‐5lは、データベースシステムの動作の形態の説明に用いる詳細例である。 図5a‐5lは、データベースシステムの動作の形態の説明に用いる詳細例である。 図5a‐5lは、データベースシステムの動作の形態の説明に用いる詳細例である。 図5a‐5lは、データベースシステムの動作の形態の説明に用いる詳細例である。 図5a‐5lは、データベースシステムの動作の形態の説明に用いる詳細例である。 図5a‐5lは、データベースシステムの動作の形態の説明に用いる詳細例である。 図5a‐5lは、データベースシステムの動作の形態の説明に用いる詳細例である。 図5a‐5lは、データベースシステムの動作の形態の説明に用いる詳細例である。 図5a‐5lは、データベースシステムの動作の形態の説明に用いる詳細例である。 図5a‐5lは、データベースシステムの動作の形態の説明に用いる詳細例である。 図5a‐5lは、データベースシステムの動作の形態の説明に用いる詳細例である。 図5a‐5lは、データベースシステムの動作の形態の説明に用いる詳細例である。
以下、添付の図面を参照して、本発明の詳細な説明を行う。この説明は、典型例となる実施形態を含んでいるが、他の実施形態も可能であり、記載の実施形態は、本発明の趣旨および範囲から逸脱することなく変更することができる。
図2は、本発明のデータベース・モデル(200)を示しており、これはデュアルリポジトリを備えている。よって、本発明のデータベースシステムは、デュアルリポジトリ・データベースとも呼ばれる。一方のリポジトリはデータコンテンツの更新用に最適化されており、他方はデータ検索を迅速に処理できるように設計されている。
マスターファイルすなわちMF(210)は、データ提供者(220)によって更新されるコンテナである。本発明の説明のために例として選択した状況、すなわち、いくつかのGDSにより維持されている航空業界の大規模な運賃データベースにおいては、データ提供者は、Airline Tariff Publishing Company(ATPCO)といった運賃提供業者である可能性があるが、これは多くの国内航空会社および国際航空会社により所有されている機関であって、一日に何度も世界中の多くの航空会社の最新の航空運賃を収集して配信する機関である。運賃およびその適用規則は、航空会社により提供され、ATPCOによりコード化され、そして、電子的に伝送されることで、自動的にGDS運賃データベースに組み込まれる。他の運賃提供者としては、運賃をデータベースに直接登録する権限を与えられている、データベースの管理者あるいはオペレータが考えられ、一般的に運賃の登録は、専用のグラフィカルユーザインタフェース(GUI)およびこれに対応する入力アプリケーションを介して行われる。
データがどのソースから提供される場合でも、データの更新および変更の追跡が容易であるように、MFレジストリ(210)は設計されている。この目的のため、それは、マスターファイルに取り込まれたすべての変更の履歴も含んでいる。
アクティブイメージすなわちAI(230)は、データベースのエンドユーザ(240)により発せられた要求が入ってくるのに応えて、データ検索を容易に行うことができるように設計されているリポジトリである。航空業界の運賃データベースにとってのエンドユーザは、GDSの支援を受けている正規の旅行代理店のほか、増加し続けるオンライン旅行サイトを実現しているソフトウェアアプリケーションおよびオンライン旅行サービス業者である。
本発明のデータベース・モデルの主要な目的は、データ提供者(220)からの大量データを調整して迅速にデータ要求者に伝播すること(250)を可能とし、これにより、変更や新運賃を、これらが公表され次第できるだけ早くデータベースのエンドユーザ(240)が利用できるようにすることである。
他のデータベースと同様に、本発明のデータベースシステムはコンピュータ化されたシステムの一部として実現され、そのシステムは、この種の大規模データベース、より具体的には本発明の考える大規模データベースを保持し稼働させるのに十分な、内部および外部の記憶装置(201)と処理資源とを備えた少なくとも1つのコンピュータを含むものである。
図3は、デュアルリポジトリ・データベース・モデルの詳細を示している。
新しいデータのマスターファイルへの統合(305)は、データレコードのコヒーレント・セットで行われなければならない。この統合は、固有の番号で表される'ModifID'(362)と呼ばれる変更識別子を各セットに割り当てることによって、達成される。このように、各更新がModifIDにより一意的に識別されることで、本発明のシステムは、MFの同時更新をサポートすることが可能である。ModifIDは、マスターファイル・リポジトリでの更新の到着順に割り当てられる。
2つのリポジトリ(MFとAI)の同期は、同じく固有の番号で表される'CommitID'(364)と呼ばれるコミット識別子を用いて制御される。CommitIDの役割は、(図2でデータ伝播と呼んでいる)MFからAIへの更新のロード(350)の順序を管理することである。各統合プロセスは、コミット時に、つまり、図2で説明しているデータ提供者によってデータレコードのコヒーレント・セットが実際にマスターファイル(210)に完全に書き込まれた時に、その"CommitID"を取得する。このようにして、本発明は、ロードプロセスの複数のインスタンスの実行を可能としている。各CommitIDは、変更が実際にMFにコミットされたシーケンスの順序が、AIへの更新のロードの際に守られるように、割り当てられる。これによって、両方のリポジトリにおいて更新が同じシーケンスの順序で行われることが保証される。
ModifIDおよびCommitIDは、MFと関連付けられたロジスティック・テーブルすなわちLT(360)に保持され、管理される。より正確に言うと、ロジスティック・テーブルは、マスターファイル・リポジトリに納められているテーブルの1つである。このため、ModifIDおよびCommitIDは、ロジスティック・テーブルから迅速に取り出して、マスターファイルの他のテーブルに送ることができる。ModifIDとCommitIDの割り当てが行われると、ロジスティック・テーブルには徐々に進めたIDが追加されていく。
両方のリポジトリにおいて、データレコードは、決められた粒度レベルで操作される。マスターファイル(MF)は、変更履歴を含んでおり、'MFkey(MFキー)'ごと(312)に整理されている。各MFkeyは、属性のセットであり、データの有意最小セットからなる。MFkeyはマスターファイルの粒度を決定し、これにより、MFkey粒度で変更履歴が管理される。MFkeyの形式は、プロダクト(例えば、ATPCOのレコード形式、あるいはGDSのレコード形式)と関連している。マスターファイルは、多くのテーブルを含んでいる。各テーブルは、1つのレコード形式専用のものである。各テーブルは、特定のMFkey識別子に関連付けられている。
マスターファイルの1つのテーブルは、特定のデータ提供者により提供される特定のレコード形式に専用のものとすることができる。この場合、特定のMFkeyがこのテーブルに割り当てられる。
例えば、マスターファイル(210)の1番目のテーブルは、ATPCOにより提供される一等運賃クラス(運賃クラス"F")の運賃に専用のものとすることができ、2番目のテーブルは、同じくATPCOにより提供される別の運賃クラス(運賃クラス"C")の運賃に専用のものとすることができ、3番目のテーブルは、ATPCOにより提供される規則に専用のものとすることができる。この場合、このテーブルに割り当てられるMFkeyは、つぎのデータを含むことができる: 所定の出発地/目的地、所定のサービス提供業者(例えば航空会社)、および所定の運賃クラス。このMFkeyに関連付けられるテーブルは、MFkeyの属性に関する情報データを含んでいる。図5a〜5lに例を示す。例えば、図5aにおいて、マスターファイルの1つ目のMFkeyは、所定の出発地/目的地("NCE/PAR")、所定のサービス提供業者("AF")、および所定の運賃クラス("F")を含んでいる。このMFkeyに関連付けられる情報データには、運賃("200ユーロ")と、この運賃に対応する旅行時期("10/02/08")とが含まれる。マスターファイルの2つ目のMFkeyは、所定の出発地/目的地("NCE/PAR")、所定のサービス提供業者("AF")、および所定の運賃クラス("C")を含んでいる。このMFkeyに関連付けられている情報データには、運賃("150ユーロ")と、この運賃に対応する旅行時期("15/03/08")とが含まれる。
別のデータ提供者により提供される運賃を含むレコードは、マスターファイルの他のテーブルに統合されることになる。
データ検索のため、アクティブイメージ(AI)は、'AIkey(AIキー)'により(332)識別される多くのテーブルを含んでいる。ひとつのAIkeyレコードは、一般的に、1つ以上のMFkeyレコードを含んでいる。ひとつのAIkeyは、ひとつのMFkeyと同じものであってもよい。AIkeyは、AIイメージのレコード粒度である。それは、データベースのエンドユーザにより要求されてAIから取り出す(325)ことができる、データの有意最小セットである。アクティブイメージの各テーブルは、1つのレコード形式専用のものである。アクティブイメージの各テーブルは、1つのAIkey識別子に関連付けられている。
例えば、アクティブイメージ(230)の1つのテーブルは、所定の運賃提供者により提供される運賃に専用のものとすることができる。この場合、このテーブルに割り当てられるAIkeyは、つぎのデータを含むことができる: 所定の出発地/目的地、および所定のサービス提供業者(例えば航空会社)。このAIkeyに関連付けられるテーブルは、AIkeyのデータに関する情報データを含んでいる。例えば、図5kにおいて、アクティブイメージのAIkeyは、所定の出発地/目的地("NCE/PAR")、および所定のサービス提供業者("AF")を含んでいる。このAIkeyに関連付けられる情報データには、フライトごとの、運賃クラス("F"または"C")と、運賃("200ユーロ","150ユーロ"など)と、旅行時期("10/02/08","15/03/08"など)とが含まれる。AIkeyの属性を提示しているMFkeyに含まれているすべての情報データが、そのAIkeyに関連付けられているアクティブイメージのテーブルに集められる。
図4は、更新の継続的取得を可能とする識別子(ModifIDおよびCommitID)とキー(MFkeyおよびAIkey)の利用について、例を挙げて示している。
この例においては、データベースのデータ提供者(420)により、3つの更新がトリガされる。時間(402)の関数として、更新には、図3に示すロジスティック・テーブルにより3つのModifIDが次々と与えられる。固有のModifIDにより識別される各更新は、さまざまな数の異なるレコードすなわちMFkeyを含むことができる(461,463および465)。
MFリポジトリに更新がコミットされると、それらには、図示のように固有のCommitIDが割り当てられる(462,464,および466)。関連の様々なプロセスの実行時間によっては、それらのCommitIDは、必ずしもModifIDと同じ順序で割り当てられるとは限らない。従って、アクティブイメージへのロードは、CommitIDによって規定される順序で実行されるので、この例では、ModifID#3は、ModifID#2よりも先にAIにロードされる(468)。コミット時に導入される関連付けられたAIkeyが、AIにおける対応する粒度の要素を決定する。
図5a〜5lは、MFの同時更新を可能とし、AIへのロードの複数起動処理を可能とする識別子の利用についてより詳細に説明する、ひと続きの例を示している。
図5aでは、2つの運賃の取得によるマスターファイルの更新を示している。2つの新しい運賃(511)は、運賃データ提供者により、すなわちこの場合はATPCOにより、送信される。この新運賃の送信は、本発明による更新に相当し、図示の例では2008年1月1日に発生する。そして、ロジスティック・テーブルにより、1番目の変更識別子が提供され(513)、ModifID#2が次に提供可能な識別子となる(517)。2つの新運賃は、同じ識別子すなわちModifID#1により識別されて、マスターファイルに書き込まれる(515)。
制限するものではないこの例において、データレコードのコヒーレント・セットは"NCE/PAR/AF/F 200ユーロ, for travel date from 10/02/08"と"NCE/PAR/AF/C 150ユーロ, for travel date from 15/03/08"からなる。このデータレコードのコヒーレント・セットは、2つの運賃と、各運賃がその日から適用可能となる日付と、関連する運賃クラス("F")とを含んでいる。データレコードのコヒーレント・セットは、各運賃について、つぎのようなフライトの参照を含んでいる: "出発地/目的地/航空会社名/サービスのカテゴリ"。また、データ提供者の参照も含んでいる。
この例では、MFkey(519)は、"NCE/PAR/AF/F"である。関連付けられた情報データは、旅行日および運賃("200ユーロ, for travel date from 10/02/08")であり、割り当てられた変更識別子は、"ModifID#1"である。もう1つのMFkey(519)は、"NCE/PAR/AF/C"である。関連付けられた情報データは、旅行日および運賃("150ユーロ,for travel date from 15/03/08")である。これら2つの更新は、1つのデータのコヒーレント・セットに属するものであると見なされる。そのため、第1と第2のMFkeyの両方に、同じ変更識別子("ModifID#1")が関連付けられる。
図5bは、データベース・トランザクションがコミットされたとき(521)の処理を示している。ロジスティック・テーブル(LT)により、1番目のコミット識別子が割り当てられ(523)、これは、ModifID#1に対応する上記2つのMFkeyを参照している。そして、CommitID#2が、次に割り当て可能なコミット識別子となる(525)。
図5cは、新しく送信された運賃をエンドユーザが見ることができるようにするために、アクティブイメージを同期させる方法を示している。保留されているコミット識別子が、LTから取得されて、これによって、この保留されているコミット識別子(CommitID#1)と関連付けられている変更識別子(ModifID#1)によって特定される運賃の取り出し(533)がトリガされる。2つのMFkeyが取り出されたら、これらがAIにロードされて、MFとAIが同期された状態となる(535)。
そして、次に、AIトランザクションがコミットされたときには(537)、新しく送信された運賃が、単一のAIkey(539)という形で、データベースのエンドユーザに提供可能となる。この例では、AIkey(539)は、2つのMFkeyに含まれるすべての情報データ(すなわち、"NCE/PAR/AF/F 200ユーロ, for travel date from 10/02/08"と"NCE/PAR/AF/C 150ユーロ,for travel date from 15/03/08")と、同期の日付とを含んでいる。
図5a〜5cに示す動作は、すべて同日(501)に短時間で実行されたものである。
図5dおよび、これに続く2つの図は、後の2008年3月15日に(502)さらに受け取った運賃(541)の統合を示している。先の場合と同様に、新しく受け取った運賃には、これがMFに書き込まれる(545)より前に、最初に固有の変更識別子(ModifID#2)が割り当てられる(543)。この新しい運賃は、既存のMFkeyを参照しているので、当該MFkeyが図示のように更新されて(549)新しい運賃アイテムを含むようになる。ModifID#3が、次に割り当て可能な変更識別子となる(547)。
図5eにおいて、データベース・トランザクションがコミットされると(551)、LTによって、次のコミット識別子(CommitID#2)が割り当てられる(553)。MFkeyは更新されて、ModifID#1とModifID#2に対応する変更を含むようになる(559)。そして、CommitID#3が、次に割り当て可能なコミット識別子となる(555)。
図5fは、図5cに類似している。この場合の最終結果では、AIkey"NCE/PAR/AF"(568)は、今や新しくロードされた運賃をその時点の日付である適用日"15/03/08"と共に、さらに含むようになっている(569)。
例は図5gに続いており、ここでは、二人の運賃提供者が後にMFを同時に更新している(この時点での日付は2008年3月30日である)。先に述べたように、航空運賃データベースの場合、運賃の出所は、ATPCO(572)による送信である。運賃は、権限を与えられたデータベースのオペレータ(571)が専用のGUIで直接入力することもできる。この特定の例において、最初に、GUIを介したトランザクションにModifID#3が割り当てられ(573)、そしてATPCOによる送信にModifID#4が割り当てられる(575)。これは、更新がまずGUIを介して送信され、次に、ATPCOにより送信されたことを意味している。これらに相当する更新は、それぞれ、MFkey"NCE/PAR/AF/F/"の中(577)とMFkey"NCE/PAR/AF/C/"の中(578)に見られる。
図5hに示すように、ATPCOによる更新が最初にコミットされて(581)、ModifID#4(585)と関連付けられたCommitID#3(583)がLTにより割り当てられ、このとき、もう一方のGUIを介したトランザクションは、まだ完了していない。
図5iは、GUIを介して行われた、さらなる更新を示している。今度は、MFkey"NCE/PAR/AF/C/"(591)と、GUIインタフェースを用いた運賃提供者に先に割り当てられたModifID#3(593)とに関わる更新である。
図5jは、更新(5101)のコミットメント段階を示しており、ここでは、ModifID#3と関連付けられたCommitID#4(5103)が、GUIを介したトランザクションに割り当てられる。
そして、先の例と同様に、次にAIリポジトリをMFに同期させる。図5kに示すように、この段階で、2つのコミット識別子、すなわち、CommitID3とCommitID4(5111)が、LTに保留されている。最初の1つが処理されることにより、これに対応する更新がMFから、つまりModifID#4(5113)から取り出され、これにより、AIを同期させる(5115)。
最後に、図5lに示すように、未だLTに保留されているCommitID#4(5121)が処理されることになる。これに対応する変更の2つのMFkey(5123)がMFから取り出され、これを用いてAIを同期させる(5125)。
AIの運賃リストの最後のアイテム、すなわち適用日付が"30/03/08"である情報データが、この最後の例の同期によって上書きされたことに気づくであろう。図5kに示す前回の同期(5115)により設定された旅行日("from 18/05/08")が、GUIを介したトランザクションにより後に行われた更新によって置き換えられており、これによって、旅行日が新しい値、すなわち"from 20/05/08"に変更されている。この例において、GUIインタフェースを用いる提供者は、例えば、ATPCOにより提供される更新と同じデータに関する更新を手動で提供することができる代理業者である。規則の訂正も手動で行うことができる。このようにして、GUIインタフェースからの更新とATPCOからの更新の両方を、同じMFkeyに統合して、同じAIkeyに伝播することができる。
変更がアクティブイメージによりユーザに提供可能となる順序は、コミット識別子によって決まる。このコミット識別子なしでは、同期が間違って行われる。すなわち、"NCE/PAR/AF/C"の旅行日が"from 20/05/08"ではなく"from 18/05/08"となる恐れがある。
運賃データベースをリアルタイムで更新する上記の方法によると、実際に、膨大な数の運賃変更を受け入れることが可能である。ATPCOのような機関が、何百万もの運賃をそれらの関連規則と共にGDSに転送しなければならないことは、往々にしてある。本発明の機構によると、新しい運賃を継続的に供給し、迅速に統合して、データベースのエンドユーザに提供可能とすることができ、この間の経過時間は、ほんの数分間である場合から、数百万の運賃が詰め込まれた最大運賃送信の場合の数時間まで、さまざまである。これは、エンドユーザによる運賃データベースへの問合せを継続しながらでも達成される。また、直接用GUIの複数起動の(通常、数百の)により実現されると考えられる、同時更新が可能であり、これによって、データベースの稼働中に、権限を与えられた運賃データベースのオペレータが更新を行うことも可能である。
例えば、本発明によると、ATPCOといったデータ提供者からの1回の送信から受け取る1,000,000の運賃と100,000の規則を30分ほどで統合することが可能である。このような統合は、送信やGUIを用いるユーザに影響を与えることなく達成される。
以上、運賃に関するデータのみを用いる例により、本発明について詳述したが、本発明はどのような種類のデータをリアルタイムで統合し伝播するためにでも実施できることは、当業者には明らかであろう。

Claims (11)

  1. データベースシステム(200)において大量の更新を統合する方法であって、該方法は以下を含んでいる:
    データ提供者(220)により供給される更新を、前記データベースシステム(200)のマスターファイル(MF)(210)に統合することであって、この統合ステップは、以下のステップを含んでいる:
    前記マスターファイル(210)に前記更新を受け取る;
    前記マスターファイル(210)において、各更新についての、データレコードのコヒーレント・セット(511)を定義する;
    前記データレコードのコヒーレント・セット(511)を定義する際には、各更新に対して、前記データベースシステムのロジスティック・テーブル(360)により、前記データレコードのコヒーレント・セット(511)を一意的に識別するための固有の変更識別子を生成する;
    前記マスターファイル(210)において、前記変更識別子を受け入れる;
    前記マスターファイル(210)において、前記変更識別子を前記データレコードのコヒーレント・セット(511)に割り当てる;
    各更新のデータレコードのコヒーレント・セット(511)と、このデータレコードのコヒーレント・セット(511)に割り当てられた変更識別子とで、前記マスターファイル(210)を更新すること(515)により、各更新をコミットする;
    前記マスターファイル(210)にコミットされた各更新に対して、固有のコミット識別子(523)を前記ロジスティック・テーブル(360)からさらに取得する;前記コミット識別子(523)は、各更新の前記コミット・ステップが完了した順序を示す数である;
    前記更新を、前記データベースシステムのアクティブイメージ(AI)(230)にロードすることであって、このロード・ステップは、以下のステップを含んでいる:
    前記マスターファイル(210)から、各更新のデータレコードのコヒーレント・セットを取り出す(533);
    前記コミット識別子により指定される順序で、次々と、各更新を前記アクティブイメージ(230)に伝播していくことにより、前記アクティブイメージ(230)と前記マスターファイル(210)を同期させる(535);
    各更新に対応するデータレコードの各セットのロードが前記アクティブイメージ(230)でコミットされた(537)ときに、各更新の前記アクティブイメージ(230)への伝播を完了させる。
  2. 前記データレコードのコヒーレント・セット(511)は、輸送サービスの出発地と目的地、運賃、サービス提供業者の参照、運賃クラス、および各運賃が適用される輸送時期を含んでいる、請求項1に記載の方法。
  3. 各更新は、MFキー(461、463、および465)と呼ばれる少なくとも1つの属性セットの形式で、前記マスターファイル(210)のテーブルに記憶され、前記MFキーは、前記マスターファイル(210)のレコード粒度を決定するものであり、前記更新の情報データと関連付けられるものである、請求項1または2に記載の方法。
  4. 前記MFキーは、輸送サービスの出発地と目的地、サービス提供業者の参照、および運賃クラスを含んでおり、
    前記MFキーは、運賃および各運賃が適用される輸送時期を含む情報データと関連付けられている、請求項1ないし3のいずれか1つに記載の方法。
  5. 前記更新は、前記アクティブイメージ(AI)(230)のテーブルにロードされ、AIキー(462、464、466)と呼ばれる1つ以上の属性セットの形式で記憶され、前記AIキーは、前記アクティブイメージ(230)のレコード粒度を決定するものであり、前記更新の情報データと関係付けられるものである、請求項3または4に記載の方法。
  6. 1つのAIキーは、1つ以上のMFキーを含んでいる、請求項1ないし5のいずれか1つに記載の方法。
  7. 前記AIキーは、輸送サービスの出発地と目的地、サービス提供業者の参照を含んでおり、
    前記AIキーは、運賃、運賃クラス、および各運賃が適用される輸送時期を含む情報データと関連付けられている、請求項5または6に記載の方法。
  8. 前記マスターファイル(210)は、前記更新すべての履歴を含んでいる、請求項1ないし7のいずれか1つに記載の方法。
  9. 前記マスターファイル(210)から前記アクティブイメージ(230)への前記更新の伝播は、前記ロジスティック・テーブル(360)による前記コミット識別子の割り当てによって、トリガされる、請求項1ないし8のいずれか1つに記載の方法。
  10. 大量の更新を統合するためのデータベースシステム(200)であって、マスターファイル(MF)(210)を有するマスターファイル・リポジトリと、アクティブイメージ(AI)(230)を有するアクティブイメージ・リポジトリとを備え、前記マスターファイル・リポジトリは、前記マスターファイル(210)が更新を受け取り、各更新についてのデータレコードのコヒーレント・セット(511)を定義するように、構成されていることを特徴とし、さらに、前記マスターファイル・リポジトリはロジスティック・テーブル(360)を備えており、これは、各更新に対して、前記データレコードのコヒーレント・セット(511)を定義する際に、このデータレコードのコヒーレント・セット(511)を一意的に識別するための固有の変更識別子を生成するように構成されていることを特徴とし、さらに、当該データベースシステム(200)は、以下のステップを実行するように構成されている:
    前記マスターファイル(210)において、前記変更識別子を受け取り、この変更識別子を前記データレコードのコヒーレント・セット(511)に割り当てる;
    各更新のデータレコードのコヒーレント・セットと、このデータレコードのコヒーレント・セットに割り当てられた変更識別子とで、前記マスターファイル(210)を更新すること(515)により、各更新をコミットする;
    さらに、前記マスターファイル(210)でコミットされた各更新に対して、固有のコミット識別子(523)を前記ロジスティック・テーブル(360)から取得する;前記コミット識別子(523)は、各更新について前記コミット・ステップが完了した順序を示す数字である;
    前記更新を、前記アクティブイメージ・リポジトリの前記アクティブイメージ(AI)(230)にロードする;これは、各更新のデータレコードのコヒーレント・セットを前記マスターファイル(210)から取り出すこと(533)、前記コミット識別子により指定される順序で次々と各更新を前記アクティブイメージ(230)に伝播することにより、前記アクティブイメージ(230)と前記マスターファイル(210)を同期させること(535)、各更新に対応するデータレコードの各セットのロードが前記アクティブイメージ(230)でコミットされた(537)ときに、各更新の前記アクティブイメージ(230)への伝播を完了させること、を含んでいる。
  11. コンピュータ読取り可能な記憶媒体(201)に記憶されたコンピュータプログラであって、請求項1ないし8のいずれかに記載の、データベースシステムにおいて大量の更新を統合する方法を、少なくとも1つのコンピュータに実施させるコンピュータ読取り可能コーを有している、コンピュータプログラ
JP2011535118A 2008-11-06 2009-11-06 データベースにおいて大量の更新をリアルタイムで統合する方法 Active JP5550654B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP08305779A EP2184688A1 (en) 2008-11-06 2008-11-06 Method of integrating in real time large volumes of updates in a database
EP08305779.4 2008-11-06
US12/269,326 2008-11-12
US12/269,326 US8229887B2 (en) 2008-11-06 2008-11-12 Method of integrating in real time large volumes of updates in a database
PCT/EP2009/064777 WO2010052311A1 (en) 2008-11-06 2009-11-06 Method of integrating in real time large volumes of updates in a database

Publications (2)

Publication Number Publication Date
JP2012507813A JP2012507813A (ja) 2012-03-29
JP5550654B2 true JP5550654B2 (ja) 2014-07-16

Family

ID=40473825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011535118A Active JP5550654B2 (ja) 2008-11-06 2009-11-06 データベースにおいて大量の更新をリアルタイムで統合する方法

Country Status (11)

Country Link
US (1) US8229887B2 (ja)
EP (2) EP2184688A1 (ja)
JP (1) JP5550654B2 (ja)
KR (1) KR101636594B1 (ja)
CN (1) CN102272756B (ja)
AU (1) AU2009312698B2 (ja)
BR (1) BRPI0921613A2 (ja)
CA (1) CA2742883C (ja)
ES (1) ES2746908T3 (ja)
WO (1) WO2010052311A1 (ja)
ZA (1) ZA201104200B (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957778B (zh) * 2010-09-19 2012-11-21 华为技术有限公司 软件持续集成的方法、装置和系统
US9251021B2 (en) * 2011-05-23 2016-02-02 Bradley Gene Calder Asynchronous replication in a distributed storage environment
US9519555B2 (en) 2011-05-23 2016-12-13 Microsoft Technology Licensing, Llc Synchronous replication in a distributed storage environment
US20140033120A1 (en) * 2012-07-26 2014-01-30 David BENTAL System and methods for presenting market analyses using intuitive information presentation
US9734187B2 (en) * 2013-04-03 2017-08-15 Salesforce.Com, Inc. Atomic transactions in a NOSQL database
CN103268244B (zh) * 2013-06-06 2017-12-26 北京奇虎科技有限公司 加载文件的方法及装置
CN103544303B (zh) * 2013-10-31 2017-06-20 北京锐安科技有限公司 一种数据同步方法、系统和设备
CN104661053B (zh) * 2013-11-22 2020-01-21 中兴通讯股份有限公司 一种iptv数据处理的方法及系统
CN105550319B (zh) * 2015-12-12 2019-06-25 天津南大通用数据技术股份有限公司 一种集群一致性服务高并发下持久化的优化方法
US10860464B2 (en) * 2017-03-10 2020-12-08 Micro Focus Llc Test selection for application commit
CN109254997B (zh) * 2018-08-27 2020-12-11 广州城市信息研究所有限公司 数据同步方法、系统、计算机设备和可读存储介质
WO2021006720A1 (en) * 2019-07-05 2021-01-14 Mimos Berhad Method and system for updating database
WO2021096017A1 (ko) * 2019-11-15 2021-05-20 엘지전자 주식회사 컨테이너 기반의 차량 시스템에서 심리스 컨테이너 업데이트
CN112261290B (zh) * 2020-10-16 2022-04-19 海信视像科技股份有限公司 显示设备、摄像头以及ai数据同步传输方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3484440B2 (ja) * 1993-06-30 2004-01-06 日本電信電話株式会社 分散型データベース更新方法
US5796999A (en) * 1994-04-15 1998-08-18 International Business Machines Corporation Method and system for selectable consistency level maintenance in a resilent database system
JPH10161916A (ja) * 1996-11-28 1998-06-19 Hitachi Ltd データベースの複製に伴う更新競合の検出方法
US6032158A (en) * 1997-05-02 2000-02-29 Informatica Corporation Apparatus and method for capturing and propagating changes from an operational database to data marts
US6477510B1 (en) * 1999-03-15 2002-11-05 Andrew Johnson, Inc. Euro booking currency conversion method
US6496843B1 (en) * 1999-03-31 2002-12-17 Verizon Laboratories Inc. Generic object for rapid integration of data changes
US6397228B1 (en) * 1999-03-31 2002-05-28 Verizon Laboratories Inc. Data enhancement techniques
US6721713B1 (en) * 1999-05-27 2004-04-13 Andersen Consulting Llp Business alliance identification in a web architecture framework
AU6902901A (en) * 2000-05-24 2001-12-03 Openwave Systems Inc. Synchronisation of databases
US6895471B1 (en) * 2000-08-22 2005-05-17 Informatica Corporation Method and apparatus for synchronizing cache with target tables in a data warehousing system
US7164676B1 (en) * 2001-03-21 2007-01-16 Cisco Technology, Inc. Method and apparatus for a combined bulk and transactional database synchronous scheme
JP4299033B2 (ja) * 2003-03-28 2009-07-22 富士通株式会社 ジャーナル取得・配付装置、ジャーナル取得・配付方法、その方法をコンピュータに行わせるプログラム
JP4267421B2 (ja) * 2003-10-24 2009-05-27 株式会社日立製作所 リモートサイト及び/又はローカルサイトのストレージシステム及びリモートサイトストレージシステムのファイル参照方法
US8447743B2 (en) * 2004-08-17 2013-05-21 International Business Machines Corporation Techniques for processing database queries including user-defined functions
CN1614596A (zh) * 2004-12-06 2005-05-11 杜斌 往来信息整合处理的方法及其系统
JP2006277158A (ja) * 2005-03-29 2006-10-12 Nec Corp データ更新システム、サーバ及びプログラム

Also Published As

Publication number Publication date
AU2009312698B2 (en) 2013-09-19
ZA201104200B (en) 2013-05-29
CN102272756B (zh) 2013-11-27
WO2010052311A1 (en) 2010-05-14
CA2742883A1 (en) 2010-05-14
EP2353110A1 (en) 2011-08-10
JP2012507813A (ja) 2012-03-29
KR20110093860A (ko) 2011-08-18
AU2009312698A1 (en) 2010-05-14
EP2353110B1 (en) 2019-07-10
BRPI0921613A2 (pt) 2016-01-05
KR101636594B1 (ko) 2016-07-20
ES2746908T3 (es) 2020-03-09
EP2184688A1 (en) 2010-05-12
CN102272756A (zh) 2011-12-07
CA2742883C (en) 2015-10-27
US8229887B2 (en) 2012-07-24
US20100114830A1 (en) 2010-05-06

Similar Documents

Publication Publication Date Title
JP5550654B2 (ja) データベースにおいて大量の更新をリアルタイムで統合する方法
US5781911A (en) Integrated system and method of data warehousing and delivery
JP6850722B2 (ja) イベント処理のための動的に型付けされたビッグデータによるイベントの充実化
CN1601541B (zh) 用于自维护的实时数据聚集的方法和数据处理装置
US9886441B2 (en) Shard aware near real time indexing
US7856420B2 (en) Zero latency enterprise enriched publish/subscribe
EP2653968A2 (en) Meta-data driven data ingestion using MapReduce framework
US8626703B2 (en) Enterprise resource planning (ERP) system change data capture
CN106599043A (zh) 用于多级数据库的中间件和多级数据库系统
JP2012518216A (ja) リリース前に新規入力データを有する大規模プロダクションデータベースにおける大量の更新処理の検証を可能とする方法
US20210081358A1 (en) Background dataset maintenance
Combi et al. Architectures for a temporal workflow management system
CN105320722A (zh) 确保分布式存储系统中导出数据的一致性
US20230195739A1 (en) Information system with temporal data
US20180211189A1 (en) Record aggregation database
US8700565B2 (en) Method and system for data filing systems
EP3571651A1 (en) Record aggregation database
US8943034B2 (en) Data change management through use of a change control manager
US11144520B2 (en) Information system with versioning descending node snapshot
JP7360222B1 (ja) プログラム、情報処理装置、製造方法、情報処理方法
US20220092075A1 (en) Systems, apparatus, and methods for data integration optimization
Liu Two-level data staging etl for transaction data
Perry et al. Patterns
CN114706858A (zh) 一种冲正数据的存储方法、装置
JP2012053800A (ja) 業務システムにおけるデータベース複数世代管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140312

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: 20140513

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140520

R150 Certificate of patent or registration of utility model

Ref document number: 5550654

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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