(57)【要約】【課題】作業項目（１０）へのアクセス又は作業項目の処理を制御するコンピュータ・システム（１６）が実行可能な方法を提供すること。【解決手段】作業項目（１０）は、少なくとも１人のオペレータによって後に実行されるために、作業項目（１０）のデータベース（１４）に記憶される。この方法は、それぞれが１つの組織に対応する複数の組織識別子（４４）を記憶する。また、それぞれに組織識別子（４４）の中の１つが関連付けされた定義的データ項目（５６）も記憶されている。この方法は、オペレータが、作業項目（１０）へのアクセス又は作業項目の処理を制御する定義的データ項目（５６）と関連付けされているのと同じ組織識別子（４４）と関連付けされている場合にのみ、オペレータに、定義的データ項目（５６）の中の１つへのアクセスを提供する、又は、オペレータが、定義的データ項目の中の１つによって影響を受けることを許容する。【選択図】図１
2011175683.tif 000002
【特許請求の範囲】
【請求項１】
データベース（１４）に記憶されておりオペレータ識別子と関連して実行される作業項目（１０）の処理を制御する方法を実現するコンピュータ・プログラムとデータ構造とが記録されているコンピュータ読取可能な媒体を有するシステム（１６）であって、前記データベースは、それぞれが前記オペレータ識別子と関連付けられている複数の組織によって用いられるシステムにおいて、前記方法は、
前記複数の組織の中の対応する１つとそれぞれが関連付けられている複数の組織識別子をメモリ（３７）に記憶するステップと、
前記複数の組織識別子の中の１つとそれぞれが関連付けられており、作業項目を処理するための規則を定義する複数の定義的データ項目を前記メモリ（３９）に記憶するステップと、
新たな定義的データ項目を記憶すべきかどうかを、前記新たな定義的データ項目と関連付けられている組織識別子に基づいて、判断するステップと、
前記定義的データ項目によって特定される規則に従って作業項目を処理するステップと、
を含むことを特徴とするシステム。
【請求項２】
データベース（１４）に記憶されており組織と関連付けられているオペレータ識別子と関連して実行される作業項目（１０）の処理を制御する方法を実現するコンピュータ・プログラムとデータ構造とが記録されているコンピュータ読取可能な媒体を有するシステム（１６）であって、前記方法は、
前記作業項目を処理する際に用いることができそれぞれが規則の組と関連付けられている複数のノードを定義する情報を、メモリ（１７５）に記憶するステップと、
選択されたノードの間の組織上の関係を定義して前記作業項目の処理を制御するプログラマブルなデータ構造を前記メモリ（７３）に記憶するステップと、
前記ノードの間の組織上の関係を提供して、前記オペレータ識別子の中の１つと関連して前記作業項目の中の１つの処理の変更を制御するステップと、
このプロセスの少なくとも２つのノードの間での前記作業項目のフローを、このプロセスのそれぞれの対応するノードと関連付けられた規則の組に従って制御するプロセスであって、前記ノードの間の組織上の関係と適合的であるプロセスを実行するステップと、
を含むことを特徴とするシステム。
【請求項３】
データベース（１４）に記憶されておりオペレータ識別子との関連で実行される作業項目（１０）へのアクセスを定義データに従って制御する方法を実現するコンピュータ・プログラムとデータ構造とが記録されているコンピュータ読取可能な媒体を有するシステム（１６）であって、前記方法は、
ネットワークされたエントリを有するネットワークされたデータ構造を第１のメモリに記憶するステップであって、前記ネットワークされたデータ構造は作業項目の操作のためのノードを有する組織に対応し、前記組織は階層的に構成されており、それぞれのネットワークされたエントリは前記ノードの中の１つに対応する、ステップと、
前記作業項目を操作するステップのシーケンスを特定するプロセス・テーブルを第２のメモリに記憶するステップと、
第１のノードと関連付けされた第１の定義的データ項目を第３のメモリに記憶するステップであって、前記第１のノードは前記ネットワークされたエントリの中の第１のエントリに対応し、前記第１のネットワークされたエントリは前記ネットワークされたデータ構造において前記ネットワークされたエントリの部分集合を定義し、前記部分集合は前記第１のネットワークされたエントリと前記第１のネットワークされたエントリに従属するすべてのネットワークされたエントリとから構成される、ステップと、
第２のノードと関連付けされた第２の定義的データ項目を第４のメモリに記憶する要求
を受け取るステップであって、前記第２の項目は前記第１の項目に依存しており、前記第２のノードは前記シーケンスにおける前記ステップの中の１つに対応し、前記第２のノードは前記ネットワークされたデータ構造における前記ネットワークされたエントリの中の第２のネットワークされたエントリに対応する、ステップと、
前記第２のネットワークされたエントリが前記第１のネットワークされたエントリによって定義されたネットワークされたエントリの前記部分集合に属するかどうかを判断するステップと、
前記判断の結論に基づいて、前記第２の定義的データ項目を前記第４のメモリに記憶し、前記第２の定義的データ項目に従って作業項目へのアクセスを制御するステップと、
を含むことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、広くは、コンピュータが実行可能なワークフロー管理及び制御システムに関し、更に詳しくは、コンピュータ・システムによってワークフロー作業項目のデータベースに記憶される作業項目へのアクセス又はそのような作業項目の処理を制御する、コンピュータ・システムが実行可能な方法に関する。
【発明の背景】
【０００２】
この技術分野において知られているように、ある組織上の構造（organizational structure）を有する組織のの構成員（メンバー）には、まだ実行されていない作業項目（work
items）のデータベースから、実行するための作業項目が提供される。これらの作業項目は、文書の記入、潜在的又は既存の顧客への電話による回答、取引の開始などのタスクを表している。作業項目は、組織の外部、内部又はその双方から、データベースに加わることがありうる。例えば、この組織が金融サービスを提供するものである場合には、作業項目は、顧客の口座の維持管理、売買の指示、内部的な管理指令などに関するものとなる。
【０００３】
作業項目を組織の構成員（すなわち、オペレータ）に配分するプロセスを自動化するワークフロー管理システムを実現することにより、効率性の向上を達成することができる。作業項目は、データベースに記憶される。作業項目には、定義的データが関連付けされている。定義的データは、複数の定義的データ項目を含む。それぞれの定義的データ項目には、例えば、作業項目を操作するプロセスにおけるステップ（すなわち、ノード）に関する情報、あるノードとの関係で実行されるのが適切である作業項目のリスト（すなわち、ノードと関連するキュー）に関する情報、作業項目に対する表示特性などの、作業項目を実行するプロトコルを特定するルールに関する情報、又は、その作業項目を行う可能性のある１人又は複数のオペレータの特性に関する情報が、含まれる。一般に、１つのノードは、典型的には、作業環境における１つのタスクを表す。例えば、この１つのタスクは、「新たな口座申請の提出」でありうる。更に詳しくは、１つのノードは、１つ又は複数のプロセスにおいて特定される作業の単位ステップを表す。例えば、新たな口座申請を扱うプロセスは、「新たな口座申請の承認」という単位ステップを表すノードを有する。それぞれのノードは、複数のプロセスにおいて用いられることがあり、その単一のタスク又は作業の単位ステップに責任を負う部門と関連付けされている。
【０００４】
本発明によるワークフロー管理システムでは、組織のそれぞれのメンバー（すなわち、オペレータ）は、パーソナル・コンピュータなどのコンピュータ・ステーションの位置に配置されている。コンピュータ・ステーションは、ワークフロー・アプリケーション・プログラムを動作させているコンピュータ・システムに接続されている。オペレータは、データベースから作業項目を要求する。作業項目が、定義的データに従って、割り当てられ、処理され、表示され、オペレータが終了すると、コンピュータステーションからの別の要求に応答して、新たな作業項目が、データベースからコンピュータ・ステーションに提供される。
【０００５】
組織によっては、部門、部局又は別個のビジネス・ユニットなどの、別々の下位組織に分けられており、それぞれの下位組織が、その下位組織の作業項目へのアクセス及びその処理について、何らかの制御を要求する場合がある。例えば、下位組織が、作業項目のフローを決定する異なるルールの組を要求するが、作業項目を共有する必要がありうる。複数の下位組織が別々のデータベースを用いてアクセス及び処理を制御子、別々のルールの組を有している場合には、作業項目は、作業項目の複写（コピー）を作成しそれらを分配することによって、共有されることになりうる。そのような場合には、複写をトラッキン
グすることが必要であるし、共有されている作業項目に関する定義的データのデータベース相互の一貫性が保証されなければならない。
【０００６】
ある提案されているシステムによると、１つのデータベースを用いて、異なる複数の組織の作業項目を記憶することが可能になる。この提案されているシステムでは、それぞれの下位組織が、その下位組織によって実行されるビジネス・アクティビティの特定のタイプとは無関係の一般的なアクセス・ルールを維持する。更に、この提案されているシステムでは、それぞれの下位組織が維持しているアクセス・ルールは、その下位組織には関係のない作業項目には、その下位組織かアクセスできないようになっている。組織又は下位組織の１つの構造を変更するには、典型的には、それぞれの下位組織のアクセス・ルールを変更することが要求される。
【発明の概要】
【０００７】
本発明の１つの側面によると、作業項目（work item）へのアクセス又は作業項目の処
理を制御する、コンピュータ・システムが実行可能な方法が提供される。作業項目は、少なとくも１人のオペレータによって後に実行されるために作業項目のデータベースに記憶される。データベース（おそらくは、このデータベースと関連付けされた何らかの計算リソースと共に）は、複数の組織によって用いられる。オペレータは、複数の組織の中の１つに所属している。この方法は、複数の組織識別子（organization identifiers）をメモリに記憶する。これらの複数の組織識別子のそれぞれには、組織の中の対応する１つが関連付けされている。メモリには、定義的データ項目も記憶される。定義的データ項目のそれぞれには、組織識別子の中の１つが関連付けされている。この方法は、オペレータが定義的データ項目と関連付けされているのと同じ組織識別子と関連付けされている場合にのみ、オペレータに、定義的データ項目の中の１つへのアクセスを提供する、又は、オペレータが、定義的データ項目の中の１つによって影響を受けることを許容する。定義的データ項目は、作業項目へのアクセス又は作業項目の処理を制御する。
【０００８】
この方法によると、それぞれの組織がそれ自体の識別子を有しており、定義的データ項目はそれらの識別子の中の１つと（従って、特定の組織と）関連しているので、異なる組織によって用いられる単一のワークフロー・システムを流れる作業項目のフローの確率と、それへの事後的な変更とが、容易になる。例えば、追加的な組織を、単に、その追加的な組織を第１のメモリ部分（メモリ領域、memory section）において追加的な組織識別子と関連付けすることによって、追加することができる。更に、この方法によれば、ワークフロー・システムの記憶装置の効率的な使用が可能となる。その理由は、複数の組織の定義的データ項目を同時に記憶しながら、他方で、組織識別子の結果として論理的に分離することができるからである。
【０００９】
本発明のこの側面の実現例には、次の特徴の中の１つ又は複数が含まれうる。メモリは、複数のオペレータのそれぞれを組織識別子の中の１つと関係させるデータ構造を記憶し、第３のメモリ部分に記憶されているデータ構造がオペレータの中の１人を定義的データ項目の中の１つと関連付けられたのと同じ組織識別子と関連付ける場合にのみ、組織のオペレータの中の前記１人に、定義的データ項目の中の１つへのアクセスを提供する、又は、そのオペレータが、定義的データ項目の中の１つによって影響され得る。定義的データ項目には、作業項目を操作するプロセスにおける１つのステップに対応するノードに関する情報、作業項目に対して表示、転送又は処理特性を特定するルール、オペレータの特性に関する情報、ノードと関連するキューの特性に関する情報、又は、項目タイプ・コード、状態コード又は値グループなどのセットアップ要素に関する情報が、含まれる。
【００１０】
本発明の別の側面によると、作業項目へのアクセス又は作業項目の処理を制御する、コンピュータ・システムが実行可能な方法が提供される。作業項目は、オペレータによって
後に実行されるために作業項目のデータベースに記憶されている。この方法は、作業項目を処理する際に用いることができるノードを定義する情報（例えば、ステップ、部門、人など）と、記憶されたノードの中の選択されたものの間の組織上の関係を定義し作業項目へのアクセス又は作業項目の処理を制御するプログラマブルなデータ構造とを、メモリに記憶する。このデータ構造は、ノードの間の組織上の関係を提供して、１人のオペレータによる作業項目の中の１つへのアクセスと作業項目の中の１つの処理とを制御するようにプログラムされている。
【００１１】
この方法によると、ある組織内の作業項目の進行を、プログラマブルな組織上の構造に従って制御することが可能になる。この方法によれば、作業項目が、組織の中の選択されたオペレータにだけアクセス可能とすることを保証するのが容易になる。
【００１２】
本発明のこの側面の実現例には、次の特徴の中の１つ又は複数が含まれうる。組織上の関係は、階層的又は行列指向でありうる。オペレータは、ノードの中の１つと関連付けすることができ、それぞれのノードは、その組織又は下位組織の中で作業項目を操作するプロセスにおける１つのステップに対応する。この方法は、更に、作業項目へのアクセス又は作業項目の処理を制御する際に用いられる定義的データ項目を記憶することを含む。
【００１３】
本発明の更に別の側面によると、作業項目へのアクセス又は作業項目の処理を制御する、コンピュータ・システムが実行可能な方法が提供される。作業項目は、データベースに記憶された定義的データに従ってオペレータによって後に実行されるために、作業項目のデータベースに記憶される。この方法は、階層的なメモリ部分に、ネットワークされたエントリ（例えば、ツリー・エントリ）を有するネットワークされたデータ構造（例えば、ツリー・データ構造）を記憶することを含む。ネットワークされたデータ構造は、作業項目の操作のためのノードを有する組織に対応する。ノードは、作業項目を処理するのに用いられるステップに対応し、例えば、組織又は下位組織の中の部門、又は、部門の中の人を表す。組織は、階層的に構成されており、それぞれのネットワークされたエントリは、ノードの中の１つに対応する。プロセス・メモリ部分は、ノートによって作業項目を操作するためのステップのシーケンスを特定するプロセス・テーブルを記憶する。定義的データ項目のメモリ部分は、ノードと関連する定義的データ項目を記憶する。
【００１４】
このような構成の下で、定義的データ項目のメモリ部分に、階層的なメモリ部分に記憶された階層的な構造に違反してノードの中の１つと関連することを意図している新たな定義的データ項目を記憶することの要求が受け取られると、システムは、そのような違反的な定義的データ項目の記憶を行わない。従って、組織がセットアップされた時点で（すなわち、階層的なメモリ部分と定義的データ項目とが確率されるときに）アクセス及び処理制御が確立されているから、そして、これは、作業項目がシステムの中を進行していく際にそれぞれの作業項目を個別的にチェックするのとは異なっているので、この方法によると、記憶されるために受け取られる定義的データを制限することによって、階層的な組織が、作業項目へのアクセス又は作業項目の処理を容易に制御することが可能になる。従って、作業項目を操作するワークフロー・システムをセットアップする（すなわち、定義する）、又は、ワークフロー・システムのセットアップを修正する時点で、組織がそのような制御を確立することを可能にすることによって、アクセス及び処理制御が堅固なものになる。これは、それぞれの作業項目を、事後的にチェックするという上述した方法とは異なる。
【図面の簡単な説明】
【００１５】
【図１】本発明による方法を実行するためのコンピュータ・システムのブロック図である。
【図２】本発明による図１のコンピュータ・システムによって記憶される作業項目のデータベースにおけるワークフロー作業項目へのアクセスを制御する方法の流れ図である。
【図３】本発明による図１のコンピュータ・システムによって記憶される作業項目のデータベースにおけるワークフロー作業項目へのアクセスを制御する方法の流れ図である。
【図４】本発明による図１のコンピュータ・システムによって記憶される作業項目のデータベースにおけるワークフロー作業項目へのアクセスを制御する方法の流れ図である。
【図５】図２−４の方法において用いられるデータ構造と組織構造とのブロック図である。
【図６】図２−４の方法において用いられるデータ構造と組織構造とのブロック図である。
【図７】図２−４の方法において用いられるデータ構造と組織構造とのブロック図である。
【図８】本発明の特徴を理解するのに有用な組織チャートである。
【図９】図８の組織チャートを有する組織においてワークフローを制御するのに用いられるデータ構造のブロック図である。
【図１０】図８の組織チャートを有する組織に対するワークフロー・プロセスを理解するのに有用な図である。
【図１１】図８の組織チャートを有する組織に対するワークフロー・プロセスを理解するのに有用な図である。
【発明を実施するための形態】
【００１６】
本発明のこれ以外の特徴及び効果は、本発明それ自体と共に、以下の詳細な説明を次の添付の図面と共に参照することによって、更に容易に明らかになるはずである。
次に図１を参照すると、作業項目（work item）１０へのアクセス又は作業項目１０の
処理を制御する図２−４の方法を実行するようにプログラムされているコンピュータ・システム１６が、示されている。作業項目１０は、ある組織に属するオペレータ（図示せず）によって後に実行されるために、作業項目１０のデータベース１４に記憶されている。オペレータは、１人の人間が例であるが、実際には、複数の人間であったり、１つ又は複数の自動化されたオペレータ・コンピュータ・プログラムでもありうる。データベース１４は、複数の組織、ここでは、ある組織の下位にある複数の組織によって用いられる。（しかし、これらの組織は、相互に組織的に関係していることは必要ないことを理解すべきである。複数の組織が、データベース１４や、データベース１４に関連する何らかの計算リソースを、単に共有していることもある。）
図１０に示されているプロセス５８1、５８2、５８3などの、作業項目１０を操作する
プロセスにおけるそれぞれのステップは、下位組織（部分組織、sub-organization）に割り当てられた１又は複数のオペレータによって、それぞれの下位組織において実行される。この方法には、下位組織識別子（ＯＲＧＩＤ）をメモリ部分３７（図５）に記憶することが含まれる。下位組織識別子（ＯＲＧＩＤ）のそれぞれには、下位組織、ここでは、図５に示されているような部門（すなわち、ＤＩＶ１、ＤＩＶ２、ＤＩＶ３など）の中の対応する１つが関連付けされている。別のメモリ部分３９（図６）は、複数の定義的データ項目（ルール５６、６８、７２など）を記憶するが、これらの複数の定義的データ項目のそれぞれには、図６に示されているように、下位組織識別子（ＯＲＧＩＤ）の中の対応する１つが関連付けされている。定義的データ項目のそれぞれが、作業項目へのアクセス又は作業項目の処理を制御する。別のメモリ部分４１（図７）が、データ構造を記憶するが、組織のオペレータ（ＯＰＩＤ）のそれぞれには、下位組織識別子（ＯＲＧＩＤ）の中の１つが、図７に示されているように、関連付けされている。組織のオペレータのそれぞれ（オペレータＡ１、０１など）は、メモリ部分４１に記憶されているデータ構造がオペレータの中のその１人をメモリ部分３９における定義的データ項目と関連付けされたのと同
じ下位組織識別子と関連付けする場合にだけ、定義的データ項目（例えば、ルール５６又は６８）へのアクセスが提供される、又は、定義的データ項目によって、影響される。例えば、オペレータ０１は、「１」として「ＯＲＧＩＤ」によって識別された組織に属する（すなわち、メモリ部分３７から、オペレータ０１は、ＤＩＶ１に属する）。このように、メモリ部分３９から、オペレータ０１には、定義的データ項目５６、６８、７２、７５へのアクセスが提供される、又は、定義的データ項目５６、６８、７２、７５によって影響されるが、メモリ部分３７、ＤＩＶ２からＯＲＧＩＤ「２」と関連付けされている定義的データ項目７７１については、そうはいえない。
【００１７】
更に詳しくは、作業項目１０は、複数のコンピュータ・ステーション１２の中の１つにおいて複数のオペレータの中の１人（図示せず）によって後に実行されるように、作業項目１０のデータベース１４に記憶される。作業項目１０のデータベース１４は、オラクル（Oracle（登録商標））社によるピラミッド（Pyramid（登録商標））データベース・シ
ステムのバージョン７．２を用いて実現することができる。コンピュータ・システム１６は、８つの中央処理装置と２ギガバイトの高速アクセス・メモリとを有するピラミッド（Pyramid（登録商標））ナイル（NILE（登録商標））コンピュータを含みうる。そして、
データ・センター・オペレーティング・システム（Dc-osx）などのオペレーティング・システムが、コンピュータ・システム１６上で動く。コンピュータ・システム１６は、また、ワークフロー管理システムを提供するのに用いられるキーとなる機能を提供するワークフロー・アプリケーション・プログラム２０を動かしている。ワークフロー管理システムの例としては、例えば、"Workflow Management Coalition Terminology & Glossary Issue 2.0(1996)"におけるワークフロー管理連合（Workflow Management Coalition）によっ
て説明されているものがある。これは、本出願において援用する。
【００１８】
コンピュータ・ステーションのそれぞれは、マイクロソフト（Microsoft（登録商標）
）社のウィンドウズ（Windows（登録商標））３．１、９５、ＮＴ（登録商標）などのオ
ペレーティング・システムを動かしているパーソナル・コンピュータでありうる。コンピュータ・システム１６とコンピュータ・ステーション１２とは、ＴＣＰ／ＩＰプロトコルを用いているコンピュータ・ネットワークによって提供されるネットワーク接続などの双方向データ接続バス１８を介して、相互に接続されている。
【００１９】
図２−４を再び参照すると、作業項目１０は、データベース１４に記憶される(ステッ
プ３００)。メモリ部分３７（図５）は、ここでは部門１（ＤＩＶ１）である第１の下位
組織４２（図８）を、ここでは「１」４４である第１の識別子と関連させ、また、ここでは部門２（ＤＩＶ２）である第２の下位組織４６（図８）を、ここでは「２」４７である第２の識別子と関連させる組織データ構造４０を記憶する（ステップ３１０）。メモリ部分３９（図６）は、複数の定義的データ項目（後で説明される）のそれぞれを識別子の１つと関連させる別のデータ構造を記憶する。これは、例えば、ルール５６を、ＤＩＶ１４２に対応する第１の識別子ＯＲＧＩＤ１と関連させるなどである（ステップ３２０）。メモリ部分４１（図７）は、オペレータ／管理者を識別子４４、４７の一方と関連付けするオペレータ／管理者データ構造５０を記憶する（ステップ３３０）。このようにして、例えば、メモリ部分４１から、ログインＩＤであるＡ１を有するオペレータ（ＯＰＩＤ）Ａ１は、ＯＲＧＩＤ１と関連付けされた管理者として、従って、メモリ部分３７からは、ＤＩＶ１の４２と関連付けされた管理者として指示される。図７に示されているように、ＯＰＩＤである０２は、そのオペレータ／管理者が、ＯＲＧＩＤ２と関連付けされたオペレータであることを、従って、メモリ部分３７からは、ＤＩＶ２の４６と関連付けされたオペレータであることを、指示する。それぞれのオペレータ／管理者（以下では単にオペレータと称する）は、オペレータのデータ構造５０が、そのオペレータを定義的データ項目の中の１つ（例えば、ルール５６）と関連付けされたのと同じ識別子（すなわち、第１の識別子４４）と関連付ける場合にだけ、定義的データ項目の中の１つ（例えば、ルール５
６）へのアクセスが提供される、又は、定義的データ項目の中のその１つによって影響される（ステップ３４０）。例えば、オペレータ０１は、メモリ部分４１から、ＯＲＧＩＤ１と関連付けされる。メモリ３７からは、ＯＲＧＩＤ１は、ＤＩＶ１の４２と関連付けされる。このように、メモリ部分３９からは、オペレータ０１は、ＤＩＶ１におけるすべてのメンバーと共に、ルール５６、６８、７２、７４、７５によって定義された作業項目１０を処理することができる。ここでは、ルール５６は、新たな口座申請を定義し、ルール６８は、新たな口座の承認を定義している。従って、オペレータ０１は、新たな口座申請と新たな口座の承認とを扱うことができる。他方で、オペレータ０２とＤＩＶ２に属する他のすべてのオペレータとは、ルール７７に従って作業を処理することができる。これは、これらのオペレータが、ＤＩＶ２である４６の中にいるからである。追加的な下位組織であるＤＩＶ３やＤＩＶ４が組織に加わる際には、単に、追加的なＯＲＧＩＤが、ここでは、新たな下位組織ＤＩＶ３及びＤＩＶ４のためのＯＲＧＩＤ「３」やＯＲＧＩＤ「４」が、メモリ部分３７に追加されるに過ぎないということに注意すべきである。そして、オペレータが追加されると、メモリ部分４１は、ＯＰ３やＯＰ４などのこれらの新たなオペレータを、新たな下位組織に関連付けする。新たな下位組織に対するルールは、容易に、メモリ部分３９における追加、削除、修正が可能である。ある下位組織が組織から削除される場合、組織がルールを変更することを望む場合、更には、組織がオペレータを追加、削除又は変更することを望む場合には、メモリ部分３７、４１、３９の中の１つ又は複数に適切な変更を行うだけであることにも、注意すべきである。
【００２０】
３つのメモリ部分３７、４１、３９を用いることにより、作業項目へのアクセス又は作業項目の処理を制御する際の融通性を増大させることが可能となる。更に詳しくは、再び図８を参照すると、それぞれの下位組織４２、４６は、ネットワークされたエントリを有するネットワークされたデータ構造を有していることに注意すべきである。ここでは、それぞれがツリー（tree）エントリを有するツリー・データ構造である。ツリー・データ構造は、作業項目を操作するためのノードＡ−Ｌを有する組織、ここでは下位組織に対応する。組織、ここでは下位組織は、階層的に構成されており、それぞれのツリー・エントリが、ノードの１つに対応する。ノードＡ−Ｌは、作業項目を処理するのに用いられるステップに対応し、例えば、下位組織の中の部門（departments）、又は、１つの部門の中の
人を表すことがある。例えば、ノードが部門である場合には、ノードＥ及びＦによって表される部門は、ノードＢによって表されている部門に報告を行い、ノードＢによって表される部門は、ノードＡによって表される部門に報告を行う。ノードが１つの部門の中の人である場合には、ノードＥ及びＦによって表される人は、ノードＢによって表されている人に報告を行い、ノードＢによって表される人は、ノードＡによって表される部門の長（manager）に報告を行う。
【００２１】
ネットワークされたデータ構造、ここでは、ツリー・データ構造６５は、別のメモリ部分７３に記憶された組織データ構造６４の中に現れる（図９）。そして、ノードＡ−Ｉは、ＯＲＧＩＤ１（すなわち、ＤＩＶ１の４２）に属するものとして示され、ノードＪ−Ｌは、ＯＲＧＩＤ２（すなわち、ＤＩＶ２の４６）に属するものとして示されている。更に、ノードＢ、Ｃ及びＤは、ノードＡに従属するものとして示され、ノードＥ及びＦは、ノードＢに従属するものとして示され、ノードＧ及びＨは、ノードＣに従属するものとして示され、ノード１は、ノードＤに従属するものとして示され、ノードＬ及びＫは、ノードＪに従属するものとして示されている。
【００２２】
作業項目を操作するステップのシーケンスを特定するプロセス・テーブル（図１０）は、別のメモリ部分（図示せず）に記憶される。１つのプロセス５８1によって、作業項目
が、ノードＡからノードＢに、更には、ノードＣに移動される。別のプロセス５８2によ
って、作業項目が、ノードＢからノードＡに、更には、ノードＩに移動される。そして、第３のプロセス５８3によって、作業項目が、ノートＥからノードＦに、更には、ノード
Ｃに移動される。
【００２３】
メモリ部分４１（図７）は、ノードと関連付けされた定義的データ項目（ここでは、オペレータ）を記憶する。従って、この例では、ＯＰＩＤＡ１は、ノードＢと関連付けされ、ＯＰＯ１は、ノードＫと関連付けされる等である。
【００２４】
動作に関しては、例えばノードＣなどの１つのノードと関連付けされた提案されている定義的データ項目（ここではルール）をメモリ部分３９（図６）に記憶させ、作業項目がノードＢによって処理された後で、その作業項目をノードＣに転送させるという要求が受け取られる場合を考える。更に、作業項目を定義する別の定義的データ項目が、ノードＢに関連付けされていることも仮定する。ノードＣはノードＢには従属しないから、提案されている定義的データ項目を記憶するという要求（作業項目がノードＢによって処理された後で、この作業項目をノードＣに転送させるというもの）は、無効である。その理由は、そのような要求は、メモリ部分７３（図９）において確立されている階層構造に違反するからである。従って、システムは、この「無効」である要求されている定義的データ項目が、メモリ部分３９に記憶されることを許さない。ワークフロー・システムがセットアップされる、又は、定義される時点で、メモリ部分３９においては、アクセス及び処理制御が確立されており、作業項目がシステムの中を進むにつれてそれらの作業項目を個別的にチェックするというのではないから、この方法によれば、階層的な組織が、記憶のための受け取られる定義的データに制限を加えることによって、作業項目へのアクセス又は作業項目の処理を容易に制御することが可能になる。従って、アクセス及び処理制御は、作業項目を操作するワークフロー・システムをセットアップする(すなわち、定義する)時点でそのような制御を組織が確立することを可能にすることによって、堅固なものとなる。これは、作業項目がシステムの中を進行するにつれて、事後的にそれぞれの作業項目をチェックするのとは異なっている。
【００２５】
再び図６を参照すると、定義的データ項目（ルール５６、６８など）は、ノードに関する情報、すなわち、"ASSOCIATED NODE"（関連ノード）を含みうる。従って、例えば定義
的データ項目５６は、関連ノードとして、ノードＡを含む。図１１を参照すると、システムは、作業項目を処理するのに用いることができるノード５２1−５２nのレパートリ（目録）を記憶する。既に述べたように、ノード５２1−５２nは、それぞれが、１つのプロセスにおける１つのステップに対応する。ここでは、示されているように、ノード５２1−
５２nは、ノードＡ−Ｌにそれぞれ対応する。例を挙げると、例示的なプロセス５８1では、プロセス・ステップのシーケンスは、ノードＡ（すなわちノード５２1）、ノードＢ（
すなわちノード５２2）、ノードＣ（すなわちノード５２1）の順になる。例示的なプロセス５８2では、プロセス・ステップは、ノードＢ（すなわちノード５２2）、ノードＡ（すなわちノード５２1）、ノードｌ（すなわちノード５２12）の順になる。同じノード、こ
こではノードＢが、複数のプロセスにおいて用いられていることに注意すべきである。従って、例示的なプロセス５８3では、プロセスは、シーケンシャルに、ノードＥ、Ｆ、Ｃ
の順になるが、ノードＣは、プロセス５８1でも用いられている。更に、ノード５２1−５２nのそれぞれに対して、オペレータのデータ構造５０（図７）が、オペレータを、別の
メモリ部分１７５（図６）に記憶されたノードのデータ構造６０におけるノード５２1−
５２nと関連付けされたのと同じ識別子（ＯＲＧＩＤ）と関連付けするときにのみ、オペ
レータは、プロセス５８1−５８3の１つにおいてノード５２1−５２nを用いることができる。ノード・データ構造６０（図６）を図８と比較する際には、ノード・データ構造６０は、図８に示されている組織上の関係を複写するように構成されていることに注意すべきである。更に、ノード・データ構造６０（図６）は、ノードＥを第１の識別子４４（ＯＲＧＩＤ「１」）、ここでは、識別を行う部門であるＤＩＶ１の４２（図８）と関係付けているので、ノードＥをそのように用いることは、オペレータのデータ構造５０（図７）がオペレータを第１の識別子ＯＲＧＩＤ「１」ＤＩＶ１４２と関連付けする場合にのみ、可
能である。従って、図７を参照すると、そのような使用は、オペレータ「Ａｄｍｉｎ１」及び「Ｏｐｅｒ１」の場合にだけ可能である。例えば、ＤＩＶ２４６の中のオペレータ０２は、ＤＩＶ１４２の中のノードＡ−Ｉのどれとも関連させることはできないし、ＤＩＶ１４２の中のノードＡ−Ｉのどれかによって表されるプロセス・ステップを実行することもできない。更に、ＤＩＶ２４６の中のオペレータ０２は、ノードＪ、Ｋ及び／又はＬと関連付けすることができない。
【００２６】
定義的データ項目は、作業項目１０に対する表示特性（図示せず）を特定するルール５６（図６）などのルールを含みうる。例えば、作業項目１０は、新たな口座申請（account application）に関するものであったり、関係する金額、口座番号、口座名義人、作業
項目の状態の指示者、期限などの情報を提供する様々なフィールドを有しうる。この場合には、ルール５６は、口座番号と名義人の氏名とが、予め定義されたコードの組に従って、オペレータのコンピュータ・ステーション１２のディスプレイ・スクリーン上に表示されるべきであると特定する。しかし、ルール５６は、ＯＲＧＩＤ「１」と関連しているので、オペレータのデータ構造５０がオペレータをルール５６と関連付けされたのと同じ識別子と関連付けるのでなければ、作業項目１０をオペレータに表示するのには用いることはできない（すなわち、オペレータが、ＯＲＧＩＤ「１」、ＤＩＶ１４２の中にいるときにだけ、可能である）。例えば、ルールのデータ構造４８は、ルール５６を、第１の下位組織（ＤＩＶ１）４２（図５）と関連付けされたＯＲＧＩＤ「１」と関連させるので、オペレータのデータ構造５０がオペレータをＯＲＧＩＤ「１」ＤＩＶ１４４識別子と関連付ける場合にだけ、オペレータは、自分のコンピュータ・ステーション１２のスクリーン上で、作業項目１０を見ることができる。この場合にも、このような関連付け（association）は、オペレータ「Ａｄｍｉｎ」及び「Ｏｐｅｒ１」の場合に存在する。
【００２７】
定義的データ項目が、ノード又はルール情報に加えて、又は、その代わりに他の情報を含む場合には、ノード５２1−５２nについて上述した内容が、やはり妥当する。ここでいう他の情報には、例えば、ノード５２1−５２nの中の１つと関連するキュー（図示せず）の特性に関する情報が含まれる。キューは、ノード５２1−５２nの中の１つとの関係で実行するのが適切である作業項目１０をトラッキングするのに用いられる。例えば、ノードＪ５２10が購入注文を承認する責任を負っている部門を表す場合には、キューは、ノードＪ５２10と関連するか、又は、その部門による承認を待っている購入注文作業項目のリストを保有する。別の例では、他の情報には、これらに制限されるのではないが、項目タイプ・コード、状態コード、値グループを含む１つ又は複数のセットアップ要素（図示せず）に関する情報を含みうる。それぞれのセットアップ要素は、ワークフロー・システムの管理者によって、オペレータがどのように表示された作業項目１０と相互作用するかを定義するのに用いられる。例えば、管理者は、６つの状態コード（例えば、「提出済」、「進行中」、「承認待機中」、「承認否定」、「承認付与済」、「終了」など）を特定して、ワークフロー・システムにおける作業項目１０の１つの進行を指示することができるが、値グループの１つを用いて、オペレータの１人が６つの中の３つだけの間から選択を行うように制限することもできる。
【００２８】
更に詳しくは、図８を参照すると、アクセス制御が、既に述べたように、下位組織４２、４６の間にだけでなく、第１及び第２の下位組織４２、４６のそれぞれの内部においても、提供される。上述したように、作業項目１０はデータベース１４に記憶される（ステップ４００）。メモリ部分１７５（図６）は、ノード５２を定義する（ノード・データ構造６０などの）情報を記憶し、メモリ部分７３は、ノード５２の中の第１のノードとノード５２の中の第２のノードとの間の組織上の関係を定義する（構造６５などの）プログラムされたデータ構造を記憶する。このプログラムされたデータ構造は、次に、ノードの間の組織上の関係を提供して、オペレータの１人による、作業項目１０へのアクセス又は作業項目１０の処理を制御するのに用いられる。
【００２９】
既に述べたように、オペレータのデータ構造５０では、オペレータには、ノード５２1
−５２nの中の１つと関連している。例えば、オペレータ「Ｏｐｅｒ１」
の場合には、オペレータには、ノードＥ５２5が関連している。図８に示されているよう
に、ノードＥ５２5は、作業項目１０を操作するプロセス５８の中の１つにおける、ステ
ップの中の１つに対応する。ここでは、プロセス５８3の中のノード５２４（特に「Ｅ」
）と関連するステップである。既に論じた（ルールのような）定義的データ項目は、下位組織４２、４６の一方だけでなく、ノード５２1−５２nの中の１つにも関連している。例えば、ルールのデータ構造４８においては、ルール「Ｒｕｌｅ１」は、ノードＡと関連している。既に述べたように、定義的データ項目は、作業項目１０のための表示特性を特定するルール、オペレータの特性に関する情報、それ以外の情報を含みうる。ここでいるそれ以外の情報とは、ノード５２1−５２nの中の第１のノードと関連するキューの特性に関する情報を含む。
【００３０】
図４に示されている特定の例示的なステップでは、組織の階層的データ構造６４は、ツリー・エントリ６６Ａ−Ｉを有するツリー・データ構造６５を記憶する（ステップ５００）ツリー・データ構造６５は、第１の下位組織４２に対応する。下位組織４２は、階層的な構造を有しており、それぞれのツリー・エントリ−６６Ａ−Ｉは、第１の下位組織４２におけるノードＡ−Ｉ５２1−５２nの中の１つに対応する。プロセス・テーブル６９は、プロセス５８3の１つにおけるステップのシーケンス（Ｅ−Ｆ−Ｃ）５４7-5を特定している（ステップ５１０）。ノードＢ５２2に関連する新たな口座承認ルール６８も記憶され
る（ステップ５２０）。この新たな口座承認ルール６８は、新たな口座承認項目（図示せず）がオペレータのスクリーン６２の上にどのように表示されるかを定義する。ノートＢ５２2は、ツリー・エントリ６６Ｂに対応する。図９に示されているように、エントリ６
６Ｂは、ツリー・データ構造６５におけるツリー・エントリ６６Ａ−６６Ｉの部分集合７０を定義する。この部分集合７０は、エントリ６６Ｂと、エントリ６６Ｂに従属するすべてのエントリ（すなわち、エントリ６６Ｅ、６６Ｆ）とから構成される。図８は、部分集合７０がＤＩＶ１の一部にどのように対応するかを示している。
【００３１】
提案された新たなルール７２を記憶する要求が、受け取られる(ステップ５３０)。ルール「Ｒｕｌｅ１」５６は、新たな口座申請作業項目がノードＥにおいてどのように扱われるかを定義する。新たな口座申請作業項目が完全である場合にだけ実行されるが、提案されている新たなルール７２は、この新たな口座申請作業項目を、ノードＥからノードＦに転送し、更に、新たな口座承認作業項目をノードＦに提供するように構成されている。このような転送は、別のオペレータ（図示せず）が、完全な新たな口座申請を検討し、新たな口座承認作業項目を記入することを可能にする意図を有している。従って、新たなルールは、新たな口座承認ルール６８に依存し、プロセス５８3におけるステップＦに対応し
ている。
【００３２】
新たなルール７２は、情報をノートＦに転送するように構成されているので、ノードＦに関係付けされており、このノートＦは、ツリー・データ構造６５におけるエントリ６６Ｆに対応する。エントリ６６Ｆが部分集合７０に属するのかどうかが判断される（ステップ５４０）。実際に、エントリ６６Ｆは、部分集合７０に属しており、肯定的な結論を生じる。この判断の肯定的な結論に基づいて、新たなルール７２が、記憶される（ステップ５５０）。
【００３３】
別の例では、提案されているルール「Ｒｕｌｅ４」７４に関係する別の要求が受け取られる。提案されているルール７４はノードＣと関連しており、他のオペレータが新たな口座承認作業項目における承認を指示する場合には、新たな口座申請をノードＣに転送することを意図している。従って、上述した新たなルール７２のように、提案されているルー
ル７４もまた、新たな口座承認ルール６８に依存しており、ルール６８は、既に述べたように、エントリ６６Ｂ、６６Ｅ、６６Ｆを含む部分集合に関係している。結果として、提案されているルール７４は、記憶されない。この理由は、提案されているルールは、部分集合７０に含まれていないエントリ６６Ｃに対応するノードＣと関連しているからである。
【００３４】
提案されているルール７４が記憶されるようにするためには、２つの変更の中の少なくともー方がなされなければならない。２つの変更の第１のものでは、提案されているルール７４は、新たな口座申請を、ノードＣではなく、ノード５２1−５２ｎの中の１つに、
ここでは、ノードＢ５２2、Ｅ５２5又はＦ５２6に、転送させるように変更される。ノー
ドＢ５２2、Ｅ５２5又はＦ５２6は、部分集合７０のエントリ６６Ｂ、６６Ｅ又は６６Ｆ
に対応している。この第１の変更によって、提案されているルール７４が、ノードＢ５２2、Ｅ５２5又はＦ５２6と関連することが可能になる。
【００３５】
２つの変更の中の第２のものでは、部分集合７０は、エントリ６６Ｃを含むより大きな部分集合によって代替される。第１の下位組織４２の場合には、このより大きな部分集合は、エントリ６６Ａによって定義され、実際には、第１の下位組織４２（ＤＩＶ１）の全体を含む。より大きな部分集合を取得するためには、新たなロ座承認ルール６８が、メモリ部分３９において、ノードＢではなくノードＡと関係付けされる。
【００３６】
ここで用いられているように、メモリ部分（メモリ部分３７、３９、４１、１７５、７３など）のそれぞれは、他から物理的に分離しているメモリ部分を表すことがあるし、又は、コンピュータ・システム１６のメモリ全体（すなわち、すべてのメモリ記憶装置）の中の論理部分（a logical section）を表すこともある。ここで用いられているメモリ部
分３７、３９、４１、１７５、７３のそれぞれは、任意のタイプのデータ記憶媒体で構成することができ、実際には、揮発性データ記憶媒体と不揮発性データ記憶媒体とを含む、複数のタイプのデータ記憶媒体から構成することができる。このデータ記憶媒体のタイプには、以下のものに限定されることは意味しないが、半導体メモリ（例えば、ダイナミックＲＡＭ、スタティックＲＡＭ）、磁気メモリ（例えば、磁気テープ、ハード・ディスク、フロッピ・ディスク）、光学メモリ（例えば、ＣＤ−ＲＯＭ）、そして、磁気光学メモリ（例えば、書き込み可能な光ディスク）などが含まれる。
【００３７】
この技術（すなわち、上述した方法）は、ハードウェア又はソフトウェアにおいて、又は、その両方の組合せにおいて、実現することができる。好ましくは、この技術は、プロセッサと、プロセッサによって読み取り可能な記憶媒体（揮発性及び不揮発性メモリ及び／又は記憶素子を含む）と、少なくとも１つの入力装置と、少なくとも１つの出力装置とをそれぞれが含むプログラマブルなコンピュータ上で実行されるコンピュータ・プログラムにおいて実現される。プログラム・コードは、入力装置を用いて入力されたデータに対して適用され、上述の方法が実行されて、出力情報が生じる。出力情報は、１つ又は複数の出力装置に与えられる。
【００３８】
それぞれのプログラムは、好ましくは、コンピュータ・システムと通信する、高級な手順的（procedural）又はオブジェクト指向のプログラミング言語において実現される。しかし、望むのであれば、プログラムを、アセンブリ又はマシン言語において実現することも可能である。いずれの場合にも、言語は、コンパイルされた又は解釈された言語である。
【００３９】
このようなコンピュータ・プログラムは、好ましくは、それぞれが、記憶媒体又は装置（例えば、ＲＯＭ又は磁気ディスケット）の上に記憶される。この記憶媒体又は装置は、コンピュータを構成し及び動作させる汎用又は専用のプログラマブルなコンピュータによ
って読み取り可能であり、そのようなコンピュータによって読み取られると、この文書に記載されている手順が実行される。このシステムは、また、コンピュータ・プログラムを用いて構成されている、コンピュータ読み取り可能な記憶媒体としても考えることができる。その場合には、記憶媒体は、コンピュータを特定の所定の態様で動作させるように構成されている。
【００４０】
これ以外の実施例でも、次に掲げる［請求の範囲］の範囲内に含まれる。例えば、下位組織４２、４４の一方は単に階層的ではなく、行列指向（matrix-oriented）なものとす
ることによって、ノード５２の中の少なくとも１つが、ノード５２の中の他の複数のノードに直接的に従属するようにすることもできる。更に、オペレータが定義的データ項目にアクセスを有する、又は、定義的データ項目によって影響されるかどうかは、ノート５２1−５１nの１つが部分集合７０に属するエントリ６６Ｂ、６６Ｅ又は６６Ｆの中の１つに対応するかどうかには依存しない。そうではなく、そのようなアクセスは、ノード５２の中の１つの水平的な位置に依存することがある。例えば、第１の下位組織４２では、この水平的な位置決めによって、ノード５２は、３つのカテゴリに分割される。すなわち、（１）ノードＡ、（２）ノードＢ、Ｃ、Ｄ（３）ノードＥ、Ｆ、Ｇ、Ｈ、Ｉである。このような場合には、オペレータが特定の定義的データ項目にアクセスを有するかどうか、又は、特定の定義的データ項目によって影響されるかどうかは、オペレータとその特定の定義的データ項目とが同じカテゴリと関連しているかどうかに依存する。
【００４１】
更に、ネットワークされたデータ構造は、ツリー・データ構造ではなく、上述した階層的なものとは異なる構成のノードを反映する、別のタイプのデータ構造でもよい。
更に、識別子は、上述したものと同じ組織の複数の下位組織のワークフローを論理的に分離する際に用いられるものには限定されない。識別子は、また、複数の完全に独立した組織のワークフローを論理的に分離するのに用いることもできる。例えば、識別子を用いると、ワークフロー・サービス・ビジネスは、単一のコンピュータ・システムによってサポートされる単一の作業項目データベースを用いて、複数の企業が共有されているのではなく、実際には、相互に全く無関係である場合でも、これらの複数の企業のワークフローを管理することもできる。
【図１】
2011175683.tif 000003
【図２】
2011175683.tif 000004
【図３】
2011175683.tif 000005
【図４】
2011175683.tif 000006
【図５】
2011175683.tif 000007
【図６】
2011175683.tif 000008
【図７】
2011175683.tif 000009
【図８】
2011175683.tif 000010
【図９】
2011175683.tif 000011
【図１０】
2011175683.tif 000012
【図１１】
2011175683.tif 000013
【手続補正書】
【提出日】平成23年6月29日(2011.6.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データベース（１４）に記憶されておりオペレータ識別子と関連して実行される作業項目（１０）の処理を制御する方法を実現するコンピュータ・プログラムとデータ構造とが記録されているコンピュータ読取可能な媒体を有するシステム（１６）であって、前記データベースは、それぞれが前記オペレータ識別子と関連付けられている複数の組織によって用いられるシステムにおいて、前記方法は、
前記複数の組織の中の対応する１つとそれぞれが関連付けられている複数の組織識別子をメモリ（３７）に記憶するステップと、
前記複数の組織識別子の中の１つとそれぞれが関連付けられており、作業項目を処理するための規則を定義する複数の定義的データ項目を前記メモリ（３９）に記憶するステップと、
新たな定義的データ項目を記憶すべきかどうかを、前記新たな定義的データ項目と関連付けられている組織識別子に基づいて、判断するステップと、
前記定義的データ項目によって特定される規則に従って作業項目を処理するステップと、
を含むことを特徴とするシステム。