(57)【特許請求の範囲】
【請求項１】
提供されているサービスを受けて一連の作業を遂行するワークプロセス管理システムにおいて、ユーザの指定に応じて仮想的な作業空間を表現する作業空間データを生成するとともにユーザが指定した作業を達成するための目標を遂行するための作業手順を提供されているサービス間の経路として示すワークプロセスデータを該作業空間データと対応付けるワークプロセス指定手段と、該ワークプロセス指定手段で生成した前記作業空間データを前記ワークプロセスデータとともに保持する作業空間保持手段と、該作業空間保持手段内の前記ワークプロセスデータを解釈し提供を受けるサービスを順次特定してゆくワークプロセス解釈手段と、該ワークプロセス解釈手段によって特定された次に提供を受けるサービスに対して前記作業空間に対応する要求元アドレスを含むサービス要求を送信するサービス要求送信手段と、ユーザに対して前記作業空間を通じたユーザインタフェースを提供するサービス要求者インタフェース手段と、前記サービス要求送信手段により送られてきたサービス要求を受信して蓄積するサービス要求受信蓄積手段と、前記サービス要求受信蓄積手段によって蓄積されているサービス要求に対し該サービス要求中の前記要求元アドレスに対応する前記作業空間データを取り出して前記作業空間を通じてサービスを提供するサービス提供者にユーザインタフェースを提供するサービス提供者インタフェース手段を備えていることを特徴とするワークプロセス管理装置。
【請求項２】
前記サービス提供者インタフェース手段は、前記作業空間を通じた協調作業の他に、前記ユーザに対してサービスの提供に必要な指示の入力を受け付けるためのインタフェースを提供し、またサービスの実行条件を保存し、前記インタフェースでの前記ユーザからの指定に基づいて実行条件に適合するサービスを実行して実行結果を前記ユーザに提供することを特徴とする請求項１に記載のワークプロセス管理装置。
【請求項３】
前記サービス要求者インタフェース手段および前記サービス提供者インタフェース手段は、前記ユーザあるいは前記サービス提供者による前記作業空間上での操作を操作イベントとして検出して該操作イベントを相手側に送信するとともに前記作業空間に反映させることを特徴とする請求項１に記載のワークプロセス管理装置。
【請求項４】
前記サービス要求受信蓄積手段に蓄積されているサービス要求は、複数のサービス提供者で共有されており、前記サービス提供者インタフェース手段は、単一の前記サービス要求受信蓄積手段に対して複数配置され、各サービス提供者インタフェース手段は、前記サービス要求受信蓄積手段に蓄積されている前記サービス要求をひとつ取り出し該サービス要求の送信元である作業空間に対応した前記サービス要求者インタフェース手段を通じて前記ユーザに対してサービスを提供することを特徴とする請求項１ないし請求項３のいずれか１項に記載のワークプロセス管理装置。
【請求項５】
前記サービス提供者インタフェース手段は、前記作業空間保持手段、前記ワークプロセス指定手段、前記サービス要求送信手段によって現在提供しているサービスに派生した新たな作業の実行を開始し、さらに、前記ワークプロセス指定手段により生成された新たな作業空間データと派生元になった作業空間データの間の対応関係をそれぞれの作業空間データに保持させることを特徴とする請求項１ないし請求項４のいずれか１項に記載のワークプロセス管理装置。
【請求項６】
サービス提供側において当該サービスを提供する上で必要とされる一連のサービスの実行手順の指定を受け付けて該実行手順をワークプロセスデータとして保持するサブタスク保持手段をさらに有し、前記サービス提供者インタフェース手段は、サービスを提供している作業空間に対する作業空間データに保持されているワークプロセスデータの当該サービスの実行を指定している部分を前記サブタスク保持手段に保持されているワークプロセスデータに置き換えることを特徴とする請求項１ないし請求項５のいずれか１項に記載のワークプロセス管理装置。
【請求項７】
前記サービス提供者インタフェース手段は、前記サービス要求受信蓄積手段に蓄積されているサービス要求を取り出してサービスを開始した時点で当該サービス提供者用の作業空間データを生成し前記ユーザ側の前記作業空間データを対応付けて記憶し、さらに、前記ユーザ側の前記作業空間および前記サービス提供者側の作業空間との間でデータ交換を行うための共有の作業空間データを生成することを特徴とする請求項１ないし請求項６のいずれか１項に記載のワークプロセス管理装置。
【請求項８】
前記ワークプロセス指定手段は、前記ワークプロセスデータの要素として同時に複数のサービス間での協調作業を受けることを指定する機能を提供し、前記ワークプロセス解釈手段は、前記ワークプロセス指定手段で指定されたワークプロセスデータに基づいて次に提供を受けるべきサービスを特定する過程において複数のサービス間での協調作業を受けることを指定された要素が検出された際には、指定されている複数のサービスに対して同時にサービス要求が送信されるようにサービス要求送信手段を制御し、前記サービス要求者インタフェース手段は、前記サービス要求送信手段によって前記サービス要求を送信したすべてのサービス提供者側の作業空間との間で前記作業空間を通じてデータの交換を行い、前記サービス提供者インタフェース手段は、前記ユーザ側の前記作業空間および他のサービスが提供する前記サービス提供者側の作業空間との間でデータの交換を行うことを特徴とする請求項７に記載のワークプロセス管理装置。
【請求項９】
前記サービス要求者インタフェース手段は、前記作業空間で受けたサービスの履歴を出力する機能を有し、前記ワークプロセス指定手段は、前記ワークプロセスデータとして前記サービス要求者インタフェース手段で出力したサービスの履歴を取り込んで前記作業空間データと対応付けることを特徴とする請求項１ないし請求項８のいずれか１項に記載のワークプロセス管理装置。
【請求項１０】
前記サービス要求受信蓄積手段は、サービス要求の受信および前記サービス提供者インタフェース手段からのサービス要求の取り出しに応じて当該サービス要求に対応する前記作業空間に対してサービスの実行状態を通知し、前記サービス要求者インタフェース手段は、前記サービス要求受信蓄積手段により通知されたサービスの実行状態を表示することを特徴とする請求項１ないし請求項９のいずれか１項に記載のワークプロセス管理装置。
【請求項１１】
前記作業空間保持手段は、前記作業空間データに対応付けてメッセージを保持可能であり、前記サービス要求者インタフェース手段および前記サービス提供者インタフェース手段は、メッセージの入力を可能とするとともに前記作業空間保持手段に保持されているメッセージを表示することを特徴とする請求項１ないし請求項１０のいずれか１項に記載のワークプロセス管理装置。
【請求項１２】
前記作業空間保持手段は、ワークプロセスの実行に伴って利用した操作対象の履歴を時間とともに前記作業空間データに対応付けて保持可能であり、前記サービス要求者インタフェース手段は、前記作業空間保持手段に保持されている前記操作対象の履歴を前記ユーザが指定する時間に基づいて取り出し指定されている時間に使用していた操作対象にアクセスすることを特徴とする請求項１ないし請求項１１のいずれか１項に記載のワークプロセス管理装置。
【請求項１３】
前記作業空間保持手段は、さらにワークプロセスの実行に伴って利用した操作対象の各サービス実行時点での状態を各サービスに対応付けて保持可能であり、前記サービス要求者インタフェース手段は、前記作業空間保持手段に保持されている操作対象をユーザが指定するサービスに基づいて取り出し該サービスの実行時に使用していた操作対象にアクセスすることを特徴とする請求項１２に記載のワークプロセス管理装置。
【請求項１４】
さらに、前記サービス提供者がサービスを提供する際に使用する操作対象を予め指定された条件に基づいて取り出すための規則を保持するサービス提供環境準備規則保持手段を有し、前記サービス提供者インタフェース手段は、サービス要求受信蓄積手段に蓄積されているサービス要求を取り出してサービスを提供する際に該サービスを提供するために必要な条件と前記サービス提供環境準備規則保持手段に保持されている規則を照合し対応する規則が発見された際には該規則に基づいて操作対象を起動することを特徴とする請求項１ないし請求項１３のいずれか１項に記載のワークプロセス管理装置。
【請求項１５】
前記サービス提供環境準備規則保持手段に保持されている規則に基づいてサービスの提供環境の準備に必要とされる条件を入力するためのフォームを生成するサービス提供環境条件指定フォーム生成手段をさらに備え、前記サービス提供者インタフェース手段は、前記サービス提供環境条件指定フォーム生成手段によって生成されたフォームを前記サービス要求の受信を検出した時点で当該サービス要求元に送信し、前記サービス要求者インタフェース手段は、前記フォームを受信し該フォームに従ってユーザに条件情報を入力させて該条件情報を前記サービス提供者インタフェース手段に返信することを特徴とする請求項１４に記載のワークプロセス管理装置。
【請求項１６】
提供されているサービスを受けて一連の作業を遂行するワークプロセス管理システムにおいて、ユーザの指定に応じて仮想的な作業空間を表現する作業空間データを生成するとともにユーザが指定した作業を達成するための目標を遂行するための作業手順を提供されているサービス間の経路として示すワークプロセスデータを該作業空間データと対応付けるワークプロセス指定手段と、該ワークプロセス指定手段で生成した前記作業空間データを前記ワークプロセスデータとともに保持する作業空間保持手段と、該作業空間保持手段内の前記ワークプロセスデータを解釈し提供を受けるサービスを順次特定してゆくワークプロセス解釈手段と、該ワークプロセス解釈手段によって特定された次に提供を受けるサービスに対して前記作業空間に対応する要求元アドレスを含むサービス要求を送信するサービス要求送信手段と、ユーザに対してユーザインタフェースを提供するサービス要求者インタフェース手段を備え、前記サービスによって前記サービス要求中の前記要求元アドレスをもとに前記作業空間保持手段が保持する前記作業空間データが取り出され、前記作業空間を通じてサービスの提供を受けることを特徴とするワークプロセス管理装置。
【請求項１７】
ユーザ側の要求に応じたサービスを提供して一連の作業を遂行するワークプロセス管理システムにおいて、前記ユーザ側から送られてきた仮想的な作業空間に対応する要求元アドレスを含むサービス要求を受信して蓄積するサービス要求受信蓄積手段と、前記サービス要求受信蓄積手段によって蓄積されているサービス要求中の前記要求元アドレスをもとに前記作業空間に対応する作業空間データを取り出して前記作業空間を通じてサービスを提供するサービス提供者にユーザインタフェースを提供するサービス提供者インタフェース手段を備えていることを特徴とするワークプロセス管理装置。
【請求項１８】
前記サービス要求者インタフェース手段は、前記作業空間データに従ってユーザに作業空間を提供する画面を表示することを特徴とする請求項１ないし請求項１６のいずれか１項に記載のワークプロセス管理装置。
【請求項１９】
前記サービス要求者インタフェース手段は、ユーザが個人で作業を行うための個人作業領域と、前記サービス提供者と協調作業を行うための共有作業領域を表示画面中に設けることを特徴とする請求項１８に記載のワークプロセス管理装置。
【請求項２０】
サービス側がユーザ側の要求するサービスを提供して一連の作業を遂行するワークプロセス管理システムにおいて、ユーザ側では、ワークプロセス指定手段がユーザの指定に応じて仮想的な作業空間を表現する作業空間データを生成するとともにユーザが指定した作業を達成するための目標を遂行するための作業手順を提供されているサービス間の経路として示すワークプロセスデータを該作業空間データと対応付け、作業空間保持手段が前記作業空間データを前記ワークプロセスデータとともに保持し、ワークプロセス解釈手段が該作業空間保持手段内の前記ワークプロセスデータを解釈して提供を受けるサービスを順次特定してゆき、サービス要求送信手段が特定された次に提供を受けるサービスに対して前記作業空間に対応する要求元アドレスを含むサービス要求をサービス側へ送信し、サービス側では、サービス要求受信蓄積手段がユーザ側より送られてきたサービス要求を蓄積し、サービス提供者インタフェース手段が前記サービス要求受信蓄積手段に蓄積されているサービス要求に対し該サービス要求中の前記要求元アドレスに対応する前記作業空間データを取り出して前記作業空間を通じてサービスを提供するサービス提供者にユーザインタフェースを提供するとともに、ユーザ側においてもサービス要求者インタフェース手段がユーザに対して前記作業空間を通じたユーザインタフェースを提供したことを特徴とするワークプロセス管理方法。
【請求項２１】
提供されているサービスを受けて一連の作業を遂行するワークプロセス管理システムにおいて、ワークプロセス指定手段がユーザの指定に応じて仮想的な作業空間を表現する作業空間データを生成するとともにユーザが指定した作業を達成するための目標を遂行するための作業手順を提供されているサービス間の経路として示すワークプロセスデータを該作業空間データと対応付け、作業空間保持手段が前記作業空間データを前記ワークプロセスデータとともに保持し、ワークプロセス解釈手段が該作業空間保持手段内の前記ワークプロセスデータを解釈して提供を受けるサービスを順次特定してゆき、サービス要求送信手段が特定された次に提供を受けるサービスに対して前記作業空間に対応する要求元アドレスを含むサービス要求を送信し、ユーザに対してサービス要求者インタフェース手段が前記作業空間を通じたインタフェースを提供し、前記サービスによって前記サービス要求中の前記要求元アドレスをもとに前記作業空間保持手段が保持する前記作業空間データが取り出され、前記作業空間を通じてサービスの提供を受けることを特徴とするワークプロセス管理方法。
【請求項２２】
ユーザ側の要求に応じたサービスを提供して一連の作業を遂行するワークプロセス管理システムにおいて、サービス要求受信蓄積手段が前記ユーザ側から送られてきた仮想的な作業空間に対応する要求元アドレスを含むサービス要求を蓄積し、サービス提供者インタフェース手段が前記サービス要求受信蓄積手段に蓄積されているサービス要求中の前記要求元アドレスをもとに前記作業空間に対応する作業空間データを取り出して、該サービス要求の送信元に対応する前記作業空間を通じてサービスを提供することを特徴とするワークプロセス管理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ワークプロセスとして表現される一連の作業手順に従って作業を遂行することを支援するワークプロセス管理装置に関するものであり、特に、複数のコンピュータが無線、あるいは有線のネットワークを通じて通信するコンピュータネットワークにおいて、集中的な管理機構を必要とせずにワークプロセスの実行制御が可能なワークプロセス管理装置及びワークプロセス管理方法に関するものである。
【０００２】
【従来の技術】
従来のワークフロー管理システムや文書回覧システムの多くは、ローカルエリアネットワーク（ＬＡＮ）環境などの比較的小規模な作業グループを想定したワークプロセスの管理を対象としている。そのため、データベース等と連動するワークプロセス実行機構や文書回覧制御機構を１台のサーバに配置し、作業者はクライアントから当該サーバにアクセスして作業を実行するという、集中型の管理方式が採用されていた。
【０００３】
これに対し、インターネットに代表される広域ネットワーク環境において、複数の組織間でワークプロセスを実行したり、文書を回覧することを考えると、上記のような単一サーバに管理を集中させる集中型の管理方式では、処理が集中することによる効率の低下や、系全体としての信頼性が低いなどの問題が生じることが予想される。
【０００４】
このような問題に対処し、広域ネットワーク環境におけるワークプロセス管理を支援する従来技術としては、以下のようなものが存在する。例えば特開平８−３２０９０１号公報に記載されているシステムでは、各部門毎に文書のフローとして表現されるワークプロセスを記憶するサーバとワークプロセスを実行するサーバを配置している。そして、ある部門内で実行されていたワークプロセスを、他の部門で管理されているワークプロセスの処理と連携して実行する際には、処理していた文書を相手側の部門のワークプロセス実行サーバに転送し、部門間のワークプロセス実行サーバ間で処理を受け渡しながら処理をすすめている。
【０００５】
また、特開平９−１９０３９９号公報に記載されているシステムでは、製造元の異なるワークフロー管理システム間において、ワークプロセス実行時に電子メールを送ることにより連携先のワークフロー管理システムを起動しながら、複数の異なるワークプロセス実行エンジンを動的に連携動作させている。またワークプロセスの実行制御に関する情報は、電子メールによってワークフロー管理システム間で自動的に交換している。
【０００６】
さらに、L.Nastansky, W.Hilpert, “The GroupFlow System:A Scalable Approach to Workflow Management between Cooperation and Automation”， B.Wolfinger(Ed.), Proceedings of 24th Annual Conference of the German Computer Society during 13th World Computer Congress, IFIP '94, Springer Verlag, Berlin, Heidelberg etc., 1994, pp.473 - 479.に記載されているシステムでは、組織内を対象にしたワークフローを管理する複数のサーバ間で、電子メールによるメッセージ交換によって相互にワークプロセスを起動し、組織間にまたがるワークプロセスの実行を可能にしている。
【０００７】
さらに、ＷｆＭＣ（The Workflow Management Coalition ），“The Workflow Reference Model”，WFMC-TC00-1003，Issue 1.1 ），1995に記載されているシステムでは、異なる複数のワークフローエンジン間で共通の形式で表現されるワークフローを交換することにより、複数のワークフローエンジン間にまたがるワークフローの実行を実現するための標準化案が示されている。
【０００８】
上述の各文献に記載されているシステムでは、各ワークプロセス管理サーバが管理対象としているワークプロセスを、サーバ間の連携によって広域なワークプロセスとして動作させる方式を提案している。しかし、この方式では、いずれかのワークプロセス管理サーバに障害が発生した場合、そのサーバが管理するすべてのワークプロセスが停止してしまうという問題がある。
【０００９】
また、別の方式のワークプロセス管理技術として、例えば特開平６−２９０１１６号公報に記載されているシステムでは、ネットワーク上の各コンピュータ（ワークステーション）にワークプロセス実行インタプリタを配置し、文書群とそれに対応付けられて定義されたワークプロセスを単位とする「オブジェクト」として、上記コンピュータ間で交換する。各コンピュータのワークプロセス実行インタプリタでは、「オブジェクト」に含まれるワークプロセスを解釈実行し、次のコンピュータに「オブジェクト」を送信してワークプロセスを進行させている。
【００１０】
特開平９−２６１２６７号公報には、電子メールのメッセージ中に指定された処理タイプに対応付けて特定の業務処理を行うシステムを起動するシステムが記載されている。受信した電子メール中に他の業務処理に関する処理タイプが含まれていた際には、そのメッセージの複写を、当該業務処理の可能な相手に送信しながら作業の実行を連携させている。
【００１１】
特開平１０−１２４５９６号公報には、文書にワークフロー制御に関わるアクションを添付し、この情報をネットワーク上の複数のワークプロセス実行サーバ間で交換しながら、当該アクションを伝播・実行してゆくワークプロセス管理方式が記載されている。
【００１２】
米国特許第５，７５４，８５７号明細書に記載されているシステムでは、Ｊａｖａプラットフォーム上で、ワークプロセスに基づいて「ワークフロー・クーリエ」と呼ばれるワークプロセス実行エンジンに相当するプログラムを、ワークプロセス上のノードとなるクライアント側で動的にロードし、ワークプロセス実行機構を持たないクライアント間で動的にワークプロセス実行機構をロードしながらワークプロセスの実行を進めている。
【００１３】
米国特許第４，９３２，０２６号明細書に記載されているシステムでは、回覧経路付きの文書パッケージを、電子メールシステムによって送信し、受信側となる各クライアントでは、送信されてきた文書パッケージに対する操作環境を提供するとともに、当該回覧経路に従い、文書パッケージを電子メールシステムを介してクライアント間で受け渡している。
【００１４】
さらに、A. Grasso, J-L. Meunier, D. Pagani, and R. Pareschi,“Distributed Coordination and Workflow on the World Wide Web”，Computer Supported Cooperative Work，The Journal of Collaborative Computing 6，175-200, 1997 に記載されているシステムでは、文書に対してサービスを提供するサーバ間を、これらのサーバとは独立したワークプロセス連携サーバが、各サーバ上に予め指定されたルールに従って一連のワークプロセスを導出する。このワークプロセスに従い、各サーバ間を文書が渡り歩きながら、一連の処理が進められてゆく。なお、ワークプロセスの実行は、各文書処理サービスを担当するサーバがコーディネートされたワークプロセスに従って行う。
【００１５】
これらの文献に記載されている技術では、文書や操作インタフェースにワークプロセスを添付した情報を、ネットワークで接続された複数のコンピュータ間で、添付されているワークプロセスに基づいて受け渡してゆく方式を採用している。しかし、このような方式の場合、ワークプロセスの実行過程で当該ワークプロセスを含んだ情報が失われてしまった場合、ワークプロセスの実行を継続することが困難になるという問題を有している。
【００１６】
また、従来のワークフロー管理システムは、ワークプロセスに従って定型的な作業をおこなうことを前提としているため、ワークプロセス実行時に、ワークプロセス起動者とサービス提供者の間でコミュニケーションをおこなう機能を提供しているものはない。しかし、非定型的なサービスを提供する際には、サービス要求者との間で対話性の高いコミュニケーションをおこなうための手段が必要になると考えられる。
【００１７】
このような課題に対応するため、例えばH. Lavana, A. Khetawat, and F. Brglez,“Internet-based Workflows: A Paradigm for Dynamically Reconfigurable Desktop Environment”， ACM Group'97, 1997に記載されているシステムでは、ワークプロセスを構成する各ノードに相当するユーザの作業環境が個人用のデスクトップに対応しており、ワークプロセスとして複数作業者による協調作業のワークプロセスの記述を可能にしている。このワークプロセス上で、複数のユーザのフローが交差する点では、相互のデスクトップ環境がアクセス可能になり、協調作業を行うことができる。なお、ここでのコミュニケーションは共有のテキスト画面によって行われる。しかしこの方式は、ワークプロセス実行者間でのコミュニケーションを対象にしたものであり、ワークプロセス起動者とサービス提供者間でのコミュニケーションを支援するものではない。
【００１８】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、サービス要求者とサービス提供者による協調作業を通じ、ワークプロセスに基づいて一連の作業を遂行するための管理を行い、インターネットのような広域ネットワーク環境においても適用可能であり、サーバの障害に強くまたワークプロセスの情報の喪失の発生しにくいワークプロセス管理装置及びワークプロセス管理方法を提供することを目的とするものである。
【００１９】
【課題を解決するための手段】
本発明は、仮想的な協調作業空間を通じて、提供されているさまざまなサービスを受けながら、ユーザにより指定された目標を達成するための一連の作業を遂行するワークプロセス管理システムであって、複数のコンピュータが接続されたネットワークに適用可能なワークプロセス管理装置及びワークプロセス管理方法である。特に、ワークプロセスの制御機構をサービス要求者側に配置し、サービス提供者とサービス要求者の管理機構を独立化することにより、分散化されたシステムとして構築でき、また、サーバ装置の異常などに耐性を有し、またワークプロセス自体の喪失を回避することができる。
【００２０】
このような機能を実現するため、サービスを要求するユーザ側の構成として、ユーザの指定に応じて仮想的な作業空間を表現する作業空間データを生成するとともにユーザが指定した作業を達成するための目標を遂行するための作業手順を提供されているサービス間の経路として示すワークプロセスデータを該作業空間データと対応付けるワークプロセス指定手段と、該ワークプロセス指定手段で生成した前記作業空間データを前記ワークプロセスデータとともに保持する作業空間保持手段と、該作業空間保持手段内の前記ワークプロセスデータを解釈し提供を受けるサービスを順次特定してゆくワークプロセス解釈手段と、該ワークプロセス解釈手段によって特定された次に提供を受けるサービスに対して前記作業空間に対応する要求元アドレスを含むサービス要求を送信するサービス要求送信手段と、ユーザに対してユーザインタフェースを提供するサービス要求者インタフェース手段を有している。また、サービス側の構成として、ユーザ側から送られてきたサービス要求を受信して蓄積するサービス要求受信蓄積手段と、前記サービス要求受信蓄積手段によって蓄積されているサービス要求に対し該サービス要求中の前記要求元アドレスに対応する前記作業空間データを取り出して前記作業空間を通じてサービスを提供するサービス提供者にユーザインタフェースを提供するサービス提供者インタフェース手段を備えていることを特徴とするものである。
【００２１】
サービス提供者インタフェース手段は、作業空間を通じた協調作業の他に、ユーザに対してサービスの提供に必要な指示の入力を受け付けるためのインタフェースを提供し、またサービスの実行条件を保存し、前記インタフェースでの前記ユーザからの指定に基づいて実行条件に適合するサービスを実行して実行結果を前記ユーザに提供するように構成することができる。これによって、サービス提供者は、プログラムの実行により定型的なサービスを自動的に提供することができる。
【００２２】
サービス要求者インタフェース手段および前記サービス提供者インタフェース手段は、ユーザあるいはサービス提供者による作業空間上での操作を操作イベントとして検出して、その操作イベントを相手側に送信するとともに、作業空間に反映させることができる。これによって、サービスの提供に際し、作業空間上での操作を同時に共有しながら協調作業を行うことができる。
【００２３】
サービス要求受信蓄積手段に蓄積されているサービス要求を複数のサービス提供者で共有し、またサービス提供者インタフェース手段を単一のサービス要求受信蓄積手段に対して複数配置し、各サービス提供者インタフェース手段は、サービス要求受信蓄積手段に蓄積されている前記サービス要求をひとつ取り出し該サービス要求の送信元である作業空間に対応したサービス要求者インタフェース手段を通じてユーザに対してサービスを提供することができる。これにより、複数のサービス提供者によりサービスを提供することできる。また、サービスの提供を中断することなく、サービスの混雑状況に応じて動的にサービス提供者を増減することが可能になる。
【００２４】
サービス提供者インタフェース手段は、作業空間保持手段、ワークプロセス指定手段、サービス要求送信手段によって現在提供しているサービスに派生した新たな作業の実行を開始し、さらに、ワークプロセス指定手段により生成された新たな作業空間データと派生元になった作業空間データの間の対応関係をそれぞれの作業空間データに保持させる。これにより、サービス要求者が直接的に関与しない、サービス提供者が主体となって実行する一連の作業を、派生元の作業空間に対応付けて管理することが可能となる。また、サービス提供者は、サービス提供中のある作業空間に対して派生させた作業空間を取り出したり、ある派生させた作業空間上でのワークプロセスの完了に伴って、派生元の作業空間を取り出し、サービスの提供を継続することができる。なお、新たな作業空間の生成は、ユーザ側とは別に、例えばサービス提供側の作業空間保持手段、ワークプロセス指定手段、サービス要求送信手段によって生成してもよい。
【００２５】
さらに、サービス提供側において当該サービスを提供する上で必要とされる一連のサービスの実行手順の指定を受け付けて、実行手順をワークプロセスデータとして保持するサブタスク保持手段を有し、サービス提供者インタフェース手段は、サービスを提供している作業空間に対する作業空間データに保持されているワークプロセスデータの当該サービスの実行を指定している部分をサブタスク保持手段に保持されているワークプロセスデータに置き換えるように構成することができる。これにより、ワークプロセスを構成する一連のサービス群を、作業の開始時点で詳細に指定しなくとも、ワークプロセスに従ってサービスを受けてゆく過程でワークプロセスを段階的かつ動的に詳細化することができるため、システム全体の柔軟性を高めることができる。
【００２６】
サービス提供者インタフェース手段は、サービス要求受信蓄積手段に蓄積されているサービス要求を取り出してサービスを開始した時点で当該サービス提供者用の作業空間データを生成し、ユーザ側の作業空間データを対応付けて記憶し、さらに、ユーザ側の作業空間およびサービス提供者側の作業空間との間でデータ交換を行うための共有の作業空間データを生成することができる。これにより、サービス要求者が固有に管理するデータはサービス要求者側に、サービス提供者側が固有に管理するデータはサービス提供者側で管理することができ、サービス要求者とサービス提供者のデータ管理領域を分離できるので、セキュリティ上の管理が実現しやすくなる。
【００２７】
このとき、ワークプロセス指定手段は、ワークプロセスデータの要素として同時に複数のサービス間での協調作業を受けることを指定する機能を提供し、ワークプロセス解釈手段は、ワークプロセス指定手段で指定されたワークプロセスデータに基づいて次に提供を受けるべきサービスを特定する過程において複数のサービス間での協調作業を受けることを指定された要素が検出された際には、指定されている複数のサービスに対して同時にサービス要求が送信されるようにサービス要求送信手段を制御し、サービス要求者インタフェース手段は、サービス要求送信手段によってサービス要求を送信したすべてのサービス提供者側の作業空間との間で作業空間を通じてデータの交換を行い、サービス提供者インタフェース手段は、ユーザ側の前記作業空間および他のサービスが提供するサービス提供者側の作業空間との間でデータの交換を行うように構成するとよい。これにより、サービス要求者は、ワークプロセスの実行上、複数のサービスを同時かつ協調的に受けることができ、サービス間で対話的な調整が必要とされるような場合に対処することができる。
【００２８】
サービス要求者インタフェース手段は、作業空間で受けたサービスの履歴を出力する機能を有し、ワークプロセス指定手段は、ワークプロセスデータとしてサービス要求者インタフェース手段で出力したサービスの履歴を取り込んで作業空間データと対応付けることができる。これにより、第三者が実行したワークプロセスを再利用することができる。
【００２９】
サービス要求受信蓄積手段は、サービス要求の受信およびサービス提供者インタフェース手段からのサービス要求の取り出しに応じて当該サービス要求に対応する作業空間に対してサービスの実行状態を通知し、サービス要求者インタフェース手段は、サービス要求受信蓄積手段により通知されたサービスの実行状態を表示するように構成することができる。これにより、ワークプロセスの実行状態の全体を容易に把握することができる。
【００３０】
作業空間保持手段は、作業空間データに対応付けてメッセージを保持可能に構成することができる。これに伴い、サービス要求者インタフェース手段およびサービス提供者インタフェース手段は、メッセージの入力を可能とするとともに作業空間保持手段に保持されているメッセージを表示するように構成することができる。これにより、サービス要求者であるユーザとサービス提供者が、お互いに時間的な制約を受けることなく、作業を対話的に進めてゆくことができる。
【００３１】
作業空間保持手段は、ワークプロセスの実行に伴って利用した操作対象（文書、メッセージ、アプリケーションプログラム、および、各サービスのサービス提供者インタフェース手段との間に確立されたコミュニケーションチャネル）の履歴を時間とともに作業空間データに対応付けて保持可能とし、またサービス要求者インタフェース手段は、作業空間保持手段に保持されている操作対象の履歴をユーザが指定する時間に基づいて取り出し、指定されている時間に使用していた操作対象にアクセス可能に構成することができる。これにより、操作対象を作業空間に対応付けて管理することができ、それらを検索する際、作業をキーに検索することができるため、ユーザの記憶負荷を軽減することができる。
【００３２】
また、作業空間保持手段は、さらにワークプロセスの実行に伴って利用した操作対象の各サービス実行時点での状態を各サービスに対応付けて保持可能であり、サービス要求者インタフェース手段は、作業空間保持手段に保持されている操作対象をユーザが指定するサービスに基づいて取り出し、そのサービスの実行時に使用していた操作対象にアクセス可能に構成することができる。これにより、過去に受けたサービスを単位として、操作対象にアクセスすることが可能になると同時に、サービス間での操作対象の機密保持を実現することができる。
またサービス要求者インタフェース手段は、作業空間データに従ってユーザに作業空間を提供する画面を表示する。このとき、ユーザが個人で作業を行うための個人作業領域と、前記サービス提供者と協調作業を行うための共有作業領域を表示画面中に設け、ユーザとサービス提供者との協調作業によりワークプロセスを進めることができる。
【００３３】
さらに、サービス提供者がサービスを提供する際に使用する操作対象（文書、アプリケーションプログラム）を予め指定された条件に基づいて取り出すための規則を保持するサービス提供環境準備規則保持手段を有しており、サービス提供者インタフェース手段は、サービス要求受信蓄積手段に蓄積されているサービス要求を取り出してサービスを提供する際には、そのサービスを提供するために必要な条件とサービス提供環境準備規則保持手段に保持されている規則を照合し、対応する規則が発見された際には、その規則に基づいて操作対象を起動するように構成することができる。これにより、サービスを提供する際に必要となる文書、アプリケーションプログラムなどの操作対象を自動的に準備し、効率的にサービスを提供することができる。
【００３４】
このとき、サービス提供環境準備規則保持手段に保持されている規則に基づいてサービスの提供環境の準備に必要とされる条件を入力するためのフォームを生成するサービス提供環境条件指定フォーム生成手段をさらに備え、サービス提供者インタフェース手段は、サービス提供環境条件指定フォーム生成手段によって生成されたフォームをサービス要求の受信を検出した時点で当該サービス要求元に送信し、サービス要求者インタフェース手段は、フォームを受信し該フォームに従ってユーザに条件情報を入力させて該条件情報をサービス提供者インタフェース手段に返信するように構成することができる。これにより、ユーザによって指定されたサービス提供に関する詳しい情報をもとに、サービスを提供する際に必要となる文書、アプリケーションプログラム等の操作対象を自動的に準備し、効率的にサービスを提供することができる。
【００３５】
【発明の実施の形態】
図１は、本発明のワークプロセス管理装置の実施の一形態を示す基本構成図である。図中、１はユーザ側構成、２はサービス提供者側構成、３はトークン、１１はワークプロセス指定部、１２は作業空間保持部、１３はワークプロセス解釈部、１４はサービス要求送信部、１５はサービス要求者インタフェース部、１６はサービス要求受信蓄積部、１７はサービス提供者インタフェース部である。
【００３６】
図１に示した構成では、ユーザ側構成１とサービス提供者側構成２からなり、サービス提供者側構成２では、様々なサービスが提供されている。ユーザ側構成１がサービスを受けようとする場合には、ユーザ側構成１からサービス要求としてトークン３をサービス提供者側構成２に対して送信する。サービス提供側構成２では、トークン３を受け取って要求に応じたサービスをユーザに提供する。
【００３７】
ユーザ側構成１として、ワークプロセス指定部１１、作業空間保持部１２、ワークプロセス解釈部１３、サービス要求送信部１４、サービス要求者インタフェース部１５を有している。
【００３８】
ワークプロセス指定部１１は、ユーザが指定する、例えば作業を達成するための目標に対応して、仮想的な作業空間を表現する作業空間情報を生成する。また、ユーザが指定した作業を達成するための目標を遂行するための作業手順を、サービス提供側構成２で提供されるサービス間での移動経路として表現される作業手順を示すワークプロセス情報を入力し、そのワークプロセス情報を作業空間情報と対応付ける。そして、作業空間情報およびワークプロセス情報を作業空間保持部１２に格納する。
【００３９】
作業空間保持部１２は、ワークプロセス指定部１１で生成した作業空間情報と、その作業空間に対応付けられたワークプロセス情報など、各種のワークプロセス遂行のために必要な情報を記憶領域中に保持する。
【００４０】
ワークプロセス解釈部１３は、ワークプロセス指定部１１によって指定されたワークプロセスを解釈し、サービス提供側構成２で提供されるサービスに対して、サービス提供の完了に同期して、順次、次に提供を受けるサービスを特定してゆく。
【００４１】
サービス要求送信部１４は、ワークプロセス解釈部１３によって特定された、次に提供を受けるべきサービスに対して、サービス要求をトークン３としてサービス提供側構成２へ送信する。
【００４２】
サービス要求者インタフェース部１５は、サービス要求送信部１４によってサービス要求を送信したサービス提供側構成２のサービス提供者と、ワークプロセス指定部１１で生成した作業空間を通じて協調作業を行うためのユーザインタフェースを提供する。
【００４３】
サービス提供者側構成２は、サービス要求受信蓄積部１６、サービス提供者インタフェース部１７を有している。サービス要求受信蓄積部１６は、ユーザ側構成１のサービス要求送信部１４から送られてきたトークン３を受信し、ユーザからのサービス要求を蓄積する。サービス提供者インタフェース部１７は、サービス要求受信蓄積部１６によって受信、蓄積されているサービス要求に対し、そのサービス要求の送信元である作業空間を通じて、ユーザとの協調作業を行うユーザインタフェースをサービス提供者に提供する。
【００４４】
ユーザ側構成１およびサービス提供者側構成２は、同じコンピュータ内に実現して１ないし多数の端末装置をユーザまたはサービス提供者が操作する構成でもよいが、複数のコンピュータが接続されたネットワークにおいて実現することが可能である。ネットワークは、ローカルエリアネットワーク（ＬＡＮ）に限らず、広域ネットワークやインターネットなどでもよい。ユーザは、仮想的な作業空間を通じて、ネットワーク上に提供されるさまざまなサービスを受けながら、ユーザにより指定された目標を達成するための一連の作業（ワークプロセス）を遂行することができる。
【００４５】
また、このような分散された構成では、ユーザ側構成１にワークプロセスを進めて行くための作業空間情報やワークプロセス情報が保持されているので、従来のようにサーバ装置に異常が発生するとすべてのワークプロセスが停止してしまうということはない。また、ワークプロセスの実行中にメールや文書の喪失によってワークプロセスが消失することもない。
【００４６】
図２は、本発明のワークプロセス管理装置の実施の一形態における第１の構成例を示すブロック図である。図中、２１はサービス要求側クライアント、２２はサービス要求側サーバ、２３はサービス提供側サーバ、２４，２５はサービス提供側クライアント、２６はネットワーク、３１はＷｅｂブラウザ、３２はワークプロセス実行エンジン、３３はサービス提供マネージャ、３４はＨＴＴＰサーバ、４１はワークプロセス生成指定部、４２は作業空間保持領域、４３はワークプロセスインタプリタ、４４はトークン送信機構、４５はアプレット保存領域、４６はワークプロセス実行インタフェース、５１はトークン受信機構、５２はトークン格納キュー、５３はサービス提供者作業空間保持領域、５４はアプレット保存領域、５５はサブタスク保存領域、５６はサービス提供インタフェースである。
【００４７】
この構成例では、複数台のサーバと複数台のクライアントがネットワーク２６に接続されたシステム上に本発明のワークプロセス管理装置を実現した例を示している。各サーバにはワールドワイドウエブ（World-Wide Web）を管理するＨＴＴＰサーバ３４が設けられている。また、各クライアントには遠隔手続き呼び出し（ＲＭＩ：Remote Method Invocation）に対応してプログラムの実行が可能なＷｅｂブラウザ３１が設けられている。例えばＪａｖａ仮想マシンを内蔵してＪａｖａプログラムの実行が可能なＷｅｂブラウザなどを用いることが可能である。
【００４８】
このＷｅｂブラウザ３１は、例えばサービス要求側クライアント２１ではサービス要求側サーバ２２から送られてくるワークプロセス実行インタフェース４６のアプレットを受信して実行する。これによって、図１のサービス要求者インタフェース部１５を実現している。また、例えばサービス提供側クライアント２４，２５のＷｅｂブラウザ３１では、サービス提供側サーバ２３から送られてくるサービス提供インタフェース５６のアプレットを受信して実行する。これによって、図１のサービス提供者インタフェース部１７を実現している。
【００４９】
ネットワーク２６に接続されているサーバには、ワークプロセス実行エンジン３２またはサービス提供マネージャ３３のいずれか一方、または両方を配置することができる。この例では、ワークプロセス実行エンジン３２のみを配置したサービス要求側サーバ２２と、サービス提供マネージャ３３を配置したサービス提供側サーバ２３とを示している。なおここでは、ワークプロセス実行エンジン３２およびサービス提供マネージャ３３には、ＵＲＬ（Universal Resource Locator）の形式で表現される、ネットワーク上で一意のアドレスが与えられているものとする。このＵＲＬによって、ネットワーク２６上に各ワークプロセス実行エンジン３２やサービス提供マネージャ３３が多数存在しても、それぞれを特定することができる。
【００５０】
ワークプロセス実行エンジン３２は、ワークプロセス生成指定部４１、ワークプロセスインタプリタ４３、トークン送信機構４４等を有し、図１のワークプロセス指定部１１、ワークプロセス解釈部１３、サービス要求送信部１４を構成するとともに、内部に作業空間保持部１２を構成する作業空間保持領域４２と、アプレット保存領域４５を有している。
【００５１】
ワークプロセス生成指定部４１は、ＨＴＴＰサーバ３４を介して与えられるユーザからの指示に基づいて作業空間を生成し、その作業空間データを作業空間保持領域４２に保持させる。なお、各作業空間に対しては、ＵＲＬの形式で表現されるネットワーク２６上で一意のアドレスが作業空間アドレスとして与えられ、作業空間データを構成する各データにアクセスするためのインタフェースが提供される。
【００５２】
作業空間保持領域４２は、各作業空間ごとに作業空間データを保持する。図３は、作業空間データのデータ構造の一例の説明図である。各作業空間データは、例えば図３に示すように、作業空間ＩＤ、作業空間名、オブジェクト群、ワークプロセス、カレントアクティビティ、派生元作業空間、派生先作業空間、メッセージ格納領域等の情報で構成することができる。オブジェクト群を構成するオブジェクトは、例えばオブジェクトＩＤ、オブジェクトデータ、オブジェクトタイプ（“文書ファイル”、“ＵＲＬ”等の区別）、位置等の情報で構成される。なお、位置の情報は、各サービス単位での共有作業空間、個人作業空間上での座標を表現するため、例えばアクティビティＩＤ、共有・個人タグ、Ｘ座標、Ｙ座標などの情報で構成することができる。また、派生元作業空間、派生先作業空間は、ＵＲＬの形式で与えられる作業空間のアドレスが格納される。メッセージ格納領域に格納される各メッセージは、例えばメッセージ本体、発信日時、発信者などで構成される。
【００５３】
作業空間データ中のワークプロセスの情報は、アクティビティを単位とする構造のデータとして保存される。図４は、ワークプロセスのデータ構造の一例の説明図である。図４に示すように、各ワークプロセスを構成するアクティビティは、アクティビティＩＤ、サービス提供側ＵＲＬ、サービス提供者アドレス、実行状態、次工程タグ、次工程リストで構成される。ここで、アクティビティＩＤは、当該作業空間データ内で一意の識別子である。サービス提供側ＵＲＬは、トークン格納領域のアドレス、サービス提供者アドレスは実際にサービス提供者が操作するクライアントのアドレスである。実行状態には、“未実行”、“実行待ち”、“実行中”、“完了”、“中止”という状態のいずれかが設定される。次工程タグには、“並列”または“合成”の種別が設定される。この次工程タグが“合成”の場合、すなわち、複数のサービスが協調して１つのサービスとして活動する“合成”サービスの場合、それらのサービス群は、同一のアクティビティＩＤを持つ。また、次工程リストには次工程のアクティビティのリストが設定される。もちろん、ワークプロセスの情報として他の種々の情報を有していてもよい。また、アクティビティの情報も同様である。
【００５４】
このようなワークプロセスは、例えば所定の形式で記述されたファイルとして作成しておくことができる。図５は、ワークプロセスを記述したファイルの記述形式の一例の説明図である。図５において、“［ａ］”は０個以上のａの並びを示し、“ａ｜ｂ｜ｃ”はａ，ｂ，ｃのいずれかを表している。記述形式は図５に示した形式に限られるものではなく、ワークプロセスの並列実行、および複数のサービスの協調を表現可能な形式であればどのような記述形式であってもよい。なお、アクティビティには、図４に示したアクティビティのデータのうち、サービス提供側ＵＲＬが少なくとも含まれていればよい。もちろん、その他の情報を有していてもよい。
【００５５】
例えば図５に示したような記述形式で記述されたワークプロセスのデータが格納されたファイルは、ワークプロセス実行インタフェース４６を介して読み込ませ、ワークプロセス生成指定部４１において図４に示すような形式のワークプロセスとして保持することができる。また、図５に示したような記述形式で記述されたワークプロセスのデータが格納されたファイルは、例えば電子メールによりユーザ間で交換したり、外部のデータベースに蓄積してユーザ間で共有することができる。
【００５６】
図２に戻り、ワークプロセス実行エンジン３２のワークプロセスインタプリタ４３は、作業空間保持領域４２に保持されている各作業空間データが持つワークプロセスを解釈して、次に享受するサービスのアドレスを算出する。
【００５７】
トークン送信機構４４は、ワークプロセスインタプリタ４３で算出した各サービスのアドレスに対して、サービス要求となるトークン３（図１参照）を送信する。図６は、トークンのデータ構造の一例の説明図である。トークン３は、トークンＩＤ、要求元アドレス、要求先アドレス、アクティビティＩＤ、タグ合成サービスタグ等から構成されている。トークンＩＤは、ネットワーク２６内で一意に決められる。要求元アドレスは、当該要求元の作業空間に対応したアドレスとして与えられる。要求先アドレスは、サービス提供マネージャのアドレスとして与えられる。アクティビティＩＤは、当該サービスに対応したアクティビティのアクティビティＩＤである。合成サービスタグは、複数サービスによる合成サービスの提供か否かを示す。なおトークン３は、一例としてＪａｖａプラットフォームが提供するオブジェクト直列化（Object Serialization）の機構によってネットワーク２６上で転送可能なデータ形式に変換し、ＲＭＩの機構を用いてサーバ間で要求先アドレスで指定されたアドレスに送信することができる。もちろん、他の機構によってトークン３を転送してもよい。
【００５８】
アプレット保存領域４５には、ワークプロセス実行インタフェース４６のアプレットが格納されている。ネットワーク２６上の各サービス要求側クライアント２１のＷｅｂブラウザ３１上でネットワーク２６を介してこのワークプロセス実行インタフェース４６のアプレットをロードした後、実行することによって、ワークプロセス実行インタフェース４６がユーザに提供される。
【００５９】
サービス提供マネージャ３３は、図１のサービス要求受信蓄積部１６を構成するトークン受信機構５１およびトークン格納キュー５２と、サービス提供者作業空間保持領域５３、アプレット保存領域５４、サブタスク保存領域５５を有している。トークン受信機構５１は、ワークプロセス実行エンジン３２によって送信されるトークン３を受信する。
【００６０】
トークン格納キュー５２は、トークン受信機構５１で受信したトークン３を保持する。図７は、第１の構成例におけるトークン格納キュー領域および受信トークンのデータ構造の一例の説明図である。トークン格納キュー５２は、図７に示すようなキューの構造を有したトークン格納キュー領域に、到着順にトークン３を蓄積してゆく。なお、受信したトークン３は、受信トークンとしてこのトークン格納キュー領域に格納される。受信トークンは、図７に示すように、トークン、受信時刻、サービス担当者、サービス提供状態で構成されている。このトークン格納キュー５２に格納されている受信トークンは、サービス提供インタフェース５６を通じて複数のクライアントからアクセスするためのトークンアクセス機構を提供する。このトークンアクセス機構は、サービス提供マネージャ３３に与えられたＵＲＬによって、サービス提供側のクライアントからアクセスすることを可能にするものである。
【００６１】
サービス提供者作業空間保持領域５３は、サービス提供マネージャにより生成されるサービス提供者用の作業空間のデータを保持する。図８は、サービス提供者作業空間データのデータ構造の一例の説明図である。サービス提供者作業空間データは、例えば図８に示すように、作業空間ＩＤ、オブジェクト群、サービス提供先アドレス、サービス開始日時、サービス終了日時、サービス提供者等のフィールドで構成することができる。
【００６２】
アプレット保存領域５４には、サービス提供インタフェース５６のアプレットが格納されている。このサービス提供インタフェース５６のアプレットを、ネットワーク２６上の各サービス提供側クライアント２４，２５においてＷｅｂブラウザ３１上でネットワーク２６を介してロードした後、実行することによって、サービス提供者に対してサービス提供インタフェース５６を提供することができる。
【００６３】
サブタスク保存領域５５は、サービスを提供する上で必要とされる一連のサービスの実行手順の指定をサービス提供インタフェース５６から受け付けて、その実行手順をワークプロセス（サブタスク）として保存する。
【００６４】
次に、本発明のワークプロセス管理装置の実施の一形態における第１の構成例の動作の一例について説明する。まず、サービス要求側の動作について説明する。最初にユーザは、作業空間の生成と、対応するワークプロセスの指定を行う。サービス要求側クライアント２１上で稼動しているＷｅｂブラウザ３１から、各自のワークプロセス実行エンジン３２に対応するＵＲＬを指定すると、アプレット保持領域４５からワークプロセス実行インタフェースのアプレットがロードされ、Ｗｅｂブラウザ３１上で実行される。これによって、ワークプロセス実行インタフェース４６が提供される。
【００６５】
図９は、ワークプロセス実行インタフェースがユーザに提供する表示画面の一例の説明図である。図中、６１は作業空間リスト領域、６２はアクティビティリスト領域、６３はワークプロセス制御パネル、６４はメッセージ交換領域、６５はメッセージ表示領域、６６はメッセージ入力領域、６７は共有作業領域、６８は個人作業領域である。ワークプロセス実行インタフェース４６は、Ｗｅｂブラウザ３１に対して例えば図９に示すような表示画面をユーザに提示する。
【００６６】
Ｗｅｂブラウザ３１には、作業空間リスト領域６１、アクティビティリスト領域６２、ワークプロセス制御パネル６３、メッセージ表示領域６５およびメッセージ入力領域６６からなるメッセージ交換領域６４、共有作業領域６７、個人作業領域６８等の各領域が表示されている。
【００６７】
作業空間リスト領域６１は、生成された仮想的な作業空間のリストを一覧表示する。アクティビティリスト領域６２は、作業空間リスト領域６１で選択された作業空間が享受する一連のサービスの順序関係とその実行状態を表示する。ワークプロセス制御パネル６３は、ワークプロセスの実行を制御するための各種の仮想的なボタンを配置している。この例では、「実行」ボタン、「中止」ボタン、「履歴出力」ボタンが配置されている。メッセージ交換領域６４は、サービス提供者とのテキストによるメッセージ交換を行うための領域であり、サービス提供者からのメッセージを表示するメッセージ表示領域６５と、サービス提供者へのメッセージを入力するメッセージ入力領域６６から構成されている。共有作業領域６７は、サービス提供者との協調作業を行うための作業領域である。個人作業領域６８は、当該ユーザが当該ワークプロセスに対応した個人用の作業領域として使用する領域である。
【００６８】
新たな作業空間を生成し、ワークプロセスの指定を行う場合には、ユーザは、上述のようなワークプロセス実行インタフェース４６の表示画面において、作業空間リスト領域６１上で、例えばポップアップメニューなどからメニュー「作業空間生成」を選択する。さらに、新たに生成する作業空間名と、図５で示した形式でワークプロセスを記述したファイルを指定する。図１０は、ワークプロセスを記述したファイルを指定するためのウィンドウの一例の概観図である。ワークプロセスを記述したファイルを指定する際には、例えば図１０に示すようなウィンドウが表示されるので、ファイル名を指定して「完了」を指示すればよい。
【００６９】
これらの指定が完了すると、ワークプロセス生成指定部４１は図３に示したような構造の新たな作業空間データを生成する。新たな作業空間データには、ワークプロセス実行エンジン３２内で一意の識別子が作業空間ＩＤのフィールドに、指定された作業空間名が作業空間名のフィールドに保存される。また、指定されたファイルに記述されたワークプロセスが、例えば図４で示した形式のデータに変換され、そのポインタがワークプロセスのフィールドに、また、そのワークプロセスデータの先頭となるアクティビティへのポインタがカレントアクティビティのフィールドに、それぞれ保存される。なお、図５に示すようなファイルのデータ形式から図４に示すような内部構造のデータに変換する際に、アクティビティの次工程タグには、複数サービスの並列実行または同時実行（合成）に応じて“並列”または“合成”の値が設定される。また、“合成”サービスを構成するアクティビティ群には、同一の「アクティビティＩＤ」が設定される。これらの作業空間データおよびワークプロセスデータなどは、作業空間保持領域４２に保持される。
【００７０】
ワークプロセス実行インタフェース４６の表示中のアクティビティリスト領域６２には、作業空間リスト領域６１で指定された作業空間のワークプロセスを構成する各サービスの実行状態を、当該作業空間に関する作業空間データ中のワークプロセスのデータから取り出し、ツリー状のリストとして表示する。
【００７１】
作業空間データのワークプロセスを構成する各アクティビティの実行状態のフィールドには、イベントリスナが対応付けられている。アクティビティの実行状態はサービス提供側において、サービスの提供により変更される。また、ユーザ側でサービスの提供の中止を指示した場合などでも変更される。実行状態のフィールド値が変更されると、データの変更に関するイベントが発生し、対応するイベントリスナによって検出され、アクティビティリスト領域６２の表示が更新される。ここでのイベント処理は、例えばＪａｖａが提供するイベント処理機構によって実現することが可能である。このような実行状態の表示を行うことによって、ユーザはワークプロセスの全体の進捗状況などを容易に把握することが可能となる。
【００７２】
図１１は、ワークプロセスを実行させ、サービス提供マネージャ３３に対してトークンを送信する処理の一例を示すフローチャートである。ワークプロセス実行インタフェース４６の表示画面における作業空間リスト領域６１中で作業空間を選択し、ワークプロセス実行制御パネル６３上の「実行」ボタンを操作する。すると、ワークプロセスインタプリタ４３は、Ｓ１０１において「実行」ボタンの操作を確認後、選択された作業空間が保持するワークプロセスの実行状態から、次に実行すべきサービスを求め、そのサービスのアドレスに関するトークンを生成する。
【００７３】
ここでは、まずＳ１０２において、作業空間リスト領域６１で選択されている作業空間のカレントアクティビティが示すワークプロセス中のアクティビティの実行状態のフィールドが“完了”または“中止”であることを確認する。その後、Ｓ１０３において、次工程リストのフィールドを参照し、次工程となるアクティビティを取り出す。
【００７４】
次にＳ１０４において、Ｓ１０３で取り出した個々のアクティビティに対応して、Ｓ１１１ないしＳ１１３の処理をそれぞれ行う。Ｓ１１１において、例えば図６に示すような新たなトークンのデータを生成する。このとき、トークンＩＤのフィールドには、ネットワーク上で一意の識別子を設定する。さらに、サービス要求元のフィールドには、作業空間リスト領域６１中で選択されている作業空間に対応するＵＲＬを設定する。またサービス要求先のフィールドには、当該アクティビティ中のサービス提供側ＵＲＬのフィールドの内容を設定する。ここでは、次工程アクティビティリストに設定された１つまたは複数のアクティビティが保持しているサービス提供側ＵＲＬがサービス要求先のフィールドに設定される。さらに、アクティビティＩＤのフィールドには、当該アクティビティ中のアクティビティＩＤを設定する。また、合成サービスタグのフィールドには、次工程タグで示された“並列”、“合成”の値を設定する。
【００７５】
このようにして生成したトークンを、Ｓ１１２においてネットワーク２６上で転送可能なデータに変換する。例えば、オブジェクト直列化（Object Serialization）の機構によって変換を行うことができる。そして、Ｓ１１３において、トークン送信機構４４は、例えばＲＭＩの機構を用いるなどして、トークンのサービス要求先が示すサービス提供マネージャに宛ててトークンを送信する。これによって、トークンを受け取ったサービス提供マネージャによりサービスが提供される。
【００７６】
なお、「実行待ち」あるいは「実行中」状態にあるサービスを中止する際には、ワークプロセス実行インタフェース４６の表示画面中のワークプロセス制御パネル６３上の「中止」ボタンを操作すればよい。すると、当該作業空間データが保持するワークプロセス中の、現在、受けているサービスに該当する「実行状態」の値に“中止”が設定され、サービスが中止される。
【００７７】
ワークプロセス実行インタフェース４６の表示画面中の作業空間リスト領域６１において作業空間が選択され、その作業空間に関するワークプロセスがアクティビティリスト領域６２に表示されている状態で、現在“実行中”の状態にあるサービス（アクティビティ）を選択する。すると、その選択したサービスにおけるサービス提供の担当者と協調作業を行うための共有作業領域６７および個人作業領域６８がワークプロセス実行インタフェース４６の表示画面上に表示される。なお、これらの個人作業領域６８、共有作業領域６７では、当該作業空間データ内に保持されているオブジェクト群のフィールドによって示されるオブジェクトデータのオブジェクトタイプのフィールドに対応したアイコンが表示される。このとき、同じくオブジェクトデータの位置の情報に含まれるアクティビティＩＤ、個人作業領域６８と共有作業領域６７を区別する個人・共有タグ、および領域内での位置情報であるＸ座標、Ｙ座標に基づいてアイコンを表示する。なお、新たなサービスを開始した時点では、各オブジェクトの位置の情報は、その前のサービスでアイコンが置かれていた位置の値に再設定された後、各オブジェクトのアイコンが表示される。ここで、位置の情報中のアクティビティＩＤには、当該選択されたアクティビティに対応したアクティビティＩＤがセットされる。なお、同一のアクティビティＩＤを複数のアクティビティで持つ場合（すなわち、合成アクティビティの場合）は、共有作業領域６７は、それら複数のアクティビティＩＤ間で共有される。また、並列で実行されていた複数のサービスの後工程として、ある１つのサービスが実行される場合は、それら複数のサービスで利用されていた位置が後工程のサービスにおいてそのまま利用される。
【００７８】
図１２は、共有作業領域におけるイベントの伝播処理の一例を示すフローチャートである。共有作業領域６７において、ワークプロセス実行インタフェース４６を操作しているユーザが、マウス等によりオブジェクトに対応したアイコンを操作すると、Ｓ１２１においてその操作イベントを、例えばイベントハンドラなどによって検出する。そしてＳ１２２において、当該作業空間データのワークプロセス中の、現在、アクティビティリストで選択しているサービスに対応するアクティビティを取り出す。Ｓ１２３において、Ｓ１２２で取り出した、アクティビティのサービス提供者アドレスに格納されているすべてのアドレスに対して、操作イベントを送信する。このイベントの送信には、例えばＪａｖａのオブジェクト直列化の技術によりネットワーク２６上で交換可能なデータにイベントを変換し、Ｊａｖａプラットフォームが提供する遠隔メソッド呼び出し（ＲＭＩ）の機構により伝播することが可能である。
【００７９】
また、オブジェクトに対応したアイコンの個人作業領域６８または共有作業領域６７上での位置は、変更に伴い、逐次、作業空間データのオブジェクトデータ中の位置の情報として格納される。位置の情報中のアクティビティＩＤには、現在、選択されているサービスに対応したワークプロセス中のアクティビティのアクティビティＩＤが、個人・共有タグには個人作業領域６８または共有作業領域６７に対応した識別子が、Ｘ座標、Ｙ座標には、それぞれの領域内での位置が格納される。
【００８０】
また、例えばサービス提供側クライアント２４，２５など、他の装置からイベントが通知された場合には、Ｓ１２４においてこれを検出し、Ｓ１２５において、検出したイベントの操作を供給作業領域６７に反映する。
【００８１】
共有作業領域６７または個人作業領域６８上でオブジェクトに対応したアイコンをマウスにより選択し、例えば右ボタンを操作するなど、所定の操作を行うことによって、オブジェクトの操作に関する例えばポップアップメニューを表示させることができる。ポップアップメニューとしては、「切り取り」、「コピー」、「生成」、「貼り付け」、「編集」、「削除」などが表示される。図９に示した例においては、「切り取り」、「コピー」、「生成」、「編集」、「削除」のみが表示されている。
【００８２】
「生成」を選択すると、指定されたオブジェクトタイプに応じた新たなオブジェクトが生成され、作業空間データに格納される。これと同時に、オブジェクトデータ内の位置の情報も設定される。「編集」を選択すると、当該アイコンに対応したオブジェクトデータが作業空間データ内から取り出され、文書編集用のアプレットがＷｅｂブラウザ３１にロードされ、別のウィンドウ内で編集が可能になる。また、「削除」が選択されると、当該アイコンに対応したオブジェクトが作業空間データ内から削除される。また、「切り取り」または「コピー」が選択されると、当該アイコンに対応したオブジェクトがメモリ内に確保されたペースト領域内にコピーされ、「貼り付け」が指示された際に、その時点でマウスにより指示された場所を位置情報とする新たなオブジェクトが生成される。なお、「切り取り」が指定された場合、その時点で指示されたオブジェクトは作業空間データから削除される。
【００８３】
ワークプロセス実行インタフェースの表示画面中のメッセージ交換領域６４は、図９に示すように、メッセージ表示領域６５とメッセージ入力領域６６によって構成される。ここで、メッセージ入力領域６６にメッセージが入力されると、そのメッセージは、当該作業空間データ中のメッセージ格納領域に格納される。図３に示したように、メッセージはメッセージ本体と、発信日時と、発信者によって構成されている。入力されたメッセージ文はメッセージ本体に、計算機に内蔵された時計から取得された時間が発信日時に、当該クライアントのマシンアドレスが発信者に格納される。それと同時に、メッセージ表示領域６５に、発信者のアドレスとともに、メッセージ本体に格納されたメッセージが、発信時刻の順に、逐次、表示されてゆく。
【００８４】
ワークプロセス実行インタフェース４６の表示画面において、作業空間リスト領域６１で作業空間が選択され、その作業空間に関するワークプロセスがアクティビティリスト領域６２に表示されている状態で、既に実行を完了したサービス（アクティビティ）を選択する。すると、その選択したサービスにおけるサービス提供の担当者と協調作業を行った結果の共有作業領域６７および個人作業領域６８が表示される。なお、ここではオブジェクトの位置を変更することはできないが、例えばマウスの右ボタンを操作するなどしてポップアップメニューを表示させ、その「切り取り」により、選択されたオブジェクトのオブジェクトデータを取り出し、メモリ上のペーストバッファに蓄積することができる。そして、このペーストバッファ内に蓄積されたデータを、現在、操作中の個人作業領域６８や共有作業領域６７において、同じく例えばマウスの右ボタンを操作するなどしてポップアップメニューを表示させて、その「貼り付け」によって編集可能な形に復元することができる。
【００８５】
ワークプロセス実行インタフェース４６の表示画面において、作業空間リスト領域６１中で作業空間が選択された状態で、ワークプロセス実行制御パネル６３上の「履歴出力」ボタンを操作すると、その時点までに受けてきた一連のサービスをワークプロセスのファイルとして出力することができる。図１３は、ワークプロセス出力指定用画面の一例の説明図である。「履歴出力」ボタンの操作によって、例えば図１３に示すような、出力先を指定するためのウィンドウがオープンする。ここでワークプロセスを出力する出力先ファイル名などを入力し、例えば「完了」ボタンを操作する。
【００８６】
出力先ファイルの指定が完了すると、当該作業空間に対応した作業空間データ中のワークプロセスに格納されているアクティビティのうち、実行状態が“完了”のアクティビティがトレースされて取り出される。そして、図５で示したような形式の構文で記述されるワークプロセスとして、図１３で示したウィンドウで指定された出力先ファイルに出力される。このようにして出力されたファイルは、例えば作業空間の生成時に指定すればワークプロセスとして読み込むことができるので、ワークプロセスを再利用することが可能である。また、このファイルを、例えば共用データベースなどに保持させておけば、複数のユーザで同じワークプロセスを共用することができる。
【００８７】
ここでは、ワークプロセス中のアクティビティの実行状態が“完了”のものを“履歴”として扱った。これに限らず、例えば作業空間データに、さらに履歴のフィールドを保持させてもよい。履歴のフィールドには、任意の時点までに受けてきたサービスの履歴を、例えば時間の情報とともに保持させることができる。ユーザは、時間に基づいて履歴を取り出し、そのときに使用していた操作対象（文書、メッセージ、アプリケーションプログラム、および各サービスのサービス提供インタフェース５６との間に確立されたコミュニケーションチャネル）にアクセスすることが可能である。これによって、これまでに享受したサービスについて記憶している必要がなくなり、所望すれば作業や時間などをキーとして検索することが可能となる。また、上述と同様に、ユーザはワークプロセス実行インタフェース４６を通じて、その履歴のデータを取り出し、再実行可能なワークプロセスデータのファイルとして出力することができる。出力されるファイルは、例えば図５に示した形式のデータとして履歴のデータを保持し、ワークプロセス実行インタフェース４６を介して読み込ませることによって、上述のようにワークプロセスとして作業空間保持領域４２に保持させることができる。
【００８８】
次に、サービス提供側におけるサービス提供に伴う動作について説明する。サービス提供マネージャ３３のトークン受信機構５１は、ネットワーク４６を介して送られてくるトークンを受信し、図７に示すようなデータ構造を持つトークン格納キュー５２に、新たな受信トークンとして順次格納してゆく。この際、新たに追加された受信トークンに対し、受信したトークンデータがトークンとして、サービス提供マネージャ３３が稼動している計算機が保持する時計により得られる現在時刻が受信時刻として、それぞれ設定される。
【００８９】
トークン格納キュー５２に格納された各受信トークンは、例えば複数のサービス提供者によって共有するように構成することができる。これによって、複数のサービス提供者によりサービスを提供することができる。また、サービスの提供を中断することなく、サービスの混雑状況に応じて、動的にサービス提供者を増減することが可能である。
【００９０】
サービス提供側クライアント２４，２５上で稼動しているＷｅｂブラウザ３１からサービス提供マネージャ３３に対応するＵＲＬが指定されると、アプレット格納領域５４に格納されているサービス提供インタフェース５６のアプレットがネットワーク２６を介してＷｅｂブラウザ３１にロードされ、実行される。これによって、サービス提供側クライアント２４，２５のサービス提供者は、サービス提供インタフェース５６を介してサービスを提供できるようになる。
【００９１】
図１４は、サービス提供インタフェースがサービス提供者に提供する表示画面の一例の説明図である。図中、７１はサービス待ち作業空間リスト領域、７２はアクティビティリスト領域、７３はワークプロセス制御パネル、７４はメッセージ交換領域、７５はメッセージ表示領域、７６はメッセージ入力領域、７７は共有作業領域、７８はサービス提供者作業領域である。サービス提供インタフェース５６は、例えばＷｅｂブラウザ３１によって例えば図１４に示すような表示画面をサービス提供者に提示することができる。
【００９２】
サービス待ち作業空間リスト領域７１には、トークン格納キュー５２に蓄積されているサービス待ち状態にある受信トークンの要求元アドレスで示される作業空間名を一覧表示する。アクティビティリスト領域７２は、サブタスクや新たなワークプロセスを派生した場合のサブタスクやワークプロセスのアクティビティを表示する。ワークプロセス制御パネル７３は、ワークプロセスの実行を制御するための各種の仮想的なボタンを配置している。この例では、「サービス終了」ボタン、「サブタスク登録」ボタン、「サブタスク詳細化」ボタン、「派生」ボタンが配置されている。メッセージ交換領域７４は、メッセージ表示領域７５およびメッセージ入力領域７６から構成されており、サービス要求者と当該サービス提供者での同期、非同期型のメッセージ交換を行うための領域である。共有作業領域７７は、共有作業空間をアクセスするサービス要求者と当該サービス提供者で共有される領域である。サービス提供者作業領域７８は、サービス提供者が利用する領域である。
【００９３】
サービス待ち作業空間リスト領域７１に表示されている作業空間名の中から１つを選択し、例えばポップアップメニューから「サービス提供」を選択する。すると、選択されている作業空間名に対応するトークンがトークン格納キュー５２から取り出される。そして、そのトークンに含まれる要求元アドレスが示す作業空間データが保持するワークプロセス中のアクティビティを、トークンに含まれるアクティビティＩＤに基づいて取り出し、さらにそのアクティビティ中に格納された実行状態を取り出す。この実行状態の値が“中止”の場合は、実行を終了する。また、実行状態が“実行待ち”の場合は、実行状態を“実行中”に設定し、当該トークンに対応したサービス提供側の作業空間としてサービス提供者作業空間データが生成され、サービス提供者作業空間保持領域５３に保持される。なお、この際、サービス提供者作業空間データの作業空間ＩＤには、サービス提供マネージャ３３内で一意の識別子を設定する。また、サービス開始日時には、当該クライアントに内蔵された時計から検出した、トークンを取り出した日時を設定する。さらに、サービス提供者にはサービス提供者のユーザ名を、サービス提供先アドレスには当該トークンのサービス要求元に指定されたアドレスがそれぞれ設定される。またさらに、当該トークン中に含まれていたアクティビティＩＤをもとに、トークン中の要求元アドレスに基づいて取り出された当該サービス要求元の作業空間データ中に格納されているアクティビティのサービス提供者アドレスに、当該サービス提供者のアドレスを格納する。
【００９４】
これにより、サービス提供者側が固有に管理するデータはサービス提供者作業領域７８によって管理することが可能となり、例えばセキュリティ上の管理が容易となる。
【００９５】
また、サービス提供者が共有作業領域７７において行ったキー入力やマウス操作などは、イベントとしてサービス要求者に伝えられ、仮想的な作業空間上での操作を同時に共有しながら協調作業を行って、サービス要求者に対するサービスを提供することができる。
【００９６】
サービス提供インタフェース５６の表示画面の共有作業空間７７は、当該トークンの合成サービスタグが“合成”の場合、複数のサービス間で共有される。これにより、サービス要求側においてワークプロセスの実行上、複数のサービスを同時かつ協調的に受けることができ、サービス間で対話的な調整が必要とされるような場合に対処することができる。逆に、“合成”でなければ各サービス間で共有作業空間を共有できないので、各サービス間での操作対象の機密保持を実現することができる。
【００９７】
サービス提供インタフェース５６の表示画面中のメッセージ交換領域は、ワークプロセス実行インタフェース４６と同様、メッセージ表示領域７５とメッセージ入力領域７６によって構成される。ここで、メッセージ入力領域７６にメッセージが入力されると、そのメッセージは、当該トークン中の要求元アドレスによって特定される作業空間データ中のメッセージ格納領域に格納される。すなわち、入力されたメッセージ文がメッセージ本体に、計算機に内蔵された時計から取得された時間が発信日時に、当該クライアントのマシンアドレスが発信者に格納される。それと同時に、メッセージ表示領域７５に、発信者のアドレスとともに、メッセージ本体に格納されたメッセージが発信時刻の順に逐次表示されてゆく。これにより、サービス要求者との間で非同期的なコミュニケーションを図ることができ、互いに時間的な制約を受けることなく、作業を対話的に進めて行くことができる。
【００９８】
ワークプロセス制御パネル７３上で、「サービス終了」ボタンが操作されると、サービス提供先アドレスが示す作業空間データが参照され、当該トークン中に含まれていたアクティビティＩＤをもとに、その作業空間データ中のアクティビティを特定し、その実行状態に“完了”を設定する。
【００９９】
ワークプロセス制御パネル７３上で、「サブタスク登録」ボタンを操作すると、サブタスクの保存を行う。図１５は、サブタスク入力用のウィンドウの一例の説明図である。「サブタスク登録」ボタンの操作により、例えば図１５に示すようなサブタスク入力用のウィンドウがオープンする。ここで、サブタスクとなるサービス提供マネージャ３３のＵＲＬを指定すると、その結果は、サブタスク保存領域５５に保存される。
【０１００】
ワークプロセス制御パネル７３上で、「タスク詳細化」ボタンを操作すると、サブタスク保存領域５５に格納されているサブタスクが取り出される。そして、現在サービスを提供しているサービス提供先アドレスの作業空間データ内に格納されているワークプロセスに対し、当該トークンに含まれているアクティビティＩＤにより特定されるアクティビティのサブタスクとして、取り出したサブタスクを設定する。
【０１０１】
このようなサブタスクの設定機構を利用することによって、ワークプロセスを構成する一連のサービス群を、作業の開始時点で詳細に指定しなくても、ワークプロセスに従ってサービスを受けて行く過程でワークプロセスを段階的かつ動的に詳細化することができる。これにより、システムの柔軟性を高めることができる。
【０１０２】
ワークプロセス制御パネル７３で「派生」ボタンを操作すると、新たな作業空間データが生成される。そして、生成した作業空間データの派生元作業空間に当該サービス提供者が現在扱っている作業空間に対応したサービス提供先アドレスを設定し、その新たに生成された作業空間に対応したワークプロセス実行インタフェース４６のウィンドウがオープンする。また、これと同時に、派生元になった当該サービス提供者が処理中の作業空間に対応したサービス提供先アドレスで示される作業空間データの派生先作業空間には、当該新たに生成された作業空間データのＵＲＬが設定される。
【０１０３】
この派生の処理によって、サービス要求者が直接的に関与しない、サービス提供者が主体となって実行する一連の作業を、派生元の作業空間に対応付けて管理することが可能となる。サービス提供者は、サービス提供中のある作業空間に対して派生させた作業空間を取り出したり、ある派生させた作業空間上でのワークプロセスの完了に伴って、派生元の作業空間を取り出し、サービスの提供を継続することができる。
【０１０４】
図１６は、本発明のワークプロセス管理装置の実施の一形態における第２の構成例を示すブロック図である。図中、図２と同様の部分には同じ符号を付して説明を省略する。８１はアプリケーション起動条件指定フォーム生成機構、８２はアプリケーション起動ルール保存領域、８３はアプリケーション起動ルール入力インタフェース機構である。この第２の構成例では、条件に応じたサービス提供環境を設定する例を示している。
【０１０５】
サービス提供マネージャ３３は、さらに、アプリケーション起動条件指定フォーム生成機構８１、アプリケーション起動ルール保存領域８２を有している。アプリケーション起動条件指定フォーム生成機構８１は、サービス提供環境条件指定フォーム生成手段を構成するものであり、属性をもとに問い合わせフォームを生成する。問い合わせフォームは、例えばＨＴＭＬ形式などの形式で生成することができる。アプリケーション起動ルール保存領域８２は、サービス提供環境準備規則保持手段を構成するものであり、トークンを受け取った際に、サービスの提供に伴って自動的に準備する各種のアプリケーションの起動に関するルールを保存する。
【０１０６】
また、サービス提供マネージャ３３のアプレット保存領域５４は、アプリケーションの起動に関するルールを指定するためのアプリケーション起動ルール入力インタフェース機構８３のアプレットを保持している。
【０１０７】
アプリケーションの起動に関するルールは任意のデータ形式でよい。ここでは具体例として、「ＩＦ  属性  比較演算子  値  ＴＨＥＮ  アプリケーション（引数１，  引数２，  …）」という形式で記述されるものとする。なお、ここで、比較演算子は、“＝”（値と等しい）、“＞”（値より大きい）、“＜”（値より小さい）、“＜＝”（値以下）、“＞＝”（値以上）、“！＝”（値と等しくない）のいずれかである。また、起動されるアプリケーションは、文書編集、スプレッドシート等のプログラム、および、Ｗｅｂブラウザなどが考えられる。
【０１０８】
図１７は、第２の構成例におけるトークン格納キューおよび受信トークンのデータ構造の一例の説明図である。トークン格納キュー５２に格納される受信トークンは、図７に示した情報に加え、アプリケーションの起動に関するサービス起動条件の情報として、サービス起動条件の属性名と、サービス要求者から指定された属性値の対を追加している。
【０１０９】
次に、本発明のワークプロセス管理装置の実施の一形態における第２の構成例における動作の一例について、条件に応じてサービスを提供する部分について主に説明する。サービス提供側クライアント２４，２５のＷｅｂブラウザ３１では、アプレット保存領域５４に保存されているアプリケーション起動ルール入力インタフェース８３のアプレットをロードし、起動することにより、アプリケーション起動ルール入力インタフェース８３が提供される。
【０１１０】
図１８は、アプリケーション起動ルール入力インタフェース８３の表示画面の一例の説明図である。アプリケーション起動ルール入力インタフェース８３によって、サービス提供者には図１８に示すようなルール入力用の表示画面がＷｅｂブラウザ３１により表示される。ここで、アプリケーションの起動に関するルールを入力することになる。図１８に示した例では、上述の「ＩＦ  属性  比較演算子  値  ＴＨＥＮ  アプリケーション（引数１，  引数２，  …）」の形式でルールが入力されている。例えば最初のルールでは、見積金額が１０万円を超える場合には、高額見積もり台帳ファイルを“ワープロ”で開くことを示している。次のルールでは、見積先が“Ａ商事”であれば、所定のＨＴＭＬ文書を“ブラウザ”で表示することを示している。このようにして入力されたルールは、アプリケーション起動ルール保存領域８２に保存される。
【０１１１】
サービス提供マネージャ３３では、トークン受信機構５１によってトークンが受信されると、アプリケーション起動条件指定フォーム生成機構８１を起動し、アプリケーション起動ルール保存領域８２中に保存されている全ルールの“属性”を取り出し、それらの“属性”で構成される条件入力用のＨＴＭＬ形式のフォームを生成する。
【０１１２】
アプリケーション起動条件指定フォーム生成機構８１で生成されたＨＴＭＬフォームは、トークン中の要求元アドレスによって指定されたアドレスを元に、例えばＲＭＩの機構などを用いて、サービス要求側クライアント２１においてオープンされる。この処理は、例えばサービス提供者側における新たなワークプロセスの派生処理によって行うことができる。
【０１１３】
図１９は、アプリケーション起動条件指定フォームのウィンドウの一例の説明図である。サービス要求側クライアント２１では、アプリケーション起動条件指定フォーム生成機構８１で生成されたＨＴＭＬフォームを受け取ることによって、例えば図１９に示したようなアプリケーション起動条件指定フォームのウィンドウがオープンする。そして、ユーザはこのウィンドウにおいて、各“属性”に対する条件を入力することができる。
【０１１４】
ユーザからの属性に対する条件の入力の完了とともに、入力された各属性値がサービス提供マネージャ３３に送られ、トークン格納キュー５２に保存されている当該受信トークンのサービス起動条件として格納される。
【０１１５】
サービス提供者がサービス提供インタフェース５６を通じてトークン格納キュー５２から受信トークンを取り出し、サービスを開始すると、その受信トークン中に含まれているサービス起動条件をもとに、自動的にアプリケーションが起動され、サービス提供者作業空間上にアプリケーションが起動される。
【０１１６】
このようにして、サービスを要求するユーザの指定した条件に従って、サービスを提供する際に必要となる文書やアプリケーションプログラムを自動的に起動してサービスの準備を行うことができ、効率的にサービスを提供することができる。上述の例では、ユーザに対して条件の入力を要求したが、例えば受信トークンの内容や、サービス提供者側の情報で判断できる場合には、自動的にサービスの提供に必要な文書やアプリケーションプログラムを起動するように構成することもできる。
【０１１７】
図２０は、本発明のワークプロセス管理装置の実施の一形態における第３の構成例を示すブロック図である。図中、図２と同様の部分には同じ符号を付して説明を省略する。９１は検索結果出力機構、９２は検索条件入力フォーム表示機構、９３は自動データベース検索機構、９４はデータベースである。この構成例では、サービスを自動的に提供する例を示している。
【０１１８】
サービス提供側サーバ２３は、サービス提供マネージャ３３とともに、データベース９４を有している。データベース９４は、サービス提供側がサービス要求側に提供するサービスを蓄積している。
【０１１９】
サービス提供マネージャ３３は、検索結果出力機構９１、検索条件入力フォーム表示機構９２、自動データベース検索機構９３を有している。検索条件入力フォーム表示機構９２は、データベース検索の自動サービス提供を指示するための実行条件を入力するフォームを、ワークプロセス実行インタフェース４６の共有作業領域６７（図９）に表示する。自動データベース検索機構９３は、検索条件入力フォーム表示機構９２を用いて入力されたフォームに基づいて、データベース９４を検索する。検索結果出力機構９１は、自動データベース検索機構９３によるデータベース９４の検索結果をワークプロセス実行インタフェース４６の共有作業領域６７上に出力する。
【０１２０】
次に、本発明のワークプロセス管理装置の実施の一形態における第３の構成例の自動サービス提供に関する動作の一例について説明する。検索条件入力フォーム表示機構９２では、トークンが受信されると、トークン中の要求元アドレスによって指定されたアドレスを元に、例えばＲＭＩの機構などを用いて、予め用意されているデータベース検索条件式を指定するための検索条件入力フォームをサービス要求側クライアント２１に送る。この処理は、例えばサービス提供者側における新たなワークプロセスの派生処理によって行うことができる。
【０１２１】
図２１は、検索条件入力フォームのウィンドウの一例の説明図である。サービス要求側クライアント２１では、検索条件入力フォーム表示機構９２から受け取った検索条件入力フォームにより、例えば図２１に示したようなウィンドウが表示される。ユーザは、このフォームを用いて、検索条件を入力する。検索条件式は、例えばキーワードと、ＡＮＤ、ＯＲなどのブール演算子を組み合わせて表現することができる。図２１に示した例では、ＡＮＤ条件を‘＊’、ＯＲ条件を‘＋’で示し、演算の優先順位を括弧によって示している。
【０１２２】
検索条件入力フォーム表示機構９２が表示した検索条件入力フォームのウィンドウにおける検索条件の入力が完了すると、その検索条件の入力結果は自動データベース検索機構９３に送られる。自動データベース検索機構９３は、入力された検索条件をもとに、データベース９４を検索する。
【０１２３】
データベース９４を検索した結果は、検索結果出力機構９１によって、定型の文書に変換され、文書としてワークプロセス実行インタフェース４６の表示画面の共有作業領域６７上に出力する。なお、ここで、ワークプロセス実行インタフェース４６の表示画面の共有作業領域６７への検索結果文書の出力は、トークン中の要求元アドレスが示す作業空間データに対して、例えばＲＭＩの機構によるデータ転送により実現することができる。
【０１２４】
ここでは、検索結果として文書が得られた場合について示したが、これに限らず、データベース９４にサービスを提供するアプリケーションを蓄積させておき、検索結果として得られたアプリケーションを実行させてその実行結果をユーザに提供するように構成してもよい。
【０１２５】
このようにして、例えば定型のサービスなどについては自動的に実行し、ユーザに対してサービスを提供することができる。
【０１２６】
【発明の効果】
以上の説明から明らかなように、本発明によれば、ワークプロセスを集中的に管理する機構が不要であり、インターネットのように、ネットワーク全体を管理する特定の管理機構や管理者を置くことが難しい広域ネットワーク環境下において、世界的な規模でのワークプロセスの実行を行うことが可能となる。
【０１２７】
また、ワークプロセスの実行機構が、サービス要求者側に分散して配置され、サービスを提供する機構とは独立して稼動するため、特定のワークプロセス実行機構における障害、および特定のサービス提供機構における障害が、全体のワークプロセスの実行に影響を与えることがない。このため、従来の方式に比べて、系全体としての信頼性を高めることができると同時に、系全体としての半永久的な連続稼動を可能にする。
【０１２８】
さらに、サービス提供機構がワークプロセスの実行管理とは切り離されているため、ワークプロセスの実行とは独立に、段階的に新たなサービス提供機構を追加・変更・削除することが可能になる。
【０１２９】
さらに、各ワークプロセスに対応して生成される仮想的な作業空間に、文書、コミュニケーションチャネル等の関連情報が対応付けられているため、文書、対話先などをワークプロセスを単位にして管理することができる。これにより、操作上のユーザの認知負荷を軽減することができる。
【０１３０】
さらに、高い対話性が必要とされるサービスについては、同期型のコミュニケーション手段を用いてサービスを提供し、時間的な制約から開放したサービスを提供する場合には非同期的なコミュニケーション手段を用いるというように、サービスの性質に応じたコミュニケーション手段を状況に応じて選択することができる。
【０１３１】
さらに、サービス提供側でのサービス提供インタフェースは、共有のサービス要求管理機構とは独立に動的に追加・削除することができるため、サービスへの混雑度に応じてサービス提供者を配置することができる。それとともに、ネットワーク上で相互に離れた位置にいてもネットワークを通じてサービス提供インタフェースからサービス要求管理機構にアクセスすることによってサービスを提供することができる。
【０１３２】
さらに、サービス要求側でのワークプロセス実行機構とサービス要求側のインタフェースは独立しているため、サービス要求者は、ネットワークを通じ、さまざまな場所でサービス要求インタフェースからワークプロセス実行機構にアクセスすることによりサービスを享受することができる。
本発明によれば、このように種々の効果がある。
【図面の簡単な説明】
【図１】  本発明のワークプロセス管理装置の実施の一形態を示す基本構成図である。
【図２】  本発明のワークプロセス管理装置の実施の一形態における第１の構成例を示すブロック図である。
【図３】  作業空間データのデータ構造の一例の説明図である。
【図４】  ワークプロセスのデータ構造の一例の説明図である。
【図５】  ワークプロセスを記述したファイルの記述形式の一例の説明図である。
【図６】  トークンのデータ構造の一例の説明図である。
【図７】  第１の構成例におけるトークン格納キュー領域および受信トークンのデータ構造の一例の説明図である。
【図８】  サービス提供者作業空間データのデータ構造の一例の説明図である。
【図９】  ワークプロセス実行インタフェースがユーザに提供する表示画面の一例の説明図である。
【図１０】  ワークプロセスを記述したファイルを指定するためのウィンドウの一例の概観図である。
【図１１】  ワークプロセスを実行させ、サービス提供マネージャ３３に対してトークンを送信する処理の一例を示すフローチャートである。
【図１２】  共有作業領域におけるイベントの伝播処理の一例を示すフローチャートである。
【図１３】  ワークプロセス出力指定用画面の一例の説明図である。
【図１４】  サービス提供インタフェースがサービス提供者に提供する表示画面の一例の説明図である。
【図１５】  サブタスク入力用のウィンドウの一例の説明図である。
【図１６】  本発明のワークプロセス管理装置の実施の一形態における第２の構成例を示すブロック図である。
【図１７】  第２の構成例におけるトークン格納キューおよび受信トークンのデータ構造の一例の説明図である。
【図１８】  アプリケーション起動ルール入力インタフェースの表示画面の一例の説明図である。
【図１９】  アプリケーション起動条件指定フォームのウィンドウの一例の説明図である。
【図２０】  本発明のワークプロセス管理装置の実施の一形態における第３の構成例を示すブロック図である。
【図２１】  検索条件入力フォームのウィンドウの一例の説明図である。
【符号の説明】
１…ユーザ側構成、２…サービス提供者側構成、３…トークン、１１…ワークプロセス指定部、１２…作業空間保持部、１３…ワークプロセス解釈部、１４…サービス要求送信部、１５…サービス要求者インタフェース部、１６…サービス要求受信蓄積部、１７…サービス提供者インタフェース部、２１…サービス要求側クライアント、２２…サービス要求側サーバ、２３…サービス提供側サーバ、２４，２５…サービス提供側クライアント、２６…ネットワーク、３１…Ｗｅｂブラウザ、３２…ワークプロセス実行エンジン、３３…サービス提供マネージャ、３４…ＨＴＴＰサーバ、４１…ワークプロセス生成指定部、４２…作業空間保持領域、４３…ワークプロセスインタプリタ、４４…トークン送信機構、４５…アプレット保存領域、４６…ワークプロセス実行インタフェース、５１…トークン受信機構、５２…トークン格納キュー、５３…サービス提供者作業空間保持領域、５４…アプレット保存領域、５５…サブタスク保存領域、５６…サービス提供インタフェース、６１…作業空間リスト領域、６２…アクティビティリスト領域、６３…ワークプロセス制御パネル、６４…メッセージ交換領域、６５…メッセージ表示領域、６６…メッセージ入力領域、６７…共有作業領域、６８…個人作業領域、７１…サービス待ち作業空間リスト領域、７２…アクティビティリスト領域、７３…ワークプロセス制御パネル、７４…メッセージ交換領域、７５…メッセージ表示領域、７６…メッセージ入力領域、７７…共有作業領域、７８…サービス提供者作業領域、８１…アプリケーション起動条件指定フォーム生成機構、８２…アプリケーション起動ルール保存領域、８３…アプリケーション起動ルール入力インタフェース機構、９１…検索結果出力機構、９２…検索条件入力フォーム表示機構、９３…自動データベース検索機構、９４…データベース。
【図１】
0003931941.tif 000002
【図２】
0003931941.tif 000003
【図３】
0003931941.tif 000004
【図４】
0003931941.tif 000005
【図５】
0003931941.tif 000006
【図６】
0003931941.tif 000007
【図７】
0003931941.tif 000008
【図８】
0003931941.tif 000009
【図９】
0003931941.tif 000010
【図１０】
0003931941.tif 000011
【図１１】
0003931941.tif 000012
【図１２】
0003931941.tif 000013
【図１３】
0003931941.tif 000014
【図１４】
0003931941.tif 000015
【図１５】
0003931941.tif 000016
【図１６】
0003931941.tif 000017
【図１７】
0003931941.tif 000018
【図１８】
0003931941.tif 000019
【図１９】
0003931941.tif 000020
【図２０】
0003931941.tif 000021
【図２１】
0003931941.tif 000022