(57)【特許請求の範囲】
【請求項１】
各々プロセッサを有する複数の業務処理単位と、
クライアント端末からの処理要求を、前記複数の業務処理単位のうち１の業務処理単位に割り振る負荷分散装置と、
クライアントがログインする際にクライアント端末から受信したユーザＩＤを含む引継データ特定情報を含み且つ前記業務処理単位が実施した業務処理の継続実施に必要なデータである引継データを保管且つ管理する引継データ管理コンピュータと、
を有し、
特定のクライアント端末からの処理要求が割り振られた特定の業務処理単位に障害が発生して前記特定のクライアント端末と前記負荷分散装置との接続が切断される場合、
前記負荷分散装置により前記処理要求を割り振られた他の業務処理単位は、
当該処理要求内の、前記ユーザＩＤを含む引継データ特定情報と同一の引継データ特定情報を含む引継データを取得して当該引継データと前記処理要求に含まれるデータとを用いて業務処理を実施し、当該業務処理についての引継データを生成して前記引継データ管理コンピュータに送信し、処理要求元であるクライアント端末に対する応答データを生成して送信する
ことを特徴とするコンピュータ・システム。
【請求項２】
前記業務処理単位は、前記業務処理についての前記引継データを生成して前記引継データ管理コンピュータに送信すると共に、当該引継データを当該業務処理単位の記憶装置にも格納し、
前記業務処理単位は、前記負荷分散装置により前記処理要求を割り振られた場合、当該処理要求に含まれる前記引継データ特定情報と同一の引継データ特定情報を含む前記引継データを、前記業務処理単位の前記記憶装置が保管しているときは当該記憶装置から取得し、保管していないときは前記引継データ管理コンピュータから取得する
請求項１記載のコンピュータ・システム。
【請求項３】
前記負荷分散装置は、
前記クライアント端末との通信開始時において割り振った特定の業務処理単位が動作している場合には当該特定の業務処理単位に、前記クライアント端末からの後続の処理要求を割り振り、
前記特定の業務処理単位に障害が発生した場合に、他の業務処理単位のうち１の業務処理単位に処理要求を割り振る
請求項１記載のコンピュータ・システム。
【請求項４】
前記負荷分散装置は、
クライアント端末からの処理要求を受信する毎に、前記複数の業務処理単位の状態に応じて前記処理要求を１の業務処理単位に割り振る
請求項１記載のコンピュータ・システム。
【請求項５】
前記負荷分散装置により処理要求を割り振られた業務処理単位は、前記引継データと前記処理要求に含まれるデータとの少なくともいずれかを用いて実施すべき業務処理を特定し、当該業務処理を実施することを特徴とする請求項１記載のコンピュータ・システム。
【請求項６】
負荷分散装置により、クライアント端末からの処理要求を複数の業務処理単位のうち特定の業務処理単位に割り振るステップと、
前記クライアント端末からの前記処理要求が割り振られた他の業務処理単位に障害が発生して前記クライアント端末と前記負荷分散装置との接続が切断された場合、前記処理要求を割り振られた前記特定の業務処理単位により、クライアントがログインする際にクライアント端末から受信したユーザＩＤを含む引継データ特定情報を含み且つ前記クライアント端末のユーザについていずれかの業務処理単位により実施された業務処理の継続実施に必要なデータである引継データを保管且つ管理する引継データ管理コンピュータに、前記処理要求内の、前記ユーザＩＤを含む引継データ特定情報と同一の引継データ特定情報を含む引継データを要求するステップと、
前記引継データ管理コンピュータにより、前記特定の業務処理単位からの引継データの要求に応じて引継データを特定して返信するステップと、
前記特定の業務処理単位により、前記引継データ管理コンピュータから要求に係る引継データを受信し、受信した引継データと前記処理要求に含まれるデータとを用いて業務処理を実施し、当該業務処理についての引継データを生成して前記引継データ管理コンピュータに送信するステップと、
前記引継データ管理コンピュータにより、前記特定の業務処理単位から引継データを受信し、保管するステップと、
前記特定の業務処理単位により、処理要求元であるクライアント端末に対する応答データを生成して送信するステップと、
を含む情報処理方法。
【請求項７】
プロセッサを含む業務処理単位により実行される情報処理方法であって、
負荷分散装置からクライアント端末からの処理要求を受信するステップと、
特定のクライアント端末からの処理要求が割り振られた特定の業務処理単位に障害が発生して前記特定のクライアント端末と前記負荷分散装置との接続が切断された場合、前記処理要求に含まれ且つクライアントがログインする際にクライアント端末から受信したユーザＩＤを含む引継データ特定情報を用いて、前記引継データ特定情報を含み且つ前記クライアント端末のユーザについて過去に実施された業務処理の継続実施に必要なデータである引継データを取得する取得ステップと、
取得された前記引継データと前記処理要求に含まれるデータとを用いて業務処理を実施し、当該業務処理についての引継データを生成して、前記引継データを保管且つ管理する引継データ管理コンピュータに送信する引継データ生成ステップと、
業務処理単位の再度の割り振り処理を実施することなく、処理要求元であるクライアント端末に対する応答データを生成して送信するステップと、
を含む情報処理方法。
【請求項８】
前記引継データ生成ステップにおいて、
前記引継データを前記業務処理単位の記憶装置にも格納し、
前記取得ステップにおいて、
前記業務処理単位の前記記憶装置において前記引継データを取得できなかった場合に、前記引継データ管理コンピュータに要求することを特徴とする請求項７記載の情報処理方法。
【請求項９】
請求項７又は８記載の情報処理方法をコンピュータに実行させるためのプログラム。
【請求項１０】
負荷分散装置からクライアント端末からの処理要求を受信する手段と、
障害が発生して前記クライアント端末と前記負荷分散装置との接続が切断される場合、前記処理要求に含まれ且つクライアントがログインする際にクライアント端末から受信したユーザＩＤを含む引継データ特定情報を用いて、前記引継データ特定情報を含み且つ前記クライアント端末のユーザについて過去に実施された業務処理の継続実施に必要なデータである引継データを取得する引継データ取得手段と、
取得された前記引継データと前記処理要求に含まれるデータとを用いて業務処理を実施し、当該業務処理についての引継データを生成して前記引継データ管理コンピュータに送信する引継データ生成手段と、
業務処理単位の再度の割り振り処理を実施することなく、処理要求元であるクライアント端末に対する応答データを生成して送信する手段と、
を有するコンピュータ。
【請求項１１】
前記引継データ生成手段は、生成した前記引継データを前記コンピュータの記憶装置にも格納し、
前記引継データ取得手段は、前記負荷分散装置により前記処理要求を割り振られた場合、当該処理要求に含まれる前記引継データ特定情報と同一の引継データ特定情報を含む前記引継データを、前記記憶装置が保管しているときは当該記憶装置から取得し、保管していないときは前記引継データ管理コンピュータに要求する
請求項１０記載のコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・システムにおける負荷分散及び障害対応技術に関する。
【背景技術】
【０００２】
例えば、特開２００３−１９６１７８号公報には以下のような技術が開示されている。すなわち、クライアントＡからの処理要求に対して、負荷分散装置Ｂが、各サーバ装置Ｃ、Ｄ、Ｅの稼動状況の問合せを実施し、その結果から第１のサーバ装置Ｃを処理の実行を行うサーバとして選択し、クライアント・サーバ装置の接続、および処理開始により、第１のサーバ装置Ｃが処理を開始する。ここで、当該処理に必要なデータが生じた場合、サーバ装置Ｃは、アプリケーション層サーバＦに対してデータ取得要求を指示すると同時に、共有記憶手段Ｇに対して、当該処理を再開するために必要なプロセス情報の記録を行う。アプリケーション層サーバＦにおいて、当該処理に必要なデータの作成が終了し、データ返送要求が送出されると、システム制御装置Ｈは、当該データを受け取った後、サーバ装置Ｃ、Ｄ、Ｅの稼動状況の問合せを行い、処理の再開を行うサーバ装置を選択する。この選択の方法としては、各サーバ装置Ｃ、Ｄ、Ｅの負荷の最も軽いもの、あるいは現在実行されている他の処理の数がもっとも少ないものなどを根拠に、以後の処理が最も効率良く実行されるサーバ装置を選択する。選択されたサーバ装置が第３のサーバ装置Ｅであったとすると、当該処理が当初実行されていたサーバ装置Ｃとは異なるサーバにて処理を再開することになる。この場合、システム制御装置Ｈは、まず、クライアントＡとサーバ装置Ｃとの接続を、サーバ装置Ｅとの接続へ変更することを指示する接続変更要求を、負荷分散装置Ｂに送る。負荷分散装置Ｂはこの接続変更要求にしたがって、クライアントＡとサーバ装置との接続変更を実施する。その後、システム制御装置Ｈはサーバ装置Ｅに対してアプリケーション層サーバＦにより取得されたデータの転送を行い、かつ処理再開指示を送る。データの転送、および処理再開要求を受けたサーバ装置Ｅは、データ取得前に当該処理を行っていたサーバ装置とは異なるため、処理再開に必要なプロセス情報は保持していない。そこで、サーバ装置Ｅは、共有記憶手段Ｇにある処理を再開するために必要なプロセス情報の参照を行い、処理を再開する。このように、データ取得のため処理を一時停止した後、データを取得し処理を再開する際にも負荷分散を実施することにより、さらに効率的なウェブ層サーバの運用を実現することができるというものである。
【特許文献１】特開２００３−１９６１７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら上記のような技術では、クライアントＡからの要求に応じて初めに処理を行ったサーバ装置を選択した上、さらに同一要求についてレスポンスを行うサーバ装置を選択する必要があるため、１つの要求を処理するのにサーバ選択処理を２回も行わなければならず、サーバ装置の負荷がほぼ均等であるならばサーバ選択処理１回分の余分な時間がかかることになる。また、サーバ選択処理毎に負荷状況を各サーバ装置に問い合わせる場合にはそのための負荷も余分にかかる。上記のような技術では、サーバ装置においてアプリケーション層サーバへ処理を依頼した後に障害が発生した場合にはクライアントに影響を与えずに処理を完了させることが可能であるが、サーバ装置において初めに処理を開始した後やアプリケーション層サーバからのデータを処理している間に障害が発生した場合にはクライアントに障害発生の影響が出てしまうので、障害対策上大きな効果は無い。【０００４】
従って、本発明の目的は、コンピュータ・システムにおいて負荷分散を図りつつ障害対応がスムーズになされる新たな技術を提供することである。
【課題を解決するための手段】
【０００５】
本発明の第１の態様に係るコンピュータ・システムは、各々プロセッサを有する複数の業務処理単位と、クライアント端末からの処理要求を、複数の業務処理単位のうち１の業務処理単位に割り振る負荷分散装置と、業務処理単位が実施した業務処理の継続実施に必要なデータであり且つクライアント端末識別情報とユーザ識別情報とのうち少なくともいずれかである引継データ特定情報を含む引継データを保管且つ管理する引継データ管理コンピュータとを有する。そして、負荷分散装置により処理要求を割り振られた業務処理単位は、当該処理要求に含まれる引継データ特定情報により該当する引継データを取得して当該引継データと処理要求に含まれるデータとを用いて業務処理を実施し、当該業務処理についての引継データを生成して引継データ管理コンピュータに送信し、さらに業務処理単位の再度の割り振り処理を実施することなく処理要求元であるクライアント端末に対する応答データを生成して送信する。【０００６】
このような処理を実施することにより、業務処理単位の割り振り処理が必要最低限に抑えられ、障害時においても引継データ管理コンピュータが保管且つ管理している引継データにより対処可能となっている。【０００７】
なお、負荷分散装置は、クライアント端末との通信開始時において割り振った特定の業務処理単位が動作している場合には当該特定の業務処理単位に、クライアント端末からの後続の処理要求を割り振り、特定の業務処理単位に障害が発生した場合に、他の業務処理単位のうち１の業務処理単位に処理要求を割り振るようにしてもよい。このようにすれば、例えば引継データ管理コンピュータに引継データを要求せずとも引継データを取得できる可能性があるので、レスポンスを高速化させることができる。【０００８】
また、負荷分散装置は、クライアント端末からの処理要求を受信する毎に、複数の業務処理単位の状態に応じて上記処理要求を１の業務処理単位に割り振るようにしてもよい。このようにすれば、より負荷が分散されることになる。【０００９】
さらに、特定のクライアント端末からの処理要求に対して割り振った特定の業務処理単位に障害が発生しても特定のクライアント端末と負荷分散装置との接続が継続される場合、引継データ特定情報としてセッション識別情報を用いるようにしてもよい。このような場合には、クライアント端末から再度同じセッションＩＤで処理要求を受けるので、当該セッションＩＤにより引継データが特定できる。【００１０】
また、特定のクライアント端末からの処理要求に対して割り振った特定の業務処理単位に障害が発生すると特定のクライアント端末と負荷分散装置との接続が切断される場合、引継データ特定情報としてユーザ識別情報を用いるようにしてもよい。このような場合ユーザは再度ログインしなければならないこともあり、そのような場合には前のセッションＩＤを業務処理単位において取得できない場合もあるためである。【００１１】
さらに、負荷分散装置により処理要求を割り振られた業務処理単位は、引継データと処理要求に含まれるデータとの少なくともいずれかを用いて実施すべき業務処理を特定し、当該業務処理を実施するようにしてもよい。いずれの段階で障害が発生するかは分からず、例えばクライアント端末から再度同じ処理要求がなされた場合には、前回その処理要求についての処理が完了していて処理結果をクライアント端末に送信すればよいのか、または前回その処理要求についての処理が完了しておらず再度業務処理を行わなければならないのかを判断する必要があるためである。【００１２】
本発明の第２の態様に係る情報処理方法は、負荷分散装置により、クライアント端末からの処理要求を複数の業務処理単位のうち特定の業務処理単位に割り振るステップと、処理要求を割り振られた特定の業務処理単位により、当該処理要求に含まれ且つクライアント端末識別情報とユーザ識別情報とのうち少なくともいずれかである引継データ特定情報を用いて、クライアント端末のユーザについていずれかの業務処理単位により実施された業務処理の継続実施に必要なデータであり且つ引継データ特定情報を含む引継データを保管且つ管理する引継データ管理コンピュータに該当する引継データを要求するステップと、引継データ管理コンピュータにより、特定の業務処理単位からの引継データの要求に応じて引継データを特定して返信するステップと、特定の業務処理単位により、引継データ管理コンピュータから要求に係る引継データを受信し、受信した引継データと処理要求に含まれるデータとを用いて業務処理を実施し、当該業務処理についての引継データを生成して引継データ管理コンピュータに送信するステップと、引継データ管理コンピュータにより、特定の業務処理単位から引継データを受信し、保管するステップと、業務処理単位の再度の割り振り処理を実施することなく特定の業務処理単位により、処理要求元であるクライアント端末に対する応答データを生成して送信するステップと含む。【００１３】
このようにすれば、コンピュータ・システム全体としてレスポンス時間を短縮しつつ、障害時への対応もスムーズに行うことができるようになる。【００１４】
さらに、本発明の第３の態様に係る、プロセッサを含む業務処理単位により実行される情報処理方法は、負荷分散装置からクライアント端末からの処理要求を受信するステップと、処理要求に含まれ且つクライアント端末識別情報とユーザ識別情報とのうち少なくともいずれかである引継データ特定情報を用いて、クライアント端末のユーザについて過去に実施された業務処理の継続実施に必要なデータであり且つ引継データ特定情報を含む引継データを取得する取得ステップと、取得された引継データと処理要求に含まれるデータとを用いて業務処理を実施し、当該業務処理についての引継データを生成して、引継データを保管且つ管理する引継データ管理コンピュータに送信するステップと、業務処理単位の再度の割り振り処理を実施することなく、処理要求元であるクライアント端末に対する応答データを生成して送信するステップとを含む。【００１５】
また、上で述べた取得ステップにおいて、業務処理単位の記憶装置において引継データを取得できなかった場合に、引継データ管理コンピュータに要求するようにしてもよい。例えば、できるだけ同じ業務処理単位において連続して業務処理を行うように処理要求の割り振りが行われる場合には、自己の記憶装置に引継データが保持されている場合もあり、そのような場合には引継データ管理コンピュータに要求する必要が無い場合もあるからである。【００１６】
上で述べた情報処理方法をコンピュータに実行させるためのプログラムを作成することができ、このプログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークなどを介してデジタル信号として配信される場合もある。尚、中間的な処理結果はメモリ等の記憶装置に一時保管される。
【図面の簡単な説明】
【００１７】
【図１】図１は、本発明の一実施の形態に係る機能ブロック図である。
【図２】引継データ格納部に格納されるデータの一例を示す図である。
【図３】本実施の形態に係る第１の処理フローを示す図である。
【図４】本実施の形態に係る第２の処理フローを示す図である。
【図５】本実施の形態に係る第３の処理フローを示す図である。
【図６】本実施の形態に係る第４の処理フローを示す図である。
【図７】本実施の形態に係る第５の処理フローを示す図である。
【図８】本実施の形態に係る第６の処理フローを示す図である。
【図９】コンピュータの機能ブロック図である。
【発明を実施するための最良の形態】
【００１８】
図１に本発明の一実施の形態に係るシステム構成図を示す。例えばインターネット等のネットワーク９には、例えばパーソナルコンピュータであってウェブ（Ｗｅｂ）ブラウザ機能を有する複数のクライアント端末１１及び１３が接続されており、さらにＬ７スイッチ７も接続されている。またＬ７スイッチ７には、例えばＷｅｂサーバ機能を有する複数の業務処理サーバ５ａ乃至５ｄが接続されている。この業務処理サーバ５ａ乃至５ｄは、ブレードサーバのようなサーバであってもよいし、共有メモリ型並列コンピュータの各プロセッサユニット、その他のプロセッサを含む処理単位であってもよい。また、業務処理サーバ５ａ乃至５ｄは、ＬＡＮ（Local Area network）３を介してセッション管理サーバ１に接続されている。【００１９】
セッション管理サーバ１は、引継データ格納部１０１を有している。引継データ格納部１０１には、例えば図２に示すようなデータが格納されている。すなわち、クライアント端末１１又は１３とのセッションを特定するためのセッションＩＤと、クライアント端末１１又は１３を操作しているユーザのユーザＩＤと、業務処理サーバ５ａ乃至５ｄにより実施された業務処理のステート（状態）を表すデータと、当該業務処理を実行したサーバのＩＤと、処理完了時刻と、今回業務処理サーバ５ａ乃至５ｄが実行した業務処理を継続するために必要なデータとが登録されている。本実施の形態では、ログインしてからログオフするまで同一のセッションＩＤを用いるようにする。但し、明らかな特定の業務終了時に切り替えることも可能である。また、ステートを表すデータとしては、クライアント端末１１又は１３に表示させる画面のコードや特定の業務処理におけるステップを特定するコードと処理状態（正常終了又は異常終了など）とを組み合わせたものである。業務処理を継続するために必要なデータとは、例えば顧客登録が要求された場合には、顧客登録画面において入力され業務処理サーバに送信された顧客データ等のデータが含まれる。この顧客データ等は、例えば顧客登録の確認画面を生成し、送信する際に用いられるため、業務処理を継続するために必要なデータである。また、例えば顧客登録の確認画面において確認ボタンがクリックされ、顧客情報の本登録が要求された場合には、顧客コード及び顧客登録完了を表すコード等が、業務処理を継続するために必要なデータとなる。顧客登録完了を通知するのに必要なデータであるからである。【００２０】
なお、引継データ格納部１０１に格納された引継データ（各レコード）については、例えば一連の業務処理において当該業務処理が終了したことが明らかな場合に当該業務処理に関連する全引継データを削除するか、処理時刻が一定期間以上経過した場合に削除するものとする。【００２１】
業務処理サーバ５ａ乃至５ｄの各々は、Ｌ７スイッチ７との通信及びＬＡＮ３との通信を行う通信処理部５１と、クライアント端末１１又は１３へのレスポンスデータを格納するレスポンスデータ格納部５２と、引継データ格納部５３と、クライアント端末１１又は１３からの業務処理要求等を格納する処理要求データ格納部５４と、制御部５５と、各種業務を行うための業務処理部５６とを含む。【００２２】
通信処理部５１は、Ｌ７スイッチ７から受信した業務処理要求などを処理要求データ格納部５４に格納する。制御部５５は、処理要求データ格納部５４に格納された業務処理要求などを参照して引継データの取得要求を通信処理部５１にセッション管理サーバ１へ送信させる。なお、この際引継データ格納部５３を参照するようにしても良い。通信処理部５１は、セッション管理サーバ１から引継データを受信すると引継データ格納部５３に格納する。制御部５５は、引継データ及び業務処理要求等に基づき実施すべき業務処理を特定し、業務処理部５６に業務処理を実行させる。業務処理部５６は、指示に従って処理を実施し、処理結果を制御部５５に出力する。制御部５５は、処理結果等に基づき引継データを生成し、引継データ格納部５３に出力すると共に、通信処理部５１にセッション管理サーバ１へ送信させる。さらに、自動的にレスポンスデータを構成し、レスポンスデータ格納部５２に出力すると共に、通信処理部５１にＬ７スイッチ７を介して要求元のクライアント端末１１又は１３へ送信させる。【００２３】
Ｌ７スイッチ７は、ロードバランサの機能を有しており、各種負荷分散アルゴリズム（ラウンドロビンや静的な重み付け、最小コネクション数、最小クライアント数、最小データ通信量、最小応答時間、最小ＣＰＵ負荷率、最小メモリ使用率、最小ディスク負荷率等）を用いて負荷分散を実施する。なお、このような負荷分散機能は周知であって、業務処理サーバ５ａ乃至５ｄについて所定の間隔又は任意のタイミングで状態チェックを行う機能を含む。状態チェックには、正常か異常かのチェックの他に、各業務処理サーバの負荷状況のチェックも含まれる。また、クライアント端末のＩＰアドレス等と負荷分散アルゴリズムにより割り当てられた業務処理サーバのＩＰアドレス等との対応テーブルを管理している。【００２４】
次に図３乃至図８を用いて図１に示したコンピュータ・システムの処理内容を説明する。なお、図３乃至図６においては既にログインが完了しているものとして説明する。まず、クライアント端末１１は、例えばメニュー画面などを表示しており、ユーザから特定の業務処理の開始を指示されたものとする。そうすると、クライアント端末１１は、当該指示に応じて、特定の業務開始要求ＡをＬ７スイッチ７に送信する（ステップＳ１）。なお、業務開始要求Ａには、例えばクッキーを用いて又はＵＲＬに埋め込むような形態にてユーザＩＤが含まれるものとする。Ｌ７スイッチ７は、クライアント端末１１から特定の業務開始要求Ａを受信し（ステップＳ３）、所定のルールに従って業務処理サーバ（Ｍ１（業務処理サーバ５ａ乃至５ｄのいずれか１つ））を特定する（ステップＳ５）。所定のルールは、単純に業務処理サーバ５ａ乃至５ｄの負荷状態及び障害の有無などに応じて選択するようなルールであっても良いし、クライアント端末からの業務処理要求等をできる限り同じ業務処理サーバに割り振り、当該業務処理サーバに障害が発生した場合に他の業務処理サーバから負荷状態などに応じて選択するようなルールであってもよい。なお、レスポンスデータの返信を行うため、いずれの場合であってもクライアント端末１１のＩＰアドレスと特定された業務処理サーバ（Ｍ１）のＩＰアドレス等との対応関係を記憶しておく。そしてＬ７スイッチ７は、業務処理サーバ（Ｍ１）に特定の業務開始要求Ａを送信する（ステップＳ７）。【００２５】
これに対して業務処理サーバ（Ｍ１）の通信処理部５１は、Ｌ７スイッチ７から特定の業務開始要求Ａを受信し、処理要求データ格納部５４に格納する（ステップＳ９）。そして、業務処理サーバ（Ｍ１）の制御部５５は、業務開始であるからセッションＩＤを新たに生成し（ステップＳ１１）、業務開始時における業務処理を業務処理部５６に実施させる（ステップＳ１３）。なお、ステップＳ１１の後又は前に、引継データを、ユーザＩＤをキーとしてセッション管理サーバ１から取得する処理を実施するようにしても良い。但し、このように明示的に業務処理開始であることが分かれば、引継データの取得は省略可能である。制御部５５は、業務処理部５６による業務処理が完了すると処理結果を受け取り、セッションＩＤ等を含む引継データを生成し、引継データ格納部５３に格納すると共に通信処理部５１にセッション管理サーバ１へ送信させる（ステップＳ１５）。ユーザＩＤについては、ログイン時のユーザＩＤがクッキーその他の手段にて伝えられるものとする。セッション管理サーバ１は、業務処理サーバ（Ｍ１）からセッションＩＤ等を含む引継データを受信し、引継データ格納部１０１に格納する（ステップＳ１７）。格納される引継データは、図２に示したようなデータである。引継データ格納部１０１への書き込みが完了するとセッション管理サーバ１は、処理完了を業務処理サーバ（Ｍ１）に送信する。そして処理は端子Ａを介して図４の処理に移行する。なお、特定の業務処理が顧客情報登録であるとすると、最初は顧客情報の登録画面用のＷｅｂページ・データを生成することになるので、引継データはセッションＩＤとユーザＩＤと例えば画面ＩＤ等のステート情報が主なデータとなる。【００２６】
次に、業務処理サーバ（Ｍ１）の制御部５５は、セッションＩＤ等を含むレスポンス・データを生成し、通信処理部５１にＬ７スイッチ７へ送信させる（図４：ステップＳ１９）。セッションＩＤ及びユーザＩＤは、例えばクッキーに保持させ、上の例では顧客情報の登録画面用のＷｅｂページ・データと共に送信する。なお、クッキーだけではなく、ＵＲＬに埋め込む形であってもよい。Ｌ７スイッチ７は、業務処理サーバ（Ｍ１）からセッションＩＤ等を含むレスポンスデータを受信し、要求元のクライアント端末１１に転送する（ステップＳ２１）。クライアント端末１１は、Ｌ７スイッチ７からセッションＩＤ等を含むレスポンスデータを受信し、表示装置に表示する（ステップＳ２３）。なお、セッションＩＤ等がクッキーで送信されてきた場合には、記憶装置に格納する。これにより、例えば顧客情報の登録画面が表示されるので、ユーザは顧客情報の入力を行う。クライアント端末１１は、ユーザによる入力を受け付け（ステップＳ２５）、例えば送信ボタンのクリックにより、セッションＩＤ等及び入力データ等を含む業務処理要求ＢをＬ７スイッチ７に送信する（ステップＳ２７）。【００２７】
Ｌ７スイッチ７は、クライアント端末１１からセッションＩＤ等及び入力データ等を含む業務処理要求Ｂを受信し（ステップＳ２９）、上で述べたのと同様に所定のルールに従って業務処理サーバを特定する（ステップＳ３１）。ここでは業務処理サーバ（Ｍ１）が、特定されるものとする。そして、特定された業務処理サーバ（Ｍ１）に、セッションＩＤ及び入力データ等を含む業務処理要求Ｂを送信する（ステップＳ３３）。業務処理サーバ（Ｍ１）の通信処理部５１は、セッションＩＤ等及び入力データ等を含む業務処理要求Ｂを受信し、処理要求データ格納部５４に格納する（ステップＳ３５）。処理は端子Ｂを介して図５の処理に移行する。【００２８】
業務処理サーバ（Ｍ１）の制御部５５は、処理要求データ格納部５４に格納された業務処理要求に含まれるセッションＩＤ等を読み出し、当該セッションＩＤ等を含む引継データ要求を生成し、通信処理部５１にセッション管理サーバ１へ送信させる（図５：ステップＳ３７）。なお、引継データ格納部５３を参照して、直前の引継データが格納されているか確認して、直前の引継データが格納されていないと判断した場合のみ、セッション管理サーバ１に引継データ要求を送信するようにしても良い。このようにすればクライアント端末へのレスポンスを早くすることができる。セッション管理サーバ１は、業務処理サーバ（Ｍ１）からセッションＩＤ等を含む引継データ要求を受信し（ステップＳ３９）、セッションＩＤ等を用いて引継データ格納部１０１を検索し、該当する直前の引継データを特定し、要求元の業務処理サーバ（Ｍ１）に送信する（ステップＳ４１）。【００２９】
業務処理サーバ（Ｍ１）の通信処理部５１は、セッション管理サーバ１から引継データを受信すると（ステップＳ４３）、引継データ格納部５３に格納する。そして、業務処理サーバ（Ｍ１）の制御部５５は、引継データ格納部５３に格納された直前の引継データ及び処理要求データ格納部５４に格納された業務処理要求Ｂのデータから実施すべき業務処理を特定し、業務処理部５６に実行させる（ステップＳ４５）。例えば、引継データが顧客情報の登録画面の画面ＩＤを含み、業務処理要求のデータに顧客情報が含まれる場合には、次の処理段階に進んで顧客情報登録確認を行うべきであると判断できる。従って、実施すべき業務処理として、受信した顧客情報を含む顧客情報登録確認画面用のＷｅｂページ・データの生成を実施させる。【００３０】
そして、業務処理サーバ（Ｍ１）の制御部５５は、セッションＩＤ等を含む新たな引継データを生成し、引継データ格納部５３に格納すると共に、通信処理部５１にセッション管理サーバ１へ当該セッションＩＤ等を含む新たな引継データを送信させる（ステップＳ４７）。例えば新たな引継データとしては、受信した顧客情報を含む。セッション管理サーバ１は、業務処理サーバ（Ｍ１）からセッションＩＤ等を含む引継データを受信すると、引継データ格納部１０１に格納する（ステップＳ４９）。そして引継データ格納部１０１への引継データの書き込みが完了すると、書き込み完了通知を業務処理サーバ（Ｍ１）に送信する。業務処理サーバ（Ｍ１）の通信処理部５１がセッション管理サーバ１から書き込み完了通知を受信すると、業務処理サーバ（Ｍ１）の制御部５５は、クライアント端末１１に対するセッションＩＤ等を含むレスポンス・データを生成し、レスポンスデータ格納部５２に格納すると共に、通信処理部５１にＬ７スイッチ７へ送信させる（ステップＳ５１）。セッションＩＤ等は上で述べたようにクッキーその他の手段にて送信される。【００３１】
Ｌ７スイッチ７は、業務処理サーバ（Ｍ１）からセッションＩＤ等を含むレスポンス・データを受信すると、要求元のクライアント端末１１に転送する（ステップＳ５３）。クライアント端末１１は、Ｌ７スイッチ７からセッションＩＤ等を含むレスポンス・データを受信し、表示装置に表示する（ステップＳ５５）。なお、セッションＩＤ等がクッキーで送信されてきた場合には、記憶装置に格納する。【００３２】
このように、引継データをセッション管理サーバ１の引継データ格納部１０１に格納しておくことにより、障害対応が可能となり、さらに業務処理サーバ間の負荷のバランスも向上するようになる。すなわち、クライアント端末へのレスポンス時間も短くなることが期待される。【００３３】
次に、業務処理サーバ（Ｍ１）に障害が発生した場合について説明する。なお、仮に業務処理サーバ（Ｍ１）にステップＳ３７以降に障害が発生したものとする。また、障害が発生したときにはＬ７スイッチ７の機能によって多少処理が変わってくる。すなわち、処理要求の振り分け先である業務処理サーバ（Ｍ１）に障害が発生しても、クライアント端末１１とＬ７スイッチ７の接続が保持される場合と、保持されない場合とがある。従って、これらのケースについて分けて説明する。【００３４】
まず、クライアント端末１１とＬ７スイッチ７の接続が保持される場合について図６を用いて説明する。この場合、ユーザは、例えば送信ボタンのクリックの後、ある程度の時間待ってもレスポンスが帰ってこないため、例えばＷｅｂブラウザの中止ボタンをクリックし、さらに送信ボタンを再度クリックする。そうすると、クライアント端末１１は、ユーザからの指示を受け付け、セッションＩＤ等及び入力データ等を含む業務処理要求ＢをＬ７スイッチ７に再送する（ステップＳ６１）。【００３５】
Ｌ７スイッチ７は、クライアント端末１１からセッションＩＤ等及び入力データ等を含む業務処理要求Ｂを受信し（ステップＳ６３）、上で述べたのと同様に所定のルールに従って業務処理サーバを特定する（ステップＳ６５）。但し、業務処理サーバ（Ｍ１）では障害が発生しているので、業務処理サーバ（Ｍ１）には業務処理要求Ｂを割り振ることができない。従って、ここでは業務処理サーバ（Ｍ２（業務処理サーバ５ａ乃至５ｄのうち１台の障害が発生した業務処理サーバを除く業務処理サーバ））が、特定されるものとする。そして、特定された業務処理サーバ（Ｍ２）に、セッションＩＤ及び入力データ等を含む業務処理要求Ｂを送信する（ステップＳ６７）。業務処理サーバ（Ｍ２）の通信処理部５１は、セッションＩＤ等及び入力データ等を含む業務処理要求Ｂを受信し、処理要求データ格納部５４に格納する（ステップＳ６９）。【００３６】
業務処理サーバ（Ｍ２）の制御部５５は、処理要求データ格納部５４に格納された業務処理要求に含まれるセッションＩＤ等を読み出し、当該セッションＩＤ等を含む引継データ要求を生成し、通信処理部５１にセッション管理サーバ１へ送信させる（ステップＳ７１）。なお、引継データ格納部５３を参照して、直前の引継データが格納されているか確認して、直前の引継データが格納されていないと判断した場合のみ、セッション管理サーバ１に引継データ要求を送信するようにしても良い。但し、今回の場合には引継データ格納部５３には直前の引継データが格納されていないので、ステップＳ７１はそのまま実行される。セッション管理サーバ１は、業務処理サーバ（Ｍ２）からセッションＩＤ等を含む引継データ要求を受信し（ステップＳ７３）、セッションＩＤ等を用いて引継データ格納部１０１を検索し、該当する直前の引継データを特定し、要求元の業務処理サーバ（Ｍ２）に送信する（ステップＳ７５）。【００３７】
業務処理サーバ（Ｍ２）の通信処理部５１は、セッション管理サーバ１から引継データを受信すると（ステップＳ７７）、引継データ格納部５３に格納する。そして端子Ｃを介して図５のステップＳ４５に移行する。【００３８】
なお、ステップＳ４５では、いずれのタイミングにて業務処理サーバ（Ｍ１）に障害が発生したかによって処理が異なる。例えば、業務処理サーバ（Ｍ１）が必要な業務処理を実行せずに停止してしまった場合には、引継データ及び業務処理要求Ｂに含まれる入力データを用いて必要な業務処理を実行する必要がある。従って、初めて業務処理要求Ｂを受信したのと同様の処理を実行する。一方、業務処理サーバ（Ｍ１）が必要な業務処理を実行し、引継データを生成してセッション管理サーバ１に引継データを送信した後に停止してしまった場合には、引継データには業務処理が完了したことを表すデータが存在するため、業務処理要求Ｂに含まれるデータを用いて処理をせずとも、引継データに含まれるデータを用いてレスポンスデータを生成すればよい。【００３９】
例えば、引継データに顧客情報登録完了というデータが含まれていれば、業務処理要求Ｂが顧客登録指示を含む場合であっても再度顧客情報登録を実行することなく、顧客情報登録完了をユーザに通知するためのＷｅｂページ・データを生成すればよい。一方、引継データに顧客情報の登録確認のための顧客情報を含み、業務処理要求Ｂが顧客登録指示を含む場合には、顧客情報登録は行われていないので、顧客情報登録処理を必要な業務処理として実行する。【００４０】
但し、必要な業務処理が例えば確認画面用のＷｅｂページ・データの生成といったようなレスポンスデータの生成に実質的に等しいような場合には、初めて業務処理要求Ｂを受信した場合と同様の処理を行うことになる。例えば、引継データに顧客情報の登録確認のための顧客情報を含み、業務処理要求Ｂに同じく顧客情報が含まれる場合には、顧客情報の登録確認用のＷｅｂページ・データを、初めて業務処理要求Ｂを受信した場合と同様に生成することになる。【００４１】
なお、業務処理を実行したが引継データを生成する途中で又は引継データをセッション管理サーバ１に登録する前に業務処理サーバ（Ｍ１）が停止してしまった場合には、同じ業務処理を実行することになる。しかし、例えば業務処理において二重登録がないかといった確認処理をあわせて実行して、二重登録が検出された場合にはユーザにも確認させるといった後処理を行わせれば、上記のような場合にも対処可能となる。【００４２】
次に図７及び図８を用いて、Ｌ７スイッチ７とクライアント端末１１との接続が保持されない場合について説明する。このような場合、ユーザは、例えば送信ボタンのクリックの後、ある程度の時間待ってもレスポンスが帰ってこないため、例えばＷｅｂブラウザの中止ボタンをクリックし、さらに送信ボタンを再度クリックする。しかし、接続が保持されていないため、クライアント端末１１はエラーとして再ログインを要求するＷｅｂページ・データを受信し、表示装置に表示する。そうすると、ユーザは、ユーザＩＤ及びパスワードを入力欄に入力する。クライアント端末１１は、ユーザからのユーザＩＤ及びパスワードの入力を受け付け、ユーザＩＤ及びパスワードを含むログイン要求をＬ７スイッチ７に送信する（ステップＳ８１）。Ｌ７スイッチ７は、ユーザＩＤ及びパスワードを含むログイン要求を受信し（ステップＳ８３）、認証処理を実施するサーバを特定する（ステップＳ８５）。認証処理を実施するサーバは、図１には示していないが例えば業務処理サーバ５ａ乃至５ｄのうちいずれかの特定の業務処理サーバが認証処理用に特定されていても良いし、いずれの業務処理サーバによっても実行できるようにしておき負荷状態などによって選択するようにしても良い。特定された認証用サーバに、ユーザＩＤ及びパスワードを含むログイン要求を送信する（ステップＳ８７）。認証用サーバは、ユーザＩＤ及びパスワードを含むログイン要求を受信し、認証処理を実施する（ステップＳ８９）。もし、認証に失敗するようであれば再度ユーザＩＤ及びパスワードの入力を促すＷｅｂページ・データをクライアント端末１１にＬ７スイッチ７を介して送信する。一方、認証が成功すると、認証用サーバは、ユーザＩＤを含む業務継続要求をＬ７スイッチ７に送信する（ステップＳ９１）。Ｌ７スイッチ７は、認証用サーバからユーザＩＤを含む業務継続要求を受信すると、上で述べた所定のルールに従って業務処理サーバを特定する（ステップＳ９３）。ここでは業務処理サーバ（Ｍ２）が選択されたものとする。そうすると、Ｌ７スイッチ７は、業務処理サーバ（Ｍ２）にユーザＩＤを含む業務継続要求Ｃを送信する（ステップＳ９５）。業務処理サーバ（Ｍ２）の通信処理部５１は、Ｌ７スイッチ７からユーザＩＤを含む業務継続要求Ｃを受信し（ステップＳ９７）、処理要求データ格納部５４に格納する。処理は端子Ｄを介して図８の処理に移行する。【００４３】
業務処理サーバ（Ｍ２）の制御部５５は、処理要求データ格納部５４に格納された業務継続要求Ｃに含まれるユーザＩＤを読み出し、当該ユーザＩＤを含む引継データ要求を生成し、通信処理部５１にセッション管理サーバ１へ送信させる（ステップＳ９９）。なお、引継データ格納部５３を参照して、直前の引継データが格納されているか確認して、直前の引継データが格納されていないと判断した場合のみ、セッション管理サーバ１に引継データ要求を送信するようにしても良い。但し、今回の場合には引継データ格納部５３には直前の引継データが格納されていないので、ステップＳ９９はそのまま実行される。さらに、業務引継要求にはセッションＩＤが含まれないのでセッションＩＤを発行する。そして、セッション管理サーバ１は、業務処理サーバ（Ｍ２）からユーザＩＤを含む引継データ要求を受信し（ステップＳ１０１）、ユーザＩＤを用いて引継データ格納部１０１を検索し、該当する直前の引継データを特定し、要求元の業務処理サーバ（Ｍ２）に送信する（ステップＳ１０３）。なお、前提としては障害発生後の再ログインであるから有効な引継データが引継データ格納部１０１に格納されているが、通常のログイン時の処理では引継データが存在しない場合もある。【００４４】
業務処理サーバ（Ｍ２）の通信処理部５１は、セッション管理サーバ１から引継データを受信すると（ステップＳ１０５）、引継データ格納部５３に格納する。そして端子Ｃを介して図５のステップＳ４５に移行する。【００４５】
なお、ステップＳ４５では、引継データを受信でき且つ当該引継データの内容が業務処理が途中であることを示すものである場合には図６に関連して説明したのと同じ処理を実施する。しかし、通常のログインである場合には、引継データが存在しない場合もある。また、引継データが業務処理の完了を表すデータの場合もある。そのような場合には、業務処理サーバ（Ｍ２）の制御部５５は、業務処理の最初の処理として、例えばメニューページ・データの生成を業務処理部５６に実行させる。従って、通常どおりユーザの指示により業務処理を開始することができるようになる。【００４６】
このような処理を行えば、業務処理サーバ間の負荷のアンバランスを是正することができ、レスポンス時間の短縮が見込まれ、また障害発生時にも顧客が業務を最初からやり直すという手間を削減することができる。なお、１つのレスポンスをクライアント端末に返すためにＬ７スイッチ７は２回も割り振り処理を実施しないため、割り振り処理のための負荷も軽減されている。割り振り処理毎に各業務処理サーバに状態を問い合わせる場合には本実施の形態によればより負荷が削減される。【００４７】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、図１では１層のクライアント・サーバ・システムを例に示したが、３層の場合であっても、上で述べたような処理を実施すればよい。【００４８】
さらに、図１に示した業務処理サーバ５ａの機能ブロックは、必ずしも実施のプログラムモジュールとは対応しない場合もある。また、ネットワーク９はインターネットだけではなく、例えば社内のイントラネットの場合もある。【００４９】
さらに上で述べた処理フローも一例であって、順番を入れ替えたりしても処理結果が同じであれば、そのような変形を採用しても良い。図７において認証用サーバが認証成功の後、一旦メニュー画面用のＷｅｂページ・データを生成してクライアント端末１１に送信し、例えばユーザが業務継続を指示すると、ステップＳ９３以降の処理が実行されるようにしてもよい。【００５０】
また、上で述べた業務処理サーバ５ａ乃至５ｄ、セッション管理サーバ１及びクライアント端末１１及び１３はコンピュータ装置であって、図９に示すように、メモリ２５０１（記憶部）とＣＰＵ２５０３（処理部）とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施の形態における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本発明の実施の形態では、上で述べた処理を実施するためのアプリケーション・プログラムはリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。  
【図１】
0004526539.tif 000002
【図２】
0004526539.tif 000003
【図３】
0004526539.tif 000004
【図４】
0004526539.tif 000005
【図５】
0004526539.tif 000006
【図６】
0004526539.tif 000007
【図７】
0004526539.tif 000008
【図８】
0004526539.tif 000009
【図９】
0004526539.tif 000010