特許第5873700号(P5873700)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ダッソー システムズ エノビア コーポレーションの特許一覧

特許5873700OLTPデータベース環境とOLAPデータベース環境を統合するための、コンピュータの方法およびシステム
<>
  • 特許5873700-OLTPデータベース環境とOLAPデータベース環境を統合するための、コンピュータの方法およびシステム 図000002
  • 特許5873700-OLTPデータベース環境とOLAPデータベース環境を統合するための、コンピュータの方法およびシステム 図000003
  • 特許5873700-OLTPデータベース環境とOLAPデータベース環境を統合するための、コンピュータの方法およびシステム 図000004
  • 特許5873700-OLTPデータベース環境とOLAPデータベース環境を統合するための、コンピュータの方法およびシステム 図000005
  • 特許5873700-OLTPデータベース環境とOLAPデータベース環境を統合するための、コンピュータの方法およびシステム 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5873700
(24)【登録日】2016年1月22日
(45)【発行日】2016年3月1日
(54)【発明の名称】OLTPデータベース環境とOLAPデータベース環境を統合するための、コンピュータの方法およびシステム
(51)【国際特許分類】
   G06F 12/00 20060101AFI20160216BHJP
【FI】
   G06F12/00 513Z
【請求項の数】8
【外国語出願】
【全頁数】12
(21)【出願番号】特願2011-267733(P2011-267733)
(22)【出願日】2011年12月7日
(65)【公開番号】特開2012-138082(P2012-138082A)
(43)【公開日】2012年7月19日
【審査請求日】2014年9月26日
(31)【優先権主張番号】12/963,428
(32)【優先日】2010年12月8日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】510279239
【氏名又は名称】ダッソー システムズ エノビア コーポレーション
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】デイビッド エドワード テュークスバリー
【審査官】 井上 宏一
(56)【参考文献】
【文献】 国際公開第2009/037363(WO,A1)
【文献】 特開2004−303212(JP,A)
【文献】 米国特許出願公開第2005/0289129(US,A1)
【文献】 特表2010−539616(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00
(57)【特許請求の範囲】
【請求項1】
OLTP(OnLine Transaction Processing)データベース・サーバとOLAP(OnLine Analytics Processing)データベース・サーバの両方に対するアクセスを提供するコンピュータ・システムであって、
クライアント・アプリケーションを有するOLPTクライアントと、
前記OLPTクライアント、前記OLTPデータベース・サーバ、および前記OLAPデータベース・サーバにそれぞれ接続され、OLTPアダプタOLAPアダプタとを備えるOLTPアプリケーション・サーバであって、前記OLAPアダプタはマッピング・コンポーネントを有する、前記OLTPアプリケーション・サーバと、
前記OLTPデータベース・サーバに格納されるバージョンインジケータであって、前記OLTPデータベース・サーバと前記OLAPデータベース・サーバとの間で最後に完了した同期を示すバージョンインジケータと、
を備え、
前記OLTPアプリケーション・サーバは、
前記クライアント・アプリケーションからのクエリに応答して、(a)前記クライアント・アプリケーションの動作モードと、(b)前記OLTPデータベース・サーバと前記OLAPデータベース・サーバとの間での同期状態とに従って、前記クエリを前記OLTPデータベース・サーバまたは前記OLAPデータベース・サーバにリダイレクトすることであって、
前記動作モードが読取専用動作以外であるか、または、前記同期状態が「未同期」である場合には、前記クエリを前記OLTPデータベース・サーバにリダイレクトし、前記動作モードが読取専用動作であり、かつ、前記同期状態が「同期済み」である場合には、前記クエリを前記OLAPデータベース・サーバにリダイレクトすることと、
前記マッピング・コンポーネントによって、OLTPのセマンティクスとOLAPのセマンティクスとの間でデータをマッピングすることと、
前記OLTPアプリケーション・サーバが前記バージョンインジケータを前記クライアント・アプリケーションのセッション状態にコピーすることと、
前記OLTPデータベース・サーバ側に格納された前記バージョンインジケータが、前記クライアント・アプリケーション内の前記バージョンインジケータのコピーに対して変化したときに、前記クライアント・アプリケーションからの前記クエリを前記OLAPデータベース・サーバにリダイレクトすることと、
を実行するように構成されたことを特徴とするコンピュータ・システム。
【請求項2】
前記OLAPアダプタが、前記OLTPデータベース・サーバのセマンティクスから前記OLAPデータベース・サーバのセマンティクスへ前記クエリをマッピングすることを特徴とする請求項1に記載のコンピュータ・システム。
【請求項3】
前記OLAPアダプタが、前記OLAPデータベース・サーバのセマンティクスから前記OLTPデータベース・サーバのセマンティクスへ前記クエリの結果をマッピングすることを特徴とする請求項1に記載のコンピュータ・システム。
【請求項4】
OLTP(OnLine Transaction Processing)データベース・サーバとOLAP(OnLine Analytics Processing)データベース・サーバの両方に対するアクセスを提供するコンピュータ実施方法であって、
当該方法は、クライアント・アプリケーションを有するOLPTクライアント、前記OLTPデータベース・サーバ、および前記OLAPデータベース・サーバにそれぞれ接続され、OLTPアダプタとOLAPアダプタとを備えるOLTPアプリケーション・サーバであって、前記OLAPアダプタはマッピング・コンポーネントを有する、前記OLTPアプリケーション・サーバによって実行され、当該方法は、
前記クライアント・アプリケーションからのクエリに応答して、(a)前記クライアント・アプリケーションの動作モードと、(b)前記OLTPデータベース・サーバと前記OLAPデータベース・サーバとの間での同期状態とに従って、前記クエリを前記OLTPデータベース・サーバまたは前記OLAPデータベース・サーバにリダイレクトするステップであって、
前記動作モードが読取専用動作以外であるか、または、前記同期状態が「未同期」である場合には、前記クエリを前記OLTPデータベース・サーバにリダイレクトし、前記動作モードが読取専用動作であり、かつ、前記同期状態が「同期済み」である場合には、前記クエリを前記OLAPデータベース・サーバにリダイレクトするステップと、
前記マッピング・コンポーネントによって、OLTPのセマンティクスとOLAPのセマンティクスとの間でデータをマッピングするステップと
前記OLTPデータベース・サーバと前記OLAPデータベース・サーバとの間で最後に完了した同期を指示するステップと、
前記指示するステップが、バージョンインジケータを前記OLTPデータベース・サーバ側に格納するステップを含み、
前記バージョンインジケータを前記クライアント・アプリケーションのセッション状態にコピーするステップと、
前記OLTPデータベース・サーバ側で格納した前記バージョンインジケータが、前記クライアント・アプリケーション内の前記バージョンインジケータのコピーに対して変化したときに、前記クエリを前記OLAPデータベース・サーバにリダイレクトするステップと、
を備えたことを特徴とするコンピュータ実施方法。
【請求項5】
前記マッピングするステップは、前記OLAPアダプタによって、前記OLTPデータベース・サーバのセマンティクスから前記OLAPデータベース・サーバのセマンティクスへ前記クエリをマッピングするステップを含むことを特徴とする請求項4に記載のコンピュータ実施方法。
【請求項6】
前記マッピングするステップは、前記OLAPアダプタによって、前記OLAPデータベース・サーバのセマンティクスから前記OLTPデータベース・サーバのセマンティクスへ前記クエリの結果をマッピングするステップを含むことを特徴とする請求項4に記載のコンピュータ実施方法。
【請求項7】
コンピュータに、請求項4ないし6のいずれかに記載のコンピュータ実施方法を実行させることを特徴とするコンピュータプログラム
【請求項8】
請求項7記載のコンピュータプログラムを記録したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、OLTPデータベース環境とOLAPデータベース環境を統合するための、コンピュータの方法およびシステムに関する。
【背景技術】
【0002】
企業顧客は一般に2種類のデータベース環境を保持している。第1に、CATIA、ENOVIA、DELMIA、等の商標でダッソー・システムズにより開発されたもののようなトランザクション指向アプリケーションをサポートするために、関係データベースがOLTP(OnLine Transaction Processing)環境で使用されている。第2に、ビジネス・インテリジェンス、レポーティング、および意思決定支援のような付加価値アプリケーション向けに、OLTPデータの派生的コピー(derived copy)がOLAP(OnLine Analytics Processing)用に生成される。歴史的には、OLAP環境では関係データベース技術も用いられているが、OLAP向けにカスタマイズされた記憶システムが広く利用可能となるにつれ、これも変わってきている。ダッソー・システムズのブランドであるExalead(登録商標)は現代のOLAPリポジトリの1例である。
【0003】
今日では、OLTP環境とOLAP環境は全く疎であり、アプリケーションは一方の環境または他方の環境をサポートするように設計されている。このように複数のデータベース環境が分かれていると、コンピューティング・リソースの次善的な利用、取組みの重複、手動によるデータ同期、および他の多数の問題をもたらす。
【0004】
以下の記載は、OLAPシステムとOLTPシステムの組合せに関する技術に関連する。特許文献1では、OLAPデータとOLTPデータの統合ビューが提示されている。この開示されたシステムでは、OLAPおよびOLTPに跨ったコンテンツの結合ビューが提供されており、各システム内のデータは疎であると考えられる。次に、特許文献1では、OLTPシステムのコンテンツを変換することによりこの結合ビューを計算している。最後に、特許文献1では、OLAPアプリケーションをサポートするための環境が提供されている。
【0005】
特許文献2は特許文献1と同様である。特許文献2では、OLAPのデータを基にしてOLTPの未同期データを付加して、OLAPとOLTPから統合データ・キューブを構築することに着目している。データ変換については記載されていない(示唆もなく、単一のセマンティックしか前提としていない)。特許文献2では、OLAPアプリケーションをサポートするための環境が提供されている。
【0006】
特許文献3では、OLAPとOLTPで保持されるデータの間の双方向的関係を管理する。特許文献3のアプローチでは、OLAPのクエリの結果からOLTPのデータにナビゲートし、OLTPのクエリの結果からOLAPのデータにナビゲートする。特許文献3では、結合ビューは提示されず、その代り、新しい分類のOLAPアプリケーションが定義されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】米国特許第7,756,822号明細書
【特許文献2】米国特許第7,743,015号明細書
【特許文献3】米国特許第6,480,842号明細書
【発明の概要】
【発明が解決しようとする課題】
【0008】
大量のトランザクション上のニーズを有するアプリケーション・サーバからOLAP環境とOLTP環境の両方を利用するニーズがある。かかるアプリケーション・サーバの例として、オブジェクト・モデリング環境をアプリケーション開発者に提供するENOVIA V6がある。ENOVIA V6オブジェクト・モデルは、オーサリング操作をサポートし、並列度の高い複数ユーザ環境を前提とするので、トランザクションとOLTPに関して強いニーズを有する。しかし、ENOVIA V6での多くの操作は読取専用であり、トランザクション・セマンティクスを必要としないので、アプリケーションをOLAPデータベース・サーバによってより効率的に扱うことができる。アプリケーション開発者が1か所を参照するだけで作業し、アプリケーション・サーバにどちらのデータベース・サーバが所与の操作に対して適切かを判断させることが非常に望ましい。しかし、OLAPデータベースとOLTPデータベースの両方に対して透過的なアクセスを提供するプログラミング・フレームワーク(アプリケーション・サーバ)は知られていない。
【0009】
解決すべき2つの問題がある。第1の問題は、OLAPデータベース・サーバとOLTPデータベース・サーバにおけるデータのセマンティック・レベルが異なりうるということである。OLAPデータはOLTPデータから派生するが、OLAPデータベースにデータ投入する抽出/変換/ロード(ELT)プロセスによって幾分変更されるのが一般的である。第2の問題は、OLAPデータベース・システムにアクセスするとき、OLTPデータベース側で加えられた任意の変更がOLAPデータベース・サーバと同期されていることをフレームワーク(すなわち、アプリケーション・サーバ)が保証しなければならないことである。この保証は、アプリケーションが両方のデータベース・サーバ環境に跨って一貫したデータのビューを有することを確保するために必要である。
【課題を解決するための手段】
【0010】
本発明は、当分野の上述の欠点とニーズを解決するものである。具体的には、本発明の諸実施形態では以下を提供する。
1)OLAPデータベース・システムとOLTPデータベース・システムを統合してOLTPアプリケーションをサポートすること
2)OLAPのセマンティクスとOLTPのセマンティクスの間でデータを変換すること
3)OLTPのバージョン・スタンプの管理に基づいて、参照するシステム(OLAPまたはOLTPの何れか)を判定すること(統合なし)
【0011】
1実施形態では、コンピュータ・システムが、OLTPデータベース・サーバとOLAPデータベース・サーバの両方に対するアクセスを提供する。コンピュータ・システムは、クライアント・アプリケーションとOLTPアプリケーション・サーバを備える。クライアント・アプリケーションは、クエリを受け取るように適合され、(a)クライアント・アプリケーションの動作モード(読取または更新)と(b)OLAPデータベース・サーバの同期状態に従い、当該クエリをOLTPデータベース・サーバまたはOLAPデータベース・サーバにリダイレクトする。クライアント・アプリケーションは、動作モードが読取専用動作以外であるか、または、同期状態が「未同期」である場合はOLTPデータベース・サーバにクエリをリダイレクトし、動作モードが読取専用動作であり同期状態が「同期済み」である場合はOLAPデータベース・サーバにクエリをリダイレクトする。
【0012】
OLTPアプリケーション・サーバ(例えば、ENOVIA V6)はOLTPアダプタとOLAPアダプタを備える。OLAPアダプタは、OLTPのセマンティクスとOLAPのセマンティクスの間でデータをマッピングするよう適合させたマッピング・コンポーネントを有する。
【0013】
諸実施形態では、OLAPアダプタはクエリをOLTPのセマンティクスからOLAPのセマンティクスにマッピングする。
【0014】
さらに、OLAPアダプタはクエリの結果をOLAPのセマンティクスからOLTPのセマンティクスにマッピングしてもよい。
【0015】
諸実施形態では、OLTPデータベース・サーバ側に格納したバージョンインジケータをさらに備えてもよい。バージョンインジケータは、OLTPデータベース・サーバとOLAPデータベース・サーバの間で最後に完了した同期を示すものである。OLTPアプリケーション・サーバは、バージョンインジケータをクライアント・アプリケーションのセッション状態にコピーしてもよく、クライアント・アプリケーションは、OLTPデータベース・サーバ側に格納したバージョンインジケータがクライアント・アプリケーション内のバージョンインジケータのコピーに対して変更されたときに、クエリをOLAPデータベース・サーバにリダイレクトする。
【0016】
他の諸実施形態は、以上の動作および機能を実行するコンピュータ実行型の方法および/またはコンピュータ・プログラム製品の形である。
【0017】
以上のことは、添付図面で図示したように、以下の本発明の実施例のより具体的な記載から明らかであろう。添付図面においては、様々な図全体にわたって、同様な参照番号により同一の部分を参照する。本発明の諸実施形態の説明を重視し、図面は必ずしも正確な縮尺では描かれていない。
【図面の簡単な説明】
【0018】
図1】本発明の1実施形態のブロック図である。
図2図1の実施形態における、データベース相互動作の流れ図である。
図3図1の実施形態における、データベース相互動作の流れ図である。
図4】本発明の諸実施形態が動作するコンピュータ・ネットワークの略図である。
図5図4のネットワークにおけるコンピュータ・ノードのブロック図である。
【発明を実施するための形態】
【0019】
以下で、本発明の実施例を説明する。
【0020】
本明細書で引用した全ての特許、公開特許出願、および参照の教示事項は、参照により全体として組み込まれる。
【0021】
図1では、本発明を具体化するコンピュータ・データベース・システム、装置および方法108を示す。
【0022】
システム100は、OLTPデータベース・システム30とOLAPデータベース・システム40を備える。OLAPデータベース・システム40は一般に、当分野で一般的かつOLAPクライアント50bがアクセス可能なように構成される。さらに、以下で明らかになるように、OLTPデータベース・システム30とアプリケーション・サーバ60はOLAPデータベース40にアクセスし、データをOLAPデータベース40と同期する。
【0023】
アプリケーション・サーバ60はOLTPクライアント50aをサポートする。アプリケーション・サーバ60はデータベース・アダプタ・アブストラクタ(database adapter abstractor)13、OLTPアダプタ15、およびOLAPアダプタ17から成る。当分野で一般的な技法を用いて、データベース・アダプタ13はOLTPデータベース30の動作の情報を抽象化し、OLTPクライアント50aをその実装の詳細から分離する役割を果たす。OLTPアダプタ15は、当分野で公知な技法を用いてOLTPデータベース・インタフェースを実装する。すなわち、クエリの要求と結果をOLTPクライアント50aとOLTPデータベース・サーバ30の間で変換する。
【0024】
OLAPアダプタ17はOLAPデータベース40のインタフェースを実装する。OLAPアダプタ17は、OLAPのデータをOLTPデータベース30のセマンティクスにマッピングするマッパ19を使用する。マッパ19はまた、OLTPのデータをOLAPデータベース40のセマンティクスにマッピングする。
【0025】
OLTPクライアント50aのクエリと動作に応答して、デフォルトで、アプリケーション・サーバ60は、OLAPアダプタ17を介してOLTPクライアント・アプリケーション50aをOLAPデータベース・システム40に誘導する。しかし、クライアント50aが更新動作を行うと、アプリケーショシ・サーバ60はクライアント50aをOLTPデータベース・システム30へ(OLTPアダプタ15を介して)リダイレクトし、クライアント50aは、(1)クライアント50aの更新動作が完了し、(2)変更がOLTPデータベース30に書き込まれ、(3)OLTPデータベース・システム30がOLTPデータベース40と同期されるまで、OLTPデータベース・システム30に留まる。実際には、この時間間隔は数秒から数分の間であってもよい。最終的には、システム100の全ての「散発的な」使用(閲覧、参照、等)がOLAPデータベース・システム40によってサポートされる。OLTPデータベース・システム30は、オーサリング(または非読取専用の)セッションが開始し、その後可能な限り長く必要とされるだけである。
【0026】
データベースのセマンティクスが異なることの問題には2つの要因がある。第1の要因は、OLAPデータベース・サーバ40に格納される、取り出しデータが、OLTPデータベース・システム30内で作成された元のデータと1対1にマッピング可能でなければならないということである。すなわち、OLTPデータベース40に格納した情報を取得して、当該情報を元のOLTPデータベース30の表現に変換し戻すことができなければならない。次いで、アプリケーション・サーバ60は対応する、または、協調するコネクタを有する。このコネクタは、OLTPデータベース30のデータ定義をベースラインとして用いて、OLAPデータベース40の双方向マッピングを理解しサポートすることができる。このコネクタは、マッパ19であり、アプリケーション・サーバ60を起点とするクエリをOLTPデータベース・システム30からOLAPデータベース・システム40へリダイレクトするために用いられる。マッパ19は、クエリの記述をOLAPデータベース・システム40にマッピングし、クエリの結果をOLTPデータベース30の定義にマッピングする。これにより、アプリケーション・サーバ60は、OLAPデータベース・システム40が使用されているかOLTPデータベース・システム30が使用されているかに関わらず、同一の結果をOLTPクライアント・アプリケーション50aに提示することができる。
【0027】
第2の要因、すなわち、OLAPデータベース・システム40とOLTPデータベース・システム30の何れにいつアクセスするかを知ることにおいては、アプリケーション・サーバ60が、1)実行されている動作モード(例えば、読取または更新)を理解し、2)クライアント50aの最新の更新がいつOLTPデータベース30の環境に提供され、以降のクエリに利用可能となるかを知る必要がある。これらの要件のうち第1のものは一見、幾分つまらないもののようにも見える。なぜならば、アプリケーション・サーバ60は動作モードをその公開APIの一部として知っているからである。第2の要件については、OLTPデータベース30とOLAPデータベース40の間で最後に完了した同期を表現するためのバージョン・スタンプ21をOLTPデータ・ストア30上で提供することにより、サポートすることができる。諸実施形態では、バージョン・スタンプ21を幾つかの方法、例えば、整数、タイムスタンプ、または他の指標で実装してもよい。トランザクションがOLTPデータベース30に対して終了すると、アプリケーション・サーバ60はバージョン・スタンプ21をOLTPデータベース30から、トランザクションを実行したクライアント50aのセッション状態にコピーする。以降のクライアント50aの各操作の開始時に、このバージョン・スタンプのクライアント・コピー21’を、OLTPデータ・ストア30に格納した現在のバージョン・スタンプ21に対してチェックする。OLTPデータ・ストア30のバージョン・スタンプ21が変更されると、同期が完了し、クライアント50aをOLAPデータベース・サーバ40にリダイレクトできることとなる。
【0028】
1実施形態では、同期は実際にはバックグラウンド・プロセスによって実現される。このバックグラウンド・プロセスは、数秒ごとにポーリングしてOLAPデータベース40の環境に提供すべき変更を探す。変更が必要であることをバックグランド・プロセスが検出すると、バックグラウンド・プロセスは、完了時にOLTPボールト(vault)30上でバージョン・スタンプ21を増加させる。
【0029】
さらに詳述すると、アプリケーション・サーバ60がデータを複数の記憶域または「ボールト」に分割するように選択してもよい。この場合、同期およびクライアント50aのリダイレクションを「ボールト」レベルで実行してもよい。例えば、或るボールトが作業中(WIP(Work In Process))のデータに使用され別のボールトが供給側のデータに使用されている場合、WIPのボールトを更新しても、供給側のボールトへのアクセスがOLTPデータベース・サーバ30へリダイレクトされることはない。
【0030】
対話的アプリケーションの負荷をOLAPデータベース40のサーバに移すと、様々な効率化を生み出す。第1に、OLTPデータベース30の環境の負荷を軽減しつつ、より多くの作業をOLAPデータベース40の環境に移すと、典型的なIT環境で作業負荷が平準化される。第2に、データベース・アプリケーションに対して効率的で安価な代替手段が提供され、データベース層の水平展開が可能となる。最後に、OLAPデータベース・システム40が現代の非関係記憶技術を使用する場合に、これらのシステムがしばしば読取専用動作向けの関係エンジンよりもかなり高いレベルで動作するので、アプリケーションのスケーラビリティを急激に増大させることができる。
【0031】
図2および図3は、本発明のシステム100およびアプリケーション・サーバ60の付随的な動作をさらに説明するものである。データベースの対話(database interaction)を開始するためのクライアント・アプリケーション50aの要求またはコマンドに応答して、アプリケーション・サーバ60は25でトランザクションを開始する。次にステップ27で、アプリケーション・サーバ60は、クライアント・アプリケーション50aの動作モードが読取専用動作以外(例えば、更新モード)か否かを判定する。ステップ27で動作モードが「更新」かまたは非読取専用である場合は、ステップ31で、OLTPデータベース30の使用を指示し、動作処理が通常通り(すなわち、OLTPアダプタ15を介したOLTPデータベースのインタフェース処理によって)継続する。
【0032】
ステップ27で動作モードが「更新」または非読取専用でない場合は、ステップ28で、OLAPデータベース・サーバ40の同期状態を決定する。ステップ28で同期を待つ必要がない場合、すなわち、状態が「同期済み」である場合は、ステップ34でOLAPデータベース40の使用を指示する。そして、OLAPアダプタ17がOLAPデータベース40とのインタフェースを処理しマッパ19がOLAPデータベース40とOLTPデータベース30のセマンティクスの間でマッピングすることによって、動作処理が継続する。
【0033】
ステップ28の同期状態が「未同期」(すなわち、同期を待機している)場合は、ステップ29でバージョンインジケータ21をチェックする。OLTPデータベース・ストア30側に格納したバージョン・スタンプ21が対象のクライアント・アプリケーション50aのバージョン・スタンプ21’のコピーと異なる場合は、同期が完了しており、ステップ34でクライアント・アプリケーション50aをOLAPデータベース・サーバ40にリダイレクトする。その後、OLAPアダプタ17がOLAPデータベース40とのインタフェースを提供しマッパ19がOLTPデータベース30とOLAPデータベース40のセマンティクスの間でマッピングすることにより動作が継続する。
【0034】
ステップ29でOLTPデータベース30のサーバに格納したバージョン・スタンプ21がクライアント・アプリケーション50aのバージョン・スタンプ21’のコピーと同一であると判定された場合は、ステップ31でクライアント・アプリケーション50aをOLTPデータベース30のサーバに誘導する。その後、上述のように動作が行われる。
【0035】
図3を参照すると、クライアント・アプリケーション50aが所与のトランザクション35をコミットした後、システム100またはアプリケーション・サーバ60は以下のようにデータベースの対話を終了する。ステップ36で、アプリケーション・サーバ60が動作モード(例えば、読取または更新)をチェックする。ステップ36で動作モードが読取専用であると判定された場合は、ステップ38でデータベースの対話が終了する。
【0036】
そうでない場合は、ステップ37で対象のデータをOLTPデータベース30にコミットする。次に、上述のバックグラウンド・プロセスが変更をOLAPデータベース40に提供(同期)し、同期が完了したときにOLTPデータベース・サーバ30のバージョン・スタンプ21を増加(更新)させる。
【0037】
次に、ステップ39で現在のOLTPデータベースのバージョン・スタンプ21をOLTPクライアント50aのセッション状態にキャッシュし、データベースの対話または処理が終了する。
【0038】
図4は、本発明を実装できるコンピュータ・ネットワークまたはそれと同様なデジタル処理環境を示す。
【0039】
クライアント・コンピュータ(複数可)または装置50(クライアント50a、bを含む)およびサーバ・コンピュータ(複数可)60は、アプリケーション・プログラム等を実行する処理装置、記憶装置、および入出力装置を提供する。クライアント・コンピュータ(複数可)または装置50を、通信ネットワーク70を介して他のコンピューティング装置に接続することもできる。当該他のコンピューティング装置には、他のクライアント装置またはプロセス50およびサーバ・コンピュータ(複数可)60が含まれる。通信ネットワーク70は、リモート・アクセス・ネットワーク、グローバル・ネットワーク(例えば、インターネット)、世界規模のコンピュータ集合、ローカル・エリア・ネットワークまたは広域ネットワーク、互いに通信するための各プロトコル(TCP/IP、Bluetooth、等)を今日では使用するゲートウェイの一部であることができる。他の電子装置またはコンピュータ・ネットワーク・アーキテクチャも適している。
【0040】
図5は、図4のコンピュータ・システム内のコンピュータ(例えば、クライアント・プロセッサもしくはクライアント装置50またはサーバ・コンピュータ60)の内部構造の図である。各コンピュータ50、60はシステム・バス79を含む。ここで、バスとは、コンピュータまたは処理システムのコンポーネント間でのデータ転送に使用される1組のハードウェア線である。バス79は本質的には、要素間での情報の転送を可能とするコンピュータ・システムの様々な要素(例えば、プロセッサ、ディスク記憶、メモリ、入出力ポート、ネットワーク・ポート、等)を接続する共有の管路である。システム・バス79には、コンピュータ50、60に対する様々な入出力装置(例えば、キーボード、マウス、ディスプレイ、プリンタ、スピーカ、等)を接続するための入出力装置インタフェース82が取り付けられている。ネットワーク・インタフェース86により、コンピュータを、ネットワーク(例えば、図4のネットワーク70)に取り付けられた他の様々な装置に接続することができる。メモリ90は、本発明の実施形態を実装するために用いるコンピュータ・ソフトウェア命令92およびデータ94(例えば、上で詳述した、アプリケーション・サーバ60、OLAPアダプタ17、マッパ19、バージョンインジケータ21、および支援コード)に対する揮発性記憶を提供する。ディスク記憶95は、本発明の実施形態を実装するために用いるコンピュータ・ソフトウェア命令92およびデータ94に対する不揮発性記憶を提供する。中央演算装置84もシステム・バス79に取り付けられ、コンピュータ命令を実行する。
【0041】
1実施形態では、プロセッサ・ルーチン92およびデータ94はコンピュータ・プログラム製品(92は一般的に参照される)である。この・コンピュータ・プログラム製品には、本発明のシステムに対するソフトウェア命令の少なくとも一部を提供するコンピュータ読取可能媒体(例えば、1つまたは複数のDVD−ROM、CD−ROM、ディスケット、テープ、等のような取外し可能記憶媒体)が含まれる。コンピュータ・プログラム製品92を当分野で良く知られているように任意の適切なソフトウェア・インストール手順でインストールすることができる。別の実施形態では、ソフトウェア命令の少なくとも一部を、ケーブル、通信接続および/または無線接続を介してダウンロードしてもよい。他の実施形態では、本発明のプログラムは、伝播媒体(例えば、電波、赤外線波、レーザー波、音波、またはインターネット、もしくは他のネットワーク(複数可)のようなグローバル・ネットワークを介して伝播される電波)上の伝播信号で具体化されたコンピュータ・プログラム伝播信号製品107である。かかる搬送媒体または信号は、本発明のルーチンまたはプログラム92に対するソフトウェア命令の少なくとも一部を提供する。
【0042】
代替実施形態では、伝播信号はアナログ搬送波または伝播媒体上で搬送されるデジタル信号である。例えば、伝播信号は、グローバル・ネットワーク(例えば、インターネット)、電気通信ネットワーク、または他のネットワーク上で伝播されるデジタル信号であってもよい。1実施形態では、伝播信号は、ある期間に伝播媒体上で送信される信号、例えば、ミリ秒、秒、分、またはそれより長い期間にネットワークを介してパケットで送信された、ソフトウェア・アプリケーション向けの命令である。別の実施形態では、コンピュータ・プログラム製品92のコンピュータ読取可能媒体は伝播媒体であり、コンピュータ・システム50は、例えば、コンピュータ・プログラム伝播信号製品に関して上述したように、当該伝播媒体を受信して当該伝播媒体で具体化された伝播信号を識別することによって、当該伝播媒体を受信し読み取ることができる。
【0043】
一般的に言うと、「搬送媒体」または過渡キャリアは上述の過渡信号、伝播信号、伝播媒体、記憶媒体、等を包含するものである。
【0044】
本発明を、本発明の実施例を参照して具体的に図示および説明したが、添付の特許請求の範囲によって網羅される本発明の範囲から逸脱しない、形態および細部における様々な変更を当該実施例に加え得ることは当業者には理解されよう。
図1
図2
図3
図4
図5