JPWO2011104999A1 - サービス提供システム、そのコンピュータプログラムおよびデータ処理方法 - Google Patents

サービス提供システム、そのコンピュータプログラムおよびデータ処理方法 Download PDF

Info

Publication number
JPWO2011104999A1
JPWO2011104999A1 JP2012501660A JP2012501660A JPWO2011104999A1 JP WO2011104999 A1 JPWO2011104999 A1 JP WO2011104999A1 JP 2012501660 A JP2012501660 A JP 2012501660A JP 2012501660 A JP2012501660 A JP 2012501660A JP WO2011104999 A1 JPWO2011104999 A1 JP WO2011104999A1
Authority
JP
Japan
Prior art keywords
service
execution
monitoring
service execution
processing
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.)
Pending
Application number
JP2012501660A
Other languages
English (en)
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2011104999A1 publication Critical patent/JPWO2011104999A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

複数のサービス提供者ごとのクライアント装置(101)からのリクエストに対応してサービスをサービス実行手段(105〜107)が実行する。複数のクライアント装置(101)からのリクエストを受信してサービス実行手段(105〜107)に負荷分散手段(104)が分配する。それぞれのサービス実行手段(105〜107)のサービス実行状況をサービス実行監視部(120)が監視する。監視されるサービス実行状況に対応してサービスをアクセス制御手段(103)が制御する。これにより、複数のサービス提供者で共有されるSaaS/ASP型のサービスなどにおいて、異なるサービス提供者のサービス間での性能などの干渉が起こりにくいサービス提供システムを提供する。

Description

