JP4451339B2 - Load balancing system and load balancing method - Google Patents
Load balancing system and load balancing method Download PDFInfo
- Publication number
- JP4451339B2 JP4451339B2 JP2005086882A JP2005086882A JP4451339B2 JP 4451339 B2 JP4451339 B2 JP 4451339B2 JP 2005086882 A JP2005086882 A JP 2005086882A JP 2005086882 A JP2005086882 A JP 2005086882A JP 4451339 B2 JP4451339 B2 JP 4451339B2
- Authority
- JP
- Japan
- Prior art keywords
- user
- business
- information
- request
- client
- 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 - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Description
本発明は、クライアントからの要求を、複数のシステムに振り分ける負荷分散技術に関する。 The present invention relates to a load distribution technique for distributing a request from a client to a plurality of systems.
各クライアントからの要求を処理するために、複数のサーバを並列に運用し、サーバ間での負荷が均等になるように処理を分散する負荷分散技術がある。例えば、特許文献1には、サーバの負荷状況をクライアントに通知して、クライアントの表示装置にサーバの負荷状況を表示するサーバ負荷通知システムが記載されている。
ところで、クライアントからのアクセス件数の増加に伴い、サーバやデータベースなどの各リソースの増強を行い、負荷分散装置を用いてクライアントからのアクセス要求を複数のリソースに分散して振り分け、システム全体を効率よく稼動させる方法がある。 By the way, as the number of accesses from clients increases, resources such as servers and databases are augmented, and access requests from clients are distributed and distributed to multiple resources using a load balancer, making the entire system efficient. There is a way to make it work.
しかしながら、アクセス件数の大幅な増加が予想される場合には、各リソースの増強だけでは所定の性能を確保することが難しい場合がある。このような場合、現在、稼動している現行システムを、もう一式新たに併設するなどの大規模なシステムの増強を行う必要がある。このように現行システムとは別の新システムを併設した場合、各クライアントからのアクセスを所定の方法でどちらかのシステムに振り分ける必要がある。クライアント側で、現行システムにアクセスするのか、または、新システムにアクセスするのかを意識させることは困難であり、また、ユーザサービスの低下につながるおそれがある。 However, when a large increase in the number of accesses is expected, it may be difficult to ensure a predetermined performance only by increasing each resource. In such a case, it is necessary to reinforce a large-scale system such as adding another set of the current system that is currently in operation. In this way, when a new system different from the current system is installed, it is necessary to distribute access from each client to either system by a predetermined method. On the client side, it is difficult to make the user conscious of whether to access the current system or the new system, and there is a possibility that the user service may be deteriorated.
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、クライアント側に複数のシステムを意識させることなく、クライアントからの要求を複数のシステム間で振り分けることにある。 The present invention has been made in view of the above circumstances, and an object of the present invention is to distribute a request from a client among a plurality of systems without making the client side aware of the plurality of systems.
上記課題を解決するために、本発明は、例えば、複数の業務システムを有し、クライアントからの要求を前記複数の業務システムに振り分けて処理を行う負荷分散システムである。そして、前記業務システム各々は、ユーザIDと当該ユーザIDが属するグループとが記憶されたユーザDBと、前記各グループと、当該グループに割り当てられた前記業務システムを識別するためのシステム情報とが記憶された振分テーブルと、前記クライアントから、ユーザIDを含む要求を受け付ける要求受付手段と、前記ユーザDBおよび前記振分テーブルを参照し、前記要求受付手段が受け付けたユーザIDに対応するシステム情報を取得する取得手段と、前記取得手段が取得した前記システム情報が、自業務システムのシステム情報か否かを判別する判別手段と、自業務システムのシステム情報と判別した場合、前記要求に応じた処理を行う要求処理手段と、自業務システム以外の他業務システムのシステム情報と判別した場合、前記他業務システムに前記要求受付手段が受け付けた要求を転送するための画面情報を生成し、前記クライアントに送信する転送手段と、を有する。 In order to solve the above problems, the present invention is, for example, a load distribution system that includes a plurality of business systems and distributes requests from clients to the plurality of business systems. Each business system stores a user DB storing a user ID and a group to which the user ID belongs, each group, and system information for identifying the business system assigned to the group. And the system information corresponding to the user ID received by the request receiving means by referring to the user DB and the distribution table, and receiving the request including the user ID from the client. An acquisition unit to acquire, a determination unit to determine whether or not the system information acquired by the acquisition unit is system information of the own business system, and processing according to the request when determined to be system information of the own business system When the request processing means that performs the request and system information of other business systems other than the own business system The other business system to said request receiving means generates screen information for transferring the request accepted, having a transfer means for transmitting to said client.
本発明では、クライアント側に複数のシステムを意識させることなく、クライアントからの要求を複数のシステム間で振り分けることができる。また、本発明では、各クライアントからの要求を、当該クライアントに割り当てたシステムに転送することができる。 In the present invention, a request from a client can be distributed among a plurality of systems without making the client side aware of the plurality of systems. In the present invention, a request from each client can be transferred to the system assigned to the client.
以下、本発明の実施の形態について説明する。 Embodiments of the present invention will be described below.
図1は、本発明の一実施形態が適用されたトレードシステムの全体構成図である。トレードシステムは、投資家がネットワークを介して株式など売買するシステムである。本実施形態のトレードシステムは、各クライアントからの大量の取引データを処理するために、2つのサイト(AサイトおよびBサイト)で分散して処理を行っている。 FIG. 1 is an overall configuration diagram of a trading system to which an embodiment of the present invention is applied. The trade system is a system in which an investor buys and sells stocks via a network. In the trading system of this embodiment, in order to process a large amount of transaction data from each client, the processing is distributed at two sites (A site and B site).
図示するトレードシステムは、少なくとも1つのクライアント1と、Aサイトのシステム(以下、Aシステム)2と、Bサイトのシステム(以下、「Bシステム」)3と、Aサイト用DNSサーバ4と、Bサイト用DNSサーバ5と、を有する。そして、これらの各装置は、インターネットなどのネットワーク9により接続されている。
The illustrated trading system includes at least one
また、Aサイト用DNSサーバ4はAシステム2に、また、Bサイト用DNSサーバ5はBシステム3にそれぞれ接続されている。そして、Aサイト用DNSサーバ4とBサイト用DNSサーバ5とは、Aシステム2およびBシステム3を介して、互いに接続されているものとする。
The A site DNS server 4 is connected to the
クライアント1は、Webブラウザ11を有し、ユーザの指示を受け付けてAシステム2またはBシステム3に各種の要求を送信する。
The
Aシステム2は、PL(presentation layer)サーバ21と、BL(business logic layer)サーバ22と、DB(database)サーバ23と、を備える3層構造のシステムである。PLサーバ21は、クライアント1からの各種要求を受け付ける入力受付部211と、要求元のクライアント1に応答情報(画面情報)を送信する出力部212と、を備える。
The
BLサーバ2は、PLサーバ2が受け付けた各種の要求を処理する業務処理サーバであって、判別部221と、業務処理部222と、転送部223と、を備える。判別部221は、PLサーバ21が受け付けた要求が、自システムに割り当てられたクライアント1からの要求か否かを判別する。業務処理部222は、判別部221が自システムのクライアント1からの要求であると判別した場合、ログイン処理および各種の処理を行う。転送部223は、判別部221が他システムのクライアントからの要求であると判別した場合、クライアントから受け付けた要求を他システムに転送する。
The
DBサーバ23は、各種のデータを管理するデータ管理部231と、ユーザDB232と、振分テーブル233と、を備える。ユーザDB232は、ユーザ各々の属性を管理するためのデータベースである。振分テーブル233は、各ユーザを所定のグループにグルーピングするための部店コードと、当該部店コードに対応するシステム情報とが記憶されたテーブルである。なお、ユーザDB232および振分テーブル233については後述する。
The
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と同様である。
As with the
Aサイト用DNS(Domain Name System)サーバ4は、いわゆるネームサーバであって、クライアント1が指定する本トレードシステムを示す仮想URL(Uniform Resource Locator)を、Aシステム2またはBシステム3のURLに変換する。図示するAサイト用DNSサーバ4は、名前解決部41と、監視部42と、名前解決テーブル43と、を備える。名前解決部41は、仮想URLを、Aシステム2またはBシステム3のURLに変換する。監視部42は、当該Aサイト用DNSサーバ4が接続されたAシステム2、および、Bシステム3の稼動状態をそれぞれ監視する。なお、監視部42は、Aシステム2を介してBシステム3の稼動状態を監視するものとする。名前解決テーブル43は、仮想URLと、Aシステム2のURLおよびBシステム3のURLとを対応付けたテーブルである。なお、名前解決テーブル43については、後述する。また、Bサイト用DNSサーバ5は、Aサイト用DNSサーバ4と同様である。
The DNS (Domain Name System) server 4 for the A site is a so-called name server and converts a virtual URL (Uniform Resource Locator) indicating the trading system designated by the
上記説明した、クライアント1、Aシステム2およびBシステム3の各サーバ、Aサイト用DNSサーバ4およびBサイト用DNSサーバ5は、いずれも、例えば図2に示すようなCPU901と、メモリ902と、HDD等の外部記憶装置903と、キーボードやマウスなどの入力装置904と、ディスプレイやプリンタなどの出力装置905と、ネットワークと接続するための通信制御装置906と、を備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPU901がメモリ902上にロードされた所定のプログラムを実行することにより、各装置の各機能が実現される。
Each of the
例えば、Aシステム2の各装置の各機能は、PLサーバ21用のプログラムの場合はPLサーバ21のCPU901が、BLサーバ22用のプログラムの場合はBLサーバ22のCPU901が、そして、DBサーバ23用のプログラムの場合はDBサーバ23のCPU901がそれぞれ実行することにより実現される。なお、DBサーバ23のユーザDB232および振分テーブル233には、DBサーバ23のメモリ902または外部記憶装置903が用いられるものとする。また、入力装置904および出力装置905については、各装置が必要に応じて備えるものとする。
For example, each function of each device of the
次に、DBサーバ23、33のユーザDB232について説明する。なお、Aシステム2のユーザDB232とBシステム3のユーザDB232とは、同一のデータが登録された同一のDBである。そして、各ユーザDB232には、本トレードシステムにユーザ登録を行った(口座を開設した)ユーザの属性が記憶されている。なお、本実施形態では、ユーザ登録を行ったユーザを、カスタマー(顧客)という。
Next, the
図3は、ユーザDB232の一例を示した図である。図示するユーザDB232は、ユーザID31と、当該ユーザID31に対応する部店コード32および口座番号33とを有する。ユーザID31、部店コード32および口座番号33は、口座開設時に各ユーザに割り当てられるものである。なお、本実施形態では、部店コード32を用いて、各クライアントからの要求を、Aシステム2またはBシステム3に振り分けるものとする。しかしながら、部店コード32を用いることなく、各ユーザIDを所定のグループにグルーピング可能な(グループ分けが可能な)、他のグループ情報を用いることとしてもよい。
FIG. 3 is a diagram illustrating an example of the
次に、DBサーバ23、33の振分テーブル233について説明する。なお、Aシステム2の振分テーブル233と、Bシステム3の振分テーブル233とは、同一のデータが登録された同一のテーブルである。
Next, the distribution table 233 of the
図4は、振分テーブル233の一例を示した図である。図示する振分テーブル233は、部店コード41と、当該部店コード41に割り当てられたサイトを識別するためのサイト情報(または、システム情報)42とを有する。なお、サイト情報42としては、サイト名、サイト区分コード、などを用いることが考えられる。
FIG. 4 is a diagram illustrating an example of the distribution table 233. The distribution table 233 shown in the figure includes a
次に、Aサイト用DNSサーバ4およびBサイト用DNSサーバ5の名前解決テーブル43について説明する。なお、Aサイト用DNSサーバ4の名前解決テーブル43と、Bサイト用DNSサーバ5の名前解決テーブル43とは、基本的に同一のデータが登録された同一のテーブルである。 Next, the name resolution table 43 of the A site DNS server 4 and the B site DNS server 5 will be described. The name resolution table 43 of the A site DNS server 4 and the name resolution table 43 of the B site DNS server 5 are basically the same table in which the same data is registered.
図5は、名前解決テーブル43の一例を示した図である。名前解決テーブル43は、本トレードシステムの仮想URLを、Aシステム2またはBシステム3の実URLに変換するためのテーブルである。図示する名前解決テーブル43は、1つの仮想URL51に対し、AシステムおよびBシステムの2つの実URL52を有する。仮想URL51は、クライアント1のWebブラウザ11に入力される、本トレードシステムの仮想的なURLである。この仮想URLを用いることにより、クライアント側では、本トレードシステムが備える2つのシステム(Aシステム2、Bシステム3)を意識することなく本トレードシステムにアクセスすることができる。
FIG. 5 is a diagram showing an example of the name resolution table 43. The name resolution table 43 is a table for converting a virtual URL of this trading system into a real URL of the
そして、名前解決テーブル43は、実URL52毎に、初回アクセスフラグ53と、障害フラグ54とをそれぞれ有する。初回アクセスフラグ53は、各クライアントが本トレードシステムにアクセスする際に、最初にアクセスするサイトのシステムを識別(特定)するためのフラグである。図示する例では、初回にアクセスするシステムは、初回アクセスフラグ53に「ON」が設定されているAシステム2である。
The name resolution table 43 has an
障害フラグ54は、Aシステム2およびBシステム3が障害か否かを識別するためのフラグである。図示する例では、「ON」は障害が発生していることを示し、「OFF」は正常に稼動していることを示している。監視部42は、所定のタイミングで、Aシステム2およびBシステム3の各装置の稼動状態をチェックし、障害を検知した場合は障害フラグを「OFF」から「ON」に変更する。なお、図示する例では、Aシステム2およびBシステム3には、ともに「OFF(正常)」が設定されているものとする。
The
次に、Aサイト用DNSサーバ4およびBサイト用DNSサーバ5の名前解決処理について説明する。 Next, name resolution processing of the A site DNS server 4 and the B site DNS server 5 will be described.
まず、図示しないローカルDNSサーバは、クライアント1のWebブラウザ11から、本トレードシステムの仮想URLを受け付けると、当該仮想URLの名前解決要求(実URLの要求)を、Aサイト用DNSサーバ4およびBサイト用DNSサーバ5に送信する。そして、Aサイト用DNSサーバ4およびBサイト用DNSサーバ5は、それぞれ図6に示す名前解決処理を行い、所定の実URLをローカルDNSサーバに送信する。
First, when a local DNS server (not shown) receives a virtual URL of the trading system from the
そして、ローカルDNSサーバは、応答が速い方のDNSサーバ4、5から取得した実URLを採用する。そして、ローカルDNSサーバは、当該実URLに対応するIPアドレスを当該ローカルDNSサーバ(または上位のDNSサーバ(不図示))の対応テーブルから取得し、要求元のクライアント1にIPアドレスを送信する。なお、対応テーブルは、URLとIPアドレスとが対応付けられたテーブルである。これにより、Aサイト用DNSサーバ4またはBサイト用DNSサーバ5のいずれか一方に障害が発生した場合であっても、ローカルDNSサーバは、他方の正常なサーバ4、5から実URLを取得することができる。
Then, the local DNS server adopts the real URL acquired from the DNS server 4 or 5 with the faster response. Then, the local DNS server acquires an IP address corresponding to the actual URL from the correspondence table of the local DNS server (or a higher DNS server (not shown)), and transmits the IP address to the requesting
図6は、Aサイト用DNSサーバ4およびBサイト用DNSサーバ5が、それぞれ行う名前解決処理の処理フロー図である。 FIG. 6 is a process flow diagram of name resolution processing performed by the A site DNS server 4 and the B site DNS server 5, respectively.
まず、各DNSサーバ4、5の名前解決部41は、ローカルDNSサーバから、名前解決要求を受け付ける(S21)。なお、名前解決要求には、本トレードシステムの仮想URLが指定されているものとする。そして、名前解決部41は、名前解決テーブル43(図5参照)を参照し、初回アクセスフラグが「ON」の実URLを特定する(S22)。
First, the
そして、名前解決部41は、特定した実URLに対応する障害フラグを参照し、当該実URLのシステムが正常に稼動しているか否かを判別する(S23)。特定した実URLの障害フラグが正常(OFF)な場合(S23:YES)、名前解決部41は、S22で特定した実URLをローカルDNSサーバに送信する(S24)。一方、特定した実URLの障害フラグが障害(ON)の場合(S23:NO)、名前解決部41は、他方の実URL(特定した実URL以外の実URL)の障害フラグを参照する。そして、他方の実URLの障害フラグが正常な場合、名前解決部41は、他方の実URLをローカルDNSサーバに送信する(S25)。
Then, the
このように、名前解決部41が名前解決テーブル43の障害フラグを参照することにより、一方のシステムに障害が発生している場合は、他方の正常に稼動しているシステムの実URLをローカルDNSサーバに送信することができる。
In this way, when the
次に、本トレードステムへのログイン時の処理について説明する。 Next, the process at the time of login to this trade system will be described.
なお、本実施形態のユーザには、カスタマーとビジターの2種類のユーザが存在するものとする。カスタマーは、前述の通り本トレードステムにユーザ登録(口座開設)を行ったユーザであって、ユーザIDおよびパスワード等をあらかじめ取得しているものとする。ビジターは、本システムにユーザ登録を行っていない不特定多数のユーザである。 It is assumed that there are two types of users, customers and visitors, in the user of this embodiment. It is assumed that the customer is a user who has performed user registration (account opening) in the trade system as described above, and has obtained a user ID, a password, and the like in advance. Visitors are an unspecified number of users who have not registered with the system.
そして、本実施形態では、ビジターが使用するクライアント1から送信された要求は、Aシステム2またはBシステム3のどちらのシステムにおいてもが処理が行えるものとする。一方、カスタマーが使用するクライアント1から送信された要求については、当該カスタマーが属する部店コード(グループ)ごとに割り振られたいずれか一方のシステムでしか処理できないものとする。
In this embodiment, it is assumed that the request transmitted from the
図7は、本トレードシステムにログインする際の処理フロー図である。なお、図示する処理フローは、ユーザがカスタマーの場合の処理フロー図である。 FIG. 7 is a processing flow diagram when logging into the trading system. The illustrated processing flow is a processing flow diagram when the user is a customer.
まず、クライアント1のWebブラウザ11は、ユーザの指示を受け付けて仮想URLが指定されたログイン要求をネットワーク9に送信する。そして、Webブラウザ11は、図5および図6で説明したように、ローカルDNSサーバ(不図示)から、Aサイト用DNSサーバ4またはBサイト用DNSサーバ5が送信した実URLのIPアドレスを取得する。なお、図示する処理では、Webブラウザ11は、Aシステム2(すなわちPLサーバ21)のIPアドレスを取得するものとする。
First, the
そして、Webブラウザ11は、取得したIPアドレスを用いて、最初にAシステム2にアクセスし、Aシステム2からトップページ(最初に表示される画面)の画面情報を取得してトップページの画面を出力装置に出力しているものとする(S41)。なお、トップページの画面には、カスタマーがログインするためのログイン部分を有するものとする。そして、ログイン部分には、ユーザIDの入力欄と、パスワードの入力欄と、ログインボタンとが表示されている。
Then, the
カスタマーは、ユーザIDおよびパスワードを入力して、ログインボタンをクリック(押下)する。Webブラウザ11は、ログインボタンのクリック(イベント)を受け付けて、入力されたユーザIDおよびパスワードを含むログイン要求を、Aシステム2のPLサーバ21に送信する(S42)。
The customer inputs the user ID and password and clicks (presses) the login button. The
Aシステム2のPLサーバ21の入力受付部211は、クライアント1からのログイン要求を受け付け、BLサーバ22に当該ログイン要求を引き渡す。BLサーバ22の判別部221は、受け付けたログイン要求に含まれるユーザIDのサイト情報を取得する(S43)。すなわち、判別部221は、DBサーバ23にアクセスし、まず、当該ユーザIDの部店コードをユーザDB232から取得する。DBサーバ23のデータ管理部231は、ユーザDB232(図3参照)を検索して当該ユーザIDの部店コードを特定し、特定した部店コードをBLサーバ22に送出する。そして、判別部221は、取得した部店コードに対応するサイト名を、DBサーバ23の振分テーブル233から取得する。すなわち、DBサーバ23のデータ管理部231は、振分テーブル233(図4参照)を検索して当該部店コードに対応するサイト情報を特定し、特定したサイト情報をBLサーバ22に送出する。
The
そして、BLサーバ22の判別部221は、取得したサイト情報が自サイト(図示する場合は、「Aサイト」)のサイト情報か否かを判別する(S44)。なお、BLサーバ22のメモリまたは外部記憶装置には、BLサーバ22のサイト情報(「Aサイト」)が、記憶されているものとする。判別部221は、取得したサイト情報が「Aサイト」の場合は自サイトと判別し、取得したサイト情報が「Bサイト」の場合は他サイトと判別する。
Then, the
判別部221が自サイトのサイト情報と判別した場合(S44:YES)、業務処理部222は、所定の認証処理(パスワードや口座番号のチェックなど)を行う。そして、業務処理部222は、認証に成功した場合、ログイン完了画面の画面情報を生成し、生成した画面情報をPLサーバ21に送出する(S45)。PLサーバ21の出力部212は、ログイン完了画面の画面情報を受け付け、ネットワーク9を介して、ログイン要求元のクライアント1に送信する。なお、画面情報は、HTML(HyperText Markup Language)、XML(eXtensible Markup Language)などのマークアップ言語により記述されているものとする。そして、クライアント1のWebブラウザ11は、ログイン完了画面の画面情報を受信し、ログイン完了画面を出力装置に出力する(S53)。
If the determining
一方、判別部221が他サイトのサイト情報と判別した場合(S44:NO)、転送部223は、リダイレクト画面の画面情報を生成し、PLサーバ21に送出する(S46)。リダイレクト画面は、他サイト(Bサイト)のシステムにログイン要求を転送するため画面であって、何も表示されない白画面である。そして、転送部223は、HTMLなどを用いて記述されたリダイレクト画面の画面情報の中に、Webブラウザ11側で実行するスクリプト(プログラム)を埋め込むものとする。また、転送部223は、当該スクリプトのPOST変数(引数)も、リダイレクト画面の画面情報に埋め込むものとする。
On the other hand, when the
なお、POST変数には、S42のログイン要求に含まれるユーザIDおよびパスワードと、他サイト(Bサイト)のURLとが含まれる。BLサーバ22のメモリまたは外部記憶装置には、他サイトのURLが、あらかじめ記憶されているものとする。また、転送部223は、このようなPOST変数を、隠しデータとして画面情報に埋め込む。すなわち、HTMLを用いて記述された画面情報の場合、転送部223は、「INPUT」タグの「TYPE=hidden」を用いて、クライアント1の出力装置には表示されない隠しデータ(POST変数)をクライアント1に送信する。なお、Webブラウザ11が実行するスクリプトについては後述する。
The POST variable includes the user ID and password included in the login request in S42 and the URL of the other site (B site). It is assumed that the URL of another site is stored in advance in the memory of the
そして、PLサーバ21の出力部212は、BLサーバ22から受け付けたリダイレクト画面の画面情報を、ネットワーク9を介してクライアント1に送信する。
Then, the output unit 212 of the
クライアント1のWebブラウザ11は、リダイレクト画面の画面情報を受信し、当該画面情報を解析して出力装置に表示するとともに(S47)、当該画面情報に含まれるスクリプトを実行する(S48)。リダイレクト画面の画面情報に含まれるスクリプトは、Webブラウザ11に、リダイレクト画面がクライアント1の出力装置に表示(ローディング)されたタイミング(イベント)を検知して、他サイトにログイン要求を転送する処理を行わせるものである。
The
したがって、Webブラウザ11は、画面情報に含まれるスクリプトを実行することにより、ポスト変数に含まれる他サイト(Bサイト)のURLに、ポスト変数に含まれるユーザIDおよびパスワードを含むログイン要求を送信する。なお、リダイレクト画面は、何も表示されない白画面である。このため、Webブラウザ11が、画面情報を解析してリダイレクト画面を出力装置に表示するために要する時間は、ごく短い時間(一瞬)である。したがって、クライアント1の出力装置に一瞬、表示されるリダイレクト画面を、ユーザは認識することなく、自動的に他サイトにログイン要求を転送することができる。
Accordingly, the
そして、他サイト(Bサイト)のPLサーバ31の入力受付部211は、クライアント1から転送されたログイン要求を受け付け、BLサーバ32に当該ログイン要求を引き渡す。そして、BLサーバ32の判別部221は、S43と同様に、受け付けたログイン要求に含まれるユーザIDのサイト情報を取得する。そして、判別部221は、S44と同様に、取得したサイト情報が自サイトのサイト情報か否かを判別する(S50)。なお、BLサーバ32のメモリまたは外部記憶装置には、BLサーバ32のサイト情報(Bサイト)が、記憶されているものとする。判別部221は、取得したサイト情報が「Bサイト」の場合は自サイトと判別する。また、判別部221は、取得したサイト情報が「Aサイト」の場合、このログイン要求はAサイトから転送されたログイン要求であるためエラーと判別する。
Then, the
判別部221が自サイトと判別した場合(S50:YES)、業務処理部222は、S45と同様に、所定の認証処理を行い、ログイン完了画面の画面情報を生成する。そして、業務処理部222は、生成したログイン完了画面の画面情報をPLサーバ31に送出する。PLサーバ31の出力部212は、ログイン完了画面の画面情報を受け付け、ネットワーク9を介して、ログイン要求元のクライアント1に送信する(S51)。クライアント1のWebブラウザ11は、ログイン完了画面の画面情報を受信し、ログイン完了画面を出力装置に出力する(S53)。
When the
一方、判別部221がエラーと判別した場合(S50:NO)、業務処理部222は、所定のエラー処理を行う(S52)。すなわち、業務処理部222は、例えば、エラーメッセージをクライアント1に送信する、エラーのログ情報をメモリまたは外部記憶装置に記憶する、または、エラー処理を行う障害用サーバ(不図示)にエラーメッセージを送信するなどのエラー処理を行う。
On the other hand, when the
図示するログイン処理をおこなうことにより、クライアント側(ユーザ)は、自分に割り当てられたシステムを意識することなく、対象のシステムにログインすることができる。 By performing the illustrated login process, the client side (user) can log in to the target system without being aware of the system assigned to him / her.
なお、ユーザがビジターの場合、クライアント1のWebブラウザ11は、仮想URLが指定されたログイン要求をネットワーク9に送信し、ローカルDNSサーバから、Aサイト用DNSサーバ4またはBサイト用DNSサーバ5が送信した実URLのIPアドレスを取得する。なお、図5に示す名前解決テーブル43の場合、Webブラウザ11は、最初にAシステム2にアクセスし、Aシステム2からトップページの画面情報を受信し、トップページの画面を出力装置に表示する。また、ビジターの場合は、Aシステム2およびBシステム3のどちらであっても処理が可能である。したがって、Aシステムが障害時の場合は、Aサイト用DNSサーバ4またはBサイト用DNSサーバ5がBシステムのURLを送信することにより、Webブラウザ11はBシステムにアクセスし、Bシステムで処理を行うものとする。
When the user is a visitor, the
以上、本発明の一実施形態を説明した。 The embodiment of the present invention has been described above.
本実施形態では、各システムのBLサーバ22、32は、自サイト以外のユーザ(カスタマー)からの要求を受け付けた場合、リダイレクト画面の画面情報を生成して要求元のクライアントに送信する。クライアントは、リダイレクト画面の画面情報に含まれるスクリプトを実行することにより、自動的に、他サイト(当該ユーザに割り振られたサイト)のシステムにログイン要求を転送する。これにより、クライアント側に複数のシステムを意識させることなく、クライアントからの要求を複数のシステム間で振り分けることができる。また、ユーザIDおよびパスワードを1回入力するだけで、必要に応じてログイン要求が転送されるため、ユーザの操作負荷が増えない。
In the present embodiment, when receiving a request from a user (customer) other than its own site, the
また、本実施形態のリダイレクト画面の画面情報に含まれるスクリプトは、白画面のリダイレクト画面の表示を検知し、ログイン要求を転送させる。これにより、クライアント1を使用するユーザにリダイレクト画面の存在を気づかせることなく、一瞬のうちにログイン情報を転送することができる。
In addition, the script included in the screen information of the redirect screen according to the present embodiment detects the display of the white screen redirect screen and transfers the login request. Thereby, login information can be transferred in an instant without making the user who uses the
また、本実施形態のトレードシステムでは、Aサイト用DNSサーバ4およびBサイト用DNSサーバ5を有し、本トレードシステムの仮想URLを、Aシステム2またはBシステム3の実URLに変換する。これにより、クライアント1は、本トレードシステムが備える2つのシステムを意識することなく所定のシステムにアクセスすることができる。
In addition, the trading system of the present embodiment includes the DNS server 4 for the A site and the DNS server 5 for the B site, and converts the virtual URL of the trading system into the actual URL of the
また、本実施形態の名前解決テーブル(図5参照)は、障害フラグを有する。これにより、一方のシステムに障害が発生している場合は、他方の正常に稼動しているシステムのURLを送信することができる。この場合、Aシステム2およびBシステム3の両方で処理が可能なビジターの要求については、いずれかのシステムで処理を続行することができる。
In addition, the name resolution table (see FIG. 5) of the present embodiment has a failure flag. Thereby, when a failure occurs in one system, the URL of the other normally operating system can be transmitted. In this case, regarding a visitor request that can be processed by both the
なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。例えば、上記実施形態の名前解決テーブル(図5参照)は、仮想URLを実URLに変換するためのテーブルである。しかしながら、本発明はこれに限定されず、名前解決テーブルは、実URLに対応するIPアドレスをさらに有することとしてもよい。この場合、各DNSサーバ4、5の名前解決部41は、仮想URLを、Aシステム2のIPアドレス、またはBシステム3のIPアドレスに変換する。
In addition, this invention is not limited to said embodiment, Many deformation | transformation are possible within the range of the summary. For example, the name resolution table (see FIG. 5) of the above embodiment is a table for converting a virtual URL into a real URL. However, the present invention is not limited to this, and the name resolution table may further include an IP address corresponding to the actual URL. In this case, the
1:クライアント、11:Webブラウザ、2:Aサイトのシステム、21:PLサーバ、211:入力受付部、212:出力部、22:BLサーバ、221:判別部、222:業務処理部、223:転送部、23:DBサーバ、231:データ管理部、232:ユーザDB,233:振分テーブル、3:Bサイトのシステム、31:PLサーバ、32:BLサーバ、33:DBサーバ、4:Aサイト用DNSサーバ、41:名前解決部、42:監視部、43:名前解決テーブル、5:Bサイト用DNSサーバ、9:ネットワーク
1: Client, 11: Web browser, 2: Site A system, 21: PL server, 211: Input reception unit, 212: Output unit, 22: BL server, 221: Discrimination unit, 222: Business processing unit, 223: Transfer unit, 23: DB server, 231: Data management unit, 232: User DB, 233: Distribution table, 3: B site system, 31: PL server, 32: BL server, 33: DB server, 4: A DNS server for site, 41: name resolution unit, 42: monitoring unit, 43: name resolution table, 5: DNS server for B site, 9: network
Claims (4)
前記複数の業務システム各々は、
ユーザIDと当該ユーザIDが属するグループとが記憶されたユーザDBと、
前記各グループと、当該グループに割り当てられた前記業務システムを識別するためのシステム情報とが記憶された振分テーブルと、
前記クライアントから、ユーザIDを含む要求を受け付ける要求受付手段と、
前記ユーザDBおよび前記振分テーブルを参照し、前記要求受付手段が受け付けたユーザIDに対応するシステム情報を取得する取得手段と、
前記取得手段が取得した前記システム情報が、自業務システムのシステム情報か否かを判別する判別手段と、
自業務システムのシステム情報と判別した場合、前記要求に応じた処理を行う要求処理手段と、
自業務システム以外の他業務システムのシステム情報と判別した場合、前記他業務システムに前記要求受付手段が受け付けた要求を転送するためのリダイレクト画面情報を生成し、前記クライアントに送信する転送手段と、を有し、
各業務システムに接続されたネームサーバは、
前記複数の業務システム各々のアドレス情報を記憶した名前解決テーブルと、
前記複数の業務システムの稼動状態を監視する監視手段と、
前記クライアントが送信した前記負荷分散システムの仮想アドレス情報を受け付け、前記名前解決テーブルに記憶された業務システムのアドレス情報の中から前記監視手段により正常に稼動していると判別されたアドレス情報を特定し、送信する名前解決手段と、を有すること
を特徴とする負荷分散システム。 A load balancing system that has a plurality of business systems, distributes requests from clients to the plurality of business systems, and performs processing;
Each of the plurality of business systems includes:
A user DB storing a user ID and a group to which the user ID belongs;
A distribution table storing each group and system information for identifying the business system assigned to the group;
Request accepting means for accepting a request including a user ID from the client;
An acquisition unit that acquires system information corresponding to the user ID received by the request reception unit with reference to the user DB and the distribution table;
Determining means for determining whether the system information acquired by the acquiring means is system information of a self-service system;
If it is determined that the system information of the own business system, request processing means for performing processing according to the request;
If it is determined that the system information of the other business system other than the own business system, the transfer means for generating redirect screen information for transferring the request received by the request receiving means to the other business system, and transmitting to the client; Have
Name servers connected to each business system
A name resolution table storing address information of each of the plurality of business systems;
Monitoring means for monitoring operating states of the plurality of business systems;
The virtual address information of the load balancing system transmitted by the client is received, and the address information determined to be operating normally by the monitoring unit is identified from the business system address information stored in the name resolution table. And a name resolution means for transmitting the load distribution system.
前記名前解決テーブルは、前記業務システムのアドレス情報毎に、最初にアクセスするか否かを識別するための第1のフラグと、正常に稼動しているか否かを識別するための第2のフラグと、をさらに記憶し、
前記監視手段は、前記複数の業務システムの稼動状態に応じて、前記名前解決テーブルの第2のフラグを更新し、
前記名前解決手段は、前記仮想アドレス情報を受け付け、前記名前解決テーブルを参照して、前記第1のフラグがオンに設定されたアドレス情報の前記第2のフラグが正常の場合、当該アドレス情報を送信し、前記第1のフラグがオンに設定されたアドレス情報の前記第2のフラグが障害の場合、前記第2のフラグが正常な他のアドレス情報を送信すること
を特徴とする負荷分散システム。 The load distribution system according to claim 1,
The name resolution table includes a first flag for identifying whether to access first for each address information of the business system, and a second flag for identifying whether the system is operating normally. And remember further,
The monitoring unit updates a second flag of the name resolution table according to an operating state of the plurality of business systems;
The name resolution means receives the virtual address information, refers to the name resolution table, and if the second flag of the address information in which the first flag is set to on is normal, the name resolution means And when the second flag of the address information in which the first flag is set to ON is faulty, the second flag transmits other normal address information. .
前記リダイレクト画面情報には、前記要求に含まれるユーザIDと、前記他業務システムのアドレス情報と、前記クライアントに実行させるプログラムと、が含まれ、
前記プログラムは、前記クライアントに、前記リダイレクト画面情報のリダイレクト画面が前記クライアントの表示装置に表示されたことを検知して、前記他業務システムのアドレス情報を宛先として、前記要求を転送させること
を特徴とする負荷分散システム。 The load distribution system according to claim 1 or 2,
The redirect screen information includes a user ID included in the request, address information of the other business system, and a program to be executed by the client.
The program, on the client, characterized in that the redirection screen of the redirect screen information by detecting that displayed on the display device of the client, the address information of the other business system as a destination, to transfer the request Load balancing system.
前記複数の業務システム各々は、
ユーザIDと当該ユーザIDが属するグループとが記憶されたユーザDBと、
前記各グループと、当該グループに割り当てられた前記業務システムを識別するためのシステム情報とが記憶された振分テーブルと、処理部とを有し、
前記処理部は、
前記クライアントから、ユーザIDを含む要求を受け付ける要求受付ステップと、
前記ユーザDBおよび前記振分テーブルを参照し、前記要求受付ステップで受け付けたユーザIDに対応するシステム情報を取得する取得ステップと、
前記取得ステップで取得した前記システム情報が、自業務システムのシステム情報か否かを判別する判別ステップと、
自業務システムのシステム情報と判別した場合、前記要求に応じた処理を行う要求処理ステップと、
自業務システム以外の他業務システムのシステム情報と判別した場合、前記他業務システムに前記要求受付ステップで受け付けた要求を転送するためのリダイレクト画面情報を生成し、前記クライアントに送信する転送ステップと、を行い、
各業務システムに接続されたネームサーバは、
前記複数の業務システム各々のアドレス情報を記憶した名前解決テーブルを有し、
前記複数の業務システムの稼動状態を監視する監視ステップと、
前記クライアントが送信した仮想アドレス情報を受け付け、前記名前解決テーブルに記憶された業務システムのアドレス情報の中から前記監視ステップで正常に稼動していると判別されたアドレス情報を特定し、送信する名前解決ステップと、を行うこと
を特徴とする負荷分散方法。 A load balancing method that distributes requests from clients to multiple business systems for processing.
Each of the plurality of business systems includes:
A user DB storing a user ID and a group to which the user ID belongs;
A distribution table storing each group and system information for identifying the business system assigned to the group, and a processing unit,
The processor is
A request receiving step for receiving a request including a user ID from the client;
An acquisition step of referring to the user DB and the distribution table and acquiring system information corresponding to the user ID received in the request reception step;
A determination step of determining whether or not the system information acquired in the acquisition step is system information of the own business system;
If it is determined that the system information of the own business system, a request processing step for performing processing according to the request;
If it is determined that the system information of the other business system other than the own business system, the transfer step of generating redirect screen information for transferring the request received in the request reception step to the other business system, and transmitting to the client; And
Name servers connected to each business system
A name resolution table storing address information of each of the plurality of business systems;
A monitoring step for monitoring an operating state of the plurality of business systems;
Name that receives virtual address information sent by the client, identifies address information determined to be operating normally in the monitoring step from address information of the business system stored in the name resolution table, and sends the name And a solution step.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005086882A JP4451339B2 (en) | 2005-03-24 | 2005-03-24 | Load balancing system and load balancing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005086882A JP4451339B2 (en) | 2005-03-24 | 2005-03-24 | Load balancing system and load balancing method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2006268559A JP2006268559A (en) | 2006-10-05 |
| JP4451339B2 true JP4451339B2 (en) | 2010-04-14 |
Family
ID=37204440
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005086882A Expired - Fee Related JP4451339B2 (en) | 2005-03-24 | 2005-03-24 | Load balancing system and load balancing method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4451339B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4960738B2 (en) * | 2007-03-28 | 2012-06-27 | 株式会社野村総合研究所 | Authentication system, authentication method, and authentication program |
| JP7206070B2 (en) * | 2018-08-09 | 2023-01-17 | 株式会社エヌケービー | ADVERTISING DISTRIBUTION SYSTEM, COMPUTER OPERATING METHOD, AND CLOUD SERVER |
-
2005
- 2005-03-24 JP JP2005086882A patent/JP4451339B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2006268559A (en) | 2006-10-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101997903B (en) | Method and system for processing hypertext transfer protocol request | |
| JP3980596B2 (en) | Method and system for remotely and dynamically configuring a server | |
| US6598077B2 (en) | System and method for dynamic content routing | |
| US9547858B2 (en) | Real-time multi master transaction | |
| US20080256607A1 (en) | Extensible and programmable multi-tenant service architecture | |
| CN103973770A (en) | Information processing system | |
| EP2140351B1 (en) | Method and apparatus for cluster data processing | |
| US7711518B2 (en) | Methods, systems and computer program products for providing system operational status information | |
| JP2008203939A (en) | Log management apparatus, log management method, program, and recording medium | |
| US10015086B2 (en) | Multi GTM based routing to avoid latencies | |
| US7930404B2 (en) | Cross-system log in a distributed system environment | |
| US20060168079A1 (en) | System and method for automatically connecting a client computer to a server | |
| JP4451339B2 (en) | Load balancing system and load balancing method | |
| US9606758B1 (en) | System and method of connecting a computer to a printer | |
| US9967308B2 (en) | System and method for fault management in a service-oriented architecture | |
| JP2005523520A (en) | Systems and methods for providing an interface to existing systems management products or software solutions | |
| JP4728026B2 (en) | Load balancing system and load balancing method | |
| US20030131092A1 (en) | System for sending messages to all users in a web hosting environment | |
| US20080071916A1 (en) | System and method for requesting a web service from a network server | |
| JP4814131B2 (en) | Mediation system, program, and storage medium | |
| JP2005078339A (en) | WSDL document generation apparatus and method | |
| KR100597349B1 (en) | Device and method for changing instruction description, and storage medium storing program for changing instruction | |
| JP2003337767A (en) | Basic system for constructing information system | |
| US20020087879A1 (en) | Method, system and program product for synchronous communication between a public electronic environment and a private electronic environment | |
| JP4185012B2 (en) | Server system, first application server, second application server, and session data acquisition method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070919 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090608 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090616 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090807 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091013 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091211 |
|
| 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: 20100119 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100127 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130205 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140205 Year of fee payment: 4 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |