JP6273866B2 - 制御プログラム、制御装置および制御方法 - Google Patents

制御プログラム、制御装置および制御方法 Download PDF

Info

Publication number
JP6273866B2
JP6273866B2 JP2014014203A JP2014014203A JP6273866B2 JP 6273866 B2 JP6273866 B2 JP 6273866B2 JP 2014014203 A JP2014014203 A JP 2014014203A JP 2014014203 A JP2014014203 A JP 2014014203A JP 6273866 B2 JP6273866 B2 JP 6273866B2
Authority
JP
Japan
Prior art keywords
batch
information
processing
server
processing request
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.)
Active
Application number
JP2014014203A
Other languages
English (en)
Other versions
JP2015141574A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014014203A priority Critical patent/JP6273866B2/ja
Priority to US14/600,618 priority patent/US10171620B2/en
Publication of JP2015141574A publication Critical patent/JP2015141574A/ja
Application granted granted Critical
Publication of JP6273866B2 publication Critical patent/JP6273866B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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/5044Allocation 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 hardware capabilities
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

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 Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、制御プログラム、制御装置および制御方法に関する。
業務システムの処理性能を向上させる方法としては、サーバの台数を増やし各サーバに負荷を分散するスケールアウトや、サーバにリソース(CPU(Central Processing Unit),メモリ等)を追加するスケールアップが知られている。また、近年、クラウドコンピューティング技術が発達してきており、クラウド環境下では、処理要求量に応じてスケールアウトやスケールアップを行なうオートスケールが可能である。
一方、業務システムでは、オンライン業務とバッチ業務とが行なわれる。図36に示すように、オンライン業務では、エンドユーザからネットワーク,ウエブ(Web)サーバ,アプリケーション(AP)サーバ経由でデータベース(DB)サーバに対するアクセスが行なわれる。バッチ業務では、バッチサーバによってDBサーバに対するアクセスが行なわれる。なお、図36は、業務システムの構成例を示す図である。
オンライン業務とバッチ業務とでは、求められる性能指標や、リソースの利用手法が、以下のように異なる。
オンライン業務では、レスポンス時間がSLA(Service Level Agreement)の設定値を超えない性能を維持することが求められる。したがって、オンライン業務では、処理要求量が増加してもレスポンス時間が遅くならないように、余裕をもってサーバ数やサーバスペックの割当を行なう必要がある(図37参照)。なお、図37は、DBサーバのリソース利用状況の例を示す図である。
バッチ業務では、バッチ処理を決められた時間内に完了させることが求められる。例えば、バッチ処理を夜間に実行しオンライン業務が始まるまでに完了させることが求められる。したがって、バッチ業務では、時間内にバッチ処理を完了させることができるのであれば、サーバ数やサーバスペックを最大限に利用することができる(図37参照)。
上述のようなオンライン業務やバッチ業務を実行する業務システムにおいて性能維持とリソースの有効活用とを両立するには、業務システム上で稼動している業務が、オンライン業務であるかバッチ業務であるかの切り分けを行なわなければならない。つまり、業務特性に応じたスケーリング(オートスケール)を実現するためには、業務システムで実行される業務がオンライン業務かバッチ業務かの判別を適切に行なえるようにすることが重要になる。
オンライン業務とバッチ業務との判別を行なう技術としては、判別対象のメッセージが直上層のプロトコルのメッセージと親子関係を有しているか否かによって当該判別を行なう技術が知られている。なお、上記直上層のプロトコルは、例えばIIOP(Internet Inter-ORB (Object Request Broker) Protocol)である。より具体的に、当該判別技術では、Webサーバ,APサーバ,DBサーバで構成されたシステム内で受け渡されるメッセージが対象になっている。そして、WebサーバからAPサーバに受け渡されるメッセージと、APサーバからDBサーバに受け渡されるメッセージとに関連があるか否かに基づき、オンライン業務かバッチ業務かの判別が行なわれる。
特開2012−150733号公報 特開平11−288382号公報 特開2004−302751号公報
しかしながら、上述した判別技術では、以下のようなバッチ業務(a1)〜(a3)の場合、業務システム上で処理されるSQL(Structured Query Language)が、オンライン業務で発行されたものかバッチ業務で発行されたものかを判別することができない。
(a1) DBサーバでローカルバッチ業務が行なわれた場合: 上記判別技術は、通信で使用されるプロトコルのメッセージのオブジェクトについてバッチ処理かオンライン処理かの判別を行なうもので、通信を使用しないローカルバッチ業務がDBサーバ内で行なわれた場合、当該判別を行なうことができない。
(a2) バッチサーバからDBサーバに対しリモートバッチ業務が行なわれた場合: 上記判別技術では、上述の通り、Webサーバ,APサーバ,DBサーバで構成されたシステム内で受け渡されるメッセージが対象になっている。このため、図38に示すように、対象のシステム構成から外れているバッチサーバとDBサーバとの間で受け渡されるたメッセージに対する考慮はされておらず、当該メッセージの検出工程がない。したがって、オンライン業務かバッチ業務かの判別を行なうことができない。なお、図38は、上記判別技術(公知技術)の課題を説明する図である。また、図38において、RDBMSは、Relational DataBase Management Systemの略記である。
(a3) WebサーバおよびAPサーバを通じてWebサービスバッチ業務が行なわれた場合: 上記判別技術では、上述の通り、APサーバからDBサーバに向けて発行されるメッセージと、Webサーバから発行されるIIOPのメッセージとの関連性を判断基準としている。また、Webサービスバッチ業務とオンライン業務とでは、図39に示すように、SQLの発行元がエンドユーザであるかバッチサーバであるかが異なるのみでWebサーバ以降の経路は同じである。このため、APサーバから発行されるメッセージに対し、IIOPとの関連がオンライン業務およびバッチ業務のどちらに際しても発生してしまい、オンライン業務かバッチ業務かの判別を行なうことができない。なお、図39は、上記判別技術(公知技術)の課題を説明する図である。
一つの側面で、本発明は、処理要求種別の判別を適切に行なえるようにすることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための最良の形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本件の他の目的の一つとして位置付けることができる。
本件の制御プログラムは、以下の処理をプロセッサに実行させる。第1のコンピュータに対する第2のコンピュータによる処理要求の処理要求内容を取得する処理。前記の第1および第2のコンピュータそれぞれの動作に関する第1および第2の動作情報を取得する処理。処理実績情報と、前記処理要求内容と、前記の第1および第2の動作情報とに基づき、前記処理要求の処理要求種別を判別し、前記第1のコンピュータはデータベースサーバを含み、前記第2のコンピュータは少なくともバッチサーバを含み、前記処理要求の処理要求内容に含まれる当該処理要求の発行元プロセス識別情報が、前記データベースサーバから取得された前記第1の動作情報に含まれるプロセス情報にあるか否かを判別し、当該処理要求の発行元プロセス識別情報が前記プロセス情報にあれば、前記処理要求の処理要求種別は、前記バッチサーバにより実行されるバッチ処理のうち、特定種別のバッチ処理であると判別し、前記処理要求の処理要求内容と前記第1の動作情報とに基づき、前記特定種別のバッチ処理の処理要求を発行した前記バッチサーバの第1アドレス情報を取得し、前記第1アドレス情報を保存部に保存する処理。なお、前記処理実績情報は、前記第1のコンピュータに対する前記処理要求の処理要求内容に含まれる当該処理要求に対応した前記第1のコンピュータによる処理履歴と当該処理要求を行なった前記第2のコンピュータの当該処理要求に関連した前記第2の動作情報とを対応づけたものである。
一実施形態によれば、処理要求種別の判別を適切に行なうことができる。
本実施形態における業務種別の判別手法の概要を説明する図である。 本実施形態における業務種別の判別手法の概要を説明する図である。 本実施形態の判別手法による判別可否と公知技術による判別可否とを比較して示す図である。 公知技術によるリソース利用状況の例を示す図である。 公知技術によるリソース利用状況の例を示す図である。 本実施形態に係る業務システムおよび管理サーバ(制御装置)のハードウエア構成例および機能構成例を示すブロック図である。 本実施形態における業務種別の判別手法による処理の流れを説明する図である。 図6に示すDB情報収集部の機能および動作を説明する図である。 図6に示すDB情報収集部によって取得されるSQL情報の一例を示す図である。 図6に示すDB情報収集部によって取得されるプロセス情報の一例を示す図である。 図6に示すDB情報収集部によって取得されるネットワーク情報の一例を示す図である。 図6に示すローカルバッチ業務判断部の機能および動作を説明する図である。 図6に示すSQL・業務種別履歴DBに対する保存処理について説明する図である。 図6に示すSQL・業務種別履歴DBに保存される情報の一例を示す図である。 図6に示すバッチサーバ一覧情報DBに対する保存処理について説明する図である。 図6に示すバッチサーバ一覧情報DBに保存される情報の一例を示す図である。 図6に示すリモートバッチ業務判断部の機能および動作を説明する図である。 図6に示すAP情報収集部またはバッチ情報収集部の機能および動作を説明する図である。 図6に示すリモートバッチ業務判断部の判別基準について説明する図である。 図6に示すリモートバッチ業務判断部の機能および動作を説明する図である。 図6に示すWebサービスバッチ業務/オンライン業務判断部の機能および動作を説明する図である。 図6に示す管理マネージャの動作を説明するフローチャートである。 図22に示すステップS3のローカルバッチ業務判断処理を説明するフローチャートである。 図22に示すステップS5のリモートバッチ業務判断処理を説明するフローチャートである。 図22に示すステップS7のWebサービスバッチ業務/オンライン業務判断処理を説明するフローチャートである。 本実施形態のローカルバッチ業務判断処理を説明すべくSQL情報の一例を示す図である。 本実施形態のローカルバッチ業務判断処理を説明すべくプロセス情報の一例を示す図である。 本実施形態のローカルバッチ業務判断処理を説明すべくネットワーク情報の一例を示す図である。 本実施形態のリモートバッチ業務判断処理を説明すべくSQL情報の一例を示す図である。 本実施形態のリモートバッチ業務判断処理を説明すべくネットワーク情報の一例を示す図である。 本実施形態のリモートバッチ業務判断処理を説明すべくリソース使用状況(処理実績情報)の一例を示す図である。 本実施形態のWebサービスバッチ業務/オンライン業務判断処理を説明すべくSQL情報の一例を示す図である。 本実施形態のWebサービスバッチ業務/オンライン業務判断処理を説明すべくネットワーク情報の一例を示す図である。 本実施形態のWebサービスバッチ業務/オンライン業務判断処理を説明すべくバッチサーバ一覧情報DBに保存される情報の一例を示す図である。 本実施形態による判別結果として出力される、SQL・業務種別履歴DBの情報の一例を示す図である。 業務システムの構成例を示す図である。 データベースサーバのリソース利用状況の例を示す図である。 公知技術の課題を説明する図である。 公知技術の課題を説明する図である。
以下に、図面を参照し、本願の開示する制御プログラム、制御装置および制御方法の実施形態について、詳細に説明する。ただし、以下に示す実施形態は、あくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能を含むことができる。そして、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔1〕本実施形態における業務種別の判断手法の概要について
業務システムをオートスケールするための技術としては、以下の技術(b1),(b2)が知られている。
(b1) 事前に設定されたリソース使用率やレスポンス時間の閾値に基づきオートスケールする技術(一般的なクラウドサービスで提供されている機能)。
当該技術(b1)では、CPU,メモリなどのリソース使用率の閾値(例えば70%)や、レスポンス時間の閾値(例えば1秒)が事前に設定される。そして、リソース使用率やレスポンス時間が閾値を超えた場合にスケールアウトまたはスケールアップが行なわれる。一方、リソース使用率やレスポンス時間が閾値以下になった場合にスケールインまたはスケールダウンが行なわれる。このようなオートスケール機能では、リソース使用率やレスポンス時間が閾値を超えた後にサーバ/リソースが追加されるため、閾値超過が発生した時点から実際にサーバ/リソースが追加されるまでに時間がかかる。これにより、オンライン業務のレスポンス時間が遅くなってSLA違反が生じたり、バッチ業務が所定時刻までに完了しないといった影響が生じたりする。通常、閾値超過のアラーム検知後、追加されたサーバ/リソースが使用可能になるまでに約5分を要する。その時間もクラウド側の混雑状況や作成するサーバタイプによって左右されるため、場合によっては5分以上かかる場合もある。
(b2) 事前に設定されたリソース使用率やレスポンス時間の閾値と、将来予測結果とに基づき、オートスケールする技術。
当該技術(b2)でも、CPU,メモリなどのリソース使用率の閾値(例えば70%)や、レスポンス時間の閾値(例えば1秒)が事前に設定される。そして、過去の実績などから将来予測(回帰直線等)によりリソースの需要(リソース使用率やレスポンス時間)が予測され、予測値が閾値を超えた場合にスケールアウトまたはスケールアップが行なわれる。一方、予測値が閾値以下になった場合にスケールインまたはスケールダウンが行なわれる。当該技術(b2)により上記技術(b1)の課題は解消される。しかし、上記技術(b1)や(b2)は、主にオンライン業務に対応するもので、バッチ業務の業務特性による考慮がなされていない。
このため、上記技術(b1)や(b2)では、バッチ業務時には、サーバ/リソースの処理性能が最大限に使用されるため、例えば図4に示すように、バッチ業務が完了するまで際限なくスケールアウト/スケールアップが繰り返されてしまう。図4に示す例では、4回のスケールアウトが行なわれている。その結果、バッチ業務の実処理時間は短縮されバッチ業務の完了時刻は早まることになるが、バッチ業務時間を最大限に利用することができないため無駄な時間が発生する。つまり、必要のないスケールアウトが実行されコストがかかることになる。なお、図4は、上記技術(b1)や(b2)によるリソース利用状況の例を示す図である。
また、複数種別の業務に対応するため、業務種別毎に時間帯を分けてオートスケール(上記技術(b1)や(b2)参照)をスケジュールすることはできる。このとき、バッチ業務時間帯に実行していたバッチ業務が何らかの理由で異常終了した場合、異常終了したバッチ業務は、当該バッチ業務の復旧後に必ず直ちに再実行して完了させなければならない。しかし、例えば図5に示すように、バッチ業務時間帯の夜間にバッチ業務を復旧できずオンライン業務時間帯の日中に再実行を行なう状況が生じると、不適切なスケーリングが行なわれてしまう。つまり、日中は、通常、オンライン業務用のオートスケール(上記技術(b1)や(b2)参照)が適用されているため、そのままでは、図5に示すように、状況に適していない不適切なスケーリングが行なわれてしまう。なお、図5は、公知技術によるリソース利用状況の例を示す図である。
その他にも、例えば海外拡販のため12時間前後の時差があるアメリカなどの海外からのアクセスが一時的に増える場合、現地における業務時間は日本時間における夜間となり、バッチ業務時間帯に突発的にオンライン業務が増える。しかし、夜間はオートスケールを抑止する場合が多いため、オンライン業務に対応するスケーリングを行なうことができず、その結果、レスポンス遅延等のSLA違反が発生してしまう。
以上のように、過去の履歴のみに頼って、リソースの使用方法が異なる複数種別の業務(例えばオンライン業務やバッチ業務)を両立したオートスケールのスケジューリングを実現することはできない。加えて、予測できない突発的な業務増加に対し全て人手で対応することは困難である。
複数種別の業務を含む業務システムにおいて処理性能の維持とリソースの有効活用とを両立するには、業務システム上で稼働している業務が、オンライン業務であるかバッチ業務であるかの切り分けを行なう必要がある。しかしながら、上述した従来の判別技術では、上記バッチ業務(a1)〜(a3)の場合、業務システム上で処理されるSQLが、オンライン業務で発行されたものかバッチ業務で発行されたものかを判別することができない。
特に、近年、オンラインサービス(Webサービス)によってバッチ処理(上記バッチ業務(a3)参照)が提供されるようになってきている。オンラインサービスによって提供されるバッチ処理は、図39に示すように、オンライン業務と同様、WebサーバおよびAPサーバを使用する。そのため、DBサーバ上で実行される業務がオンライン業務であるかバッチ業務であるの判別が難しく、処理要求(SQL)の発行元がエンドユーザであるかバッチサーバであるかを見極めなければならない。現状、Webサービスを利用したバッチ業務について、オンライン業務かバッチ業務かの判別を行なう手法が確立されていない。
そこで、本実施形態では、以下に説明するように、性能情報や接続情報といった表面上の情報、即ちOS(Operating System)などから取得できる一般的な情報に基づき、オンライン業務かバッチ業務かを適切に自動判別可能にする。これにより、業務特性に応じたオートスケールが実現される。
ここで、図1および図2を参照しながら、本実施形態における業務種別(処理要求種別)の判別手法の概要について説明する。なお、図1および図2は、本実施形態における業務種別の判別手法の概要を説明する図である。また、図1に示す業務システム1は、Webサーバ1a,APサーバ1b,DBサーバ1cおよびバッチサーバ1dを含んでいる。各サーバ1a〜1dの機能等については、図6を参照しながら後述する。また、業務システム1(Webサーバ1a)には、エンドユーザ(クライアント端末)2がネットワーク3を介して接続されており、業務システム1は、エンドユーザ2からの処理要求等に応じオンライン業務を実行するようになっている。
オンライン業務およびバッチ業務のパターンとしては、図1に示すように、4つのパターンA〜Dがあり、パターンA〜Dそれぞれの業務種別および特徴は、以下の通りである。なお、以下の説明において「業務」を「処理」という場合がある。
パターンA: オンライン業務(当該業務の処理の流れについては図1中の矢印A参照)。オンライン業務の特徴は以下の項目(A1)〜(A3)の通りである。
(A1) エンドユーザ2からのアクセスがWebサーバ1aおよびAPサーバ1bを経由する。
(A2) APサーバ1bがリモートでDBサーバ1cにSQLを発行する。
(A3) DBサーバ1c内のRDBMSのスレッドが起動され、オンライン処理が実行される。
パターンB: ローカルバッチ業務(当該業務の処理の流れについては図1中の矢印B参照)。ローカルバッチ業務の特徴は以下の項目(B1)〜(B3)の通りである。
(B1) バッチサーバ1dがDBサーバ1c内のローカルバッチを起動する。
(B2) DBサーバ1c内のローカルバッチプロセスが起動される。
(B3) DBサーバ1c内のRDBMSのスレッドが起動され、バッチ処理が実行される。
パターンC: リモートバッチ業務(当該業務の処理の流れについては図1中の矢印C参照)。リモートバッチ業務の特徴は以下の項目(C1)および(C2)の通りである。
(C1) バッチサーバ1dがリモートでDBサーバ1cにSQLを発行する。
(C2) DBサーバ1c内のRDBMSのスレッドが起動され、バッチ処理が実行される。
パターンD: Webサービスバッチ業務(当該業務の処理の流れについては図1中の矢印D参照)。Webサービスバッチ業務の特徴は、以下の項目(D1)〜(D3)の通りである。
(D1) バッチサーバ1dからのアクセスが、Webサービスを通じて、Webサーバ1aおよびAPサーバ1bを経由する。
(D2) APサーバ1bがリモートでDBサーバ1cにSQLを発行する。
(D3) DBサーバ1c内のRDBMSのスレッドが起動され、バッチ処理が実行される。
以上の特徴をまとめると、図2に示す表の通りである。そして、図2を参照しながら、パターンA〜Dを判別する基準I〜IIIについて説明する。
まず、図2の基準Iに基づき、判別対象業務がローカルバッチ業務であるかそれ以外の業務であるかを判別する。つまり、まず、判別対象業務を実行するに際しDBサーバ1cでローカルバッチプロセスが起動されていれば、判別対象業務はローカルバッチ業務であると判別する。
DBサーバ1cでローカルバッチプロセスが起動されていなければ、判別対象業務はローカルバッチ業務以外の業務であると判別し、図2の基準IIに基づき、判別対象業務がリモートバッチ業務であるかそれ以外の業務であるかを判別する。つまり、判別対象業務についてのリモートSQLの発行元がバッチサーバ1dであれば、判別対象業務はリモートバッチ業務であると判別する。
判別対象業務についてのリモートSQLの発行元がバッチサーバ1dでなければ、判別対象業務はリモートバッチ業務以外の業務であると判別し、図2の基準IIIに基づき、判別対象業務がWebサービスバッチ業務であるかオンライン業務であるかを判別する。つまり、後述するごとく、保存部(記憶部)120(バッチサーバ一覧情報DB122;図6参照)にSQL発行元サーバのアドレスが登録されていれば、判別対象業務はWebサービスバッチ業務であると判別する。一方、保存部120(バッチサーバ一覧情報DB122)にSQL発行元サーバのアドレスが登録されていなければ、判別対象業務はオンライン業務であると判別する。
以上のような基準I〜IIIに基づきパターンA〜Dを自動判別する手法の概要を、以下に説明する。本実施形態の手法では、後述する処理部(プロセッサ)110(図6参照)が、以下の手順1〜4で判別処理/制御処理を実行する。
手順1: 第1のコンピュータ(DBサーバ1c)に対する第2のコンピュータ(Webサーバ1a,APサーバ1b,バッチサーバ1d)による処理要求の処理要求内容(SQL情報)を取得する。
手順2: サーバ1a〜1dそれぞれの動作に関する第1および第2の動作情報(プロセス情報,ネットワーク情報)を取得する。
手順3: 処理実績情報と、前記処理要求内容(SQL情報)と、前記の第1および第2の動作情報(プロセス情報,ネットワーク情報)とに基づき、前記処理要求の処理要求種別(バッチ処理/オンライン処理)を判別する。なお、前記処理実績情報は、DBサーバ1cに対する前記処理要求の処理要求内容に含まれる当該処理要求に対応したDBサーバ1cによる処理履歴と当該処理要求を行なったAPサーバ1bまたはバッチサーバ1dの当該処理要求に関連した前記第2の動作情報(プロセス情報)とを対応づけたものである。前記処理実績情報の具体例については、図19や図31を参照しながら後述する。
手順4: 前記処理要求種別の判別結果に基づき業務システム1(サーバ1a〜1d)に割り当てられるリソースの制御を行なう。
このとき、本実施形態の手法では、処理部110が、以下の手順11〜14でローカルバッチ処理の判別処理を実行する。
手順11: 前記処理要求の処理要求内容に含まれる当該処理要求の発行元プロセス識別情報が、DBサーバ1cから取得された前記第1の動作情報に含まれるプロセス情報にあるか否かを判別する。
手順12: 当該処理要求の発行元プロセス識別情報が前記プロセス情報にあれば、前記処理要求の処理要求種別は、バッチサーバ1dによるローカルバッチ処理であると判別する。
手順13: 前記処理要求の処理要求内容と前記第1の動作情報(ネットワーク情報)とに基づき、前記ローカルバッチ処理の処理要求を発行したバッチサーバ1dの第1アドレス情報を取得する。
手順14: 前記第1アドレス情報を保存部120(バッチサーバ一覧情報DB122)に保存する。
ついで、本実施形態の手法では、処理部110が、以下の手順21〜25でリモートバッチ処理の判別処理を実行する。
手順21: 当該処理要求の発行元プロセス識別情報が前記プロセス情報になければ、前記処理要求の処理要求内容と前記第1の動作情報(ネットワーク情報)とに基づき、当該処理要求を発行したサーバ1b/1dの第2アドレス情報を取得する。
手順22: 前記第2アドレス情報で指定されるサーバ1b/1dから、前回の処理要求による処理開始から処理終了までの第1リソース使用量と前記処理終了から当該処理要求による処理開始までの第2リソース使用量とを前記処理実績情報として取得する。
手順23: 前記第1リソース使用量に対して前記第2リソース使用量が増加しているか否かを判別する。
手順24: 前記第1リソース使用量に対して前記第2リソース使用量が増加していれば、前記処理要求の処理要求種別は、バッチサーバ1dによるリモートバッチ処理であると判別する。
手順25: 前記第2アドレス情報を、バッチサーバ1dのアドレス情報として保存部120(バッチサーバ一覧情報DB122)に保存する。
ついで、本実施形態の手法では、処理部110が、以下の手順31〜35でWebサービスバッチ処理であるかオンライン処理であるかの判別処理を実行する。
手順31: 前記第1リソース使用量に対して前記第2リソース使用量が増加していなければ、前記第2アドレス情報をAPサーバ1bのアドレス情報として取得する。
手順32: 前記処理要求の処理要求内容とAPサーバ1bのアドレス情報とWebサーバ1aから取得された前記第1の動作情報(ネットワーク情報)とに基づき、当該処理要求の発行元サーバの第3アドレス情報を検出する。
手順33: 前記第3アドレス情報がバッチサーバ一覧情報DB122に保存されているか否かを判別する。
手順34: 前記第3アドレス情報がバッチサーバ一覧情報DB122に保存されていれば、前記処理要求の処理要求種別は、バッチサーバ1dによってWebサーバ1a経由で行なわれるWebサービスバッチ処理であると判別する。
手順35: 前記第3アドレス情報が保存部120(バッチサーバ一覧情報DB122)に保存されていなければ、前記処理要求の処理要求種別は、オンライン処理であると判別する。
以上のような本実施形態の判別手法による判別可否と、上述した公知技術による判別可否とを比較して、図3に示す。なお、図3では、業務種別と、各業務種別のシステム構成および処理の流れと、公知技術による判別可否と、本実施形態の判別手法による判別可否とが対応付けて示されている。
図3に示すように、上述した公知技術では、ローカルバッチ業務およびWebサービスバッチ業務を判別することはできない(NG)。リモートバッチ業務およびオンライン業務については、一部、判別することができる(一部OK)。リモートバッチ業務については、APサーバ1bから発行されたバッチ業務は判別可能であるが、バッチサーバ1dから発行されたバッチ業務は判別不可である。また、オンライン業務については、Webサービスバッチ業務もオンライン業務と判別してしまう。
これに対し、本実施形態の判別手法では、図3に示すように、4つのパターンA〜Dであるローカルバッチ業務,リモートバッチ業務,Webサービスバッチ業務,オンライン業務のいずれについても判別可能である。
〔2〕本実施形態の構成
まず、図6を参照しながら、本実施形態の業務システム1および管理サーバ(制御装置)100の構成について説明する。図6は、本実施形態に係る業務システム1および管理サーバ(制御装置)100のハードウエア構成例および機能構成例を示すブロック図である。
図6に示す本実施形態の業務システム1も、図1を参照しながら前述した業務システム1と同様に構成されている。つまり、業務システム1は、Webサーバ1a,APサーバ1b,DBサーバ1c,バッチサーバ1dおよびデータベース(DB)1eを含んでいる。また、業務システム1(Webサーバ1a)には、エンドユーザ(クライアント端末)2がネットワーク3を介して接続されており、業務システム1は、エンドユーザ2からの処理要求等に応じオンライン業務を実行するようになっている。ネットワーク3としては、インターネット,LAN(Local Area Network),WAN(Wide Area Network)などが用いられている。
また、業務システム1は、オンライン業務(パターンA)とバッチ業務(パターンB〜D)とが混在するシステムである。オンライン業務は、クライアント端末2からの処理要求に応じて処理を行なう業務である。バッチ業務は、例えば、一定期間収集したデータを一括処理、または、複数の手順からなる処理を予め決められた手順に従って連続処理する業務であり、前述した3つのパターンB,C,Dをもつ。
さらに、業務システム1には、管理サーバ(制御装置)100が接続されている。管理サーバ100は、DBサーバ1cに対する処理要求(業務)の種別を判別し、判別結果に基づき当該業務システム1のリソース(サーバ,CPU,メモリ等)の追加/削減つまりオートスケールを行なう。なお、Webサーバ1a,APサーバ1b,DBサーバ1c,バッチサーバ1dおよび管理サーバ100は、インターネット,LAN,WANなどのネットワークを介して相互に通信可能に接続されている。
ここで、Webサーバ1aは、クライアント端末2に搭載されたブラウザからの処理要求に応じて、HTML(HyperText Markup Language)文書を送信するコンピュータである。APサーバ1bは、Webサーバ1aとDBサーバ1cとの橋渡しを行ない、DB1eに対する処理(検索処理,更新処理,削除処理など)を制御するコンピュータである。DBサーバ1cは、データ群を格納するDB1eを備え、当該DB1eに対する処理を実行するコンピュータである。バッチサーバ1dは、DBサーバ1cを介してDB1eに格納されたデータ群にアクセスし当該データ群に基づくバッチ業務を実行するコンピュータである。クライアント端末2は、ブラウザを備え、Webサーバ1aと通信するコンピュータである。クライアント端末2は、例えば、パーソナル・コンピュータ,スマートフォン,携帯電話端末である。
そして、本実施形態の管理サーバ100には、管理マネージャ101が配置されている。管理マネージャ101は、少なくとも、CPU,MPU(Micro-Processing Unit),コンピュータ等の処理部(プロセッサ)110と、RAM(Random Access Memory),HDD(Hard Disk Drive),SSD(Solid State Device)等の記憶部(メモリ,保存部)120とを有している。
処理部110は、記憶部120から所定のアプリケーションプログラム(制御プログラム)を読み出して実行することで、後述する第1取得部や第2取得部としての機能のほか、判部111およびリソース制御部112としての機能を果たす。なお、前記所定のアプリケーションプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RWなど),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD−RW,DVD+R,DVD+RWなど),ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、処理部110は、当該記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置としての記憶部120に転送し格納して用いる。
記憶部120は、前記所定のアプリケーションプログラムを保存するほか、処理部110による処理に必要な各種情報等を保存する。例えば、記憶部120は、前記各種情報等として、SQL・業務種別履歴DB121およびバッチサーバ一覧情報DB122を保存する。SQL・業務種別履歴DB121については、図13および図14を参照しながら後述する。バッチサーバ一覧情報DB122については、図15および図16を参照しながら後述する。
管理サーバ100に配置される管理マネージャ101(処理部110)は、業務システム1内のサーバ群(サーバ1a〜1d)にそれぞれ配置されている管理エージェント10a〜10dから、後述する各種情報を収集取得する第1取得部および第2取得部としての機能を果たす。管理エージェント10a〜10dは、それぞれ、Web情報収集部11a,AP情報収集部11b,DB情報収集部11cおよびバッチ情報収集部11dとしての機能を有している。
Web情報収集部11aは、Webサーバ1aのネットワーク情報を収集して処理部110(Webサービスバッチ業務/オンライン業務判断部111c)に通知する(図7,図21参照)。処理部110は、Web情報収集部11aからWebサーバ1aのネットワーク情報を受信することで、Web情報収集部11aとともに、Webサーバ1aの動作に関する第2の動作情報を取得する第2取得部としての機能を果たす。
AP情報収集部11bは、APサーバ1bのプロセス情報およびネットワーク情報を収集して処理部110(リモートバッチ業務判断部111b)に通知する(図7,図18,図20参照)。処理部110は、AP情報収集部11bからAPサーバ1bのプロセス情報およびネットワーク情報を受信することで、AP情報収集部11bとともに、APサーバ1bの動作に関する第2の動作情報を取得する第2取得部としての機能を果たす。
DB情報収集部11cは、DBサーバ1cに対するSQL情報(サーバ1a〜1cによる処理要求の処理要求内容)と、DBサーバ1cのプロセス情報およびネットワーク情報を収集して処理部110(ローカルバッチ業務判断部111a)に通知する(図7〜図12参照)。処理部110は、DB情報収集部11cからSQL情報を受信することで、DB情報収集部11cとともに、サーバ1a〜1cによる処理要求の処理要求内容を取得する第1取得部としての機能を果たす。また、処理部110は、DB情報収集部11cからDBサーバ1cのプロセス情報およびネットワーク情報を受信することで、DB情報収集部11cとともに、DBサーバ1cの動作に関する第2の動作情報を取得する第2取得部としての機能を果たす。
バッチ情報収集部11dは、バッチサーバ1dのプロセス情報およびネットワーク情報を収集して処理部110(リモートバッチ業務判断部111b)に通知する(図7,図18,図20参照)。処理部110は、バッチ情報収集部11dからバッチサーバ1dのプロセス情報およびネットワーク情報を受信することで、バッチ情報収集部11dとともに、バッチサーバ1dの動作に関する第2の動作情報を取得する第2取得部としての機能を果たす。
ついで、処理部110によって実現される判別部11(ローカルバッチ業務判断部111a,リモートバッチ業務判断部111b,Webサービスバッチ業務/オンライン業務判断部111c)およびリソース制御部112としての機能について説明する。
判別部111は、処理実績情報と、DB情報収集部11cから通知されたSQL情報(DBサーバ1cに対する処理要求の内容)と、収集部11a〜11dから通知されたプロセス情報およびネットワーク情報とに基づき、前記処理要求の処理要求種別つまり業務システム1で実行される業務種別(バッチ業務かオンライン処理か)を判別する。
なお、処理実績情報は、AP情報収集部11bまたはバッチ情報収集部11dからプロセス情報として通知される。そして、当該処理実績情報は、DBサーバ1cに対する処理要求のSQL情報に含まれる当該処理要求に対応したDBサーバ1cによる処理履歴と当該処理要求を行なったAPサーバ1bまたはバッチサーバ1dの当該処理要求に関連したプロセス情報とを対応づけたものである。当該処理実績情報の具体例については、図19や図31を参照しながら後述する。
より具体的に、判別部111は、ローカルバッチ業務判断部111a,リモートバッチ業務判断部111b,Webサービスバッチ業務/オンライン業務判断部111cを含み、これらの判断部111a〜111cを用いて業務種別の判別を行なう。
ローカルバッチ業務判断部111aは、上述した手順11〜14でローカルバッチ業務(パターンB;上記バッチ業務(a1))の判断処理を実行する。つまり、ローカルバッチ業務判断部111aは、まず、SQL情報に含まれる処理要求の発行元プロセスID(識別情報)が、DBサーバ1cから取得されたプロセス情報にあるか否かを判別する(手順11)。当該処理要求の発行元プロセス識別情報が前記プロセス情報にあれば、ローカルバッチ業務判断部111aは、業務種別はバッチサーバ1dによるローカルバッチ処理であると判別する(手順12)。このとき、ローカルバッチ業務判断部111aは、SQL情報とバッチサーバ1dから取得されたネットワーク情報とに基づき、ローカルバッチ処理の処理要求を発行したバッチサーバ1dのIP(Internet Protocol)アドレス(第1アドレス情報)を取得する(手順13)。そして、ローカルバッチ業務判断部111aは、バッチサーバ1dのIPアドレスを保存部120のバッチサーバ一覧情報DB122に保存する(手順14)。ローカルバッチ業務判断部111aによるローカルバッチ業務(パターンB;上記バッチ業務(a1))の具体的な判断処理については、図12および図23を参照しながら後述する。
リモートバッチ業務判断部111bは、上述した手順21〜25でリモートバッチ業務(パターンC;上記バッチ業務(a2))の判断処理を実行する。つまり、当該処理要求の発行元プロセスIDが前記プロセス情報になければ、リモートバッチ業務判断部111bは、SQL情報とネットワーク情報とに基づき、当該処理要求を発行したサーバ1bまたは1dのIPアドレス(第2アドレス情報)を取得する(手順21)。ついで、リモートバッチ業務判断部111bは、取得した当該IPアドレスで指定されるサーバ1bまたは1dから、前回の処理要求による処理開始から処理終了までの第1リソース使用量と前記処理終了から当該処理要求による処理開始までの第2リソース使用量とを前記処理実績情報として取得する(手順22)。そして、リモートバッチ業務判断部111bは、第1リソース使用量に対して第2リソース使用量が増加しているか否かを判別する(手順23)。第1リソース使用量に対して第2リソース使用量が増加していれば、リモートバッチ業務判断部111bは、業務種別はバッチサーバ1dによるリモートバッチ処理であると判別する(手順24)。そして、リモートバッチ業務判断部111bは、前記第2アドレス情報として得られたIPアドレスを、バッチサーバ1dのアドレス情報として保存部120のバッチサーバ一覧情報DB122に保存する(手順25)。リモートバッチ業務判断部111bによるリモートバッチ業務(パターンC;上記バッチ業務(a2))の具体的な判断処理については、図17〜図20および図24を参照しながら後述する。なお、第1リソース使用量は、例えば図19に示す期間TAにおける使用量であり、第リソース使用量は、例えば図19に示す期間TBにおける使用量である。
Webサービスバッチ業務/オンライン業務判断部111cは、上述した手順31〜35でWebサービスバッチ業務(パターンD;上記業務(a3))かオンライン業務(パターンA)かの判断処理を実行する。つまり、第1リソース使用量に対して第2リソース使用量が増加していなければ、判断部111cは、前記第2アドレス情報として得られたIPアドレスを、APサーバ1bのアドレス情報として取得する(手順31)。判断部111cは、SQL情報とAPサーバ1bのIPアドレスとWebサーバ1aから取得されたネットワーク情報とに基づき、当該処理要求の発行元サーバのIPアドレス(第3アドレス情報)を検出する(手順32)。そして、判断部111cは、当該IPアドレス(第3アドレス情報)がバッチサーバ一覧情報DB122に保存されているか否かを判別する(手順33)。当該IPアドレス(第3アドレス情報)がバッチサーバ一覧情報DB122に保存されていれば、判断部111cは、業務種別はバッチサーバ1dによってWebサーバ1a経由で行なわれるWebサービスバッチ業務であると判別する(手順34)。一方、当該IPアドレス(第3アドレス情報)がバッチサーバ一覧情報DB122に保存されていなければ、判断部111cは、業務種別はオンライン処理であると判別する。判断部111cによるWebサービスバッチ業務(パターンD;上記業務(a3))かオンライン業務(パターンA)かの具体的な判断処理については、図21および図25を参照しながら後述する。
リソース制御部112は、判別部111による判別結果に基づき(つまり業務システム1において実行すべき業務の業務種別がオンライン業務かバッチ業務かに応じ)サーバ1a〜1dに割り当てられるリソースの制御を行なう。例えば、リソース制御部112は、実行すべき業務がオンライン業務である場合、上記技術(b2)を業務システム1に適用するように制御を行なう。一方、リソース制御部112は、実行すべき業務がバッチ業務である場合、上記技術(b2)の適用を解除するように制御を行なう。これにより、バッチ業務時にサーバ/リソースの処理性能が最大限に使用されても、バッチ業務が完了するまで際限なくスケールアウト/スケールアップが繰り返されるのを抑止することができる。
〔3〕本実施形態の具体的な機能および動作
次に、図7〜図35を参照しながら、本実施形態に係る業務システム1および管理サーバ100の具体的な機能および動作(処理)について説明する。
〔3−1〕本実施形態における業務種別の判別手法による処理の流れ
図7の矢印A1〜A12を参照しながら、本実施形態における業務種別の判別手法による処理の流れについて説明する。
DB情報収集部11cは、DBサーバ1cのSQL情報を定期的に取得する。新たなSQLアクセスが発生したとき、DB情報収集部11cは、SQL情報,プロセス情報,ネットワーク情報を、ローカルバッチ業務判断部111aに渡す(矢印A1参照)。なお、DB情報収集部11cの動作、および、DB情報収集部11cによって収集されるSQL情報,プロセス情報,ネットワーク情報については、図8〜図11を参照しながら後述する。
ローカルバッチ業務判断部111aは、SQL発行時にDBサーバ1cにプロセスが追加されたか否かによって、当該SQLに対応する業務(判別対象業務)がローカルバッチ業務であるかそれ以外の業務であるかを判別する(上記手順11および図2の基準I参照)。SQL発行時にDBサーバ1cにプロセスが追加された場合、ローカルバッチ業務判断部111aは、判別対象業務はローカルバッチ業務(パターンB;バッチ業務(a1))であると判別する。そして、ローカルバッチ業務判断部111aは、SQLと判別結果の業務種別情報“バッチ”とをSQL・業務種別履歴DB121に格納する(矢印A2参照)。また、ローカルバッチ業務判断部111aは、SQL発行元のバッチサーバ1dのIPアドレスを取得し、バッチサーバ一覧情報DB122に格納する(矢印A3参照)。一方、プロセスが追加されていない場合、ローカルバッチ業務判断部111aは、判別対象業務はローカルバッチ業務以外であると判別し、リモートバッチ業務判断部111bの処理に移行する(矢印A4参照)。ここまでの処理で、判別対象業務は、ローカルバッチ業務ではないことが確定し、リモートバッチ業務,Webサービスバッチ業務,オンライン業務のいずれかである。
リモートバッチ業務判断部111bは、ローカルバッチ業務判断部111aから受け渡されたDBサーバ1cのネットワーク情報から、SQLを発行したサーバ1bまたは1dのIPアドレスを取得する。この段階で、リモートバッチ業務判断部111bは、SQLを発行したサーバがAPサーバ1bであるかバッチサーバ1dであるかは見えていない。そこで、リモートバッチ業務判断部111bはSQL発行元サーバがサーバ1bかサーバ1dかを特定すべく、取得したIPアドレスで指定されるサーバ1bまたは1dに、プロセス情報およびネットワーク情報の収集を要求する(矢印A5,A6参照)。
当該要求を受けたサーバ1bまたは1dにおける収集部11bまたは11dは、サーバ1bまたは1dのプロセス情報(プロセスのリソース使用状況を含む)とネットワーク情報とを収集し、リモートバッチ業務判断部111bに通知する(矢印A5,A6)。
リモートバッチ業務判断部111bは、通知されたプロセス情報を参照し、当該SQLを発行したプロセスのリソースの利用特性に基づき、判別対象業務がリモートバッチ業務であるかそれ以外の業務であるかを判別する(上記手順23,24および図2の基準II参照)。リモートバッチ業務判断部111bは、判別対象業務がリモートバッチ業務であると判別した場合、SQLと判別結果の業務種別情報“バッチ”とをSQL・業務種別履歴DB121に格納する(矢印A7参照)。また、リモートバッチ業務判断部111bは、SQL発行元のバッチサーバ1dのIPアドレスをバッチサーバ一覧情報DB122に格納する(矢印A8参照)。一方、リモートバッチ業務判断部111bは、判別対象業務がリモートバッチ業務以外であると判別した場合、判別対象業務はリモートバッチ業務以外であると判別し、Webサービスバッチ業務/オンライン業務判断部111cの処理に移行する(矢印A9参照)。ここまでの処理で、判別対象業務は、ローカルバッチ業務でもリモートバッチでもないことが確定し、Webサービスバッチ業務およびオンライン業務のいずれかである。
そして、Webサービスバッチ業務/オンライン業務判断部111cは、判断部111bで取得されたIPアドレス(第2アドレス情報)をAPサーバ1bのIPアドレスとして取得する。判断部111cは、取得されたAPサーバ1bのIPアドレスと、判断部111bから受け渡されたSQLと、収集部11aを通じて取得されたWebサーバ1aのネットワーク情報とに基づき、SQLの発行元サーバのIPアドレス(第3アドレス情報)を検出する。そして、判断部111cは、検出されたIPアドレスがバッチサーバ一覧情報DB122に含まれているか否かによって、判別対象業務がWebサービスバッチ業務であるかオンライン業務であるかを判別する(矢印A10,A11;上記手順33〜35および図2の基準III参照)。検出されたIPアドレスがDB122に含まれていて判別対象業務がWebサービスバッチ業務であると判別された場合、判断部111cは、SQLと判別結果の業務種別情報“バッチ”とをSQL・業務種別履歴DB121に格納する(矢印A12参照)。一方、検出されたIPアドレスがDB122に含まれておらず判別対象業務がオンライン業務であると判別された場合、判断部111cは、SQLと判別結果の業務種別情報“オンライン”とをSQL・業務種別履歴DB121に格納する(矢印A12参照)。
〔3−2〕DB情報収集部の機能および動作
次に、図8〜図11を参照しながら、DB情報収集部11cの機能および動作と、DB情報収集部11cによって取得されるSQL情報,プロセス情報およびネットワーク情報とについて、より具体的に説明する。なお、図8は、DB情報収集部11cの機能および動作を説明する図である。図9は、DB情報収集部11cによって取得されるSQL情報の一例を示す図である。図10は、DB情報収集部11cによって取得されるプロセス情報の一例を示す図である。図11は、DB情報収集部11cによって取得されるネットワーク情報の一例を示す図である。
DB情報収集部11cは、下記の動作(c1)〜(c3)を行なう。
(c1) DB情報収集部11cは、DBサーバ1cにおいて、定期的に以下の情報(c11)および(c12)を収集する。
(c11) RDBMSの監査ログ等からSQL情報を収集する(図8の矢印A21参照)。
(c12) OSのpsコマンド等を用いてDBサーバ1cのOSからプロセス情報を収集する(図8の矢印A22参照)。
(c2) DB情報収集部11cは、DBサーバ1cにおいて、SQL情報に新規SQLログが追加されたときに以下の情報(c21)(c23)を収集する。
(c21) RDBMSの監査ログ等からSQL情報を収集する(図8の矢印A21参照)。
(c22) OSのpsコマンド等を用いてDBサーバ1cのOSからプロセス情報を収集する(図8の矢印A22参照)。
(c23)OSのnetstatコマンドを用いてDBサーバ1cのOSからネットワーク情報を収集する(図8の矢印A23参照)。
(c3) DB情報収集部11cは、上記(c1)および(c2)で収集・取得した以下の情報(c31)〜(c33)をローカルバッチ業務判断部111aに通知する(図8の矢印A1参照)。
(c31) RDBMSのSQL情報(新規SQLログの追加前と追加後のSQL情報)
(c32) OSのプロセス情報(新規SQLログの追加前と追加後のプロセス情報)
(c33) OSのネットワーク情報(新規SQLログの追加後のネットワーク情報)
なお、上記(c11)および(c21)において、DBサーバ1c内におけるRDBMSの監査ログ等から、図9に示すようなSQL情報がSQL毎に収集される。図9に示す例では、SQL情報として、情報取得時刻,プロセスID,セッションID,SQL文,SQLの処理開始時刻およびSQLの処理終了時刻が含まれている。
また、上記(c12)および(c22)において、OSのpsコマンド等を用いてDBサーバ1cのOSから、図10に示すようなプロセス情報がプロセス毎に収集される。図10に示す例では、プロセス情報として、情報取得時刻,使用プロセス名,プロセスID,セッションID,CPU使用率(%),メモリ使用量およびスレッド数が含まれている。
さらに、上記(c23)において、OSのnetstatコマンドを用いてDBサーバ1cのOSから、図11に示すようなネットワーク情報が収集される。図11に示す例では、ネットワーク情報として、情報取得時刻,実行プロセス名,プロセスID,ローカルアドレスおよび外部アドレスが含まれている。
〔3−3〕ローカルバッチ業務判断部の機能および動作
次に、図12〜図16を参照しながら、ローカルバッチ業務判断部111aの機能および動作について、より具体的に説明する。なお、図12は、ローカルバッチ業務判断部111aの機能および動作を説明する図である。図13は、SQL・業務種別履歴DB121に対する保存処理について説明する図である。図14は、SQL・業務種別履歴DB121に保存される情報の一例を示す図である。図15は、バッチサーバ一覧情報DB122に対する保存処理について説明する図である。図16は、バッチサーバ一覧情報DB122に保存される情報の一例を示す図である。
ローカルバッチ業務判断部111aは、下記の動作(d1)〜(d5)を行なう。
(d1) ローカルバッチ業務判断部111aは、DB情報収集部11cから、RDBMSのSQL情報,OSのプロセス情報およびOSのネットワーク情報を受け取る(図12の矢印A1参照)。
(d2) ローカルバッチ業務判断部111aは、RDBMSのSQL情報から、追加されたSQLの発行元プロセスIDを取得する。
(d3) ローカルバッチ業務判断部111aは、DB情報収集部11cから取得したOSのプロセス情報を参照し、当該OSのプロセス情報に上記(d2)で取得したプロセスIDがあるか否かを判断する。
(d4) プロセスIDがあった場合、ローカルバッチ業務判断部111aは、判別対象業務はローカルバッチ業務であると判別し、SQLと判別結果の業務種別情報“バッチ”とをSQL・業務種別履歴DB121に格納する(図12の矢印A2参照)。また、ローカルバッチ業務判断部111aは、SQL情報とネットワーク情報とに基づき、ローカルバッチ業務の要求を発行しているリモートバッチサーバ1dのIPアドレスを取得し、バッチサーバ一覧情報DB122に格納する(図12の矢印A3参照)。
(d5) プロセスIDがない場合つまりプロセスが追加されていない場合、ローカルバッチ業務判断部111aは、判別対象業務はローカルバッチ業務以外であると判別する。そして、ローカルバッチ業務判断部111aは、取得した各種情報をリモートバッチ業務判断部111bに通知するとともに、判断をリモートバッチ業務判断部111bに委譲する(図12の矢印A4参照)。
なお、SQL・業務種別履歴DB121には、各判断部111a〜111cで業務種別がバッチ業務またはオンライン業務であると判別された場合、図14に示すような情報が保存される(図13の矢印A2,A7,A12参照)。つまり、SQL・業務種別履歴DB121には、SQL情報と、業務種別判別結果(バッチ業務/オンライン業務)と、SQL発行元サーバのIPアドレスとが、SQL毎に保存される。SQL情報としては、図9に示したものと同様、情報取得時刻,プロセスID,セッションID,SQL文,SQLの処理開始時刻およびSQLの処理終了時刻が含まれている。
また、バッチサーバ一覧情報DB122には、各判断部111a,111bにおいて業務種別がバッチ業務であると判別された場合、図16に示すような情報が保存される(図15の矢印A3,A8参照)。つまり、バッチサーバ一覧情報DB122には、登録日時と、バッチ業務であると判別された業務の要求を発行しているバッチサーバのIPアドレスと、最終更新日時とが保存される。各判断部111a,111bからDB122に送信されたバッチサーバのIPアドレスが新規である場合、DB122に新たなレコードが追加され、追加されたレコードに新たなIPアドレスが登録される。一方、当該IPアドレスが新規でない場合(重複する場合)、当該IPアドレスを登録されているレコードの最終更新日時の更新が行なわれる。
〔3−4〕リモートバッチ業務判断部およびAP情報収集部/バッチ情報収集部の機能および動作
次に、図17〜図20を参照しながら、リモートバッチ業務判断部111bおよびAP情報収集部11b/バッチ情報収集部11dの機能および動作について、より具体的に説明する。なお、図17および図20は、リモートバッチ業務判断部111bの機能および動作を説明する図である。図18は、AP情報収集部11bまたはバッチ情報収集部11dの機能および動作を説明する図である。図19は、リモートバッチ業務判断部111bの判別基準について説明する図である。
リモートバッチ業務判断部111bは、まず、下記の動作(e1)〜(e3)を行なう。
(e1) リモートバッチ業務判断部111bは、SQL情報に基づき、当該SQLの属するセッションで発行された連続するSQLを特定し、前回のSQL開始時刻およびSQL終了時刻と、新規に発行された今回のSQLの開始時刻とを取得する。
(e2) リモートバッチ業務判断部111bは、SQL情報,プロセス情報およびネットワーク情報に基づき、リモートでSQLを発行しているサーバのIPアドレスを取得する。前述したように、この時点で、リモートバッチ業務判断部111bは、SQLを発行したサーバがAPサーバ1bであるかバッチサーバ1dであるかは見えていない。
(e3) リモートバッチ業務判断部111bは、SQL発行元サーバがサーバ1bかサーバ1dかを特定すべく、上記(e1)で取得した情報を、上記(e2)で取得したIPアドレスによって指定されるサーバ1bまたは1dに通知する(図17の矢印A5/A6参照)。これにより、SQL発行元サーバがサーバ1bかサーバ1dかを特定すべく、取得したIPアドレスで指定されるサーバ1bまたは1dに、プロセス情報およびネットワーク情報の収集が要求される。
この後、AP情報収集部11bまたはバッチ情報収集部11dは、下記の動作(f1)および(f2)を行なう。
(f1) 収集部11b/11dは、以下の期間(f11)および(f12)におけるリソース使用状況(CPU使用率,メモリ使用量)を、プロセス情報(処理実績情報)として取得する(図18の矢印A24参照)。また、収集部11b/11dは、OSのnetstatコマンドを用いてサーバ1b/1dのOSからネットワーク情報を取得する(図18の矢印A25参照)。
(f11) 前回のSQLの開始時刻から終了時刻までの間(図19の期間TA)におけるリソース使用量(第1リソース使用量)。第1リソース使用量としては、期間TAにおけるリソース使用量の平均値を用いることができる。
(f12) 前回のSQLの終了時刻から今回のSQL(新規SQL)の開始時刻までの間(図19の期間TB)におけるリソース使用量(第2リソース使用量)。第2リソース使用量としては、期間TBにおけるリソース使用量の平均値を用いることができる。
(f2) 収集部11b/11dは、上記(f1)で取得した第1リソース使用量および第2リソース使用量を含むプロセス情報やサーバ1b/1dのネットワーク情報をリモートバッチ業務判断部111bに通知する(図18の矢印A5/A6参照)。
ここで、図19を参照しながら、リモートバッチ業務判断部111bの判別基準、つまり判別対象業務がリモートバッチ業務であるかそれ以外の業務であるかの判別を行なう基準について説明する。
図19(A)に示すように、APサーバ1bでのプロセスのリソース使用量は、通常、期間TA,TBに関係なくほぼ一定である。図19(B)に示すように、DBサーバ1cでは、期間TAにSQLの処理を行なうため、期間TAのリソース使用量が多くなり、SQL処理を終了した後の期間TBのリソース使用量は、期間TAのリソース使用量に対し減少する。図19(C)に示すように、バッチサーバ1dでは、期間TAの間はDBサーバ1cのSQL処理待ちであるためリソース使用量は少ないが、SQL処理終了後にはバッチ処理が実行されるため、期間TBのリソース使用量は、期間TAのリソース使用量に対し増加する。
このようなリソースの使用状況(処理実績情報)の特性に基づき、リモートバッチ業務判断部111bは、期間TAのリソース使用量(第1リソース使用量)に対して期間TBのリソース使用量(第2リソース使用量)が増加する場合に、判別対象業務がリモートバッチ業務であると判別することができる。
そこで、リモートバッチ業務判断部111bは、収集部11b/11dからの通知を受けると(図20の矢印A5/A6参照)、下記の動作(e4)〜(e6)を行なう。
(e4) リモートバッチ業務判断部111bは、収集部11b/11dから受け取った情報(第1リソース使用量および第2リソース使用量)に基づき、判別対象業務がリモートバッチ業務であるかそれ以外の業務であるかの判別を行なう。つまり、リモートバッチ業務判断部111bは、第1リソース使用量に対して第2リソース使用量が増加しているか否かを判別する。
(e5)第1リソース使用量に対して第2リソース使用量が増加していれば、リモートバッチ業務判断部111bは、判別対象業務はバッチサーバ1dによるリモートバッチ業務であると判別する。そして、リモートバッチ業務判断部111bは、SQLと判別結果の業務種別情報“バッチ”とをSQL・業務種別履歴DB121に格納する(図20の矢印A7参照)。また、リモートバッチ業務判断部111bは、ネットワーク情報に基づき、バッチサーバ1dのIPアドレスを取得し、バッチサーバ一覧情報DB122に格納する(図20の矢印A8参照)。
(e6) 第1リソース使用量に対して第2リソース使用量が増加していない場合、リモートバッチ業務判断部111bは、判別対象業務はローカルバッチ業務およびリモートバッチ業務以外であると判別する。そして、リモートバッチ業務判断部111bは、取得した各種情報を判断部111cに通知するとともに、判断を判断部111cに委譲する(図20の矢印A9参照)。
〔3−5〕Webサービスバッチ業務/オンライン業務判断部の機能および動作
次に、図21を参照しながら、Webサービスバッチ業務/オンライン業務判断部111cの機能および動作について、より具体的に説明する。なお、図21は、図6に示すWebサービスバッチ業務/オンライン業務判断部111cの機能および動作を説明する図である。
判断部111cは、下記の動作(g1)〜(g4)を行なう。
(g1) 判断部111cは、リモートバッチ業務判断部111bから受け取ったSQL情報等(図21の矢印A9参照)と、収集部11aを通じて取得されたWebサーバ1aのネットワーク情報(図21の矢印A10参照)とに基づき、SQL発行元サーバのIPアドレスを検出する。このとき、プロセスIDとローカルIPアドレス/外部IPアドレスおよびポートとの組合せに基づきWebサーバ1aの上流側を辿ることにより、SQL発行元サーバのIPアドレスが検出される。
(g2) 判断部111cは、上記(g1)で検出されたSQL発行元サーバのIPアドレスとバッチサーバ一覧情報DB122に格納されているIPアドレス(図21の矢印A11参照)とを比較する。これにより、判断部111cは、バッチサーバ一覧情報DB122に、上記(g1)で検出されたSQL発行元サーバのIPアドレスと一致するものが保存されているか否かを判断する。
(g3) SQL発行元サーバのIPアドレスと一致するものがある場合、判断部111c
は、判別対象業務はバッチサーバ1dによるWebサービスバッチ業務であると判別する。そして、判断部111cは、SQLと判別結果の業務種別情報“バッチ”とをSQL・業務種別履歴DB121に格納する(図21の矢印A12参照)。
(g4) SQL発行元サーバのIPアドレスと一致するものがない場合、判断部111c
は、判別対象業務はオンライン業務であると判別する。そして、判断部111cは、SQLと判別結果の業務種別情報“オンライン”とをSQL・業務種別履歴DB121に格納する(図21の矢印A12参照)。
〔3−6〕本実施形態の処理手順のフローチャートによる説明
次に、図22〜図25に示すフローチャートに従って、本実施形態の処理手順について説明する。
〔3−6−1〕管理マネージャによる処理全体
まず、図22に示すフローチャート(ステップS1〜S8)に従って、管理マネージャ101の動作(処理全体)について概略的に説明する。
管理マネージャ101(処理部110)は、DBサーバ1cにおいてSQLログが出力される都度、DBサーバ1cのDB情報収集部11cを通じて、DBサーバ1cのSQL情報を取得する(ステップS1)。この後、管理マネージャ101は、SQLアクセスの発生ログが出力されたか否かを判定する(ステップS2)。SQLアクセスの発生ログが出力されていない場合(ステップS2のNOルート)、管理マネージャ101は、ステップS1の処理に戻る。
SQLアクセスの発生ログが出力された場合(ステップS2のYESルート)、管理マネージャ101(判断部111a)は、判別対象業務がローカルバッチ業務であるかそれ以外の業務であるかを判別する(ステップS3;図23参照)。判別対象業務がローカルバッチ業務である場合(ステップS4のYESルート)、管理マネージャ101(処理部110)は、ステップS8の処理に移行する。
判別対象業務がローカルバッチ業務でない場合(ステップS4のNOルート)、管理マネージャ101(判断部111b)は、判別対象業務がリモートバッチ業務であるかそれ以外の業務であるかを判別する(ステップS5;図24参照)。判別対象業務がリモートバッチ業務である場合(ステップS6のYESルート)、管理マネージャ101(処理部110)は、ステップS8の処理に移行する。
判別対象業務がリモートバッチ業務でない場合(ステップS6のNOルート)、管理マネージャ101(判断部111c)は、判別対象業務がWebサービスバッチ業務であるかオンライン業務であるかを判別する(ステップS7;図25参照)。
以上のようにして判別対象業務がバッチ業務であるかオンライン業務であるかが判別されると、管理マネージャ101(リソース制御部112)は、ステップS8において、判別部111による判別結果に基づき業務システム1(サーバ1a〜1d)に割り当てられるリソースの制御を行なう(ステップS8)。つまり、業務システム1において実行すべき業務の業務種別がオンライン業務かバッチ業務かに応じたリソース制御(オートスケール)が実行される。
〔3−6−2〕ローカルバッチ業務判断処理
次に、図23に示すフローチャート(ステップS31〜S37)に従って、図22に示すステップS3のローカルバッチ業務判断処理について説明する。
まず、ローカルバッチ業務判断部111aは、DBサーバ1cのDB情報収集部11cを通じて、OSのプロセス情報,RDBMSのSQL情報,OSのネットワーク情報を取得する(ステップS31)。
ローカルバッチ業務判断部111aは、DB情報収集部11cから情報を取得すると、RDBMSのSQL情報から、追加されたSQLの発行元プロセスIDを取得する(ステップS32)。
そして、ローカルバッチ業務判断部111aは、DB情報収集部11cから取得したOSのプロセス情報を参照し、当該OSのプロセス情報にステップS32で取得したプロセスIDがあるか否かを判断する(ステップS33)。
プロセスIDがあった場合(ステップS33のYESルート)、ローカルバッチ業務判断部111aは、判別対象業務はローカルバッチ業務であると判別し、SQLと判別結果の業務種別情報“バッチ”とをSQL・業務種別履歴DB121に格納する(ステップS34)。また、ローカルバッチ業務判断部111aは、追加されたSQLの情報とネットワーク情報とに基づき、ローカルバッチを発行しているリモートバッチサーバ1dのIPアドレスを取得し(ステップS35)、バッチサーバ一覧情報DB122に格納する(ステップS36)。この後、管理マネージャ101は、ステップS8の処理へ移行する(図22のステップS4のYESルート参照)。
一方、プロセスIDがない場合つまりプロセスが追加されていない場合(ステップS33のNOルート)、ローカルバッチ業務判断部111aは、判別対象業務はローカルバッチ業務以外であると判別する。そして、ローカルバッチ業務判断部111aは、DBサーバ1cのプロセス情報,ネットワーク情報,SQL情報と、追加されたSQL情報とを、ステップS5の処理つまりリモートバッチ業務判断部111bに通知する(ステップS3)。この後、管理マネージャ101は、ステップS5の処理へ移行する(図22のステップS4のNOルート参照)。
〔3−6−3〕リモートバッチ業務判断処理
次に、図24に示すフローチャート(ステップS51〜S58)に従って、図22に示すステップS5のリモートバッチ業務判断処理について説明する。
まず、リモートバッチ業務判断部111bは、ステップS3の処理(ローカルバッチ業務判断部111a)から、DBサーバ1cのプロセス情報,ネットワーク情報,SQL情報と、追加されたSQL情報とを取得する(ステップS51)。
リモートバッチ業務判断部111bは、各種情報を取得すると、SQL情報に基づき、当該SQLの属するセッションで発行された連続するSQLを特定し、前回のSQL開始時刻およびSQL終了時刻と、新規に発行された今回のSQLの開始時刻とを取得する(ステップS52)。
また、リモートバッチ業務判断部111bは、SQL情報,プロセス情報およびネットワーク情報に基づき、リモートでSQLを発行しているサーバのIPアドレスを取得する(ステップS53)。
そして、リモートバッチ業務判断部111bは、ステップS53で取得したIPアドレスによって指定されるサーバ1bまたは1dから、図19を参照しながら前述した第1リソース使用量および第2リソース使用量を、収集部11bまたは11dにより取得する(ステップS54)。ここで、前述した通り、第1リソース使用量は、前回のSQLの開始時刻から終了時刻までの間(図19の期間TA)におけるリソース使用量である。また、第2リソース使用量は、前回のSQLの終了時刻から今回のSQL(新規SQL)の開始時刻までの間(図19の期間TB)におけるリソース使用量である。
リモートバッチ業務判断部111bは、収集部11bまたは11dから受け取った第1リソース使用量および第2リソース使用量に基づき、判別対象業務がリモートバッチ業務であるかそれ以外の業務であるかの判別を行なう。つまり、リモートバッチ業務判断部111bは、期間TAのプロセスの第1リソース使用量に対して期間TBのプロセスの第2リソース使用量が増加しているか否かを判別する(ステップS55)。
第1リソース使用量に対して第2リソース使用量が増加していれば(ステップS55のYESルート)、リモートバッチ業務判断部111bは、判別対象業務はバッチサーバ1dによるリモートバッチ業務であると判別する。そして、リモートバッチ業務判断部111bは、SQLと判別結果の業務種別情報“バッチ”とをSQL・業務種別履歴DB121に格納する(ステップS56)。また、リモートバッチ業務判断部111bは、ネットワーク情報に基づき、バッチサーバ1dのIPアドレスを取得し、バッチサーバ一覧情報DB122に格納する(ステップS57)。この後、管理マネージャ101は、ステップS8の処理へ移行する(図22のステップS6のYESルート参照)。
一方、第1リソース使用量に対して第2リソース使用量が増加していない場合(ステップS55のNOルート)、リモートバッチ業務判断部111bは、判別対象業務はローカルバッチ業務およびリモートバッチ業務以外であると判別する。そして、リモートバッチ業務判断部111bは、追加されたSQL情報と、ステップS53で取得されたAPサーバ1bのIPアドレスとを、ステップS7の処理つまり判断部111cに通知する(ステップS58)。管理マネージャ101は、ステップS7の処理へ移行する(図22のステップS6のNOルート参照)。
〔3−6−4〕Webサービスバッチ業務/オンライン業務判断処理
次に、図25に示すフローチャート(ステップS71〜S75)に従って、図22に示すステップS7のWebサービスバッチ業務/オンライン業務判断処理について説明する。
判断部111cは、ステップS5の処理(リモートバッチ業務判断部111b)から、追加されたSQL情報とAPサーバ1bのIPアドレスとを取得する(ステップS71)。
判断部111cは、APサーバ1bのIPアドレスと、収集部11aを通じて取得されたWebサーバ1aのネットワーク情報とに基づき、SQL発行元サーバのIPアドレスを検出する(ステップS72)。
そして、判断部111cは、バッチサーバ一覧情報DB122に、ステップS72で検出されたSQL発行元サーバのIPアドレスと一致するものが保存されているか否かを判断する(ステップS73)。
SQL発行元サーバのIPアドレスと一致するものが保存されている場合(ステップS73のYESルート)、判断部111cは、判別対象業務はバッチサーバ1dによるWebサービスバッチ業務であると判別する。そして、判断部111cは、SQLと判別結果の業務種別情報“バッチ”とをSQL・業務種別履歴DB121に格納する(ステップS74)。この後、管理マネージャ101は、ステップS8の処理へ移行する。
一方、SQL発行元サーバのIPアドレスと一致するものが保存されていない場合(ステップS73のNOルート)、判断部111cは、判別対象業務はオンライン業務であると判別する。そして、判断部111cは、SQLと判別結果の業務種別情報“オンライン”とをSQL・業務種別履歴DB121に格納する(ステップS75)。この後、管理マネージャ101は、ステップS8の処理へ移行する。
〔3−7〕具体例による動作説明
次に、図26〜図35を参照しながら、本実施形態による判断動作について具体的に説明する。
〔3−7−1〕ローカルバッチ業務判断処理
まず、図26〜図28を参照しながら、本実施形態のローカルバッチ業務判断処理について具体的に説明する。なお、図26はSQL情報の一例を示す図、図27はプロセス情報の一例を示す図、図28はネットワーク情報の一例を示す図である。
図26に示すように、新規SQL情報がレコードR1として追加された場合、ローカルバッチ業務判断部111aは、レコードR1のプロセスID“2483”とSQLの処理開始時刻“2013/07/10_17:41:56”とをキーとして、図27に示すプロセス情報を検索する。
図27に示す例では、レコードR2がヒットするので、ローカルバッチ業務判断部111aは、判別対象業務はローカルバッチ業務であると判別する。そして、ローカルバッチ業務判断部111aは、プロセスID“2483”をキーとして、図28に示すネットワーク情報を検索する。
このとき、図28に示す例では、レコードR3が検索され、当該レコードR3のローカルアドレスおよび外部アドレスから、ローカルバッチを発行しているリモートバッチサーバ1dのIPアドレスが取得される。取得されたIPアドレスは、バッチサーバ一覧情報DB122に登録される。一方、プロセス情報を検索してもヒットしなかった場合、ローカルバッチ業務判断部111aは、判断をリモートバッチ業務判断部111bに委譲する。
〔3−7−2〕リモートバッチ業務判断処理
次に、図29〜図31を参照しながら、本実施形態のローカルバッチ業務判断処理について具体的に説明する。なお、図29はSQL情報の一例を示す図、図30はネットワーク情報の一例を示す図、図31はリソース使用状況(処理実績情報)の一例を示す図である。
リモートバッチ業務判断部111bは、図29に示すSQL情報に基づき、前回のSQL情報としてレコードR4を検索し、今回のSQL情報としてレコードR5を検索する。これらのレコードR4,R5は、同じプロセスID“2483”を有し、同じセッションで発行された連続するSQLに対応している。このとき、レコードR4から前回のSQLの処理開始時刻“2013/07/10_17:40:51”および処理終了時刻“2013/07/10_17:40:59”が取得され、レコードR5から今回のSQLの処理開始時刻“2013/07/10_17:41:56”が取得される。
さらに、リモートバッチ業務判断部111bは、プロセスID“2483”をキーとして、図30に示すネットワーク情報を検索する。このとき、図30に示す例では、レコードR6が検索され、当該レコードR6のローカルアドレスおよび外部アドレスから、リモートでSQLを発行しているサーバ1bまたは1dのIPアドレスが取得される。
そして、リモートバッチ業務判断部111bは、図30のレコードR6から取得されたIPアドレスによって指定されるサーバ1bまたは1dから、図31に示すようなリソース使用状況を取得する。このとき、リモートバッチ業務判断部111bは、当該リソース使用状況を取得してから、当該リソース使用状況に基づき第1リソース使用量および第2リソース使用量を取得してもよい。また、リモートバッチ業務判断部111bは、サーバ1bまたは1dの収集部11bまたは11d側で当該リソース使用状況に基づき取得された第1リソース使用量および第2リソース使用量を、収集部11bまたは11dから取得してもよい。
図29および図31に示す例では、前回のSQLの処理開始時刻“2013/07/10_17:40:51”から処理終了時刻“2013/07/10_17:40:59”までの間(図19の期間TA)におけるリソース使用量が第1リソース使用量となる。また、前回のSQLの処理終了時刻“2013/07/10_17:40:59”から今回のSQLの処理開始時刻“2013/07/10_17:41:56”までの間(図19の期間TB)におけるリソース使用量が第2リソース使用量となる。
従って、図31に示すリソース使用状況から、第1リソース使用量(CPU使用率およびメモリ使用量)としては35.2%および320MBが取得される。また、図31に示すリソース使用状況から、第2リソース使用量(CPU使用率およびメモリ使用量)としては、符号P1,P2を付した領域の値が取得される。つまり、第2リソース使用量としては、例えば平均値35.1%および305MBが取得される。
このとき、第1リソース使用量に対して第2リソース使用量が増加していないため、リモートバッチ業務判断部111bは、判別対象業務はバッチサーバ1dによるリモートバッチ業務ではないと判別する。そして、リモートバッチ業務判断部111bは、図30のレコードR6から取得されたIPアドレスをAPサーバ1bのIPアドレスを判断部111cに通知するとともに、判断を判断部111cに委譲する。一方、第1リソース使用量に対して第2リソース使用量が増加していれば、図30のレコードR6から取得されたIPアドレスは、バッチサーバ1dのIPアドレスとしてバッチサーバ一覧情報DB122に登録される。
〔3−7−3〕Webサービスバッチ業務/オンライン業務判断処理
次に、図32〜図34を参照しながら、本実施形態のWebサービスバッチ業務/オンライン業務判断処理について具体的に説明する。なお、図32はSQL情報の一例を示す図、図33はネットワーク情報の一例を示す図、図34はバッチサーバ一覧情報DB122に保存される情報の一例を示す図である。
判断部111cは、図32に示す新規SQL情報のレコードR7のプロセスID“2483”をキーとして、Webサーバ1aから取得された図33に示すネットワーク情報を検索する。図33に示す例では、レコードR8がヒットし、SQL発行元サーバのIPアドレスとして“192.168.1.90”が検出される。
そして、判断部111cは、検出されたIPアドレス“192.168.1.90”をキーとして、図34に示すようなバッチサーバ一覧情報を検索する。図34に示す例では、レコードR9がヒットするため、判断部111cは、判別対象業務はバッチサーバ1dによるWebサービスバッチ業務であると判別する。一方、バッチサーバ一覧情報を検索してもヒットしなかった場合、判断部111cは、判別対象業務はオンライン業務であると判別する。
〔3−7−4〕判別処理終了時のアウトプット
次に、図35を参照しながら、本実施形態による判別処理終了時のアウトプット例について具体的に説明する。なお、図35は、本実施形態による判別結果として出力される、SQL・業務種別履歴DB121の情報の一例を示す図である。
本実施形態においては、全ての業務が、SQL単位で、オンライン業務であるかバッチ業務であるかを判別される。そして、SQL・業務種別履歴DB121において、例えば図35に示すように、SQL情報と判別結果である業務種別と処理要求(業務)の発行元サーバのIPアドレスとが対応付けられて登録される。このようなSQL・業務種別履歴DB121が、本実施形態による判別結果として出力される
〔4〕本実施形態の効果
本実施形態によれば、複数のサーバ1a〜1dを含む業務システム1上で稼働している全ての業務処理について、DBサーバ1cを利用しているメイン業務がオンライン業務であるかバッチ業務であるかを適切に判別することができる。このため、今まで対応が困難であったメイン業務の種別によってスケーリング方法を変更するなど、業務特性に応じた運用を行なうことができる。つまり、業務の切替えタイミングや業務特性に応じて適切なスケーリングを自動的に行なうことができる。したがって、性能維持しつつ低コストでシステム運用を行なうことができる。
また、本実施形態によれば、OS等から取得できる一般的な情報(SQL情報,プロセス情報,ネットワーク情報)に基づき、オンライン業務かバッチ業務かを適切に自動判別可能になる。このため、上述のように業務特性に応じたオートスケールが実現されるだけでなく、ミドルウェアの連携情報や利用サーバがオンライン業務用であるかバッチ業務用であるかといった情報が無くても、オンライン業務であるかバッチ業務であるかの判別を適切に行なうことができる。つまり、本実施形態によれば、特別な情報を必要とすることなく、外観から観察できる情報に基づきDBサーバ1cへの要求発行元の業務種別を適切に自動判別することができる。
さらに、本実施形態によれば、バッチ業務については、ローカルバッチ業務,リモートバッチ業務,Webサービスバッチ業務を判別することが可能である。バッチ業務をWebサービス経由で行なう技術は新しく確立された技術であるため、公知技術では、Webサービスバッチ業務とオンライン業務との区別がつかず、オンライン業務かバッチ業務かの判断を行なうことができなかった。本実施形態によれば、業務の発信源(SQL発行元サーバ)まで辿ることができるため、上述した技術にも対応でき、業務種別を正確に判別することができる。
また、本実施形態によれば、リソース制御部112は、業務種別がオンライン業務かバッチ業務かに応じてサーバ1a〜1dに割り当てられるリソースの制御を行なうことができる。このため、例えば、リソース制御部112は、実行すべき業務がオンライン業務である場合、上記技術(b2)を業務システム1に適用するように制御を行なう一方、実行すべき業務がバッチ業務である場合、上記技術(b2)の適用を解除するように制御を行なうことができる。これにより、バッチ業務時にサーバ/リソースの処理性能が最大限に使用されても、バッチ業務が完了するまで際限なくスケールアウト/スケールアップが繰り返されるのを確実に抑止することができる。
〔5〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
〔6〕付記
以上の各実施形態を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1のコンピュータに対する第2のコンピュータによる処理要求の処理要求内容を取得し、
前記の第1および第2のコンピュータそれぞれの動作に関する第1および第2の動作情報を取得し、
前記第1のコンピュータに対する前記処理要求の処理要求内容に含まれる当該処理要求に対応した前記第1のコンピュータによる処理履歴と当該処理要求を行なった前記第2のコンピュータの当該処理要求に関連した前記第2の動作情報とを対応づけた処理実績情報と、前記処理要求内容と、前記の第1および第2の動作情報とに基づき、前記処理要求の処理要求種別を判別する、
処理をプロセッサに実行させる、制御プログラム。
(付記2)
前記処理要求種別の判別結果に基づき前記コンピュータに割り当てられるリソースの制御を行なう、
処理を前記プロセッサに実行させる、付記1記載の制御プログラム。
(付記3)
前記第1のコンピュータとしてデータベースサーバを含み、前記第2のコンピュータとしてウエブサーバ,アプリケーションサーバおよびバッチサーバを含む場合、
前記処理要求の処理要求内容に含まれる当該処理要求の発行元プロセス識別情報が、前記データベースサーバから取得された前記第1の動作情報に含まれるプロセス情報にあるか否かを判別し、
当該処理要求の発行元プロセス識別情報が前記プロセス情報にあれば、前記処理要求の処理要求種別は、前記バッチサーバによるローカルバッチ処理であると判別し、
前記処理要求の処理要求内容と前記第1の動作情報とに基づき、前記ローカルバッチ処理の処理要求を発行した前記バッチサーバの第1アドレス情報を取得し、
前記第1アドレス情報を保存部に保存する、
処理を前記プロセッサに実行させる、付記1または付記2記載の制御プログラム。
(付記4)
当該処理要求の発行元プロセス識別情報が前記プロセス情報になければ、前記処理要求の処理要求内容と前記第1の動作情報とに基づき、当該処理要求を発行したサーバの第2アドレス情報を取得し、
前記第2アドレス情報で指定されるサーバから、前回の処理要求による処理開始から処理終了までの第1リソース使用量と前記処理終了から当該処理要求による処理開始までの第2リソース使用量とを前記処理実績情報として取得し、
前記第1リソース使用量に対して前記第2リソース使用量が増加しているか否かを判別し、
前記第1リソース使用量に対して前記第2リソース使用量が増加していれば、前記処理要求の処理要求種別は、前記バッチサーバによるリモートバッチ処理であると判別し、
前記第2アドレス情報を、前記バッチサーバのアドレス情報として前記保存部に保存する、
処理を前記プロセッサに実行させる、付記3記載の制御プログラム。
(付記5)
前記第1リソース使用量に対して前記第2リソース使用量が増加していなければ、前記第2アドレス情報を前記アプリケーションサーバのアドレス情報として取得し、
前記処理要求の処理要求内容と前記アプリケーションサーバのアドレス情報と前記ウエブサーバから取得された前記第1の動作情報とに基づき、当該処理要求の発行元サーバの第3アドレス情報を検出し、
前記第3アドレス情報が前記保存部に保存されているか否かを判別し、
前記第3アドレス情報が前記保存部に保存されていれば、前記処理要求の処理要求種別は、前記バッチサーバによって前記ウエブサーバ経由で行なわれるウエブサービスバッチ処理であると判別する、
処理を前記プロセッサに実行させる、付記4記載の制御プログラム。
(付記6)
前記第3アドレス情報が前記保存部に保存されていなければ、前記処理要求の処理要求種別は、オンライン処理であると判別する、
処理を前記プロセッサに実行させる、付記4または付記5記載の制御プログラム。
(付記7)
第1のコンピュータに対する第2のコンピュータによる処理要求の処理要求内容を取得する第1取得部と、
前記の第1および第2のコンピュータそれぞれの動作に関する第1および第2の動作情報を取得する第2取得部と、
前記第1のコンピュータに対する前記処理要求の処理要求内容に含まれる当該処理要求に対応した前記第1のコンピュータによる処理履歴と当該処理要求を行なった前記第2のコンピュータの当該処理要求に関連した前記第2の動作情報とを対応づけた処理実績情報と、前記処理要求内容と、前記の第1および第2の動作情報とに基づき、前記処理要求の処理要求種別を判別する判別部と、を有する、制御装置。
(付記8)
前記処理要求種別の判別結果に基づき前記コンピュータに割り当てられるリソースの制御を行なうリソース制御部を、さらに有する、付記7記載の制御装置。
(付記9)
前記第1のコンピュータとしてデータベースサーバを含み、前記第2のコンピュータとしてウエブサーバ,アプリケーションサーバおよびバッチサーバを含む場合、
前記判別部は、
前記処理要求の処理要求内容に含まれる当該処理要求の発行元プロセス識別情報が、前記データベースサーバから取得された前記第1の動作情報に含まれるプロセス情報にあるか否かを判別し、
当該処理要求の発行元プロセス識別情報が前記プロセス情報にあれば、前記処理要求の処理要求種別は、前記バッチサーバによるローカルバッチ処理であると判別し、
前記処理要求の処理要求内容と前記第1の動作情報とに基づき、前記ローカルバッチ処理の処理要求を発行した前記バッチサーバの第1アドレス情報を取得し、
前記第1アドレス情報を保存部に保存する、付記7または付記8記載の制御装置。
(付記10)
前記判別部は、
当該処理要求の発行元プロセス識別情報が前記プロセス情報になければ、前記処理要求の処理要求内容と前記第1の動作情報とに基づき、前記第2取得部によって当該処理要求を発行したサーバの第2アドレス情報を取得し、
前記第2アドレス情報で指定されるサーバから、前回の処理要求による処理開始から処理終了までの第1リソース使用量と前記処理終了から当該処理要求による処理開始までの第2リソース使用量とを前記処理実績情報として取得し、
前記第1リソース使用量に対して前記第2リソース使用量が増加しているか否かを判別し、
前記第1リソース使用量に対して前記第2リソース使用量が増加していれば、前記処理要求の処理要求種別は、前記バッチサーバによるリモートバッチ処理であると判別し、
前記第2アドレス情報を、前記バッチサーバのアドレス情報として前記保存部に保存する、付記9記載の制御装置。
(付記11)
前記判別部は、
前記第1リソース使用量に対して前記第2リソース使用量が増加していなければ、前記第2アドレス情報を前記アプリケーションサーバのアドレス情報として取得し、
前記処理要求の処理要求内容と前記アプリケーションサーバのアドレス情報と前記ウエブサーバから取得された前記第1の動作情報とに基づき、当該処理要求の発行元サーバの第3アドレス情報を検出し、
前記第3アドレス情報が前記保存部に保存されているか否かを判別し、
前記第3アドレス情報が前記保存部に保存されていれば、前記処理要求の処理要求種別は、前記バッチサーバによって前記ウエブサーバ経由で行なわれるウエブサービスバッチ処理であると判別する、付記10記載の制御装置。
(付記12)
前記判別部は、
前記第3アドレス情報が前記保存部に保存されていなければ、前記処理要求の処理要求種別は、オンライン処理であると判別する、付記10または付記11記載の制御装置。
(付記13)
プロセッサが、
第1のコンピュータに対する第2のコンピュータによる処理要求の処理要求内容を取得し、
前記の第1および第2のコンピュータそれぞれの動作に関する第1および第2の動作情報を取得し、
前記第1のコンピュータに対する前記処理要求の処理要求内容に含まれる当該処理要求に対応した前記第1のコンピュータによる処理履歴と当該処理要求を行なった前記第2のコンピュータの当該処理要求に関連した前記第2の動作情報とを対応づけた処理実績情報と、前記処理要求内容と、前記の第1および第2の動作情報とに基づき、前記処理要求の処理要求種別を判別する、制御方法。
(付記14)
前記プロセッサが、
前記処理要求種別の判別結果に基づき前記コンピュータに割り当てられるリソースの制御を行なう、付記13記載の制御方法。
(付記15)
前記第1のコンピュータとしてデータベースサーバを含み、前記第2のコンピュータとしてウエブサーバ,アプリケーションサーバおよびバッチサーバを含む場合、
前記プロセッサが、
前記処理要求の処理要求内容に含まれる当該処理要求の発行元プロセス識別情報が、前記データベースサーバから取得された前記第1の動作情報に含まれるプロセス情報にあるか否かを判別し、
当該処理要求の発行元プロセス識別情報が前記プロセス情報にあれば、前記処理要求の処理要求種別は、前記バッチサーバによるローカルバッチ処理であると判別し、
前記処理要求の処理要求内容と前記第1の動作情報とに基づき、前記ローカルバッチ処理の処理要求を発行した前記バッチサーバの第1アドレス情報を取得し、
前記第1アドレス情報を保存部に保存する、付記13または付記14記載の制御方法。
(付記16)
前記プロセッサが、
当該処理要求の発行元プロセス識別情報が前記プロセス情報になければ、前記処理要求の処理要求内容と前記第1の動作情報とに基づき、当該処理要求を発行したサーバの第2アドレス情報を取得し、
前記第2アドレス情報で指定されるサーバから、前回の処理要求による処理開始から処理終了までの第1リソース使用量と前記処理終了から当該処理要求による処理開始までの第2リソース使用量とを前記処理実績情報として取得し、
前記第1リソース使用量に対して前記第2リソース使用量が増加しているか否かを判別し、
前記第1リソース使用量に対して前記第2リソース使用量が増加していれば、前記処理要求の処理要求種別は、前記バッチサーバによるリモートバッチ処理であると判別し、
前記第2アドレス情報を、前記バッチサーバのアドレス情報として前記保存部に保存する、付記15記載の制御方法。
(付記17)
前記プロセッサが、
前記第1リソース使用量に対して前記第2リソース使用量が増加していなければ、前記第2アドレス情報を前記アプリケーションサーバのアドレス情報として取得し、
前記処理要求の処理要求内容と前記アプリケーションサーバのアドレス情報と前記ウエブサーバから取得された前記第1の動作情報とに基づき、当該処理要求の発行元サーバの第3アドレス情報を検出し、
前記第3アドレス情報が前記保存部に保存されているか否かを判別し、
前記第3アドレス情報が前記保存部に保存されていれば、前記処理要求の処理要求種別は、前記バッチサーバによって前記ウエブサーバ経由で行なわれるウエブサービスバッチ処理であると判別する、付記16記載の制御方法。
(付記18)
前記プロセッサが、
前記第3アドレス情報が前記保存部に保存されていなければ、前記処理要求の処理要求種別は、オンライン処理であると判別する、付記16または付記17に記載の制御方法。
1 業務システム
1a Webサーバ(ウエブサーバ,第2のコンピュータ)
1b APサーバ(アプリケーションサーバ,第2のコンピュータ)
1c DBサーバ(データベースサーバ,第1のコンピュータ)
1d バッチサーバ(第2のコンピュータ)
2 クライアント端末(エンドユーザ)
3 ネットワーク
10a,10b,10c,10d 管理エージェント
11a Web情報収集部(第2取得部)
11b AP情報収集部(第2取得部)
11c DB情報収集部(第1取得部,第2取得部)
11d バッチ情報収集部(第2取得部)
100 管理サーバ(制御装置)
101 管理マネージャ
110 処理部(CPU,プロセッサ,第1取得部,第2取得部)
111 判別部
111a ローカルバッチ業務判断部(判別部)
111b リモートバッチ業務判断部(判別部)
111c Webサービスバッチ業務/オンライン業務判断部(判別部)
112 リソース制御部
120 記憶部(メモリ,保存部)
121 SQL・業務種別履歴DB
122 バッチサーバ一覧情報DB