本発明は、複数のサービス提供者ごとのクライアント装置のリクエストに対応してサービスを提供するサービス提供システム、そのコンピュータプログラムおよびデータ処理方法、に関する。
サービス提供の仕組みを図13に示す。サービス提供の仕組みは、顧客が操作するクライアント装置101と、リクエストに対応してサービスを実行しレスポンスを返すサービス提供システム210と、から構成される。
サービス提供システム210は、負荷分散管理部104、様々なサービス提供者のサービスアプリケーション115〜117が、それぞれ配備されているサービス実行部105〜107から構成されている(非特許文献1)。
サービス実行部105〜107が複数あるのは、サービス提供の負荷に対してスケールアウトされた構成を考慮しているからである。また、負荷分散管理部104、サービス実行部105〜107は、それぞれ独立の装置として実装される場合もあり、ソフトウェアとして実装され、一つの装置内で複数の構成部が動作する場合もある。
このような構成を有する従来のサービス提供システム210は、つぎのように動作する。すなわち、サービス利用者は自らのクライアント装置101からサービスアプリケーションを利用するためにサービス提供システム210へリクエストを送付する。
サービス提供システム210内の負荷分散管理部104は、多くのクライアント装置101からのリクエストを受け付け、適切なサービス実行部105〜107へ処理を割り振る。
上述の技術を、例えば、複数のサービス提供者で共有してSaaS(Software as a Service)/ASP(Application Service Provider)型サービスとして顧客に提供する場合、特定サービス提供者向けのリクエストが増加することによって、他のサービス提供者へのサービスに支障をきたすことが予想される。
こうした問題への対策としては、あるサービス提供者向けのリクエストを負荷分散管理部104が受け付けているコネクション数が設定された値よりも多くなった場合、そのサービス提供者向けの新規リクエストをサービス実行部105〜107へ割り振らず、一時的に拒否・遮断・保留することによって、他のサービス提供者のサービス実行に影響を与えないようにすることができる。
また、ショッピングサービスシステムなど、情報通信サービスシステムが過負荷状態になったとき、サービスを提供するシステムの負荷軽減のためにサービス利用者側装置からのサービス利用要求を規制する提案もある(特許文献1)。
その技術では、情報通信サービスを提供する側に負荷に対応してサービス規制を開始、解除する閾値を格納する負荷閾値テーブルと、サービス利用者側でサービス利用要求を発行するか否かを判断するための基準となるサービス規制情報テーブルを設ける。
情報通信サービスを提供する側の負荷が高くなり、サービス規制を開始すると判断したときに、サービス要求をしていないサービス利用者側の装置を含めてサービス規制情報を同報配送することによって、サービス利用者側からのサービス利用要求の発行を規制する(図示せず)。
さらに、データセンタにおいて、ユーザ企業ごとに夫々独立な計算資源を割り当て、負荷に対応してその割当てを自動的にリアルタイムに変更する提案もある(特許文献2)。
その技術では、制御プログラムは、ユーザ企業識別子ごとの計算機割当て制御表を作成し、負荷分散管理部に設定する。ユーザ要求パケット中のIPアドレスからユーザ企業識別子を識別する手段を設ける。
負荷分散管理部は、ユーザ要求パケットからユーザ企業を識別し、しかるべき計算機群にそれを転送する。さらに、制御プログラムはユーザごとのサービスレベル契約と、計算機の稼動状況モニタ結果を比較、契約条件未達時は割当て計算機を増やす。
具体的には、上述のユーザ企業識別子ごとの計算機割当て制御表を変更し、負荷分散管理部に再設定する。さらに制御プログラムは、それに基づく課金情報を変更する(図示せず)。
特開2001−067314号公報 特開2002−024192号公報
"パケットフローから負荷分散の基本を理解する"@IT、[2010年02月09日検索]インターネット<URL:http://www.atmarkit.co.jp/fnetwork/rensai/lb01/lb01.html>
非特許文献1などの技術では、サービス提供者ごとのコネクション数を使ったアクセス制御が一般的だが、負荷分散の方法としては必ずしも適切ではなく、サービス提供者間の処理の干渉が起こりがちである。
その理由は、内部処理による負荷の違いにより、同一コネクション数でもシステムにかかる負荷が大きく異なることがあるためである。リクエストを受け付けた後、バックエンドシステムに非同期で処理を依頼し、コネクション自体は即時終了するタイプのサービスの場合、こうした傾向は顕著であるといえる。
また、特許文献1の技術は、サーバ側の規制情報に対応してクライアント側も連携して要求を送信しないようにすることで規制するものでしかない。負荷上昇に伴いサーバ側でサービス規制を実行するようなシステムは一般的な既存技術である。
さらに、特許文献2の技術では、サービス提供者ごとの独自のサービスを実行するシステムに対する計算機資源の割り当てが前提となる。このため、サービス提供者間で共有されるサービス提供システムには適用が困難である。
同じサービスを複数のサービス提供者で共有するSaaS型の技術では、単純に外部観測しただけでは、サービス提供者ごとの処理内部の負荷状況を知ることは困難である。従って、このような課題を解決することは、特許文献1や特許文献2の技術では困難である。
本発明は上述のような課題に鑑みてなされたものであり、複数のサービス提供者で共有されるSaaS/ASP型のサービスなどにおいて、異なるサービス提供者のサービス間での性能などの干渉が起こりにくいサービス提供システム、そのコンピュータプログラムおよびデータ処理方法、を提供するものである。
本発明の第一のサービス提供システムは、複数のサービス提供者ごとのクライアント装置からのリクエストに対応してサービスを実行するサービス実行手段と、複数のクライアント装置からのリクエストを受信してサービス実行手段に分配する負荷分散手段と、それぞれのサービス実行手段のサービス実行状況を監視するサービス実行監視部と、監視されるサービス実行状況に対応してサービスを制御するアクセス制御手段と、を有する。
本発明の第二のサービス提供システムは、複数のサービス提供者ごとのクライアント装置からのリクエストに対応してサービスを実行するサービス実行手段と、特定のサービス提供者のサービスのみを処理可能な専用型サービス実行手段と、複数のクライアント装置からのリクエストを受信してサービス実行手段に分配する負荷分散手段と、それぞれのサービス実行手段のサービス実行状況を監視するサービス実行監視手段と、監視されるサービス実行状況に対応してサービスを制御するアクセス制御手段と、アクセス制御手段は、サービス実行監視手段からの操作で、特定の負荷の高いサービス提供者向けのリクエストのみを、その特定のサービス提供者向け処理専用のサービス提供システムで実行させるよう負荷分散手段を設定する。
本発明の第三のサービス提供システムは、複数のサービス提供者ごとのクライアント装置からのリクエストに対応してサービスを実行するサービス実行手段と、複数のクライアント装置からのリクエストを受信してサービス実行手段に分配する負荷分散手段と、それぞれのサービス実行手段のサービス実行状況を監視するサービス実行監視手段と、監視されるサービス実行状況に対応してサービスを制御するアクセス制御手段と、サービス提供者ごとの課金情報を管理する課金管理手段と、定期的にサービス提供者ごとの負荷情報をアクセス制御手段に通知するサービス実行監視手段と、を有し、アクセス制御手段は、通知された負荷情報に基づき、高負荷時に課金管理手段から取得した課金情報をもとに課金割合が低いのに負荷が高いサービス提供者のリクエストをブロックする。
本発明の第一のコンピュータプログラムは、複数のサービス提供者ごとのクライアント装置と通信するサービス提供システムのコンピュータプログラムであって、クライアント装置からのリクエストに対応してサービスを実行するサービス実行処理と、複数のクライアント装置からのリクエストを受信してサービス実行処理に分配する負荷分散処理と、それぞれのサービス実行処理のサービス実行状況を監視するサービス実行監視処理と、監視されるサービス実行状況に対応してサービスを制御するアクセス制御処理と、をサービス提供システムに実行させる。
本発明の第二のコンピュータプログラムは、複数のサービス提供者ごとのクライアント装置と通信するサービス提供システムのコンピュータプログラムであって、複数のサービス提供者ごとのクライアント装置からのリクエストに対応してサービスを実行するサービス実行処理と、特定のサービス提供者のサービスのみを処理可能な専用型サービス実行処理と、複数のクライアント装置からのリクエストを受信してサービス実行処理に分配する負荷分散処理と、それぞれのサービス実行処理のサービス実行状況を監視するサービス実行監視処理と、監視されるサービス実行状況に対応してサービスを制御し、サービス実行監視処理からの操作で、特定の負荷の高いサービス提供者向けのリクエストのみを、その特定のサービス提供者向け処理専用のサービス提供システムで実行させるよう負荷分散処理を設定するアクセス制御処理と、をサービス提供システムに実行させる。
本発明の第三のコンピュータプログラムは、複数のサービス提供者ごとのクライアント装置と通信するサービス提供システムのコンピュータプログラムであって、複数のサービス提供者ごとのクライアント装置からのリクエストに対応してサービスを実行するサービス実行処理と、複数のクライアント装置からのリクエストを受信してサービス実行処理に分配する負荷分散処理と、それぞれのサービス実行処理のサービス実行状況を監視するサービス実行監視処理と、監視されるサービス実行状況に対応してサービスを制御するアクセス制御処理と、サービス提供者ごとの課金情報を管理する課金管理処理と、定期的にサービス提供者ごとの負荷情報をアクセス制御処理に通知するサービス実行監視処理と、通知された負荷情報に基づき、高負荷時に課金管理処理から取得した課金情報をもとに課金割合が低いのに負荷が高いサービス提供者のリクエストをブロックするアクセス制御処理と、をサービス提供システムに実行させる。
本発明の第一のデータ処理方法は、複数のサービス提供者ごとのクライアント装置と通信するサービス提供システムのデータ処理方法であって、クライアント装置からのリクエストに対応してサービスを実行するサービス実行動作と、複数のクライアント装置からのリクエストを受信してサービス実行処理に分配する負荷分散動作と、それぞれのサービス実行処理のサービス実行状況を監視するサービス実行監視動作と、監視されるサービス実行状況に対応してサービスを制御するアクセス制御動作と、を有する。
本発明の第二のデータ処理方法は、複数のサービス提供者ごとのクライアント装置と通信するサービス提供システムのデータ処理方法であって、複数のサービス提供者ごとのクライアント装置からのリクエストに対応してサービスを実行するサービス実行動作と、特定のサービス提供者のサービスのみを処理可能な専用型サービス実行動作と、複数のクライアント装置からのリクエストを受信してサービス実行処理に分配する負荷分散動作と、それぞれのサービス実行処理のサービス実行状況を監視するサービス実行監視動作と、監視されるサービス実行状況に対応してサービスを制御し、サービス実行監視処理からの操作で、特定の負荷の高いサービス提供者向けのリクエストのみを、その特定のサービス提供者向け処理専用のサービス提供システムで実行させるよう負荷分散処理を設定するアクセス制御動作と、を有する。
本発明の第三のデータ処理方法は、複数のサービス提供者ごとのクライアント装置と通信するサービス提供システムのデータ処理方法であって、複数のサービス提供者ごとのクライアント装置からのリクエストに対応してサービスを実行するサービス実行動作と、複数のクライアント装置からのリクエストを受信してサービス実行処理に分配する負荷分散動作と、それぞれのサービス実行処理のサービス実行状況を監視するサービス実行監視動作と、監視されるサービス実行状況に対応してサービスを制御するアクセス制御動作と、サービス提供者ごとの課金情報を管理する課金管理動作と、定期的にサービス提供者ごとの負荷情報をアクセス制御処理に通知するサービス実行監視動作と、通知された負荷情報に基づき、高負荷時に課金管理処理から取得した課金情報をもとに課金割合が低いのに負荷が高いサービス提供者のリクエストをブロックするアクセス制御動作と、を有する。
なお、本発明の各種の構成要素は、その機能を実現するように形成されていればよく、例えば、所定の機能を発揮する専用のハードウェア、所定の機能がコンピュータプログラムにより付与されたサービス提供システム、コンピュータプログラムによりサービス提供システムに実現された所定の機能、これらの任意の組み合わせ、等として実現することができる。
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
また、本発明のコンピュータプログラムおよびデータ処理方法は、複数の処理および動作を順番に記載してあるが、その記載の順番は複数の処理および複数の動作を実行する順番を限定するものではない。
このため、本発明のコンピュータプログラムおよびデータ処理方法を実施するときには、その複数の処理および複数の動作の順番は内容的に支障しない範囲で変更することができる。
さらに、本発明のコンピュータプログラムおよびデータ処理方法は、複数の処理および複数の動作が個々に相違するタイミングで実行されることに限定されない。このため、ある処理および動作の実行中に他の処理および動作が発生すること、ある処理および動作の実行タイミングと他の処理および動作の実行タイミングとの一部ないし全部が重複していること、等でもよい。
また、本発明で云うサービス提供システムは、コンピュータプログラムを読み取って対応する処理動作を実行できるように、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、I/F(Interface)ユニット、等の汎用デバイスで構築されたハードウェア、所定の処理動作を実行するように構築された専用の論理回路、これらの組み合わせ、等として実施することができる。
なお、本発明でコンピュータプログラムに対応した各種動作をサービス提供システムに実行させることは、各種デバイスをサービス提供システムに動作制御させることなども意味している。
例えば、サービス提供システムに各種データを記憶させることは、サービス提供システムに固定されているHDD(Hard Disc Drive)等の情報記憶媒体にCPUが各種データを格納すること、サービス提供システムに交換自在に装填されているCD−R(Compact Disc-Recordable)等の情報記憶媒体にCPUがCDドライブで各種データを格納すること、等を許容する。
本発明のサービス提供システムでは、複数のサービス提供者ごとのクライアント装置からのリクエストに対応してサービスをサービス実行手段が実行する。複数のクライアント装置からのリクエストを受信してサービス実行手段に負荷分散手段が分配する。それぞれのサービス実行手段のサービス実行状況をサービス実行監視部が監視する。監視されるサービス実行状況に対応してサービスをアクセス制御手段が制御する。同じサービスを共有するSaaS型などの提供形態では、単純に外部観測しただけではサービス提供者ごとの処理内部の負荷状況を知ることは困難である。しかし、上述のようにサービス実行状況を監視してサービスを制御するので、異なるサービス提供者のサービス間での性能などを干渉しにくくすることができる。
上述した目的、および、その他の目的、特徴および利点は、以下に述べる好適な実施の形態、および、それに付随する以下の図面によって、さらに明らかになる。
本発明の実施の第一の形態のサービス提供システムの論理構造を示す模式的なブロック図である。 サービス実行監視部の詳細な構成を示すブロック図である。 サービスアプリケーションにリクエストが到着する際の動作を示すフローチャートである。 サービスアプリケーション動作中の処理状況の監視動作を示すフローチャートである。 サービス提供者別アクセス制御部からの監視情報を受信した際のサービス提供者別処理状況管理部の動作を示すフローチャートである。 サービス提供者別アクセス制御部の動作を示すフローチャートである。 本発明の実施の第二の形態の監視情報を受信した際のサービス提供者別処理状況管理部の動作を示すフローチャートである。 本発明の実施の第三の形態のサービス提供システムの論理構造を示す模式的なブロック図である。 サービス実行監視部の詳細な構成を示すブロック図である。 サービス提供者別処理状況管理部が監視情報を受信した際の動作を示すフローチャートである。 特定サービス提供者の負荷状況を通知されたサービス提供者別アクセス制御部の動作を示すフローチャートである。 特定サービス提供者向けの処理を一時的に制限する通知を受信したサービス実行監視部の動作を示すフローチャートである。 一従来例のサービス提供システムの論理構造を示す模式的なブロック図である。 本発明の実施の第四の形態のサービス提供システムの論理構造を示す模式的なブロック図である。 本発明の実施の第五の形態のサービス提供システムの論理構造を示す模式的なブロック図である。 実施の第四の形態のサービス提供者別アクセス制御部の処理動作を示すフローチャートである。 実施の第五の形態のサービス提供者別アクセス制御部の処理動作を示すフローチャートである。 実施の第五の形態でサービス提供者別アクセス制御部がリクエストを受信した場合の処理動作を示すフローチャートである。 本発明の実施の第五の形態のサービス提供システムの要部の論理構造を示す模式的なブロック図である。
本発明の実施の第一の形態を図1ないし図7を参照して以下に説明する。ただし、本実施の形態に関して前述した一従来例と同一の部分は、同一の名称を使用して詳細な説明は省略する。
図1を参照すると、本発明の第一の実施の形態は、クライアント装置101からのリクエストを受信してサービス実行部105〜107に適切にリクエストを分配する負荷分散管理部104と、クライアント装置101と負荷分散管理部104の間に配置され、サービス実行状況に対応してサービスの拒否や一時停止などを実行するサービス提供者別アクセス制御部103と、負荷分散管理部104から分配されたリクエストに対応して適切にサービスを実行するサービス実行部105〜107と、実際にリクエストに対応した処理を実行するサービスアプリケーション115〜117と、それぞれのサービス実行部105〜107内で動作しているサービスアプリケーション115〜117の実行状況を監視しているサービス実行監視部120と、から構成される。
サービス実行部105〜107の動作を以下に説明する。サービス実行部105〜107は、リクエストに対応してサービスアプリケーション115〜117の実行インスタンスを生成する。
本発明の前提であるSaaS/ASP型のビジネスモデルでは、同一のサービスアプリケーション115〜117を複数のサービス提供者で共有するので、処理内容は同じで内部データがサービス提供者ごとに異なる実行インスタンスが生成される。
サービス実行監視部120は、上記のように生成されて実行されているサービスアプリケーション115〜117の実行インスタンスの実行状況を対応するサービス提供者ごとに整理して、サービスアプリケーション115〜117の実行を制御する。
また、サービス提供者別アクセス制御部103は、サービス実行監視部120からの操作で特定のサービス提供者が要求するサービスへのリクエストを拒否したり一時保留したりする。
つぎに、図2を参照して図1のサービス実行監視部120の内部構成を以下に詳細に説明する。サービス実行監視部120は、複数のサービス実行部105〜107内での複数のサービス処理について、サービス提供者別の処理状況を集計して管理するサービス提供者別処理状況管理部121と、リクエストごとに実行されるサービス処理と、そのサービス処理が、どのサービス提供者のものであるかを保持しておく処理・サービス提供者関係管理部122と、クライアント装置101からのリクエスト到着時にそのリクエストが、どのサービス提供者のサービス処理を要求しているかを識別するサービス提供者識別部123と、サービスアプリケーション115〜117の複数の箇所に対してアクセスすることでリクエストに対するサービスアプリケーション115〜117の処理状況を監視し、状況に対応して処理を一時停止および中止させる処理監視制御手段であるサービス提供者別アクセス制御部103から構成される。
サービス提供者識別部123は、サービスアプリケーション115〜117に対するリクエストを解析し、どのサービス提供者向けのサービスとして動作したのかを識別する。
このとき、サービス提供者識別部123は、サービスアプリケーション115〜117の処理とは独立に定義され、サービスアプリケーション115〜117に対してプラグインされる形で目的の処理を実行する。
さらに、サービス提供者識別部123は、外部からの操作によって、特定サービス提供者のサービス実行に割り込んでサービス実行そのものを拒否したり、一時保留したりする機能も持つ。
こうしたアプリケーションに別処理をプラグインする仕組みを実現する技術の一例としては、アスペクト指向プログラミングであるAOP(Aspect Oriented Programming)などを使用することができる。
同様に、サービス提供者別アクセス制御部103は、サービスアプリケーション115〜117のいくつかの箇所にAOPもしくは、それと同等の技術でプラグインされる形で挿入され、プラグインされた箇所の処理時間やDBアクセスした際のデータ量、送受信メッセージサイズなどを監視する。また、サービス提供者別アクセス制御部103はプラグインされた箇所で処理を中断したり、一時保留したりすることができる。
上述のようなサービス提供システム110は、コンピュータプログラムに対応して動作するコンピュータ装置などにより論理的に実現される。このようなコンピュータプログラムは、例えば、クライアント装置からのリクエストに対応してサービスを実行するサービス実行処理と、複数のクライアント装置からのリクエストを受信してサービス実行処理に分配する負荷分散処理と、それぞれのサービス実行処理のサービス実行状況を監視するサービス実行監視処理と、監視されるサービス実行状況に対応してサービスを制御するアクセス制御処理と、をサービス提供システム110に実行させるように記述される。
つぎに、本実施のサービス提供システム110のデータ処理方法を説明する。まず、サービス実行監視部120はサービス実行部105〜107でのサービスアプリケーション115〜117の動作に対してイベント駆動型で動作する。
そのため、サービスアプリケーション115〜117で発生するイベントごとの動作手順を図3〜図6のフローチャートを参照しながら動作について説明する。まず、サービスアプリケーション115〜117にリクエストが到着する際の処理動作P1000を、図3を参照して以下に説明する。
サービス実行部105〜107がクライアント装置101からのサービスアプリケーション115〜117に対するリクエストを受信すると、そのサービスアプリケーション115〜117にプラグインされたサービス提供者識別部123がリクエストを見てどのサービス提供者向けのリクエストかを識別する(P1001)。
サービス提供者識別部123はサービス提供者の識別子とサービスアプリケーション115〜117の実行インスタンスの識別子を組にして処理・サービス提供者関係管理部122に送付する(P1002)。
処理・サービス提供者関係管理部122は受信したサービス提供者識別子とサービスアプリケーション115〜117の実行インスタンス識別子の組を記録する(P1003)。
つぎに、サービスアプリケーション115〜117動作中の処理状況の監視動作P1100について、図4を参照して以下に説明する。処理監視制御部124はサービスアプリケーション115〜117の実行インスタンスにプラグインされており、実行インスタンスの処理がプラグインされている箇所に到達する際にその実行インスタンスが対応するサービス提供者情報を処理・サービス提供者関係管理部122へ問い合わせる(P1101)。
処理監視制御部124がプラグインされている周辺での処理にかかる時間、データベースアクセス時の交換データ量、通信データ量などの情報を収集する(P1102)。P1101で取得したサービス提供者情報とP1102で収集した実行状況の情報を監視情報としてサービス提供者別処理状況管理部121へ送付する(P1103)。
なお、処理監視制御部124はサービスアプリケーション115〜117の一つ以上の箇所にプラグインされており、実行インスタンスの処理がその箇所に到達する都度、対応する処理監視制御部124の上記処理が呼び出される。
つぎに、処理監視制御部124からの監視情報を受信した際のサービス提供者別処理状況管理部121の動作P1200について、図5を参照して説明する。サービス提供者別処理状況管理部121は処理監視制御部124からの実行状況の情報を受信すると、サービス提供者ごとの処理状況を記録する(P1201)。
他のサービス提供者の処理と比較して突出して負荷の要因となっているサービス提供者がいないか調べる(P1202)。P1202の条件のサービス提供者がいない場合(P1202−N)、処理を終了し、つぎの処理監視制御部124からの監視情報を待つ。
P1202の条件のサービス提供者がいる場合(P1202−Y)、サービス提供者別処理状況管理部121はサービス提供者別アクセス制御部103に対して、監視しているサービス実行部105〜107の識別子と、そのサービス提供者の識別子を通知する(P1203)。
つぎに、サービス提供システム110内の何れかのサービス実行監視部120のサービス提供者別処理状況管理部121からサービス実行部105〜107の識別子とサービス提供者の識別子を受け取ったサービス提供者別アクセス制御部103の動作P1300について、図6を参照して以下に説明する。
まず、サービス提供者別アクセス制御部103はサービス提供者別処理状況管理部121から通知されたサービス提供者識別子とサービス実行部識別子の組を記録する(P1301)。
記録した情報から該当のサービス提供者のリクエストを割り振ることのできるサービス実行部105〜107が存在するかを調べる(P1302)。割り振るサービス実行部105〜107がなければ(P1302−N)、以降のそのサービス提供者のリクエストに対して処理できない旨のエラーを返す(P1303)。
割り振るサービス実行部105〜107がある場合(P1302−Y)、負荷分散管理部104にそのサービス提供者に対するリクエストを割り振ってよいサービス実行部識別子を設定する(P1304)。
つぎに、本実施の形態の効果について説明する。本実施の形態では、サービスアプリケーション115〜117の外部から処理監視制御部124をプラグインし、一つ一つの実行インスタンスの内部処理の監視情報をもとにリクエストの受信を制御する。
同じサービスを共有するSaaS型などの提供形態では、単純に外部観測しただけではサービス提供者ごとの処理内部の負荷状況を知ることは困難である。しかし、上述のようにサービス実行状況を監視してサービスを制御するので、SaaS/ASP型のサービスアプリケーション115〜117を共有するような形態のサービス提供システムでもサービス提供者ごとの処理負荷をもとに流量制御ができる。
また、リクエスト受信部のコネクション数だけでなく、内部負荷を考慮した流量制御が可能である。このため、異なるサービス提供者のサービス間での性能などを干渉しにくくすることができる。
つぎに、本発明の実施の第二の形態を図7を参照して以下に詳細に説明する。処理監視制御部124からの監視情報を受信した際のサービス提供者別処理状況管理部121の動作P1250について図7を参照して以下に説明する。
サービス提供者別処理状況管理部121はサービス提供者別アクセス制御部103からの実行状況の情報を受信すると、サービス提供者ごとの処理状況を記録する(P1251)。そのサービス提供者向けの実行インスタンスが一定数以上異常状態でないかどうかを調べる(P1252)。
一定数以上である場合(P1252−Y)、サービス提供者別アクセス制御部103に対して該当サービス提供者の実行インスタンスを強制終了させ、P1255へジャンプする(P1253)。一定数以上でない場合(P1252−N)、他のサービス提供者の処理と比較して突出して負荷の要因となっているサービス提供者がいないか調べる(P1254)。
P1254の条件のサービス提供者がいない場合(P1254−N)、処理を終了し、つぎのサービス提供者別アクセス制御部103からの監視情報を待つ。P1254の条件のサービス提供者がいる場合(P1254−Y)、サービス提供者別処理状況管理部121はサービス提供者別アクセス制御部103に対して、監視しているサービス実行部105〜107の識別子と、そのサービス提供者の識別子を通知する(P1255)。
本発明の実施の第二の形態の効果について説明する。本実施の形態では、SaaS/ASP型のサービスアプリケーション115〜117を共有するような形態のサービス提供システムでもサービス提供者ごとの処理負荷をもとに流量制御をするとともに、特定のサービス提供者向け実行インスタンスに異常が発生した場合にサービスアプリケーション115〜117全体を停止するのではなく、そのサービス提供者向けの実行インスタンスのみを停止し、以降のそのサービス提供者向けのリクエストのみを拒否することができる。
つぎに、本発明の実施の第三の形態を図8ないし図12を参照して以下に詳細に説明する。図8を参照すると、本発明の第三の実施の形態は、クライアント装置101からのリクエストを受信してサービス実行部105〜107に適切にリクエストを分配する負荷分散管理部104と、負荷分散管理部104から分配されたリクエストに対応して適切にサービスを実行するサービス実行部105〜107と、実際にリクエストに対応した処理を実行するサービスアプリケーション115〜117と、それぞれのサービス実行部105〜107内で動作しているサービスアプリケーション115〜117の実行状況を監視しているサービス実行監視部130、システム内の全てのサービス実行監視部130からの監視情報を収集し、流量制御を指示するサービス提供者別アクセス制御部140から構成される。
図9で図8のサービス実行監視部130の内部構成を詳細に説明する。サービス実行監視部130は、複数のサービス実行部105〜107内での複数のサービス処理について、サービス提供者別の処理状況を集計して管理するサービス提供者別処理状況管理部131と、リクエストごとに実行されるサービス処理と、そのサービス処理が、どのサービス提供者のものであるかを保持しておく処理・サービス提供者関係管理部122と、クライアント装置101からのリクエスト到着時にそのリクエストが、どのサービス提供者のサービス処理を要求しているかを識別し、必要に対応して特定のサービス提供者向け処理を制限するサービス提供者識別部133と、サービスアプリケーション115〜117の複数の箇所に対してアクセスすることでリクエストに対するサービスアプリケーション115〜117の処理状況を監視し、状況に対応して処理を一時停止および中止させるサービス提供者別アクセス制御部140から構成される。
本実施の形態のサービス提供者別処理状況管理部131がサービス提供者別アクセス制御部140からの監視情報を受信した際の動作P1270について、図10を参照して以下に説明する。
サービス提供者別処理状況管理部121はサービス提供者別アクセス制御部140からの実行状況の情報を受信すると、サービス提供者ごとの処理状況を記録する(P1271)。前回該当サービス提供者の負荷評価をサービス提供者別アクセス制御部140で行ってから一定の時間が経過しているかどうかを調べる(P1272)。
一定時間が経過していない場合(P1272−N)、一連の処理を終了し、つぎのサービス提供者別アクセス制御部140からの監視情報を待つ。一定時間が経過している場合(P1272−Y)、サービス提供者別処理状況管理部131はサービス提供者別アクセス制御部140に対して、監視しているサービス実行部105〜107の識別子と、そのサービス提供者の識別子および負荷状況を通知する(P1273)。
P1270の処理で特定サービス提供者の負荷状況を通知されたサービス提供者別アクセス制御部140の動作P1350を、図11を参照して以下に説明する。
サービス提供者別アクセス制御部140はサービス提供者別処理状況管理部131から通知されたサービス提供者識別子とサービス実行部識別子の組である負荷情報を記録する(P1351)。
この時点以降、サービス提供者別アクセス制御部は他のサービス提供者別処理状況管理部131から同一のサービス提供者に関する負荷情報が通知されても無視する。通知の通知元のサービス実行監視部130以外の全てのサービス実行監視部130内のサービス提供者別処理状況管理部131から該当サービス提供者の負荷情報を取得する(P1352)。
全サービス実行監視部からの該当サービス提供者の負荷情報を評価し、事前に設定されている上限を超えているかを判定する(P1353)。超えていなければ(P1353−N)、P1355以降の処理を実行する。
超えていれば(P1353−Y)、全サービス実行監視部130のサービス提供者別処理状況管理部131へ該当サービス提供者のサービス処理を一時的に制限するよう通知する(P1354)。
全サービス実行監視部130のサービス提供者別処理状況管理部131の該当サービス提供者向け負荷評価時刻を更新して終了する(P1355)。終了次第、P1351以後無視されていた該当サービス提供者に関する負荷情報の通知を再度受信できるようになる。
つぎに、P1350の処理の結果、特定サービス提供者向けの処理を一時的に制限する通知を受信したサービス実行監視部130の動作P1400について、図12を参照して以下に説明する。
特定サービス提供者向けのサービス処理の制限を通知されたサービス実行監視部130のサービス提供者別処理状況管理部131は該当サービス提供者向け処理をブロックするようサービス提供者識別部133へ通知する(P1401)。
この通知により、サービス提供者識別部133で該当サービス提供者向け処理と判断されたものは、以降のサービス処理をブロックされ新規実行インスタンスが生成されない。
同様に、サービス提供者別アクセス制御部140に対しても該当サービス提供者向け実行インスタンスの処理をブロックするよう通知する(P1402)。この通知により、サービス提供者別アクセス制御部は該当サービス提供者向け実行インスタンスの処理を一時停止する。
ただし、一律に止めるのではなく全体処理の後半以降のサービス提供者別アクセス制御部140はそのまま実行インスタンスの処理を継続させてもよい。この状態で一定時間該当サービス提供者向け処理の制限を継続する(P1403)。この時間経過後、P1401,P1402で設定したアクセス制限を解除する(P1404)。
本発明の実施の第三の形態の効果について説明する。本実施の形態では、サービスアプリケーション115〜117の外部からプラグインしたサービス提供者識別部133とサービス提供者別アクセス制御部140を利用して一定以上の負荷を発生しているサービス提供者の実行中処理をブロックすることによって現在発生しつつある特定サービス提供者向け処理に伴う負荷を一時的に下げることができる。
つぎに、本発明の実施の第四の形態を、図2および図14および図16を参照して以下に詳細に説明する。図14を参照すると、本発明の第四の実施の形態は、クライアント装置101からのリクエストを受信してサービス実行部105〜107に適切にリクエストを分配する負荷分散管理部404と、クライアント装置101と負荷分散管理部404の間に配置され、サービス実行状況に対応してサービスの拒否や一時停止、サービスの外部への退避などを実行するサービス提供者別アクセス制御部403と、負荷分散管理部104から分配されたリクエストに対応して適切にサービスを実行するサービス実行部105〜106と、実際にリクエストに対応した処理を実行するサービスアプリケーション115〜116と、それぞれのサービス実行部105〜106内で動作しているサービスアプリケーション115〜116の実行状況を監視しているサービス実行監視部120と、これらから構成される共用型のサービス提供システム110とは別の専用型のサービス提供システム400から構成される。
専用型のサービス提供システム400は共用型のサービス提供システムと同様にサービス実行部107とその中で動作しているサービスアプリケーション117から構成される。
つぎに、図2に示すサービス提供システム110内の何れかのサービス実行監視部120のサービス提供者別処理状況管理部121からサービス実行部105〜106の識別子とサービス提供者の識別子を受け取ったサービス提供者別アクセス制御部403の動作P1600について、図16を参照して以下に説明する。
まず、サービス提供者別アクセス制御部403はサービス提供者別処理状況管理部121から通知された突出して負荷の高いサービス提供者識別子とサービス実行部識別子の組を記録する(P1601)。
記録した情報から該当のサービス提供者のリクエストを割り振ることのできる共用型のサービス提供システム110内のサービス実行部105〜106が存在するかを調べる(P1602)。
割り振るサービス実行部105〜106がなければ(P1602−N)、以降のそのサービス提供者のリクエストはそのサービス提供者専用に別途構築された専用型のサービス提供システム400で処理するよう負荷分散管理部404を設定する(P1603)。
割り振るサービス実行部105〜106がある場合(P1602−Y)、負荷分散管理部404にそのサービス提供者に対するリクエストを割り振ってよいサービス実行部識別子を設定する(P1604)。
本発明の実施の第四の形態の効果について説明する。本実施の形態では、極めて高い負荷がかかるサービス提供者の処理を相乗り型のサービス提供システム110の外部の専用型のサービス提供システム400で処理することにより、他のサービス提供者の処理への影響を排除できる。
つぎに、本発明の実施の第五の形態を図15と図17、図18、図19を参照して以下に詳細に説明する。図15を参照すると、本発明の第五の実施の形態は、クライアント装置101からのリクエストを受信してサービス実行部105〜107に適切にリクエストを分配する負荷分散管理部104と、クライアント装置101と負荷分散管理部104の間に配置され、サービス実行状況に対応してサービスの拒否や一時停止などを実行するサービス提供者別アクセス制御部413と、サービス提供者ごとの課金プランを管理している課金管理部500と、負荷分散管理部104から分配されたリクエストに対応して適切にサービスを実行するサービス実行部105〜107と、実際にリクエストに対応した処理を実行するサービスアプリケーション115〜117と、それぞれのサービス実行部105〜107内で動作しているサービスアプリケーション115〜117の実行状況を監視しているサービス実行監視部135と、から構成される。
つぎに、図19に示すサービス提供システム110内の何れかのサービス実行監視部135は、第1の実施例のサービス実行監視部120とほぼ同じ構成だが、サービス提供者別処理状況管理部129の動作だけが異なり、これは定期的にサービス提供者ごとの処理にかかる時間、データベースアクセス時の交換データ量、通信データ量などの情報を負荷情報としてサービス提供者別アクセス制御部413へ通知する。
サービス提供者別処理状況管理部129からサービス実行部105〜107の何れかのサービス提供者ごとの負荷情報を受け取ったサービス提供者別アクセス制御部413の動作P1700について、図17を参照して以下に説明する。
まず、サービス提供者別アクセス制御部413は、サービス提供者別処理状況管理部129から通知されたサービス提供者ごとの負荷情報を記録する(P1701)。 その時点で記録されている全てのサービス実行部の全てのサービス提供者の負荷を合計する(P1702)。
このとき、負荷情報に含まれる処理時間などの特定の値のみを合計してもよいし、それぞれあらかじめ決められた重みづけをしたデータベースアクセス量その他の値も含めて合計してもよい。つづいて、全てのサービス実行部における個々のサービス提供者ごとの負荷を合計し、P1702で計算した全体の負荷に占める割合を計算して記録する(P1703)。
つぎに本実施例において、クライアント装置101からのリクエストをサービス提供者別アクセス制御部413が受信した場合の動作P1800について図18を参照して以下に説明する。
リクエストがサービス提供者別アクセス制御部413に到着すると、定期的に前述のP1702の処理で計算される全てのサービス実行部の全てのサービス提供者の負荷の合計値があらかじめ決められた閾値を超えているか判定する(P1801)。
負荷が閾値に満たない場合(P1801−N)は、そのリクエストはそのまま負荷分散管理部404に渡されて、以後、サービス実行部105〜107で処理が行われる(P1802)。
一方、負荷が閾値を超える場合(P1801−Y)は、課金管理部500に問い合わせて、全てのサービス提供者に対する課金金額の合計に対してそのリクエストが該当するサービス提供者の契約している課金金額の割合を計算する(P1803)。
ここで計算したそのリクエストに該当するサービス提供者の課金金額の全体に対する割合と、前述のP1703で計算、記録された同じサービス提供者の全体の負荷に占める割合を比較し、負荷割合の方が小さいか確認する(P1804)。
課金割合と比較して負荷割合の方が小さい場合(P1804−Y)、そのリクエストはそのまま負荷分散管理部404に渡されて、以後、サービス実行部105〜107で処理が行われる(P1802)。負荷割合の方が課金割合より大きい場合(P1804−N)、そのリクエストはブロックされる(P1805)。
本発明の実施の第五の形態の効果について説明する。本実施の形態では、システム全体の負荷があらかじめ指定した閾値を超え、負荷を下げる必要が生じた場合に、サービス提供者ごとの課金の度合いに応じて処理をブロックすることが可能となる。
なお、本発明は本実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で各種の変形を許容する。例えば、本発明は多数のサービス提供者のサービスアプリケーションを実行させるSaaS/ASP、PaaS(Platform as a Service)のようなクラウドプラットフォームにも適用できる。
また、上記の各種形態ではサービス提供システムの各部がコンピュータプログラムにより各種機能として論理的に実現されることを例示した。しかし、このような各部の各々を固有のハードウェアとして形成することもでき、ソフトウェアとハードウェアとの組み合わせとして実現することもできる。当然ながら、上述した実施の形態および複数の変形例は、その内容が相反しない範囲で組み合わせることができる。
この出願は、2010年02月23日に出願された日本出願特願2010−036873号および2010年08月09日に出願された日本出願特願2010−178447号を基礎とする優先権を主張し、その開示の全てを、ここに取り込む。

Claims (16)

  1. 複数のサービス提供者ごとのクライアント装置からのリクエストに対応してサービスを実行するサービス実行手段と、
    複数の前記クライアント装置からの前記リクエストを受信して前記サービス実行手段に分配する負荷分散手段と、
    それぞれの前記サービス実行手段のサービス実行状況を監視するサービス実行監視手段と、
    監視される前記サービス実行状況に対応して前記サービスを制御するアクセス制御手段と、
    を有するサービス提供システム。
  2. 前記サービス実行手段は、前記リクエストに対応して処理内容は同じで内部データが前記サービス提供者ごとに異なるサービスアプリケーションの実行インスタンスを生成し、
    前記サービス実行監視手段は、生成されて実行されている前記サービスアプリケーションの実行インスタンスの実行状況を対応する前記サービス提供者ごとに整理して前記サービスアプリケーションの実行を制御し、
    前記アクセス制御手段は、前記サービス実行監視手段からの操作で特定の前記サービス提供者が要求する前記サービスへの前記リクエストを制御する請求項1に記載のサービス提供システム。
  3. 前記サービス実行監視手段は、
    複数の前記サービス実行手段での複数の前記サービス処理について前記サービス提供者ごとの処理状況を集計して管理する処理状況管理手段と、
    前記リクエストごとに実行されるサービス処理を、どの前記サービス提供者のものであるかとともに保持する関係管理手段と、
    前記クライアント装置からの前記リクエストの到着時に、どの前記サービス提供者の前記サービス処理を要求しているかを識別する提供者識別手段と、
    前記サービスアプリケーションの複数の箇所に対してアクセスすることで前記リクエストに対する前記サービスアプリケーションの処理状況を監視して状況に対応して処理を制御する処理監視制御手段と、
    を有する請求項1または2に記載のサービス提供システム。
  4. 前記処理状況管理手段は、前記処理監視制御手段から受信する前記サービス提供者ごとの処理状況を記録して前記サービス提供者ごとに実行インスタンスが一定数以上異常状態であると、前記処理監視制御手段に該当する前記サービス提供者の実行インスタンスを強制終了させる請求項3に記載のサービス提供システム。
  5. 前記提供者識別手段は、前記サービスアプリケーションに対する前記リクエストを解析し、どの前記サービス提供者向けの前記サービスとして動作したのかを識別し、
    前記サービスアプリケーションの処理とは独立に定義され、前記サービスアプリケーションに対してプラグインされる形で目的の処理を実行する請求項3または4に記載のサービス提供システム。
  6. 前記提供者識別手段は、外部からの操作によって特定の前記サービス提供者の前記サービスの実行に割り込んで制御する請求項3ないし5の何れか一項に記載のサービス提供システム。
  7. 前記処理監視制御手段は、前記サービスアプリケーションの任意の箇所にプラグインされ、プラグインされた箇所の各種状況を監視する請求項3ないし6の何れか一項に記載のサービス提供システム。
  8. 前記処理監視制御手段は、前記プラグインされた箇所で処理を制御する請求項7に記載のサービス提供システム。
  9. 複数のサービス提供者ごとのクライアント装置からのリクエストに対応してサービスを実行するサービス実行手段と、
    特定のサービス提供者のサービスのみを処理可能な専用型サービス実行手段と、
    複数の前記クライアント装置からの前記リクエストを受信して前記サービス実行手段に分配する負荷分散手段と、
    それぞれの前記サービス実行手段のサービス実行状況を監視するサービス実行監視手段と、
    監視される前記サービス実行状況に対応して前記サービスを制御するアクセス制御手段と、
    前記アクセス制御手段は、前記サービス実行監視手段からの操作で、特定の負荷の高い前記サービス提供者向けの前記リクエストのみを、その特定の前記サービス提供者向け処理専用のサービス提供システムで実行させるよう前記負荷分散手段を設定するサービス提供システム。
  10. 複数のサービス提供者ごとのクライアント装置からのリクエストに対応してサービスを実行するサービス実行手段と、
    複数の前記クライアント装置からの前記リクエストを受信して前記サービス実行手段に分配する負荷分散手段と、
    それぞれの前記サービス実行手段のサービス実行状況を監視するサービス実行監視手段と、
    監視される前記サービス実行状況に対応して前記サービスを制御するアクセス制御手段と、
    サービス提供者ごとの課金情報を管理する課金管理手段と、
    定期的に前記サービス提供者ごとの負荷情報を前記アクセス制御手段に通知する前記サービス実行監視手段と、を有し、
    前記アクセス制御手段は、通知された負荷情報に基づき、高負荷時に前記課金管理手段から取得した課金情報をもとに課金割合が低いのに負荷が高い前記サービス提供者の前記リクエストをブロックするサービス提供システム。
  11. 複数のサービス提供者ごとのクライアント装置と通信するサービス提供システムのコンピュータプログラムであって、
    前記クライアント装置からのリクエストに対応してサービスを実行するサービス実行処理と、
    複数の前記クライアント装置からの前記リクエストを受信して前記サービス実行処理に分配する負荷分散処理と、
    それぞれの前記サービス実行処理のサービス実行状況を監視するサービス実行監視処理と、
    監視される前記サービス実行状況に対応して前記サービスを制御するアクセス制御処理と、
    をサービス提供システムに実行させるコンピュータプログラム。
  12. 複数のサービス提供者ごとのクライアント装置と通信するサービス提供システムのコンピュータプログラムであって、
    複数の前記サービス提供者ごとの前記クライアント装置からのリクエストに対応してサービスを実行するサービス実行処理と、
    特定のサービス提供者のサービスのみを処理可能な専用型サービス実行処理と、
    複数の前記クライアント装置からの前記リクエストを受信して前記サービス実行処理に分配する負荷分散処理と、
    それぞれの前記サービス実行処理のサービス実行状況を監視するサービス実行監視処理と、
    監視される前記サービス実行状況に対応して前記サービスを制御し、前記サービス実行監視処理からの操作で、特定の負荷の高い前記サービス提供者向けの前記リクエストのみを、その特定の前記サービス提供者向け処理専用のサービス提供システムで実行させるよう前記負荷分散処理を設定する前記アクセス制御処理と、
    をサービス提供システムに実行させるコンピュータプログラム。
  13. 複数のサービス提供者ごとのクライアント装置と通信するサービス提供システムのコンピュータプログラムであって、
    複数の前記サービス提供者ごとの前記クライアント装置からのリクエストに対応してサービスを実行するサービス実行処理と、
    複数の前記クライアント装置からの前記リクエストを受信して前記サービス実行処理に分配する負荷分散処理と、
    それぞれの前記サービス実行処理のサービス実行状況を監視するサービス実行監視処理と、
    監視される前記サービス実行状況に対応して前記サービスを制御するアクセス制御処理と、
    前記サービス提供者ごとの課金情報を管理する課金管理処理と、
    定期的に前記サービス提供者ごとの負荷情報を前記アクセス制御処理に通知する前記サービス実行監視処理と、
    通知された負荷情報に基づき、高負荷時に前記課金管理処理から取得した課金情報をもとに課金割合が低いのに負荷が高い前記サービス提供者の前記リクエストをブロックする前記アクセス制御処理と、
    をサービス提供システムに実行させるコンピュータプログラム。
  14. 複数のサービス提供者ごとのクライアント装置と通信するサービス提供システムのデータ処理方法であって、
    前記クライアント装置からのリクエストに対応してサービスを実行するサービス実行動作と、
    複数の前記クライアント装置からの前記リクエストを受信して前記サービス実行処理に分配する負荷分散動作と、
    それぞれの前記サービス実行処理のサービス実行状況を監視するサービス実行監視動作と、
    監視される前記サービス実行状況に対応して前記サービスを制御するアクセス制御動作と、
    を有するデータ処理方法。
  15. 複数のサービス提供者ごとのクライアント装置と通信するサービス提供システムのデータ処理方法であって、
    複数の前記サービス提供者ごとの前記クライアント装置からのリクエストに対応してサービスを実行するサービス実行動作と、
    特定のサービス提供者のサービスのみを処理可能な専用型サービス実行動作と、
    複数の前記クライアント装置からの前記リクエストを受信して前記サービス実行処理に分配する負荷分散動作と、
    それぞれの前記サービス実行処理のサービス実行状況を監視するサービス実行監視動作と、
    監視される前記サービス実行状況に対応して前記サービスを制御し、前記サービス実行監視処理からの操作で、特定の負荷の高い前記サービス提供者向けの前記リクエストのみを、その特定の前記サービス提供者向け処理専用のサービス提供システムで実行させるよう前記負荷分散処理を設定する前記アクセス制御動作と、
    を有するデータ処理方法。
  16. 複数のサービス提供者ごとのクライアント装置と通信するサービス提供システムのデータ処理方法であって、
    複数の前記サービス提供者ごとの前記クライアント装置からのリクエストに対応してサービスを実行するサービス実行動作と、
    複数の前記クライアント装置からの前記リクエストを受信して前記サービス実行処理に分配する負荷分散動作と、
    それぞれの前記サービス実行処理のサービス実行状況を監視するサービス実行監視動作と、
    監視される前記サービス実行状況に対応して前記サービスを制御するアクセス制御動作と、
    サービス提供者ごとの課金情報を管理する課金管理動作と、
    定期的に前記サービス提供者ごとの負荷情報を前記アクセス制御処理に通知する前記サービス実行監視動作と、
    通知された負荷情報に基づき、高負荷時に前記課金管理処理から取得した課金情報をもとに課金割合が低いのに負荷が高い前記サービス提供者の前記リクエストをブロックする前記アクセス制御動作と、
    を有するデータ処理方法。
