説明

負荷分散システム、および負荷分散方法

【課題】クライアント側に複数のシステムを意識させることなく、クライアントからの要求を複数のシステム間で振り分ける。
【解決手段】業務システム各々は、クライアントから要求を受け付ける要求受付手段と、 ログイン済み情報が前記要求に付加されているか否かを判別する第1の判別手段と、ログイン済み情報が自業務システムの自ログイン済み情報の場合、前記要求を自業務システムにログインした自クライアントの要求と判別するとともに、ログイン済み情報が他業務システムの他ログイン済み情報の場合、前記要求を他業務システムにログインした他クライアントの要求であると判別する第2の判別手段と、前記他クライアントの要求であると判別した場合、他業務システムに前記要求を転送するための転送情報を生成し、他クライアントに送信する転送手段と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クライアントからの要求を、複数のシステムに振り分ける負荷分散技術に関する。
【背景技術】
【0002】
各クライアントからの要求を処理するために、複数のサーバを並列に運用し、サーバ間での負荷が均等になるように処理を分散する負荷分散技術がある。例えば、特許文献1には、サーバの負荷状況をクライアントに通知して、クライアントの表示装置にサーバの負荷状況を表示するサーバ負荷通知システムが記載されている。
【0003】
また、特許文献2には、ユーザ認証を行ったユーザに対して、再び、ユーザ認証を行うことなく所望のWebページを送信する認証システムが記載されている。
【特許文献1】特開平10−105497
【特許文献2】特開2002−278930
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、クライアントからのアクセス件数の増加に伴い、サーバやデータベースなどの各リソースの増強を行い、負荷分散装置を用いてクライアントからのアクセス要求を複数のリソースに分散して振り分け、システム全体を効率よく稼動させる方法がある。
【0005】
しかしながら、アクセス件数の大幅な増加が予想される場合には、各リソースの増強だけでは所定の性能を確保することが難しい場合がある。このような場合、現在、稼動している現行システムを、もう一式新たに併設するなどの大規模なシステムの増強を行う必要がある。このように現行システムとは別の新システムを併設した場合、各クライアントからのアクセスを所定の方法でどちらかのシステムに振り分ける必要がある。また、各クライアントが、どちらかのシステムにアクセスした後に外部のシステムにアクセスし、前の画面に戻る指示を受け付けた場合、前回アクセスしていたシステムに戻る必要がある。
【0006】
このような場合、クライアント側または外部のシステム側で、現行システムにアクセスするのか、または、新システムにアクセスするのかを意識させることは困難であり、また、サービスの低下につながるおそれがある。
【0007】
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、クライアント側または外部システム側に複数のシステムを意識させることなく、クライアントからの要求を複数のシステム間で振り分けることにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明は、例えば、複数の業務システムを有し、クライアントからの要求を前記複数の業務システムに振り分けて処理を行う負荷分散システムであって、前記業務システム各々は、前記クライアントから要求を受け付ける要求受付手段と、 前記複数の業務システムのいずれかの業務システムにログイン済みであることを示すログイン済み情報が、前記要求に付加されているか否かを判別する第1の判別手段と、前記ログイン済み情報が自業務システムにログイン済みであることを示す自ログイン済み情報の場合、前記要求を自業務システムにログインした自クライアントが送信した要求であると判別するとともに、前記ログイン済み情報が他業務システムにログイン済みであることを示す他ログイン済み情報の場合、前記要求を他業務システムにログインした他クライアントから送信された要求であると判別する第2の判別手段と、前記他クライアントの要求であると判別した場合、前記他業務システムに前記要求受付手段が受け付けた要求を転送するための転送情報を生成し、前記他クライアントに送信する転送手段と、を有する。
【発明の効果】
【0009】
本発明では、クライアント側または外部システム側に複数のシステムを意識させることなく、クライアントからの要求を複数のシステム間で振り分けることができる。また、本発明では、各クライアントからの要求を、当該クライアントに割り当てたシステムに転送することができる。
【発明を実施するための最良の形態】
【0010】
以下、本発明の実施の形態について説明する。
【0011】
図1は、本発明の一実施形態が適用されたトレードシステムの全体構成図である。トレードシステムは、投資家がネットワークを介して株式などを売買するためのシステムである。本実施形態のトレードシステムは、各クライアントからの大量の取引データを処理するために、2つのサイト(AサイトおよびBサイト)で分散して処理を行っている。
【0012】
図示するトレードシステムは、少なくとも1つのクライアント1と、Aサイトのシステム(以下、Aシステム)2と、Bサイトのシステム(以下、「Bシステム」)3と、DNSサーバ4と、外部システム5と、を有する。そして、これらの各装置は、インターネットなどのネットワーク9により接続されている。
【0013】
クライアント1は、Webブラウザ11と、記憶部12とを備え、ユーザの指示を受け付けてAシステム2またはBシステム3、あるいは外部システム5に各種の要求を送信する。記憶部12には、後述するクッキー(Cookie)情報が記憶されるものとする。
【0014】
Aシステム2は、PL(presentation layer)サーバ21と、BL(business logic layer)サーバ22と、DB(database)サーバ23と、を備える3層構造のシステムである。PLサーバ21は、入力受付部211と、判別部212と、出力部213と、転送部214と、管理部215と、ログイン情報テーブル216と、を備える。入力受付部211は、クライアント1から送信された要求を受け付ける。判別部212は、受け付けた要求が、自システムに割り当てられたクライアント1(ユーザ)からの要求か否かを判別する。
【0015】
出力部213は、要求元のクライアント1に応答情報を送信する。転送部214は、判別部212が他システムのクライアント1からの要求であると判別した場合、クライアント1から受け付けた要求を他システムに転送する。管理部215は、ログイン情報テーブル216を管理する。ログイン情報テーブル216は、自システムにログインしたクライアント1(ユーザ)を管理するテーブルである。なお、ログイン情報テーブル216については後述する。
【0016】
BLサーバ22は、業務処理部221を備える業務処理サーバである。業務処理部221は、PLサーバ21が受け付けた各種の要求を、DBサーバ23が保持する業務DB231を用いて処理する。DBサーバ23は、各種の業務データが蓄積された業務DB231を管理するサーバである。
【0017】
Bシステム3は、Aシステム2と同様に、PLサーバ31と、BLサーバ32と、DBサーバ33とを備える。なお、Bシステム3のPLサーバ31、BLサーバ32およびDBサーバ33は、それぞれ、Aシステム2のPLサーバ21、BLサーバ22およびDBサーバ23と同様である。
【0018】
DNS(Domain Name System)サーバ4は、いわゆるネームサーバであって、名前解決部41と、名前解決テーブル42とを備える。名前解決部41は、クライアント1が指定する本トレードシステムを示す仮想URL(Uniform Resource Locator)を、Aシステム2またはBシステム3の実URLに変換する。名前解決テーブル42は、仮想URLと、Aシステム2の実URLおよびBシステム3の実URLとを対応付けたテーブルである。なお、名前解決テーブル42については、後述する。
【0019】
上記説明した、クライアント1、Aシステム2およびBシステム3の各サーバ、DNSサーバ4および外部システム5は、いずれも、例えば図2に示すようなCPU901と、メモリ902と、HDD等の外部記憶装置903と、キーボードやマウスなどの入力装置904と、ディスプレイやプリンタなどの出力装置905と、ネットワークと接続するための通信制御装置906と、を備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPU901がメモリ902上にロードされた所定のプログラムを実行することにより、各装置の各機能が実現される。
【0020】
例えば、Aシステム2の各装置の各機能は、PLサーバ21用のプログラムの場合はPLサーバ21のCPU901が、BLサーバ22用のプログラムの場合はBLサーバ22のCPU901が、そして、DBサーバ23用のプログラムの場合はDBサーバ23のCPU901がそれぞれ実行することにより実現される。なお、クライアント1の記憶部12には、クライアント1のメモリ902または外部記憶装置903が、PLサーバ21、31のログイン情報テーブル216には、PLサーバ21、31のメモリ902または外部記憶装置903が、DBサーバ23、33の業務DB231には、DBサーバ23、33のメモリ902または外部記憶装置903が、それぞれ用いられるものとする。また、入力装置904および出力装置905については、各装置が必要に応じて備えるものとする。
【0021】
次に、DNSサーバ4の名前解決テーブル42について説明する。
【0022】
図3は、名前解決テーブル42の一例を示す図である。名前解決テーブル42は、本トレードシステムの仮想URLを、Aシステム2またはBシステム3の実URLに変換するためのテーブルである。図示する名前解決テーブル42は、1つの仮想URL31に対し、AシステムおよびBシステムの2つの実URL32を有する。仮想URL31は、クライアント1のWebブラウザ11に入力される、本トレードシステムの仮想的なURLである。この仮想URLを用いることにより、クライアント側では、本トレードシステムが備える2つのシステム(Aシステム2、Bシステム3)を意識することなく本トレードシステムにアクセスすることができる。
【0023】
そして、名前解決テーブル42は、実URL32毎に、初回アクセスフラグ33を有する。初回アクセスフラグ33は、各クライアントが本トレードシステムにアクセスする際に、最初にアクセスするサイトのシステムを識別(特定)するためのフラグである。図示する例では、初回にアクセスするシステムは、初回アクセスフラグ33に「ON」が設定されているAシステム2である。
【0024】
次に、DNSサーバ4の名前解決処理について説明する。
【0025】
まず、クライアント1のWebブラウザ11は、図示しないローカルDNSサーバに、本トレードシステムの仮想URLを送信し、当該仮想URLのIPアドレスを要求する。そして、ローカルDNSサーバは、クライアント1から仮想URLを受け付けると、当該仮想URLの名前解決要求(実URLの要求)を、DNSサーバ4に送信する。そして、DNSサーバ4の名前解決部41は、名前解決テーブル(図3参照)を参照し、初回アクセスフラグ33が「ON」になっている実URLをローカルDNSサーバに送信する。
【0026】
そして、ローカルDNSサーバは、DNSサーバ4から取得した実URLに対応するIPアドレスを当該ローカルDNSサーバ(または上位のDNSサーバ(不図示))の対応テーブルから取得し、要求元のクライアント1に仮想URLに対するIPアドレスを送信する。なお、対応テーブルは、URLとIPアドレスとが対応付けられたテーブルである。
【0027】
次に、PLサーバ21、31のログイン情報テーブル216について説明する。ログイン情報テーブル216は、各サイトのシステム2、3に、それぞれログインしているユーザ(クライアント1)を管理するためのテーブルである。なお、本実施形態のユーザには、カスタマーとビジターの2種類のユーザが存在するものとする。カスタマーは、本トレードステムにユーザ登録(口座開設)を行ったユーザであって、ユーザIDおよびパスワード等をあらかじめ取得しているものとする。ビジターは、本システムにユーザ登録を行っていない不特定多数のユーザである。そして、カスタマーのユーザのみが、当該カスタマーが属するグループごとに割り振られたいずれか一方のサイトのシステムにログインすることができるものとする。
【0028】
図4は、ログイン情報テーブル216の一例を示した図である。図示するログイン情報テーブル216は、ユーザID41毎に、当該ユーザIDのクッキー(Cookie)情報42、43と、ログイン時刻44とを有する。ユーザID41には、ログイン要求時にクライアント1から送信されたユーザIDが設定される。ログイン時刻44には、クライアント1からログイン要求を受け付けた時刻が設定される。
【0029】
クッキー情報は、PLサーバ(Webサーバ)21、31と、Webブラウザ11間でやり取りされる情報である。本実施形態では、クッキー情報として、セッションID42と、ログイン済サイト43とを用いるものとする。セッションID42は、クライアント1とのセッションを識別するための情報である。なお、セッションID42以外のクライアント1を識別するための識別情報を、クッキー情報に用いることとしてもよい。ログイン済サイト43は、ログインしたサイトのシステムを識別するための情報である。なお、ログイン済サイト43には、サイト名、サイト区分コード、などを用いることが考えられる。
【0030】
クライアント1の管理部215は、各ユーザのログイン完了後に、ログイン情報テーブル216に、各ユーザのログイン情報(レコード)を登録する。また、管理部215は、ログイン時刻から所定の時間(例えば、30分)が経過したログイン情報(レコード)を削除する。
【0031】
次に、クッキー情報の送受信について説明する。
【0032】
図5(a)は、カスタマーのユーザが、本トレードステムにログインした場合のシーケンス図である。なお、カスタマーが使用するクライアント1から送信されたログイン要求(および、各種の要求)は、当該カスタマーが属するグループに割り振られたいずれか一方のシステムでしか処理することができないものとする。
【0033】
まず、クライアント1のWebブラウザ11は、ユーザID、パスワードを含むログイン要求を、本トレードシステムに仮想URLを宛先として送信する。そして、Webブラウザ11は、ローカルDNSサーバ(不図示)およびDNSサーバ4からAシステム2またはBシステム3のIPアドレスを取得する。なお、図示する例では、Aシステム2のIPアドレスを取得するものとする。そして、Webブラウザ11は、取得したIPアドレスを用いて、Aシステム2にログイン要求を送信する(S51)。なお、このログイン要求がAシステム2(すなわち、PLサーバ21)に対する最初の要求(アクセス)の場合、ログイン要求にはクッキー情報は付加されない。
【0034】
Aシステム2のPLサーバ21は、ログイン要求を受け付ける。そして、BLサーバ22は、所定の認証処理を行い、認証に成功した場合にログイン完了の応答情報を生成する。そして、PLサーバ21の管理部215は、ログイン要求を受け付けたユーザのログイン情報を、ログイン情報テーブル216に登録する(S52)。すなわち、管理部215は、ログイン要求に含まれるユーザIDと、クッキー情報と、ログイン要求を受け付けた時刻とを設定したログイン情報をログイン情報テーブル216に登録する。なお、管理部215は、クッキー情報のセッションIDにはクライアント1とのセッションIDを、ログイン済サイトには自サイトのサイト情報(この場合は、「Aサイト」)をそれぞれ設定する。そして、PLサーバ21の出力部213は、クッキー情報(セッションID、ログイン済サイト)を付加した応答情報をクライアント1に送信する(S53)。
【0035】
クライアント1のWebブラウザ11は、クッキー情報が付加された応答情報を受信する。そして、Webブラウザ11は、当該応答情報を解析して所定の画面を出力装置に表示するととともに、クッキー情報を記憶部12に記憶する(S54)。そして、Webブラウザ11は、次に、Aシステム2に対して要求を送信する場合、記憶部12に記憶したクッキー情報を当該要求に付加して送信する(S55)。なお、Webブラウザ11は、記憶部12に記憶したクッキー情報を、所定の時間(例えば、30分)が経過した後、削除するものとする。また、応答情報は、例えば、HTML(HyperText Markup Language)、XML(eXtensible Markup Language)などのマークアップ言語により記述されたWebページの情報などである。
【0036】
図5(b)は、ビジターのユーザが、本トレードステムに所定の要求を送信した場合のシーケンス図である。なお、ビジターが使用するクライアント1が送信した要求は、Aシステム2またはBシステム3のどちらのシステムにおいても処理が行えるものとする。
【0037】
まず、クライアント1のWebブラウザ11は、所定の要求を、本トレードシステムに仮想URLを宛先として送信する。そして、Webブラウザ11は、ローカルDNSサーバ(不図示)およびDNSサーバ4からAシステム2またはBシステム3のIPアドレスを取得する。なお、図示する例では、Aシステム2のIPアドレスを取得するものとする。そして、Webブラウザ11は、取得したIPアドレスを用いて、Aシステム2に所定の要求を送信する(S56)。なお、この要求がAシステム2(すなわち、PLサーバ21)に対する最初の要求(アクセス)の場合、当該要求にはクッキー情報は付加されない。
【0038】
Aシステム2のPLサーバ21は、当該要求を受け付ける。そして、BLサーバ22は、当該要求に対する応答情報を生成する。そして、PLサーバ21の出力部213は、クッキー情報(セッションID)を付加した応答情報をクライアント1に送信する(S57)。なお、出力部213は、クッキー情報として、クライアント1とのセッションIDを用いるものとする。
【0039】
クライアント1のWebブラウザ11は、クッキー情報が付加された応答情報を受信する。そして、Webブラウザ11は、当該応答情報を解析して所定の画面を出力装置に表示するととともに、クッキー情報を記憶部12に記憶する(S58)。そして、Webブラウザ11は、次に、Aシステム2に対して要求を送信する場合、記憶部12に記憶したクッキー情報を当該要求に付加して送信する(S59)。
【0040】
以上、説明したように、本トレードシステムにログインしたカスタマーから送信される要求(S55)には、セッションIDとログイン済サイトとを含むクッキー情報が付加されている。一方、本トレードシステムに一旦アクセスしたビジターから送信される要求(S59)には、セッションIDを含むクッキー情報が付加されている。
【0041】
次に、各サイトのPLサーバ21、31が、クライアント1から受け付けた要求が、自システムのカスタマーからの要求であるか、他システムのカスタマーからの要求であるか、あるいは、ビジターからの要求であるかを判別する処理について説明する。
【0042】
なお、以下に説明する処理では、クライアント1のWebブラウザ11は、所定の要求を、本トレードシステム(仮想URL)に送信する。そして、Webブラウザ11は、ローカルDNSサーバ(不図示)およびDNSサーバ4からAシステム2のIPアドレスを取得し、Aシステム2に所定の要求を送信するものとする。
【0043】
図6は、クライアント1から要求を受け付けたAシステム2のPLサーバ21の処理フロー図である。
【0044】
PLサーバ21の入力受付部211は、クライアント1から所定の要求を受け付け、当該要求が外部システム5から遷移された要求か否かを判別する(S61)。すなわち、入力受付部211は、クライアント1から送信された要求の要求メソッドが、「GET方式」であるか、または「POST方式」であるかを判別する。
【0045】
本実施形態では、外部システム5から遷移された要求の場合は「GET方式」を採用し、サイト内(本トレードシステム内)で遷移された場合は「POST方式」を採用しているものとする。したがって、入力受付部211は、「GET方式」の場合は外部システム5から遷移した要求と判別し、「POST方式」の場合はサイト内から遷移した要求と判別する。
【0046】
なお、外部システム5から遷移された要求の場合には、例えば、本トレードシステムが提供する画面情報に埋め込まれた外部システム5のリンク情報をクリックして、リンク先の外部システム5の画面を表示する。そして、この外部システム5の画面に表示された「前画面へ戻る」ボタンをクリックした場合が考えられる。Webブラウザ11は、「前画面へ戻る」ボタンのクリックを受け付けると、本トレードシステムの仮想URLを宛先として、前画面の要求を送信する。また、外部システム5から遷移された要求の場合には、外部システム5が提供する画面に、本トレードシステムの仮想URLがリンク情報として埋め込まれている場合などが考えられる。
【0047】
外部システム5から遷移された要求の場合(S61:YES)、入力受付部211は、S61で受け付けた要求を判別部212に引き渡す。判別部212は、要求にログイン済みサイトのクッキー情報が付加されているか否かを判別する(S62)。なお、ログイン済みサイトのクッキー情報が付加されている要求の場合、図5で説明したように、当該要求はAシステム2またはBシステム3に既にログイン済みのカスタマーの要求である。
【0048】
ログイン済みサイトのクッキー情報が付加されている場合(S62:YES)、判別部212は、当該ログイン済みサイトが自サイトか否かを、さらに判別する(S63)。なお、PLサーバ21のメモリまたは外部記憶装置には、PLサーバ21の自サイトのサイト情報(この場合「Aサイト」)が、記憶されているものとする。
【0049】
ログイン済みサイトが自サイトの場合(S63:YES)、判別部212は、自サイトにログイン済みのカスタマーからの要求であると判別する(S64)。そして、判別部212は、当該要求をBLサーバ22に送出する。そして、BLサーバ22の業務処理部221は、当該要求に対応する応答情報を、DBサーバ23の業務DB231を用いて生成し、PLサーバ21に送出する。すなわち、当該要求はログイン済みのカスタマーの要求であるため、業務処理部221は、ログイン処理を要求するログイン画面を生成することなく、応答情報を生成する。
【0050】
PLサーバ21の出力部213は、BLサーバ22が生成した応答情報に、クッキー情報を付加して要求元のクライアント1に送信する(S65)。なお、出力部213が付加するクッキー情報は、S61で受信した要求に付加されたクッキー情報(セッションID、ログイン済みサイト)と同じものとする。これにより、外部システム5から遷移された要求であっても、Aシステム2に既にログイン済みのカスタマーの場合は、再度、ログイン処理を行うことなくAシステム2での処理を続行することができる。
【0051】
一方、ログイン済みサイトが他サイトの場合(S63:NO)、判別部212は、他サイトにログイン済みのカスタマーからの要求であると判別する(S66)。そして、転送部214は、リダイレクト画面の画面情報を生成し、要求元のクライアント1に送信する(S67)。なお、転送部214は、S61で受信した要求に付加されたクッキー情報を、生成したリダイレクト画面に付加して送信する。また、リダイレクト画面は、他サイト(Bサイト)のシステムに、S61で受け付けた要求を転送するため画面であって、何も表示されない白画面である。そして、転送部214は、HTMLなどを用いて記述されたリダイレクト画面の画面情報の中に、Webブラウザ11側で実行するスクリプト(プログラム)を埋め込むものとする。また、転送部214は、当該スクリプトのPOST変数(引数)も、リダイレクト画面の画面情報に埋め込むものとする。
【0052】
なお、POST変数には、S61で受信した要求と、他サイト(Bサイト)のURLとが含まれる。PLサーバ21のメモリまたは外部記憶装置には、他サイトのURLが、あらかじめ記憶されているものとする。また、転送部214は、このようなPOST変数を、隠しデータとして画面情報に埋め込む。すなわち、HTMLを用いて記述された画面情報の場合、転送部214は、「INPUT」タグの「TYPE=hidden」を用いて、クライアント1の出力装置には表示されない隠しデータ(POST変数)をクライアント1に送信する。なお、Webブラウザ11が実行するスクリプトについては後述する。
【0053】
また、ログイン済みサイトのクッキー情報が付加されていない場合(S62:NO)、判別部212は、セッションIDのクッキー情報が付加されているか否かを判別する(S68)。なお、ログイン済みサイトのクッキー情報が付加されていない場合には、例えば、当該要求がビジターからの要求である場合、クッキー情報が破損した場合、または想定外の値が設定されている場合などが考えられる。また、セッションIDのクッキー情報が付加されていない場合には、初回の要求である場合、クッキー情報が破損した場合、または想定外の値が設定されている場合などが考えられる。
【0054】
セッションIDのクッキー情報が付加されている場合(S68:YES)、判別部212は、ログイン情報テーブル216を参照し、当該セッションIDのレコードが存在するか否かを判別する(S69)。セッションIDのレコードが存在する場合(S69:YES)、判別部212は、当該要求は自サイトにログイン済みのカスタマーの要求であると判別し、当該要求を、BLサーバ22に引き渡す(S70)。そして、BLサーバ22は、S65と同様に、当該要求に対する応答情報を生成し、PLサーバ21に送出する。PLサーバ21の出力部213は、BLサーバ22が生成した応答情報に、クッキー情報を付加して要求元のクライアント1に送信する(S71)。なお、出力部213が付加するクッキー情報は、S61で受信した要求に付加されたセッションIDに、ログイン済みサイト(自サイトである「Aサイト」)を追加したものである。
【0055】
これにより、ログイン済みサイトのクッキー情報が破損した場合であっても、ログイン情報テーブル216を参照して、Aシステム2に既にログイン済みのカスタマーか否かを判別することができる。すなわち、Aシステム2に既にログイン済みのカスタマーの場合は、再度、ログイン処理を行うことなくAシステム2での処理を続行することができる。
【0056】
一方、セッションIDのクッキー情報が付加されていない場合(S68:NO)、または、セッションIDのレコードが存在しない場合(S69:NO)、判別部212は、当該要求はビジターの要求であると判別する(S72)。ビジターの要求はAシステム2またはBシステム3のどちらのシステムにおいてもが処理が行えるため、判別部212は、当該要求をBLサーバ22に引き渡す。そして、BLサーバ22の業務処理部221は、当該要求に対応する応答情報を、DBサーバ23の業務DB231を用いて生成し、PLサーバ21に送出する。なお、Aシステム2に既にログイン済みのカスタマーの場合であるが、クッキー情報の破損などにビジターと判別された場合、業務処理部221は、当該要求の種類によっては、ログイン処理を要求するためのログイン画面を生成する。
【0057】
そして、PLサーバ21の出力部213は、要求元クライアント1のクッキー情報(セッションID)を付加した応答情報を、要求元クライアント1に送信する(S73)。
【0058】
なお、サイト内(本トレードシステム内)で遷移された要求の場合(S61:NO)、入力受付部211は、判別処理を行うことなく、S61で受け付けた要求を、BLサーバ22に引き渡す。BLサーバ22は、S65と同様に、当該要求に対する応答情報を生成し、PLサーバ21に送出する。PLサーバ21の出力部213は、BLサーバ22が生成した応答情報に、クッキー情報を付加して要求元のクライアント1に送信する(S74)。
【0059】
次に、図6に示すS67の他サイトのカスタマーと判別した場合の処理を、さらに説明する。
【0060】
図7は、他サイトのカスタマーと判別した場合のクライアント1と、PLサーバ21、31とのシーケンス図である。まず、クライアント1のWebブラウザ11は、前述の通り、クッキー情報(セッションID、ログイン済みサイト)が付加された要求を、AサイトのPLサーバ21に送信する(S71)。そして、AサイトのPLサーバ21は、図6の判別処理を行い、当該要求を他サイトのカスタマーから送信された要求であると判別する。したがって、PLサーバ21の転送部214は、前述のリダイレクト画面をクライアント1に送信する(S72)。
【0061】
クライアント1のWebブラウザ11は、リダイレクト画面の画面情報を受信し、当該画面情報を解析して出力装置に表示するとともに、当該画面情報に含まれるスクリプトを実行する。リダイレクト画面の画面情報に含まれるスクリプトは、Webブラウザ11に、リダイレクト画面がクライアント1の出力装置に表示(ローディング)されたタイミング(イベント)を検知して、他サイト(Bサイト)に要求を転送する処理を行わせるものである。
【0062】
したがって、Webブラウザ11は、画面情報に含まれるスクリプトを実行することにより、ポスト変数に含まれる他サイト(Bサイト)のURLに、S71で送信した要求を転送する(S73)。なお、リダイレクト画面は、何も表示されない白画面である。このため、Webブラウザ11が、画面情報を解析してリダイレクト画面を出力装置に表示するために要する時間は、ごく短い時間(一瞬)である。したがって、クライアント1の出力装置に一瞬、表示されるリダイレクト画面を、ユーザは認識することなく、自動的に他サイト(Bサイト)に要求を転送することができる。
【0063】
なお、クライアント1から要求を受け付けたPLサーバ31は、図6に示す判別処理を行う。すなわち、自サイト(Bサイト)のログイン済みサイトのクッキー情報が付加された要求であるため(S63:YES)、PLサーバ31は自サイトのカスタマーであると判別する(S64)。
【0064】
以上、本発明の一実施形態を説明した。
【0065】
本実施形態では、各システムのPLサーバ21、31は、クライアント1からの要求に付加されたクッキー情報に基づいて、当該要求が自サイトにログイン済みのカスタマーの要求か、他サイトにログイン済みのカスタマーの要求か、またはビジターからの要求かを判別する。そして、PLサーバ21、31は、他サイトにログイン済みのカスタマーの要求と判別した場合、リダイレクト画面の画面情報を生成して要求元のクライアントに送信する。クライアントは、リダイレクト画面の画面情報に含まれるスクリプトを実行することにより、自動的に、他サイトのシステムに要求を転送する。これにより、クライアント1側および外部システム5側に複数のシステムを意識させることなく、クライアントからの要求を複数のシステム間で適切に振り分けることができる。
【0066】
また、本実施形態では、外部システム5から遷移された要求であっても、PLサーバ21、31が自システムに既にログイン済みのカスタマーであると判別した場合は、再度、ログイン処理を行うことなく自システムでの処理を続行することができる。これにより、ユーザは、外部システム5から本トレードシステムに遷移する(戻る)度に、ログイン処理を行う必要がない。
【0067】
また、本実施形態では、他システムに既にログイン済みのカスタマーであると判別した場合は、リダイレクト画面を生成し、要求元のクライアント1に送信する。これにより、要求元のクライアント1は、自動的に要求を他システムに転送することができる。すなわち、ユーザが意識することなく(操作を行うことなく)、クライアントからの要求を適切に複数のシステム間で振り分けることができる。
【0068】
また、本実施形態のPLサーバ21、31は、ログイン情報テーブル216を有する。これにより、ログイン済みサイトのクッキー情報が破損した場合であっても、ログイン情報テーブル216を参照して、自システムに既にログイン済みのカスタマーか否かを判別することができる。すなわち、自システムに既にログイン済みのカスタマーの場合は、再度、ログイン処理を行うことなく自システムでの処理を続行することができる。
【0069】
なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【図面の簡単な説明】
【0070】
【図1】本発明の一実施形態が適用されたトレードシステムの全体構成を示す図である。
【図2】各装置のハードウェア構成例を示す図である。
【図3】名前解決テーブルの一例を示す図である。
【図4】ログイン情報テーブルの一例を示す図である。
【図5】クッキー情報の送受信を示すシーケンス図である。
【図6】PLサーバの判別処理の処理フロー図である。
【図7】他サイトのカスタマーと判別した場合のシーケンス図である。
【符号の説明】
【0071】
1:クライアント、11:Webブラウザ、2:Aサイトのシステム、21:PLサーバ、211:入力受付部、212:判別部、213:出力部、214:転送部、215:管理部、216:ログイン情報テーブル、22:BLサーバ、221:業務処理部、23:DBサーバ、231:業務DB、3:Bサイトのシステム、31:PLサーバ、32:BLサーバ、33:DBサーバ、4:DNSサーバ、41:名前解決部、42名前解決テーブル、5:外部システム、9:ネットワーク