Claims (8)

  1. 第1のコンピュータに対する第2のコンピュータによる処理要求の処理要求内容を取得し、
    前記の第1および第2のコンピュータそれぞれの動作に関する第1および第2の動作情報を取得し、
    前記第1のコンピュータに対する前記処理要求の処理要求内容に含まれる当該処理要求に対応した前記第1のコンピュータによる処理履歴と当該処理要求を行なった前記第2のコンピュータの当該処理要求に関連した前記第2の動作情報とを対応づけた処理実績情報と、前記処理要求内容と、前記の第1および第2の動作情報とに基づき、前記処理要求の処理要求種別を判別
    前記第1のコンピュータはデータベースサーバを含み、前記第2のコンピュータは少なくともバッチサーバを含み、前記処理要求の処理要求内容に含まれる当該処理要求の発行元プロセス識別情報が、前記データベースサーバから取得された前記第1の動作情報に含まれるプロセス情報にあるか否かを判別し、
    当該処理要求の発行元プロセス識別情報が前記プロセス情報にあれば、前記処理要求の処理要求種別は、前記バッチサーバにより実行されるバッチ処理のうち、特定種別のバッチ処理であると判別し、
    前記処理要求の処理要求内容と前記第1の動作情報とに基づき、前記特定種別のバッチ処理の処理要求を発行した前記バッチサーバの第1アドレス情報を取得し、
    前記第1アドレス情報を保存部に保存する
    処理をプロセッサに実行させる、制御プログラム。
  2. 前記処理要求種別の判別結果に基づき前記第1のコンピュータ及び前記第2のコンピュータに割り当てられるリソースの制御を行なう、
    処理を前記プロセッサに実行させる、請求項1記載の制御プログラム。
  3. 当該処理要求の発行元プロセス識別情報が前記プロセス情報になければ、前記処理要求の処理要求内容と前記第1の動作情報とに基づき、当該処理要求を発行したサーバの第2アドレス情報を取得し、
    前記第2アドレス情報で指定されるサーバから、前回の処理要求による処理開始から処理終了までの第1リソース使用量と前記処理終了から当該処理要求による処理開始までの第2リソース使用量とを前記処理実績情報として取得し、
    前記第1リソース使用量に対して前記第2リソース使用量が増加しているか否かを判別し、
    前記第1リソース使用量に対して前記第2リソース使用量が増加していれば、前記処理要求の処理要求種別は、前記バッチサーバによるリモートバッチ処理であると判別し、
    前記第2アドレス情報を、前記バッチサーバのアドレス情報として前記保存部に保存する、
    処理を前記プロセッサに実行させる、請求項1または請求項2記載の制御プログラム。
  4. 前記第2のコンピュータはさらにウエブサーバおよびアプリケーションサーバを含み、
    前記第1リソース使用量に対して前記第2リソース使用量が増加していなければ、前記第2アドレス情報を前記アプリケーションサーバのアドレス情報として取得し、
    前記処理要求の処理要求内容と前記アプリケーションサーバのアドレス情報と前記ウエブサーバから取得された前記第1の動作情報とに基づき、当該処理要求の発行元サーバの第3アドレス情報を検出し、
    前記第3アドレス情報が前記保存部に保存されているか否かを判別し、
    前記第3アドレス情報が前記保存部に保存されていれば、前記処理要求の処理要求種別は、前記バッチサーバによって前記ウエブサーバ経由で行なわれるウエブサービスバッチ処理であると判別する、
    処理を前記プロセッサに実行させる、請求項記載の制御プログラム。
  5. 前記第3アドレス情報が前記保存部に保存されていなければ、前記処理要求の処理要求種別は、オンライン処理であると判別する、
    処理を前記プロセッサに実行させる、請求項4記載の制御プログラム。
  6. 第1のコンピュータに対する第2のコンピュータによる処理要求の処理要求内容を取得する第1取得部と、
    前記の第1および第2のコンピュータそれぞれの動作に関する第1および第2の動作情報を取得する第2取得部と、
    前記第1のコンピュータに対する前記処理要求の処理要求内容に含まれる当該処理要求に対応した前記第1のコンピュータによる処理履歴と当該処理要求を行なった前記第2のコンピュータの当該処理要求に関連した前記第2の動作情報とを対応づけた処理実績情報と、前記処理要求内容と、前記の第1および第2の動作情報とに基づき、前記処理要求の処理要求種別を判別する判別部と、を有
    前記第1のコンピュータはデータベースサーバを含み、前記第2のコンピュータは少なくともバッチサーバを含み、前記判別部は、前記処理要求の処理要求内容に含まれる当該処理要求の発行元プロセス識別情報が、前記データベースサーバから取得された前記第1の動作情報に含まれるプロセス情報にあるか否かを判別し、当該処理要求の発行元プロセス識別情報が前記プロセス情報にあれば、前記処理要求の処理要求種別は、前記バッチサーバにより実行されるバッチ処理のうち、特定種別のバッチ処理であると判別し、前記処理要求の処理要求内容と前記第1の動作情報とに基づき、前記特定種別のバッチ処理の処理要求を発行した前記バッチサーバの第1アドレス情報を取得し、前記第1アドレス情報を保存部に保存する、制御装置。
  7. プロセッサが、
    第1のコンピュータに対する第2のコンピュータによる処理要求の処理要求内容を取得し、
    前記の第1および第2のコンピュータそれぞれの動作に関する第1および第2の動作情報を取得し、
    前記第1のコンピュータに対する前記処理要求の処理要求内容に含まれる当該処理要求に対応した前記第1のコンピュータによる処理履歴と当該処理要求を行なった前記第2のコンピュータの当該処理要求に関連した前記第2の動作情報とを対応づけた処理実績情報と、前記処理要求内容と、前記の第1および第2の動作情報とに基づき、前記処理要求の処理要求種別を判別
    前記第1のコンピュータはデータベースサーバを含み、前記第2のコンピュータは少なくともバッチサーバを含み、前記処理要求の処理要求内容に含まれる当該処理要求の発行元プロセス識別情報が、前記データベースサーバから取得された前記第1の動作情報に含まれるプロセス情報にあるか否かを判別し、
    当該処理要求の発行元プロセス識別情報が前記プロセス情報にあれば、前記処理要求の処理要求種別は、前記バッチサーバにより実行されるバッチ処理のうち、特定種別のバッチ処理であると判別し、
    前記処理要求の処理要求内容と前記第1の動作情報とに基づき、前記特定種別のバッチ処理の処理要求を発行した前記バッチサーバの第1アドレス情報を取得し、
    前記第1アドレス情報を保存部に保存する、制御方法。
  8. 前記特定種別のバッチ処理はローカルバッチ処理である、請求項1記載の制御プログラム。