JP2012501660A 2010-02-23 2011-01-18 サービス提供システム、そのコンピュータプログラムおよびデータ処理方法 Pending JPWO2011104999A1 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2010036873 2010-02-23
JP2010036873 2010-02-23
JP2010178447 2010-08-09
JP2010178447 2010-08-09
PCT/JP2011/000214 WO2011104999A1 (ja) 2010-02-23 2011-01-18 サービス提供システム、そのコンピュータプログラムおよびデータ処理方法

Publications (1)

Publication Number Publication Date
JPWO2011104999A1 true JPWO2011104999A1 (ja) 2013-06-17

Family

ID=44506434

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012501660A Pending JPWO2011104999A1 (ja) 2010-02-23 2011-01-18 サービス提供システム、そのコンピュータプログラムおよびデータ処理方法

Country Status (2)

Country Link
JP (1) JPWO2011104999A1 (ja)
WO (1) WO2011104999A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107154626A (zh) * 2017-06-02 2017-09-12 张飞飞 分布式光伏智能能源与储能管理SaaS系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067493A (ja) * 2001-08-27 2003-03-07 Matsushita Electric Works Ltd 介護関連フランチャイズ支援方法とそのためのシステムとサーバ及びプログラム
JP4044855B2 (ja) * 2003-02-17 2008-02-06 日本電信電話株式会社 セッションフィルタリング方法および負荷分散装置
JP2007524144A (ja) * 2003-06-18 2007-08-23 フジツー シーメンス コンピュータース ゲゼルシャフト ミット ベシュレンクテル ハフツング クラスタ装置
US7685283B2 (en) * 2006-01-23 2010-03-23 International Business Machiens Corporation Method for modeling on-demand free pool of resources
JP5135728B2 (ja) * 2006-07-18 2013-02-06 富士通株式会社 情報処理方法、情報処理装置およびプログラム