【特許請求の範囲】
【請求項1】
複数の業務システムを有し、クライアントからの要求を前記複数の業務システムに振り分けて処理を行う負荷分散システムであって、
前記業務システム各々は、
前記クライアントから要求を受け付ける要求受付手段と、
前記複数の業務システムのいずれかの業務システムにログイン済みであることを示すログイン済み情報が、前記要求に付加されているか否かを判別する第1の判別手段と、
前記ログイン済み情報が自業務システムにログイン済みであることを示す自ログイン済み情報の場合、前記要求を自業務システムにログインした自クライアントが送信した要求であると判別するとともに、前記ログイン済み情報が他業務システムにログイン済みであることを示す他ログイン済み情報の場合、前記要求を他業務システムにログインした他クライアントから送信された要求であると判別する第2の判別手段と、
前記他クライアントの要求であると判別した場合、前記他業務システムに前記要求受付手段が受け付けた要求を転送するための転送情報を生成し、前記他クライアントに送信する転送手段と、を有すること
を特徴とする負荷分散システム。
【請求項2】
請求項1記載の負荷分散システムであって、
前記要求受付手段が受け付けた要求には、前記クライアントを識別するための識別情報が付加され、
前記業務システム各々は、
自業務システムにログインした自クライアントを管理するためのログイン情報テーブルと、
前記要求に付加された識別情報が前記ログイン情報テーブルに存在するか否かを判別し、前記識別情報が前記ログイン情報テーブルに存在する場合、前記要求を前記自クライアントから送信された要求であると判別する第3の判別手段と、をさらに有すること
を特徴とする負荷分散システム。
【請求項3】
請求項2記載の負荷分散システムであって、
前記ログイン済み情報および前記識別情報は、クッキー情報であること
を特徴とする負荷分散システム。
【請求項4】
請求項1記載の負荷分散システムであって、
前記転送情報には、前記要求と、前記他業務システムのアドレス情報と、前記他クライアントに実行させるプログラムと、が含まれ、
前記プログラムは、前記他クライアントに、前記転送情報に記述された画面が前記他クライアントの表示装置に表示されたことを検知して、前記他業務システムのアドレス情報を宛先として、前記要求を転送させること
を特徴とする負荷分散システム。
【請求項5】
クライアントからの要求を複数の業務システムに振り分けて処理を行う負荷分散方法であって、
前記業務システム各々は、
前記クライアントから要求を受け付ける要求受付ステップと、
前記複数の業務システムのいずれかの業務システムにログイン済みであることを示すログイン済み情報が、前記要求に付加されているか否かを判別する第1の判別ステップと、
前記ログイン済み情報が自業務システムにログイン済みであることを示す自ログイン済み情報の場合、前記要求を自業務システムにログインした自クライアントの要求であると判別するとともに、前記ログイン済み情報が他業務システムにログイン済みであることを示す他ログイン済み情報の場合、前記要求を他業務システムにログインした他クライアントの要求であると判別する第2の判別ステップと、
前記他クライアントの要求であると判別した場合、前記他業務システムに前記要求受付ステップで受け付けた要求を転送するための画面情報を生成し、前記他クライアントに送信する転送ステップと、を行うこと
を特徴とする負荷分散方法。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2006−277387(P2006−277387A)
【公開日】平成18年10月12日(2006.10.12)
【国際特許分類】
【出願番号】特願2005−96122(P2005−96122)
【出願日】平成17年3月29日(2005.3.29)
【出願人】(000155469)株式会社野村総合研究所 (1,067)
【Fターム(参考)】