JP2014014203A 2014-01-29 2014-01-29 制御プログラム、制御装置および制御方法 Active JP6273866B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014014203A JP6273866B2 (ja) 2014-01-29 2014-01-29 制御プログラム、制御装置および制御方法
US14/600,618 US10171620B2 (en) 2014-01-29 2015-01-20 Non-transitory computer-readable recording medium having stored therein control program, control apparatus and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014014203A JP6273866B2 (ja) 2014-01-29 2014-01-29 制御プログラム、制御装置および制御方法

Publications (2)

Publication Number Publication Date
JP2015141574A JP2015141574A (ja) 2015-08-03
JP6273866B2 true JP6273866B2 (ja) 2018-02-07

Family

ID=53680256

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014014203A Active JP6273866B2 (ja) 2014-01-29 2014-01-29 制御プログラム、制御装置および制御方法

Country Status (2)

Country Link
US (1) US10171620B2 (ja)
JP (1) JP6273866B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
CN103795804A (zh) * 2014-02-24 2014-05-14 华为技术有限公司 存储资源调度方法及存储计算系统
US9672064B2 (en) * 2015-07-13 2017-06-06 Palo Alto Research Center Incorporated Dynamically adaptive, resource aware system and method for scheduling
US10476742B1 (en) * 2015-09-24 2019-11-12 Amazon Technologies, Inc. Classification of auto scaling events impacting computing resources
US10574723B2 (en) * 2016-11-30 2020-02-25 Nutanix, Inc. Web services communication management
JP6903926B2 (ja) 2017-02-08 2021-07-14 富士通株式会社 情報処理装置、情報処理プログラム、情報処理方法及び情報処理システム
EP4311204A3 (en) * 2017-08-28 2024-04-10 Bright Data Ltd. Method for improving content fetching by selecting tunnel devices
US11070489B2 (en) * 2017-11-02 2021-07-20 International Business Machines Corporation Resource consumption control
EP4030318A1 (en) 2019-04-02 2022-07-20 Bright Data Ltd. System and method for managing non-direct url fetching service
CN111049894B (zh) * 2019-12-07 2023-08-29 深圳市万佳安物联科技股份有限公司 云端物联网数据处理方法、装置以及电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0778118A (ja) * 1993-06-18 1995-03-20 Hitachi Ltd 資源競合回避スケジューリング方法
JPH11288382A (ja) 1998-04-03 1999-10-19 Nec Software Ltd システム資源使用情報収集装置、システム資源使用情報収集方法、およびプログラムを記録する記録媒体
JP2004302751A (ja) 2003-03-31 2004-10-28 Hitachi Ltd 計算機システムの性能管理方法、および、記憶装置の性能を管理する計算機システム
JP4610240B2 (ja) * 2004-06-24 2011-01-12 富士通株式会社 分析プログラム、分析方法及び分析装置
WO2006043309A1 (ja) * 2004-10-18 2006-04-27 Fujitsu Limited 運用管理プログラム、運用管理方法および運用管理装置
JP5298717B2 (ja) * 2008-09-11 2013-09-25 富士通株式会社 特徴抽出方法及び装置
JP5471400B2 (ja) * 2009-12-17 2014-04-16 富士通株式会社 ジョブ分析プログラム及び方法、並びにジョブ分析装置
JP5561182B2 (ja) * 2011-01-20 2014-07-30 富士通株式会社 システム分析支援プログラム、システム分析支援装置、およびシステム分析支援方法
US9251032B2 (en) * 2011-11-03 2016-02-02 Fujitsu Limited Method, computer program, and information processing apparatus for analyzing performance of computer system

