JP5203919B2 - サーバシステム - Google Patents

サーバシステム Download PDF

Info

Publication number
JP5203919B2
JP5203919B2 JP2008332660A JP2008332660A JP5203919B2 JP 5203919 B2 JP5203919 B2 JP 5203919B2 JP 2008332660 A JP2008332660 A JP 2008332660A JP 2008332660 A JP2008332660 A JP 2008332660A JP 5203919 B2 JP5203919 B2 JP 5203919B2
Authority
JP
Japan
Prior art keywords
server
login
user
channel
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 - Fee Related
Application number
JP2008332660A
Other languages
English (en)
Other versions
JP2010152818A (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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute Ltd
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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2008332660A priority Critical patent/JP5203919B2/ja
Publication of JP2010152818A publication Critical patent/JP2010152818A/ja
Application granted granted Critical
Publication of JP5203919B2 publication Critical patent/JP5203919B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、通信ネットワークを介してWeb等によってユーザ(クライアント端末)に対してサービス(業務処理)を提供するサーバシステム(クライアントサーバシステム)に関し、特に、サービスの利用のためのログイン(セッション)の制御、及びトラフィックや負荷や性能などの制御に関する。
Web等を利用してユーザにサービスを提供するサーバシステムは、一般的に、Webサーバ(プレゼンテーション(PL)サーバ)、アプリケーションサーバ(ビジネスロジック(BL)サーバ)、及びデータベース(DB)サーバの機能に分けて構成される、いわゆる三層構造を備えている。Webサーバ(PLサーバ)は、ユーザの利用するクライアント端末とやり取りして、セッション管理や画面生成等に関する処理を行う。アプリケーションサーバ(BLサーバ)は、提供するサービスに対応付けられる固有の業務(BL)処理を行う。DBサーバは、業務処理に必要となる各種データをDBとして保持、管理する。
上記サーバシステムでは、サーバへの多数のアクセス(要求)の発生によるトラフィックの増大の傾向により、システムの増強が追いつかず、トラフィックの溢れ等による、輻輳、障害、システムダウン等のケースが多く発生している問題がある。そこで、例えばトラフィックの溢れ等を検知、予測すること等により、適切な対策を実行できるシステムが求められている。
上記に係わる従来技術として、特開2004−246833号公報(特許文献1)には、サーバ負荷分散技術において、単位時間当たりの接続可能なセッション数の上限値と、単位時間当たりの確立したセッション数を管理し、エンドユーザ端末から新規のセッション確立要求を受信した際に、直近の単位時間当たりの確立したセッション数を上記上限値と比較し、上限値未満の場合は新規セッション確立要求を許可し、上限値以上の場合は新規セッション確立要求を廃棄することが記載されている。
また、特開2007−265244号公報(特許文献2)には、Webシステムの性能を予測して将来の性能の溢れを予防するための技術について記載されている。
また、特開2007−265245号公報(特許文献3)には、ネットワーク上でトラフィックを監視し、トラフィック量を推定し、リソース不足が予測されたとき、所定の対策プロセスを実行する技術について記載されている。
特開2004−246833号公報 特開2007−265244号公報 特開2007−265245号公報
Web等を利用したサーバシステムとして、企業のポータルサイトなどでは、各種多数のユーザ(クライアント端末)に対して複数のサービスが利用可能なように提供されていることが多い。サーバシステムの提供サービスなどに応じて、時間軸上でトラフィック量は大きく変動する。例えば、サービス(対応業務処理)として、証券システムにおける証券の売買注文のサービスや、情報閲覧サービスなどの場合、市場やニュースなどの状況に応じて、アクセス数が大きく変動する。
また、サーバシステムとして、各種多数のユーザ(クライアント端末)に対応して複数のチャネル(アクセスチャネル、サービスチャネル)で各種サービスを提供する形態の場合、それらチャネル毎にトラフィック変動特性に違いがみられる。
また、同じチャネルによるサービス提供の場合でも、ユーザ(クライアント端末)の属性に応じてサービスを提供するシステムもある。例えば、優良顧客や一般顧客といったユーザ属性の違いに応じて、異なる種類のサービスを提供するシステムがある。その場合、それらユーザ属性毎にトラフィック変動特性に違いがみられる。
上記各種多数のユーザのアクセス数の増大により、サーバシステム側では、ログイン処理やサービス処理におけるトラフィック量や負荷の増大により、各ユーザ(各チャネルや各ユーザ属性)に対して適切に応答することが困難になる。言い換えれば、システムの負荷を適切に制御できず、あるいはシステムの性能を適切に利用できず、前述の障害等を引き起こす可能性がある。また、ユーザ側にとっては、障害等により所望のサービスを利用できない不便に加え、所望のサービスに実際にアクセス(ログイン)を試みてみるまで当該サービスが利用可能な状態か否か等が不明であり、例えばサーバからの応答待ち状態が長く続くことにより、利便性もあまり高くないと感じる。
上記に係わる1つの対策としては、ユーザ(クライアント端末)からのアクセス(要求)を受けるサーバ(PLサーバ)の前段に、負荷分散装置(ロードバランサ)を設け、後段の複数のサーバへの負荷分散や、アクセス(要求)の制限を行うことが挙げられる。あるいは、サービス処理(業務処理)を行うサーバ(BLサーバ)の前段に、負荷分散装置を設けることが挙げられる。
また、他の対策として、アクセスを受け付ける前段のサーバ群(PLサーバ)で処理するログイン(セッション)に係わる、サーバ群全体でのログイン数(ログイン状態セッション数)を所定の上限値未満に制限することが考えられる。
しかしながら、このような従来の制御の場合、各種のチャネル及びユーザ(ユーザ属性)のアクセスの特性や状況を反映した制御ではないので、適切な制限効果が得られない場合が多いという問題がある。例えば、チャネルAで提供するサービス(あるいはユーザ属性A向けのサービス)と、チャネルBで提供するサービス(あるいはユーザ属性B向けのサービス)とがあり、Bのアクセスのみが急増している場合、A,Bを含む全体に対しログイン数を所定値未満に制限する制御では、相対的にAのアクセスが殆どつながらない状態になってしまう可能性がある。
本発明の目的は、各種多数のユーザ(クライアント)が所定のチャネルによりサーバの提供サービスにアクセスし、複数のチャネルや複数のユーザ属性などに応じて異なるサービスを提供可能であるサーバシステム等の技術に係わり、サーバシステム側にとって、アクセス数の変動(例えば突発的な増大)などに対しても、チャネルやユーザ属性などに応じてサーバの負荷や性能を調整して適切に対処、応答することができる技術を提供することである。また、ユーザ側にとって、システムやサービスの状態等がわかりやすいように応答が得られ、利便性を低下させない技術を提供することである。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下の通りである。
本形態は、PL層の複数の第1のサーバ(PLサーバ)、BL層の複数の第2のサーバ(BLサーバ)、及びDB層の第3のサーバ(DBサーバ)を有し、複数のユーザのクライアント端末からの通信ネットワークを介したアクセスに対し、前記第1のサーバを介して、前記第2及び第3のサーバによって処理されるサービスを前記クライアント端末に提供するサーバシステムである。前記第1のサーバは、例えばWebサーバ機能、セッション管理機能、画面制御機能などを備える。
前記第1のサーバは、前記ユーザのクライアント端末からの所定のチャネル(URL等)でのアクセス(要求)に対して、認証処理を含む、当該クライアント端末との間のセッションの確立に係わるログイン処理を行い、確立されたセッションで、当該クライアント端末からの要求に応じて、当該チャネルに応じた所定のサービスの処理を前記第2のサーバに要求して、前記第2のサーバにより前記第3のサーバのデータベースを読み書きして当該サービスを構成する業務処理を行わせ、その結果に基づき、応答画面データを生成して前記クライアント端末に送信して表示させる処理を行う。
前記第1のサーバは、前記チャネル、サービス、業務処理などの要素の対応付けの情報と、前記セッションに関するセッション管理情報と、前記複数の第1のサーバ(個別、グループ、全体など)と複数のユーザのクライアント端末との間の複数のチャネルでの複数のセッションに関する現在または直近のログイン数Nの情報と、前記ログイン数Nに関する判定用のしきい値である、前記チャネル単位での前記ログイン数Nの上限値Hの情報と、を保持する。前記しきい値としては、例えば、前記チャネル単位での前記ログイン数Nの上限値Hが設定される。
前記第1のサーバは、前記クライアント端末からのアクセスに対する前記ログイン処理の際に、前記ログイン数Nと前記しきい値(上限値H)とを比較し、当該ログインを制限するかの判定を行う処理と、前記判定に従い、前記ログインの制限を実行し、当該制限に対応する前記応答画面データを生成して前記クライアント端末へ送信して表示させる処理とを行う。
そして、前記第1のサーバは、前記クライアント端末からのアクセスに対する前記ログイン処理の際に、当該チャネル単位でのログイン数Nが当該上限値H以上の場合は、当該ログインを拒否するように制限する。
また更に、前記複数の第1のサーバに接続される制限管理部を有し、前記制限管理部は、前記複数の第1のサーバと通信して情報を授受することにより、前記複数の第1のサーバと複数のユーザのクライアント端末との間の複数のチャネルでの複数のセッションに関する現在または直近のログイン数Nの情報と、前記ログイン数Nに関する判定用のしきい値である、前記チャネル単位での前記ログイン数Nの上限値Hの情報と、を管理する処理を行う。
また更に、前記第2のサーバは、前記サービスを構成する業務処理の際に前記第3のサーバのデータベースに対して当該ユーザの属性の情報を読み書きする。前記第1のサーバは、前記ユーザのクライアント端末からのアクセスに対し、当該ユーザの属性に応じた所定のサービスを提供する。前記しきい値として、前記ユーザの属性の単位での前記ログイン数Nの上限値Hの情報を有する。前記第1のサーバは、前記クライアント端末からのアクセスに対する前記ログイン処理の際に、当該ユーザの属性の単位でのログイン数Nが当該上限値H以上の場合は、当該ログインを拒否するように制限する。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。本発明の代表的な実施の形態によれば、サーバシステム側にとって、アクセス数の変動(例えば突発的な増大)などに対しても、チャネルやユーザ属性などに応じてサーバの負荷や性能を調整して適切に対処、応答することができる。また、ユーザ側にとって、システムやサービスの状態等がわかりやすいように応答が得られ、利便性を低下させない。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
図1〜図15を用いて、本発明の一実施の形態のシステム(サーバシステムを含んで成る情報処理システム)について説明する。
<概要>
まず本実施の形態の概要や主な特徴については以下である。ユーザのクライアント端末から通信ネットワークを介して所定のチャネルでサーバのサービスにアクセスするサーバシステムにおいて、ログイン(セッション)管理及び画面制御等を行うPLサーバ(群)の層(PL層)において、チャネル単位、及びユーザ属性単位で、サービス制御(サービス提供可否判断等)を行うと共に、ログイン数(ログイン状態セッション数)Nを管理し、その現在値としきい値(上限値H)との比較により判定(制限判定)して当該ログイン(ログイン数)の制限を実行するように制御する。
クライアント端末からの所定のチャネルでのアクセス(要求)に対し、PLサーバでは、認証を含むログイン(セッション確立)の処理を行うが、その際、PLサーバ(群)における現在時のログイン数Nと、しきい値(上限値H)とを比較して、当該ログインを制限するか否か等を判定する。制限しない場合は通常通り応答してサービスを提供する。制限を実行する場合、その制限内容(種別)に対応した応答画面データを生成してクライアント端末に送信して表示させる。
チャネル単位は、ユーザが所定のサービスを利用する際に、クライアント端末から通信ネットワークを介してPLサーバへアクセスする際に通る経路の単位である。チャネルは、例えば、サービス利用環境、ユーザのクライアント端末や通信ネットワークにおける媒体の違い、例えば営業店の設置端末や、エンドユーザ(顧客)のPCやケータイ等の違いに対応付けられる。チャネルは、例えば、TCP/IPネットワーク、無線ネットワーク、専用線といった各種の通信手段における通信経路を利用する。また、当該サービスを提供するWebサイト(Webサーバ)にどのWebサイト(Webサーバ)からリンクしてきたか等によってもチャネルは異なり得る。また、チャネルは、ユーザが本サーバシステムにアクセスする際のURLなどによって識別することができる。なお、チャネルに対してサービス(業務処理)が対応付けられる場合には、チャネル単位とはサービス単位のことになる。また、チャネルに対してユーザ属性が対応付けられる場合には、チャネル単位とはユーザ属性単位のことになる。
ユーザ属性単位は、ユーザによる本システムのサービスの利用における属性である。例えば、あるシステムのサービスの利用の状況(履歴等)に基づいて、「優良」、「一般」といったような属性が与えられる(ユーザ属性を変動的な情報とする形態。例えば図2の例)。あるいは、予めのシステムのサービス利用契約などに基づいて、「優良」、「一般」といったような属性が与えられる(ユーザ属性を固定的な設定情報とする形態。例えば図1の例)。
サービスとは、ユーザ(クライアント端末)からの要求と当該要求に対する応答からなる一連の処理によって実現される単位を指す。サービスとして、例えば、証券システムにおける売買注文処理やポートフォリオ分析、シミュレーション等の業務、インターネットバンキングシステムにおける残高照会や振込処理、口座情報の照会など各種が該当する。また、サービスは、1つ以上の業務処理(BL処理)を組み合わせることで実現される。
本システムにおいて、ユーザ(クライアント端末)、ユーザ属性、チャネル、PLサーバ、及びサービス(業務処理)等は、所定の対応付けで情報管理される。例えば、所定のユーザ(ユーザ属性)のクライアント端末が所定のチャネルを利用して所定のPLサーバにアクセスし所定のサービスを受ける。対応付けの例としては、同一チャネルで異なるユーザ属性を含む場合や、チャネル毎にユーザ属性を分ける場合などが考えられる。また他の例としては、同一チャネルで異なる複数のサービスを提供する場合や、チャネル毎にサービスを分ける場合などが考えられる。いずれもの形態も、システムの設計や設定によって実現可能である。
ログイン数Nとは、本サーバシステム(PLサーバ)にユーザがログインした状態のセッションの数(ログイン状態セッション数)である。ログイン(セッション)管理処理により、各セッションはセッション管理情報として保持、管理されるので、当該情報を参照することでログイン数Nを把握することができる。
本ログイン制限管理のために、実装構成例としては、PLサーバ(群)に接続される制限管理部(例えばサーバの形態)を設け、制限管理部では、PLサーバ(全体、グループ、個別)のログイン数Nの情報や、そのしきい値(上限値H)の情報などを管理する。個別のPLサーバと制限管理部との間でそれら情報を授受する。各PLサーバは、ログイン処理の際に、それら情報を用いて、ログイン制限を実行するか否か等を判定する。また、PLサーバから制限管理部に対しセッション情報を集中的に管理する。
基本的な制御方法としては、PLサーバ(制限管理部)でのログイン(セッション確立)処理の時に、チャネルやユーザ属性の情報を参照し、これらチャネルやユーザ属性の単位のしきい値(上限値H)を用いて比較判定することでログインの数を制限する。例えば、チャネル単位でログイン数Nを判定する(第1の制御方法)。あるいは、ユーザ属性単位でログイン数Nを判定する(第2の制御方法)。あるいは、チャネル単位とユーザ属性との両方でログイン数Nを判定する(第3の制御方法)。
判定方法としては、PLサーバでは、ログイン処理の際、例えばチャネル単位のログイン数Nが上限値Hに達した場合、当該チャネルでのログインを制限(拒否)する(第1の制御方法)。あるいはユーザ属性単位のログイン数Nが上限値Hに達した場合、当該ユーザ属性でのログインを制限(拒否)する(第2の制御方法)。
制限実行内容に対応した応答画面としては、例えば、アクセスに対してログイン画面を表示させずに、混雑中などのメッセージ画面を表示する。あるいは、ログイン画面でのログイン情報入力に対し、ログインできない旨のメッセージを含むログイン拒否(失敗)画面を表示する。あるいは、ログイン画面でのログイン情報入力に対し、ログイン許可(成功)画面を表示するが、その時の状況に応じて当該ユーザが利用可能なサービスのメニュー項目を減少させた画面にする。
更なる機能として、上記ログイン制限のためのしきい値(上限値H)の設定を更新(変更)可能とする。例えば、管理者により手動で更新する手段や、プログラム処理により自動で更新する手段を設ける。例えば、システム監視処理により本システム(サーバ)の性能や負荷を監視し、その結果に基づき、しきい値(上限値H)の設定を更新する。例えば、時間軸上のログイン数の変動の検知や予測などに基づいて、状況に応じてしきい値(上限値H)を変化させることで、溢れなどの問題に対し効率的に対処することができる。
また、詳しい制御方法としては、1つのチャネルや1つのユーザ属性のみをみて判定するのではなく、複数のチャネルや複数のユーザ属性の存在に対し、それらの全体や複数間でのログインの数や割合を調整するように制御する。例えば、あるチャネルでのサービスの利用のためのログイン処理において、あるユーザ属性のユーザのアクセスが急増した場合、それにより別のユーザ属性のユーザのアクセスが圧迫されないように、当該急増したユーザ属性のユーザのアクセスにおけるログインを制限する。
<システム(1)>
図1において、本システムの概要や特徴を示している。本システム全体は、サーバシステム(サーバ側コンピュータシステム)とクライアント(クライアント端末)とが通信ネットワーク90を介して接続される構成である。サーバシステムは、フロント(前段)側から順に、第1の負荷分散装置(ロードバランサ:LB1)401、PL層のPLサーバ(群)100、第2の負荷分散装置(ロードバランサ:LB2)402、BL層のBLサーバ(群)200、及びDB層のDB(DBサーバ)300を有する。また、これらに対して接続される、制限管理部(ログイン制限管理部)500と、システム監視部600とを有する。
クライアント側としては、ユーザが使用する各種、多数のクライアント端末が該当する。クライアント端末は、本サーバシステムを利用するための機能、即ち基本的な通信機能や、Webブラウザや他のアプリケーションプログラム等の機能を備える。クライアント端末は、例えば、ユーザ(顧客)が所有するパソコン(PC)や携帯電話機(ケータイ)、企業の営業店やコールセンタの設置端末、販売員の所持する携帯端末などを含む。尚ここでいう「ユーザ」や「クライアント」には、営業店やコールセンタ等も含める。
図1に示す例では、ユーザ(企業)として、コールセンタや営業店の設置端末を有する。これらは、例えば固定的に優先されるチャネル(A,B)によって本システムにアクセスする。また、ユーザ(顧客)として、例えば、ユーザaは、媒体としてケータイを利用するユーザであり、ユーザ属性が「優良」の状態である。ユーザbは、媒体としてPCを利用するユーザであり、ユーザ属性が「優良」の状態である。ユーザcは、媒体としてケータイを利用するユーザであり、ユーザ属性が「一般」の状態である。ユーザdは、媒体としてPCを利用するユーザであり、ユーザ属性が「一般」の状態である。各ユーザa〜dは、それぞれ対応するチャネル(C〜F)によりアクセスする。図1の例では、予めサービス利用契約等に基づいてユーザ属性とチャネルとが対応付けられており、クライアント端末からのPLサーバ100へのアクセスの際には、後段のDB310内のユーザ属性情報などを参照せずとも、当該ユーザのユーザ属性を認識できる。
通信ネットワーク90は、例えば、インターネットやイントラネット等、無線通信ネットワーク、専用線などを含む。各ユーザのクライアント端末は、所定のチャネルで、対応する通信ネットワーク90を介して、本システム(本サーバシステムが提供するWebサイト等)にアクセスする。
各クライアント端末からのアクセスは、まずLB1(401)に接続される。LB1(401)よりも前のネットワーク機器等については省略する。LB1(401)とPLサーバ(群)100とが接続される。PLサーバ(群)100の各PLサーバと、制限管理部500とが接続される。PLサーバ(群)100は、LB2(402)と接続される。LB2(402)は、BLサーバ(群)200と接続される。BLサーバ(群)200は、DB(DBサーバ)300と接続される。システム監視部600は、PLサーバ100やBLサーバ200を監視する。制限管理部500とシステム監視部600とが接続される。また、PLサーバ100は、他のモジュール、例えば、外部システムのBLサーバなどと接続されてもよい。
PLサーバ(群)100及びBLサーバ(群)200は、多数のアクセスを処理するために、複数の個別のPLサーバ、及びBLサーバにより冗長(多重)構成されている。なお、これらサーバ群の実装は、同一の機能を備える複数のサーバによる構成としてもよいし(即ち例えば複数のサービスを提供可能な機能を備える複数のサーバとする)、異なる機能を備えるサーバによる複数のグループに分けた構成としてもよい(即ち例えばチャネル−サービス毎に別のサーバグループとする)。図2は、上記複数のグループに分けた構成例の場合である。
LB1(401),LB2(402)は、PLサーバ100、BLサーバ200の冗長構成と対応して、これら複数のサーバへのアクセスの振り分けによる負荷分散を行う。これについては公知技術である。
各PLサーバ100は、まず、Webサーバ機能、認証、セッション管理、チャネル管理及びサービス管理などの基本的な処理機能を備える。その他に、各PLサーバ100は、特徴的なログイン管理を行う機能や制限管理部500と通信する機能などを備える(図3)。
各BLサーバ200は、サービスに対応付けられる業務(BL)処理を行う基本的な処理機能を備える。DBサーバ300(DB310)には、サービス(業務処理)に係わるデータ情報が格納される。このデータ情報には、ユーザ属性情報も含む。
制限管理部500は、各PLサーバ100との間で通信して情報を授受することで、内部のDBに、PLサーバ100のログイン数(ログイン状態セッション数)Nと、そのログイン数Nに関する判定用のしきい値である上限値Hとを含む情報を保持、管理する。また、制限管理部500は、ログイン数Nを定期的にチェック(更新)する処理や、上限値Hを必要に応じて更新する処理などを行う。
制限管理部500及びPLサーバ100は、DBの情報(N,H)に基づき、各チャネルでのアクセスによる本システム(提供サービス)へのログイン(セッション確立)を制限する制御を行う。制限されたユーザのクライアント端末に対しては、対応する応答画面データを送信して表示させることで適切に対処する。例えば、アクセス数が増大した時に、各チャネル単位またはユーザ属性単位のログイン数Nの上限値Hによる判定に基づき、特定のチャネル単位またはユーザ属性単位のログイン数Nを上限値H未満に制限する。これにより、制限された以外のチャネル単位またはユーザ属性単位では、その分、ログインの数に余裕ができる。
図1の例では、エンドユーザ(顧客)のWebのアクセスにおいて、クライアント端末におけるPCとケータイなどの違いに対応して別のチャネルでサービスを提供している。更に、制限実行の際、ユーザ属性が「優良」のユーザa,bのチャネルC,Dでのログインはそのまま制限無しで許可し、「一般」のユーザc,dのチャネルE,Fでのログインは制限して拒否している。また例えば、PCとケータイではPCの方が画面データ量が重いこと等を考慮して、PCの「一般」のユーザのチャネルFでのログインを強く制限することで制限効果を高くしている。
上記のようにチャネルやサービスに対して所定のユーザ属性を対応付けることができる。例えば、特定のユーザ属性(例えば「優良」)のユーザに対して特定のチャネルでのサービスを提供してもよい。
また、システム監視部600は、システム(PLサーバ100、BLサーバ200、及びDB300やLB1(401),LB2(401)等)の負荷や性能を監視する。その監視結果情報に基づき、制限管理部500は、上限値Hの設定値を必要に応じて更新する。例えば、システムの負荷が高く性能が低下した状態の時、あるチャネルの上限値Hを高くし、別のチャネルの上限値Hを低くして調整するといったことが可能である。
<システム(2)>
図2において、本システムの構成例として、ユーザ(クライアント端末)、ユーザ属性、チャネル、URL(アドレス)、PLサーバ、サービス等の対応付けに関する構成例を示している。図2に示す例は、所定のチャネル(URL)と所定のPLサーバグループとを対応付ける場合である。また、PCやケータイ等の媒体毎の複数のチャネル、及び同一チャネル内に異なるユーザ属性(「優良」、「一般」)が混在する場合である。例えば、チャネルA,Bはコールセンタ等の固定優先用であり、チャネルC,DはWeb(顧客)のケータイ用、PC用である。各チャネルに対し特定のPLサーバ100のグループが対応付けられる。例えばケータイ用のチャネルC(URL−C)のアクセスはグループCで処理しケータイ用のサービスを提供する。PC用のチャネルD(URL−D)のアクセスはグループDで処理しPC用のサービスを提供する。
図2の例では、ユーザ属性は、サービス利用状況等(例えばDB310の口座残高情報など)に応じて随時変動する情報である。クライアント端末からのPLサーバ100へのアクセスの際には、後段のDB310内のユーザ属性情報などを参照することで、当該ユーザのユーザ属性を認識する。また、ユーザは、自身のユーザ属性を認識している必要は無く、サーバシステム側が情報として管理及び認識する。
PLサーバ(群)100の構成例として、チャネル(例えばA〜D)毎にグループ(例えばA〜D)に分けられている。例えば、PLサーバ100のグループAは、複数のPLサーバ(#1〜#m)から成り、所定のチャネルA(URL−A)に対応付けられ、所定のサービス(例えばサービスA,B,C)を提供する。グループB,C,Dについても同様であり、それぞれ別のチャネルB,C,Dに対応付けられる。LB1(401)からグループ内の複数のPLサーバ100へ負荷分散が行われる。なお前述のように、各PLサーバグループで同じサービスを提供する形態も、各グループで異なるサービスを対応付ける形態も可能である。
個別のPLサーバ100は、それぞれ、ログイン管理処理を行うことで、自サーバ単位におけるログイン数Nの情報を持つ。制限管理部500は、それら個別のPLサーバ単位のログイン数Nの情報を取得する。これにより、制限管理部500は、DBで、個別、グループ、及び全体のそれぞれの単位のログイン数Nを把握することができる。例えば各グループA〜Dのログイン数N(NA〜ND)、及び全体のログイン数N0が把握できる。また、個別のPLサーバ100は、制限管理部500からそれらの情報(個別、グループ、全体のログイン数N)を取得することで、自サーバ内に保持し、自サーバを含むグループや全体の状態を把握することができる。
また、制限管理部500は、各種ログイン数Nに関するしきい値である上限値H(個別、グループ、全体の上限値H)を保持している。例えば、上記各グループA〜Dのログイン数N(NA〜ND)、及び全体のログイン数N0に対応した上限値{HA〜HD,H0}を保持している。各PLサーバ100は、制限管理部500からそれら上限値Hの情報を取得して把握することができる。
PLサーバ(群)100全体のログイン数NをN0、その上限値をH0とする。第1のPLサーバグループAのログイン数NをNA、その上限値をHAとする。その他も同様である。また、上限値Hの情報は例えばログイン数Nの情報などと共に授受されてもよい。
また、ログイン数N及び上限値Hは、チャネル単位、ユーザ属性単位などの制御単位に応じて、それぞれの値が管理される。例えば、チャネル単位のログイン数Nの制限を行う第1の制御方法の場合には、それに対応した種類のチャネル単位のログイン数N及び上限値Hを用いて制御する。図2の例では、チャネル単位のログイン数Nは、グループ単位のログイン数N(NA〜ND)である。またこの例では、同一チャネル内で異なるユーザ属性(優良、一般)が混在する形態であり、ユーザ属性単位でのログイン数N及び上限値Hの管理は必要無い。ユーザ属性単位での制限を行う第2の制御方法の場合には、第1の制御方法と同様に、ユーザ属性単位でのログイン数N及び上限値Hを管理する。
制限の例として、Xは、チャネルA,Bについての制限、Yは、ケータイ用のチャネルCについての制限、Zは、PC用のチャネルDについての制限である。例えば、X,Y,Zの順で制限が強くなる(ログイン、サービス提供に関する優先度が低くなる)。また、ユーザ属性単位で制限する場合は、例えばユーザ属性が「優良」のユーザa,bに対してYの制限を適用し、ユーザ属性が「一般」のユーザc,dに対してZの制限を適用する、といったようになる。
<システム(3)>
図3において、本システムの各サーバ等の内部詳細構成例を示している。図3に示す例は、制限管理部500主体でセッション集中管理を行い、また、個別PLサーバ100主体でログイン制限判定及び実行を行う形態である。
制限管理部500やシステム監視部600は、例えば特定のサーバ(制限管理サーバ、システム監視サーバ)の形態で実装される。なお、各サーバは、所定のハードウェア及びソフトウェアにより実装される。例えば、1台のサーバ装置において、プロセッサ、メモリ、通信インタフェース等を備え、プロセッサによるメモリ上のプログラムの実行や、専用回路の機能により、サーバ機能を実現する。各サーバは、物理的にそれぞれ別の機器に構築されていてもよいし、一部または全部が同一の機器に論理的に分かれて構築されていてもよい。物理的に別の機器で構築されている場合は、各サーバはLAN等によって接続される。
本システムで特徴的な処理部としては、ログイン数N更新部52、上限値H設定部53、制限判定部14、及び制限実行部15が挙げられる。PLサーバ100と制限管理部500とにおいて、これらの処理部を少なくとも一方側に備える。あるいは、これらの処理部を主−従のモジュールとして両方側に備えてもよい。
<PLサーバ>
PL層において、PLサーバ100は、ログイン管理部(セッション管理部)10、画面制御部(応答制御部)20、図示しない公知のWebサーバ機能、通信機能などを備える。ログイン管理部10は、認証処理部11、チャネル−サービス制御部12、ログイン処理部(セッション処理部)13、制限判定部14、制限実行部15、通信部16、ユーザ属性制御部17、並びに、セッション管理情報31、制限管理情報32、チャネル−サービス管理情報33などを備える。
ログイン管理部10は、ユーザのクライアント端末からのアクセスに対する本システムへのログイン(セッション確立)の処理(ログイン処理)、及びその処理を管理する処理(ログイン(セッション)管理処理)を行う。
認証処理部11は、クライアント端末からのアクセスに際して、種々の認証の要否を識別し、所定の方式による認証処理を行う。この認証処理自体は公知技術である。ここでの認証には、例えば、デジタル証明書による認証や、ワンタイムパスワードによる認証、Cookieによる認証、その他チャネル固有の認証などがある。
チャネル−サービス制御部12は、チャネル−サービス管理情報33を管理し、チャネル、サービスなどの要素の対応付けの管理、チャネル単位の利用可否判定やサービス単位の提供可否判定などを制御する。チャネル単位でのログイン制限の制御のために、チャネル−サービス制御部12等を用いる。チャネル−サービス制御部12は、BLサーバ200(あるいは外部システムの機能)に対し要求を送り、応答として処理結果を受信する。
ログイン処理部13は、認証処理部11、チャネル−サービス制御部12、制限判定部14、通信部16などを用いて、ログイン(セッション)処理を行う。ログイン処理部13(またはセッション集中管理部51)では、ユーザ(クライアント端末)からのアクセスによるログイン処理の際、クライアント端末とのセッションに関するセッション管理情報31(セッション情報)を作成、または、参照、更新、削除等する。ログイン管理部10(またはセッション集中管理部51)では、新規のログイン時には、新規のセッション情報を作成する。また、その後の同ユーザのアクセス時には、当該セッション情報の内容を更新する。ログイン処理部13は、セッション管理情報31の作成、更新、削除等に伴い、自サーバにおけるログイン数Nを、レコード数のカウント等により把握することができる。
制限判定部14は、ユーザ(クライアント端末)からのアクセスによるログイン処理時に、最新のログイン数Nと、それに対応する種類の上限値Hとの比較により、当該アクセスによるログインを制限するか否か等を判定する。
制限実行部15は、制限判定部14の判定結果に従って、対応するログイン制限を実行する。例えば、アクセス(ログイン)の拒否に対応する応答画面データを画面制御部20により生成させ、クライアント端末へ送信して表示させる。
通信部16は、制限管理部500内の処理部との間で情報を授受する通信を行う。例えば、ログイン処理部13からの指示に従い、通信部16は、制限管理部500内のログイン数N更新部52と通信し、ログイン数Nの情報を授受する。また同様に、通信部16は、制限管理部500内の上限値H設定部53と通信し、上限値Hの情報を授受する。ログイン処理部13は、自サーバにおけるログイン数Nを更新し、また、通信部16により制限管理部500(ログイン数N更新部52)と通信して当該情報を授受する。
PLサーバ(群)100における個別のPLサーバは、通信部16を介して、制限管理部500との間で情報を授受することで、自サーバ、グループ、及び全体における現在時のログイン数Nと、それに対応する上限値Hとを把握できる。この現在時のログイン数Nは、厳密にはリアルタイムの状況を反映した値ではないが、その近似値として把握することができ、問題無く制御に使用できる。
また更に、ユーザ属性単位で制御する形態の場合は、ユーザ属性制御部17を用いて制御する。ユーザ属性制御部17では、ユーザ属性とチャネルやサービス等の要素との対応付けを管理し、ユーザ属性単位でのサービス提供可否判定などを制御する。
画面制御部20は、Webサーバ機能によって、クライアント端末(Webブラウザ等)からの要求に従って、ログイン管理部10、BLサーバ200等を通じて処理された結果に基づいて、応答画面データを生成して、要求元のクライアント端末に送信して表示させる。応答画面データ(ログインやサービスの応答情報)は、保持している画面用ファイル等のデータ(例えばHTML形式)をもとに生成される。クライアント端末では、Webブラウザ等によって、当該応答画面データが表示装置画面に表示され、ユーザが閲覧することができる。画面制御部20は、ログイン制限時に、対応する種類の応答画面データを生成する処理を行う。
<制限管理部>
制限管理部500(制限管理サーバ)は、セッション集中管理部51、ログイン数N更新部52、上限値H設定部53、並びに、セッション管理DB41、制限管理DB42などを備える。
セッション集中管理部51は、PLサーバ(群)100における各セッション管理情報(31と対応関係)をセッション管理DB41に集中的に管理する機能である。各PLサーバ100は、自サーバにおけるセッション管理情報31を、通信部16及び制限管理部500のセッション集中管理部51を介して、セッション管理DB41に読み書きする。または、個別PLサーバ主体でセッション管理する形態の場合は、制限管理部500が各PLサーバ100からセッション管理情報31を取得、収集するようにしてもよい。
ログイン数N更新部52は、セッション管理DB41を参照したり、各PLサーバ100との間で情報を授受したりすることで、PLサーバ(群)100における全体、グループ、及び個別の各ログイン数Nを定期的にチェック(更新)し、またそれらのログイン数Nをチャネル単位やユーザ属性単位でDB(42)に管理し、把握する機能である。
上限値H設定部53は、設定や制御に基づき、チャネル単位やユーザ属性単位でのログイン数Nに係わるそれぞれの上限値Hの情報を設定(更新)する機能である。これにより設定される情報は、制限管理DB42に保持される。
セッション管理DB41は、PLサーバ(群)100における各セッション管理情報(31と対応関係)が集中的に管理されるDBである。制限管理DB42は、PLサーバ(群)100における上記各ログイン数N及び上限値Hの情報(32と対応関係)が総合的に管理されるDBである。
上限値H設定部53は、システム監視部600や設定部700からの制御や設定に基づき、各上限値Hを更新(変更)する。設定部700は、例えばシステム管理者による手動の設定を行う場合に使用されるインタフェースである。
セッション集中管理部51は、ログイン管理部10と通信することで、新規のログイン処理時にはセッション情報を作成してセッション管理DB41に書き込み、また同ユーザのその後のアクセス時には同セッション情報の内容を更新する。また、セッション集中管理部51は、セッション管理DB41内のセッション情報を定期的にチェックして、所定の契機、条件で削除する。例えば、セッション集中管理部51は、セッション管理DB41内の複数のセッション情報のレコードのうち、保持時間(セッション作成・更新日時からの経過時間)が一定時間(例えば10分、20分単位など)を越えたレコードを削除する。このように定期削除しておくことで、当該セッション情報のレコード数を確認するだけで、現在時(最新)のログイン数N(近似値)を把握することができる。
ユーザが正式なログアウト手続きをせずに切断した場合などは、該当のセッション情報のレコードが存在していても当該ユーザがその時ログイン状態であるとは限らない。これについては、アクセス時の単純なカウントだけでなく、上記セッション情報の定期削除などの対処により、ログイン数N(近似値)を把握することができる。
<BLサーバ、DB>
BL層のBLサーバ200において、サービス−BL制御部210は、PLサーバ100側から要求された所定のサービスに対応付けられる業務(BL)処理を制御し、また必要に応じてユーザ属性情報確認処理なども行う。業務モジュール220は、サービス−BL制御部210からの制御に従って、個別の業務処理を実行する。BLサーバ200(サービス−BL制御部210及び業務モジュール220)による処理では、DBサーバ300の業務DB310を読み書きして処理を行い、また、業務DB310内に格納されるユーザ属性情報(Uで示す)を読み書きする。業務DB310は、例えば口座情報DBなどである。
BLサーバ200では、要求されたサービスに対応付けられる業務(BL)処理を実現するために必要となる1つ以上の業務モジュール220が、順次または並列で実行される。また、複数のBLサーバ200の業務モジュール220の連携によりサービスが実現される場合もある。提供サービスの規模にもよるが、あるサービス(例えば証券の売買注文サービス等)を処理するためには、通常、BLサーバ300において、細分化された業務処理を提供する複数のアプリケーションやその上で動作する複数の業務モジュールを、順次もしくは並列的に呼び出して連携させて一連の処理を行う。これにより、規模の大きなサービスについての処理を実現している。
また、ユーザ属性に応じて提供可能なサービスが異なる場合がある。例えば、サービス利用状況(履歴等)に応じて、ユーザ属性が「一般」や「優良」等に分けられ、ユーザ属性が「一般」の場合と「優良」の場合とで異なるサービスを提供するシステムが可能である。
<変形例>
上記PLサーバ100と制限管理部500とにおける、各処理部(機能)の配置や役割分担などの変形例について以下が挙げられる。
ログイン管理部10の中での認証処理部11やチャネル−サービス制御部12などの各処理部による処理の順序は、前後させることも可能である。
本例では制限管理部500でセッション集中管理する形態としたが、個別のPLサーバ主体でセッションを管理する形態としてもよい(セッション集中管理部51やセッション管理DB41が不要)。
また、制限判定部14について、制限管理部500主体に備える形態も考えられる。この場合、制限管理部500から個別PLサーバ100へ制限実行指示を行い、それに従って個別PLサーバ100が制限実行する形となる。
また、ユーザからのアクセスに対して個別PLサーバ100でログイン処理及び制限判定等を行う際に、基本的には制限管理部500(制限管理サーバ)へ情報(セッション管理情報31、ログイン数Nなど)の授受のアクセスを行うことになるが、アクセス発生の都度、当該制限管理部500へのアクセスを行うと、その処理負荷が大きくなり過ぎることが懸念される。そのため、その効率化のための処理例としては、当該PLサーバ100から制限管理部500へのアクセスを適宜省略する形とする。即ち、制限管理部500へは時間的に一定間隔以上でアクセスするようにし、当該アクセス単位でまとめて情報を授受、更新することで、当該処理負荷を減らすことができる。例えば、PLサーバ100は、自サーバ内に、制限管理部500に前回アクセスして処理した時のログイン数Nや上限値Hなどの情報を保持しておく。新規のユーザアクセスに対する制限判定の際には、この保持しておいた直近の近似値を使用する。なお、この場合、リアルタイムでの正確な数値は把握できないが、近似的な数値は把握できるので、本制御のためには十分である。
<処理(1):ログイン処理>
次に、図4は、本システムにおけるログイン処理の処理シーケンスを示している(Sは処理ステップ等を示す)。なお、認証処理やサービス−BL処理など、公知技術による処理については省略して説明する。
ユーザのクライアント端末は、ログイン画面(後述、図7)にアクセスする。ログイン画面から、所定のサービスの利用のために、ユーザは、必要なログイン情報を入力し、ログイン動作を実行する。これに対応して、クライアント端末は、所定のチャネル(URL)で、ログイン要求(セッション確立要求)の情報をPLサーバ100へ向けて送信する(S401)。ログイン要求情報には、例えば、URL(またはチャネルID),ユーザID(またはクライアント端末ID),パスワード(PWD)等の情報が含まれる。このログイン要求情報は、LB1(401)を介して、所定のチャネルに対応付けられたアドレスのPLサーバ100へ送信される。
ログイン要求情報を受信したPLサーバ100では、ログイン管理部10により、認証、チャネル−サービス制御、及びログイン制限判定・実行等を含むログイン処理を行う。当該ログイン要求情報に対して、認証処理部11により、デジタル証明書による認証などの所定の認証処理を行う。この認証処理を含むログイン処理では、PLサーバ100からBLサーバ200へ要求情報(ユーザID等を含む)を送り、BLサーバ200を経由してDBサーバ300(DB310)内のユーザ属性情報(U)なども参照して判断する(S402)。BLサーバ200では、例えば、要求情報のうちのユーザIDをキーとして、業務DB310から、パスワードやユーザ属性情報(U)などを取得する。BLサーバ200からPLサーバ100への応答情報には、URL(チャネルID),ユーザID,PWD,ユーザ属性情報(U)などが含まれる。PLサーバ100では、クライアント端末からの受信パスワードと、BLサーバ200からの取得パスワードとを照合することによって判定する。
また、上記認証処理に伴い、チャネル-サービス制御部12及びユーザ属性制御部17では、PLサーバ100のWebサーバ機能によってクライアント端末から受け付けたアクセス(要求情報)のチャネル(URL)を識別し、当該チャネル単位のPLサーバ100における当該ユーザが利用可能なサービスの提供可否などを、チャネル−サービス管理情報33及びユーザ属性情報(U)を参照して判断する(S403)。
上記認証を正常に通過した場合、ログイン処理部13及び制限判定部14等により、特徴的なログイン制限判定等を行う。制限判定部14では、当該最新のログイン要求に係わりカウントした、当該PLサーバ100(グループ等)のチャネル単位における現在時(直近)のログイン数Nを、対応する種類の上限値Hと比較する(S404)。この際、制限管理情報32または制限管理DB42におけるログイン数Nや上限値N等の情報を参照する。そして、当該上限値H未満であれば、当該ログイン(即ちセッション確立)を許可し、当該上限値H以上であれば、当該ログインを拒否する。
当該ログインを許可した場合、ログイン管理部13により、対応するセッション管理情報31のレコードを作成または更新等する(S405)。このセッション管理情報31には、セッションID、チャネルID(URL)、ユーザID、セッション属性等の情報を含む。セッションIDは、例えばチャネル−サービス制御部12によって付与される。また、必要に応じて、そのセッション管理情報31を、通信部16を通じて、制限管理部500のセッション集中管理部51により、セッション管理DB41に書き込む。一方、許可の結果に基づき、画面制御部20により、所定の応答画面データを生成して、セッションID等の情報を加えて、要求元のクライアント端末へ送信する。
当該ログインを拒否した場合、制限実行部15により、当該チャネルやユーザ属性に応じて適用する特定の種別の制限を実行する。画面制御部20により、制限の種別に応じた所定の応答画面データを生成して、要求元のクライアント端末へ送信する(S406)。応答画面の例は後述する。
上記ログイン成功以降の当該ユーザのサービス利用については、当該PLサーバ100のログイン管理部10(チャネル−サービス制御部12など)によって、当該セッションIDを用いることで、当該ユーザのサービス利用のためのセッションを特定する。
<処理(2):サービス処理>
図5を用いて、上記ログイン成功以後、当該セッション(セッションID)において、ユーザがクライアント端末から本サーバシステムにアクセスして所望のサービスを利用する際のサービス処理制御の例について説明する。クライアント端末のサービス画面(後述、図8)からユーザが所望のサービスのメニュー項目を選択して、サービス要求動作を実行する。これに対応して、クライアント端末から所定のチャネルで、サービス要求情報がPLサーバ200へ向けて送信される(S501)。
PLサーバ100は、クライアント端末からのサービス要求をLB1(401)を介して受信する。このサービス要求には、URL(チャネルID)、サービス情報(サービス名またはサービスIDなど)、セッションIDなどの情報が含まれている。
サービス要求を受信したPLサーバ100では、ログイン管理部10において、チャネル−サービス制御部12及びユーザ属性制御部17などにより、チャネル−サービス管理情報33、ユーザ属性情報(U)、セッション管理情報31などの内容に従って、当該チャネルで当該ユーザが利用対象とするサービスの提供可否を判断する。例えば、チャネル−サービス制御部12は、チャネル−サービス管理情報33を参照して、サービス要求における当該URLからチャネル(チャネルID)を識別し、当該URL(チャネルID)をキーとして、当該チャネルの利用可否を判断する。また、当該チャネルが利用可能な場合、チャネル−サービス制御部12は、当該チャネルに関する当該ユーザが利用対象とするサービスを識別する(S502)。そして、セッション管理情報31に基づき、当該セッションIDをキーとして、セッション属性などの情報を取得する(S503)。そして、当該セッション属性などの情報を用いて、当該サービスの提供可否を判断する。
当該チャネルでの当該ユーザの当該利用対象サービスの提供が可能である場合、チャネル−サービス制御部12は、当該サービスに対応付けられる業務処理を行うBLサーバ200を呼び出して当該業務処理を依頼する。また、当該利用対象サービスが外部システムによって提供される外部サービス(例えば金融サービス会社によって提供される株価情報サービス)である場合には、外部連動機能により、当該外部サービスに対して処理を依頼して連携することによって、同様にサービスを実現する。
PLサーバ100からのサービス要求が、当該サービス(業務処理)を処理するBLサーバ200に送信される。サービス−BL制御部210では、要求されたサービス(業務処理)が実行可能な場合には、必要となる業務モジュール220を処理シーケンスに従って呼び出して実行する。その各業務モジュール220では、必要に応じてDBサーバ300の業務DB310にアクセスしてデータを読み書きすることで、当該業務処理を実行する(S504)。その際、業務DB310内のユーザ属性情報(U)も必要に応じて参照、更新される。そして、当該セッションにおいて、当該サービス(業務処理)の処理結果を含む応答(サービス処理結果応答)を、BLサーバ200からPLサーバ100に送信する(S505)。この応答の際には、業務DB310内のユーザ属性情報(U)またはそれをもとに作成した情報などを含めて送信してもよい。
PLサーバ100は、BLサーバ200からの応答情報に基づき、チャネル−サービス制御部12により、セッション管理情報31の該当レコードを更新する(S506)。該当レコードの更新日時のタイムスタンプを現在時刻で更新する。そして、画面制御部20により、サービス処理結果などの情報を含む応答画面データを生成して、クライアント端末へ送信する(S507)。
上記処理中、該当チャネルが利用不可であると判定された場合や、該当サービスが提供不可であると判定された場合は、それ以降の後段のサーバ等へのアクセスは行わずに、例えば、画面制御部20により、チャネル利用不可の旨の情報あるいはサービス提供不可の旨の情報を含む応答画面データを生成し、クライアント端末に送信する。
また例えば、サーバの不定期のメンテナンス等や、障害の時など、一時的に該当サーバでのサービスを提供不可にするような場合は、チャネル−サービス管理情報33の該当サーバのサービスのエントリの情報を管理者やコンピュータ処理等によって変更することで対処できる。
また例えば、障害等を契機として、特定のチャネルのサービスをチャネル単位で一時的に利用不可とするような場合、チャネル−サービス管理情報33の該当チャネルのエントリの利用可否の項目の値を「否」に変更することで対処できる。
<応答画面>
次に、図6は、クライアント端末に対する応答画面の表示の遷移例を示している。図7〜図9は対応する各画面の表示例を概略的に示している。クライアント端末(Webブラウザ等)から本サーバシステムの提供するWebサイト等へアクセスする。通常時、クライアント端末からのアクセスに対し、(A)のような、標準のメイン画面またはログイン画面を表示させる。(A)の画面から、ユーザによるログイン情報(ユーザID,パスワード等)の入力により、ログイン要求を受け付ける。ログイン要求に対し、PLサーバ100では、前記ログイン処理(図4)を行う。それにより、ログイン許可(成功)された後、クライアント端末に、(B)のような、標準のサービス画面(メニュー画面)を表示させる。(B)の画面から、ユーザがサービス(対応メニュー項目)を選択実行することにより、サービスを提供する。PLサーバ100及びBLサーバ200を通じて前記サービス処理(図5)を行い、(C)のような、サービス応答画面をクライアント端末に表示させる。
図7に示す(A)は、Webサイト等のメイン画面、またはログイン画面、またはメイン画面の中に含まれるログイン画面などである。
図8に示す(B)のメニュー画面1(サービス画面)は、当該チャネルで利用可能なサービスのメニュー項目が表示される。(B)のメニュー画面1の中から、ユーザが所望のサービス項目を選択して、サービス要求を実行する。サーバシステム側で判定やサービス処理が行われ、応答画面データが返されることにより、(C)のサービス応答画面へ移る。(C)のサービス応答画面では、サービス選択結果あるいはサービス処理結果などの情報が表示される。
PLサーバ100でログイン拒否した場合、ログイン制限の適用の種別に対応した所定の応答画面データを生成して、ユーザのクライアント端末へ送信する。以下の例がある。クライアント端末(Webブラウザ等)から、(A)の画面にアクセスしようとした際、特定の種類の制限の実行(a:ログイン画面非表示)により、(D)のメッセージ画面に移る。
図9に示す(D)のメッセージ画面では、例えば現在混雑中のため本システムのサービスが利用できない旨のメッセージが表示され、(A)のログイン画面は表示されない。よって、ユーザによるログイン情報入力操作自体が不可能である。(D)の画面は、標準的な(A)の画面との差し替えである。ユーザにログイン情報入力の手間をかけさせず、ログイン要求による負荷を減らす効果がある。
また、(A)のログイン画面から、ログイン情報入力によるログイン要求により、サーバシステム側のログイン処理を経て、ログイン拒否(失敗)された場合(b:ログイン拒否)、(E)のログイン失敗(拒否)画面へ移る。(E)の画面では、例えば現在混雑中のためログインができなかった旨(あるいはログイン不可能である旨)のメッセージが表示される。この場合、例えば「戻る」ボタンの操作により、(A)のログイン画面に戻ることができ、ユーザは再度のログイン情報入力によりログイン要求を試行することができる。しかしながら、状況に応じて同様の制限が実行された場合は再度ログイン拒否されることになる。
また、(A)のログイン画面から、ログイン情報入力によるログイン要求により、サーバシステム側のログイン処理を経て、所定の制限付きでログインが許可(成功)された場合(c:ログイン許可(制限付き))、(F)のメニュー画面2(サービス画面)に移る。(F)の画面では、基本的には(B)の画面と同様の表示内容になるが、(B)の画面と比べて、当該ユーザが利用可能なサービスのメニュー項目が、状況に応じた特定の項目に限定、減少される。ユーザは、(F)の画面で表示されているメニュー項目のみ選択して実行することができる。
この場合、ログイン要求に対し、PLサーバ100では、その時点で当該ユーザのユーザ属性が利用可能なサービスを判断する処理を行い、当該利用可能なサービスのメニュー項目のみを含んだ(F)の画面を表示させるように、画面制御部20等により処理する。また例えば、(F)の画面では、サービス時間情報に基づいて、当該サービスの提供可能な時間帯毎に区分けされた形でサービス名やサービス提供時間の一覧が表示されるようにしてもよい。
この処理例としては、前記ログイン処理(図4)またはサービス処理(図5)の際などに、チャネル−サービス制御部12などにより、チャネル−サービス管理情報33や現在時刻などに基づいて、当該ユーザ属性に対して現時点で提供可能なサービスの一覧の情報(サービス名、サービス時間帯など)を取得する。そして、この情報に基づいて、ログインしたユーザが現在利用可能なサービス、及びその利用可能時間帯などの情報を、ログイン成功後のサービス画面に表示させるように制御する。
この場合、ユーザは、あるサービスに関して実際にサービス利用要求を実行せずとも、(F)の画面を見ることで、当該サービスが利用可能か否か等を知ることができる。
<データ>
以下、本サーバシステムにおいて使用、管理する各種のデータ・情報の構成例(テーブル)について説明する。なお、これらのデータ・情報の実装方法としては、データベースやファイル、メモリテーブルなど種々のものが可能である。各テーブルのデータ項目は一例であり、他のデータ項目を有してもよい。各テーブルは分割したり1つにまとめることも可能である。
<データ:チャネル−サービス管理情報>
図10は、チャネル−サービス管理情報33の構成例を示している。チャネル−サービス管理情報33において、チャネル(URL)、サービス、PLサーバ100等の要素の対応付けが定義されている。チャネル−サービス管理情報33は、チャネルID、URL、提供サービス情報、PLサーバ情報、BL情報、チャネル属性(利用可否)、サービス属性(提供可否)、サービス時間帯などの項目を有する。
チャネルIDやURLは、ユーザがクライアント端末から本サーバシステムにアクセスする際に使用するチャネルやURLを示す。チャネルID及びURLは、チャネル毎に異なる値が設定される。提供サービス情報は、当該チャネルに対応付けられるサービスに関する、サービスIDまたはサービス名などの情報である。1つのチャネルに対して複数のサービスが対応付けられる場合は、複数のレコードが設定される。
PLサーバ情報は、当該サービスを受け付けるPLサーバの情報であり、例えばグループの種別(グループID)や、個別PLサーバIDなどである。BL情報は、当該サービスを構成する1つ以上の業務(BL)処理の情報(BL−ID等)や、その処理シーケンスの情報である。
チャネル属性(利用可否)の情報は、対応するチャネル(URL)が現在利用可能か否かの状態などを表す。例えば、障害等により、優先度の低い特定のチャネルをチャネル単位で利用不可とするような場合には、当該利用可否の値を「否」に設定する。
サービス属性(提供可否)の情報は、対応するサービスが提供可能か否かの状態などを表す。
サービス時間帯の情報は、当該サービスを提供可能とする時間帯を示す。例えば24時間や、特定時間、一定期間の日時などである。また例えばサーバの不定期のメンテナンス等や障害等により、当該サービスの提供時間を一時的に変更、制限する場合などに、この項目の値を変更して対処できる。なお、ログイン制限を発生させる場合は、本来サービス時間帯であってもサービス提供が一時停止されることになる。
<データ:セッション管理情報>
図11は、セッション管理情報31(またはセッション管理DB41)の構成例を示している。セッション管理情報31は、セッションID、セッション属性、ユーザIDまたはクライアント端末ID、ユーザ属性、チャネルIDまたはURL、及び更新日時(ログイン日時)などの項目を有する。
セッションIDは、セッションを識別するIDであり、ユーザのクライアント端末から本サーバシステムへのログインの成功により確立されたセッションを特定するために割り振られる。セッション属性は、当該セッションのユーザのユーザ属性やチャネルなどに応じて決定される、セッションの属性を表す。例えば適用される制限の種別や状態などに対応した値が設定される。
ユーザIDは、本サーバシステムにログインして当該セッションを確立したユーザを識別するIDである。クライアント端末IDは、当該ユーザのクライアント端末を識別するIDである。ユーザ属性は、ユーザの属性を表す情報であり、例えば、サービス利用状況(履歴)などに応じて、「優良」、「一般」などの値が設定される。
チャネルID及びURLは、当該セッションが確立された際に経由してきたチャネルやURLを表す。更新日時は、本セッション管理情報31における当該セッションのエントリ(レコード)が更新(新規作成を含む)された日時(タイムスタンプ)である。最初のログイン時にセッションのエントリが新規作成され、二度目以降のログイン時には当該セッションのエントリの内容が更新される。更新日時の情報は、セッションの活性状態(ログイン数N)を把握するために使用される。セッション管理情報の定期チェック・定期削除処理により、当該更新日時の情報が参照され、一定の経過時間などの単位で削除される。
<データ:制限管理情報>
制限管理情報32(制限管理DB42)の構成例は以下である。
図12は、制限管理部500の制限管理DB42における、PLサーバ(群)100のログイン数Nや上限値Hに関する管理情報の例を示す。本テーブルにおいて、PLサーバ情報、URL(アドレス)、提供サービス、ログイン数N、上限値Hなどの項目を有する。
PLサーバ情報は、PLサーバグループ種別や、その個別PLサーバID等である。例えば、PL01−01は、第1グループのうちの第1PLサーバである。URL(アドレス)は、当該PLサーバ(グループ)のURL(アドレス)である。提供サービスは、当該PLサーバ(グループ)で提供するサービスのサービスID等である。ログイン数Nは、当該PLサーバ(グループ)の単位における現在時のNのカウント値である。上限値Hは、当該ログイン数Nに対応付けられる種類(同単位)のしきい値である。
個別PLサーバ100が保持するN,Hに関する制限管理情報32は、上記制限管理DB42の一部と同様の情報である。
図13(a)は、図12のDB(42)と関連付けられる、チャネル単位の制限管理情報32の例を示す。チャネル単位の制限管理情報32において、チャネル(チャネルID)毎に、PLサーバ情報(グループ種別等)、提供サービス情報、制限属性、上限値H、等の項目を有し、所定の設定値が割り当てられる。
制限属性は、当該チャネルに対して適用される制限の種別あるいは制御方法の種別や、その時点で適用されている制限の状態などの情報が設定される。例えば、0は非適用(通常)、1(X)は、最優先である(例えば固定優先的に許可されるチャネルやユーザ属性に対応)。2(Y)は、2番目に優先である(例えば「優良」ユーザ属性に対応し、2番目に制限される)。3(Z)は、3番目に優先である(例えば「一般」ユーザ属性に対応し、最初に制限される)である。
上限値Hは、当該チャネル単位に対応付けられるPLサーバグループ等の単位で換算された上限値Hの設定値である。
図13(b)は、図12のDB(42)と関連付けられる、ユーザ属性単位の制限管理情報32の例を示す。図13(a)のチャネル単位の制限管理情報32と同様に、ユーザ属性毎に、制限属性、上限値H等の項目を有し、所定の設定値が割り当てられる。
上限値Hは、当該ユーザ属性に対応付けられるPLサーバグループ等の単位で換算された上限値Hの設定値である。
なお、本例では、ユーザ属性について、簡単に「優良」と「一般」等に分けているが、より細かく多段階に分けて制御しても構わない。
チャネルやユーザ属性等の単位で多段階的に制限制御する場合、上記上限値Hの項目については制御段階に応じた複数の上限値Hの項目を管理してもよい(例えば後述のH1,H2)。
なお、第3の制御方法の場合、図13(a)のチャネル単位の制限管理情報32と、図13(b)のユーザ属性単位の制限管理情報32との両方を1つにまとめて、チャネルIDとユーザ属性が対応付けられた形の管理情報を用いる。
<制御例(1)>
本システムの基本的な制御例は以下である。状況に応じて柔軟に上限値Hの設定を変化させることにより、例えば突発的なアクセス数の急増などの事態に対しても対処する。上限値Hの設定では、例えばシステム管理者等により設定部700を用いて手動で情報入力・設定することにより変化させる。あるいは、所定の予測プログラム等を用いたコンピュータ処理(システム監視部500)により、自動的に上限値Hの設定を変化させる。
状況の例として、ある日時に、株価の変動などを起因として、あるチャネルでの情報閲覧サービス等へのアクセス数やログイン数が急増傾向にあることを、管理者(あるいは予測プログラム等)により認識、検出する。そして、管理者(あるいは予測プログラム等)は、それ以後の時間における同チャネルでのアクセス数やログイン数の更なる増大を予測する。これにより、管理者(あるいは予測プログラム等)は、例えば、当該チャネルの上限値Hの設定値を適切に設定または更新する。過去の経験などに基づいて、予め当該上限値Hを設定しておいてもよい。
例えば図1の例のように、PC利用の「一般」属性ユーザdのログイン数Nを、対応上限値Hを小さく設定しておくことで大きく制限し、一方、「優良」属性ユーザa,bのログイン数Nについては制限しないように制御する。
また例えば、各上限値Hを通常時よりも上げたり、下げたりして調整してもよい。例えば、上限値Hを上げた場合、その分システムの性能やリソースが必要になるので、他のチャネルのPLサーバ100や、予備のPLサーバ等を有効状態にしたり、他のチャネルのPLサーバ100の上限値Hを下げること等によって、性能やリソースを調整する。
<制御例(2)>
図14は、単純にチャネル単位で判定する第1の制御方法の場合のログイン数Nの推移例である。横軸は時間、縦軸はあるチャネルXでの所定のサービス(例えば情報閲覧サービス)の提供におけるログイン数Nの推移である。当該チャネルXのユーザの中には、ユーザ属性が「優良」のユーザ2、及び「一般」のユーザ3を含むとする。第1の時間帯T1に、アクセスの急増、即ちログイン数Nの急増となっている。第1の時間帯T1では、制限状態としては、何ら制限無し(制限0)であり、全ユーザがログイン許可される。時刻t1で、ログイン数Nが、上限値HX(HX<H0)に達したとする。これにより、第2の時間帯T2では、制限状態としては、所定の制限(制限1)が実行され、ユーザのうち「優良」ユーザ2及び「一般」ユーザ3がログイン拒否され、当該チャネルXのログイン数Nは、上限値HX未満に抑制される。よって、全体の複数のチャネルのうち当該チャネルX以外のチャネルではログイン数に余裕がある。
この制御例では、ユーザ属性単位では制限していない。当該チャネルXのログイン数Nのうち、例えば「優良」ユーザ2と「一般」ユーザ3の割合の実態は様々なケースが考えられる。例えば最初は実際の割合がユーザ2−ユーザ3で50%−50%程度であったが、「一般」ユーザ3のアクセスの急増により、上限値HXに達した時点t1では、割合が例えば10%−90%程度に変化していたとする。この場合、「優良」ユーザ2へのサービスが圧迫されている。よって、本システムでは、例えば「優良」ユーザ2へのサービスを確保または向上したい場合は、後述のユーザ属性単位の制御を用いて、「優良」ユーザ2よりも「一般」ユーザ3への制限を強くする。
<制御例(3)>
また上記に追加する制御例として、以下の制限解除機能がある。これは、所定のしきい値(下限値L)を用いて、制限の解除に関する判定、及び当該解除の実行を制御するものである。上記制御例で、時刻t1で上限値HXに達することで当該チャネルXのログイン制限が開始され、ログイン数Nが横這いまたは減少傾向となるが、例えば、Nの減少により、上限値HXよりも小さい所定の下限値LX(HX>LX)を下回ったとする。この時、PLサーバ100では、当該チャネルXのログイン制限を解除、即ちログインを許可し始める。これにより、それ以降、Nが横這いまたは増加傾向となる。その後は同様に、上限値HX及び下限値LXを用いて制限の実行を制御する。この機能を用いることで、例えば、上限値Hにより制限(例えば前記(D)の画面への差し替え)を開始した後、ログイン数Nをある程度下げてシステムの負荷を十分に下げた状態になってから、下限値Lにより再度サービスを提供し始めるといった制御が可能となる。
<制御例(4)>
本システムにおけるログイン制限の制御例(ユーザ属性単位を考慮する場合)は以下である。本制御例は、ログイン数Nによる制限効果の大小と、ユーザ属性の優先度の違いとを考慮する場合である。ログイン数Nが多いユーザほど制限した場合の効果が高いので、先に制限(強く制限)するようにする。またユーザ属性が「優良」のユーザの方を優先度を高く(即ち制限を弱く)、ユーザ属性が「一般」のユーザの方を優先度を低く(即ち制限を強く)する。
上記考え方に対応した、2段階のログイン制限の制御方法を以下に示す。これは、チャネル単位及びユーザ属性単位で判定する制御方法であり、2つのしきい値(第1上限値H1,第2上限値H2,H1<H2)を用いて、時間軸上で異なる種類の制限を順に適用するものである。本制御例では、ユーザ属性、チャネル、PLサーバグループ、サービスを所定に対応付け、例えば、ユーザ属性2(優良),3(一般)毎に別の系列でサービスを提供するものとする。相対的に、ユーザ属性2(優良)の優先度を高く、ユーザ属性3(一般)の優先度を低く扱う。
図15は、本制御例におけるログイン数Nの推移例である。縦軸は、ユーザ属性2(優良)とユーザ属性3(一般)とを合わせたユーザに関する所定のチャネルでの所定のサービス(例えば情報閲覧サービス)の提供におけるログイン数Nである。実線の曲線におけるログイン数Nは、各ユーザ属性2,3毎のログイン数N2,N3を合わせたものである。破線の曲線におけるログイン数Nは、ユーザ属性3のログイン数N3を示す。
最初、第1の時間帯T1では、制限状態としては、何ら制限無し(制限0)であり、全ユーザがログイン許可される。そして、T1では、何らかの理由で、PLサーバ100へのアクセス、即ちログイン数Nが増加している状況である。例えば株価の変動により情報閲覧サービスへのアクセスが急増する場合などが考えられる。実態としては、例えば、ユーザ属性2,3ともにアクセス増加傾向であるが、特に不特定多数のユーザ属性3(一般)のアクセスが急増しているとする。
時刻t1で、ログイン数N(N2+N3)が、まず第1上限値H1に達したとする。H1は、N(N2+N3)に対応したチャネル単位のしきい値である。これにより、第2の時間帯T2では、制限状態としては、所定の制限(制限1)が実行され、ユーザのうち、まず優先度が低く数の多いユーザ属性3(一般)から先に制限開始(ログイン拒否)される。一方、ユーザ属性2(優良)はログイン許可されるままである。
t1以降の第2の時間帯T2において、制限1の状態により、例えば、ユーザ属性3(一般)のログイン数N3はH1未満となる。ユーザ属性3(一般)の新規のログインを拒否し続ければ、ログイン数N3は下降傾向となる。一方、ユーザ属性2(優良)は許可されているので引き続きログイン数N2が増加しているとする。
時刻t2で、ログイン数N(N2+N3)が、第2上限値H2に達したとする。H2は、N(N2+N3)に対応したチャネル単位のしきい値である。これにより、第3の時間帯T3では、制限状態としては、所定の制限(制限2)が実行され、ユーザのうち、ユーザ属性3(一般)に加えて、優先度が高く数の少ないユーザ属性2(優良)についても制限開始(ログイン拒否)される。当該チャネルのログイン数N(N2+N3)は、上限値H2未満に抑制される。
よって、全体のチャネルのうち当該チャネル以外のチャネルではログイン数に余裕があり、かつ、多数の「一般」ユーザのアクセスにより「優良」ユーザへのサービスが圧迫されることなくサービスの品質が確保されている。
上記しきい値(H1,H2)の大きさは、各ユーザ属性のアクセス数の予測や経験などに基づき適宜設定される。例えば、上記N(N2+N3)に関するH1が4000、H2が5000といった具合である。
なお上記例のt1以降のT2で、ユーザ属性2(優良)のアクセスによるログイン数N2が増加しなかった場合は、N(N1+N2)は下降するので、この場合、再度ユーザ属性3(一般)のログインを受け入れることもできる。この場合、随時、H1を用いて同様に判定及び制限が行われる。
また上記で前述の制限解除機能を用いることができる。H1,H2に対応した各下限値L1,L2を用いる。例えば、上記t1でH1に達して制限開始された後、N(N1+N2)が下降した場合、Nが下限値L1を下回った場合に制限解除され、再び、N(N1+N2)が増加可能となる。即ち、ユーザ属性3(一般)のユーザもログイン可能になる。H2,L2でも同様である。
上記制御例については、他にも例えば、第1段階では第1チャネル(第1サービス)のログイン数Nを制限開始し、第2段階では加えて第2チャネル(第2サービス)のログイン数Nを制限開始する、といったことも同様に可能である。
上記制御例についての管理情報は、例えば制限管理DB42で管理され、そのテーブルにおいて、各チャネル(PLサーバグループ、図2)のサービスにおけるログイン数N(上限値H)の割合(数)の情報や、制限属性(ユーザ属性)、第1上限値H1、第2上限値H2などの項目を有するものとなる。例えば、N(H)の割合(数)の情報は、PLサーバ100全体が100%(1万)、第1PLサーバグループに対して20%(2千)、等である。即ち、第1PLサーバグループ対応のチャネル及びサービスに対しては、全体(最大リソース)のうち20%(2千)までのログイン数Nを許容するようにリソースが確保される。
<システム監視部、上限値H更新機能>
次に、システム監視部600等を用いて上限値Hを更新する機能について説明する。システム監視部600を用いて、システムの状況(性能や負荷など)を監視、検知し、その結果に応じて、ログイン制限制御のしきい値である上限値Hの設定値を随時更新(調製)して制御するものである。
システム監視部600は、本サーバシステムを監視し、性能や負荷などを把握する。システム監視部600は、PLサーバ(群)100やBLサーバ(群)200を監視し、例えば、CPU利用率、ターンアラウンドタイム、重要なトランザクション(例えば株式の売買注文、約定(売買取引成立))の件数などの情報(性能や負荷を示す情報)を計算、取得等する。例えば所定のトランザクションの件数が多い場合とは、特定のチャネルのサービスの負荷が高いことと対応している。
これらの監視結果(性能や負荷の状態)を、前述したログイン制限制御の内容に反映する。システム監視部600は、監視結果情報に基づき、制限管理部500(上限値H設定部53)にアクセスして、上限値Hの設定値を更新する。あるいは、上限値H設定部53がシステム監視部600にアクセスして監視結果情報を取得して上限値Hを更新してもよい。
システム監視部600による自動的なしきい値の更新の制御例として以下である。例えばある時点でのシステムの性能や負荷の状態として、ある第1のチャネルのサービスでは負荷が高く性能が低下した状態であり、相対的に、ある第2のチャネルのサービスでは負荷が低く性能が上昇した状態であるとする。この場合、第1のチャネルのサービスに対するログイン数Nの上限値Hを少し下げると共に、第2のチャネルのサービスに対するログイン数Nの上限値Hを少し上げるように調整する。全体の上限値H0は同じに維持し、個別の上限値Hの割合を変化させる。
また他の制御例として、時間軸上で未来の時点のログイン数Nを予測することにより、上限値Hを決めて更新してもよい。例えば、実測値として、あるチャネルやユーザ属性のサービスにおけるログイン数Nが時間的に急増するような所定の形の曲線であった場合、他のチャネルやユーザ属性、他の時間帯などについても、類似の形の曲線で急増することが予測できる。この予測に従って、上限値Hを決めて更新する。
以上説明したように、本実施の形態のサーバシステムでは、特徴的な構成として、主にPLサーバ100のログイン管理部10と、制限管理部500とによって、チャネル単位及びユーザ属性単位でのサービス制御に伴うログイン制限を制御している。これにより、システムの性能や負荷を調整し、応答画面によってユーザに対して適切な応答を行って対処することができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明は、Webによってサービスを提供するサーバシステムなどに利用可能である。
本発明の一実施の形態であるサーバシステムの構成概要を示した図である。 本実施の形態におけるチャネルやサーバの対応付けの構成例を示した図である。 本実施の形態における各サーバの内部詳細構成例を示した図である。 本実施の形態におけるログイン処理の処理シーケンスを示した図である。 本実施の形態におけるサービス処理の処理シーケンスを示した図である。 本実施の形態におけるクライアント端末への応答画面の遷移の例を示した図である。 本実施の形態における応答画面の例(A)(ログイン画面)を示した図である。 本実施の形態における応答画面の例(B)(サービス画面)を示した図である。 本実施の形態における応答画面の例(D)(メッセージ画面)を示した図である。 本実施の形態におけるチャネル−サービス管理情報の構成例を示した図である。 本実施の形態におけるセッション管理情報の構成例を示した図である。 本実施の形態における制限管理DBの構成例を示した図である。 本実施の形態における制限管理情報の構成例を示した図でり、(a)はチャネル単位の制限管理情報、(b)はユーザ属性単位の制限管理情報である。 本実施の形態における制御例(その1)におけるログイン数Nの時間的な推移の例を示した図である。 本実施の形態における制御例(その2)におけるログイン数Nの時間的な推移の例を示した図である。
符号の説明
10…ログイン管理部(セッション管理部)、11…認証処理部、12…チャネル−サービス制御部、13…ログイン処理部(セッション処理部)、14…制限判定部、15…制限実行部、16…通信部、17…ユーザ属性制御部、20…画面制御部(応答制御部)、31…セッション管理情報、32…制限管理情報、33…チャネル−サービス管理情報、41…セッション管理DB、42…制限管理DB、51…セッション集中管理部、52…ログイン数N更新部、53…上限値H設定部、90…通信ネットワーク、100…PLサーバ、200…BLサーバ、210…サービス−BL制御部、300…DBサーバ、310…DB(業務DB)、401…第1の負荷分散装置(LB1)、402…第2の負荷分散装置(LB2)、500…制限管理部(制限管理サーバ)、600…システム監視部、700…設定部、N…ログイン数、H…上限値、U…ユーザ属性情報。

Claims (9)

  1. プレゼンテーションロジック層の複数の第1のサーバ、ビジネスロジック層の複数の第2のサーバ、及びデータベース層の第3のサーバを有し、複数のユーザのクライアント端末からの通信ネットワークを介したアクセスに対し、前記第1のサーバを介して、前記第2及び第3のサーバによって処理されるサービスを前記クライアント端末に提供するサーバシステムであって、
    前記第1のサーバは、前記ユーザのクライアント端末からの所定のチャネルでのアクセスに対して、認証処理を含む、当該クライアント端末との間のセッションの確立に係わるログイン処理を行い、確立されたセッションで、当該クライアント端末からの要求に応じて、当該チャネルに応じた所定のサービスの処理を前記第2のサーバに要求して、前記第2のサーバにより前記第3のサーバのデータベースを読み書きして当該サービスを構成する業務処理を行わせ、その結果に基づき、応答画面データを生成して前記クライアント端末に送信して表示させる処理を行い、
    前記ユーザのクライアント端末からの所定のチャネルでのアクセスは、Web、コールセンタ、及び営業店を含む複数の種類を有し、
    前記第1のサーバは、
    前記チャネルとサービスと業務処理との対応付けの情報と、
    前記セッションに関するセッション管理情報と、
    前記複数の第1のサーバと複数のユーザのクライアント端末との間の複数のチャネルでの複数のセッションに関する現在または直近のログイン数の情報と、
    前記ログイン数に関する判定用のしきい値である、前記チャネル単位での前記ログイン数の上限値の情報と、を保持し、
    前記第1のサーバは、
    前記クライアント端末からのアクセスに対する前記ログイン処理の際に、前記チャネル単位でのログイン数と前記しきい値である当該チャネル単位でのログイン数の上限値とを比較し、当該ログインを制限するかの判定を行う第1の処理と、
    前記判定に従い、前記ログインの制限を実行し、当該制限に対応する前記応答画面データを生成して前記クライアント端末へ送信して表示させる第2の処理と、を行い、
    前記第1のサーバは、前記クライアント端末からのアクセスに対する前記ログイン処理の際に、前記第1の処理で当該チャネル単位でのログイン数が当該上限値以上の場合は、前記第2の処理で当該ログインを拒否するように制限し、
    前記第2のサーバは、前記サービスを構成する業務処理の際に前記第3のサーバのデータベースに対して当該ユーザの属性の情報を読み書きし、
    前記ユーザの属性として、優良と一般との少なくとも2種類を有し、
    前記第1のサーバは、前記チャネルと属性との対応付けの情報を保持し、
    前記第1のサーバは、前記ユーザのクライアント端末からのアクセスに対し、当該ユーザのチャネルに対応付けられる属性に応じた所定のサービスを提供し、
    前記しきい値として、前記ユーザのチャネルに対応付けられる属性の単位での前記ログイン数の上限値の情報を有し、
    前記第1のサーバは、前記クライアント端末からのアクセスに対する前記ログイン処理の際に、当該ユーザのチャネルに対応付けられる属性の単位でのログイン数が当該上限値以上の場合は、当該ログインを拒否するように制限し、
    前記第1のサーバは、前記優良のユーザに対する前記制限を弱く、前記一般のユーザに対する前記制限を強くするように制御すること、を特徴とするサーバシステム。
  2. 請求項1記載のサーバシステムにおいて、
    前記複数の第1のサーバに接続される制限管理部を有し、
    前記制限管理部は、
    前記複数の第1のサーバと通信して情報を授受することにより、
    前記複数の第1のサーバと複数のユーザのクライアント端末との間の複数のチャネルでの複数のセッションに関する現在または直近のログイン数の情報と、
    前記ログイン数に関する判定用のしきい値である、前記チャネル単位での前記ログイン数の上限値の情報と、前記複数のチャネルを含む全体の単位での前記ログイン数の上限値の情報と、を管理する処理を行うこと、を特徴とするサーバシステム。
  3. 請求項1記載のサーバシステムにおいて、
    前記第1のサーバは、前記クライアント端末からのアクセスに対する前記ログイン処理の際に、当該ログインを拒否するように制限する場合、前記クライアント端末への応答画面データとして、ログイン情報を入力可能なログイン画面を表示させないように制御すること、を特徴とするサーバシステム。
  4. 請求項1記載のサーバシステムにおいて、
    前記第1のサーバは、前記クライアント端末からのアクセスに対する前記ログイン処理の際に、その時点で当該チャネルで当該ユーザが利用可能なサービスを判断し、前記クライアント端末への応答画面データとして、当該利用可能なサービスの一覧を含む画面を送信して表示させること、を特徴とするサーバシステム。
  5. 請求項記載のサーバシステムにおいて、
    前記しきい値として、前記ログイン数の第1の上限値と、それよりも大きい第2の上限値とが設定され、
    前記第1のサーバは、前記クライアント端末からのアクセスに対する前記ログイン処理の際に、当該チャネル単位でのログイン数が当該第1の上限値以上の場合は、第1の属性のユーザについて当該ログインを拒否するように制限を開始し、更に、当該チャネル単位でのログイン数が当該第2の上限値以上の場合は、前記第1の属性のユーザに加えて第2の属性のユーザについて当該ログインを拒否するように制限を開始すること、を特徴とするサーバシステム。
  6. 請求項2記載のサーバシステムにおいて、
    前記複数の第1のサーバを含む本システムの性能または負荷を監視する処理を行うシステム監視部を有し、
    前記第1のサーバまたは前記制限管理部は、前記監視の結果情報として、本システムの負荷が高く性能が低下した状態を示す時、前記しきい値を更新する処理として、第1のチャネルのログイン数の上限値を高くし、第2のチャネルのログイン数の上限値を低くする処理を行うこと、を特徴とするサーバシステム。
  7. 請求項2記載のサーバシステムにおいて、
    前記第1のサーバまたは前記制限管理部は、管理者による手動の情報入力に基づき、前記しきい値を更新する処理を行うこと、を特徴とするサーバシステム。
  8. 請求項2記載のサーバシステムにおいて、
    前記第1のサーバまたは前記制限管理部は、定期的に前記セッション管理情報をチェックして、所定時間経過済みのレコードを削除する処理を行い、これにより前記ログイン数を把握すること、を特徴とするサーバシステム。
  9. 請求項1記載のサーバシステムにおいて、
    前記しきい値として、前記上限値と対応して、それよりも小さい下限値が設定され、
    前記第1のサーバは、前記ログイン処理の際に、当該ログイン数が当該上限値以上の場合は、当該ログインを拒否するように制限を開始し、その後、当該ログイン数が当該下限値を下回った場合は、当該ログインを許可するように制限を解除すること、を特徴とするサーバシステム。
JP2008332660A 2008-12-26 2008-12-26 サーバシステム Expired - Fee Related JP5203919B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008332660A JP5203919B2 (ja) 2008-12-26 2008-12-26 サーバシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008332660A JP5203919B2 (ja) 2008-12-26 2008-12-26 サーバシステム

Publications (2)

Publication Number Publication Date
JP2010152818A JP2010152818A (ja) 2010-07-08
JP5203919B2 true JP5203919B2 (ja) 2013-06-05

Family

ID=42571798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008332660A Expired - Fee Related JP5203919B2 (ja) 2008-12-26 2008-12-26 サーバシステム

Country Status (1)

Country Link
JP (1) JP5203919B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101662660B1 (ko) * 2010-09-30 2016-10-06 삼성전자주식회사 서버 및 그 서비스 제공 방법
US8688831B2 (en) 2012-01-17 2014-04-01 International Business Machines Corporation Managing workload distribution among a plurality of compute nodes
JP5732419B2 (ja) * 2012-03-13 2015-06-10 株式会社野村総合研究所 統合アクセス制御システム
JP5992813B2 (ja) * 2012-12-05 2016-09-14 株式会社富士通アドバンストエンジニアリング プログラム、アクセス制御方法および情報処理装置
AU2017301617B2 (en) * 2016-07-25 2021-11-18 Ajay JADHAV Cloud Device system
JP7114980B2 (ja) * 2018-03-28 2022-08-09 株式会社リコー 情報処理システム、情報処理装置、情報処理方法及びプログラム
JP7295793B2 (ja) * 2019-12-20 2023-06-21 株式会社日立製作所 ログオン管理方法及びログオン管理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62174860A (ja) * 1985-07-30 1987-07-31 Nec Corp セツシヨン制御方式
JP3969764B2 (ja) * 1995-04-20 2007-09-05 富士通株式会社 集中管理・制御型ネットワークの負荷規制制御システム
US7249179B1 (en) * 2000-11-09 2007-07-24 Hewlett-Packard Development Company, L.P. System for automatically activating reserve hardware component based on hierarchical resource deployment scheme or rate of resource consumption
JP4044855B2 (ja) * 2003-02-17 2008-02-06 日本電信電話株式会社 セッションフィルタリング方法および負荷分散装置
JP2008217346A (ja) * 2007-03-02 2008-09-18 Hitachi Software Eng Co Ltd オンラインシステムにおけるピーク時間帯の負荷軽減方法
JP2008242676A (ja) * 2007-03-27 2008-10-09 Hitachi Ltd ウェブログイン制限システム
JP2008250806A (ja) * 2007-03-30 2008-10-16 Fujitsu Ltd ネットワーク機器、アクセス制御方法及びアクセス制御プログラム

Also Published As

Publication number Publication date
JP2010152818A (ja) 2010-07-08

Similar Documents

Publication Publication Date Title
JP5203919B2 (ja) サーバシステム
US10841180B2 (en) Service level agreement based storage access
CA2811020C (en) Virtual resource cost tracking with dedicated implementation resources
US7441046B2 (en) System enabling server progressive workload reduction to support server maintenance
US10013662B2 (en) Virtual resource cost tracking with dedicated implementation resources
US10432551B1 (en) Network request throttling
US10277529B2 (en) Visualization of computer resource quotas
US8589537B2 (en) Methods and computer program products for aggregating network application performance metrics by process pool
EP2883342B1 (en) Virtual desktop policy control
US8176171B2 (en) Information processing device and information processing method
CN102684988A (zh) 负荷控制装置及其方法
US10063601B2 (en) Client identification for enforcing computer resource quotas
US20080168163A1 (en) Information processing device assignment method, information processing system and management server
US20170272541A1 (en) Local enforcement of computer resource quotas
US11394719B2 (en) Dynamic user access control management
US10778512B2 (en) System and method for network provisioning
CN106649856A (zh) 一种数据库访问装置、系统及方法
US11838193B1 (en) Real-time load limit measurement for a plurality of nodes
JP5208613B2 (ja) サーバシステム
US20100030851A1 (en) Load balancer, load-balancing method, and recording medium with load-balancing program
JP5732419B2 (ja) 統合アクセス制御システム
JP2007265244A (ja) ウェブシステムの性能監視装置
JP2011070435A (ja) 計算機システム、リクエスト処理方法及びサーバ装置
JP2016015074A (ja) 負荷分散処理プログラム及び負荷分散処理装置
US20040268362A1 (en) Method, apparatus and program storage device for providing a two-step communication scheme

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120712

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121227

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130108

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: 20130129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130214

R150 Certificate of patent or registration of utility model

Ref document number: 5203919

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160222

Year of fee payment: 3

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