JP3883991B2 - ワークフロー処理方法とこの方法を実現するためのサーバ装置及びこのサーバ装置で使用されるプログラム - Google Patents

ワークフロー処理方法とこの方法を実現するためのサーバ装置及びこのサーバ装置で使用されるプログラム Download PDF

Info

Publication number
JP3883991B2
JP3883991B2 JP2003285849A JP2003285849A JP3883991B2 JP 3883991 B2 JP3883991 B2 JP 3883991B2 JP 2003285849 A JP2003285849 A JP 2003285849A JP 2003285849 A JP2003285849 A JP 2003285849A JP 3883991 B2 JP3883991 B2 JP 3883991B2
Authority
JP
Japan
Prior art keywords
session
server
server device
client device
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003285849A
Other languages
English (en)
Other versions
JP2005056114A (ja
Inventor
大子郎 横関
俊介 宮田
浩二 徳丸
祐輔 執行
裕和 加来田
巍 楊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2003285849A priority Critical patent/JP3883991B2/ja
Publication of JP2005056114A publication Critical patent/JP2005056114A/ja
Application granted granted Critical
Publication of JP3883991B2 publication Critical patent/JP3883991B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

この発明は、クライアント装置が複数のサーバ装置との間で逐次的又は並列的に複数回の通信を行うことで一つの仕事を処理するワークフロー処理システムと、このシステムで使用されるサーバ装置、サーバ検索装置及びクライアント装置、並びにこれらの装置で使用されるプログラムに関する。
ワークフローは、一つの仕事に対し複数のクライアントが次々と関与することが特徴である。このため、ワークフロー処理システムでは、ある仕事に関連する「状態」が保持される。そのため、負荷分散装置を使用した場合、複数のクライアントからの要求が複数のサーバ装置に公平に振り分けられた場合、この状態(仕事)が存在するサーバ装置(電子計算機)とは異なる他のサーバ装置に割り振られてしまうことがある。
このため、ワークフローにおける負荷分散においては、仕事を達成するために行われる各通信(リクエスト)において、前回と異なるサーバ装置に通信(リクエスト)が割り当てられた場合、その仕事に関連する状態を保持するサーバ装置から、新しい割当先のサーバ装置との間でこの状態を共有するか又は引き渡す必要がある。また、複数のサーバ装置に対しリクエストの要求が同時に来た場合に、データの不整合が生じないようにする必要がある。
以下、複数の通信を束ねる単位をセッションと呼び、またある仕事に関連する状態をセッション情報と呼ぶことにする。セッション情報とは、例えばセッション識別子、サーバ識別子、セッションに付随する情報を含む。また、セッションはクライアントの要求に基づきサーバ装置内で生成・実行されるものとする。
そこで、従来では例えば次のような各種システムが提案されている。
第1の提案は、セッション情報を複数の電子計算機間で共有する必要がある分野において、あるセッションに関連した通信が前回と異なる電子計算機に割り当てられた場合に、セッション情報を新たな電子計算機に引き継ぐものである(例えば、特許文献1を参照。)。このため、通信ごとにセッション情報を電子計算機間で交換する必要があり、ネットワークの負荷が増大すると共に転送に伴う処理が必要となり、処理効率が悪い。また、負荷分散におけるクライアントの役割は、2回目の処理要求を発行する際に、電子計算機から返却されたサーバ識別子に基づいて前回の接続対象との違いを判断し、接続先を決定するものであり、セッション情報は複数の電子計算機間で情報交換される。
第2の提案は、上記第1の提案の処理効率を改善するもので、有限のセッション情報の組み合わせに対して符号を割り当て、その符号のみを復元するものである(例えば、特許文献2を参照。)。しかし、この提案では、セッションに関連付けて保持する情報が既知でなければならず、かつ予め符号を割り当てておく必要があるため、任意の情報を関連付けることができない。
特開2000−163369
特開2002−334057
要するに、従来のワークフロー処理システムは以下のような課題を有している。
第1に、他のサーバ装置の処理能力に空きがあるにも拘わらず、特定のサーバ装置の処理不足により、利用者にサービスが提供できない点。
第2に、ある通信(リクエスト)が、前回と異なるサーバ装置に割り当てられた場合に、セッション情報の保存、復元又は転送等を行わなければならないため、処理効率が劣化する点。
新しい割当先のサーバ装置上においてセッション情報の復元処理を行っている最中に、新たな通信要求が元のサーバ装置に発生した場合、処理に矛盾が発生する点。
この発明は上記事情に着目してなされたもので、その目的とするところは、サーバ装置間におけるセッションの引き渡しや復元処理等を不要にしワークフロー処理効率の向上を図り、しかもリダイレクトの回数を抑制して通信処理のオーバヘッドの削減を図ったワークフロー処理方法とこの方法を実現するためのサーバ装置及びこのサーバ装置で使用されるプログラムを提供することにある。
上記目的を達成するためにこの発明は、クライアント装置が、複数のサーバ装置とこれらのサーバ装置間で共有されるセッション管理ファイルとを備えるワークフロー管理システムとの間で複数回の通信を行うことで一つの仕事を実行する際に、上記クライアント装置から上記複数のサーバ装置の一つに対しセッションの実行要求を送信し、このセッションの実行要求を受け取ったサーバ装置が、上記セッション管理ファイルに保持されているセッションに関する情報をもとに当該セッションの所有者を判定する。そして、この判定の結果、上記セッションの所有者が他のサーバ装置だった場合には、上記実行要求元のクライアント装置に対し上記他のサーバ装置への再接続を要求し、この再接続の要求に応じてクライアント装置が上記他のサーバ装置に対し再接続を行うようにしたものである。
したがってこの発明によれば、クライアント装置によるセッションの実行要求が前回の要求時とは異なるサーバ装置へ伝送された場合には、クライアント装置からセッションを所有する他のサーバ装置に対し再接続、つまりリダイレクトが実行される。このため、サーバ装置は他のサーバ装置間でセッションの引き渡しや復元処理を行う必要がなくなり、これによりワークフローの処理効率を高めることが可能となる。
またこの発明は、クライアント装置が新たなセッションの生成を要求する際に、サーバ検索装置に対し接続先のサーバ装置を問い合わせる。そして、この問い合わせに応じ、サーバ検索装置が所定の負荷分散アルゴリズムに従い接続先として適当なサーバ装置を決定し、決定されたサーバ装置に関する情報を前記問い合わせ元のクライアント装置に対し通知する。そして、クライアント装置は上記通知された接続先のサーバ装置に対しセッションの生成を要求することを特徴とする。
このようにすることで、クライアント装置から発生する新規のセッション生成要求は、サーバ検索装置の負荷分散処理により複数のサーバ装置に均等に割り当てられる。このため、他のサーバ装置の処理能力に余裕があるにも拘わらず、特定のサーバ装置にセッションが集中し、この結果クライアントにサービスを提供できなくなると云った不具合は解消される。
さらにこの発明は、クライアント装置に、所有中のセッションの識別情報を保持するキャッシュ手段を設け、セッションの実行要求の送信に先立ち、このキャッシュ機能に保持されているセッションの識別情報をもとにセッションの実行を要求するサーバ装置を特定することも特徴とする。
このようにすると、クライアント装置は、一度接続が確立されたセッションの実行を要求する際には、サーバ検索装置への問い合わせを省略して、サーバ装置に対し即時セッションの実行要求を送信することが可能となり、これにより通信処理やサーバ検索処理に要するオーバヘッドが削減されて、ワークフロー処理の効率向上が図られる。
さらにこの発明は、各サーバ装置に、生成されたセッションの識別情報を保持するキャッシュ手段を設け、クライアント装置から受け取ったセッションの識別情報が上記キャッシュ手段に保持されているか否かを先ず判定する。この判定の結果、上記セッションの識別情報がキャッシュ手段に保持されている場合には当該セッションの所有者を自サーバ装置と認識し、一方上記セッションの識別情報がキャッシュ手段に保持されていない場合には、セッション管理ファイルに保持されているセッション情報をもとに当該セッションの所有者を判定するようにしたものである。
このようにすることで、クライアント装置から要求されたセッションがサーバ装置内のキャッシュに記憶されていない場合にのみ、セッション管理ファイルが検索されることになる。このため、セッションの実行要求が到来するごとに常にセッション管理ファイルを検索する場合に比べ、セッションを所有するサーバ装置を特定するための処理を簡単化してサーバ装置の処理負担を軽減することができる。
さらにこの発明は、複数のサーバ装置間で共有される再接続管理ファイルをさらに設け、サーバ装置がクライアント装置に対し他のサーバ装置への再接続を要求する際に、当該再接続の対象となるセッションの情報を上記再接続管理ファイルに記憶させる。そして、クライアント装置からの新規のセッション生成要求に対し、過去に生成されたセッションをキャンセルする必要がある場合に、上記再接続管理ファイルに記憶された情報をもとに再接続の対象となっていないセッションをキャンセル候補として選択する。そして、この選択されたセッションをキャンセルし、代わりに新たなセッションを生成して、この生成されたセッションを表す情報を要求元のクライアント装置に通知するようにしたものである。
このようにすると、サーバ装置において、リダイレクト中のセッションがキャッシュアウトされることはなくなる。このため、クライアント装置がサーバ装置に対しセッション実行要求を送信した場合に発生するリダイレクトの回数は最大1回に抑制されることになり、この結果通信処理のオーバヘッドが削減される。
要するにこの発明によれば、サーバ装置間におけるセッションの引き渡しや復元処理等を不要にしワークフロー処理効率の向上を図り、しかもリダイレクトの回数を抑制して通信処理のオーバヘッドの削減を図ったワークフロー処理方法とこの方法を実現するためのサーバ装置及びこのサーバ装置で使用されるプログラムを提供することができる。
(第1の実施形態)
図1は、この発明に係わるワークフロー処理システムの第1の実施形態を示す概略構成図である。このシステムは、複数のクライアント装置CL1〜CLnを、複数のサーバ装置SV1〜SVmに対し通信ネットワークNWを介して接続可能とすると共に、サーバ検索装置SS及びセッション管理ファイルDB1を設けたものである。
サーバ検索装置SSは、上記各クライアント装置CL1〜CLnから通信ネットワークNWを介してアクセス可能となっている。そして、クライアント装置CL1〜CLnから接続先となるサーバ装置SV1〜SVmの位置についての問い合わせが到来した場合に、上記接続先をラウンドロビン法等の負荷分散アルゴリズムに従いサーバ装置SV1〜SVmに均等に振り分ける。なお、負荷分散アルゴリズムとしては、他にランダム法や負荷状況に応じた振り分け法(Dirk Slama,Jason Garbis, Perry Russel著、株式会社東洋情報システム+NTT情報流通プラットフォーム研究所訳 株式会社ピアソン・エデュケーション Enterprise CORBAISBN4-89471-151-6)を使用可能である。
セッション管理ファイルDB1は、通信ネットワークNWを介して上記サーバ装置SV1〜SVm間で共有されるもので、サーバ装置SV1〜SVmにおいて使用されるセッションの各々について、セッションを各サーバ装置SV1〜SVmが一意に識別することが可能なセッション識別子に対応付けて当該セッションを使用するサーバ装置の識別情報(サーバ識別子)と、セッションに関連しアプリケーションにより利用される情報(セッション情報)を記憶する。図4にその記憶情報の一例を示す。
ところで、クライアント装置CL1〜CLnは例えばパーソナル・コンピュータからなるもので、次のように構成される。図2はその構成を示す機能ブロック図である。すなわち、中央処理ユニット(CPU:Central Processing Unit)11を備える。このCPU11には、バス12を介してプログラムメモリ13と、データメモリ14と、キャッシュメモリCC1〜CCnと、通信インタフェース16と、入出力インタフェース17がそれぞれ接続されている。
データメモリ14は、記憶媒体として例えばハードディスクまたはRAMを使用したもので、各種処理の過程において種々のデータを一時保存するために使用される。キャッシュメモリCC1〜CCnはFIFO、LRU、LILO等を使用するもので、サーバ装置SV1〜SVmから割り当てられたセッションと当該セッションの所有者となるサーバ装置との対応関係を表す情報を保存する。
通信インタフェース(通信I/F)16は、CPU11の制御の下、サーバ検索装置SS及びサーバ装置SV1〜SVmとの間で、通信ネットワークNWにより規定される通信プロトコル、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)に従い通信を行う。入出力インタフェース17は、CPU11の制御の下、入力部18及び表示部19との間の情報入力及び表示処理を行う。
プログラムメモリ13には、この発明に係わる制御プログラムとして、サーバ検索制御プログラム13aと、セッション生成・実行要求制御プログラム13bと、再接続制御プログラム13cが格納されている。
サーバ検索制御プログラム13aは、新規のセッションの生成を要求する際に、接続先となるサーバ装置の位置をサーバ検索装置SSに問い合わせ、この問い合わせに対しサーバ検索装置SSから通知される接続先サーバ情報を受信する。
セッション生成・実行要求制御プログラム13bは、上記サーバ検索装置SSから通知される接続先サーバ情報に応じ、指定されたサーバ装置に対する接続処理を行ってセッション生成要求を送信する。そして、この生成要求に対しサーバ装置から通知されるセッションに関する情報を受信し、受信されたセッションに関する情報、つまりセッション識別子と接続先サーバ装置の識別子とを相互に対応付けてキャッシュメモリCC1〜CCnに保持させる。またセッション生成・実行要求制御プログラム13bは、セッションを実行する際に、上記キャッシュメモリCC1〜CCnに保存されているセッションに関する情報をもとにサーバ装置に対しセッション実行要求を送信する。
再接続制御プログラム13cは、上記セッション実行要求の送信後にサーバ装置からのリダイレクト要求の到来を監視する。そして、リダイレクト要求が受信された場合に、キャッシュメモリCC1〜CCnの記憶情報をこのリダイレクト要求により指定された新たなサーバ装置とセッションとの対応関係を表す情報に書き換えた後、上記新たなサーバ装置に対し再接続を行ってセッション実行要求を送信する。
一方、サーバ装置SV1〜SVmは次のように構成される。図3はその構成を示す機能ブロック図である。サーバ装置SV1〜SVmも上記クライアント装置CL1〜CLnと同様に中央処理ユニット(CPU:Central Processing Unit)21を備える。このCPU21には、バス22を介してプログラムメモリ23と、データメモリ24と、キャッシュメモリSC1〜SCnと、通信インタフェース26がそれぞれ接続されている。
データメモリ24は、記憶媒体として例えばハードディスクまたはRAMを使用したもので、ワークフロー処理の過程において生成される種々のデータを一時保存するために使用される。キャッシュメモリSC1〜SCnはFIFO、LRU、LILO等を使用するもので、自己のサーバ装置が所有するセッションを表す情報を保存する。
通信インタフェース(通信I/F)26は、CPU21の制御の下、クライアント装置CL1〜CLn及びセッション管理ファイルDB1との間で、通信ネットワークNWにより規定される通信プロトコル、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)に従い通信を行う。
プログラムメモリ23には、この発明に係わる制御プログラムとして、セッション生成制御プログラム23aと、セッション所有者判定プログラム23bと、セッション実行制御プログラム23cと、リダイレクト要求制御プログラム23dが格納されている。
セッション生成制御プログラム23aは、クライアント装置CL1〜CLnからセッション生成要求が到来した場合に、キャッシュメモリMC1〜MCmの空き容量をもとにサーバ装置のリソースに空きがあるか否かを判定する。そして、空きがある場合には、ワークフロー処理に必要なセッション用領域(セッション情報)を生成し、セッションを各サーバ装置SV1〜SVmが一意に識別することが可能なセッション識別子と、上記セッション情報とを、キャッシュメモリMC1〜MCm及びセッション管理ファイルDB1にそれぞれ格納した後、生成要求元のクライアント装置CL1〜CLnに送信する。
これに対しリソースに空きがない場合には、キャッシュメモリMC1〜MCmに保存されている複数のセッションのうち、最も古い(使用されていない期間が最も長い)セッションを選択してこれをキャンセルする。このキャンセル処理は、キャッシュメモリMC1〜MCmから該当するセッションの情報をキャッシュアウトする処理と、セッション管理ファイルDB1における該当するセッションの所有者を表す情報を“NULL”に変更する処理とからなる。そして、このキャンセル処理により空きとなったリソースを利用してセッション情報を生成し、そのセッション識別子及びセッション情報をキャッシュメモリMC1〜MCm及びセッション管理ファイルDB1にそれぞれ格納した後、生成要求元のクライアント装置CL1〜CLnに送信する。
セッション所有者判定プログラム23bは、クライアント装置CL1〜CLnからセッション実行要求が到来した場合に、要求されたセッション識別子が自身のキャッシュメモリMC1〜MCmに保存されているか否かを判定する。この判定の結果、保存されていない場合には、セッション管理ファイルDB1を検索して上記セッションを所有しているサーバ装置の識別情報を読み出す。
セッション実行制御プログラム23cは、上記セッション所有者判定プログラム23bにより、クライアント装置CL1〜CLnから実行を要求されたセッションが自身のキャッシュメモリMC1〜MCmに保存されていると判定された場合に、当該セッション情報を利用して処理を実行する。
リダイレクト要求制御プログラム23dは、上記セッション所有者判定プログラム23bにより、セッション管理ファイルDB1から読み出された、セッションを所有するサーバ装置の識別情報をもとに、実行要求元のクライアント装置CL1〜CLnに対しリダイレクト要求を送信する。
次に、以上のように構成されたシステムの動作を説明する。
ここでは、物品購入に伴う社内決済処理のワークフローを例にとって説明する。図9はこのワークフロー処理のシーケンス図である。また、図5及び図6、図7及び図8はそれぞれ、このワークフロー処理を実現するためのクライアント装置CL1〜CLn及びサーバ装置SV1〜SVmの制御手順と制御内容を示すフローチャートである。
いま購入起案者が、クライアント装置CL1において発注伝票の起票操作を行ったとする。この場合クライアント装置CL1は、ステップ5aで上記起案処理の要求を検出してステップ5bに移行し、ここで発注伝票の起票処理を実行する。そして、ステップ5cにおいて、接続先となるサーバ装置の位置の問い合わせ要求をサーバ検索装置SSに対し送信する。
サーバ検索装置SSは、クライアント装置CL1から問い合わせ要求が到来すると、ラウンドロビン等の負荷分散アルゴリズムに従い、クライアント装置CL1〜CLnからの接続要求がサーバ装置SV1〜SVmに対し均等に割り振られるように接続先のサーバ装置を決定する。そして、決定されたサーバ装置(例えばSV1)を表す識別子を要求元のクライアント装置CL1に返送する。
クライアント装置CL1は、ステップ5dで上記サーバ検索装置SSからの返送を待ち、サーバ識別子の返送を検出するとステップ5eでこのサーバ識別子を受信する。続いてクライアント装置CL1は、上記受信されたサーバ識別子に基づいて、ステップ5fにおいて接続先となるサーバ装置SV1に対する接続を行ったのち、セッション生成要求を送信する。
サーバ装置SV1〜SVmは、図7に示すようにステップ7a及びステップ7bによりセッション生成要求及びセッション実行要求の到来を監視している。この状態で、上記クライアント装置CL1からセッション生成要求が到来すると、サーバ装置SV1はステップ7cでキャッシュメモリMC1を検索し、リソースに空きがあるか否かをステップ7dで判定する。この判定の結果、リソースに余裕がある場合には、ステップ7gに移行してここで新たにセッションを生成する。
これに対しリソースに空きがない場合には、サーバ装置SV1はステップ7eに移行し、ここでキャッシュメモリMC1に保存されている複数のセッションのうち使用されていない期間が最も長いセッションを一つ選択し、これをキャッシュアウトする。またそれと共に、ステップ7fにより、セッション管理ファイルDB1において該当するセッションの所有者を表す情報を“NULL”に変更し、これらの処理を終了した後にステップ7gに移行してここで新たにセッションを生成する。
上記新たなセッションを生成するとサーバ装置SV1は、上記生成された新たなセッションの識別子をステップ7hによりキャッシュメモリMC1に保存すると共に、上記生成された新たなセッションに関する情報、つまりセッション識別子S1と、当該セッションを所有するサーバ装置SV1の識別子と、セッション情報を、ステップ7iによりセッション管理ファイルDB1に記憶させる。そして、これらの処理を終了した後、生成要求元のクライアント装置CL1に対し上記セッション識別子S1を送信する。
生成要求元のクライアント装置CL1は、ステップ5gで上記サーバ装置SV1からのセッション識別子の返送を監視し、このセッション識別子S1をステップ5hで受信する。そして、受信されたセッション識別子と当該セッションを所有するサーバ装置SV1の識別子とを相互に対応付けて、ステップ5iによりキャッシュメモリCC1に保存する。
上記起票処理に応じたセッション生成要求に応じ、サーバ装置SV1は図示しない複数の外部企業のサーバ装置に対し見積の作成を依頼する。そして、この依頼に対し外部企業のサーバ装置が返送した見積を、セッション情報として保存すると共に要求元のクライアント装置CL1へ転送する。
なお、他のクライアント装置(例えばCL2)において起案処理が行われた場合にも、上記クライアント装置CL1の場合と同様の手順で、サーバ検索装置SSにおけるサーバ装置SV1〜SVmへのセッションの均等割り振り、割り振られたサーバ装置(例えばSV2)における新規セッションの生成とその通知処理が行われる。
さて、クライアント装置CL1において、起案者が上記サーバ装置SV1から転送された複数の見積を検討したのち、最も安価な外部企業を選択して発注処理(セッションの実行)を行ったとする。
この場合クライアント装置CL1は、図6に示すようにステップ5jでセッションの実行を検出するとステップ5kに移行し、ここで先ずキャッシュメモリCC1を検索して、該当するセッション識別子S1に対応するサーバ装置SV1の識別子が保存されているか否かをステップ5mで判定する。この判定の結果、サーバ装置SV1の識別子が保存されていれば、ステップ5nにより当該サーバ装置SV1に対し接続したのちセッション実行要求を送信する。なお、キャッシュアウト等の理由により、キャッシュメモリCC1において接続すべきサーバ装置SV1の識別子が見つからなかったとする。この場合クライアント装置CL1は、ステップ5cに戻ってサーバ検索装置SSに対し接続先となるサーバ装置の問い合わせを行う。
一方サーバ装置SV1は、セッション実行要求を受信するとステップ7aから図8に示すステップ8aに移行する。そして、先ずキャッシュメモリMC1を検索し、上記要求されたセッションを自装置が所有しているか否かをステップ8bで判定する。この判定の結果、要求されたセッションを所有している場合には、ステップ8cに移行してここでセッションを実行する。例えば、クライアント装置CL1から要求された発注要求に対する決裁依頼を、決裁者が使用するクライアント装置(例えばSV3)に対し、例えば電子メールを用いて通知する。決裁依頼には、発注伝票に加えてセッション識別子を含める。なお、上記セッションの実行処理後、サーバ装置SV1はステップ8dによりセッション管理ファイルDB1を更新する。
上記決裁依頼を受信した決裁者は、クライアント装置CL3からサーバ装置SV1にアクセスして発注の内容を確認したのち承認処理を行う。このとき、決裁者が使用するクライアント装置CL3は起案者が使用するクライアント装置CL1と異なる。このため、決裁者が使用するクライアント装置CL3のキャッシュメモリCC3には、上記決裁依頼で通知されたセッション識別子S1は保存されていない。
そこで決裁者のクライアント装置CL3は、図5に示したようにステップ5cにより、サーバ検索装置SSに向けて接続先となるサーバ装置の位置の問い合わせ要求を送信し、接続先となるサーバ装置の識別子を受け取る。そして、この指定されたサーバ装置(例えばSV3)への接続を行って、決裁処理のための実行要求をセッションS1を用いて送信する。
上記セッションS1の実行要求を受信したサーバ装置SV3は、図8に示すようにステップ8aでキャッシュメモリMC3を検索して上記セッションS1の識別子が保存されているか否かをステップ8bで判定する。この判定の結果、いま上記セッションS1の識別子はキャッシュメモリMC3には保存されていないので、サーバ装置SV3はステップ8eに移行してここでセッション管理ファイルDB1を検索し、このセッション管理ファイルDB1に上記セッションS1を所有するサーバ装置が記憶されているか否かを判定する。そして、記憶されていれば、上記セッションS1を所有するサーバ装置、ここではサーバ装置SV1の識別子を読み出す。そして、この読み出されたサーバ装置SV1の識別子を含むリダイレクト要求を、ステップ8gにより上記実行要求元のクライアント装置CL3に送信する。
上記リダイレクト要求を受信するとクライアント装置CL3は、図6に示すようにステップ5pからステップ5qに移行し、ここで通知されたサーバ装置SV1の識別子をセッションS1の識別子に対応付けてキャッシュメモリCC1に記憶する。そして、ステップ5rによりサーバ装置SV1に対し再接続したのち、当該サーバ装置SV1へセッションS1により実行要求を送信する。
サーバ装置SV1は、上記セッションS1により実行要求を受信すると、ステップ8aでキャッシュメモリCC1を検索して、当該セッションS1を所有しているか否かをステップ8bにより判定する。この判定の結果、所有していればステップ8cに移行し、ここで上記要求されたセッションを実行する。
なお、クライアント装置CL1〜CLnからセッションの実行要求を受信した場合に、サーバ装置SV1〜SVmは先に述べたようにステップ8eによりセッション管理ファイルDB1を検索して当該セッションの所有者を探す。しかし、要求されたセッションを所有するサーバ装置の識別子が“NULL”に設定されていたとする。この場合サーバ装置SV1〜SVmは、当該セッションがいずれのサーバ装置にも保持されていないと判断し、ステップ8hに移行してここで上記セッション管理ファイルDB1から、上記要求されたセッションを復元する。そして、復元されたセッション識別子と当該セッションを所有するサーバ装置の識別子をステップ8iでキャッシュメモリMC1〜MCmに保存すると共に、ステップ8jによりセッション管理ファイルDB1中の当該セッションに対応するサーバ識別子として自己のサーバ装置の識別子を書き込み、しかるのちステップ8kによりセッションを実行する。
以上述べたように第1の実施形態では、クライアント装置CL3からサーバ装置SV3に対しセッションの実行要求を送信した場合に、このセッションの実行要求を受け取ったサーバ装置SV3が、セッション管理ファイルDB1に保持されているセッションに関する情報をもとに当該セッションを所有するサーバ装置を判定する。そして、この判定の結果、上記セッションを所有するサーバ装置が他のサーバ装置SV1だった場合には、上記実行要求元のクライアント装置CL3に対し上記他のサーバ装置SV1への再接続を要求するリダイレクト要求を送信し、このリダイレクト要求に応じてクライアント装置CL3が上記他のサーバ装置SV1に対し再接続を行ってセッション実行要求を送信するようにしている。
したがって、クライアント装置CL1〜CLnによるセッションの実行要求が前回の要求時とは異なるサーバ装置SV1〜SVmへ伝送された場合には、当該セッションが存在するサーバ装置にリダイレクトされ、このリダイレクトされたサーバ装置で当該セッションが実行される。このため、サーバ装置間でセッションの引き渡しや復元処理が不要となり、これによりワークフローの処理効率を高めることが可能となる。
また、クライアント装置CL1〜CLnが新たなセッションの生成を要求する際に、サーバ検索装置SSに対し接続先のサーバ装置を問い合わせる。そして、この問い合わせに応じ、サーバ検索装置SSがラウンドロビン等の負荷分散アルゴリズムに従い、上記要求を複数のサーバ装置SV1〜SVmに均等に割り分けるようにしている。したがって、他のサーバ装置の処理能力に余裕があるにも拘わらず、特定のサーバ装置にセッションが集中し、この結果クライアントにサービスを提供できなくなると云った不具合は解消される。
さらに、クライアント装置CL1〜CLnに、所有中のセッションの識別情報を保持するキャッシュメモリCC1〜CCnを設け、セッションの実行要求の送信に先立ち、このキャッシュメモリCC1〜CCnに保持されているセッション識別子をもとにセッションの実行を要求するサーバ装置を特定するようにしている。したがって、クライアント装置CL1〜CLnは、一度接続が確立されたセッションの実行を要求する場合には、サーバ検索装置SSへの問い合わせを省略して、サーバ装置に対し即時セッションの実行要求を送信することが可能となる。このため、通信処理やサーバ検索処理に要するオーバヘッドは削減され、これによりワークフロー処理の効率を高めることができる。
(第2の実施形態)
この発明の第2の実施形態は、複数のサーバ装置間で共有されるリダイレクト管理ファイルをさらに設け、サーバ装置がクライアント装置に対し他のサーバ装置への再接続を要求する際に、当該再接続の対象となるセッションの情報を上記再接続管理ファイルに記憶させる。そして、クライアント装置からの新規のセッション生成要求に対し、過去に生成されたセッションをキャンセルする必要がある場合に、上記リダイレクト管理ファイルに記憶された情報をもとにリダイレクトの対象となっていないセッションを選択する。そして、この選択されたセッションをキャンセルし、新たなセッションを生成して要求元のクライアント装置に通知するようにしたものである。
図10は、この発明に係わるワークフロー処理システムの第2の実施形態を示す概略構成図である。同図に示すように、このシステムはリダイレクト管理ファイルDB2を備えている。このリダイレクト管理ファイルDB2は、通信ネットワークNWを介してサーバ装置SV1〜SVm間で共有されるもので、リダイレクト要求の送信先となるクライアント装置の識別子と、リダイレクトの対象となるセッションの識別子とを相互に対応付けて記憶する。図15(a),(b)にその記憶情報の一例を示す。
図11は、この発明の第2の実施形態に係わるサーバ装置SV1〜SVmの機能構成を示すブロック図である。なお、同図において前記図3と同一部分には同一符号を付して詳しい説明は省略する。
プログラムメモリ23には、この発明に係わる制御プログラムとして、新たにキャッシュ制御プログラム23eが格納されている。このキャッシュ制御プログラム23eは、新たなセッションの生成のために古いセッションをキャンセルする必要がある場合に、キャッシュメモリCC1〜CCmに保存されている各セッションのうち使用されていない期間が長い順にセッションを選択する。そして、そのセッション識別子をキーにリダイレクト管理ファイルDB2をアクセスすることにより、上記選択されたセッションがリダイレクト中か否かを判定する。
この判定の結果、リダイレクト中のセッションについてはキャッシュアウトの対象から外し、リダイレクト中ではないセッションのうち使用されていない期間が最も長いセッションを選択してこれをキャンセルする。このキャンセル処理は、キャッシュメモリMC1〜MCmから該当するセッションの情報をキャッシュアウトする処理と、セッション管理ファイルDB1における該当するセッションの所有者を表す情報を“NULL”に変更する処理とからなる。
次に、以上のように構成されたシステムの動作を、サーバ装置SV1〜SVmの制御手順に従い説明する。図14はこのシステムの動作シーケンスを示す図、図12及び図13はサーバ装置の制御手順と制御内容を示すフローチャートである。なお、同図において前記図7及び図8と同一部分には同一符号を付して詳しい説明は省略する。
先ず、リダイレクト管理ファイルDB2への情報の登録及びその削除動作は次のように行われる。
すなわち、クライアント装置CL3からセッションS1の実行要求を受信すると、サーバ装置SV3は図13に示すようにステップ8aでキャッシュメモリMC3を検索して上記セッションS1の識別子が保存されているか否かをステップ8bで判定する。この判定の結果、上記セッションS1の識別子がキャッシュメモリMC3に保存されていなければ、サーバ装置SV3はステップ8eに移行してここでセッション管理ファイルDB1を検索し、このセッション管理ファイルDB1に上記セッションS1を所有するサーバ装置が記憶されているか否かを判定する。この判定の結果、セッションS1を所有するサーバ装置が記憶されていれば、ステップ13dにより、上記セッションS1を所有するサーバ装置(例えばSV1)の識別子をセッション識別子に対応付けてリダイレクト管理ファイルDB2に記憶させる。そして、上記サーバ装置SV1の識別子を含むリダイレクト要求を、ステップ8gにより上記実行要求元のクライアント装置CL3に送信する。
一方、上記ステップ8bにより判定の結果、キャッシュメモリMC3に上記セッションS1を所有するサーバ装置が保存されている場合には、サーバ装置SV3はステップ13aに移行してここでリダイレクト管理ファイル13aを検索し、上記セッションS1がリダイレクト管理ファイル13aに登録(エントリ)されているか否かをステップ13bで判定する。そして、この判定の結果エントリされていれば、ステップ13cにおいて上記リダイレクト管理ファイル13aから上記セッションS1のエントリを削除したのち、ステップ8cによりセッションS1を実行する。なお、リダイレクト管理ファイル13aにセッションS1がエントリされていなければ、そのままステップ8cによりセッションS1を実行する。
次に、以上のように管理されるリダイレクト管理ファイル13aを使用して、各サーバSV1〜SVmは次のようにキャッシュ制御処理を実行する。
すなわち、いまクライアント装置CL1からセッション生成要求が到来したとする。そうするとサーバ装置SV1は、ステップ7cでキャッシュメモリMC1を検索し、リソースに空きがあるか否かをステップ7dで判定する。この判定の結果、リソースに余裕がある場合には、ステップ7gに移行してここで新たにセッションを生成する。
これに対しリソースに空きがない場合には、サーバ装置SV1はステップ12aに移行し、ここでキャッシュメモリMC1に保存されている複数のセッションのうち使用されていない期間が最も長いセッションを一つ選択する。そして、ステップ12bにおいて、この選択されたセッションの識別子をキーにリダイレクト管理ファイルDB2をアクセスし、当該セッションがリダイレクト中か否かをステップ12cで判定する。この判定の結果、該当するセッションがリダイレクト中だった場合には、ステップ12aに戻って使用されていない期間が次に長いセッションを選択し、今度はこのセッションについてリダイレクト中か否かを上記ステップ12b及びステップ12cにより判定する。以後同様に、リダイレクト中ではないセッションが見つかるまで、上記判定処理を繰り返す。
そうしてリダイレクト中ではないセッションが見つかると、サーバ装置SV1はステップ12からステップ7eに移行してここで当該選択されたセッションをキャッシュメモリMC1からキャッシュアウトする。またそれと共に、ステップ7fにより、セッション管理ファイルDB1において該当するセッションの所有者を表す情報を“NULL”に変更し、しかるのちステップ7gに移行してここで新たなセッションを生成する。
このように第2の実施形態では、新たなセッションの生成のために古いセッションをキャッシュアウトする必要がある場合に、リダイレクト管理ファイルDB2の記憶情報をもとに、リダイレクト中のセッションについてはキャッシュアウトの対象から外し、リダイレクト中ではないセッションのうち使用されていない期間が最も長いセッションを選択してこれをキャッシュアウトするようにしている。
したがって、クライアント装置CL1〜CLnがサーバ装置SV1〜SVmに対してセッション実行要求を出した場合に、リダイレクト回数を最大1回に抑えることが可能となり、これにより通信のオーバヘッドを削減することができる。
ちなみに、リダイレクト中のセッションをキャッシュアウトすると、例えば以下のような不具合が発生する。すなわち、図14に示すワークフロー処理において、クライアント装置CL1がサーバ装置SV1に対しセッションS1の実行を要求したとする。この場合サーバ装置SV1は、セッション管理ファイルDB1を調べ、セッションS1の所有者がサーバ装置SV2であることから、サーバ装置SV2へのリダイレクト要求をクライアント装置CL1に返送する。
一方、クライアント装置CL2がサーバ装置SV2に対しセッションS3の生成要求を送信したとする。このとき、ちょうどサーバ装置SV2のキャッシュ容量が満杯であり、最も長い期間使用されていないセッションS1がキャッシュアウトされると、セッション管理ファイルDB1は更新されてセッションS1の所有者が存在しない状態となる。
さらに、この状態でクライアント装置CL3がサーバ装置SV1に対してセッションS1の実行要求を送信したとする。サーバ装置SV1はセッション管理ファイルDB1を調べ、セッションS1の所有者が存在しないため、サーバ装置SV1はセッションS1を復元する。またそれと共に、セッション管理ファイルDB1は更新され、セッションS1はサーバ装置SV1の所有となる。
そしてこの状態で、サーバ装置SV1からのリダイレクト要求に従い、クライアント装置CL1がセッションS1の実行要求をサーバ装置SV2に送信したとする。しかし、この場合サーバ装置SV2は既にセッションS1を所有していないため、クライアント装置CL1に対しては再度リダイレクト要求が送信されることになる。
すなわち、従来のリダイレクトを考慮せずにキャッシュアウトを行うシステムでは、クライアント装置CL1〜CLnが、リダイレクト要求を受けて別のサーバ装置へ再接続を行ったところ、セッションの所有者がさらに別のサーバ装置に移っていて、またリダイレクト要求を受けると云った不具合を発生する。このような動作は原理的には何度でも再現する可能性がある。このため、一つのクライアント装置についてのリダイレクトの回数が複数回に渡ることがあり、通信の回数が増加して効率の低下を招く。
(その他の実施形態)
前記各実施形態では、サーバ検索装置SSをサーバ装置SV1〜SVmとは独立して設けたが、サーバ検索装置SSの機能をサーバ装置SV1〜SVmのいずれかに設けるようにしてもよい。またセッション管理ファイルDB1及びリダイレクト管理ファイルDB2についても、サーバ装置SV1〜SVmのいずれかに内蔵させるようにしてもよい。要するに、セッション管理ファイルDB1及びリダイレクト管理ファイルDB2は、サーバ装置SV1〜SVmにより共有可能な状態を保持できるのであればどこにどのようなかたちで設けてもよい。
その他、ワークフロー処理の種類やその内容、クライアント装置及びサーバ装置の構成とその制御手順及び内容についても、この発明の要旨を逸脱しない範囲で種々変形して実施できる。
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
この発明に係わるワークフロー処理システムの第1の実施形態を示す概略構成図。 図1に示したシステムのクライアント装置の構成を示す機能ブロック図。 図1に示したシステムのサーバ装置の構成を示す機能ブロック図。 図1に示したシステムのセッション管理ファイルにおける記憶情報の一例を示す図。 図2に示したクライアント装置の制御手順及び制御内容の前半部分を示すフローチャート。 図2に示したクライアント装置の制御手順及び制御内容の後半部分を示すフローチャート。 図3に示したサーバ装置の制御手順及び制御内容の前半部分を示すフローチャート。 図3に示したサーバ装置の制御手順及び制御内容の後半部分を示すフローチャート。 図1に示したシステムのワークフロー処理シーケンスを示す図。 この発明に係わるワークフロー処理システムの第2の実施形態を示す概略構成図。 図10に示したシステムのサーバ装置の構成を示す機能ブロック図。 図11に示したサーバ装置の制御手順及び制御内容の前半部分を示すフローチャート。 図11に示したサーバ装置の制御手順及び制御内容の後半部分を示すフローチャート。 図10に示したシステムのワークフロー処理シーケンスを示す図。 図10に示したシステムのリダイレクト管理ファイルにおける記憶情報の一例を示す図。
符号の説明
CL1〜CLn…クライアント装置、SV1〜SVm…サーバ装置、SS…サーバ検索装置、DB1…セッション管理ファイル、DB2…リダイレクト管理ファイル、NW…通信ネットワーク、CC1〜CCn,MC1〜MCm…キャッシュ、11,21…CPU、12,22…バス、13,23…プログラムメモリ、14,24…データメモリ、16,26…通信インタフェース、17…入出力インタフェース、18…入力部、19…表示部、13a…サーバ検索制御プログラム、13b…セッション生成・実行要求制御プログラム、13c…再接続制御プログラム、23a…セッション生成制御プログラム、23b…セッション所有者判定プログラム、23c…セッション実行制御プログラム、23d…リダイレクト要求制御プログラム、23e…キャッシュ制御プログラム。