Also Published As

Publication number Publication date
JP2015141574A (ja) 2015-08-03
US20150215426A1 (en) 2015-07-30
US10171620B2 (en) 2019-01-01

Similar Documents

Publication Publication Date Title
JP6273866B2 (ja) 制御プログラム、制御装置および制御方法
US8099379B2 (en) Performance evaluating apparatus, performance evaluating method, and program
TWI685226B (zh) 分散式環境下的服務定址方法及裝置
US10318391B2 (en) Non-blocking listener registration in the presence of data grid nodes joining the cluster
WO2018014811A1 (zh) 风险识别方法、客户端设备及风险识别系统
EP2327024B1 (en) Techniques for resource location and migration across data centers
JP6160064B2 (ja) 適用判定プログラム、障害検出装置および適用判定方法
US20070168201A1 (en) Formula for automatic prioritization of the business impact based on a failure on a service in a loosely coupled application
CN111443867B (zh) 一种数据存储方法、装置、设备及存储介质
JP5269394B2 (ja) データベース振分装置、データベース振分方法、プログラム、および記録媒体
JP6252309B2 (ja) 監視漏れ特定処理プログラム,監視漏れ特定処理方法及び監視漏れ特定処理装置
CN107291601B (zh) 一种安全运维方法及系统
JP6225606B2 (ja) データベース監視装置、データベース監視方法、並びにコンピュータ・プログラム
US9560027B1 (en) User authentication
CN109976944B (zh) 数据处理方法和系统,存储介质和电子设备
JP2018025944A (ja) リソース制御ブログラム、リソース制御方法及びリソース制御装置
JP2023530996A (ja) クラスタの容量縮小・拡張方法及びシステム、容量縮小・拡張制御端末、及び媒体
US11061937B2 (en) Method and system for classifying user identifiers into similar segments
JP2009230275A (ja) 株式銘柄通知装置、株式銘柄通知方法、および株式銘柄抽出方法
US9830339B2 (en) Data processing system for processing interactions
KR100479360B1 (ko) 명령어의 유효성 판단 방법 및 그 시스템
CN109739883A (zh) 提升数据查询性能的方法、装置和电子设备
CN113791935B (zh) 一种数据备份方法、网络节点及系统
JP5607205B2 (ja) 情報提供装置、情報提供方法および情報提供システム
US20240064032A1 (en) Systems and methods for managing metrics in blockchain networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171010

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171225

R150 Certificate of patent or registration of utility model

Ref document number: 6273866

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150