Also Published As

Publication number Publication date
WO2011104999A1 (ja) 2011-09-01

Similar Documents

Publication Publication Date Title
US11593152B1 (en) Application hosting in a distributed application execution system
US11252220B2 (en) Distributed code execution involving a serverless computing infrastructure
US7694082B2 (en) Computer program and method for managing resources in a distributed storage system
US8387058B2 (en) Minimizing complex decisions to allocate additional resources to a job submitted to a grid environment
US8205205B2 (en) Multi-objective allocation of computational jobs in client-server or hosting environments
US9112809B2 (en) Method and apparatus for controlling utilization in a horizontally scaled software application
CN108667748A (zh) 一种控制带宽的方法、装置和设备
CN105141541A (zh) 一种基于任务的动态负载均衡调度方法及装置
CN102611735A (zh) 一种应用服务的负载均衡方法及系统
US9535749B2 (en) Methods for managing work load bursts and devices thereof
JP2013506908A (ja) 企業ネットワーク内の割り当てられたクラウドリソースの動的な負荷分散およびスケーリング
JP2009181578A (ja) 複数の仮想マシンに対して動的にリソースを割当てる方法及び装置
US20110173319A1 (en) Apparatus and method for operating server using virtualization technique
JP2014532946A (ja) クラスタに依頼されたタスクを実行するために前記クラスタのコンピュータ資源を割り当てるための方法、コンピュータプログラム、およびデバイス
CN113127170B (zh) 用于在联系人中心系统中配对的方法、系统和制品
KR101402367B1 (ko) 전화 호출 관리 방법 및 호출 관리 시스템
CN106603256B (zh) 一种流量控制方法及装置
JP5961402B2 (ja) 計算機システム
JPH05216842A (ja) 資源管理装置
WO2011104999A1 (ja) サービス提供システム、そのコンピュータプログラムおよびデータ処理方法
CN109086128B (zh) 任务调度方法及装置
US20100030851A1 (en) Load balancer, load-balancing method, and recording medium with load-balancing program
Yang et al. AutoAdmin: automatic and dynamic resource reservation admission control in Hadoop YARN clusters
JP5526748B2 (ja) パケット処理装置、パケット振り分け装置、制御プログラム及びパケット分散方法
CN109495544A (zh) 一种报文数据处理方法和装置、以及计算机设备