Claims (8)

  1. クライアント装置が、複数のサーバ装置とこれらのサーバ装置間で共有されるセッション管理ファイル及び再接続管理ファイルとを備えるワークフロー管理システムとの間で複数回の通信を行うことで一つの仕事を実行するワークフロー処理方法であって、
    前記クライアント装置から前記複数のサーバ装置の一つに対し、セッションの実行要求を送信する過程と、
    前記セッションの実行要求を受け取ったサーバ装置が、前記セッション管理ファイルに保持されているセッション情報をもとに当該セッションの所有者を判定する過程と、
    前記判定の結果、前記セッションの所有者が他のサーバ装置だった場合に、前記セッションの実行要求を受け取ったサーバ装置が、前記要求元のクライアント装置に対し前記他のサーバ装置への再接続を要求する過程と、
    前記再接続の要求に応じ、前記クライアント装置が前記他のサーバ装置に対し再接続を行う過程と
    を具備し、
    さらに、前記セッションの実行要求を受け取ったサーバ装置が、要求元のクライアント装置に対し他のサーバ装置への再接続を要求する際に、当該再接続の対象となるセッションの情報を前記再接続管理ファイルに記憶させる過程と、
    前記クライアント装置からのセッションの生成要求に応じ、当該生成要求を受信したサーバ装置が、新たなセッションを生成するために過去に生成されたセッションをキャンセルする必要があるか否かを判定する過程と、
    前記判定の結果、過去に生成されたセッションをキャンセルする必要がある場合に、前記セッションの生成要求を受信したサーバ装置が、前記再接続管理ファイルに記憶された情報をもとに再接続の対象となっていないセッションをキャンセル候補として選択する過程と、
    前記セッションの生成要求を受信したサーバ装置が、前記選択されたセッションに関する情報を前記セッション管理ファイルから削除して、代わりに新たなセッションを生成する過程と、
    前記セッションの生成要求を受信したサーバ装置が、前記生成されたセッションを表す情報を前記セッションの生成要求元のクライアント装置に通知する過程と
    を具備することを特徴とするワークフロー処理方法。
  2. 前記ワークフロー管理システムが、複数のサーバ装置の処理負荷を管理するサーバ検索装置を備えている場合に、
    前記クライアント装置から前記サーバ検索装置に対し、接続先のサーバ装置を問い合わせる過程と、
    前記問い合わせに応じ、前記サーバ検索装置が所定の負荷分散アルゴリズムに従い接続先として適当なサーバ装置を決定し、決定されたサーバ装置に関する情報を前記問い合わせ元のクライアント装置に対し通知する過程と、
    前記サーバ検索装置からの通知に応じ、前記クライアント装置が前記通知された接続先のサーバ装置に対しセッションの生成を要求する過程と、
    前記セッションの生成要求に応じ前記サーバ装置がセッションを生成し、生成されたセッションに関する情報を要求元のクライアント装置に通知する過程と、
    を、さらに具備することを特徴とする請求項1記載のワークフロー処理方法。
  3. 前記クライアント装置が、所有中のセッションの識別情報を保持するキャッシュ手段を備えている場合に、
    前記クライアント装置は、前記セッションの実行要求の送信に先立ち、前記キャッシュ機能に保持されているセッションの識別情報をもとにセッションの実行を要求するサーバ装置を特定する過程を、さらに備えることを特徴とする請求項1又は2記載のワークフロー処理方法。
  4. 前記各サーバ装置が、生成されたセッションの識別情報を保持するキャッシュ手段を備える場合に、
    前記セッションの所有者を判定する過程は、
    クライアント装置から送信されたセッションの実行要求を受け取った場合に、当該セッションの識別情報が前記キャッシュ手段に保持されているか否かを判定する過程と、
    前記判定の結果、前記実行要求されたセッションの識別情報が前記キャッシュ手段に保持されている場合には、当該セッションの所有者を自サーバ装置と認識する過程と、
    前記判定の結果、前記実行要求されたセッションの識別情報が前記キャッシュ手段に保持されていない場合には、前記セッション管理ファイルに保持されているセッション情報をもとに当該セッションの所有者を判定する過程と
    を備え
    前記新たなセッションを生成する過程は、
    前記キャッシュ手段から前記選択されたセッションの識別情報をキャッシュアウトする過程をさらに備えることを特徴とする請求項1乃至3のいずれかに記載のワークフロー処理方法。
  5. クライアント装置が接続される複数のサーバ装置と、これらのサーバ装置間で共有されるセッション管理ファイル及び再接続管理ファイルとを備えるワークフロー管理システムで使用される前記サーバ装置あって、
    前記クライアント装置から送信されたセッションの実行要求を受信する手段と、
    前記セッションの実行要求が受信された場合に、前記セッション管理ファイルに保持されているセッション情報をもとに当該セッションの所有者を判定する手段と、
    前記判定の結果、前記セッションの所有者が他のサーバ装置だった場合には、前記要求元のクライアント装置に対し前記他のサーバ装置への再接続要求を送信する手段と
    を具備し、
    さらに、クライアント装置に対し他のサーバ装置への再接続要求を送信する際に、当該再接続の対象となるセッションの情報を前記再接続管理ファイルに記憶させる手段と、
    クライアント装置からセッションの生成要求を受信した場合に、新たなセッションを生成するために、過去に生成されたセッションをキャンセルする必要があるか否かを判定する手段と、
    前記判定の結果、過去に生成されたセッションをキャンセルする必要がある場合に、前記再接続管理ファイルの記憶情報をもとに再接続の対象となっていないセッションをキャンセル候補として選択する手段と、
    前記選択されたセッションに関する情報を前記セッション管理ファイルから削除し、代わりに新たなセッションを生成する手段と、
    前記生成されたセッションの情報を前記生成要求元のクライアント装置に通知する手段と
    を具備することを特徴とするサーバ装置。
  6. 前記セッションの所有者を判定する手段は、
    生成されたセッションの識別情報を保持するキャッシュ手段と、
    クライアント装置から送信されたセッションの実行要求が受信された場合に、当該セッションの識別情報が前記キャッシュ手段に保持されているか否かを判定する手段と、
    前記判定の結果、前記実行要求されたセッションの識別情報が前記キャッシュ手段に保持されている場合には当該セッションの所有者を自サーバ装置と認識する手段と、
    前記判定の結果、前記実行要求されたセッションの識別情報が前記キャッシュ手段に保持されていない場合には、前記セッション管理ファイルに保持されているセッション情報をもとに当該セッションの所有者を判定する手段と
    を備え
    前記新たなセッションを生成する手段は、
    前記キャッシュ手段から前記選択されたセッションの識別情報をキャッシュアウトする手段をさらに備えることを特徴とする請求項5記載のサーバ装置。
  7. それぞれコンピュータを備えクライアント装置が接続される複数のサーバ装置と、これらのサーバ装置間で共有されるセッション管理ファイル及び再接続管理ファイルとを備えるワークフロー管理システムの前記サーバ装置で使用されるプログラムであって、
    前記クライアント装置から送信されたセッションの実行要求を受信する処理と、
    前記セッションの実行要求が受信された場合に、前記セッション管理ファイルに保持されているセッション情報をもとに当該セッションの所有者を判定する処理と、
    前記判定の結果、前記セッションの所有者が他のサーバ装置だった場合には、前記実行要求元のクライアント装置に対し前記他のサーバ装置への再接続要求を送信する処理と、
    クライアント装置に対し他のサーバ装置への再接続要求を送信する際に、当該再接続の対象となるセッションの情報を前記再接続管理ファイルに記憶させる処理と、
    クライアント装置からセッションの生成要求を受信した場合に、新たなセッションを生成するために、過去に生成されたセッションをキャンセルする必要があるか否かを判定する処理と、
    前記判定の結果、過去に生成されたセッションをキャンセルする必要がある場合に、前記再接続管理ファイルの記憶情報をもとに再接続の対象となっていないセッションをキャンセル候補として選択する処理と、
    前記選択されたセッションに関する情報を前記セッション管理ファイルから削除し、代わりに新たなセッションを生成する処理と、
    前記生成されたセッションの情報を前記生成要求元のクライアント装置に通知する処理と
    を前記コンピュータに実行させることを特徴とするサーバ装置のプログラム。
  8. 前記セッションの所有者を判定する処理は、
    生成されたセッションの識別情報をキャッシュ手段に記憶させる処理と、
    クライアント装置から送信されたセッションの実行要求が受信された場合に、当該セッションの識別情報が前記キャッシュ手段に記憶されているか否かを判定する処理と、
    前記判定の結果、前記実行要求されたセッションの識別情報が前記キャッシュ手段に記憶されている場合には当該セッションの所有者を自サーバ装置と認識する処理と、
    前記判定の結果、前記実行要求されたセッションの識別情報が前記キャッシュ手段に記憶されていない場合には、前記セッション管理ファイルに保持されているセッション情報をもとに当該セッションの所有者を判定する処理と
    を、前記コンピュータに実行させ
    かつ前記新たなセッションを生成する処理は、
    前記キャッシュ手段から前記選択されたセッションの識別情報をキャッシュアウトする処理を、前記コンピュータにさらに実行させることを特徴とする請求項7記載のサーバ装置のプログラム。
