(57)【要約】データを処理する方法。メタ・データ記述子（15、18）は、ユーザ（17）によって、またはメタ・データ・コネクタ（16）を用いて自動的に、データを記述するように定義される。メタ・データ記述子は、フィールド名（1、4）を含むデータの構造を記述する。メタ・データ・コネクタは、データにアクセスする方法を記述する。JDBCおよびXMLのような様々な種類のデータに関して、様々な種類のメタ・データ・コネクタ（10、11、12）が存在する。プロセスの定義を容易にするために対話型ユーザ・アプリケーション（23）が利用される。プロセスは、データの、あるフィールド名から他のフィールド名への変換のような、メタ・データ記述子（2、5）に関する一定の動作（7）から成る。定義済みのプロセスに従ってデータを処理するコンポーネント（8、26）が提供される。この方法を実施するコンピュータ・システムおよびソフトウェアも開示する。
2004524610.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実施されるデータ処理方法であって：
i）データを表すメタ・データ記述子を定義する段階；
ii）対話型ユーザ・アプリケーションにおいて、少なくとも1つのメタ・データ記述子に関連するプロセスを定義する段階；
iii）定義済みのプロセスに従ってデータを処理する段階；
を含む方法。
【請求項２】
データへのアクセスはメタ・データ・コネクタを介する、請求項1記載の方法。
【請求項３】
メタ・データ・コネクタは、データにアクセスする方法に関する情報を含む、請求項2記載の方法。
【請求項４】
情報には、データベース、ftp、メール・サーバ、ウェブ・ページまたはテルネット・ログオン手順、ナビゲーション手順、データの位置、および該データ内のデータの位置が含まれる、請求項2または3記載の方法。
【請求項５】
様々な種類のメタ・データ・コネクタを用いて様々な種類のデータにアクセスする、請求項2から4のいずれか一項記載の方法。
【請求項６】
メタ・データ・コネクタは、ユーザによって対話型ユーザ・アプリケーションにおいて定義される、請求項2から5のいずれか一項記載の方法。
【請求項７】
メタ・データ記述子はデータの構造を表す、請求項1から6のいずれか一項記載の方法。
【請求項８】
データの構造は、エンティティおよびその要素ならびにエンティティ間または要素間の任意の関係から成る、請求項7記載の方法。
【請求項９】
メタ・データ記述子は、データの特定の要素および該データ内の特定の種類のデータを識別する規則を記述する、請求項1から8のいずれか一項記載の方法。
【請求項１０】
少なくとも1つの規則は、コンテクスト基準を指定する、請求項9記載の方法。
【請求項１１】
メタ・データ記述子は、データの調査によって得られる、請求項1から10のいずれか一項記載の方法。
【請求項１２】
メタ・データ記述子は、1つまたは複数の二次ソースの調査によって得られる、請求項1から11のいずれか一項記載の方法。
【請求項１３】
メタ・データ記述子は、対話型ユーザ・アプリケーションを通じて、ユーザの助けを得て定義される、請求項1から12のいずれか一項記載の方法。
【請求項１４】
メタ・データ記述子は、以下の作業、すなわち、データの調査、対話型ユーザ・アプリケーションを介するユーザの助け、および1つまたは複数の二次ソースの調査を任意に連結して組み合わせることによって定義される、請求項1から13のいずれか一項記載の方法。
【請求項１５】
メタ・データ記述子は、データベースに問合せを行うことにより、該データベースを調べることによって定義される、請求項1から14のいずれか一項記載の方法。
【請求項１６】
メタ・データ記述子は、対話型ユーザ・アプリケーションを通じたユーザの助けによるテルネット・セッションから生じた、一連のキーストロークおよび画面の捕捉を調べることによって定義される、請求項1から15のいずれか一項記載の方法。
【請求項１７】
メタ・データ記述子はXML構造またはスキーマを調べることによって定義される、請求項1から16のいずれか一項記載の方法。
【請求項１８】
メタ・データ記述子は、EDIファイルまたはIDOCファイルを調べることによって定義される、請求項1から17のいずれか一項記載の方法。
【請求項１９】
メタ・データ記述子は、データを解析し、メタ・データを自動的に識別することによって定義される、請求項1から18のいずれか一項記載の方法。
【請求項２０】
データの調査は、メタ・データ・コネクタの使用を介して行われる、請求項2から19のいずれか一項記載の方法。
【請求項２１】
メタ・データ記述子を表示し、メタ・データ記述子によって表されたデータを処理する段階を、ユーザが定義することを可能にする対話型ユーザ・アプリケーションにおいて、定義済みのプロセスが作成される、請求項1から20のいずれか一項記載の方法。
【請求項２２】
プロセスは、ソース・メタ・データ記述子によって表されたデータを、ターゲット・メタ・データ記述子によって表されたデータに変換する段階を定義する、請求項21記載の方法。
【請求項２３】
定義済みの段階は、プログラムによる方法または算術的な方法を介して起こる操作または変換を伴う、請求項21または22記載の方法。
【請求項２４】
定義済みの段階は、算術計算、文字列変換、キー生成、SQL計算、カレンダー計算、日付／時間計算、財務計算、または統計計算を伴う、請求項21から23のいずれか一項記載の方法。
【請求項２５】
定義済みの段階は、この段階を開始する装置から遠隔にある装置によって実行される、請求項21から24のいずれか一項記載の方法。
【請求項２６】
定義済みの段階は、ソース・メタ・データ記述子をターゲット・メタ・データ記述子にマップする段階を含む、請求項21から25のいずれか一項記載の方法。
【請求項２７】
少なくとも1つのソース・メタ・データ記述子が、複数のターゲット・メタ・データ記述子にマップされる、請求項26記載の方法。
【請求項２８】
少なくとも1つのソース・メタ・データ記述子が、複数のターゲット・データ・ソースのターゲット・メタ・データ記述子にマップされる、請求項26または27記載の方法。
【請求項２９】
複数のソース・メタ・データ記述子が、少なくとも1つのターゲット・メタ・データ記述子にマップされる、請求項26から28のいずれか一項記載の方法。
【請求項３０】
複数のソース・データ・ソースのメタ・データ記述子が、少なくとも1つのターゲット・データ・ソースのターゲット・メタ・データ記述子にマップされる、請求項26から29のいずれか一項記載の方法。
【請求項３１】
複数のソース・データ・ソースのメタ・データ記述子が、複数のターゲット・データ・ソースのターゲット・メタ・データ記述子にマップされる、請求項26から30のいずれか一項記載の方法。
【請求項３２】
メタ・データ記述子によって参照されるデータはリモートに位置する、請求項1から31のいずれか一項記載の方法。
【請求項３３】
定義済みのプロセスを用いてデータを処理する、請求項1から32のいずれか一項記載の方法。
【請求項３４】
1つまたは複数のターゲット・データ・ソースに供給するために、１つまたは複数のソース・データ・ソースから抽出されたデータを、定義済みのプロセスを用いて変換する、請求項1から33のいずれか一項記載の方法。
【請求項３５】
少なくとも1つの動作が定義済みのプロセスを実行する動作から成る、活動の定義を可能にするためのアプリケーションが提供される、請求項1から34のいずれか一項記載の方法。
【請求項３６】
アプリケーションは、ユーザが活動を定義するのを可能にするように提供される、グラフィカル・ユーザ・アプリケーションである、請求項35記載の方法。
【請求項３７】
ユーザは新しい動作を定義する、請求項36記載の方法。
【請求項３８】
活動はスクリプトによって定義される、請求項35から37のいずれか一項記載の方法。
【請求項３９】
スクリプトは高レベル・プログラミング言語で書き込まれる、請求項38記載の方法。
【請求項４０】
活動は、異なる活動がある状態に達するまで、現在の活動を停止することができる動作を含む、請求項35から39のいずれか一項記載の方法。
【請求項４１】
活動は、他の活動の実行を同期的または非同期的のいずれかで開始する能力を有する動作を含む、請求項35から40のいずれか一項記載の方法。
【請求項４２】
活動は、コンピュータ・システムの環境を操作する能力を有する動作を含む、請求項35から41のいずれか一項記載の方法。
【請求項４３】
活動は、定義済みのプロセスを実行するか、eメール機能を実行するか、プログラムを実行するか、パラメータを実行プログラムに渡すか、または内部フラグを設定することのできる動作を含む、請求項35から42のいずれか一項記載の方法。
【請求項４４】
活動は、処理中のデータ内の値のプログラムによる操作に基づいて、活動内のある動作の繰返しを制御する能力を有する動作を含む、請求項35から43のいずれか一項記載の方法。
【請求項４５】
活動は、トリガ事象の発生時に実行される、請求項35から44のいずれか一項記載の方法。
【請求項４６】
動作の実行はトリガ事象の発生に依存する、請求項35から45のいずれか一項記載の方法。
【請求項４７】
各活動を実行する時間のスケジュールが作成され、各活動はスケジューリングされた時間に実行される、請求項1から46のいずれか一項記載の方法。
【請求項４８】
ユーザは、活動を実行する時間をグラフィカル・インタフェースを介してスケジューリングすることができる、請求項47記載の方法。
【請求項４９】
各活動を実行する時間になると、トリガ事象が生成される、請求項47または48記載の方法。
【請求項５０】
リモート・コンピュータ上に存在するプロキシ・モジュールを利用して、プロセスから生じたデータを受け入れ、リモート・コンピュータ上に存在するデータを変更する、請求項1から49のいずれか一項記載の方法。
【請求項５１】
リモート・コンピュータ上に存在するプロキシ・モジュールを利用して、プロセスに関するデータをリモート・コンピュータから抽出する、請求項1から50のいずれか一項記載の方法。
【請求項５２】
トリガ事象はデータおよび／または時間である、請求項45から51のいずれか一項記載の方法。
【請求項５３】
トリガ事象はデータ記入の一種である、請求項45から52のいずれか一項記載の方法。
【請求項５４】
トリガ事象は、活動または動作のステータスにおける指定された変化である、請求項45から53のいずれか一項記載の方法。
【請求項５５】
トリガ事象はファイル・システムのステータスの指定された変化である、請求項45から54のいずれか一項記載の方法。
【請求項５６】
トリガ事象は、ネットワーク・システムにおける指定された状態の発生である、請求項45から55のいずれか一項記載の方法。
【請求項５７】
トリガ事象は、スケジュールによって生成される、請求項45から56のいずれか一項記載の方法。
【請求項５８】
ターゲット・データ・ソースを更新するために、プロセスから生じたデータ、および関連するメタ・データ記述子が、ホスト・コンピュータ用のターゲット・データ・ソースのホストとして働くコンピュータに送信される、請求項34に依存するときの、請求項1から57のいずれか一項記載の方法。
【請求項５９】
ターゲット・データ・ソースを更新するために、プロセスから生じたデータが、ターゲット・データ・ソースのホストとして働くコンピュータにファイルとして送信される、請求項34に依存するときの、請求項1から58のいずれか一項記載の方法。
【請求項６０】
データは非構造化データである、請求項1から59のいずれか一項記載の方法。
【請求項６１】
データはテキスト・ファイルである、請求項60記載の方法。
【請求項６２】
データはテルネット端末セッションである、請求項60記載の方法。
【請求項６３】
データは構造化データである、請求項1から62のいずれか一項記載の方法。
【請求項６４】
データはHTMLファイル、EDIファイル、IDOCファイル、XMLファイル、CSVファイル、テキスト・ファイル、またはデータベース・ファイルである、請求項63記載の方法。
【請求項６５】
選択されたデータを、1つまたは複数のソース・データ・ソースから1つまたは複数のターゲット・データ・ソースに変換する、コンピュータによって実施される方法であって：
i）ソース・データ・ソース用のメタ・データ記述子およびターゲット・データ・ソース用のメタ・データ記述子を定義する段階；
ii）対話型ユーザ・アプリケーションにおいて、ソース・メタ・データ記述子とターゲット・メタ・データ記述子との間の変換プロセスを定義する段階；ならびに
iii）定義済みの変換プロセスに従って、ソース・データ・ソースから抽出されたソース・データを変換し、ターゲット・データ・ソースに供給するためのターゲット・データを生成する段階
を含む方法。
【請求項６６】
データを処理するためのコンピュータ・システムであって：
i）プロセッサ；
ii）プロセッサにデータを供給するためのメモリ；
iii）プロセッサにユーザ入力を供給するための入力装置；、
iv）プロセッサからの情報を表示するための表示装置；および
v）プロセッサによって実行されたときに、ユーザ入力に応答して、データを表すメタ・データ記述子を定義し、少なくとも1つのメタ・データ記述子に関連するプロセスを定義し、かつ定義済みのプロセスに従ってデータを処理する、メモリに存在するアプリケーション
を含むコンピュータ・システム。
【請求項６７】
アプリケーションは、データを調べることによってメタ・データ記述子を定義する、請求項66記載のコンピュータ・システム。
【請求項６８】
アプリケーションは、データベースに問合せを行うことによってメタ・データ記述子を定義する、請求項66記載のコンピュータ・システム。
【請求項６９】
入力装置からのユーザ入力は、アプリケーションがメタ・データ記述子を定義するのを助ける、請求項66記載のコンピュータ・システム。
【請求項７０】
アプリケーションは、表示装置上にメタ・データ記述子を表示し、入力装置からのユーザ入力を受け入れることによってプロセスを定義する、請求項66から69のいずれか一項記載のコンピュータ・システム。
【請求項７１】
定義済みのプロセスは、すべてがメタ・データ記述子に関係する変換作業または操作作業を含む、請求項70記載のコンピュータ・システム。
【請求項７２】
変換作業にはプログラムによる作業または算術的な作業が含まれる、請求項71記載のコンピュータ・システム。
【請求項７３】
ユーザ入力はマウスまたはキーボードの動作を含む、請求項70から72のいずれか一項記載のコンピュータ・システム。
【請求項７４】
1つまたは複数のデータ・ソースを含む、請求項66から73のいずれか一項記載のコンピュータ・システム。
【請求項７５】
1つまたは複数のデータ・ソースはリモート・システム上に存在する、請求項74記載のコンピュータ・システム。
【請求項７６】
プロキシ装置を含む、請求項66から75のいずれか一項記載のコンピュータ・システム。
【請求項７７】
プロキシ装置はリモート・システム上に存在する、請求項75に依存するときの、請求項76記載のコンピュータ・システム。
【請求項７８】
プロキシ装置は、リモート・システム上のデータ・ソースからプロセッサにデータを転送する、請求項77記載のコンピュータ・システム。
【請求項７９】
プロキシ装置は、プロセッサからリモート・システム上のデータ・ソースにデータを転送する、請求項78記載のコンピュータ・システム。
【請求項８０】
タイマー装置を含む、請求項66から79のいずれか一項記載のコンピュータ・システム。
【請求項８１】
アプリケーションは、ユーザ入力に応答して、活動を発生させるべき時間を定義し、タイマー装置により決められた時間に達したときに、活動を実行する、請求項80記載のコンピュータ・システム。
【請求項８２】
活動は定義済みのプロセスを含む、請求項81記載のコンピュータ・システム。
【請求項８３】
実質的に、本明細書に添付の図面の図7から図25を参照して説明される、データを処理するためのコンピュータ・システム。
【請求項８４】
実質的に、本明細書に添付の図面の図1から図5を参照して説明される、コンピュータによって実施されるデータ処理方法。
【請求項８５】
請求項1から65のいずれか一項記載の方法を実行するためのコンピュータ・システム。
【請求項８６】
請求項1から85のいずれか一項記載の方法またはシステムを実行するためのソフトウェア。
【請求項８７】
請求項86に記載されたソフトウェアを含む記憶媒体。
【請求項８８】
請求項1から87のいずれか一項記載の方法、システム、またはソフトウェアによって産生されるデータ。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明は、データを処理する方法に関する。データに対して抽象オブジェクト層を利用してこのデータ用のプロセスが定義される。ユーザは、メタ・データを用いて、対話によってプロセスを定義することができる。
【背景技術】
【０００２】
発明の背景
多くの分散コンピュータ・システムでは、あるコンピュータ・システムから、リモート・コンピュータ・システムであることが多い他のコンピュータ・システムに、データを転送する必要がある。データは各システム上に異なる書式で記憶されることが多い。
【０００３】
ある種の構造化情報を扱う際、第1の書式で記憶されているデータを第2の書式によるデータ書式に変換する規則を確立することができる。米国特許第6,085,196号は、第1の書式の構造化情報と第2の書式の構造化情報との間のマッピング関係、特にSGMLとHTMLとの間にマッピング関係を定義するのを可能にする方法を開示している。この特許では、第1の書式の要素（たとえば、フィールド）と第2の書式の要素（たとえば、タグ）とのマッピング関係を定義するマッピング・データベースがユーザによって定義される。この特許は、記述ドキュメント（たとえば、DTDやXSD）内に要素が定義される構造化データを扱っている。さらに、ソース・データ・ソースからのデータが、マッピング・データベースに定義されている変換を利用して解析され、第2の書式に従って書式設定されたターゲット・データが作成される。この特許の方法では、第1の書式による定義済みの総称データ要素を第2の書式による定義済みの総称データ要素に変換するための規則が定義される。
【０００４】
データを他の書式にトランスポートまたは変換する必要が生じることが多い。これが必要になる可能性があるのは、メタ・データなしで記憶されているデータを、メタ・データが定義される書式にトランスポートまたは変換しなければならない場合である。
【０００５】
米国特許第6,085,196号の方法は、要素が記述ドキュメント内に定義されることのないデータを変換する（すなわち、SGML要素およびHTMLタグ）手段は提供しない。さらに、この方法では、ソース・フィールドとターゲット・フィールドの1対1のマッピングが可能であるに過ぎない。
【発明の開示】
【０００６】
本発明の目的は、データの様々なデータ書式間での転送または変換を可能にする融通性に富んだ方法およびシステムを提供するか、または少なくともユーザに有用な選択肢を与えることである。
【０００７】
本発明の第1の局面によれば、コンピュータによって実施されるデータ処理方法であって：
i）データを表すメタ・データ記述子を定義する段階；
ii）対話型ユーザ・アプリケーションにおいて、少なくとも１つのメタ・データ記述子に関連するプロセスを定義する段階；および
iii）定義済みのプロセスに従ってデータを処理する段階
を含む方法が提供される。
【０００８】
メタ・データ記述子は、データに関する書式、関係、構造、および属性を記述することができる。メタ・データ記述子は、構造化データベースに問合せを行い、XMLファイルまたはHTMLファイルを調べ、XMLスキーマに問合せを行うか、またはコンテクスト基準に基づいて定義することができる。
【０００９】
データへのアクセスは、メタ・データ・コネクタによって支援することができる。各データごとに特定のメタ・データ・コネクタが存在する。たとえば、3つのフィールド、すなわち、名前（Name）、ID、およびアドレス（Address）があるテキスト・ファイルは、このテキスト・ファイルの位置と、このテキスト・ファイルにアクセスするのに必要な任意の他の情報と、一般にテキスト・ファイルにアクセスするのに必要な任意の情報とを指定するテキスト・ファイル・メタ・データ・コネクタを有する。異なるデータを有するが同じフィールドを有する他のテキスト・ファイルは、同じメタ・データ・コネクタを使用する。異なるフィールドを有する異なるテキスト・ファイルは、異なるテキスト・ファイル・メタ・データ・コネクタを使用する。JDBCを用いてアクセスされるデータベースはJDBCメタ・データ・コネクタを使用する。データの処理には、データの操作、データの変換、および／またはデータの転送が含まれる。
【００１０】
好ましくは、この方法は、データの、ソース・データ・ソースからターゲット・データ・ソースへの変換を含む。データ・ソースとは、メタ・データ・コネクタを通じてアクセスされるデータである。対話型ユーザ・アプリケーションは、ソース・メタ・データ記述子およびターゲット・メタ・データ記述子を表示し、ユーザがソース・メタ・データ記述子によって表されたデータをターゲット・メタ・データ記述子によって表されたデータに変換するための規則を定義できるようにする。変換は、ユーザが定義したスケジュールに従った時間に行うことができる。データは、リモート・ソースから得ることができ、リモート装置は変換作業の一部を実行することができる。変換は、リモート装置、たとえば、プロセスを開始する「信号」を送信する他のコンピュータ・システムまたはソフトウェア・プログラムにおけるトリガ事象によって開始することができる。
【００１１】
ターゲット・データ要素に、ターゲット・データ・ソースの関連するターゲット・メタ・データ記述子を供給することも、ターゲット・データ要素を含むファイルをターゲット・データ・ソースに送信することもできる。この方法では、様々な種類のメタ・データ・コネクタを用いることによって、JDBCファイル、テキスト・ファイル、EDIファイル、IDOCファイル、XMLファイル、およびHTMLファイル、ダイナミック・ウェブ・ページ、テルネット端末セッション、ウェブ・サービス、ならびにリアルタイム・データ・ストリームを含む様々な種類のデータ間の変換を可能にすることができる。
【００１２】
本発明の他の局面によれば、選択されたデータを1つまたは複数のソース・データ・ソースから1つまたは複数のターゲット・データ・ソースに変換する、コンピュータによって実施される方法であって：
i）ソース・データ・ソース用のメタ・データ記述子およびターゲット・データ・ソース用のメタ・データ記述子を定義する段階；
ii）対話型ユーザ・アプリケーションにおいて、ソース・メタ・データ記述子とターゲット・メタ・データ記述子との間の変換プロセスを定義する段階；
iii）定義済みの変換プロセスに従ってソース・データ・ソースから抽出されたソース・データを変換し、ターゲット・データ・ソースに供給されるターゲット・データを生成する段階
を含む方法が提供される。
【００１３】
本発明の他の局面によれば、データを処理するコンピュータ・システムであって：
i）プロセッサ；
ii）プロセッサにデータを供給するためのメモリ；
iii）プロセッサにユーザ入力を供給するための入力装置；
iv）プロセッサからの情報を表示するための表示装置；
v）プロセッサによって実行されたときに、ユーザ入力に応答して、データを表すメタ・データ記述子を定義し、かつ少なくとも1つのメタ・データ記述子に関連するプロセスを定義すると共に、定義済みのプロセスに従ってデータを処理する、メモリに存在するアプリケーション
を含むコンピュータ・システムが提供される。
【００１４】
次に、添付の図面を参照して、本発明を一例として説明する。
【００１５】
本発明は、分散装置間でのデータの転送、および第1の書式と第2の書式との間のデータの変換を可能にする方法に関する。この方法は、ソース・データ・ソースとターゲット・データ・ソースとの間の抽象オブジェクト層を作成して必要な変換作業を定義する。これによって、融通性が高くなり、ユーザは特定のデータ・タイプおよび変換作業に必要な変換を定義することができる。
【００１６】
図1に示されている例を参照すると分かるように、変換プロセスは、ソース・データ3のメタ・データ記述子2によって表された要素1を、ターゲット・データ6のメタ・データ記述子によって表された要素4にマップすることによって定義される。変換プロセスの定義は、対話型ユーザ・アプリケーション内でユーザの助けを得て行われる。変換プロセスは、プログラムによる作業および算術的な作業を含む様々な作業7を適用することによってソース・データ要素を変換または操作するマッピングを含んでよい。
【００１７】
定義済みの変換プロセス8はメタ・データ・コネクタ9を用いてソース・データ3にアクセスする。メタ・データ・コネクタは、ソース・データにアクセスする方法を含む、ソース・データに関する特定の情報を含む。たとえば、ソース・データがテルネット・セッションから得られる場合、メタ・データ・コネクタはログオン情報、データにアクセスするのに必要なキー・ストロークに関する情報、およびテルネット・セッションから受信されたエラー例外をどのように扱うべきかに関する情報を含んでよい。
【００１８】
メタ・データ・コネクタは、特定のソース・データに関する特定の情報を含むだけでなく、その種のデータにアクセスするための一般的なデータを含む。たとえば、JDBCメタ・データ・コネクタ・タイプ10はJDBCデータに使用され、XMLメタ・データ・コネクタ・タイプ11はXMLデータに使用され、テルネット・メタ・データ・コネクタ・タイプ12はテルネット・データに使用される。
【００１９】
変換プロセスから得られたデータは、メタ・データ・コネクタ13を用いてターゲット・データ6に挿入される。
【００２０】
図2に示されている例を参照すると、第1の段階ではデータ14の位置が識別される。これはローカル・データでもリモート・データでもよい。このデータのメタ・データ記述子15は、メタ・データ・コネクタ16を用いてデータを調べることによって定義することができる。
【００２１】
図3に示されている例を参照すると分かるように、メタ・データ記述子18は、対話型ユーザ・アプリケーション17においてユーザの助けを得て定義することができる。
【００２２】
構造化データとは、データベースのような、データ内にメタ・データが記録されているデータである。非構造化データとは、データ内にメタ・データが記録されていないデータである。
【００２３】
構造化データを調べてメタ・データ記述子を判定することができる。たとえば、データベースに問合せを行ってメタ・データ記述子を抽出することができる。テキスト・ファイルなどの非構造化データの場合、メタ・データ記述子を定義するのを可能にする規則を確立しなければならない。ユーザは、データの位置、およびデータを解析してメタ・データ記述子を定義する方法を識別することができる。
【００２４】
テキスト・ファイル、テルネット端末セッション、HTMLページなどの非構造化データの場合、コンテクスト基準を指定することができる。たとえば、第1の行がフィールド見出しを含むことを指定することができる。レコード終了子およびフィールド分離子を定義することもできる。この情報によって、データを解析し、フィールド名、データ・タイプ、データ構造、およびメタ・データ記述子を構成するための他の関連情報を返すことが可能である。
【００２５】
データは、データが抽出されるソース・データでも、データが送信されるターゲット・データでもよい。上述のプロセスでは、データが構造化データであっても非構造化データであっても、ターゲット・データおよびソース・データに対する全ターゲット・メタ・データ記述子およびソース・メタ・データ記述子の識別が可能である。
【００２６】
図4に示されている例では、メタ・データ記述子によって表されたデータを変換するプロセスが定義されている。プロセス内の任意の数の段階を実行できるように定義することができる。ソース・メタ・データ記述子19、20は好ましくは画面の一方の側に表示され、ターゲット・メタ・データ記述子21、22は画面の他方の側に表示される。対話型ユーザ・アプリケーション23を用いた場合、ユーザは次いで、ソース・メタ・データ記述子とターゲット・メタ・データ記述子とのマッピング関係、またはソース・メタ・データ記述子をターゲット・メタ・データ記述子にマップするのに実行しなければならない任意の数の作業、たとえば、2つのソース・メタ・データ記述子によって表されたデータを組み合わせて1つのターゲット・メタ・データ記述子によって表されたデータを得る作業を定義することができる。マッピングは、ドラッグ・アンド・ドロップ作業またはその他の方法を用いてソース・メタ・データ記述子とターゲット・メタ・データ記述子を関連付けることによって行うことができる。
【００２７】
ある作業は、ソース・メタ・データ記述子によって表されたデータを連結または分解してターゲット・メタ・データ記述子にマップすることを含む計算を含んでよい。ターゲット・メタ・データ記述子は、たとえば、ターゲット・データが一定の値または計算された値を含む表示がある、ソース・メタ・データ記述子とのいっさいの関係を有さない計算として定義することもできる。
【００２８】
図5に示されている例には、ソース・データ・ソース24およびソース・データ・ソース25が示されている。任意の数のデータ・ソースを利用できることが理解されよう。定義済みのプロセス26を使用するデータ変換マネージャは、これらのソース・データ要素をターゲット・データ・ソース27およびターゲット・データ・ソース28のターゲット・データ要素に変換する。この場合も、当然のことながら、任意の数のターゲット・データ・ソースを作成するか、または任意の数のターゲット・データ・ソースを用いてデータを受け入れることができる。
【００２９】
変換は、ローカルに実行することも、リモート変換マネージャによって実行することもできる。リモート変換マネージャを使用する場合、選択されたソース・メタ・データ記述子に関連するデータを、選択されたターゲット・メタ・データ記述子に関するデータを返すリモート変換マネージャに供給しなければならない。リモート変換マネージャが変換を完了するには、さらにリモート・データ・ソースからのデータが必要である。データを容易にリモート・コンピュータから抽出し、SOAP over HTTPやRMIのようないくつかのトランスポート・プロトコルのうちの1つによって、ローカル・コンピュータにトランスポートするのを可能にするソフトウェアを、TCP/IP接続によって接続されたリモート・コンピュータ上にインストールすることができる。トランスポート・プロトコルは、リモート・コンピュータがローカル・コンピュータと安全に通信するのを可能にする認証および暗号化を組み込んでよい。
【００３０】
ターゲット・メタ・データ記述子によって表されたデータを、指定された関数に従ってマップするか、または組み合わせて必要なターゲット・データ要素を生成することができる。変換ソフトウェアは、ソース・データ要素および／またはターゲット・データ要素に基づいてターゲット・データ要素の値を求める「計算器（calculator）」を含んでよい。この計算は、簡単な1対1マッピングであっても、複雑な定義済み関数またはユーザ定義関数を使用してもよい。好ましくは、計算は、Python、Jython、Javascript、VBスクリプトなどのスクリプト言語を用いて行われる。計算は、数学的演算子（掛算、割算、足算、引算、代入、mod、括弧）、ストリング演算子（連結）、論理演算子（等しい、等しくない、より小さい、より大きい、以下、以上、AND、OR、XOR）、フロー制御演算子（if、if ... else、if ... else if ... else、for、for ... else、while、while ... else、break、continue、pass）、ユーティリティ演算子（数から文字列への変換）を含んでよい。計算は、数学的関数（abs(val)、complex(real[,imag])、pow(xy)、divmod(a,b)、pi、e、trig関数、指数関数、対数関数など）を含んでよい。計算は、カレンダー関数および日時関数、文字列関数、ユーティリティ関数、リスト関数、キー・ジェネレータ、SOLユーティリティ、変数ユーティリティ、およびエリア・ハンドリング・ユーティリティを含んでもよい。
【００３１】
ターゲット・データ要素を、関連するターゲット・メタ・データ記述子を有するそれぞれのターゲット・データ・ソースに送信することも、ターゲット・データ要素を含むファイルを関連するターゲット・データ・ソースに送信することもできる。
【００３２】
次に、図6を参照すると、メタ・データ記述子の例が示されている。
【００３３】
次に図7を参照すると、本発明の方法を実施するシステムが示されている。サーバ29は、実行部（Executor）コンポーネント30と、データベース31と、タイマー32と、インテリジェント・データ・ソース33およびそれに関連するデータベース34を通じてアクセスされるサード・パーティ・アプリケーションとを含むことが分かる。
【００３４】
クライアント・コンピュータ35は、管理者コンポーネント36、リモート・データ転送コンポーネント37、およびデータ・ソース38を含むことが分かる。リモート・データ転送コンポーネント37はライトウェイト・コンポーネントであり、WAN上のTCP/IP接続を介してサーバ29に接続されている。リモート・データ転送コンポーネント37は、実行部コンポーネント30がクライアント・コンピュータ35からデータを呼び出すのを可能にし、接続、および直接的な接続が存在しないリモート・コンピュータからのデータの転送を容易にする。
【００３５】
管理者コンポーネント36は、実行部コンポーネント30と通信してリモート・ユーザが動作をスケジューリングするのを可能にする。次いで、指定された時間に、または指定された事象が起こったときに、このような動作を実行部モジュール30によって実行することができる。トリガ事象は、クライアント・コンピュータ35などのリモート装置からの通信を含んでよい。クライアント・コンピュータ39は、ブラウザ・アプリケーション40を含むことが分かる。
【００３６】
システムは、データベース34とデータベース38との間のデータのトランスポートおよび変換を可能にする。管理者モジュール36は、クライアントが、上記で図3に関して説明したように動作を定義するのを可能にする。管理者モジュール36は、動作を、指定された時間に、または指定された事象が起こったときに実行されるようにスケジューリングすることも可能にする。動作およびスケジュールはサーバ29上に記憶することができる。実行部モジュール30が、指定された時間に、スケジュールに記載されたように指定された動作を実行するか、または事象情報の受信時に、指定された動作が実行される。事象機構は、サード・パーティ・アプリケーションなどの外部アプリケーションが、実行部モジュール30でワークフロー・活動または動作を開始するのを可能にすることができる。データはデータベース34から得られ、必要に応じて、データ・ソース38に問合せを行い必要なデータを実行部モジュール30に返すために、実行部モジュール30によってリモート・データ転送コンポーネント37を介して情報が要求される。必要なデータ変換が実行され、ターゲット・データ要素がデータ・ソース38に転送される。
【００３７】
次に図8から16を参照して、メタ・データ・コネクタの作成方法、メタ・データ記述子の作成方法、およびユーザ側から見た、管理者コンポーネント36によってソース・データをターゲット・データに変換するプロセスの定義方法を示す実施例について説明する。
【００３８】
まず、図8を参照すると、CSVファイルが示されている。このCSVファイルは、第1の行にフィールド見出しを含み、その後の行は、「注文群（Orders）」に関するデータを含んでいる。このファイルは、図14における変換プロセスではソース・データとして使用される。
【００３９】
図9には、ユーザがCSVファイル用のメタ・データ・コネクタを定義する画面が示されている。データ・ソースには「注文CSVファイル（Order CSV file）」という名前が付けられており、このファイルを呼び出すことのできるファイル名またはURLが付けられている。ユーザは、「第1の行はフィールド見出しを含む（First row contains field headings）ボックスも選択している。これによって、実行部モジュール30はCSVファイルに問合せを行いフィールド見出しを回復することができる。各フィールド見出しはこのデータのメタ・データ記述子を形成する。
【００４０】
次いで「選択（Select）」ボタンを作動させ、図10に示されている画面は、「インポート（Import）」ボタンを作動させた後でCSVファイルから抽出されたフィールドを示している。画面上にソース・フィールド名「顧客（Customer）」からETAまでがリストされる。
【００４１】
図11には、XMLファイルが示されている。
【００４２】
図12において、XMLターゲット・データ・ソース用のメタ・データ・コネクタがユーザによって定義されている。ユーザは、データ・ソースの名前を「1.0 XML注文（1.0 XML Order）」として入力し、ファイル名／URLが入力される。この場合、メタ・データ記述子は、図11に示されているXMLファイルから抽出される。
【００４３】
図13には、ターゲット・メタ・データ記述子として使用されるメタ・データ記述子が表示されている。この場合、メタ・データ記述子は、エンティティ「注文群」の子であるエンティティ「注文（Order）」の子として２つのエンティティ「見出し情報（HeaderInfo）」および「ライン品目情報（LineItemInfo）」を有する。エンティティ「見出し情報」はターゲット・フィールド名「アカウント（Account）」から「総額（TotalAmount）」までを有する。エンティティ「ライン品目情報」は、ターゲット・フィールド名「価格（Price）」から「製品コード（ProductCode）」までを有する。必要に応じて、追加のエンティティおよびフィールド名を追加することができる。
【００４４】
図14には変換プロセスが定義されている。左側には、CSVファイル用のメタ・データ記述子から得たソース・エンティティ名およびフィールド名が表示されている。右側には、XMLファイルから抽出されたメタ・データ記述子から得たターゲット・エンティティ名およびフィールド名が表示されている。ユーザは、ソース・フィールド名をターゲット・フィールド名にマップすることができる。図14において、ユーザはソース・フィールド名をクリックし、対応するターゲット・フィールド名までドラッグしている。これによって直接的な1対1のマッピングが作成される。この例は、ユーザは「顧客」を「アカウント」にドラッグしている。ユーザは、1つまたは複数のソース・フィールドを1つのターゲット・フィールドにマップすることも、1つのソース・フィールドを多数のターゲット・フィールドにマップすることもできる。ユーザは、ある計算を定義し、計算（Calculation）ボタンを押すことによってターゲット・フィールド名に関するデータを得ることもできる。
【００４５】
図15には計算コンポーネントが示されている。ターゲット・フィールド名に関するデータは、ソース・データに対して計算を行うことによって得ることも、一定のデータ、他のソースから得たデータ、またはソース・フィールドから得たデータとは無関係の他のデータによる計算から得ることもできる。
【００４６】
図16は、変換プロセスの定義方法の他の例を示している。この例では、ユーザは、「価格」ソース・フィールドを「価格」ターゲット・フィールドに、「Qty」ソース・フィールドを「数量（Quantity）」ターゲット・フィールドに直接マップしている。ユーザは、計算コンポーネントを用いて一定の値「標準品目（Std Item）」を「ItemDescription（品目の説明）」ターゲット・フィールドに入力し、「製品コード」ソース・フィールドからデータに「014-」を付加して「製品コード」ターゲット・フィールドを得ている。
【００４７】
管理者モジュール36は、クライアントが活動を定義するのを可能にする。活動は動作から成る。動作はスクリプトに従って構成することができる。動作は、データ転送動作と、コンピュータ環境を調節するか、eメールを送信するか、またはエラーを処理する他の動作で構成することができる。動作は、現在の活動またはその他の活動を監視または制御するか、プログラムを実行するか、あるいは他の動作または他の標準プログラマチック関数を実行する関数で構成することができる。ユーザによって新しい種類の動作を作成することができる。たとえば、ユーザは、データを変換する定義済みのプロセスを開始する前に特定のネットワーク接続を使用可能にすることが必要になる場合がある。
【００４８】
活動内の動作の1つは、図5に記載されたようにデータを変換する定義済みプロセスであってよい。
【００４９】
動作または活動の実行はトリガ事象に依存することができる。トリガ事象には、リモート・システム、スケジューラ・アプリケーション、またはローカル・システムに対する指定された変更によって生成される事象が含まれる。
【００５０】
図17は活動の作成方法を示している。ユーザは、活動に名前、この例では「毎日のeメール注文の処理（Process Daily e-mail Orders）」という名前を付け、説明を与える。
【００５１】
図18は、ユーザが特定の動作を定義する画面を示している。動作は、メール・サーバにログインし、ユーザによって定義されたあるヘッダ・ファイルに一致するeメールを検索し、eメール・メッセージおよび添付ファイルをローカル・ハード・ドライブに抽出する。
【００５２】
図19は、活動を様々な動作で構成するにはどうすべきかを示している。この例では、プロセスは以下のとおりである。
・POP3サーバから注文eメールを得る−「全ての注文eメールを得る（get all order e-mails）」。
・添付ファイルを開いて注文を含むCSVファイルを抽出する−「注文添付ファイルを開く（Unzip order attachments）」。
・CSV注文をXML書式に変換する−「CSVからXML購買注文への変換（CSV to XML purchase order）」。この段階は、図5と同様にデータを変換する定義済みのプロセスを表す。
・結果として得られたXMLデータの妥当性をXMLスキーマに照らして検証し、注文が確実に有効なデータを含むようにする−「データの妥当性をXML POスキーマに照らして検証する（Validate data against XML PO schema）」。
・結果として得られたXMLファイルをAS/400システムにコピーする−「XMLファイルをAS/400にコピーする（Copy XML file to AS/400）」。
・注文をAS/400上のERPシステムに注文送信するAS/400に対してコマンドを実行する−「AS/400上でバッチを処理する（Process batch on AS/400）」。
【００５３】
スケジューリング・コンポーネントは、図20から図23に示されているようにグラフィカル・ユーザ・インタフェースを含んでよい。図20は、定義済みの動作の画面リストを示している。図21は、カレンダー書式での動作のスケジューリングを示す画面を示している。図20は、ある日に予定された画面を示している。ユーザは動作のスケジューリングを所望の書式で表示することができる。
【００５４】
図21を参照すると、スケジューリング特性を示す画面が示されている。ユーザは、動作、動作を実行すべき日付および時間を選択し、「繰返し（Repeat）」部に動作の周期性を定義することができる。動作は、外部装置からの通信、データの変更などを含むトリガ事象が発生したときに引き起こされるようにセットアップすることもできる。図23は、一連の動作を列挙したスケジュールを示している。
【００５５】
図24は、この方法を実施する可能なコンピュータ・システムを示している。この方法は、インテル（Intel）プロセッサ41と、SDRAMメモリ42と、キーボード・マウス入力装置43と、コンピュータ・モニタ視覚表示装置44と、SDRAMメモリに存在するアプリケーション45とを含むコンピュータ・ハードウェア上に備えることができる。
【００５６】
図25は、この方法を実施する他の可能なコンピュータ・システムを示している。この方法は、インテル（Intel）プロセッサ41と、SDRAMメモリ42と、キーボード・マウス入力装置43と、コンピュータ・モニタ視覚表示装置44と、SDRAMメモリに存在するアプリケーション45とを含むコンピュータ・ハードウェア上に備えることができる。このコンピュータ・システムは、やはりリモート・システム48上に存在するリモート転送コンポーネント・プロキシ装置47を通じてプロセッサがアクセスできるリモート・システム上に存在するデータベース46を含んでよい。コンピュータ・システムは、ハードウェア・クロック・タイマー装置49およびローカル・データベース50も含む。
【００５７】
当業者には理解されるように、複数のプロセッサ、複数のメモリ・コンポーネント、他の種類の入力装置、あるいはリモート・システム上またはローカルに位置する複数のデータベースを有するコンピュータ・システム上にこの方法を備えることができる。当業者には理解されるように、いくつかのコンポーネントがTCP/IPなどのプロトコルを用いてLANやWANなどのネットワーク上で互いに通信できるようなネットワーク上にこの方法を備えることができる。
【００５８】
本発明は、第1の書式に従って書式設定されたデータを、データが第2の書式で記憶されている他のシステムに転送する好都合な手段を提供することが理解されよう。本発明は、ユーザが広範囲のデータ・ソース書式を広範囲のターゲット・ソース書式に変換する際の融通性を高める方法およびシステムも提供する。本発明は、データのアクセス方法が変更されても、データ・アクセス情報がこのデータのメタ・データ・コネクタに分離されるため、定義済みのプロセスが影響を受けることのない方法も提供する。本発明は、リモート・データ転送コンポーネントを任意のシステム上に備えることができ、かつすべての変換を中央のサーバによって管理することができるため、プラットフォームには依存しない。さらに、変換を定義するのに用いられるメタ・データ・コネクタおよび対話型ユーザ・インタフェースの抽象性によって、経験の乏しいサード・パーティ・プログラマでも新しいメタ・データ・コネクタ・タイプを追加し、新しい変換プロセスを容易に定義することができる。本発明は、メタ・データ・コネクタを定義することができるので、テルネット・セッションのような、古いかまたは珍しいデータ・アクセス方法を使用するレガシー・システムに本発明を使用することができる。アクセスの複雑さにメタ・データ・コネクタで対処することができるので、複雑なエラー・ハンドリング機能を必要とするソースからのデータを、本発明を用いて管理することができる。
【００５９】
上記の説明では、既知の均等物を有する整数または構成要素を参照したが、そのような均等物は、それを個別に記載した場合と同様に本明細書に組み入れられる。
【００６０】
本発明を一例として説明したが、添付の特許請求の範囲に定義された本発明の範囲から逸脱せずに、本発明に改良および／または変更を加えられることが理解されよう。
【図面の簡単な説明】
【００６１】
【図１】変換プロセスを定義しデータを処理する方法を例示する機能図を示す。
【図２】メタ・データ・コネクタを介するデータの調査によってメタ・データ記述子を定義する方法を例示する機能図を示す。
【図３】ユーザの助けを得てメタ・データ記述子を定義する方法を例示する機能図を示す。
【図４】変換プロセスを定義する方法を例示する機能図を示す。
【図５】定義済みの変換プロセスに従ってデータを変換する方法を例示する機能図を示す。
【図６】メタ・データ記述子の一例を示す。
【図７】図1から図5に示されている方法を実施するシステムの各コンポーネントを示す。
【図８】CSVファイルとしてのソース・データの一例を示す。
【図９】ユーザがCSVファイル用のメタ・データ・コネクタを作成する様子を例示する画面を示す。
【図１０】CSVファイル用のメタ・データ記述子を例示する画面を示す。
【図１１】メタ・データ記述子が抽出されるXMLファイルを示す。
【図１２】ユーザがXML用のメタ・データ・コネクタを作成する様子を例示する画面を示す。
【図１３】XMLファイル用のメタ・データ記述子を例示する画面を示す。
【図１４】ソース要素をターゲット要素までドラッグし、1対1の直接マップを確立することによって変換プロセスを定義する対話型ユーザ・アプリケーションを例示する画面を示す。
【図１５】計算作業を作成する対話型ユーザ・アプリケーションを例示する画面を示す。
【図１６】ターゲット要素がソース要素との1対1マップ、ソース要素からの変換、および算出されたデータによって得られる対話型ユーザ・アプリケーションを例示する画面を示す。
【図１７】活動の作成を例示する画面を示す。
【図１８】動作の作成を例示する画面を示す。
【図１９】動作からの活動の構成を例示する画面を示す。
【図２０】活動および動作の日付をスケジューリングする際のスケジューリング・アプリケーションを例示する画面を示す。
【図２１】活動および動作の時間をスケジューリングする際のスケジューリング・アプリケーションを例示する画面を示す。
【図２２】動作をスケジューリングする際のスケジューリング・アプリケーションを例示する画面を示す。
【図２３】スケジューリング・アプリケーションの関数を例示する画面を示す。
【図２４】図1から図5に示されている方法を実施する最も簡単なシステムの各コンポーネントを示す。
【図２５】図1から図5に示されている方法を実施するシステムの各コンポーネントを示す。
【図１】
2004524610.tif 000003
【図２】
2004524610.tif 000004
【図３】
2004524610.tif 000005
【図４】
2004524610.tif 000006
【図５】
2004524610.tif 000007
【図６】
2004524610.tif 000008
【図７】
2004524610.tif 000009
【図８】
2004524610.tif 000010
【図９】
2004524610.tif 000011
【図１０】
2004524610.tif 000012
【図１１】
2004524610.tif 000013
【図１２】
2004524610.tif 000014
【図１３】
2004524610.tif 000015
【図１４】
2004524610.tif 000016
【図１５】
2004524610.tif 000017
【図１６】
2004524610.tif 000018
【図１７】
2004524610.tif 000019
【図１８】
2004524610.tif 000020
【図１９】
2004524610.tif 000021
【図２０】
2004524610.tif 000022
【図２１】
2004524610.tif 000023
【図２２】
2004524610.tif 000024
【図２３】
2004524610.tif 000025
【図２４】
2004524610.tif 000026
【図２５】
2004524610.tif 000027
【国際公開パンフレット】
2004524610.tif 000028
2004524610.tif 000029
2004524610.tif 000030
2004524610.tif 000031
2004524610.tif 000032
2004524610.tif 000033
2004524610.tif 000034
2004524610.tif 000035
2004524610.tif 000036
2004524610.tif 000037
2004524610.tif 000038
2004524610.tif 000039
2004524610.tif 000040
2004524610.tif 000041
2004524610.tif 000042
2004524610.tif 000043
2004524610.tif 000044
2004524610.tif 000045
2004524610.tif 000046
2004524610.tif 000047
2004524610.tif 000048
2004524610.tif 000049
2004524610.tif 000050
2004524610.tif 000051
2004524610.tif 000052
2004524610.tif 000053
2004524610.tif 000054
2004524610.tif 000055
2004524610.tif 000056
2004524610.tif 000057
2004524610.tif 000058
2004524610.tif 000059
2004524610.tif 000060
2004524610.tif 000061
2004524610.tif 000062
2004524610.tif 000063
2004524610.tif 000064
2004524610.tif 000065
2004524610.tif 000066
2004524610.tif 000067
2004524610.tif 000068
2004524610.tif 000069
2004524610.tif 000070
2004524610.tif 000071
2004524610.tif 000072
2004524610.tif 000073
2004524610.tif 000074
2004524610.tif 000075
2004524610.tif 000076
2004524610.tif 000077
2004524610.tif 000078
2004524610.tif 000079
2004524610.tif 000080
2004524610.tif 000081
【国際調査報告】
2004524610.tif 000082
2004524610.tif 000083
2004524610.tif 000084