(57)【要約】【課題】  組み合わせ数の爆発により、異なる情報システムの統合には、膨大な開発工数がかかる。【解決手段】  参照部１２はふたつのデータベースのデータ構造体を参照する。同値関係設定部４４によって設定される同値関係をもとに、ふたつのデータ構造体の構成要素間の対応関係が抽出部２０において特定される。対応関係から第１取得部２２が接着写像ｆ、第２取得部２４が等化関数ｇを特定し、ふたつのデータ構造体が接着される。調整部２５は、接着対象となる構成要素間の属性の不整合を調整し、対応付けをする。【選択図】        図１
2004326731.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが位相空間であり、その排他的論理和として扱われる複数のデータ構造体を参照する参照部と、
参照された複数のデータ構造体のそれぞれについて、注目すべき構成要素を所定の同値関係をもとに当該データ構造体の部分位相空間として抽出する抽出部と、
抽出された部分位相空間を前記複数のデータ構造体にそれぞれ対応する複数の位相空間の間で対応づける接着写像を特定する第１取得部と、
特定された接着写像および前記複数のデータ構造体にそれぞれ対応する複数の位相空間をもとに、当該複数の位相空間から、前記特定された接着写像によって定まる付加空間への対応を示す等化関数を特定する第２取得部と、
前記特定された等化関数、特定された接着写像、および付加空間を関連づけて記録する記録部と、
前記接着写像によって接着されるべき前記複数のデータ構造体の対応する構成要素間の属性の不整合を調整し、対応付けをする調整部とを備えることを特徴とする情報統合装置。
【請求項２】
前記調整部は、前記付加空間の抽象レベルよりも下位に位置するセル構造空間レベルにおいて前記データ構造体の対応する構成要素間の属性のＩＤまたは個数に不整合がある時、その不整合を調整し、対応付けをすることを特徴とする請求項１に記載の情報統合装置。
【請求項３】
前記調整部は、前記セル構造空間レベルよりも下位に位置する表現レベルにおいて前記データ構造体の対応する構成要素間の属性のデータ型または桁数に不整合がある時、その不整合を調整し、対応付けをすることを特徴とする請求項２に記載の情報統合装置。
【請求項４】
前記調整部は、前記複数のデータ構造体の対応する構成要素の属性の内、相対的に精度が高い属性に揃えて、前記属性の不整合を調整することを特徴とする請求項３に記載の情報統合装置。
【請求項５】
前記接着写像が第１のデータ構造体の構成要素に第２のデータ構造体の構成要素を接着するものである場合、
前記調整部は、前記第１のデータ構造体の構成要素の属性の桁数が前記第２のデータ構造体の構成要素の属性の桁数よりも多いとき、前記第２のデータ構造体の構成要素の属性の桁に空の桁を追加して桁数を揃えることを特徴とする請求項３に記載の情報統合装置。
【請求項６】
前記接着写像が第１のデータ構造体の構成要素に第２のデータ構造体の構成要素を接着するものである場合、
前記調整部は、前記第１のデータ構造体の構成要素の属性の桁数が前記第２のデータ構造体の構成要素の属性の桁数よりも少ないとき、前記第１のデータ構造体の属性の桁数を増やして、前記第２のデータ構造体の構成要素の属性の桁数に合わせることを特徴とする請求項３に記載の情報統合装置。
【請求項７】
前記データ構造体に適用されるべき同値関係の設定をユーザから受け付ける設定部と、
ユーザが設定した同値関係をもとに特定された接着写像、等化関数、および付加空間にしたがって、ユーザに所望の処理結果を整形して表示する表示処理部とをさらに備えることを特徴とする請求項１に記載の情報統合装置。
【請求項８】
前記複数のデータ構造体は複数の異種データベースにおけるデータの集合体であり、前記構成要素は前記異種データベースに記述される項目であることを特徴とする請求項１に記載の情報統合装置。
【請求項９】
第１のデータ構造体に第２のデータ構造体を統合する情報統合方法であって、
第１および第２のデータ構造体をそれぞれ位相空間Ｘおよび位相空間Ｙとして扱い、第２のデータ構造体の注目すべき構成要素を所定の同値関係をもとに位相空間Ｙの部分位相空間Ｙ０として抽出するステップと、
抽出された部分位相空間Ｙ０を位相空間Ｘに対応づける接着写像ｆを特定するステップと、
２つの位相空間Ｘ、Ｙの排他的論理和を、前記接着写像ｆによって位相空間Ｙを位相空間Ｘに接着することにより得られる付加空間に対応づける等化写像ｇを特定するステップと、
前記等化写像ｇ、接着写像ｆ、および付加空間に関する情報を関連づけて記録するステップと、
前記接着写像ｆによって接着されるべき前記第１および第２のデータ構造体の対応する構成要素間の属性の不整合を調整し、対応付けをするステップとを備えることを特徴とする情報統合方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は情報統合技術、とくに、複数のデータ構造体間でデータの一貫性維持、インタフェイスの確定その他の処理をなす情報統合装置および情報統合方法に関する。
【背景技術】
【０００２】
情報システム構築は、たとえば大手銀行の統合に伴う統合システムに典型的にみられるように、単一大規模サイト向けから、複数分散大規模サイト向けに加速度的に移行しつつある。ところが、その基盤技術となっている現在のソフトウエア工学、リエンジニアリング技術において、これに対応するための基本的枠組みとしてのエンジニアリングモデルが欠落している。その理由は、統合方法がモデルレベルで欠如しているために、各サイト構築担当のエンジニアが個々にモジュール群を工夫して設計・構築している点にある。このために、モジュール群仕様がサイト毎に自ずと異なる。モジュール群の仕様が相互に開示されれば、再構築も可能であるが、モジュールの数の組み合わせにより指数関数的に再構築システム数が増え、いわゆる「開発工数爆発」が生じる。しかも、実際には、企業機密保持上モジュール群の仕様が開示されない場合のほうが多い。この場合、モジュール間のインタフェイス作成情報が開示されるものの、インタフェイス数も組合せ関数で指数関数的に増加するので、一層「開発工数爆発」の様相が顕著となる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
国内外には、リレーショナル・データベ−ス(RDB)モデル、Entity Relationship (ER)モデル、タグによるXML、グラフによるUMLなどが研究され応用されているが、大規模分散情報システムを構築する理論的基礎としてはモデル的に完全とはいえず、例えばモジュール間のインタフェイス仕様が、異なるサイト間で統一的に取り扱える理論体系になっていない。したがって、前述の「開発工数爆発」は解決できない。
【０００４】
開発工数爆発の問題を含め、異なる情報システム間で整合性をもった情報処理を自在に行うことの可能な性質、すなわち、情報システムのインターオペラビリティの確保は、ＩＴ最大の社会的テーマといっても過言ではない。各国において昨今の経済状況もあり、会社統合も増加の一途をたどっており、このテーマに対する期待は非常な高まりを見せている。しかし、既存の方法では、インタフェイスの数は、よくてもせいぜいn(log n)のオーダ、悪くするとｎの指数関数のオーダになる。
【０００５】
本発明はこうした背景からなされたものであり、その目的は、上記のインターオペラビリティを線形モデルとして保証する情報統合技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のある態様は情報統合装置に関する。この装置は、それぞれが位相空間であり、その排他的論理和として扱われる複数のデータ構造体を参照する参照部と、参照された複数のデータ構造体のそれぞれについて、注目すべき構成要素を所定の同値関係をもとに当該データ構造体の部分位相空間として抽出する抽出部と、抽出された部分位相空間を前記複数のデータ構造体にそれぞれ対応する複数の位相空間の間で対応づける接着写像を特定する第１取得部と、特定された接着写像および前記複数のデータ構造体にそれぞれ対応する複数の位相空間をもとに、当該複数の位相空間から、前記特定された接着写像によって定まる付加空間への対応を示す等化関数を特定する第２取得部と、前記特定された等化関数、特定された接着写像、および付加空間を関連づけて記録する記録部と、前記接着写像によって接着されるべき前記複数のデータ構造体の対応する構成要素間の属性の不整合を調整し、対応付けをする調整部とを備える。
【０００７】
「データ構造体」は情報システムで扱われるデータの集合体であり、「情報システム」はなんらかの形で情報を管理、加工その他処理する任意の体系である。したがって、情報システムの例に、サイト、プログラム、データベース、デジタルデータ化された任意の管理情報、たとえば経営、財務、人事などが含まれる。
【０００８】
本装置において、情報システムの各要素のインタフェイスは、後述の付加空間モデルに一回変換するだけでとることができる。したがって、ｎ要素でｎ回の変換でインターオペラビリティが保証され、インタフェイスの数は線形である。付加空間モデルは、同値関係による等化空間を理論的基礎にしており、情報システム間で不変量を定義できるため、この不変量をもとに情報の処理を最適化および客観化できる。また、付加空間において接着対象となるデータ構造体の対応する構成要素間で属性の不整合がある場合、その不整合を調整した上で、複数のデータ構造体を接着して統合するため、属性の違いによる不都合は生じない。したがって、前述の課題が解決される。
【０００９】
前記調整部は、前記付加空間の抽象レベルよりも下位に位置するセル構造空間において前記データ構造体の対応する構成要素間の属性のＩＤや個数に関する不整合を調整し、セル構造空間レベルよりもさらに下位に位置する表現レベルにおいて前記データ構造体の対応する構成要素間の属性のデータ型や桁数に関する不整合を調整してもよい。付加空間は位相空間で定義されるものであるが、データ構造体の属性は下位のセル構造空間レベルで記述し、その属性の表現形式は、さらに下位の表現レベルにて規定し、インクリメンタリモジュラな抽象階層を構成することが、線形インタフェイスの生成を自動化し、インターオペラビリティを実現する上で好ましい。そこで、データ構造体の位相空間の対応づけを決める処理は付加空間レベルで行い、対応する構成要素間の属性の整合をとる処理は下位のセル構造空間レベルや表現レベルで行うことが効率的である。
【００１０】
この情報統合装置において、前記データ構造体はプログラムであり、前記構成要素はプログラムを構成するモジュールであってもよい。「プログラム」と「モジュール」は、通常の意味に加え、例えばサイトとその構成ページのように、データの集合体として機能する全体とその一部を含む概念である。
【００１１】
このとき、同値関係として、前記モジュールの実質的な機能に基づいて同値類を分別する同値関係を与えてもよい。たとえば、「モジュールとして、入力データを圧縮する機能をもつ」という同値関係を設定すれば、その機能をもつモジュールをひとつの同値類として抽出することができる。
【００１２】
この例では、同値類の数は２だが、一般的にはある整数ｋである。例えば、プログラムＸという位相空間は、データ処理機能という部分位相空間Ｘ０をもち、この「データ処理機能」という観点で同値関係を準備していれば、例えば以下の４個の同値類の排他的論理和ｘ０からｘ３に分かれる。  
ｘ０．データ圧縮機能
ｘ１．データ解凍機能
ｘ２．データ伝送機能
ｘ３．ｘ０からｘ２まで以外の機能
いま対応関係を定義しようとしている一方のプログラムについてこれら４つの同値類が判明し、他方のプログラムＹについても同様に４つの同値類ｙ０〜ｙ３が以下の式により判明する。  
【数１】
2004326731.tif 000003
したがって、この例では接着写像も等化関数も４個ずつ定まる。
【００１３】
ここでは、モジュールの機能に基づいて同値関係を準備したが、モジュールの特徴に基づいて同値関係を準備してもよい。「特徴」の例は、モジュールのサイズ、そのモジュールの処理時間、そのモジュールが依拠するＯＳ、そのモジュールの拡張性の度合いなどである。これらは、複数のプログラムを統合して上位プログラムを開発したり、複数のプログラム間の機能の対応を把握する際に利用できる。
【００１４】
データ構造体がデータベースにおけるデータの集合体である場合、構成要素は例えばデータベースに記述される項目（フィールド）である。特にリレーショナルデータベースの場合、列（カラム）である。この場合、同値関係としては、「社員のデータ」という部分位相空間について、「年齢」「所属部署」「入社年度」など、社員を特徴づける属性について定めればよい。ただしこの際、いわゆる属性のタプル名ではなく、属性の実質的な意味に基づいて同値類を分別する同値関係を格納することが望ましい。例えば、「所属部署」と「配属先」は同じであろうから、それらを同等にあつかう同値関係を格納すべきである。これを実現する簡単な方法は、同値関係として、「所属部署または配属先が営業課である」などを与えればよい。
【００１５】
リレーショナルデータベースにはテーブルを結合するためのジョイン（join）オペレーションがあるが、いったんジョインオペレーションで２つのテーブルを結合すると、元のテーブルに戻すことができなくなる。しかし、この構成によれば、同値関係により、付加空間を互いに素な、言い換えれば、排他的論理和で生成することができるため、接着された位相空間を元の接着前の位相空間に復元することができる。
【００１６】
本発明の別の態様は情報統合方法に関する。この方法は第１のデータ構造体に第２のデータ構造体を統合するものであって、第１および第２のデータ構造体をそれぞれ位相空間Ｘおよび位相空間Ｙとして扱い、第２のデータ構造体の注目すべき構成要素を所定の同値関係をもとに位相空間Ｙの部分位相空間Ｙ０として抽出するステップと、抽出された部分位相空間Ｙ０を位相空間Ｘに対応づける接着写像ｆを特定するステップと、２つの位相空間Ｘ、Ｙの排他的論理和を、前記接着写像ｆによって位相空間Ｙを位相空間Ｘに接着することにより得られる付加空間に対応づける等化写像ｇを特定するステップと、前記等化写像ｇ、接着写像ｆ、および付加空間に関する情報を関連づけて記録するステップと、前記接着写像ｆによって接着されるべき前記第１および第２のデータ構造体の対応する構成要素間の属性の不整合を調整し、対応付けをするステップとを備える。
【００１７】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１８】
本発明によれば、データベースなどの情報システムを線形統合することができる。
【発明を実施するための最良の形態】
【００１９】
以下本発明を好適な実施の形態をもとに説明する。まず、実施の形態の基礎として本発明者が提唱する付加空間モデルおよびセル構造空間モデル（以下単にセル空間モデルともいう）の基礎理論を前提技術として述べ、しかるのち具体的な実施の形態を説明する。なお、セル空間モデルは、付加空間モデルにセルの次元という概念を加えたモデルである。
【００２０】
［前提技術］
［１］集合論的設計
まず、サイバースペースに構築すべきオブジェクトの集まりを定義することからサイバーワールドの設計を始める。そのような集まりに対してインテリジェントマシンとしてコンピュータを使った自動操作の実行が可能であるためには、各集まりは「集合（set）」でなければならない。なぜなら、コンピュータは集合論的機械として構築されているからである。直観的に、集合Ｘは、同一のプロパティＰ（ｘ）をもったすべてのオブジェクトｘの集まりである。これを記号で表すなら、Ｘ＝｛ｘ｜Ｐ（ｘ）｝である。集合の任意のオブジェクトを要素という。要素をもたない集合を空集合φという。すべての要素が内部（interior）であるならば、その集合は開（open）であるという。集合ＸとＹが与えられたとき、コンピュータは、和Ｘ∪Ｙ、積Ｘ∩Ｙ、差Ｘ−Ｙ（ｘ＼ｙとも書く）、否定¬Ｘのような集合論的オペレーションを施す。
【００２１】
最初のサイバースペースとして集合Ｘからサイバースペースアーキテクチャの設計を始めるとしよう。未知のサイバースペースＵのすべての要素ｕが与えられたとき、もしそれらの要素がすべてサイバースペースＸの要素であることが確かめられたならば、その未知のサイバースペースをＸの部分集合、すなわちＸの部分サイバースペースと呼び、Ｕ⊆Ｘと表記する。部分集合であるかどうかは、（∀ｕ）（ｕ∈Ｕ→ｕ∈Ｘ）を処理することで自動的に調べることができる。Ｕの閉包は、Ｕを含む、Ｘのすべての閉部分集合の積である。言い換えれば、Ｕの閉包は、Ｕの外部（exterior）要素でないＸの要素である。Ｘのすべての部分集合の集合｛Ｕ｜Ｕ⊆Ｘ｝をＸのべき集合といい、２Ｘと表記する。これはまたＸの離散トポロジー（discrete topology）とも呼ばれる。離散トポロジーはサイバースベースを部分サイバースペースからなるものとして設計する上でたいへん有用である。
【００２２】
［２］位相幾何学的設計
これから、サイバースペースをＸの（複数の）部分サイバースペースとその重なりの和として設計する作業に入る。このように設計されるサイバースペースは一般に位相（トポロジー）空間（Ｘ，Ｔ）と呼ばれる。ここでＴ⊆２Ｘである。位相空間の設計は次の仕様により自動化される。
１）Ｘ∈Ｔかつφ∈Ｔ；
２）任意の添え字の集合Ｊに対して、
∀ｊ∈Ｊ（Ｕｊ∈Ｔ）→∪ｊ∈ＪＵｊ∈Ｔ；
３）Ｕ，Ｖ∈Ｔ→Ｕ∩Ｖ∈Ｔ．
【００２３】
Ｔを位相空間（Ｘ，Ｔ）の位相（トポロジー）という。Ｔ１⊂Ｔ２である２つのトポロジーＴ１とＴ２が与えられたとき、Ｔ１はＴ２よりも弱いまたは小さいという。逆に、Ｔ２はＴ１よりも強いまたは大きいという。またＴ２はＴ１よりも細かい、あるいはＴ１はＴ２よりも粗いということもある。明らかなように最も強いトポロジーは離散トポロジー（べき集合）であり、最も弱いトポロジーは空集合φである。簡単のため、あいまいさが生じないならば、位相空間を表すために（Ｘ，Ｔ）の代わりにＸをしばしば用いる。
【００２４】
２つの位相空間（Ｘ，Ｔ）と（Ｙ，Ｔ'）が与えられたとき、いかにして（Ｘ，Ｔ）と（Ｙ，Ｔ'）が同値であるということができるだろうか。コンピュータを使って、それらの空間が位相幾何学的に同値であることを自動的に立証（validate）するための基準をここに与える。２つの位相空間（Ｘ，Ｔ）と（Ｙ，Ｔ'）は、連続な関数ｆ：（Ｘ，Ｔ）→（Ｙ，Ｔ'）が存在し、かつその逆関数も存在して連続であるならば、位相幾何学的に同値（topologically equivalent）、すなわち同相（homeomorphic）であるという。（Ｘ，Ｔ）が（Ｙ，Ｔ'）と同相であることを
【数２】
2004326731.tif 000004
と書く。
【００２５】
それでは、関数ｆの連続性はどのように立証するか。最初に、∀Ｂ∈Ｔ'，ｆ−１（Ｂ）∈Ｔであることを調べる。ここでｆ−１（Ｂ）はｆによるＢの逆像を意味する。次に、以下が成り立つことを調べる。
Ｂが開である⇔ｆ−１（Ｂ）もまたＸにおいて開である。
【００２６】
［３］関数
関数ｆ：Ｘ→Ｙが与えられたとき、全域関数（total function）と部分関数（partial function）が存在する。関数ｆ：Ｘ→Ｙに対して、∀ｘ∈Ｘ、∃ｆ（ｘ）であるとき、そしてそのときに限り、関数ｆは全域関数であるという。関数ｆ：Ｘ'→Ｙ｜Ｘ'⊇Ｘを部分関数といい、このときｆ（ｘ）は必ずしもあらゆるｘ∈Ｘに対して存在しているとは限らない。
【００２７】
全域関数に対して、３つの基本的なタイプの関係あるいは写像が存在する。
１．単射（injectiveまたはinto）
∀ｘ，ｙ∈Ｘ，ｘ≠ｙ⇒ｆ（ｘ）≠ｆ（ｙ）
言い換えれば、
∀ｘ，ｙ∈Ｘ，ｆ（ｘ）＝ｆ（ｙ）⇒ｘ＝ｙ
２．全射（surjectiveまたはonto）
（∀ｙ∈Ｙ）（∃ｘ∈Ｘ）［ｆ（ｘ）＝ｙ］
３．全単射（bijective）
単射かつ全射であること
【００２８】
［４］同値関係
集合Ｘ上の任意の２値関係Ｒ⊆Ｘ×Ｘに対して、Ｒは、
（∀ｘ∈Ｘ）［ｘＲｘ］ならば反射性があり（反射律）、
（∀ｘ，ｙ∈Ｘ）［ｘＲｙ⇒ｙＲｘ］ならば対称性があり（対称律）、
（∀ｘ，ｙ，ｚ∈Ｘ）［［ｘＲｙ⇒ｙＲｘ］⇒ｘＲｚ］ならば推移性がある（推移律）。
【００２９】
Ｒが反射性、対称性、推移性をもつとき、Ｒを同値関係（〜で表記する）と呼ぶ。
【００３０】
ｘ∈Ｘが与えられたとき、ｘ／〜＝｛ｙ∈Ｘ：ｘ〜ｙ｝で定義されるＸの部分集合をｘの同値類（equivalent class）と呼ぶ。ここで類（class）は実際には集合を意味するが、伝統的に類（クラス）と呼ばれており、今となっては変更するのは難しい。すべての同値類の集合Ｘ／〜をＸの商空間（quotient space）もしくは等化空間（identification space）という。
Ｘ／〜＝｛ｘ／〜∈２Ｘ｜ｘ∈Ｘ｝⊆２Ｘ
推移律より、各ｘ∈Ｘ、ｘ／〜≠φについて、以下が成り立つ。
【数３】
2004326731.tif 000005
これは集合Ｘが空でない互いに素の（すなわち共通要素をもたない）同値類に分割される（分解されるともいう）ことを意味する。
【００３１】
いくつかの簡単な例で説明する。ユークリッド幾何学において、図形の集合が与えられたとき、合同関係はその図形の集合を、商空間として、合同な図形からなる互いに素の部分集合の和に分割する。相似関係はその図形の集合を、商空間として、相似な図形からなる互いに素の部分集合の和に分割する。合同関係と相似関係はアフィン変換の例である。群論における対称関係は、図形の集合を、商空間として、対称な図形からなる互いに素の部分集合の和に分割する。
【００３２】
電子商取引では、電子商品は同値関係であるが、電子取引は半順序（posetまたはpartially ordered）関係である。電子取引では、売り手と買い手の関係が非対称であるが、電子商品の関係は、売り手にとっての電子商品は買い手にとっての電子商品でもあるため、対称である。
【００３３】
［５］商空間（等化空間）
Ｘを位相空間とする。ｆを全射かつ連続な写像であって、各点ｘ∈Ｘを、ｘを含む部分集合（同値類ｘ／〜∈Ｘ／〜）に写像する商写像（しばしば等化写像とも呼ばれる）であるとする。
ｆ：Ｘ→Ｘ／〜
ここで、既に説明したように、「写像ｆ：Ｘ→Ｙが全射である」とは、
（∀ｙ∈Ｙ）（∃ｘ∈Ｘ）［ｆ（ｘ）＝ｙ］
を意味する。
【００３４】
Ｘの部分集合Ｘ０に対して，
Ｘ０⊆Ｘ，Ｘ０が開である⇔ｆ−１（Ｘ０）｜ｙ∈ＡがＸにおいて開である
（これはｆが連続であることを意味する）
が成り立つような全射写像ｆを考えた場合、Ｘ／〜を商写像（または等化写像）ｆによる商空間（または等化空間）と呼ぶ。商空間が等化空間とも呼ばれる理由がある。それは、既に述べたように、商空間は、各要素（同値類）ｘ／〜∈Ｘ／〜をｘ／〜に含まれる点ｘ∈Ｘと同一視することにより得られるからである。
【００３５】
［６］接着空間（付加空間あるいは接合空間）
位相空間Ｘから始めて、これに別の位相空間Ｙを接着する。
【数４】
2004326731.tif 000006
は、接着写像（付加写像あるいは接合写像）ｆによってＹをＸに接着する（付加するあるいは接合する）ことにより、（あるいは、連続写像ｆによって各点ｙ∈Ｙ０｜Ｙ０⊂Ｙをその像ｆ（ｙ）∈Ｘと同一視することにより）、得られる接着空間（attaching space）（付加空間（adjunction space）あるいは接合空間（adjoining space））である。ここで、
【数５】
2004326731.tif 000007
は、互いに素の（共通の要素をもたない）和（別名、「排他的論理和」）を表し、しばしば記号＋が代わりに使われる。
【００３６】
接着写像ｆは、ｆ：Ｙ０→Ｘである連続写像である。ただしＹ０⊂Ｙである。このように、接着空間
【数６】
2004326731.tif 000008
は商空間の一例であり、
【数７】
2004326731.tif 000009
である。この場合における等化写像（identification map）ｇは、
【数８】
2004326731.tif 000010
である。
【００３７】
［７］ホモトピー
Ｘ、Ｙを位相空間、ｆ，ｇ：Ｘ→Ｙを連続写像として、Ｉ＝［０，１］とする。ホモトピーは、次のように定義される。
Ｈ：Ｘ×Ｉ→Ｙ
ただし、ｔ∈Ｉに対して、
Ｈ＝ｆ  （ｔ＝０のとき）
Ｈ＝ｇ  （ｔ＝１のとき）
【００３８】
位相空間ＸとＹがホモトピー同値（homotopically equivalent）
【数９】
2004326731.tif 000011
である、すなわち同じホモトピー型をもつのは、次の条件が満たされるときである。
２つの関数ｆ、ｈに対して、
ｆ：Ｘ→Ｙ  かつ  ｈ：Ｙ→Ｘ，
【数１０】
2004326731.tif 000012
ここで１Ｘおよび１Ｙは恒等写像、すなわち
１Ｘ：Ｘ→Ｘ  かつ  １Ｙ：Ｙ→Ｙ
である。
【００３９】
ホモトピー同値はトポロジー同値よりも広い概念である。ホモトピー同値は、変化の後、位相幾何学的にはもはや同値ではなくなる形状の変化を同定することができる。形状の要素は変形処理を受けるが、その変形処理はホモトピーによって特定され、またホモトピー同値によって妥当性が立証される。実際、不変性（invariance）の抽象性の観点からは、ホモトピー同値は集合論的同値よりも抽象性が高い。なぜなら、与えられた集合を要素の追加や削除によって変化させるとき、追加や削除のオペレーションと追加もしくは削除された要素とを保存することにより、集合をホモトピー同値にすることができるからである。
【００４０】
［８］セル構造空間（セル空間）
セル（cell）は任意の次元（たとえばｎ次元、ただしｎは自然数）の閉球（閉のｎセルと呼ぶ）と位相幾何学的に同値（すなわち同相）である位相空間Ｘである。閉のｎセル（closed n-cell）すなわち閉のｎ次元球（closed n-dimensional ball）を
【数１１】
2004326731.tif 000013
と表記する。開のｎセル（open n-cell）すなわち開のｎ次元球（open n-dimensional ball）を
【数１２】
2004326731.tif 000014
と表記する（しばしばｅｎとも書かれる）。開のｎセルは、閉のｎセルの内部である。
【数１３】
2004326731.tif 000015
は、閉のｎセルの境界であり、これは（ｎ−１）次元の球面（sphere）Ｓｎ−１である。
【００４１】
サイバースペースに構築されるオブジェクトの属性をこのようなセルで表現した空間をセル構造空間（cellular structured space）もしくは単にセル空間（cellular space）という。ここで次元の例を述べる。たとえばサイバーワールドにおいて、ひとつの属性をもつオブジェクトは、ひとつの属性から他の属性へ移行することができないため、その自由度は０であり、したがってその次元も０である。そのため、これを表現レベル（representation level）では「点」で表することができる。属性とは、オブジェクトが本来有する特質や特徴を同定するための互いに独立な集合をいう。属性をふたつ有するオブジェクトでは、一方の属性から他方の属性への移行が可能なため、その自由度も次元も「１」である。したがって、表現レベルにおいて直線として表すことができる。同様に、属性が３および４のオブジェクトは、それぞれ２次元および３次元に相当し、曲面および球として表現できる。一般に、ｎ個の属性を有するオブジェクトはｎ−１の自由度を有し、その次元はｎ−１である。これは、（ｎ−１）次元の球として表現できる。リレーショナルモデルでは、ｎ個の属性をもつオブジェクトはリレーショナルスキーマとして表され、ｎ列のテーブルとして実体化される。リレーショナルモデルは集合の直積にもとづき、したがってそれは集合理論レベルにおける表現といえる。
【００４２】
［９］インクリメンタリモジュラな抽象階層
これまで述べてきた抽象レベルは、インクリメンタリモジュラな抽象階層（incrementally modular abstraction hierarchy）を形成する。付加空間は、主要な企業や公的機関で用いられている有力な商用の情報システムに共通した特性を付加空間という形で異なる情報システム間で同値になるように抽象化し、モデル構築する。このように、付加空間は、異種情報システムを線形統合することのできる斬新なデータモデルであり、統合作業量の組み合わせ爆発を避けることに大いに貢献する。付加空間レベルにおける線形統合後の線形インタフェイス生成の自動化のために、以下のインクリメンタリモジュラな抽象階層を用いる。この抽象階層によれば、既存の情報システムに対するインタフェイスを与えて、統合システム規模のタスクを実行するための線形インターオペラビリティを実現することができる。
１．ホモトピーレベル
２．集合論的レベル
３．位相幾何学レベル
４．付加空間レベル
５．セル空間レベル
６．表現レベル
７．ビュー（可視化）レベル（view level）
これらの階層は、モジュール式にインクリメンタルに付加していくことが可能な設計、すなわちサイバーワールドの不変量の継承的な階層を実現するためにきわめて有用である。
【００４３】
［具体例］
会社Ｘとパートナー会社Ｙが合弁事業を始めることに合意したとする。合弁事業を行うには、両社のデータベースなどの情報システムの統合が必要不可欠である。会社Ｘのシステムを位相空間Ｘで表し、パートナー会社Ｙのシステムを位相空間Ｙで表すと、合弁事業（joint-venture；ＪＶ）は、接着写像ｆにより
【数１４】
2004326731.tif 000016
で形成される。ここで接着写像ｆは、ｆ：Ｙ０→Ｘ｜Ｙ０⊆Ｙである。Ｙ０⊆Ｙは、会社Ｘの対応する部分ｆ（Ｙ０）とともに合弁事業ＪＶを行う会社Ｙの部分であり、具体的には会社の事業担当部門などである。モデルとしては、この合弁事業モデルは、これまで説明した付加空間モデルに属するものであり、正確に同じものである。
【００４４】
別の例として、会社Ｘが合併買収（merge and aquire；Ｍ＆Ａ）する会社Ｙをウェブ上でサーチしているとする。Ｘに合併するＹの部分をＹ０（Ｙ０⊆Ｙ）と表記すると、合併買収が成功すると、Ｘ∪Ｙ／（ｘ〜ｆ（ｙ）｜∀ｙ∈Ｙ０）を満たすようなＹの部分Ｙ０⊆Ｙによって結合されたＸとＹの和（union）が得られる。
【００４５】
リレーショナルモデルでは、ジョイン（join）オペレーションにより合併買収を実行することができるが、リレーショナルモデルは合弁事業をサポートすることはできない。合併買収では、ジョインによる和でシステムを統合した後、統合前のシステムに戻す必要がないが、合弁事業では、２つの会社Ｘ、Ｙは統合前のシステムも利用可能でなければ、意味をなさないからである。
【００４６】
合弁事業は、たとえば、部品の製造を会社Ｘで行い、部品のアセンブリを会社Ｙで行うことである。かかる製造業においてジョインによる和（union）を実行して、部品を組み立ててしまうと、部品を後で置き換えたり、交換することが不可能になり、電子製造業（e-manufacturing）の利点を生かすことができない。
【００４７】
リレーショナルモデルは、同値関係をモデル化していないため、情報の統一的な扱いができない。せいぜい、テーブル間の関係を示す別テーブルを、パッチを当てる要領で設けてインタフェイスをとろうとしているが、これではインタフェイスの数が指数関数的に増える。一方、ＥＲ（Entity Relation）モデルを基本とするＳＡＰ、ＵＭＬ(Unified Modeling Language)なども、これらはすべて直観的なグラフ理論モデルであり、そのモデル自身が同値関係による等化をサポートしていないため、同様の問題が起こる。これが社会基盤情報システムの現状である。
【００４８】
本発明の実施の形態に係る情報統合装置は、こういった異種情報システムの統合に係る本質的で深刻な問題を付加空間モデルにより解決するものである。実施の形態の情報統合装置において、情報システムの各要素のインタフェイスは、付加空間モデルに一回変換するだけでとることができる。したがって、ｎ要素でｎ回の変換でインターオペラビリティが保証され、インタフェイスの数は線形である。付加空間モデルは、同値関係による等化空間を理論的基礎にしており、情報システム間で不変量を定義できるため、この不変量をもとに情報の処理を最適化および客観化できる。この情報統合装置は、付加空間モデルからセル構造空間モデルへ進むとき、次元の違うセル構造空間をひとつの付加空間モデルで扱えるので、異なる情報システムの統合ができる。これもインターオペラビリティを保証できる理由のひとつである。
【００４９】
図１は、実施の形態に係る情報統合装置１０の構成を示す。参照部１２は、いろいろな情報システムのいろいろなデータ構造体を参照する。参照部１２は、ウェブ上の情報システムからデータ構造体を取得して参照してもよい。以下、実施の形態ではふたつの情報システムからそれぞれひとつずつデータ構造体を参照し、それらの間に所定の対応関係またはインタフェイスを定義するとする。参照されたデータ構造体（以下、「対象データ」ともいう）または対象データを示すＩＤ等はメモリ１４に一時的に保管される。いま、ふたつの対象データが参照されたとき、これらはそれぞれ位相空間Ｘ、Ｙに相当し、この時点でこれらの位相空間の互いに素の和集合（disjoint union）あるいは排他的論理和である
【数１５】
2004326731.tif 000017
が確定する。なお、位相空間とは、ここでは部分空間が定義できるような空間をいう。
【００５０】
解析部１６は、抽出部２０、第１取得部２２、第２取得部２４、調整部２５、手順取得部２６、判定部３０、記録部２８を含む。ＧＵＩ（グラフィカル・ユーザ・インタフェイス）４０は、要素指定部４２、同値関係設定部４４を含む。ＧＵＩ４０は、ハードウエアとしてはキーボードやマウス、ソフトウエアとしてユーザの指示を情報統合装置１０へ伝達する各種プログラムを備える。ただし、解析部１６やＧＵＩ４０にいずれの構成を内蔵せしめるかは自由度が大きく、たとえば抽出部２０、第１取得部２２、第２取得部２４、調整部２５だけでも解析部１６の機能は果たす。どのような構成を採用するかは、設計目的に依存する。ＧＵＩ４０は、ユーザの操作および指示に基づいて、参照部１２と抽出部２０に作用する。
【００５１】
ＧＵＩ４０はその一般的な機能として、参照部１２に対してユーザの指示を伝え、対象データを指定する。要素指定部４２は、ユーザから、対象データのうちいずれの要素を処理すべきかに関する指示を取得し、これを抽出部２０へ伝える。また、同値関係設定部４４は、対象データに適用したい同値関係の入力をユーザから受け付ける他、ユーザの入力をもとにして自動的に同値関係を生成する。同値関係設定部４４により設定された同値関係（以下、目的同値関係ともいう）は、抽出部２０へ伝えられる。ＧＵＩ４０は、ユーザが目的同値関係を設定しやすいように、ユーザインタフェイスを設けている。さらに、ＧＵＩ４０は、ユーザが設定した目的同値関係により処理された対象データを参照したり、検索するための問い合わせ部や検索部をもつ。
【００５２】
抽出部２０は、ふたつの対象データにおいて対応関係を定義すべき構成要素（以下、「対象要素」ともいう）を、目的同値関係をもとに抽出する。その際、ユーザは対象要素の一方を要素指定部４２によって指定し、抽出部２０が目的同値関係をもとに他方の対象データから対応する対象要素を抽出する。こうして対応しあうことが判明した対象要素は、ひとつの部分位相空間、すなわち同値類を形成し、付加空間モデルの理論的保証により、他の同値類との間で要素の重複は一切ない。同値類は同値関係で規定される不変量をもとに分類されるため、対象データを客観的に分類でき、分類の結果にはオペレータの個人差が含まれず、有用性の高いシステムとなる。また、一方の対象要素を決めると、他方の対象要素が決まるため、前述のごとく、対応関係またはインタフェイスの数が線形になる。こうしてインターオペラビリティが保証され、従来の課題が解決される。
【００５３】
後述の実例で示すごとく、目的同値関係が決まると、対象要素間がどのような意味において対応するか、その関係も一意に決まる。そのため、第１取得部２２は対象要素間の対応を示す接着写像ｆを特定することができる。接着写像ｆが決まると、付加空間も、
【数１６】
2004326731.tif 000018
と定まる。付加空間は、もとは共通部分をもたない位相空間ＸとＹの間に、接着写像ｆを媒介として対応関係を持たせた位相空間である。
【００５４】
等化関数ｇは、位相空間ＸとＹの単なる排他的論理和の空間から、接着写像ｆによって定まる付加空間への写像であり、付加空間が決まったとき、第２取得部２４が等化関数ｇを特定する。等化関数ｇは、現実には、その定義から位相空間Ｘ、Ｙおよび接着写像ｆによって記述できる。図１では、第１取得部２２で取得された接着写像ｆが第２取得部２４へ送られ、第２取得部２４から接着写像ｆと等化関数ｇが出力され、これらが記録部２８へ記録される。
【００５５】
調整部２５は、目的同値関係により対応関係にあるふたつの対象要素間に属性の不整合がある場合、その不整合を解消するための処理を行う。前提技術で説明した、インクリメンタリモジュラな抽象階層のセル空間レベルにおける属性の不整合として、ふたつの対象要素間の属性のＩＤや個数の違いなどがある。調整部２５は、必要に応じて、ふたつの対象要素間でセル構造のレベルで属性のＩＤや個数の不揃いを調整する。また、表現レベルにおける属性の不整合として、ふたつの対象要素間の属性のデータ型や桁数の違いなどがある。データ型には、ブール値、符号付き整数、正の整数、実数、倍精度実数、文字型などがあり、調整部２５はこれらのデータ型を変換して対象要素のデータ型を揃える。また、データ型が同じでも文字列の桁数や数値の有効桁数などの桁数が異なる場合には、調整部２５はふたつの対象要素間で属性の桁数を調整して揃える。
【００５６】
接着写像ｆが、位相空間Ｙのデータ構造体の対象要素（単に対象要素ｙという）を位相空間Ｘのデータ構造体の対象要素（単に対象要素ｘという）に接着するものである場合、調整部２５は、対象要素ｘの属性の桁数が対象要素ｙの属性の桁数よりも多いとき、対象要素ｙの属性の桁に空の桁を追加して桁数を揃える。また、調整部２５は、対象要素ｘの属性の桁数が対象要素ｙの属性の桁数よりも少ないとき、対象要素ｘの属性の桁数を増やして、対象要素ｙの属性の桁数に合わせる。さもなければ、対象要素ｙを対象要素ｘと同値関係により同一視したときに、対象要素ｙが桁落ちしてしまい、対象要素ｙの情報が失われてしまうからである。
【００５７】
このように、調整部２５は、位相空間Ｙを位相空間Ｘに接着する場合、表現レベルにおいて、位相空間Ｘのデータ構造体と位相空間Ｙのデータ構造体の属性のデータ型や桁数を比較して、相対的に精度が高い方の属性に揃えて、データ型や桁数を変換する。複数のデータ構造体間で属性の不整合を調整する場合も同じであり、調整部２５は、複数のデータ構造体の対応する対象要素の属性の内、最も精度の高い属性を選んで、他の精度の低い対象要素の属性をその精度の高い対象要素の属性に合わせるように調整する。これにより、精度の異なる対象要素の接着後に、データ型変換や桁落ちなどにより元のデータが失われるのを防ぐことができる。
【００５８】
以上述べたように、調整部２５は、セル空間レベルにおいてデータ構造体の属性のＩＤや個数に関する不整合を調整し、表現レベルにおいてデータ構造体の属性のデータ型や桁数に関する不整合を調整する。付加空間は位相空間で定義されるものであるが、データ構造体の属性は下位のセル空間レベルで記述され、その属性の表現形式は、さらに下位の表現レベルにて規定されるからである。すなわち、抽出部２０、第１取得部２２、および第２取得部２４は、データ構造体の位相空間の対応づけを決める処理を付加空間レベルで行うが、調整部２５は、対応する対象要素間の属性の整合をとる処理を下位のセル空間レベルと表現レベルで行う。
【００５９】
以上で、ふたつの対象データの関連づけの主な処理が完了する。処理の結果や記録部２８にすでに格納されている情報は、必要に応じて表示処理部３２を介して整形および表示され、ユーザに利用される。たとえば、表示処理部３２は、ふたつの対象データを接着した形で処理結果を表示する。このとき、接着対象となった対応する対象要素間の属性の不整合は解消されている。また、表示処理部３２は、インクリメンタリモジュラな抽象階層において、セル構造空間レベルよりもさらに下位に位置するビュー（可視化）レベルにおいて、ユーザに提示すべき範囲を制限して処理結果を表示してもよい。
【００６０】
手順取得部２６は、抽出部２０における一連の処理手順、すなわちユーザが最初に指定した対象要素および目的同値関係（以下、これらを「注目手順」ともいう）を取得し、注目手順をホモトピーとして、一連の処理の結果で特定される、
・位相空間Ｘ、Ｙ
・目的同値関係
・接着写像ｆ
・等化関数ｇ
と関連づけて記録部２８へ記録する。以下、処理の結果である位相空間Ｘ、Ｙ、目的同値関係、接着写像ｆ、等化関数ｇを併せて「最終情報」ともいう。
【００６１】
判定部３０は、ユーザが新たに処理を行うとき、抽出部２０における注目手順を検出し、注目手順がすでに記録部２８に記録されていれば、それに対応する最終情報を記録部２８から読み出して表示処理部３２へ提供する。これにより、第１取得部２２と第２取得部２４による処理をスキップすることができる。
【００６２】
以上の構成による処理動作を具体的に説明する。いま、ユーザは別々に開発されたふたつのデータベースの構成要素の対応関係を把握し、統合データベースを利用したいとする。ここでいうデータベースはウェブに分散されたものであってもよく、ネットワーク上で大規模な分散データベースを構築するために、本実施の形態の情報統合装置１０を利用してもよい。
【００６３】
ユーザはまず、対応関係を解析すべきふたつのデータベースをＧＵＩ４０で指定する。参照部１２はその指示にしたがってデータベースの記録場所へアクセスして、各データベースの対象データを取得する。つづいてユーザは、要素指定部４２により、ふたつの対象データの一方について、注目しようとする対象要素を指定する。注目する対象要素として、データベースのフィールド、リレーショナルデータベースでいえば、列（カラム）を指定する。この注目する対象要素は抽出部２０へ伝えられる。
【００６４】
また、ユーザは、同値関係設定部４４によって所望の同値関係、すなわち目的同値関係を入力する。ユーザが指定した注目するフィールドが一方のデータベースで「所属部署」であり、他方のデータベースでそれに対応するものが「配属先」となっている場合、同値関係設定部４４は、これらを同等に扱う同値関係を設定する。たとえば、同値関係設定部４４は、目的同値関係として「所属部署または配属先が営業課である」を設定する。このような目的同値関係は、ユーザが自分で入力してもよいが、ユーザが一方のデータベースで注目するフィールドとして「所属部署」を指定したときに、同値関係設定部４４が「所属部署」と実質的に同一であるフィールドを他方のデータベースから自動抽出し、実質的に同一の項目を用いた目的同値関係を自動生成するように構成してもよい。
【００６５】
こうして設定された目的同値関係をもとに、抽出部２０、第１取得部２２、第２取得部２４により、ふたつのデータベースのフィールド間の対応づけが一意に決まるので、この対応づけをテーブル化して記録する。このとき、調整部２５は、ふたつのデータベースの対応づけられたフィールド間で属性の桁数を変換する。
【００６６】
図２（ａ）〜（ｃ）は、実施の形態に係る情報統合手順の説明図である。ここでは、商品の販売会社が商品の製造会社と合弁事業を行う場合において、製造会社Ｙのデータベースを販売会社Ｘのデータベースに接着する例を説明する。両者のデータベースの構造は異なっており、リレーショナルデータベースモデルでは両データベースをまたぐようなデータ操作を行うことができない。
【００６７】
販売会社Ｘのデータベースは、図２（ａ）に示すように、商品ＩＤ、商品名、価格、販売数の４つのフィールドからなる商品マスターテーブル１００をもつ。一方、製造会社Ｙのデータベースは、図２（ｂ）に示すように、製品ＩＤ、商品名、在庫数の３つのフィールドからなる製品マスターテーブル２００をもつ。
【００６８】
ユーザはまず、商品マスターテーブル１００において、注目する対象要素ｘを指定する。指定される対象要素ｘはこの場合、商品ＩＤである。次に、商品マスターテーブル１００の「商品ＩＤ」と製品マスターテーブル２００の「製造ＩＤ」を同等に扱う同値関係により、商品マスターテーブル１００の注目する対象要素ｘに対応する対象要素ｙが製品マスターテーブル２００において抽出される。このとき、製品マスターテーブル２００の対象要素ｙを商品マスターテーブル１００の対象要素ｘに対応づける接着写像ｆが定まることになる。製品ＩＤと商品ＩＤのコード体系が異なるならば、その対応関係を定めたテーブルを作成すればよい。また、他の共通要素である「商品名」については、同一の名称を使用しているのであれば、対応づける必要はなく、商品マスターテーブル１００の商品名を使用すればよい。
【００６９】
図２（ａ）、（ｂ）に示すように、対象要素ｘの桁数はＬ桁であるのに対して、対象要素ｙの桁数はＭ桁である。ここでＭ＞Ｌである。そのため、調整部２５により対象要素ｘの桁数を増やしてＭ桁に変換し、対象要素ｙの桁数に一致させてから、製品マスターテーブル２００を商品マスターテーブル１００に接着させる。図２（ｃ）は、表示処理部３２により整形表示される接着後の商品マスターテーブル３００である。商品マスターテーブル３００の商品ＩＤはＭ桁に変換されている。また、接着後の商品マスターテーブル３００は、接着前の商品マスターテーブル１００に対して製品マスターテーブル２００の「在庫数」のフィールドが付け加わったものとなる。
【００７０】
注目するフィールドが複数あれば、それぞれのフィールドについて目的同値関係を設定することによって、同様に接着写像ｆが規定され、最終的に２つのデータ構造体の接着処理結果が出力される。一方のデータベースのデータ構造体がフィールドをｎ個もてば、そのｎ個のそれぞれについて、他方のデータベースのデータ構造体のいずれかのフィールドとの対応関係が特定されるため、インタフェイス数は線形であり、工数爆発の問題が解決する。
【００７１】
このように、同値関係設定部４４が同値関係として実質的に同じ属性であることを設定すれば、複数のデータベースの要素、すなわち属性間で対応づけができ、複数のデータベース間で同じ属性を常に情報としてもつことができるようになる。リレーショナルデータベースでは、ジョイン演算として属性の統合が可能であるが、ジョインをしてしまうと、もはやもとの複数の属性へ戻すことができず、データの再利用性がない。しかし、実施の形態の情報統合装置１０であれば、複数の属性をそのまま残しつつ、「同じ機能」という不変量を切り口に属性を分類および対応づけできるので、データ利用性が格段に向上する。
【００７２】
また、インクリメンタリモジュラな抽象階層モデルを利用することにより、付加空間レベルで規定される業務統合の合意内容を下位のセル空間レベルに落として、セル空間レベルでデータ構造体の属性のＩＤや個数を調整し、さらに下位の表現レベルに落として、表現レベルで属性のデータ型や桁数を調整することができ、業務統合の合意内容を抽象階層間を行き来しながら技術レベルで詳細化していくことができる。
【００７３】
以上、実施の形態を説明した。実施の形態は例示であり、さまざまな変形例が可能であり、そうした変形例も本発明に含まれることは当業者に理解されるところである。
【００７４】
そのような変形例として、実施の形態の情報統合装置１０において、あらかじめ所定の同値関係を保持した同値関係保持部を設けてもよい。また、この同値関係保持部に、ユーザが設定した同値関係を保存してもよい。
【００７５】
また、実施の形態では、ふたつのデータ構造体間の接着を説明したが、３つ以上のデータ構造体を相互に接着する場合も同様にして実現することができる。
【図面の簡単な説明】
【００７６】
【図１】実施の形態に係る情報統合装置の構成図である。
【図２】実施の形態に係る情報統合方法の説明図である。
【符号の説明】
【００７７】
１０  情報統合装置、  １２  参照部、  ２０  抽出部、  ２２  第１取得部、  ２４  第２取得部、  ２５  調整部、  ２６  手順取得部、  ２８  記録部、  ３０  判定部、  ４４  同値関係設定部。
【図１】
2004326731.tif 000019
【図２】
2004326731.tif 000020