JP2003285849A 2003-08-04 2003-08-04 ワークフロー処理方法とこの方法を実現するためのサーバ装置及びこのサーバ装置で使用されるプログラム Expired - Lifetime JP3883991B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003285849A JP3883991B2 (ja) 2003-08-04 2003-08-04 ワークフロー処理方法とこの方法を実現するためのサーバ装置及びこのサーバ装置で使用されるプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003285849A JP3883991B2 (ja) 2003-08-04 2003-08-04 ワークフロー処理方法とこの方法を実現するためのサーバ装置及びこのサーバ装置で使用されるプログラム

Publications (2)

Publication Number Publication Date
JP2005056114A JP2005056114A (ja) 2005-03-03
JP3883991B2 true JP3883991B2 (ja) 2007-02-21

Family

ID=34365353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003285849A Expired - Lifetime JP3883991B2 (ja) 2003-08-04 2003-08-04 ワークフロー処理方法とこの方法を実現するためのサーバ装置及びこのサーバ装置で使用されるプログラム

Country Status (1)

Country Link
JP (1) JP3883991B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5011463B2 (ja) * 2006-10-11 2012-08-29 株式会社Jsol ワークフロー制御システムおよびワークフロー制御プログラム
JP5104591B2 (ja) * 2008-06-27 2012-12-19 富士通株式会社 バスシステム
JP6048149B2 (ja) * 2013-01-04 2016-12-21 富士通株式会社 通信制御方法、情報処理システム、通信制御装置、および通信制御プログラム
JP6107641B2 (ja) * 2013-12-24 2017-04-05 富士ゼロックス株式会社 セッション管理システム、サービス提供装置、及びプログラム

