(57)【要約】【課題】高速にワークフロースクリプトを実行する。【解決手段】本発明にかかるワークフロースクリプト（ＷＦＳ）実行装置は、複数の処理ノード（実行ノード，選択ノード）の実行手順を示すワークフロースクリプトを実行する。実行ノードには、入力データ、出力データと処理内容とが定義され、選択ノードには、入力データ、および、その値に応じて選択される処理ノードが定義される。各処理ノードには、ＷＦＳ実行のための入力データ、および、実行ノードにより得られた出力データから入力データが供給される。本発明にかかるＷＦＳ実行装置は、入力データが他の実行ノードの出力データに依存しない複数の実行ノードを、並列に実行可能なように実行手順を調整し、これらを実行する。【選択図】図１９
2007183691.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理ノードを含み、これらの処理ノードの実行手順を示すワークフロースクリプトを実行するワークフロースクリプト実行システムであって、前記複数の処理ノードは、実行ノードおよび選択ノードを含み、前記実行ノードに対しては、入力データ、出力データと処理内容とが定義され、前記選択ノードに対しては、入力データ、および、入力データの値に応じて次に実行すべき選択される処理ノードが定義され、
前記実行ノードそれぞれの処理内容を実現する１つ以上の処理装置と、
前記処理装置を制御して、前記実行ノードそれぞれを実行させる実行手順制御装置と、
前記ワークフローの実行のために予め与えられる入力データ、および、前記実行ノードの実行により得られた出力データから、前記処理ノードそれぞれに対して入力データを供給するデータ供給装置と
を有し、
前記実行手順制御装置は、
入力データと出力データとがノード間で相互に独立している前記実行ノードを、並列して実行させるように、前記ワークフロースクリプトに含まれる処理ノードの実行手順を調整する実行手順調整手段と、
前記調整された実行手順に従って、前記ワークフロースクリプトを処理し、前記処理装置それぞれを制御して、前記実行ノードに対して定義された処理内容を、前記供給される入力データを用いて実行させる実行手順制御手段と
を有するワークフロースクリプト実行システム。
【請求項２】
複数の処理ノードを含み、これらの処理ノードの実行手順を示すワークフロースクリプトを実行するワークフロースクリプト実行装置であって、前記複数の処理ノードは、実行ノードおよび選択ノードを含み、前記実行ノードに対しては、入力データ、出力データと処理内容とが定義され、前記選択ノードに対しては、入力データ、および、入力データの値に応じて選択される次に実行すべき処理ノードが定義され、前記ワークフローの実行開始時に与えられる入力データ、および、前記実行ノードの実行により得られた出力データから、前記処理ノードそれぞれに対して入力データが供給され、
ある実行ノードの入力データと、これ以外の実行ノードの出力データとの間に依存関係がない前記実行ノードを、並列して実行させるように、前記ワークフロースクリプトに含まれる処理ノードの実行手順を調整する実行手順調整手段と、
前記調整された実行手順に従って、前記ワークフロースクリプトの処理を制御し、前記実行ノードに対して定義された処理内容を、前記供給される入力データを用いて実行させる実行手順制御手段と
を有するワークフロースクリプト実行装置。
【請求項３】
前記ワークフロースクリプトごとに、前記ワークフロースクリプトの処理において、入力データおよび出力データまたはこれらのいずれかとして用いられる処理用データそれぞれの識別子と、前記処理用データそれぞれの値と、前記処理用データそれぞれが、この処理用データを前記入力データとする前記処理ノードに対して供給可能であるかを示す供給可能性フラグとが対応付けられて記憶され、要求に応じて、前記記憶された処理用データが供給され、
前記実行手順制御手段は、前記処理ノードの実行に先立って、前記供給可能性フラグの値が、この処理ノードに対して供給可能なことを示す処理用データの供給を要求する
請求項２に記載のワークフロースクリプト実行装置。
【請求項４】
前記ワークフロースクリプトの処理に用いられる処理用データの集合を含む実行環境を記憶する実行環境記憶手段
をさらに有し、
前記実行手順制御手段は、前記実行環境に記憶された処理用データを用いて、前記ワークフロースクリプトを処理する
請求項２または３に記載のワークフロースクリプト実行装置。
【請求項５】
前記実行手順制御手段は、前記処理ノードの内、この処理ノードを選択する前記選択ノードの実行に先立って実行された後、実際には選択されなかったときに、この実行の結果を取り消すことができる処理ノードを、この処理ノードを選択する前記選択ノードの実行に先立って実行する
請求項４に記載のワークフロースクリプト実行装置。
【請求項６】
前記実行手順制御手段は、前記記憶された実行環境を複製して、前記処理ノードの実行のために用い、この処理ノードが実際に実行されたときにのみ、この処理ノードの実行結果を、前記記憶された実行環境に反映させる
請求項５に記載のワークフロースクリプト実行装置。
【請求項７】
前記ワークフロースクリプトの実行に伴う処理用データへのアクセスの履歴を作成する履歴作成手段と、
前記作成された履歴に基づいて、前記処理用データの供給を受ける第１のデータ供給手段と
をさらに有する請求項２〜６のいずれかに記載のワークフロースクリプト実行装置。
【請求項８】
前記データ供給手段は、前記履歴に基づいて供給された処理用データと、前記実行手順制御手段により実際に要求された処理用データとが適合するときに、前記処理ノードの実行結果を、前記実行手順制御手段に供給する
請求項７に記載のワークフロースクリプト実行装置。
【請求項９】
前記ワークフロースクリプトに含まれる処理用データへのアクセスを抽出するアクセス抽出手段と、
前記抽出された処理用データへのアクセスに基づいて、前記処理用データの供給を受ける第２のデータ供給手段と
をさらに有する請求項２〜６のいずれかに記載のワークフロースクリプト実行装置。
【請求項１０】
複数の処理ノードを含み、これらの処理ノードの実行手順を示すワークフロースクリプトを実行するワークフロースクリプト実行方法であって、前記複数の処理ノードは、実行ノードおよび選択ノードを含み、前記実行ノードに対しては、入力データ、出力データと処理内容とが定義され、前記選択ノードに対しては、入力データ、および、入力データの値に応じて選択される次に処理すべき処理ノードが定義され、前記ワークフローの実行開始時に与えられる入力データ、および、前記実行ノードの実行により得られた出力データから、前記処理ノードそれぞれに対して入力データが供給され、
入力データと出力データとがノード間で相互に独立している前記実行ノードを、並列して実行させるように、前記ワークフロースクリプトに含まれる処理ノードの実行手順を調整する実行手順調整ステップと、
前記調整された実行手順に従って、前記ワークフロースクリプトの処理を制御し、前記実行ノードに対して定義された処理内容を、前記供給される入力データを用いて実行させる実行手順制御ステップと
を有するワークフロースクリプト実行方法。
【請求項１１】
複数の処理ノードを含み、これらの処理ノードの実行手順を示すワークフロースクリプトを実行するプログラムであって、前記複数の処理ノードは、実行ノードおよび選択ノードを含み、前記実行ノードに対しては、入力データ、出力データと処理内容とが定義され、前記選択ノードに対しては、入力データ、および、入力データの値に応じて選択される次に処理すべき処理ノードが定義され、前記ワークフローの実行開始時に与えられる入力データ、および、前記実行ノードの実行により得られた出力データから、前記処理ノードそれぞれに対して入力データが供給され、
入力データと出力データとがノード間で相互に独立している前記実行ノードを、並列して実行させるように、前記ワークフロースクリプトに含まれる処理ノードの実行手順を調整する実行手順調整ステップと、
前記調整された実行手順に従って、前記ワークフロースクリプトの処理を制御し、前記実行ノードに対して定義された処理内容を、前記供給される入力データを用いて実行させる実行手順制御ステップと
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、それぞれに処理内容などが定義された複数の処理ノードと、これらの処理ノードの実行手順とから構成されるワークフロースクリプトを処理するワークフロースクリプト実行システムおよびその方法に関する。
【背景技術】
【０００２】
特許文献１は、ワークフロースクリプトを実行する方法を開示する。
ワークフロースクリプトには、通常、入力データと、出力データと、処理内容とが定義された実行ノードと、入力データの値に応じて、他の処理ノードを選択する選択ノードとが含まれる。
これらの処理ノードは、ワークフロースクリプトにおいて定義され、記述される手順に従って実行される。
【特許文献１】特開２００３−１７８１７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、上述のような背景からなされたものであって、より高速にワークフロースクリプトを実行できるように改良されたワークフロースクリプト実行システムおよびその方法を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するために、本発明にかかるワークフロースクリプト実行システムは、複数の処理ノードを含み、これらの処理ノードの実行手順を示すワークフロースクリプトを実行するワークフロースクリプト実行システムであって、前記複数の処理ノードは、実行ノードおよび選択ノードを含み、前記実行ノードに対しては、入力データ、出力データと処理内容とが定義され、前記選択ノードに対しては、入力データ、および、入力データの値に応じて次に実行すべき選択される処理ノードが定義され、前記実行ノードそれぞれの処理内容を実現する１つ以上の処理装置と、前記処理装置を制御して、前記実行ノードそれぞれを実行させる実行手順制御装置と、前記ワークフローの実行のために予め与えられる入力データ、および、前記実行ノードの実行により得られた出力データから、前記処理ノードそれぞれに対して入力データを供給するデータ供給装置とを有し、前記実行手順制御装置は、入力データと出力データとがノード間で相互に独立している前記実行ノードを、並列して実行させるように、前記ワークフロースクリプトに含まれる処理ノードの実行手順を調整する実行手順調整手段と、前記調整された実行手順に従って、前記ワークフロースクリプトを処理し、前記処理装置それぞれを制御して、前記実行ノードに対して定義された処理内容を、前記供給される入力データを用いて実行させる実行手順制御手段とを有する。
【発明の効果】
【０００５】
本発明にかかるワークフロースクリプト実行システムおよびその方法によれば、高速にワークフロースクリプトを実行できる。
【発明を実施するための最良の形態】
【０００６】
［ネットワークシステム１］
以下、本発明の実施形態を説明する。
図１は、本発明に係る情報検索方法が適用されるネットワークシステム１の構成を示す図である。
図１に示すように、ネットワークシステム１は、それぞれｎ台のプロファイル検索装置２−１〜２−ｎ、属性管理装置４−１〜４−ｎ、１台のプロファイル仕様管理装置５およびクライアントコンピュータ（ＰＣ）１０−１〜１０−ｎが、ＬＡＮ，ＷＡＮあるいはインターネットなどのネットワーク１４を介して、互いに情報を通信可能に接続されて、構成される。
【０００７】
ネットワークシステム１は、これらの構成により、属性管理装置４−１〜４−ｎに、属性（情報）を、効率的に分散し、記憶し、管理する。
また、ネットワークシステム１は、これらの構成により、分散して記憶され、管理されている属性（情報）を、効率的に検索し、組み合わせて、ユーザが所望する形式で配信する。
【０００８】
なお、ｎは単に１以上の整数を示し、全てのｎが同じ数を示すとは限らない。
また、以下、複数存在しうるプロファイル検索装置２−１〜２−ｎなどのいずれかが、特定なしに示されるときには、単にプロファイル検索装置２などと略記されることがある。
また、以下、ネットワークシステム１において情報処理および通信の主体となりうるプロファイル検索装置２などの装置を、ノードと総称することがある。
また、ネットワークシステム１の構成は例示であって、例えば、プロファイル検索装置２、属性管理装置４およびプロファイル仕様管理装置５の内の任意の２つ以上を、適宜、一体化した１つの装置とすることも可能である。
また、以下の各図においては、実質的に同じ構成部分または処理には、原則として同じ符号が付される。
【０００９】
［ハードウエア］
図２は、図１に示したプロファイル検索装置２、属性管理装置４およびプロファイル仕様管理装置５のハードウエア構成を示す図である。
図２に示すように、これらのノードは、ＣＰＵ１０２およびメモリ１０４などを含む本体１００、表示装置、キーボードおよびマウスなどを備えた入出力装置１０６、ネットワークシステム１４を介して、他のノードとの通信を行う通信装置１１０、ＣＤ装置、ＦＤ装置およびＨＤＤ装置など、記録媒体１１４に対して情報の書き込みおよび読み出しを行う記録装置１１２から構成される。
つまり、ネットワークシステム１の各ノードは、情報処理および他ノードとの通信が可能なコンピュータとしての構成部分を有している。
【００１０】
［ネットワークシステム１において扱われる情報］
まず、ネットワークシステム１において扱われる情報を説明する。
図３は、図１に示したプロファイル検索装置２が、ＰＣ１０からの要求に従って、属性管理装置４およびプロファイル仕様管理装置５を用いて検索処理を行い、作成するプロファイル情報（プロファイル識別子により識別される情報）を示す図である。
図３に示すように、プロファイル情報は、それぞれ、プロファイル識別子により識別され、１つ以上の属性を含む。
図３には、プロファイル情報が、ある人物が好む「映画」を示す属性、「その他」の付加的な情報を示す属性などを含む場合が例示されている。
属性は、それぞれ、ある人物の「名前」・「年齢」・「性別」などを示す属性名と、属性値とを含む。
【００１１】
図４は、図１に示したプロファイル仕様管理装置５に記憶され、管理される物理プロファイル仕様情報を示す図である。
図５は、図４に示した物理プロファイル仕様情報に含まれる管理情報と、属性との関係を示す図である。
図６は、図１に示したプロファイル仕様管理装置５に記憶され、管理される論理プロファイル仕様情報を示す図である。
図７，図８は、図６に示した論理プロファイルに含まれる利用プロファイル名と、他の論理プロファイルまたは物理プロファイルとの関係を示す第１および第２の図である。
図４に示すように、物理プロファイル仕様情報は、それぞれ、プロファイル名と、識別子作成方法と、互いに対応付けられた属性名（属性名および属性型）および管理情報を１つ以上含む。
物理プロファイル仕様情報において、プロファイル名は、物理プロファイル仕様情報の識別のために用いられるほか、論理プロファイル仕様情報（図６）に含まれる利用プロファイル名を介して、物理プロファイル仕様情報と論理プロファイル仕様情報との対応を示す。
互いに対応付けられた属性名および管理情報は、その属性名が示す属性が、いずれの属性管理装置４のいずれのロケーションに記憶・管理されているか（属性の記憶場所）を示す。
【００１２】
つまり、プロファイル検索装置２は、図５に示すように、物理プロファイル仕様情報を得たときには、物理プロファイル仕様情報に含まれる属性名が示す属性を、管理情報を用いて検索することにより、属性管理装置４から得ることができる。
識別子作成方法は、プロファイル仕様管理装置５が、属性管理装置４に対して属性を登録するときに、属性それぞれに一意な識別子を付するために、属性それぞれに対してユニークな識別子を生成するために用いられる方法を示す。
図６に示すように、論理プロファイル仕様情報は、それぞれ、プロファイル名と、利用プロファイル名１つ以上と、互いに対応付けられた属性名（属性名・属性型）およびマッピング情報と、アクセスポリシーとを含む。
論理プロファイル仕様情報において、プロファイル名は、論理プロファイル仕様情報の識別のために用いられる。
利用プロファイル名は、この論理プロファイル仕様情報に含まれる属性の記憶場所を含む物理プロファイル仕様情報（図４）のプロファイル名、または、この論理プロファイル仕様情報に含まれる属性を含む他の論理プロファイル仕様情報のプロファイル名を示す。
属性名に対応付けられたマッピング情報それぞれは、その属性名と利用プロファイル名およびその利用プロファイルにおける属性名との対応関係を示す。
【００１３】
つまり、図７に示すように、論理プロファイル仕様情報に含まれる属性名の属性を検索するときに、マッピング情報を介して、この属性名と対応付けられた利用プロファイル名が、物理プロファイル仕様情報であれば、この物理プロファイル仕様情報に含まれる管理情報が示す属性管理装置４に対して、プロファイル識別子などを用いた検索を行うことにより、目的の属性が得られる。
あるいは、図８に示すように、マッピング情報を介して、この属性名と対応付けられた利用プロファイル名をプロファイル名とする論理プロファイル仕様情報（論理的ロケーション）を、順次、たどることができ、最終的に、物理プロファイル仕様情報に行き着くことができれば、最終的に得られた物理プロファイル仕様情報に含まれる物理的ロケーション用いて、属性管理装置４から、目的の属性が得られる。
【００１４】
［ソフトウエア］
以下、ネットワークシステム１の各ノードにおいて動作するソフトウエアを説明する。
図９は、図１に示したプロファイル検索装置２上で動作するプロファイル検索プログラム２０の構成を示す図である。
図９に示すように、プロファイル検索プログラム２０は、通信処理部２００、ユーザインターフェース部（ＵＩ部）２０２、プロファイル仕様検索部２２０、物理プロファイル仕様取得部２２２、属性検索部２２４、属性管理部２２６、属性ＤＢ２２８、プロファイル情報作成部２３０、プロファイル識別子作成部２３２およびアクセス制御部２４０から構成される。
【００１５】
プロファイル検索プログラム２０は、例えば、記録媒体１１４（図２）を介してプロファイル検索装置２に供給され、メモリ１０４にロードされ、プロファイル検索装置２にインストールされたＯＳ（図示せず）上で、プロファイル検索装置２のハードウエア資源を、具体的に利用して実行される（以下の各プログラムについて同様）。
プロファイル検索プログラム２０は、これらの構成部分により、ＰＣ１０を用いて検索を行う検索者にとって既知のプロファイル情報の構成（具体的には、プロファイル識別子およびプロファイル名；図３）の指定をＰＣ１０から受けて、属性管理装置４およびプロファイル仕様管理装置５に対する検索を行う。
さらに、プロファイル検索プログラム２０は、検索の結果として得られた属性を、指定された構成に従って組み立てて、図３に示したプロファイル情報を作成し、ＰＣ１０に返す。
【００１６】
プロファイル検索プログラム２０において、通信処理部２００は、他のノードとの通信のために必要とされる処理を行う。
ＵＩ部２０２は、ＰＣ１０のユーザによる検索操作を補助するユーザインターフェース機能を提供する。
【００１７】
プロファイル仕様検索部２２０は、入力されたプロファイル名により識別される物理プロファイル仕様情報もしくは論理プロファイル仕様情報を得る（プロファイル名は、プロファイル仕様情報を一意に識別するための名前である）。
プロファイル仕様検索部２２０は、プロファイル仕様管理装置５に対する検索により、論理プロファイル仕様情報が得られたときには、この論理プロファイル仕様情報を、物理プロファイル仕様取得部２２２に対して出力する。
また、プロファイル仕様検索部２２０は、プロファイル仕様管理装置５に対する検索により得られた物理プロファイル仕様情報を、属性検索部２２４に対して出力する。
【００１８】
物理プロファイル仕様取得部２２２は、図７，図８に示したように、プロファイル仕様管理装置５を検索して、論理プロファイル仕様情報に含まれる利用プロファイル名を、順次たどり、最終的に物理プロファイル仕様情報を得る。
物理プロファイル仕様取得部２２２は、得られた物理プロファイル仕様情報を、属性検索部２２４に対して出力する。
【００１９】
属性検索部２２４は、プロファイル仕様検索部２２０および物理プロファイル仕様取得部２２２から入力された物理プロファイル仕様情報に含まれる管理情報が示す属性管理装置４を、指定されたプロファイル識別子を用いて検索し、プロファイル情報に含めてＰＣ１０に返すべき全ての属性を得て、属性管理部２２６に対して出力する。
属性管理部２２６は、入力された属性を、属性ＤＢ２２８に記憶し、管理する。
また、属性管理部２２６は、属性ＤＢ２２８に記憶した属性を、他の構成部分の処理のように供する。
プロファイル情報作成部２３０は、プロファイル情報の構成に従って、属性ＤＢ２２８に記憶された属性と、プロファイル識別子とから、プロファイル情報（図３）を作成し、検索を要求したＰＣ１０に返す。
アクセス制御部２４０は、論理プロファイル仕様情報に含まれるアクセスポリシーに従って、アクセスを制御する。
【００２０】
図１０は、図１に示したプロファイル仕様管理装置５上で動作するプロファイル仕様管理プログラム５０の構成を示す図である。
図１０に示すように、プロファイル仕様管理プログラム５０は、通信処理部２００、検索部５００、論理プロファイル仕様情報管理部５１０、論理プロファイル仕様情報ＤＢ５１２、物理プロファイル仕様情報管理部５２０、物理プロファイル仕様情報ＤＢ５２２、プロファイル識別子作成部５１４およびプロファイル識別子登録部５１６から構成される。
プロファイル仕様管理プログラム５０は、これらの構成部分により、図４，図６などに示した論理プロファイル仕様情報および物理プロファイル仕様情報を記憶し、プロファイル検索装置２からのプロファイル名（図３，図４，図６）または利用プロファイル名を用いた検索に応じて、検索に用いられたプロファイル名などが示す属性を、プロファイル検索装置２に対して返す。
【００２１】
プロファイル仕様管理プログラム５０において、論理プロファイル仕様情報管理部５１０は、論理プロファイル仕様情報を、論理プロファイル仕様情報ＤＢ５１２に記憶し、管理する。
また、論理プロファイル仕様情報管理部５１０は、論理プロファイル仕様情報ＤＢ５１２に記憶した論理プロファイル仕様情報を、検索部５００による検索の用に供する。
物理プロファイル仕様情報管理部５２０は、物理プロファイル仕様情報を、物理プロファイル仕様情報ＤＢ５２２に記憶し、管理する。
また、物理プロファイル仕様情報管理部５２０は、物理プロファイル仕様情報ＤＢ５２２に記憶した物理プロファイル仕様情報を、検索部５００による検索の用に供する。
【００２２】
物理プロファイル仕様情報に含まれるアクセスポリシーは、それぞれの属性へのアクセスについてのポリシーである。
図９を参照して説明したようにプロファイル情報が作成されるときに、アクセスポリシーに従って、検索要求者が、そのプロファイル情報がアクセスできるか否か、および、ある属性の値にアクセスしてもよいかいいかが判断される。
検索部５００は、プロファイル検索装置２から受けたプロファイル名を用いて、論理プロファイル仕様情報ＤＢ５１２および物理プロファイル仕様情報ＤＢ５２２に記憶された論理プロファイル仕様情報および物理プロファイル仕様情報を検索し、検索結果を、プロファイル検索装置２に対して返す。
【００２３】
図１１は、図１に示した属性管理装置４において記憶される属性を示す図である。
プロファイル識別子作成部５１４は、物理プロファイル仕様情報（図４）に含まれる識別子作成方法に従って、プロファイル識別子（図３）を作成する。
プロファイル識別子登録部５１６は、作成されたプロファイル識別子（図３）を、属性管理装置４に登録し、登録したプロファイル識別子と属性との対応付けを行わせる。
このプロファイル識別子登録部５１６の処理により、属性管理装置４においては、プロファイル情報（図３）に含まれるプロファイル識別子と、プロファイル識別子に対応する属性の属性値とが、対応付けられて記憶される。
【００２４】
図１２は、図１に示した属性管理装置４上で動作する属性管理プログラム４０の構成を示す図である。
図１２に示すように、属性管理プログラム４０は、通信処理部２００、検索部４００、属性管理部４１０および属性ＤＢ４１２から構成される。
属性管理プログラム４０は、これらの構成部分により、図３などに示した属性を記憶し、プロファイル検索装置２からのプロファイル識別子（図３）を用いた検索に応じて、検索に用いられた管理情報が示す属性を、プロファイル検索装置２に対して返す。
【００２５】
属性管理プログラム４０において、属性管理部４１０は、プロファイル仕様管理装置５によるプロファイル識別子の登録と、プロファイル識別子と属性との対応付けに従って、図１１に示したように、プロファイル識別子と対応付けられた属性値を、属性ＤＢ４１２に記憶し、管理する。
また、属性管理部４１０は、属性ＤＢ４１２に記憶した属性値を、検索部４００による検索の用に供する。
検索部４００は、プロファイル検索装置２から受けたプロファイル識別子を用いて、属性ＤＢ４１２に記憶された属性を検索し、検索結果を、プロファイル検索装置２に対して返す。
【００２６】
［ネットワークシステム１の全体動作］
以下、ネットワークシステム１の全体的な動作を説明する。
図１３〜図１５は、図１などに示したネットワークシステム１の全体的な動作（Ｓ１０，Ｓ１２，Ｓ１４）を示す第１〜第３の通信シーケンス図であって、図１３は、プロファイル仕様管理装置５から属性管理装置４へのプロファイル識別子の登録処理（Ｓ１０）を示し、図１４は、プロファイル検索装置２がプロファイル仕様管理装置５から物理プロファイルを得たときの検索処理（Ｓ１２）を示し、図１５は、プロファイル検索装置２がプロファイル仕様管理装置５から最初に論理プロファイルが得られたときの検索処理（Ｓ１４）を示す。
【００２７】
図１３に示すように、ステップ１００（Ｓ１００）において、プロファイル仕様管理装置５は、物理プロファイル仕様情報（図４）に含まれる識別子作成方法に従って、プロファイル識別子を作成する。
ステップ１０２（Ｓ１０２）において、プロファイル仕様管理装置５は、Ｓ１００の処理により作成されたプロファイル識別子を属性管理装置４に登録し、プロファイル識別子と属性値との対応付けを行わせる。
ステップ１０４（Ｓ１０４）において、属性管理装置４は、プロファイル仕様管理装置５に従って、図１１に示したように、プロファイル識別子と属性値とを対応付けて記憶する。
【００２８】
図１４に示すように、ステップ１２０（Ｓ１２０）において、ＰＣ１０から、プロファイル検索装置２（図１，図９）に対して、プロファイル名とプロファイル識別子（図３）とが指定されて、検索要求が出される。
ステップ１２２，１２４（Ｓ１２２，Ｓ１２４）において、プロファイル検索装置２は、プロファイル名を用いて、プロファイル仕様管理装置５に対する検索を行い、物理プロファイル仕様情報を得る。
【００２９】
ステップ１２６，１２８（Ｓ１２６，Ｓ１２８）において、プロファイル検索装置２は、Ｓ１２０の処理において指定されたプロファイル識別子を用いて、Ｓ１０４の処理により得られた物理プロファイル仕様情報に含まれる管理情報が示す属性管理装置４に対して検索を行い、このプロファイル識別子に対応する属性（図１２）を得る。
ステップ１３０（Ｓ１３０）において、プロファイル検索装置２は、Ｓ１２６の処理により得られた属性を用いて、プロファイル情報（図３）を作成し、ＰＣ１０に返す。
【００３０】
図１５に示すように、ステップ１２０（Ｓ１２０）において、ＰＣ１０から、プロファイル検索装置２（図１，図９）に対して、プロファイル名とプロファイル識別子（図３）とが指定されて、検索要求が出される。
ステップ１４０，１４２（Ｓ１４０，Ｓ１４２）において、プロファイル検索装置２は、プロファイル名を用いて、プロファイル仕様管理装置５に対する検索を行い、論理プロファイル仕様情報を得る。
ステップ１４４，１４６（Ｓ１４４，Ｓ１４６）において、プロファイル検索装置２は、Ｓ１４０，Ｓ１４２の処理により得られた論理プロファイル仕様情報に含まれる利用プロファイル名を用いて、プロファイル仕様管理装置５に対する検索を行い、物理プロファイル仕様情報（図４）を得る。
【００３１】
ステップ１２６，１２８（Ｓ１２６，Ｓ１２８）において、プロファイル検索装置２は、Ｓ１２０の処理において指定されたプロファイル識別子を用いて、Ｓ１０４の処理により得られた物理プロファイル仕様情報に含まれる管理情報が示す属性管理装置４に対して検索を行い、このプロファイル識別子に対応する属性（図１１）を得る。
ステップ１３０（Ｓ１３０）において、プロファイル検索装置２は、Ｓ１２６の処理により得られた属性を用いて、プロファイル情報（図３）を作成し、ＰＣ１０に返す。
このように、プロファイル検索装置２が、プロファイル仕様管理装置５から、論理プロファイル仕様情報を得た場合、得られた論理プロファイル仕様情報に含まれる利用プロファイル名をたどることにより、最終的には物理プロファイル仕様情報を得ることができ、目的の属性を得ることができる。
なお、プロファイル検索装置２は、プロファイル仕様管理装置５から、検索により論理プロファイルが得られるたびに、Ｓ１４４，Ｓ１４６の処理を行い、この検索を、最終的に、検索の結果として物理プロファイル仕様情報のみが得られるようになるまで繰り返す。
【００３２】
［第２実施形態］
以下、本発明の第２の実施形態を説明する。
【００３３】
［ネットワークシステム１６］
図１６は、本発明にかかるワークフロースクリプト処理方法が適用される第２のネットワークシステム１６を例示する図である。
図１６に示すように、第２のネットワークシステム１６は、それぞれｎ台のプロファイル検索装置２−１〜２−ｎ、属性管理装置４−１〜４−ｎ、１台のプロファイル仕様管理装置５、ワークフロースクリプト（ＷＦＳ；Ｗｏｒｋ  Ｆｌｏｗ  Ｓｃｒｉｐｔ）実行手順制御サーバ６、ＰＣ１０−１〜１０−ｎ、および、ワークフローのノードで呼び出されるサービスを実行するサービス実行装置１８が、ネットワーク１４を介して、互いに情報を通信可能に接続されて、構成される。
つまり、第２のネットワークシステム１６は、図１に示した第１のネットワークシステム１に、ＷＦＳ実行手順制御サーバ６と、１台以上のサービス実行装置１８−１〜１８−ｎとを追加した構成をとる。
ネットワークシステム１６は、これらの構成部分により、検索などにより得られたデータを用いて、ワークフロースクリプトを実行する。
【００３４】
［ハードウエア］
図２に示したように、ＷＦＳ実行手順制御サーバ６およびサービス実行装置１８は、ＰＣ１０などと同様に、図２に示したように、ＣＰＵ１０２およびメモリ１０４などを含む本体１００、表示装置およびキーボードなどを含む入出力装置１０６、他のノードとの間の通信を行う通信装置１１０、および、ＣＤおよびＦＤなどの記録媒体１１４に対してデータを記録し、再生する記録装置１１２から構成される。
つまり、ＷＦＳ実行手順制御サーバ６およびサービス実行装置１８は、ＰＣ１０などと同様に、他のノードとの間で通信が可能な一般的なコンピュータとしての構成部分を含む。
【００３５】
［ネットワークシステム１６において実行されるワークフロースクリプトの特徴］
ネットワークシステム１６において実行されるワークフロースクリプト（図１７に例示）には、下記（１）〜（６）に示すような特徴がある。
（１）ワークフロースクリプトは、複数の処理ノードを含む。
（２）ワークフロースクリプトに含まれる処理ノードそれぞれは、実行時に１つ以上の入力データを必要とし、実行の結果として、１つ以上の出力データを出力し（実行ノード）、あるいは、次に実行されるべき処理ノードを選択する（選択ノード）。
（３）入力データ、および、出力データまたは次に実行されるべき処理ノードは、処理ノードそれぞれについて、常に明示的に定義される。
（４）処理ノードの間には、暗黙の依存関係は存在しない。
【００３６】
（５）処理ノードには、（２）においても述べたように、下記の２つの種類ある。
（ｉ）実行ノード：
実行ノードは、ワークフローエンジン（ワークフロースクリプトを実行する処理装置、例えば、図１９を参照して後述するＷＦＳ実行制御部６３０）により呼び出され、サービスを提供するための処理を行う装置（同・機能提供装置６００）、あるいは、ワークフロースクリプトの実行に必要なデータを提供する装置（同・処理用データ供給部６６０など）に対して、処理を指示する処理ノード。
なお、実行ノードには、ＳＯＡＰ(Simple Object Access Protocol)やｒｍｉ(remote method invocation)を利用して、離れた場所にある装置を利用して処理を行わせるようなものも含まれる。
実際には、離れた場所にある装置を利用して処理を行わせる後者の構成が採られる可能性が高く、この構成においては、機能提供装置６００は、処理を実行するためにサービス実行装置１８を呼び出す。
（ii）選択ノード：
入力データの値に応じて、次に実行されるべき処理ノードを選択するための処理ノード。
【００３７】
（６）ワークフロースクリプトを実行するインスタンスごとに、データを保持する実行環境が作成され、ワークフロースクリプトそれぞれに含まれる処理ノードの間では、この実行環境を介して入力データおよび出力データがやりとりされる。
実行環境に含まれるデータは、名前によって識別され、ワークフローエンジンなどは、処理ノードを実行するときに、名前を用いて必要なデータにアクセスする。
【００３８】
図１７に示すワークフロースクリプトＡには、７つの処理ノードｎ１〜ｎ４，ｄ５，ｎ６，ｎ７が含まれ、これらの処理ノードの実行手順が、矢印によって定義されている。
これら７つの処理ノードの内、処理ノードｎ１〜ｎ４，ｎ６，ｎ７は、入力データに対して所定の処理を行い、出力データを得る実行ノードであって、実行ノードｎ１〜ｎ４，ｎ６，ｎ７それぞれには、入力データ、出力データ、および、入力データに対する処理の内容（機能）とが定義される。
【００３９】
入力データには、ワークスクリプトＡの実行に先立って、予め与えられる初期データと、他の実行ノードから出力される出力データとが含まれうる。
【００４０】
また、これら７つの処理ノードの内、処理ノードｄ５は、入力データの値に応じて、次に実行されるべき処理ノードを選択する選択ノードであって、処理ノードｄ５には、入力データと、次に実行されるべき処理ノードを選択するときの条件（入力データの値）、および、入力データの値に応じて選択されるべき処理ノードが定義される。
【００４１】
図１７に示す処理ノードｎ１〜ｎ４，ｄ５，ｎ６，ｎ７それぞれに定義される入力データ、出力データおよび機能は、以下に示すとおりである。
（１）実行ノードｎ１には、入力データとして、ワークフロースクリプトＡの実行に先立って与えられる初期データｖ１，ｖ２が定義され、出力データとしてデータｖ５が定義され、その機能として機能ｆ１が定義される。
（２）実行ノードｎ２には、入力データとして、初期データｖ３，ｖ４が定義され、出力データとしてデータｖ６，ｖ７が定義され、機能として機能ｆ２が定義される。
（３）実行ノードｎ３には、入力データとして、実行ノードｎ１，ｎ２の出力データｖ５，ｖ６が定義され、出力データとしてデータｖ８が定義され、その機能として機能ｆ３が定義される。
（４）実行ノードｎ４には、入力データとして、初期データｖ１，ｖ３が定義され、出力データとしてデータｖ９が定義され、その機能として機能ｆ４が定義される。
（５）選択ノードｄ５には、入力データとして、実行ノードｎ３，ｎ４の出力データｖ８，ｖ９が定義され、入力データの値に応じて、選択されるべき処理ノードとして実行ノードｎ６，ｎ７が定義される。
（６）実行ノードｎ６には、入力データとして、初期データｖ１および実行ノードｎ２の出力データｖ７が定義され、出力データとしてデータｖ１０が定義され、その機能として機能ｆ６が定義される。
（７）実行ノードｎ７には、入力データとして、実行ノードｎ３の出力データｖ８が定義され、出力データとしてデータｖ１１が定義され、その機能として機能ｆ７が定義される。
【００４２】
［ワークフロースクリプトに含まれる処理ノードの並列化方法］
次に、図１６に示したＷＦＳ実行手順制御サーバ６によるワークフロースクリプト実行の高速化方法の内、処理ノードの並列化を、具体例を参照して説明する。
図１７は、ＷＦＳ実行手順制御サーバ６の処理対象となるワークフロースクリプトＡを例示する図である。
図１８は、図１７に示したワークフロースクリプトＡに含まれる処理ノードの実行手順を、入力データと出力データとの間が独立している処理ノード同士を並列的に実行するようにし、さらに、処理ノードを実行するように変更して得られるワークフロースクリプトＢを例示する図である。
【００４３】
図１７に示したワークフロースクリプトＡの各処理ノードの入力データおよび出力データに着目すると、実行ノードｎ１，ｎ２，ｎ４それぞれは、実行ノードのいずれかの出力データを入力データとしていない。
つまり、実行ノードｎ１，ｎ２，ｎ４は同じワークフロースクリプトのノードの中で、これらの入力データおよび出力データは独立しており、依存関係はないので、図１８に示すように、これらの実行ノードｎ１，ｎ２，ｎ４は、初期データｖ１〜ｖ４が与えられた時点以降で、並行的に実行されうる。
【００４４】
実行ノードｎ１，ｎ２，ｎ４が実行されると、処理ノードの入力データとして用いられ得るデータは、初期データｖ１〜ｖ４と、実行ノードｎ１〜ｎ４の出力データｖ５〜ｖ７，ｖ９となる。
実行ノードｎ１，ｎ２，ｎ４の実行が完了した時点で、実行ノードｎ３，ｎ６が必要とする全ての入力データが揃うので、入力データのみに着目する限り、実行ノードｎ３，ｎ６が、並列的に実行されうる状態となる。
実行ノードｎ７の入力データは、実行ノードｎ３の出力データｖ８であって、その実行は、実行ノードｎ３の実行とは独立ではなく、依存関係にあるので、実行ノードｎ３が実行された後でなければ、実行されうる状態とはならない。
【００４５】
しかしながら、これら実行ノードｎ３，ｎ６の内、実行ノードｎ６の実行は、選択ノードｄ５が実行ノードｎ６を選択することが前提条件とされる。
従って、実行ノードｎ６は、図１８に実線で示すように、何らの手当もなければ、実行に必要とされる入力データｖ１，ｖ７が既に揃っているにもかかわらず、実行ノードｎ３と並列的に実行され得ない。
【００４６】
一方、選択ノードｄ５の実行の結果、実行ノードｎ７が選択されたときでも、取り消し可能な機能が、実行ノードｎ６に対して定義されており、しかも、ＷＦＳ実行手順制御サーバ６の処理能力が充分に高ければ、実行ノードｎ１，ｎ２，ｎ４の実行が完了した後、実行ノードｎ６を、実行ノードｎ３と並列に、投機的に実行することにより、ワークフロースクリプト全体の実行を高速化することができる。
つまり、図１８に破線で示すように、選択ノードｄ５の実行に先立って、その実行結果を後で取り消せる実行ノードｎ６を、実行ノードｎ３と並行して投機的に実行し、選択ノードｄ５により、実行ノードｎ６が選択されたときには、投機的な実行に得られた出力データを活かし、実行ノードｎ７が選択されたときには、投機的な実行に得られた出力データを捨てて、改めて実行ノードｎ７を実行することにより、ワークフロースクリプトの実行を全体として高速化することができる。
このような投機的な実行を考慮して、実行ノードの実行を並列化すると、図１７に示したワークフロースクリプトＡから、図１８に示すワークフロースクリプトＢを得ることができる。
【００４７】
その実行結果を後で取り消すことができる実行ノードの機能としては、入力データに対して演算を行い、出力データを生成する機能など、その実行ノードに閉じて行われる機能一般を、例として挙げることができる。
一方、その実行結果を後で取り消すことができない実行ノードの機能としては、ＷＦＳ実行手順制御サーバ６からネットワークシステム１６の他のノードに対してメッセージを送信する機能など、その実行ノードに閉じて行われ得ず、ネットワークシステム１６の他のノード、あるいは、他の処理ノードに対して影響を与える機能一般を、例として挙げることができる。
【００４８】
ここでは、図１７，図１８に示した具体例についてワークフロースクリプトに含まれる処理ノードの投機的実行を考慮した並列化方法を説明したが、この方法は、この具体例以外のワークフロースクリプトにも適用可能であることは言うまでもない。
なお、ワークフロースクリプトに含まれる処理フローの並列化は、実行前に、予めワークフロースクリプトから並列化ワークフローを求めて実行することによって実現されても、あるいは、実行中に、実時間的にワークフロースクリプトの並列化を行うことにより実現されてもよい。
【００４９】
［処理用データへのアクセスの予測およびその先行実行］
以下、図１６に示したＷＦＳ実行手順制御サーバ６によるワークフロースクリプト実行の高速化方法の内、処理用データ（実行環境に含まれる）へのアクセスの予測およびその先行実行を説明する。
ＷＦＳ実行手順制御サーバ６において、ワークフロースクリプトを実行するときには、ＷＦＳ実行手順制御サーバ６内部のデータ記憶部分、あるいは、第１のネットワークシステム１のプロファイル検索装置２に記憶されている処理用データへのアクセスが発生する。
【００５０】
例えば、分散化されているプロファイル検索装置２に記憶されている処理用データが実際に要求された後で、はじめて、ＷＦＳ実行手順制御サーバ６からプロファイル検索装置２へ処理用データを要求すると、処理用データが要求されてから返され、さらに、実行に適合した形式に変換するまで、ワークフロースクリプトの実行が滞ってしまう。
このようなワークフロースクリプトの実行の滞りを解消し、実行を高速化するためには、各ワークフロースクリプトの実行時に、いずれの処理用データへのアクセスが発生するかを予測でき、その予測に従って、その処理用データへのアクセスを先行して行うことができるようにすればよい。
【００５１】
いずれのワークフロースクリプトを実行すると、いずれに記憶されたどのような処理用データへのアクセスが発生するかの履歴をとることにより、処理用データへのアクセスの発生を、高い確率で予測できるようになる。
つまり、このような履歴を、充分に数多くとることにより、いずれのユーザがどのワークフローの実行を要求したかさえ判明すれば、そのワークフローで必要となる処理用データへのアクセス実行される前に、次に、いずれの処理用データに対するアクセスが発生するかが予測可能となる。
【００５２】
処理用データのアクセスは、アクセス対象となる処理用データの識別子、アクセス対象となる処理用データを含むプロファイルデータのプロファイル名、処理用データにアクセスするワークフロースクリプトの識別子、および、このワークフロースクリプトの実行を要求したＰＣ１０などのユーザの識別子といった情報を用いて行われる。
処理用データへのアクセスの全ての履歴を記憶しておき、下記（１）〜（４）に示すように記憶した履歴を集計することにより、処理用データへのアクセスを予測するために必要な情報を得ることができる。
【００５３】
（１）あるワークフローの実行で、ワークフロースクリプトの実行を要求したユーザの識別子と、アクセス対象となっている処理用データの識別子が同じ場合（ユーザ自身のデータを要求している場合）、そのワークフローは実行要求ユーザ自身のデータにアクセスするということを集計する。
（２）いずれのノードが、他のいずれのノードと同じアクセス対象識別子を用いてプロファイルデータに対してアクセスしたかを集計する。
具体例を挙げて説明すると、この集計により、あるワークフロースクリプトの中にノードｎ１，ｎ２があり、ノードｎ１が、プロファイル識別子Ｐ１を用いてプロファイルデータにアクセスし、ノードｎ２が、プロファイル識別子Ｐ１を用いてプロファイルデータをアクセスしたときに、ノードｎ２は、ノードｎ１と同じプロファイル識別子Ｐ１を、アクセス対象識別子として用いて、処理用データに対してアクセスした旨が、集計結果として得られる。
【００５４】
（３）いずれのノードが、他のいずれのノードの実行により属性値として得られたプロファイル識別子を用いて、プロファイルデータに対してアクセスしたかを集計する。
具体例を挙げて説明すると、この集計により、あるワークフロースクリプトの中にノードｎ１，ｎ２があり、ノードｎ１が、プロファイル識別子Ｐ１を用いて要求して得られたプロファイルデータの属性ａ１の属性値に、プロファイル識別子Ｐ２が含まれており、その後、ノードｎ２が、プロファイル識別子Ｐ２を用いてプロファイルデータを要求したときに、ノードｎ２が、ノードｎ１の実行により得られる属性ａ１の属性値に含まれるプロファイル識別子Ｐ２を用いて、プロファイルデータに対してアクセスした旨が、集計結果として得られる。
（４）あるワークフロースクリプトが実行され、それ以前の実行時にアクセスされなかった処理用データへのアクセスがはじめて発生したときに、その処理用データの識別子を、ワークフロースクリプトの識別子ごとに集計する。
【００５５】
［処理用データへのアクセスの登録］
以下、図１６に示したＷＦＳ実行手順制御サーバ６によるワークフロースクリプト実行の高速化方法の内、処理用データへのアクセスの登録を説明する。
ＷＦＳ実行手順制御サーバ６において、ワークフロースクリプトが登録され、あるいは、変更されるときに、新たなワークフロースクリプトを解析することにより、そのワークフロースクリプトの実行の際の処理用データへのアクセス要求の集合が得られる。
この処理用データへのアクセス要求の集合を、ワークフロースクリプトごとに予めアクセス要求フローとして登録しておき、ワークフロースクリプトの実行の際に、登録された処理用データを、ワークフロースクリプトの実行と並列的に、プロファイル検索装置２などから得ることにより、ワークフロースクリプトの実行を、より高速化することができる。
【００５６】
アクセス要求フローには、下記（１）〜（４）に示す情報が含まれる。
（１）アクセス対象の識別子、
（２）アクセス対象のプロファイル構成要素名、
（３）アクセスしたユーザの識別子、および、
（４）アクセス要求の元になったワークフロースクリプト。
【００５７】
［ソフトウエア］
図１９は、図１６に示したＷＦＳ実行手順制御サーバ６において実行されるＷＦＳ処理プログラム６０の構成を示す図である。
図１９に示すように、ＷＦＳ処理プログラム６０は、ＷＦＳ処理部６２と、ｎ個の機能提供装置６００−１〜６００−ｎから構成される。
ＷＦＳ処理部６２は、通信制御部２００、認証部２５０、ＷＦＳ作成・管理部６２０、ＷＦＳデータベース（ＷＦＳ−ＤＢ）６２２、ＷＦＳ並列化処理６２４、並列化ＷＦＳ−ＤＢ６２６、ＷＦＳ実行制御部６３０、投機的実行判定部６２８、実行環境管理部６４０、実行環境ＤＢ６４２、処理用データ供給部６６０、処理用ＤＢ６６２、データ検索部６６４、データ供給履歴処理部６６６、供給履歴ＤＢ６６８および予測部６７０から構成される。
【００５８】
ＷＦＳ処理プログラム６０は、記録媒体１１４（図２）などを介してＷＦＳ実行制御サーバ６に供給され、メモリ１０４にロードされ、ＷＦＳ実行制御サーバ６にインストールされたＯＳ上で、ＷＦＳ実行制御サーバ６のハードウエアを具体的に利用して実行される。
ＷＦＳ処理プログラム６０は、これらの構成部分により、ＰＣ１０（図１６）などにおいて作成されたワークフロースクリプトに含まれる処理ノードを、図１７，図１８を参照して説明したように、投機的な実行を考慮して並列化する。
さらに、ＷＦＳ処理プログラム６０は、必要とされるデータを、ネットワークシステム１を用いた検索により、適宜、得て実行する。
【００５９】
ＷＦＳ処理プログラム６０において、機能提供装置６００は、それぞれ、位置情報サービス、メッセージサービスあるいはルールエンジンなど、ワークフロースクリプトに含まれる各処理ノードに対して定義された機能を実現するための処理を行う。
機能提供装置６００は、このような処理を、ＷＦＳ実行制御部６３０からの要求に応じて、ＷＦＳ実行制御部６３０から入力される処理用データを用いて行う。
【００６０】
ＷＦＳ処理部６２において、通信制御部２００は、ＷＦＳ実行手順制御サーバ６と、他のノードとの間の通信のために必要な処理を行う。
認証部２４０は、ＷＦＳ実行手順制御サーバ６と、ＰＣ１０およびプロファイル検索装置２など、他のノードの認証のために必要な処理を行う。
【００６１】
ＷＦＳ作成・管理部６２０は、ＰＣ１０（図１６）およびＷＦＳ実行手順制御サーバ６の入出力装置１０６（図２）などに対するユーザの操作に応じて、図１７に例示したワークフロースクリプトを作成または変更し、ＷＦＳ−ＤＢ６２２に記憶する。
ＷＦＳ作成・管理部６２０は、ＷＦＳ−ＤＢ６２２に記憶したワークフロースクリプトを、順次、読み出し、ＷＦＳ並列化処理６２４に対して出力する。
【００６２】
既に述べたように、ワークフロースクリプトに含まれる処理ノードの並列化は、ワークフロースクリプトの実行に先立って並列化ワークフロースクリプトを作成することによって実現されても、ワークフロースクリプトの実行中に、実時間的にワークフロースクリプトの並列化を行うことにより実現されてもよい。
ここでは、ＷＦＳ処理プログラム６０において、前者の方法、つまり、処理ノードの並列化が、並列化ワークフロースクリプトを、ワークフロースクリプトの実行に先立って作成することによって実現される場合を具体例とする。
【００６３】
投機的実行判定部６２８は、ワークフロースクリプトに含まれる処理フローそれぞれに対して定義された機能が、機能提供装置６００のいずれにより処理されるかなどに基づいて、選択ノードにより選択される処理ノードが、投機的に実行されうるか否かを判断し、判断結果を、ＷＦＳ並列化処理６２４に対して出力する。
投機的実行判定部６２８は、下記（１），（２）のような処理ノードを、投機的な実行に適すると判定する。
（１）入力データのみに応じて出力データの値が決定され、それ以外に影響を及ぼす可能性がない実行ノード（実行による副作用を生じない実行ノード）。
（２）実行によって他のノードあるいは処理ノードの処理に影響を与える可能性が（実行による副作用を生じる実行ノードでは）あるが、他に与えた影響を、選択ノードにより実際には選択されなかったときに、キャンセル要求を受けて、キャンセルすることができる実行ノード。
具体的には、投機的実行判定部６２８は、実行ノードそれぞれが、実行による副作用を生じるか否かを、その実行ノードに対して定義された機能が、いずれの機能提供装置６００により実現されるかにより、判断することができる。
【００６４】
ＷＦＳ並列化処理６２４は、ＷＦＳ作成・管理部６２０から入力されたワークフロースクリプト（図１７）に含まれる処理ノードを、図１８に実線で示したように、処理ノード間の入力データと出力データとの依存関係に応じて、並列化する。
また、ＷＦＳ並列化処理６２４は、投機的実行判定部６２８の判断結果に従って、図１８に破線で示したように、選択ノードにより選択される実行ノードの内、投機的な実行に適する実行ノードを、その選択ノードに先立って投機的に実行されうるように、処理ノードを並列化する。
【００６５】
図２０は、図１９に示すＷＦＳ作成・管理部６２０により作成されるアクセス要求フローを示す図である。
さらに、ＷＦＳ作成・管理部６２０により、ワークフロースクリプトが作成され、あるいは、変更されるたびに、ＷＦＳ並列化処理６２４は、ワークフロースクリプトのアクセス要求フローを作成し、並列化ＷＦＳ−ＤＢ６２６に記憶する。
図２０に示すように、ワークフロースクリプトのアクセス要求フローには、ワークフロースクリプトの識別子（ＷＦＳ−ＩＤ）、ワークフロースクリプトに含まれるノード、および、実行手順が含まれる。
アクセス要求フローにおいて、ノードそれぞれに対しては、入力・出力のパラメータ、サービス実行を指定するデータ、何を出力として記録するかを示すパラメータなどが定義され、実行手順には、ノード実行の順番および分岐などが定義される。
【００６６】
ＷＦＳ並列化処理６２４が、アクセス要求フローを作成する手順は、以下（１），（２）に示す通りである。
（１）処理用データ供給部６６０に対して、直接、処理用データを要求する処理ノードがあれば、この処理ノードによる処理用データへのアクセスが、アクセス要求フローに加えられる。
また、アクセス対象識別子の作成に用いられたデータ、および、プロファイル名が、アクセス要求フローに加えられる。
なお、これらは、ワークフロースクリプトのノードの入力を示す情報に、パラメータとして含まれる。
（２）選択ノードの入力データとされている処理用データへのアクセスが、アクセス要求フローに加えられる。
なお、分岐先からも、それぞれデータアクセス要求フローが、順次、導かれる。
【００６７】
ＷＦＳ並列化処理６２４は、処理ノードの実行を並列化したワークフロースクリプト（並列化ワークフロースクリプト）およびアクセス要求フローを、並列化ＷＦＳ−ＤＢ６２６に記憶し、管理する。
また、ＷＦＳ並列化処理６２４は、並列化ＷＦＳ−ＤＢ６２６に記憶した並列化ワークフロースクリプトおよびアクセス要求フローを、順次、ＷＦＳ実行制御部６３０に対して出力する。
【００６８】
図２１は、図１９に示した実行環境管理部６４０が、図１７に示したワークフロースクリプトなどについて作成する処理ノードデータを例示する図である。
実行環境管理部６４０は、ＷＦＳ実行制御部６３０から入力される処理ノードデータを受けて、実行環境ＤＢ６４２に記憶し、管理する。
図２１に示すように、処理ノードデータには、並列化ワークフロースクリプトそれぞれの識別子（ＷＦＳ−ＩＤ）と、これらの並列化ワークフロースクリプトに含まれる処理ノードそれぞれの識別子（ノードＩＤ）と、これらの処理ノードそれぞれの状態（未実行／実行中／実行終了）を示すノード状態フラグとが対応付けられて含まれる。
【００６９】
処理ノードデータは、ワークフロースクリプトを実行するときに作成され、処理ノードそれぞれの状態を管理するために用いられる。
なお、複数のセッションでワークフローが実行されるときには、同じワークフロースクリプトの識別子（ＷＦＳ−ＩＤ）を有する処理ノードデータが、複数、作成される。
実行環境管理部６４０は、処理実行環境ＤＢ６４２に記憶した処理ノードデータを、適宜、ＷＦＳ実行制御部６３０による並列化ワークフロースクリプト実行の用に供する。
【００７０】
処理用データ供給部６６０は、データ検索部６６４による検索の結果などにより得られた初期データ、および、ＷＦＳ実行制御部６３０による処理ノードの実行の結果として得られた出力データを、図２４に示す処理用データとして、処理用ＤＢ６６２に記憶し、管理する。
また、処理用データ供給部６６０は、予測部６７０から入力される予測結果を用いて、データ検索部６６４に対して検索を要求する。
データ検索部６６４は、処理用データ供給部６６０からの要求に応じて、ネットワークシステム１を用いて、並列化ワークフロースクリプトの実行に必要とされるデータを検索する。
データ検索部６６４は、この検索の結果として得られたデータを、処理用データ供給部６６０に対して出力する。
【００７１】
図２２は、図１９に示したデータ供給履歴処理部６６６により集計された処理用データに対するアクセス履歴を例示する図である。
アクセス履歴の各列には、ワークフロー識別子、ワークフローの実行を要求しているユーザの識別子、アクセス対象のプロファイル名、アクセス対象のプロファイル識別子、アクセス結果データに含まれるプロファイル識別子、属性名および属性値が含まれ、この行は、順次、時系列に追加される。
図２２に示したアクセス履歴における属性名は、アクセス結果プロファイルデータの識別子を値として持つ属性の属性名であり、属性値は、この属性名に対応する属性値（アクセス結果に含まれる識別子）である。
なお、図２２には、ある時刻ｔ１に、ユーザＵＩＤ１が、ワークフローＷＩＤ１を実行するセッションＳ１において、プロファイル名Ｐ１，プロファイル識別子ＰＩＤ１にアクセスした結果、プロファイルＰ１に含まれる属性名Ａ１の値が、識別子ＰＩＤ２であった場合が例示されている。
【００７２】
データ供給履歴処理部６６６は、処理用データ供給部６６０による処理用データの履歴をとって供給履歴ＤＢ６６８に記憶し、記憶した履歴を、上に示すように集計する。
予測部６７０は、データ供給履歴処理部６６６が集計した履歴を処理して、各並列化ワークフロースクリプトの実行の際にアクセスの対象となる可能性が高い処理用データを予測し、予測結果を、処理用データ供給部６６０に対して出力する。
【００７３】
図２３は、図１９に示した処理用データ供給部６６０が、図１７に示したワークフロースクリプトなどについて作成した処理用データを例示する図である。
図２３に示すように、処理用データの各行には、並列化ワークフロースクリプトそれぞれの識別子（ＷＦＳ−ＩＤ）と、ワークフローを構成するセッションの識別子（セッションＩＤ）と、その並列化ワークフロースクリプトに含まれる処理ノードが入力および出力するデータが含まれる。
データには、データ名と、データ値と、データそれぞれの状態（未更新／更新済）を示すフラグ（データ状態フラグ）とが含まれる。
処理用データ供給部６６０は、処理用ＤＢ６６２に記憶した処理用データを、ＷＦＳ実行制御部６３０による並列化ワークフロースクリプトの実行の用に供する。
処理用データ供給部６６０は、その時点で得られていない処理用データのデータ値をＮＵＬＬとし、その状態フラグを未更新として、処理用データとして記憶する。
また、処理用データ供給部６６０は、並列化ワークフロースクリプトを実行するにあたり、必要とされる初期データのセットをデータ検索部６６４などから得て、それらの初期データのデータ状態フラグを更新済みとして、処理用データとして記憶する。
【００７４】
［処理用データへのアクセス］
処理用データ供給部６６０は、データ検索部６６４を介して、第１のネットワークシステム１のプロファイル検索装置２などに記憶された処理用データにアクセスする。
ＷＦＳ実行制御部６３０は、並列化ワークフロースクリプトの実行を開始するときに、実行を開始した並列化ワークフロースクリプトの識別子（ＷＦＳ−ＩＤ）および並列化ワークフロースクリプトの実行を要求したユーザの識別子などを、処理用データ供給部６６０に対して出力する。
【００７５】
処理用データ供給部６６０は、アクセス履歴に従った処理用データへのアクセスのために、アクセスの状態を示すフラグと、作業領域とを用意する。
処理用データ供給部６６０は、入力された並列化ワークフロースクリプトの識別子およびユーザの識別子を用いて、図２３に示したアクセス履歴を検索し、アクセス履歴に含まれる処理用データに対するアクセスを、データ検索部６６４を介して、第１のネットワークシステム１のプロファイル検索装置２などに対して行う。
並列化ワークフロースクリプトの実行に伴い、ＷＦＳ実行制御部６３０が、処理用データ供給部６６０に対して、第１のネットワークシステム１のプロファイル検索装置２などに対して、処理用データを新規に記憶（登録）する要求を出したときには、処理用データ供給部６６０は、この要求に無条件に従って、処理用データの登録を行う。
【００７６】
処理用データの登録など、ネットワークシステム１のプロファイル検索装置２に記憶されている処理用データを変更する要求が出されたとき、あるいは、記憶されている処理用データを削除する要求が出されたときには、このような要求により影響を受ける他のデータアクセス要求についての処理は、中断される。
但し、このように中断されたアクセス要求の処理は、処理用データに対する変更・削除の要求についての処理が終了した後に、再実行される。
【００７７】
処理用データに対する変更・削除により、データアクセス要求が影響を受けるか否かは、以下（１），（２）に示すように判断される。
（１）処理用データの変更・削除に用いられるアクセス対象識別子が、判断の対象となるデータアクセス要求において用いられるアクセス対象識別子と一致するとき、判断の対象となるデータアクセス要求は、処理データの変更・削除による影響を受けると判断される。
但し、変更・削除処理において用いられるプロファイル構成要素名で、実際に変更されるデータが、判断の対象となるデータアクセス要求において指定されているプロファイル構成要素名のデータと重複しないときには、判断の対象となるデータアクセス要求は、処理データの変更・削除を受けないと判断される。
（２）変更・削除処理に用いられるアクセス対象識別子が、判断対象となるデータアクセス要求において用いられるユーザの識別子と一致するときには、判断の対象となるデータデータアクセス要求は、変更もしくは削除による影響を受ける。
【００７８】
データアクセス要求の処理が終了すると、ＷＦＳ実行制御部６３０は、フラグを処理終了を示す値とし、バッファから処理結果を取り出して、データアクセスを要求したユーザに返す。
あるデータアクセスの処理を実行しており、フラグが処理中を示す値をしている間、ＷＦＳ実行制御部６３０は重複するデータアクセス要求の処理を一時停止する。
ＷＦＳ実行制御部６３０は、このデータアクセス要求の処理を終了し、フラグを処理終了を示す値とし、その処理結果が、データアクセス要求の履歴に記録された後に、はじめて、重複して一時停止していたデータアクセス要求を処理するプロセス（スレッド）を再開する。
【００７９】
複数のデータアクセス要求において用いられるワークフロースクリプトの識別子（ＷＦＳ−ＩＤ）およびユーザの識別子が同じであれば、これらは、同じユーザにより要求され、かつ、同じワークフロースクリプトに含まれる。
同じワークフロースクリプトに含まれ、同じユーザにより要求されるデータアクセス要求の処理結果の履歴について、どのような順番でプロファイル構成要素名が用いられるかを経時的に解析することにより、予測部６７０は、そのワークフロースクリプトを実行する際に、どのような順番でプロファイル構成要素名が要求されるかを予測しうる。
同様に、処理結果の履歴の解析により、予測部６７０は、どのようなパターンで、アクセス対象識別子が使われているかを予測しうる。
【００８０】
図２４は、実行環境管理部６４０が、図１７に示したワークフロースクリプトの実行のために作成する実行環境を例示する図である。
実行環境管理部６４０は、ＷＦＳ実行制御部６３０において実行される並列化ワークフロースクリプトの処理ノードデータおよび処理用データに、処理ノードの投機的な実行に用いられる投機実行環境（後述）との対応関係を示す情報を付加して、その並列化ワークフロースクリプトの実行に用いられる実行環境を、並列化ワークスクリプトの実行ごとに作成し、実行環境ＤＢ６４２に記憶する。
図２４に示すように、並列化ワークフロースクリプトの実行環境には、その並列化ワークフロースクリプトの処理ノードデータと、処理用データとが含まれる。
実行環境管理部６４０は、実行環境ＤＢ６４２に記憶した実行環境を、ＷＦＳ実行制御部６３０よる並列化ワークフロースクリプトの実行の用に供する。
【００８１】
［ＷＦＳ実行制御部６３０によるアクセス要求フローの実行］
ＰＣ１０を介してなされるユーザの操作などに応じて、実行されるべき並列化ワークフロースクリプトが選択されると、まず、そのアクセス要求フロー（図２０）が、ＷＦＳ並列化処理６２４からＷＦＳ実行制御部６３０に対して出力される。
ＷＦＳ実行制御部６３０は、このアクセス要求フローを、処理用データ供給部６６０に対して出力する。
【００８２】
処理用データ供給部６６０は、入力された処理に必要とされるフラグを記憶する領域、および、作業領域を用意する。
さらに、処理用データ供給部６６０は、第１のネットワークシステム１のプロファイル検索装置２などから、アクセス要求フローに従って、並列化ワークフロースクリプトの実行に必要な処理用データを得る。
【００８３】
アクセス要求フローに含まれるアクセス処理に必要な情報に未定の部分があるときには、この未定の部分が決定するまで、このアクセスを行うことはできない。
このようなときには、処理用データ供給部６６０は、このアクセスのフラグを、情報待ちを示す値として、未定部分が決定されるまで処理用データへのアクセスを中断する。
【００８４】
アクセス要求フローに含まれるアクセス処理に必要な情報に未定の部分がないときには、処理用データ供給部６６０は、そのアクセスのフラグを、処理中を示す値として、データ検索部６６４を介して、第１のネットワークシステム１のプロファイル検索装置２などに対して、処理用データへのアクセスを行う。
このアクセスにより処理用データが得られると、処理用データ供給部６６０は、このアクセスのフラグを、処理終了を示す値とし、得られた処理用データを、作業領域に記憶する。
このとき、上述のように、フラグが情報待ちを示すアクセスがあれば、処理用データ供給部６６０は、その未定部分が決定されたかを判断し、未定部分が決定されたときには、そのアクセス要求フローに従った処理用データへのアクセスを行う。
【００８５】
ＷＦＳ実行制御部６３０が、並列化ワークフロースクリプトの実行に伴って、処理用データへのアクセスを、処理用データ供給部６６０に対して要求すると、処理用データ供給部６６０は、要求された処理用データが、フラグの値が処理済みを示すアクセスによって既に得られているかを判断する。
既に得られているときには、処理用データ供給部６６０は、その処理用データを、ＷＦＳ実行制御部６３０に対して出力し、実行待ちになっているアクセスがあれば、その処理を再開する。
また、ＷＦＳ実行制御部６３０が、フラグの値が処理中を示すアクセスによって得られるべき処理用データを、処理用データ供給部６６０に対して要求すると、処理用データ供給部６６０は、このアクセスの完了を待ち、得られた処理用データを、ＷＦＳ実行制御部６３０に対して返す。
【００８６】
また、ＷＦＳ実行制御部６３０が、フラグの値が情報待ちを示す処理用データを、処理用データ供給部６６０に対して要求すると、この要求により、未定とされていたアクセスに必要とされていた情報が揃うので、処理用データ供給部６６０は、揃った情報を用いてアクセスを行い、得られた処理用データを、ＷＦＳ実行制御部６３０に対して返す。
また、ＷＦＳ実行制御部６３０が、アクセス要求フローに含まれない処理用データへのアクセスを、処理用データ供給部６６０に対して要求すると、処理用データ供給部６６０は、この要求に無条件に従い、処理用データを得て、ＷＦＳ実行制御部６３０に返す。
また、ＷＦＳ実行制御部６３０が、アクセス要求フローとは異なる順番の処理用データへのアクセスを、処理用データ供給部６６０に対して要求すると、処理用データ供給部６６０は、この要求に無条件に従い、処理用データを得て、ＷＦＳ実行制御部６３０に返し、さらに、アクセス要求フローに含まれる他の処理用データへのアクセスを実行する。
【００８７】
ＷＦＳ実行制御部６３０の処理を、フローチャートを参照して、さらに説明する。
図２５〜図２７は、ＷＦＳ実行制御部６３０によるアクセス要求フロー（Ｓ２０）の実行を示す第１〜第３のフローチャートである。
図２５〜図２７に示すように、ステップ２００（Ｓ２００）において、ＷＦＳ実行制御部６３０は、ワークフロースクリプトを選択する。
ステップ２２（Ｓ２２）において、ＷＦＳ実行制御部６３０は、データアクセス処理を開始させる。
なお、データアクセス処理は、図２６を参照して後述する。
ステップ２０２（Ｓ２０２）において、ＷＦＳ実行制御部６３０は、選択したワークフロースクリプトに含まれる次のノードを選択する。
【００８８】
ステップ２０４（Ｓ２０４）において、ＷＦＳ実行制御部６３０は、選択したノードが終了ノードであるか否かを判断する。
ＷＦＳ実行制御部６３０は、選択したノードが終了ノードであるときには処理を終了し、これ以外のときにはＳ２０６の処理に進む。
ステップ２０６（Ｓ２０６）において、ＷＦＳ実行制御部６３０は、選択したノードがデータアクセスを要求するか否かを判断する。
ＷＦＳ実行制御部６３０は、選択したノードがデータアクセスを要求するときにはＳ２４の処理に進み、これ以外のときにはＳ２０８の処理に進む。
ステップ２０８（Ｓ２０８）において、ＷＦＳ実行制御部６３０は、サービスの実行を行う。
【００８９】
図２６に示すように、データアクセス処理（Ｓ２２）が開始されると、ステップ２２０（Ｓ２２０）において、ＷＦＳ実行制御部６３０は、作業領域を初期化する。
ステップ２２２（Ｓ２２２）において、ＷＦＳ実行制御部６３０は、入力データがそろっていて、アクセス可能な処理を選択する。
ステップ２２４（Ｓ２２４）において、ＷＦＳ実行制御部６３０は、選択した処理が終了のための処理（データアクセスフローにおいて、アクセスすべきデータにすべてアクセスして必要なデータがすべてそろった状態）であるか否かを判断する。
ＷＦＳ実行制御部６３０は、選択した処理が終了のための処理であるときには処理を終了し、これ以外の処理のときにはＳ２２６の処理を行う。
【００９０】
ステップ２２６（Ｓ２２６）において、ＷＦＳ実行制御部６３０は、アクセス要求を発行する。
ステップ２２８（Ｓ２２８）において、ＷＦＳ実行制御部６３０は、アクセス処理が終了するまで待機する。
ステップ２３０（Ｓ２３０）において、ＷＦＳ実行制御部６３０は、アクセス処理により得られたデータを作業領域に記憶する。
【００９１】
図２７に示すように、データアクセス要求処理（Ｓ２４）においては、ステップ２４０（Ｓ２４０）において、ＷＦＳ実行制御部６３０は、作業領域にデータがあるか否かを判断する。
ＷＦＳ実行制御部６３０は、作業領域にデータがあるときにはＳ２４６の処理に進み、これ以外のときにはＳ２４２の処理に進む。
ステップ２４２（Ｓ２４２）において、ＷＦＳ実行制御部６３０は、データに対するアクセスが行われているか否かを判断する。
ＷＦＳ実行制御部６３０は、アクセスが行われているときにはＳ２４４の処理に進み、これ以外のときには図２６のS２２６からS２３０の処理を開始させる。
【００９２】
ステップ２４４（Ｓ２４４）において、ＷＦＳ実行制御部６３０は、データが得られるまで待機する。
ステップ２４６（Ｓ２４６）において、ＷＦＳ実行制御部６３０は、得られたデータを、要求元へ返す。
【００９３】
［ＷＦＳ実行制御部６３０による処理ノードの並列実行］
以下、ＷＦＳ実行制御部６３０による処理ノードの並列的な実行のための処理を説明する。
ＷＦＳ実行制御部６３０は、並列化ワークフロースクリプトの実行に先立って、実行環境において、全ての処理ノードのノード状態フラグを、未実行を示す値とする。
並列化ワークフロースクリプトの実行を開始すると、ＷＦＳ実行制御部６３０は、並列化ワークフロースクリプトにおいて定義された実行手順に従って、次に実行されるべき処理ノードの内、実行環境におけるノード状態フラグの値が、未実行となっているいずれかを、順次、探し出す。
ＷＦＳ実行制御部６３０は、探し出された処理ノードの内、その入力データとされる全ての処理用データのデータ状態フラグが、更新済みを示す値となっている処理ノードのいずれかを、次に実行する処理ノードとして選択し、選択した処理ノードのノード状態フラグを、実行中を示す値とする。
【００９４】
ＷＦＳ実行制御部６３０は、選択した処理ノードに対して定義された機能を実現する機能提供装置６００に対して、処理を要求し、処理に必要な処理用データを、実行環境から読み出して供給する。
選択した処理ノードの処理が終了すると、ＷＦＳ実行制御部６３０は、その処理ノードのノード状態フラグを実行終了を示す値とし、その処理ノードの出力データとされる処理用データのデータ状態フラグを、更新済みを示す値とする。
【００９５】
ＷＦＳ実行制御部６３０は、以上述べたように、並列化ワークフロースクリプトに含まれる処理ノードを、順次、選択し、実行する。
さらに、ＷＦＳ実行制御部６３０は、実行環境に含まれる処理用データの値を、処理用データ供給部６６０に対して出力し、処理用ＤＢ６６２に記憶させることにより反映させ、あるいは、並列化ワークフロースクリプトの実行結果として、ＰＣ１０に対して送信する。
なお、並列化ワークフロースクリプトの実行開始から実行完了までに実行される処理ノードには、並列化ワークフロースクリプトの開始から最初の選択ノードまでの処理パスにある全ての処理ノード、および、選択ノードにより実際に選択された全ての処理パスにある全ての処理ノードが含まれ、選択ノードにより選択されなかった処理パスにある処理ノードは含まれない。
【００９６】
以下、ＷＦＳ実行制御部６３０による処理ノードの並列実行を、フローチャートを参照して、さらに説明する。
図２８は、ＷＦＳ実行制御部６３０による処理ノードの並列実行（Ｓ２６）を示すフローチャートである。
図２８に示すように、ステップ２６０（Ｓ２６０）において、ＷＦＳ実行制御部６３０は、実行環境を初期化する。
ステップ２６２（Ｓ２６２）において、ＷＦＳ実行制御部６３０は、未実行ノードの中から、全ての入力データがそろった実行可能なノードを探索する。
なお、Ｓ２６２の処理は、図２９に示すＷＦＳ実行制御部６３０による処理ノードの投機的な実行のための処理に対応する。
【００９７】
ステップ２６４（Ｓ２６４）において、ＷＦＳ実行制御部６３０は、実行可能なノードがあるか否かを判断する。
ＷＦＳ実行制御部６３０は、実行可能なノードがあるときにはＳ２６６の処理に進み、これ以外のときには、実行可能なノードが発生するまで待機する（Ｓ２７２）。
ステップ２６６（Ｓ２６６）において、ＷＦＳ実行制御部６３０は、実行可能なノードが終了ノードであるか否かを判断する。
ＷＦＳ実行制御部６３０は、実行可能なノードが終了ノード（ワークフロースクリプトの終了にあたるノード）であるときには処理を終了し、これ以外のときにはＳ２６８の処理に進む。
【００９８】
ステップ２６８（Ｓ２６８）において、ＷＦＳ実行制御部６３０は、実行可能なノードの処理を開始し、実行する。
ステップ２７０（Ｓ２７０）において、ＷＦＳ実行制御部６３０は、実行環境の更新（ノードの実行でえられた出力データの更新やノード状態フラグなどの更新）を行う。
【００９９】
［ＷＦＳ実行制御部６３０による処理ノードの投機的な実行］
次に、ＷＦＳ実行制御部６３０による処理ノードの投機的な実行について説明する。
ＷＦＳ実行制御部６３０が、図１８に破線で示したような処理ノードの投機的な実行を行おうとしたときに、その処理ノードを選択する選択ノードが実行可能になっていれば、ＷＦＳ実行制御部６３０は、その選択ノードを実行し、実行結果に従って、選択ノードにより選択された処理ノードを実行する。
ＷＦＳ実行制御部６３０が、処理ノードの投機的な実行を行おうとしたときに、その処理ノードを選択する選択ノードが実行可能でなければ、その選択ノードにより選択されうる処理ノードの内、投機的実行に適し、また、その処理ノードに対する全ての入力データのデータ状態フラグ（図２３，図２４）が更新済みとされた処理ノードを、順次、実行する。
【０１００】
投機的実行を行うときには、ＷＦＳ実行制御部６３０は、選択ノードにより選択されうる処理ノードそれぞれについて、実行環境（図２４）の複製（投機実行環境）を作成し、投機的実行のために用いる。
ＷＦＳ実行制御部６３０は、処理ノードを投機的に実行するときに、その投機実行環境のノード状態フラグを、実行中とする。
さらに、ＷＦＳ実行制御部６３０は、投機実行環境と、実行環境（図２４）とを対応付け、実行環境に、投機実行環境との対応関係を示す情報を付加する。
ＷＦＳ実行制御部６３０は、処理ノードの投機的な実行が終了すると、その投機実行環境の中のノード状態フラグを、実行終了の値とする。
【０１０１】
投機的に実行した処理ノードを選択しうる選択ノードの入力データのデータ状態フラグの全てが更新済みとなったときには、ＷＦＳ実行制御部６３０は、その選択ノードを実行し、その選択ノードにより選択されたフローにある処理ノードが、その時点で実行済みのときには、その処理ノードの実行はコミットされる。
投機的に実行中の処理ノードが、実際には、その処理ノードを選択しうる選択ノードにより選択されなかったフローにあるときには、ＷＦＳ実行制御部６３０は、実行中の処理ノードの実行を中止して、選択されなかったフローの投機実行環境を破棄する。
【０１０２】
ＷＦＳ実行制御部６３０は、投機的に実行されたが、実際には選択されなかった処理ノードの投機実行環境の内容を、実行環境に反映させずに削除し、必要に応じて、投機的な処理ノードの実行結果をキャンセルする。
【０１０３】
一方、投機的に実行された処理ノードが、実際に、その処理ノードを選択しうる選択ノードにより選択されたときには、その処理ノードの投機実行環境の内容を、実行環境に反映させる。
ＷＦＳ実行制御部６３０は、実際にある選択ノードが選択されたときに、その選択ノードで選択されたフローにある処理ノードが実行中であるときには、その処理ノードの実行環境中のノード状態フラグを、実行中を示す値とする、
また、その選択ノードで選択されたフローにある処理ノードが実行済みであるときには、ＷＦＳ実行制御部６３０は、その処理ノードの実行環境中のノード状態フラグを、実行済みを示す値とし、投機実行環境中の処理用データの値を実行環境中に記憶させ、そのデータ状態フラグを、更新済みを示す値とする。
【０１０４】
ＷＦＳ実行制御部６３０による処理ノードの投機的な実行（Ｓ２８）を、フローチャートを参照してさらに説明する。
図２９は、ＷＦＳ実行制御部６３０による処理ノードの投機的な実行を示すフローチャートである。
図２９に示すように、ステップ２８０（Ｓ２８０）において、ＷＦＳ実行制御部６３０は、入力値が全てそろっており、実行可能になっているノードを選択する。
ステップ２８２（Ｓ２８２）において、ＷＦＳ実行制御部６３０は、選択したノードが、その時点で選択されるか否かが決まっていないフロー（未決定フロー）のノードであるか否かを判断する。
ＷＦＳ実行制御部６３０は、選択したノードが未決定フローのノードであるときにはＳ２８４の処理に進み、これ以外のときにはＳ２９０の処理に進む。
【０１０５】
ステップ２８４（Ｓ２８４）において、ＷＦＳ実行制御部６３０は、選択したノードが投機的に実行されうるか否かを判断する。
ＷＦＳ実行制御部６３０は、選択したノードが投機的に実行されうるときにはＳ２８６の処理を行い、これ以外のときには処理を終了する。
ステップ２８６（Ｓ２８６）において、ＷＦＳ実行制御部６３０は、選択したノードの投機的な実行のための環境を作成する。
ステップ２８８（Ｓ２８８）において、ＷＦＳ実行制御部６３０は、選択したノードの処理を実行する。
【０１０６】
ステップ２９０（Ｓ２９０）において、選ばれたノードが選択ノードかどうかを調べる。
ＷＦＳ実行制御部６３０は選ばれたノードが選択ノードではないときにはＳ２８８の処理に進み、選ばれたノードが選択ノードの時にはＳ２９２の処理に進む。
ステップ２９２（Ｓ２９２）において、ＷＦＳ実行制御部６３０はその選択ノードの先のフローの投機的実行があるかどうかを調べる。
ＷＦＳ実行制御部６３０は選択ノードの先のフローの投機的実行がある場合はＳ２９４の処理に進み、これ以外のときにはＳ２９６の処理に進む。
【０１０７】
ステップ２９４（Ｓ２９４）において、ＷＦＳ実行制御部６３０は、選択されたフローの実行結果を有効にし、、選択されなかったフローの実行をキャンセルする。
Ｓ２９４の処理において、フローの選択／キャンセルが行われる理由は、例えば、以下の通りである。
ワークフローが、ｄ５，ｎ６，ｎ６．１，・・・，ｎ７，ｎ７．１・・・で、選択ノードｄ５が、ｎ６，ｎ７を選択するフローにおいて、Ｓ２８２の処理で選択ノードｄ５が選ばれたときに、ｎ６のフロー、あるいは、ｎ７のフローについての投機実行がおこなわれていたとするときに（Ｓ２９２の処理により判断される）、どちらかえらばれていなかった一方のフロー（例えば、ｎ６，ｎ６．１・・・）をキャンセルし、選ばれたほうのフロー(例えばｎ７，ｎ７．１・・・)を有効にする必要があるからである。
ステップ２９６（Ｓ２９６）において、ＷＦＳ実行制御部６３０は、選択されなかったフローの実行環境を削除する。
【産業上の利用可能性】
【０１０８】
本発明は、ワークフロースクリプトの形式で記述された処理を実行するために利用可能である。
【図面の簡単な説明】
【０１０９】
【図１】本発明に係る情報作成方法が適用されるネットワークシステムの構成を示す図である。
【図２】図１に示したプロファイル検索装置、属性管理装置およびプロファイル仕様管理装置のハードウエア構成を示す図である。
【図３】図１に示したプロファイル検索装置が、ＰＣからの要求に従って、プロファイル名管理装置、属性管理装置およびプロファイル仕様管理装置を用いて検索処理を行い、作成するプロファイル情報を示す図である。
【図４】図１に示したプロファイル仕様管理装置に記憶され、管理される物理プロファイル仕様情報を示す図である。
【図５】図４に示した物理プロファイル仕様情報に含まれる管理情報と、属性との関係を示す図である。
【図６】図１に示したプロファイル仕様管理装置に記憶され、管理される論理プロファイル仕様情報を示す図である。
【図７】図６に示した論理プロファイルに含まれる利用プロファイル名と、他の論理プロファイルまたは物理プロファイルとの関係を示す第１の図である。
【図８】図６に示した論理プロファイルに含まれる利用プロファイル名と、他の論理プロファイルまたは物理プロファイルとの関係を示す第１および第２の図である。
【図９】図１に示したプロファイル検索装置上で動作するプロファイル検索プログラムの構成を示す図である。
【図１０】図１に示したプロファイル仕様管理装置上で動作するプロファイル仕様管理プログラムの構成を示す図である。
【図１１】図１に示した属性管理装置において記憶される属性を示す図である。
【図１２】図１に示した属性管理装置上で動作する属性管理プログラムの構成を示す図である。
【図１３】図１などに示したネットワークシステムの全体的な動作を示す第３の通信シーケンス図であって、プロファイル仕様管理装置から属性管理装置へのプロファイル識別子の登録処理（Ｓ１０）を示す。
【図１４】図１などに示したネットワークシステムの全体的な動作を示す第２の通信シーケンス図であって、プロファイル検索装置がプロファイル仕様管理装置から物理プロファイルを得たときの検索処理（Ｓ１２）を示す。
【図１５】図１などに示したネットワークシステムの全体的な動作を示す第３の通信シーケンス図であって、プロファイル検索装置２がプロファイル仕様管理装置から最初に論理プロファイルが得られたときの検索処理（Ｓ１４）を示す。
【図１６】本発明にかかるワークフロースクリプト処理方法が適用される第２のネットワークシステムを例示する図である。
【図１７】ＷＦＳ実行手順制御サーバの処理対象となるワークフロースクリプトＡを例示する図である。
【図１８】図１７に示したワークフロースクリプトＡに含まれる処理ノードの実行手順を、入力データと出力データとの間が独立している処理ノード同士を並列的に実行するようにし、さらに、処理ノードを実行するように変更して得られるワークフロースクリプトＢを例示する図である。
【図１９】図１６に示したＷＦＳ実行手順制御サーバにおいて実行されるＷＦＳ処理プログラムの構成を示す図である。
【図２０】図１９に示すＷＦＳ作成・管理部により作成されるアクセス要求フローを示す図である。
【図２１】図１９に示した処理ノード管理部が、図１７に示したワークフロースクリプトなどについて作成する処理ノードデータを例示する図である。
【図２２】図１９に示したデータ供給履歴処理部により集計された処理用データに対するアクセス履歴を例示する図である。
【図２３】図１９に示した処理用データ供給部が、図１７に示したワークフロースクリプトなどについて作成した処理用データを例示する図である。
【図２４】実行環境管理部が、図１７に示したワークフロースクリプトの実行のために作成する実行環境を例示する図である。
【図２５】ＷＦＳ実行制御部によるアクセス要求フロー（Ｓ２０）の実行を示す第１のフローチャートである。
【図２６】ＷＦＳ実行制御部によるアクセス要求フローの実行を示す第２のフローチャートである。
【図２７】ＷＦＳ実行制御部によるアクセス要求フローの実行を示す第３のフローチャートである。
【図２８】ＷＦＳ実行制御部による処理ノードの並列実行（Ｓ２６）を示すフローチャートである。
【図２９】ＷＦＳ実行制御部による処理ノードの投機的な実行を示すフローチャートである。
【符号の説明】
【０１１０】
１，１６・・・ネットワークシステム，
１００・・・本体，
１０２・・・ＣＰＵ，
１０４・・・メモリ，
１０６・・・入出力装置，
１１０・・・通信装置，
１１２・・・記録装置，
１１４・・・記録媒体，
１４・・・ネットワーク，
２・・・プロファイル検索装置，
２０・・・プロファイル検索プログラム，
２００・・・通信処理部，
２０２・・・ＵＩ部，
２１０・・・プロファイル指定受入部，
２１２・・・プロファイル識別子検索部，
２１４・・・プロファイル識別子ＤＢ，
２２０・・・プロファイル仕様検索部，
２２２・・・物理プロファイル仕様取得部，
２２４・・・属性検索部，
２２６・・・属性管理部，
２２８・・・属性ＤＢ，
２３０・・・プロファイル情報作成部，
２３２・・・プロファイル識別子作成部，
４・・・属性管理装置，
４０・・・属性管理プログラム，
４００・・・検索部，
４１０・・・属性管理部，
４１２・・・属性ＤＢ，
５・・・プロファイル仕様管理装置，
５０・・・プロファイル仕様管理プログラム，
５００・・・検索部，
５１０・・・論理プロファイル仕様情報管理部，
５１２・・・論理プロファイル仕様情報ＤＢ，
５１４・・・プロファイル識別子作成部，
５１６・・・プロファイル識別子登録部，
５２０・・・物理プロファイル仕様情報管理部，
５２２・・・物理プロファイル仕様情報ＤＢ，
６・・・ＷＦＳ実行制御サーバ，
６０・・・ワークフロー処理プログラム，
６００・・・機能提供部，
６２・・・ＷＦＳ処理部６２，
６２０・・・ＷＦＳ作成・管理部，
６２２・・・ＷＦＳ−ＤＢ，
６２４・・・ＷＦＳ並列化処理部，
６２６・・・並列化ＷＦＳ−ＤＢ，
６２８・・・投機的実行判定部，
６３０・・・ＷＦＳ実行制御部，
６４０・・・実行環境管理部，
６４２・・・実行環境ＤＢ，
６６０・・・処理用データ供給部，
６６２・・・処理用ＤＢ，
６６４・・・データ検索部，
６６６・・・データ供給履歴処理部，
６６８・・・供給履歴ＤＢ，
６７０・・・予測部，
１８・・・サービス実行装置，
【図１】
2007183691.tif 000003
【図２】
2007183691.tif 000004
【図３】
2007183691.tif 000005
【図４】
2007183691.tif 000006
【図５】
2007183691.tif 000007
【図６】
2007183691.tif 000008
【図７】
2007183691.tif 000009
【図８】
2007183691.tif 000010
【図９】
2007183691.tif 000011
【図１０】
2007183691.tif 000012
【図１１】
2007183691.tif 000013
【図１２】
2007183691.tif 000014
【図１３】
2007183691.tif 000015
【図１４】
2007183691.tif 000016
【図１５】
2007183691.tif 000017
【図１６】
2007183691.tif 000018
【図１７】
2007183691.tif 000019
【図１８】
2007183691.tif 000020
【図１９】
2007183691.tif 000021
【図２０】
2007183691.tif 000022
【図２１】
2007183691.tif 000023
【図２２】
2007183691.tif 000024
【図２３】
2007183691.tif 000025
【図２４】
2007183691.tif 000026
【図２５】
2007183691.tif 000027
【図２６】
2007183691.tif 000028
【図２７】
2007183691.tif 000029
【図２８】
2007183691.tif 000030
【図２９】
2007183691.tif 000031