Also Published As

Publication number Publication date
JP2005056114A (ja) 2005-03-03

Similar Documents

Publication Publication Date Title
US10491702B2 (en) Proxy-based cache content distribution and affinity
US7769868B2 (en) Method and system for assigning client requests to a server
US7562145B2 (en) Application instance level workload distribution affinities
US7680848B2 (en) Reliable and scalable multi-tenant asynchronous processing
US6947982B1 (en) Distributed session services
US20020143953A1 (en) Automatic affinity within networks performing workload balancing
CN110417842A (zh) 用于网关服务器的故障处理方法和装置
JP6963168B2 (ja) 情報処理装置、メモリ制御方法およびメモリ制御プログラム
CN104618164B (zh) 云计算平台应用快速部署的管理方法
US20020143965A1 (en) Server application initiated affinity within networks performing workload balancing
US20120210390A1 (en) Extensible and Programmable Multi-Tenant Service Architecture
US8606927B2 (en) Multi-device communication method and system
US20080059639A1 (en) Systems and methods of migrating sessions between computer systems
KR101636601B1 (ko) 다수의 소프트웨어 애플리케이션이 연계된 세션을 제공하는 방법 및 시스템
US7437461B2 (en) Load balancing apparatus and method
CN113014611B (zh) 一种负载均衡方法及相关设备
KR100763319B1 (ko) 공통 작업 큐 환경에서의 최적격 서버
CN108153825A (zh) 数据访问方法及装置
US8223785B2 (en) Message processing and content based searching for message locations in an asynchronous network
US8166100B2 (en) Cross site, cross domain session sharing without database replication
US20030110154A1 (en) Multi-processor, content-based traffic management system and a content-based traffic management system for handling both HTTP and non-HTTP data
JP3883991B2 (ja) ワークフロー処理方法とこの方法を実現するためのサーバ装置及びこのサーバ装置で使用されるプログラム
JP5526780B2 (ja) 負荷分散システム、サービス処理サーバ、負荷分散方法及び負荷分散プログラム
US20090070461A1 (en) Distributed file system and method of replacing cache data in the distributed file system
US20120016854A1 (en) File-sharing system and method for managing files, and program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061012

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061115

R151 Written notification of patent or utility model registration

Ref document number: 3883991

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111124

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111124

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121124

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121124

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131124

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term