JP6987709B2 - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法及び情報処理プログラム Download PDF

Info

Publication number
JP6987709B2
JP6987709B2 JP2018132589A JP2018132589A JP6987709B2 JP 6987709 B2 JP6987709 B2 JP 6987709B2 JP 2018132589 A JP2018132589 A JP 2018132589A JP 2018132589 A JP2018132589 A JP 2018132589A JP 6987709 B2 JP6987709 B2 JP 6987709B2
Authority
JP
Japan
Prior art keywords
user
predetermined service
information
resource
information 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.)
Active
Application number
JP2018132589A
Other languages
English (en)
Other versions
JP2020009379A (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.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan 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 Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2018132589A priority Critical patent/JP6987709B2/ja
Publication of JP2020009379A publication Critical patent/JP2020009379A/ja
Application granted granted Critical
Publication of JP6987709B2 publication Critical patent/JP6987709B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
従来、ユーザのアカウントを管理する技術が知られている。例えば、アカウントに設定された権限ごとに、各権限の使用頻度に基づく重要度に応じた有効時間を算出し、有効時間を超えて使用されていない権限を個別に判別する技術が知られている。
特開2012−212259号公報
しかしながら、上記の従来技術では、サービスの利用に用いられるリソースを適切に管理することができるとは限らない。具体的には、上記の従来技術では、有効時間を超えて使用されていない権限を個別に判別するにすぎず、サービスの利用に用いられるリソースを適切に管理することができるとは限らない。
本願は、上記に鑑みてなされたものであって、サービスの利用に用いられるリソースを適切に管理することができる情報処理装置、情報処理方法及び情報処理プログラムを提供することを目的とする。
本願に係る情報処理装置は、所定のサービスの利用に用いられるリソースに関する情報であるリソース情報に基づいて、前記所定のサービスを利用するユーザの前記所定のサービスの利用に関する習熟度を判定する判定部と、前記判定部によって判定された習熟度に応じて、前記ユーザが前記所定のサービスを利用する際に用いるリソースを決定する決定部とを備えたことを特徴とする。
実施形態の一態様によれば、サービスの利用に用いられるリソースを適切に管理することができるといった効果を奏する。
図1は、実施形態に係る情報処理の一例を示す図である。 図2は、実施形態に係る情報処理装置の構成例を示す図である。 図3は、実施形態に係るクエリ情報記憶部の一例を示す図である。 図4は、実施形態に係るユーザ情報記憶部の一例を示す図である。 図5は、実施形態に係るリソース情報記憶部の一例を示す図である。 図6は、実施形態に係る高負荷クエリの判定処理手順を示すフローチャートである。 図7は、実施形態に係る情報処理手順を示すフローチャートである。 図8は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔1.情報処理の一例〕
まず、図1を用いて、実施形態に係る情報処理の一例について説明する。図1は、実施形態に係る情報処理の一例を示す図である。図1の例では、情報処理システム1は、ユーザ端末10とデータベース管理システム(DBMS:Database Management System)に関するサービスを提供する情報処理装置100とを有する。データベース管理システムに関するサービスとは、例えば、データを複数の表で管理するリレーショナルデータベース管理システム(RDBMS:relational database management system)に関するサービスである。
ユーザ端末10と情報処理装置100とは、ネットワークN(例えば、図2参照)等の所定の通信網を介して、有線または無線により通信可能に接続される。なお、図1に示す情報処理システム1には、任意の数のユーザ端末10と任意の数の情報処理装置100とが含まれてもよい。
ユーザ端末10は、ユーザによって利用される情報処理装置である。ユーザ端末10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。図1は、ユーザ端末10がノート型PCである場合を示す。なお、以下では、ユーザ端末10をユーザと表記する場合がある。すなわち、以下では、ユーザをユーザ端末10と読み替えることもできる。
また、以下では、ユーザID「U1」により識別されるユーザを「ユーザU1」とする場合がある。このように、以下では、「ユーザU*(*は任意の数値)」と記載した場合、そのユーザはユーザID「U*」により識別されるユーザであることを示す。例えば、「ユーザU2」と記載した場合、そのユーザはユーザID「U2」により識別されるユーザである。
また、図1に示す例においては、ユーザ端末10を利用するユーザに応じて、ユーザ端末10をユーザ端末10−1、10−2として説明する。例えば、ユーザ端末10−1は、ユーザID「U1」により識別されるユーザ(ユーザU1)により使用されるユーザ端末10である。また、例えば、ユーザ端末10−2は、ユーザID「U2」により識別される(ユーザU2)により使用されるユーザ端末10である。また、以下では、ユーザ端末10−1、10−2について、特に区別なく説明する場合には、ユーザ端末10と記載する。
ユーザ端末10には、情報処理装置100が提供するデータベース管理システムに対する操作を行うためのアプリケーションがインストールされている。ユーザ端末10は、ユーザの操作に従って、データの抽出や挿入、更新、削除といったデータベース管理システムに対する一連の処理命令であるクエリを情報処理装置100に送信する。例えば、ユーザ端末10は、SQL(Structured Query Language)によって記述されたクエリを情報処理装置100に送信する。
情報処理装置100は、所定のサービスの利用に用いられるリソースを管理するサーバ装置である。情報処理装置100は、所定のサービスの利用に用いられるリソースに関する情報であるリソース情報に基づいて、所定のサービスを利用するユーザの所定のサービスの利用に関する習熟度を判定する。そして、情報処理装置100は、判定した習熟度に応じて、ユーザが所定のサービスを利用する際に用いるリソースを決定する。図1では、所定のサービスの一例として、データベース管理システムに関するサービスについて説明する。
また、情報処理装置100は、データベース管理システムに関するサービスを提供するサーバ装置である。具体的には、情報処理装置100は、時系列に整理された大量の統合業務データを管理するシステムであるデータウェアハウスに関するサービスを提供する。
情報処理装置100は、アプリケーションを経由してユーザ端末10からクエリを受け付ける。情報処理装置100は、ユーザ端末10からクエリを受け付けると、クエリを実行する。具体的には、情報処理装置100は、ユーザ端末10からクエリを受け付けると、複数の中央処理装置によってクエリを並行処理する。例えば、情報処理装置100は、複数のSMP(Symmetric Multiprocessing)ノードを機器間通信バスで接続し、SMPノード間でディスクを共有しないマルチプロセッサの方式であるMMP(Massively Parallel Processing)によってクエリを並行処理する。
以下、図1を用いて、情報処理の一例を説明する。図1に示す例では、対照的な2人のユーザ(ユーザU1とユーザU2)を例にとって説明する。はじめに、ユーザU1について説明する。ユーザ端末10−1は、データベース管理システムに対する一連の処理命令であって、SQLによって記述されたクエリ「SQL文#11」を情報処理装置100に送信する(ステップS11)。情報処理装置100は、アプリケーションを経由してユーザ端末10−1からクエリ「SQL文#11」を受け付ける。
続いて、情報処理装置100は、ユーザ端末10−1からクエリ「SQL文#11」を受け付けると、受け付けたクエリ「SQL文#11」を実行する(ステップS21)。具体的には、情報処理装置100は、クエリ「SQL文#11」を複数の中央処理装置によって並行処理する。情報処理装置100は、クエリを実行するとともに、クエリの送信元であるユーザU1のユーザIDとクエリを実行した日時と実行したクエリ「SQL文#11」とを対応付けて、図3に示すクエリ情報記憶部122に記憶する。
また、情報処理装置100は、クエリ「SQL文#11」を実行すると、ユーザU1から受け付けたクエリ「SQL文#11」を実行する際に用いられたリソースに関するリソース情報を取得する。具体的には、情報処理装置100は、リソース情報として、クエリを実行する際に用いられた中央処理装置の計算時間であるCPU時間を取得する。また、情報処理装置100は、リソース情報として、クエリを実行する際に用いられた記憶領域の容量を取得する。また、情報処理装置100は、リソース情報として、クエリを実行する際に用いられたCPUリソースの使用量がCPUリソースの容量に対して占める割合であるCPU占有率を取得する。また、情報処理装置100は、リソース情報として、クエリを実行する際に用いられた複数の中央処理装置に関するCPUリソースの使用量が、複数の中央処理装置のうち、所定の中央処理装置に偏っているか否かを示すCPUリソースの使用量の分散を取得する。情報処理装置100は、リソース情報を取得すると、取得したリソース情報を実行したクエリ「SQL文#11」と対応付けて、図3に示すクエリ情報記憶部122に記憶する。
情報処理装置100は、クエリ「SQL文#11」と同様に、所定期間内にユーザU1から複数のクエリ「SQL文#12」、クエリ「SQL文#13」、・・・、クエリ「SQL文#1N」(Nは自然数)を受け付ける。また、情報処理装置100は、クエリ「SQL文#11」と同様に、所定期間内にユーザU1から受け付けたクエリ「SQL文#12」、クエリ「SQL文#13」、・・・、クエリ「SQL文#1N」を実行する際に用いられたリソースに関するリソース情報を取得する。情報処理装置100は、リソース情報を取得すると、取得したリソース情報を実行したクエリと対応付けて、図3に示すクエリ情報記憶部122に記憶する。
情報処理装置100は、所定期間内に取得したリソース情報に基づいて、ユーザU1のデータベース管理システムの利用に関する習熟度を判定する(ステップS31)。データベース管理システムの利用に関する習熟度とは、具体的には、ユーザがデータベース管理システムを利用する際に用いるリソースの使用に関する習熟度を意味する。より具体的には、リソースの使用に関する習熟度が低いユーザとは、リソースに高い負荷をかけるユーザである。情報処理装置100は、リソース情報が所定の条件を満たす場合に、ユーザがクエリを実行する際に用いるリソースの使用に関する習熟度を示すスコア(以降、「スコア」と称する。)の一つであるクエリ実行スコアを減点する。なお、情報処理装置100は、クエリ実行スコアとトレーニング受講スコアと運営協力スコアの3つのスコアの合計点をスコアとして算出する。そして、情報処理装置100は、算出したスコアに基づいて、ユーザの習熟度を判定する。トレーニング受講スコアは、ユーザがデータベース管理システムの利用に関する各種のトレーニングを受講したユーザに対して加算されるスコアである。運営協力スコアは、データベース管理システムの運営に協力したユーザに対して加算されるスコアである。ここで、アカウントが付与されてから所定期間(例えば、1か月)を経過したユーザであって、一般的なユーザのスコアの平均を0点とする。情報処理装置100は、0点からクエリ実行スコアを減点、又は、トレーニング受講スコアと運営協力スコアを加算することにより、スコアを算出する。なお、一般的なユーザとは、平均的なユーザを指す。また、一般的なユーザ(すなわち、スコアが0点であるユーザ)の習熟度をレベル2とする。
例えば、情報処理装置100は、所定の条件として、所定期間内にCPU時間が所定の時間(例えば100K秒)以上のクエリである高負荷クエリを所定の回数(例えば10回)以上実行した場合に、クエリ実行スコアを減点する。図1に示す例では、情報処理装置100は、一か月間にユーザU1から受け付けた高負荷クエリを10回実行する。情報処理装置100は、ユーザU1が所定の条件を満たすので、例えば、ユーザU1のクエリ実行スコアとして所定の点数(例えば10点)を減点する。また、情報処理装置100は、ユーザU1のトレーニング受講スコアを0点と算出する。また、情報処理装置100は、ユーザU1の運営協力スコアを0点と算出する。したがって、情報処理装置100は、3つのスコアの合計として、ユーザU1のスコアを−10点と算出する。図1に示す例では、情報処理装置100は、ユーザU1のスコアが−10点であり、習熟度が平均的なユーザのスコアである0点よりも低いので、ユーザU1の習熟度をレベル2よりも低いレベル1であると判定する。
続いて、情報処理装置100は、判定した習熟度に応じて、ユーザが所定のサービスを利用する際に用いるリソースを決定する。具体的には、決定部135は、判定部134によって判定された習熟度が高いほど、ユーザが所定のサービスを利用する際に用いるリソースを優先して割り当てることを決定する。図1に示す例では、情報処理装置100は、ユーザU1の習熟度が平均的なユーザより低いレベル1であるので、ユーザU1がデータベース管理システムを利用する際に用いるリソースをレベル2のユーザより制限することを決定する(ステップS41)。例えば、情報処理装置100は、ユーザU1から受け付けたクエリに中央処理装置の使用権を割り当てる優先度を低くすることを決定する。
次に、ユーザU2について説明する。ユーザ端末10−2は、データベース管理システムに対する一連の処理命令であってSQLによって記述されたクエリ「SQL文#21」を情報処理装置100に送信する(ステップS12)。情報処理装置100は、アプリケーションを経由してユーザ端末10−2からクエリ「SQL文#21」を受け付ける。
続いて、情報処理装置100は、ユーザ端末10−2からクエリ「SQL文#21」を受け付けると、受け付けたクエリ「SQL文#21」を実行する(ステップS22)。具体的には、情報処理装置100は、クエリ「SQL文#21」を複数の中央処理装置によって並行処理する。情報処理装置100は、クエリを実行するとともに、クエリの送信元であるユーザU2のユーザIDとクエリを実行した日時と実行したクエリ「SQL文#21」とを対応付けて、図3に示すクエリ情報記憶部122に記憶する。
また、情報処理装置100は、クエリ「SQL文#21」を実行すると、ユーザU2から受け付けたクエリ「SQL文#21」を実行する際に用いられたリソースに関するリソース情報を取得する。具体的には、情報処理装置100は、リソース情報として、CPU時間を取得する。また、情報処理装置100は、リソース情報として、記憶領域の容量を取得する。また、情報処理装置100は、リソース情報として、CPU占有率を取得する。また、情報処理装置100は、リソース情報として、CPUリソースの使用量の分散を取得する。情報処理装置100は、リソース情報を取得すると、取得したリソース情報を実行したクエリ「SQL文#21」と対応付けて、図3に示すクエリ情報記憶部122に記憶する。
情報処理装置100は、クエリ「SQL文#21」と同様に、所定期間内にユーザU2から複数のクエリ「SQL文#22」、クエリ「SQL文#23」、・・・、クエリ「SQL文#2M」(Mは自然数)を受け付ける。また、情報処理装置100は、クエリ「SQL文#21」と同様に、所定期間内にユーザU2から受け付けたクエリ「SQL文#22」、クエリ「SQL文#23」、・・・、クエリ「SQL文#2M」を実行する際に用いられたリソースに関するリソース情報を取得する。情報処理装置100は、リソース情報を取得すると、取得したリソース情報を実行したクエリと対応付けて、図3に示すクエリ情報記憶部122に記憶する。
情報処理装置100は、所定期間内に取得したリソース情報に基づいて、ユーザU2のデータベース管理システムの利用に関する習熟度を判定する(ステップS32)。図1に示す例では、情報処理装置100は、一か月間にユーザU2から受け付けた高負荷クエリを1回実行する。例えば、情報処理装置100は、一か月間にユーザU2から受け付けた複数のクエリのうち、高負荷クエリであるクエリ「SQL文#21」と高負荷クエリでない他のクエリを実行する。情報処理装置100は、ユーザU2が所定の条件を満たさないので、ユーザU2のクエリ実行スコアを減点しない。また、情報処理装置100は、ユーザU2は、SQLの記述方法に関する初心者向けトレーニングの受講歴があるため、ユーザU2のトレーニング受講スコアとして所定の点数(例えば10点)を加算する。また、情報処理装置100は、ユーザU2は、データベース管理システムを管理する管理者に対して、例えば、高負荷クエリのSQL文を解析するために協力した実績があるため、運営協力スコアとして所定の点数(例えば10点)を加算する。したがって、情報処理装置100は、3つのスコアの合計として、ユーザU2のスコアを10点と算出する。続いて、情報処理装置100は、ユーザU2のスコアが10点であり、習熟度が平均的なユーザのスコアである0点よりも高いので、ユーザU2の習熟度をレベル2よりも高いレベル3であると判定する。
続いて、情報処理装置100は、ユーザU2の習熟度が平均的なユーザより高いレベル3であるので、ユーザU2がデータベース管理システムを利用する際に用いるリソースを平均的なユーザより優先することを決定する(ステップS42)。例えば、情報処理装置100は、ユーザU2から受け付けたクエリに中央処理装置の使用権を割り当てる優先度を高くすることを決定する。
なお、情報処理装置100は、所定期間内に高負荷クエリを所定の回数(例えば10回)以上実行したことの他にも、リソース情報が所定の条件を満たす場合にクエリ実行スコアを減点する。具体的には、情報処理装置100は、所定の条件を満たす場合として、ユーザから受け付けたクエリを実行する際に用いられたCPUリソースの使用量がCPUリソースの全容量に対して所定の割合(例えば5%)以上占有した場合に、ユーザのクエリ実行スコアを減点する。また、情報処理装置100は、所定の条件を満たす場合として、ユーザから受け付けたクエリを実行するために要した記憶領域の容量が、ユーザに割り当てられている記憶容量を超えた回数が所定の回数(例えば10回)以上である場合に、ユーザのクエリ実行スコアを減点する。また、情報処理装置100は、所定の条件を満たす場合として、ユーザから受け付けたクエリの計算時間が所定の時間(例えば、2時間)を超えたため、クエリを強制的に終了した回数が所定の回数(例えば3回)以上である場合に、ユーザのクエリ実行スコアを減点する。また、情報処理装置100は、所定の条件を満たす場合として、ユーザU1から受け付けたクエリを実行するために要したCPU時間が所定の時間を大幅に上回った場合(例えば500K秒以上)に、ユーザのクエリ実行スコアを減点する。
また、情報処理装置100は、所定の条件を満たす場合として、ユーザU1から受け付けたクエリを実行する際に用いられた複数の中央処理装置に関するCPUリソースの使用量が、複数の中央処理装置のうち、所定の中央処理装置に偏っているか否かを示すCPUリソースの使用量の分散が所定の閾値を下回る場合に、ユーザのクエリ実行スコアを減点してもよい。
ここで、CPUリソースの使用量の分散について詳しく説明する。CPUリソースの使用量の分散が所定の閾値を上回ることは、クエリを実行する際に、クエリに含まれる処理が、複数の中央処理装置によってバランスよく並行処理されることを意味する。一方、CPUリソースの使用量の分散が所定の閾値以下であることは、クエリを実行する際に、クエリに含まれる処理が、複数の中央処理装置のうちの特定の中央処理装置に偏って処理されることを意味する。例えば、100個の処理を含むクエリを10台の中央処理装置によって並行処理する場合を考える。この時、ユーザが記述するクエリの内容によっては、クエリに含まれる100個の処理が、10台の中央処理装置によってバランスよく並行処理される。例えば、10台の中央処理装置各々によって10個の処理が同時に並行処理される。一方、ユーザが記述するクエリの内容によっては、クエリに含まれる100個の処理が、10台の中央処理装置のうち特定の中央処理装置に偏って処理される。例えば、10台の中央処理装置のうち特定の1台の中央処理装置によって100個の処理が処理される。
例えば、あるクエリに含まれる100個の処理が、10台の中央処理装置のうち特定の1台の中央処理装置に偏って処理されるとすると、残り9台の中央処理装置は、特定の1台の中央処理装置が100個の処理を終えるまで、アイドル状態(利用可能ではあるが何の処理も行われていない状態)となる。すなわち、100個の処理が特定の中央処理装置に偏って処理されると、100個の処理が複数の中央処理装置によってバランスよく並行処理されるのと比べて、中央処理装置による処理の効率が悪いといえる。言い換えると、クエリを実行する際にCPUリソースの使用量の分散が小さいほど、CPUリソースが無駄使いされるといえる。
上述したように、情報処理装置100は、ユーザの所定のサービスの利用に関する習熟度を判定する。そして、情報処理装置100は、判定した習熟度に応じて、ユーザが所定のサービスを利用する際に用いるリソースを決定する。これにより、情報処理装置100は、サービスの利用に関するユーザの習熟度に応じて、リソースを適切に管理することができる。また、情報処理装置100は、サービスの利用に関するユーザの習熟度に応じて、ユーザがサービスを利用する際のメリットを享受することを可能にする。したがって、情報処理装置100は、サービスの利用に関するユーザの習熟度を向上させることができる。また、情報処理装置100は、サービスの利用に関するユーザの習熟度を向上させることにより、ユーザが効率的にサービスを利用することを可能にする。また、情報処理装置100は、個々のユーザが効率的にサービスを利用することにより、全体としてユーザが利用可能なリソースを増やすことができる。したがって、情報処理装置100は、サービスの利用に用いられるリソースを適切に管理することができる。
なお、情報処理装置100は、所定期間内にリソース情報が所定の条件のいずれかを満たす場合にクエリ実行スコアを減点してもよいし、所定期間内にリソース情報が複数の所定の条件を満たす場合にクエリ実行スコアを減点してもよい。また、情報処理装置100は、クエリ実行スコアだけをスコアとして用いてもよい。また、情報処理装置100は、所定期間の経過を待つことなく、リソース情報が所定の条件を満たした時点で、クエリ実行スコアを減点してもよい。また、情報処理装置100は、所定期間の経過を待つことなく、クエリ実行スコアが減点された時点で、ユーザの習熟度をレベル1であると判定して、ユーザがデータベース管理システムを利用する際に用いるリソースをレベル2のユーザより制限することを決定してもよい。
また、情報処理装置100は、バッチ処理に割り当てられるリソースの割合に応じて、所定の条件に係る閾値を変更してもよい。一般的に、日中と夜間とでは、ユーザによって使用されるリソースの使用量とバッチ処理に割り当てられるリソースの使用量との割合は大きく異なる。例えば、夜間はバッチ処理に割り当てられるリソースの割合がかなり高くなる。また、バッチ処理に割り当てられるリソースの割合が高くなると、相対的にユーザに割り当て可能なリソースの使用量は少なくなる。例えば、夜間において、ユーザによって使用されるリソースの使用量とバッチ処理に割り当てられるリソースの使用量の比率が、2対8である場合や1対9である場合には、所定の条件に係る閾値を日中よりも低くする必要がある。そこで、情報処理装置100は、バッチ処理割り当てられるリソースの割合が高くなる夜間の時間帯は、所定の条件に係る閾値を日中よりも低くする。例えば、情報処理装置100は、日中の時間帯はCPU時間が100K秒以上のクエリである高負荷クエリを10回以上実行するという条件を、夜間の時間帯はCPU時間が80K秒以上のクエリを10回以上実行するという条件に変更する。また、情報処理装置100は、日中の時間帯はCPU占有率が5%以上という条件を、夜間の時間帯はCPU占有率が3%以上という条件に変更する。また、情報処理装置100は、日中の時間帯はユーザに割り当てられている記憶容量である6KBを超えた回数が10回以上であるという条件を、夜間の時間帯は記憶容量である4KBを超えた回数が10回以上であるという条件に変更する。また、情報処理装置100は、日中の時間帯はCPU時間が500K秒以上であるクエリを1回以上実行したという条件を、夜間の時間帯はCPU時間が300K秒以上であるクエリを1回以上実行したという条件に変更する。なお、情報処理装置100は、CPU時間や記憶容量といった閾値を日中の時間帯よりも夜間の時間帯は低くする代わりに、条件にあてはまる回数を日中の時間帯よりも夜間の時間帯は低くするようにしてもよい。
〔2.情報処理装置の構成〕
次に、図2を用いて、実施形態に係る情報処理装置100の構成について説明する。図2は、実施形態に係る情報処理装置100の構成例を示す図である。図2に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、例えば、ユーザ端末10との間で情報の送受信を行う。
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、図2に示すように、データベース記憶部121と、クエリ情報記憶部122と、ユーザ情報記憶部123と、リソース情報記憶部124とを有する。
(データベース記憶部121)
データベース記憶部121は、データベースに関する各種の情報を記憶する。具体的には、データベース記憶部121は、複数の業務システムから収集したデータを統合して格納する。例えば、データベース記憶部121は、電子商取引システムから収集した顧客の取引履歴に関するデータ、位置情報システムから収集したユーザの位置履歴に関するデータ、検索システムから収集したユーザの検索履歴に関するデータ等を統合して格納する。
(クエリ情報記憶部122)
クエリ情報記憶部122は、ユーザから受け付けたクエリに関する各種の情報を記憶する。図3に、実施形態に係るクエリ情報記憶部の一例を示す。図3に示す例では、クエリ情報記憶部122は、「日時」、「ユーザID」、「SQL文」、「CPU時間(秒)」、「記憶領域(TB)」、「CPU占有率(%)」、「CPU使用量の分散」といった項目を有する。
「日時」は、ユーザからクエリを受け付けた日時に関する情報を示す。図3のユーザU1の1レコード目に示す例では、日時「2018/4/1 10:00」は、2018年4月1日の10:00にユーザU1からクエリを受け付けたことを示す。
「ユーザID」は、クエリを送信したユーザを識別するための識別情報を示す。図3のユーザU1の1レコード目に示す例では、クエリを送信したユーザがユーザID「U1」で識別されるユーザ(ユーザU1)であることを示す。
「SQL文」は、SQLによって記述されたクエリであって、ユーザから受け付けたクエリを示す。図3のユーザU1の1レコード目に示す例では、SQL文「SQL文#11」は、ユーザU1から受け付けたクエリを示す。
「CPU時間(秒)」は、クエリを実行する際に用いられた中央処理装置の計算時間を示す。図3のユーザU1の1レコード目に示す例では、CPU時間(秒)「100K」は、ユーザU1から受け付けたクエリ「SQL文#11」を実行する際に用いられた中央処理装置の計算時間が100K(秒)であることを示す。また、図3のユーザU5の1レコード目〜3レコード目に示す例では、CPU時間「強制終了」は、ユーザU5がデータベース管理システムを利用する際に実行を開始したクエリが所定の時間(例えば、2時間)を超えたため、強制終了されたことを示す。
「記憶領域(TB)」は、クエリを実行する際に用いられた記憶領域の容量を示す。例えば、「記憶領域(TB)」は、クエリを実行する際にスプーリングに用いられた記憶領域の容量を示す。図3のユーザU4の1レコード目に示す例では、記憶領域(TB)「6」は、ユーザU4から受け付けたクエリ「SQL文#41」を実行する際に用いられた記憶領域の容量が6(TB)であることを示す。
「CPU占有率(%)」は、クエリを実行する際に用いられたCPUリソースの使用量がCPUリソースの容量に対して占める割合であるCPU占有率を示す。図3のユーザU3の1レコード目に示す例では、CPU占有率(%)「5」は、ユーザU3から同時に受け付けた10個のクエリ「SQL文#31」〜クエリ「SQL文#310」を実行する際のCPU占有率が5(%)であることを示す。
「CPU使用量の分散」は、クエリを並行処理する複数の中央処理装置のうち、クエリを実行する際に用いられたCPUリソースの使用量が所定の中央処理装置に偏っているか否かを示すCPUリソースの使用量の分散を示す。ここで、CPUリソースの使用量の分散が大きいことは、クエリを実行する際に、クエリに含まれる処理が複数の中央処理装置によってバランスよく並行処理されることを意味する。一方、CPUリソースの使用量の分散が小さいことは、クエリを実行する際に、クエリに含まれる処理が複数の中央処理装置のうちの特定の中央処理装置に偏って処理されることを意味する。
図3のユーザU6の1レコード目に示す例では、CPU使用量の分散「Q」は、ユーザU1から受け付けたクエリ「SQL文#61」を実行する際に用いられたCPUリソースの使用量の分散がQであることを示す。
(ユーザ情報記憶部123)
ユーザ情報記憶部123は、データベース管理システムを利用するユーザに関する各種の情報を記憶する。図4に、実施形態に係るユーザ情報記憶部の一例を示す。図4に示す例では、ユーザ情報記憶部123は、「ユーザID」、「クエリ実行スコア」、「トレーニング受講スコア」、「運営協力スコア」、「アカウント付与歴(月)」、「習熟度(レベル)」といった項目を有する。
「ユーザID」は、ユーザを識別するための識別情報を示す。図4の1レコード目に示す例では、ユーザがユーザID「U1」で識別されるユーザ(ユーザU1)であることを示す。
「クエリ実行スコア」は、ユーザがクエリを実行する際に用いるリソースの使用に関する習熟度を示すスコアである。図4の1レコード目に示す例では、クエリ実行スコア「−10」は、ユーザU1のクエリ実行スコアが−10であることを示す。
「トレーニング受講スコア」は、データベース管理システムの利用に関する各種のトレーニングを受講した場合に加点されるスコアである。例えば、トレーニング受講スコアは、ユーザがSQLの記述方法に関する初心者向けトレーニングや定期トレーニングを受講した場合に加点される。図4の1レコード目に示す例では、トレーニング受講スコア「0」は、ユーザU1にトレーニングの受講実績がないことを示す。
「運営協力スコア」は、データベース管理システムの運営に協力した場合に加点されるスコアである。例えば、運営協力スコアは、ユーザがデータベース管理システムのデータ整備に協力した場合や、ユーザが高負荷なクエリのSQL文の解析に協力した場合に加点される。図4の1レコード目に示す例では、運営協力スコア「0」は、ユーザU1がデータベース管理システムの運営に協力した実績がないことを示す。
「アカウント付与歴(月)」は、ユーザにデータベース管理システムのアカウントが付与されてから現在までの期間の長さを示す。アカウント付与歴が所定期間を下回るユーザは新規ユーザであるとみなされる。例えば、アカウント付与歴が3か月を下回るユーザは図4の1レコード目に示す例では、アカウント付与歴(月)「24」は、ユーザU1にデータベース管理システムのアカウントが付与されてから現在までの期間が24か月であることを示す。また、図4の5レコード目に示す例では、アカウント付与歴(月)「1」は、ユーザU5にデータベース管理システムのアカウントが付与されてから現在までの期間が1か月であることを示す。ユーザU5のアカウント付与歴は、所定期間である3か月を下回るため、ユーザU5は新規ユーザであるとみなされる。
「習熟度(レベル)」は、ユーザのデータベース管理システムの利用に関する習熟度を示す。図4の1レコード目に示す例では、習熟度(レベル)「1」は、ユーザU1のデータベース管理システムの利用に関する習熟度がレベル1であることを示す。
(リソース情報記憶部124)
リソース情報記憶部124は、ユーザがデータベース管理システムを利用する際に用いるリソースを決定する基準に関する各種の情報を記憶する。図5に、実施形態に係るリソース情報記憶部の一例を示す。図5に示す例では、リソース情報記憶部124は、「習熟度(レベル)」、「記憶領域の上限(TB)」、「CPUを使用する優先度」、「クエリ多重度(日中/夜間)」、「アボート時間(時間)」、「100%テーブル参照」といった項目を有する。
「習熟度(レベル)」は、ユーザのデータベース管理システムの利用に関する習熟度を示す。具体的には、「習熟度(レベル)」は、データベース管理システムを利用する際に用いるリソースの使用に関する習熟度を示す。より具体的には、データベース管理システムの利用に関する習熟度とは、クエリを実行する際に用いるリソースの使用に関する習熟度を意味する。図5に示す例では、「習熟度(レベル)」は、レベル0、レベル1、レベル2、レベル3の4段階ある。図5に示す例では、習熟度「3」(レベル3)は、一般的なユーザよりも習熟度が高いユーザであることを示す。習熟度「2」(レベル2)は、一般的なユーザと習熟度が同程度のユーザであることを示す。習熟度「1」(レベル1)は、一般的なユーザよりも習熟度が低いユーザであることを示す。習熟度「0」(レベル0)は、アカウント付与歴が所定期間を下回るユーザである新規ユーザであることを示す。新規ユーザの習熟度は一律にレベル0とみなす。
「記憶領域の上限(TB)」は、ユーザがデータベース管理システムを利用する際に使用可能な記憶領域の上限を示す。「記憶領域の上限(TB)」は、ユーザのレベルに応じてユーザ毎に割り当てられる上限が決まっている。具体的には、「記憶領域の上限(TB)」は、ユーザがクエリを一回実行する際に使用可能な記憶領域の上限を示す。図5に示す例では、習熟度がレベル3またはレベル2であるユーザがクエリを一回実行する際に使用可能な記憶領域の上限は「6」(TB)であることを示す。また、習熟度がレベル1またはレベル0であるユーザがクエリを一回実行する際に使用可能な記憶領域の上限は「4」(TB)であることを示す。
「CPUを使用する優先度」は、ユーザがデータベース管理システムを利用する際に中央処理装置を使用する順番の優先度を示す。「CPUを使用する優先度」は、言い換えると、ユーザから受け付けたクエリに中央処理装置の使用権が割り当てられる優先度である。すなわち、「CPUを使用する優先度」は、ユーザから受け付けたクエリが実行される順番の優先度である。図5に示す例では、CPUを使用する優先度「高」は、ユーザから受け付けたクエリに中央処理装置の使用権が割り当てられる優先度が高いことを示す。CPUを使用する優先度「中」は、ユーザから受け付けたクエリに中央処理装置の使用権が割り当てられる優先度が普通であることを示す。CPUを使用する優先度「(低※)」は、ユーザから受け付けたクエリに中央処理装置の使用権が割り当てられる優先度が低いことを示す。また、「※重い処理命令」とは、リソースを多く使用するクエリであることを示す。すなわち、リソースを多く使用するクエリは、中央処理装置の使用権が割り当てられる優先度が低いことを示す。
図5の1レコード目に示す例では、習熟度がレベル3であるユーザから受け付けたクエリに中央処理装置の使用権が割り当てられる優先度が高いことを示す。図5の2レコード目に示す例では、習熟度がレベル2であるユーザから受け付けたクエリに中央処理装置の使用権が割り当てられる優先度が普通であることを示す。図5の3レコード目と4レコード目に示す例では、原則として、習熟度がレベル1またはレベル0であるユーザから受け付けたクエリに中央処理装置の使用権が割り当てられる優先度が普通であることを示す。例外として、習熟度がレベル1またはレベル0であるユーザから受け付けたクエリがリソースを多く使用するクエリである場合は、そのクエリに中央処理装置の使用権が割り当てられる優先度が低いことを示す。
ここで、優先度について詳しく説明する。まず、クエリの状態について説明する。クエリに中央処理装置の使用権が与えられて、クエリが実行中の状態にあることを実行状態(RUN)と称する。また、中央処理装置の使用権が回ってくるのを待っている状態で、いつでもクエリが実行可能な状態にあることを実行可能状態(READY)と称する。実行可能状態にあるクエリは、中央処理装置の使用権の待ち行列に並んでいると考えられる。 例えば、クエリAが実行状態であって、実行可能状態であるクエリBとクエリCが中央処理装置の使用権の待ち行列に並んでいるとする。クエリAの優先度は「中」であり、クエリBの優先度は「低」であり、クエリCの優先度は「中」であるとする。この時、優先度が「高」のクエリDが中央処理装置の使用権の待ち行列に追加されると、中央処理装置の使用権が実行状態であるクエリAから優先度が高いクエリDに切り替えられる。すなわち、優先度が高いクエリほど、中央処理装置に優先的に実行される。
「クエリ多重度(日中/夜間)」は、ユーザがデータベース管理システムを利用する際に同時に実行可能なクエリの本数を示す。図5に示す例では、クエリ多重度(日中/夜間)「3/2」は、ユーザが日中(例えば、午前8:00〜午後20:00)に同時に実行可能なクエリの本数が3本であり、ユーザが夜間(例えば、日中以外の時間帯)に同時に実行可能なクエリの本数が2本であることを示す。図5の1レコード目と2レコード目に示す例では、習熟度がレベル3またはレベル2のユーザが日中に同時に実行可能なクエリの本数が3本であり、ユーザが夜間に同時に実行可能なクエリの本数が2本であることを示す。図5の3レコード目と4レコード目に示す例では、習熟度がレベル1またはレベル0であるユーザが日中に同時に実行可能なクエリの本数が2本であり、ユーザが夜間に同時に実行可能なクエリの本数が2本であることを示す。
「アボート時間(時間)」は、ユーザがデータベース管理システムを利用する際に実行を開始したクエリが強制終了されるまでの最長時間を示す。図5に示す例では、アボート時間(時間)「3」は、ユーザがデータベース管理システムを利用する際に実行を開始したクエリが強制終了されるまでの最長時間が3時間であることを示す。図5の1レコード目に示す例では、習熟度がレベル3のユーザがデータベース管理システムを利用する際に実行を開始したクエリが強制終了されるまでの最長時間が3時間であることを示す。図5の2レコード目から4レコード目に示す例では、習熟度がレベル2、レベル1またはレベル0のユーザがデータベース管理システムを利用する際に実行を開始したクエリが強制終了されるまでの最長時間が2時間であることを示す。
「100%テーブル参照」は、ユーザがデータベースに格納された全てのデータを参照可能であるか否かを示す。図5に示す例では、100%テーブル参照「可」は、ユーザがデータベースに格納された全てのデータを参照可能であることを示す。100%テーブル参照「不可」は、ユーザがデータベースに格納された全てのデータを参照不可能であることを示す。例えば、100%テーブル参照「不可」は、ユーザがデータベースに格納されたデータのうち所定の割合(例えば、50%)のデータのみ参照可能であることを示す。図5の1レコード目から3レコード目に示す例では、習熟度がレベル3、レベル2またはレベル1のユーザがデータベースに格納された全てのデータを参照可能であることを示す。図5の4レコード目に示す例では、習熟度がレベル0のユーザがデータベースに格納された全てのデータを参照不可能であることを示す。
(制御部130)
図2の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラム(生成プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図2に示すように、制御部130は、サービス提供部131と、取得部132と、算出部133と、判定部134と、決定部135とを有し、以下に説明する情報処理の作用を実現または実行する。なお、制御部130の内部構成は、図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
(サービス提供部131)
サービス提供部131は、所定のサービスを提供する。サービス提供部131は、例えば、データベース管理システムに関するサービスを提供する。具体的には、サービス提供部131は、アプリケーションを経由してユーザ端末10からクエリを受け付ける。続いて、サービス提供部131は、ユーザ端末10からクエリを受け付けると、クエリを実行する。より具体的には、サービス提供部131は、ユーザ端末10からクエリを受け付けると、複数の中央処理装置によってクエリを並行処理する。サービス提供部131は、クエリを実行すると、クエリの実行結果をユーザ端末10に配信する。
(取得部132)
取得部132は、所定のサービスの利用に用いられるリソースに関する情報であるリソース情報を取得する。取得部132は、例えば、データベース管理システムを利用する際に用いられるリソースに関する情報であるリソース情報を取得する。具体的には、取得部132は、サービス提供部131によってクエリが実行されると、クエリを実行する際に用いられたリソースに関する情報をクエリごとに取得する。取得部132は、クエリを実行する際に用いられたリソースに関する情報を取得すると、取得した情報をクエリ情報記憶部122に格納する。
例えば、取得部132は、リソースに関する情報として、ユーザから受け付けたクエリの実行回数に関する情報を取得する。例えば、取得部132は、クエリ情報記憶部122を参照して、所定期間にユーザから受け付けたクエリの実行回数を取得する。
また、取得部132は、リソース情報として、ユーザが所定のサービスを利用する際に用いた中央処理装置に関するリソースであるCPUリソースに関する情報を取得する。例えば、取得部132は、リソース情報として、ユーザが所定のサービスを利用する際に用いた中央処理装置の計算時間であるCPU時間を取得する。なお、取得部132は、リソース情報として、ユーザが所定のサービスを利用する際に用いた中央処理装置のクロック数を取得してもよい。例えば、取得部132は、リソース情報として、ユーザが所定のサービスを利用する際に用いたCPUリソースの使用量がCPUリソースの容量に対して占める割合であるCPU占有率を取得する。例えば、取得部132は、リソース情報として、ユーザが所定のサービスを利用する際に用いた複数の中央処理装置に関するCPUリソースの使用量が、複数の中央処理装置のうち、所定の中央処理装置に偏っているか否かを示すCPUリソースの使用量の分散を取得する。
また、取得部132は、リソースに関する情報として、ユーザが所定のサービスを利用する際に用いた記憶領域の容量に関する情報を取得する。例えば、取得部132は、記憶領域の容量に関する情報として、スプーリングに用いられた記憶領域の容量に関する情報を取得する。スプーリングとは、低速な装置とのデータのやり取りを高速な磁気ディスクを介して行うことで中央処理装置の処理効率を高める方法である。
(算出部133)
算出部133は、所定のサービスの利用に用いられるリソースに関する情報であるリソース情報に基づいて、所定のサービスを利用するユーザの所定のサービスの利用に関する習熟度を示す指標値を算出する。具体的には、算出部133は、所定のサービスを利用するユーザの所定のサービスの利用に関する習熟度を示す指標値として、クエリ実行スコアとトレーニング受講スコアと運営協力スコアの各スコアを算出する。なお、アカウントが付与されてから所定期間(例えば、1か月)を経過したユーザであって、一般的なユーザのスコアの平均を0点とする。算出部133は、0点からクエリ実行スコアを減点、又は、トレーニング受講スコアと運営協力スコアを加算することにより、スコアを算出する。算出部133は、各スコアを算出すると、算出したスコアをユーザIDと対応付けてユーザ情報記憶部123に格納する。
例えば、算出部133は、リソース情報が所定の条件を満たす場合に、クエリ実行スコアを減点する。例えば、算出部133は、所定の条件として、所定期間内にCPU時間が所定の時間(例えば100K秒)以上のクエリである高負荷クエリを所定の回数(例えば10回)以上実行した場合に、クエリ実行スコアを減点する。図1に示す例では、算出部133は、所定期間内にユーザU1から受け付けた高負荷クエリを10回実行したので、ユーザU1が所定の条件を満たすと判定する。続いて、算出部133は、ユーザU1が所定の条件を満たすと判定したので、ユーザU1のクエリ実行スコアとして所定の点数(例えば10点)を減点する。算出部133は、クエリ実行スコアを算出すると、算出したスコアをユーザU1のユーザIDと対応付けてユーザ情報記憶部123のクエリ実行スコアの項目に格納する。
また、算出部133は、所定の条件を満たす場合として、ユーザから受け付けたクエリを実行する際に用いられたCPUリソースの使用量がCPUリソースの全容量に対して所定の割合(例えば5%)以上占有した場合に、ユーザのクエリ実行スコアを減点する。図4に示すユーザU3の例では、算出部133は、ユーザU3から同時にCPU時間が10K秒のクエリを10個受け付けて実行した結果、CPU占有率が5%以上となったので、ユーザU3が所定の条件を満たすと判定する。続いて、算出部133は、ユーザU3が所定の条件を満たすと判定したので、ユーザU3のクエリ実行スコアとして所定の点数(例えば10点)を減点する。算出部133は、クエリ実行スコアを算出すると、算出したスコアをユーザU3のユーザIDと対応付けてユーザ情報記憶部123のクエリ実行スコアの項目に格納する。
また、算出部133は、所定の条件を満たす場合として、ユーザから受け付けたクエリを実行するために要した記憶領域の容量が、ユーザに割り当てられている記憶容量を超えた回数が所定の回数(例えば10回)以上である場合に、ユーザのクエリ実行スコアを減点する。図4に示すユーザU4の例では、算出部133は、ユーザU4から受け付けたクエリを実行するために要した記憶領域の容量が、ユーザU4に割り当てられている記憶容量である6KBを超えた回数が10回であるので、ユーザU4が所定の条件を満たすと判定する。続いて、算出部133は、ユーザU4が所定の条件を満たすと判定したので、ユーザU4のクエリ実行スコアとして所定の点数(例えば10点)を減点する。算出部133は、クエリ実行スコアを算出すると、算出したスコアをユーザU4のユーザIDと対応付けてユーザ情報記憶部123のクエリ実行スコアの項目に格納する。
また、算出部133は、所定の条件を満たす場合として、ユーザから受け付けたクエリの計算時間が所定の時間(例えば2時間)を超えたため、クエリを強制的に終了した回数が所定の回数(例えば3回)以上である場合に、ユーザのクエリ実行スコアを減点する。図4に示すユーザU5の例では、算出部133は、ユーザU5から受け付けたクエリを強制的に終了した回数が3回であるので、ユーザU5が所定の条件を満たすと判定する。続いて、算出部133は、ユーザU5が所定の条件を満たすと判定したので、ユーザU5のクエリ実行スコアとして所定の点数(例えば10点)を減点する。算出部133は、クエリ実行スコアを算出すると、算出したスコアをユーザU5のユーザIDと対応付けてユーザ情報記憶部123のクエリ実行スコアの項目に格納する。
また、算出部133は、所定の条件を満たす場合として、ユーザから受け付けたクエリを実行するために要したCPU時間が所定の時間を大幅に上回った場合(例えば500K秒以上)に、ユーザのクエリ実行スコアを減点する。図4に示すユーザU6の例では、算出部133は、ユーザU6から受け付けたクエリを実行するために要したCPU時間が500K秒以上であるクエリを1回実行したので、ユーザU6が所定の条件を満たすと判定する。続いて、算出部133は、ユーザU6が所定の条件を満たすと判定したので、ユーザU6のクエリ実行スコアとして所定の点数(例えば10点)を減点する。算出部133は、クエリ実行スコアを算出すると、算出したスコアをユーザU6のユーザIDと対応付けてユーザ情報記憶部123のクエリ実行スコアの項目に格納する。
また、算出部133は、所定の条件を満たす場合として、ユーザから受け付けたクエリを実行する際に用いられた複数の中央処理装置に関するCPUリソースの使用量が、複数の中央処理装置のうち、所定の中央処理装置に偏っているか否かを示すCPUリソースの使用量の分散が所定の閾値を下回る場合に、ユーザのクエリ実行スコアを減点する。例えば、算出部133は、ユーザU7から受け付けたクエリを実行した際のCPUリソースの使用量の分散が所定の閾値を下回るので、ユーザU7が所定の条件を満たすと判定する。続いて、算出部133は、ユーザU7が所定の条件を満たすと判定したので、ユーザU7のクエリ実行スコアとして所定の点数(例えば10点)を減点する。算出部133は、クエリ実行スコアを算出すると、算出したスコアをユーザU7のユーザIDと対応付けてユーザ情報記憶部123のクエリ実行スコアの項目に格納する。
また、算出部133は、ユーザがデータベース管理システムの利用に関する各種のトレーニングを受講した場合に、ユーザのトレーニング受講スコアを加算する。図1に示す例では、算出部133は、ユーザU2は、SQLの記述方法に関する初心者向けトレーニングの受講歴があるため、ユーザU2のトレーニング受講スコアを10点加算する。算出部133は、トレーニング受講スコアを算出すると、算出したスコアをユーザU2のユーザIDと対応付けてユーザ情報記憶部123のトレーニング受講スコアの項目に格納する。
また、算出部133は、データベース管理システムの運営に協力した場合に、ユーザのトレーニング受講スコアを加算する。図1に示す例では、算出部133は、ユーザU2は、高負荷クエリのSQL文を解析するために協力した実績があるため、運営協力スコアを10点加算する。算出部133は、運営協力スコアを算出すると、算出したスコアをユーザU2のユーザIDと対応付けてユーザ情報記憶部123の運営協力スコアの項目に格納する。
(判定部134)
判定部134は、所定のサービスの利用に用いられるリソースに関する情報であるリソース情報に基づいて、所定のサービスを利用するユーザの所定のサービスの利用に関する習熟度を判定する。具体的には、判定部134は、習熟度として、ユーザが所定のサービスを利用する際に用いるリソースの使用に関する習熟度を判定する。より具体的には、判定部134は、リソース情報として、ユーザから受け付けた所定のサービスに関する一連の処理命令であるクエリを実行する際に用いられたリソースに関する情報に基づいて、習熟度を判定する。また、判定部134は、リソース情報として、ユーザから受け付けた所定のサービスに関する一連の処理命令であるクエリの実行回数に基づいて、習熟度を判定する。また、判定部134は、リソース情報として、ユーザが所定のサービスを利用する際に用いた記憶領域の容量に基づいて、習熟度を判定する。また、判定部134は、ユーザが所定のサービスを利用する際に用いた中央処理装置に関するリソースであるCPUリソースに関する情報に基づいて、習熟度を判定する。また、判定部134は、リソース情報として、ユーザが所定のサービスを利用する際に用いた中央処理装置の計算時間であるCPU時間に基づいて、習熟度を判定する。また、判定部134は、リソース情報として、ユーザが所定のサービスを利用する際に用いたCPUリソースの使用量がCPUリソースの容量に対して占める割合であるCPU占有率に基づいて、習熟度を判定する。また、判定部134は、リソース情報として、ユーザが所定のサービスを利用する際に用いた複数の中央処理装置に関するCPUリソースの使用量が、複数の中央処理装置のうち、所定の中央処理装置に偏っているか否かに基づいて、習熟度を判定する。例えば、判定部134は、ユーザが所定のサービスを利用する際に用いた複数の中央処理装置に関するCPUリソースの使用量が、複数の中央処理装置のうち、所定の中央処理装置に偏っているか否かを示すCPUリソースの使用量の分散に基づいて、CPUリソースの使用量が所定の中央処理装置に偏っているか否かを判定する。
また、判定部134は、算出部133によって算出されたクエリ実行スコアに基づいて、所定のサービスを利用するユーザの所定のサービスの利用に関する習熟度を判定する。具体的には、判定部134は、算出部133によって算出されたスコアが一般的なユーザのスコアの平均である0点である場合に、そのユーザの習熟度をレベル2であると判定する。また、判定部134は、算出部133によって算出されたスコアが一般的なユーザのスコアの平均である0点を下回る場合に、そのユーザの習熟度をレベル2よりも低いレベル1であると判定する。また、判定部134は、算出部133によって算出されたスコアが一般的なユーザのスコアの平均である0点を上回る場合に、そのユーザの習熟度をレベル2よりも高いレベル3であると判定する。
(決定部135)
決定部135は、判定部134によって判定された習熟度に応じて、ユーザが所定のサービスを利用する際に用いるリソースを決定する。具体的には、決定部135は、判定部134によって判定された習熟度が高いほど、ユーザが所定のサービスを利用する際に用いるリソースを優先して割り当てることを決定する。
例えば、決定部135は、判定部134によって判定された習熟度が高いほど、CPUリソースを優先して割り当てることを決定する。決定部135は、リソースとして、ユーザから受け付けた所定のサービスに関する一連の処理命令であるクエリに中央処理装置の使用権を優先して割り当てることを決定する。
また、決定部135は、リソースとして、ユーザが所定のサービスを利用する際に使用可能な記憶領域の容量を優先して割り当てることを決定する。
また、決定部135は、リソースとして、ユーザが同時に実行可能な所定のサービスに関する一連の処理命令であるクエリの本数を優先して割り当てることを決定する。
また、決定部135は、リソースとして、ユーザが実行を開始した所定のサービスに関する一連の処理命令であるクエリが強制終了されるまでの時間を優先して割り当てることを決定する。
〔3.高負荷ユーザの判定処理のフロー〕
次に、図6を用いて、実施形態に係る高負荷クエリの判定処理の手順について説明する。図6は、実施形態に係る高負荷クエリの判定処理手順を示すフローチャートである。図6に示す例では、情報処理装置100は、クエリを実行する際に用いられたリソースに関する情報であるリソース情報が所定の条件を満たすか否かを判定する(ステップS101)。情報処理装置100は、クエリを実行する際に用いられたリソースに関する情報であるリソース情報が所定の条件を満たさないと判定する場合(ステップS101;No)は、処理を終了する。一方、情報処理装置100は、クエリを実行する際に用いられたリソースに関する情報であるリソース情報が所定の条件を満たすと判定する場合(ステップS101;Yes)は、そのユーザを高負荷ユーザであると判定する。具体的には、情報処理装置100は、そのユーザのクエリ実行スコアを減点する。
〔4.情報処理のフロー〕
次に、図7を用いて、実施形態に係る情報処理の手順について説明する。図7は、実施形態に係る情報処理手順を示すフローチャートである。図7に示す例では、情報処理装置100は、所定のサービスの利用に関する習熟度を示す指標値を算出する(ステップS201)。続いて、情報処理装置100は、算出した指標値に基づいて、所定のサービスの利用に関するユーザの習熟度を判定する(ステップS202)。続いて、情報処理装置100は、判定したユーザの習熟度に応じてリソースを決定する(ステップS203)。
〔5.変形例〕
上述した実施形態に係る情報処理システム1は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、情報処理システム1の他の実施形態について説明する。なお、実施形態と同一部分には、同一符号を付して説明を省略する。
図1では、情報処理装置100が、ユーザから受け付けたクエリを実行する際に用いられたリソースに関する情報であるリソース情報に基づいて、ユーザの習熟度を判定する例を示したが、ユーザから受け付けたクエリの内容に基づいて、ユーザの習熟度を判定してもよい。
具体的には、判定部134は、クエリ情報記憶部122を参照して、ユーザから受け付けたクエリの内容が所定の条件を満たすか否かに基づいて、ユーザから受け付けたクエリが高負荷クエリであるか否かを判定する。判定部134は、ユーザから受け付けたクエリの内容が所定の条件を満たす場合に、ユーザから受け付けたクエリが高負荷クエリであると判定する。例えば、判定部134は、ユーザから受け付けたクエリを実行する際に、リソースの無駄使いが生じると判定されるクエリである場合は、高負荷クエリであると判定する。
ここで、リソースの無駄使いとは、上述したCPUリソースの無駄使いや、記憶領域の容量の無駄使いを意味する。そして、算出部133は、判定部134によって判定された高負荷クエリの実行回数に基づいて、クエリ実行スコアを算出する。判定部134は、算出部133によって算出されたクエリ実行スコアに基づいて、所定のサービスを利用するユーザの所定のサービスの利用に関する習熟度を判定する。
より具体的には、判定部134は、クエリ情報記憶部122を参照して、ユーザから受け付けたSQL文の記述の仕方が所定の条件を満たす場合に、ユーザから受け付けたクエリが高負荷クエリであると判定する。例えば、判定部134は、ユーザから受け付けたSQL文の記述の仕方として、WHERE句の記述の仕方が所定の条件を満たす場合に、ユーザから受け付けたクエリが高負荷クエリであると判定する。ここで、WHERE句とは、SQL文のうち、表の中から特定の行や列を抽出する際の抽出条件や表と表を結合する際の結合条件等を記述する部分である。
具体的には、判定部134は、クエリを実行する際に記憶領域の容量を無駄使いしたクエリを、高負荷クエリであると判定する。例えば、判定部134は、クエリを実行するために1日分のデータしか必要がないのに、必要以上に長い集計期間のデータを抽出する抽出条件がWHERE句に記載されているクエリを高負荷クエリであると判定する。例えば、判定部134は、クエリを実行するために所定のサービスに関するデータしか必要がないのに、全サービスのデータを抽出する抽出条件がWHERE句に記載されているクエリを高負荷クエリであると判定する。
また、判定部134は、クエリを実行する際にCPUリソースを無駄使いしたクエリを、高負荷クエリであると判定する。例えば、判定部134は、インデックスが作成されている列があるにも関わらず、インデックスが作成されている列を使わずに表と表を結合する結合条件がWHERE句に記載されているクエリを高負荷クエリであると判定する。例えば、判定部134は、インデックスが作成されている列を使ってデータを抽出できるにも関わらず、インデックスが作成されている列を使わずにデータを抽出する抽出条件がWHERE句に記載されているクエリを高負荷クエリであると判定する。
〔6.効果〕
上述してきたように、実施形態に係る情報処理装置100は、判定部134と決定部135とを備える。判定部134は、所定のサービスの利用に用いられるリソースに関する情報であるリソース情報に基づいて、所定のサービスを利用するユーザの所定のサービスの利用に関する習熟度を判定する。決定部135は、判定部134によって判定された習熟度に応じて、ユーザが所定のサービスを利用する際に用いるリソースを決定する。
これにより、情報処理装置100は、サービスの利用に関するユーザの習熟度に応じて、リソースを適切に管理することができる。また、情報処理装置100は、サービスの利用に関するユーザの習熟度に応じて、ユーザがサービスを利用する際のメリットを享受することを可能にする。したがって、情報処理装置100は、サービスの利用に関するユーザの習熟度を向上させることができる。また、情報処理装置100は、サービスの利用に関するユーザの習熟度を向上させることにより、ユーザが効率的にサービスを利用することを可能にする。また、情報処理装置100は、個々のユーザが効率的にサービスを利用することにより、全体としてユーザが利用可能なリソースを増やすことができる。したがって、情報処理装置100は、サービスの利用に用いられるリソースを適切に管理することができる。
また、判定部134は、習熟度として、ユーザが所定のサービスを利用する際に用いるリソースの使用に関する習熟度を判定する。
これにより、情報処理装置100は、リソースの使用に関するユーザの習熟度に応じて、サービスの利用に用いられるリソースを適切に管理することができる。また、情報処理装置100は、リソースの使用に関するユーザの習熟度に応じて、ユーザがサービスを利用する際のメリットを享受することを可能にする。したがって、情報処理装置100は、リソースの使用に関するユーザの習熟度を向上させることができる。また、情報処理装置100は、リソースの使用に関するユーザの習熟度を向上させることにより、ユーザが効率的にリソースを利用することを可能にする。また、情報処理装置100は、個々のユーザが効率的にリソースを利用することにより、全体としてユーザが利用可能なリソースを増やすことができる。したがって、情報処理装置100は、サービスの利用に用いられるリソースを適切に管理することができる。
また、判定部134は、リソース情報として、ユーザから受け付けた所定のサービスに関する一連の処理命令であるクエリを実行する際に用いられたリソースに関する情報に基づいて、習熟度を判定する。
これにより、情報処理装置100は、クエリを実行する際にリソースを適切に用いるようユーザを促すことができる。したがって、情報処理装置100は、クエリの実行に用いられるリソースを適切に管理することができる。
また、判定部134は、リソース情報として、ユーザから受け付けた所定のサービスに関する一連の処理命令であるクエリの実行回数に基づいて、習熟度を判定する。
これにより、情報処理装置100は、ユーザから受け付けた個々のクエリだけでなく、ユーザから受け付けたクエリの全体的な傾向に基づいて、ユーザの習熟度を判定することができる。したがって、情報処理装置100は、クエリの実行に用いられるリソースをより適切に管理することができる。
また、判定部134は、リソース情報として、ユーザが所定のサービスを利用する際に用いた記憶領域の容量に基づいて、習熟度を判定する。
これにより、情報処理装置100は、ユーザが所定のサービスを利用する際に記憶領域の容量を適切に用いるようユーザを促すことができる。したがって、情報処理装置100は、所定のサービスの利用に用いられる記憶領域の容量を適切に管理することができる。
また、判定部134は、リソース情報として、ユーザが所定のサービスを利用する際に用いた中央処理装置に関するリソースであるCPUリソースに関する情報に基づいて、習熟度を判定する。
これにより、情報処理装置100は、ユーザが所定のサービスを利用する際にCPUリソースを適切に用いるようユーザを促すことができる。したがって、情報処理装置100は、所定のサービスの利用に用いられるCPUリソースを適切に管理することができる。
また、判定部134は、リソース情報として、ユーザが所定のサービスを利用する際に用いた中央処理装置の計算時間であるCPU時間に基づいて、習熟度を判定する。
これにより、情報処理装置100は、ユーザが所定のサービスを利用する際にCPU時間を適切に用いるようユーザを促すことができる。したがって、情報処理装置100は、所定のサービスの利用に用いられるCPU時間を適切に管理することができる。
また、判定部134は、リソース情報として、ユーザが所定のサービスを利用する際に用いたCPUリソースの使用量がCPUリソースの容量に対して占める割合であるCPU占有率に基づいて、習熟度を判定する。
これにより、情報処理装置100は、ユーザが所定のサービスを利用する際にCPU占有率を適切に用いるようユーザを促すことができる。したがって、情報処理装置100は、所定のサービスの利用に用いられるCPU占有率を適切に管理することができる。
また、判定部134は、リソース情報として、ユーザが所定のサービスを利用する際に用いた複数の中央処理装置に関するCPUリソースの使用量が、複数の中央処理装置のうち、所定の中央処理装置に偏っているか否かに基づいて、習熟度を判定する。判定部134は、ユーザが所定のサービスを利用する際に用いた複数の中央処理装置に関するCPUリソースの使用量が、複数の中央処理装置のうち、所定の中央処理装置に偏っているか否かを示すCPUリソースの使用量の分散に基づいて、CPUリソースの使用量が所定の中央処理装置に偏っているか否かを判定する。
これにより、情報処理装置100は、ユーザが所定のサービスを利用する際にCPUリソースが所定の中央処理装置に偏らないように、複数の中央処理装置をバランスよく用いるようユーザを促すことができる。また、情報処理装置100は、複数の中央処理装置をバランスよく用いるようユーザを促すことにより、ユーザができるだけ効率よく中央処理装置を使用するよう促すことができる。また、情報処理装置100は、個々のユーザが効率的に中央処理装置を使用することにより、全体としてユーザが使用可能なCPUリソースを増やすことができる。したがって、情報処理装置100は、所定のサービスの利用に用いられるリソースを適切に管理することができる。
また、実施形態に係る情報処理装置100は、算出部133をさらに備える。算出部133は、所定のサービスの利用に用いられるリソースに関する情報であるリソース情報に基づいて、所定のサービスを利用するユーザの所定のサービスの利用に関する習熟度を示す指標値を算出する。判定部134は、算出部133によって算出された指標値に基づいて、習熟度を判定する。
これにより、情報処理装置100は、ユーザの習熟度を指標値によって客観的に判定することができる。
また、決定部135は、判定部134によって判定された習熟度が高いほど、ユーザが所定のサービスを利用する際に用いるリソースを優先して割り当てることを決定する。
これにより、情報処理装置100は、サービスの利用に関するユーザの習熟度が高いほど、ユーザがサービスを利用する際に大きなメリットを享受することを可能にする。したがって、情報処理装置100は、サービスの利用に関するユーザの習熟度を向上させることができる。また、情報処理装置100は、サービスの利用に関するユーザの習熟度を向上させることにより、ユーザが効率的にサービスを利用することを可能にする。また、情報処理装置100は、個々のユーザが効率的にサービスを利用することにより、全体としてユーザが利用可能なリソースを増やすことができる。したがって、情報処理装置100は、サービスの利用に用いられるリソースを適切に管理することができる。
また、決定部135は、リソースとして、ユーザが所定のサービスを利用する際に用いる中央処理装置に関するリソースであるCPUリソースを優先して割り当てることを決定する。
これにより、情報処理装置100は、サービスの利用に関するユーザの習熟度が高いほど、優先的にCPUリソースを使用できるというメリットを享受することを可能にする。
また、決定部135は、リソースとして、ユーザから受け付けた所定のサービスに関する一連の処理命令であるクエリに中央処理装置の使用権を優先して割り当てることを決定する。
これにより、情報処理装置100は、サービスの利用に関する習熟度が高いユーザほど、クエリを実行する際にCPUを優先的に使用できるというメリットを享受することを可能にする。
また、決定部135は、リソースとして、ユーザが所定のサービスを利用する際に使用可能な記憶領域の容量を優先して割り当てることを決定する。
これにより、情報処理装置100は、サービスの利用に関する習熟度が高いユーザほど、クエリを実行する際により多くの記憶領域の容量を使用できるというメリットを享受することを可能にする。
また、決定部135は、リソースとして、ユーザが同時に実行可能な所定のサービスに関する一連の処理命令であるクエリの本数を優先して割り当てることを決定する。
これにより、情報処理装置100は、サービスの利用に関する習熟度が高いユーザほど、同時に実行可能なクエリの本数が多いというメリットを享受することを可能にする。
また、決定部135は、リソースとして、ユーザが実行を開始した所定のサービスに関する一連の処理命令であるクエリが強制終了されるまでの時間を優先して割り当てることを決定する。
これにより情報処理装置100は、サービスの利用に関する習熟度が高いユーザほど、処理に長い時間がかかるクエリであっても実行できるというメリットを享受することを可能にする。
〔7.ハードウェア構成〕
また、上述してきた実施形態に係る情報処理装置100は、例えば図8に示すような構成のコンピュータ1000によって実現される。図8は、情報処理装置100の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を備える。
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定の通信網を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定の通信網を介して他の機器へ送信する。
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
例えば、コンピュータ1000が実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムまたはデータを実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定の通信網を介してこれらのプログラムを取得してもよい。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔8.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、判定部は、判定手段や判定回路に読み替えることができる。
1 情報処理システム
10 ユーザ端末
100 情報処理装置
121 データベース記憶部
122 クエリ情報記憶部
123 ユーザ情報記憶部
124 リソース情報記憶部
131 サービス提供部
132 取得部
133 算出部
134 判定部
135 決定部

Claims (23)

  1. 所定のサービスの利用に用いられるリソースに関する情報であって、前記所定のサービスを利用するユーザから受け付けた前記所定のサービスに関する一連の処理命令であるクエリを実行する際に用いられたリソースに関する情報であるリソース情報に基づいて、前記ユーザの前記所定のサービスの利用に関する習熟度を判定する判定部と、
    前記判定部によって判定された習熟度に応じて、前記ユーザが前記所定のサービスを利用する際に用いるリソースを決定する決定部
    を備えることを特徴とする情報処理装置。
  2. 所定のサービスの利用に用いられるリソースに関する情報であって、前記所定のサービスを利用するユーザが前記所定のサービスを利用する際に用いた記憶領域の容量に関する情報であるリソース情報に基づいて、前記ユーザの前記所定のサービスの利用に関する習熟度を判定する判定部と、
    前記判定部によって判定された習熟度に応じて、前記ユーザが前記所定のサービスを利用する際に用いるリソースを決定する決定部
    を備えることを特徴とする情報処理装置。
  3. 所定のサービスの利用に用いられるリソースに関する情報であって、前記所定のサービスを利用するユーザが前記所定のサービスを利用する際に用いた中央処理装置に関するリソースであるCPUリソースに関する情報であるリソース情報に基づいて、前記ユーザの前記所定のサービスの利用に関する習熟度を判定する判定部と、
    前記判定部によって判定された習熟度に応じて、前記ユーザが前記所定のサービスを利用する際に用いるリソースを決定する決定部
    を備えることを特徴とする情報処理装置。
  4. 所定のサービスの利用に用いられるリソースに関する情報であって、前記所定のサービスを利用するユーザが前記所定のサービスを利用する際に用いたCPUリソースの使用量がCPUリソースの容量に対して占める割合であるCPU占有率に関する情報であるリソース情報に基づいて、前記ユーザの前記所定のサービスの利用に関する習熟度を判定する判定部と、
    前記判定部によって判定された習熟度に応じて、前記ユーザが前記所定のサービスを利用する際に用いるリソースを決定する決定部
    を備えることを特徴とする情報処理装置。
  5. 前記判定部は、
    前記習熟度として、前記ユーザが前記所定のサービスを利用する際に用いるリソースの使用に関する習熟度を判定する
    ことを特徴とする請求項1〜4のいずれか1つに記載の情報処理装置。
  6. 前記判定部は、
    前記リソース情報として、前記ユーザから受け付けた前記所定のサービスに関する一連の処理命令であるクエリの実行回数に基づいて、前記習熟度を判定する
    ことを特徴とする請求項1〜のいずれか1つに記載の情報処理装置。
  7. 前記判定部は、
    前記リソース情報として、前記ユーザが前記所定のサービスを利用する際に用いた中央処理装置の計算時間であるCPU時間に基づいて、前記習熟度を判定する
    ことを特徴とする請求項1〜6のいずれか1つに記載の情報処理装置。
  8. 前記判定部は、
    前記リソース情報として、前記ユーザが前記所定のサービスを利用する際に用いた複数の中央処理装置それぞれに関するCPUリソースの使用量の大きさのばらつきの度合いを示す値に基づいて、前記習熟度を判定する
    ことを特徴とする請求項1〜のいずれか1つに記載の情報処理装置。
  9. 所定のサービスの利用に用いられるリソースに関する情報であるリソース情報に基づいて、前記所定のサービスを利用するユーザの前記所定のサービスの利用に関する習熟度を示す指標値を算出する算出部
    をさらに備え、
    前記判定部は、
    前記算出部によって算出された指標値に基づいて、前記習熟度を判定する
    ことを特徴とする請求項1〜のいずれか1つに記載の情報処理装置。
  10. 前記決定部は、
    前記判定部によって判定された習熟度が高いほど、前記ユーザが前記所定のサービスを利用する際に用いるリソースを優先して割り当てることを決定する
    ことを特徴とする請求項1〜のいずれか1つに記載の情報処理装置。
  11. 前記決定部は、
    前記リソースとして、前記ユーザが前記所定のサービスを利用する際に用いる中央処理装置に関するリソースであるCPUリソースを優先して割り当てることを決定する
    ことを特徴とする請求項1〜10のいずれか1つに記載の情報処理装置。
  12. 前記決定部は、
    前記リソースとして、前記ユーザから受け付けた前記所定のサービスに関する一連の処理命令であるクエリに中央処理装置の使用権を優先して割り当てることを決定する
    ことを特徴とする請求項1〜11のいずれか1つに記載の情報処理装置。
  13. 前記決定部は、
    前記リソースとして、前記ユーザが前記所定のサービスを利用する際に使用可能な記憶領域の容量を優先して割り当てることを決定する
    ことを特徴とする請求項1〜12のいずれか1つに記載の情報処理装置。
  14. 前記決定部は、
    前記リソースとして、前記ユーザが同時に実行可能な前記所定のサービスに関する一連の処理命令であるクエリの本数を優先して割り当てることを決定する
    ことを特徴とする請求項1〜13のいずれか1つに記載の情報処理装置。
  15. 前記決定部は、
    前記リソースとして、前記ユーザが実行を開始した前記所定のサービスに関する一連の処理命令であるクエリが強制終了されるまでの時間を優先して割り当てることを決定する
    ことを特徴とする請求項1〜14のいずれか1つに記載の情報処理装置。
  16. コンピュータが実行する情報処理方法であって、
    所定のサービスの利用に用いられるリソースに関する情報であって、前記所定のサービスを利用するユーザから受け付けた前記所定のサービスに関する一連の処理命令であるクエリを実行する際に用いられたリソースに関する情報であるリソース情報に基づいて、前記ユーザの前記所定のサービスの利用に関する習熟度を判定する判定工程と、
    前記判定工程によって判定された習熟度に応じて、前記ユーザが前記所定のサービスを利用する際に用いるリソースを決定する決定工程
    を含むことを特徴とする情報処理方法。
  17. コンピュータが実行する情報処理方法であって、
    所定のサービスの利用に用いられるリソースに関する情報であって、前記所定のサービスを利用するユーザが前記所定のサービスを利用する際に用いた記憶領域の容量に関する情報であるリソース情報に基づいて、前記ユーザの前記所定のサービスの利用に関する習熟度を判定する判定工程と、
    前記判定工程によって判定された習熟度に応じて、前記ユーザが前記所定のサービスを利用する際に用いるリソースを決定する決定工程
    を含むことを特徴とする情報処理方法。
  18. コンピュータが実行する情報処理方法であって、
    所定のサービスの利用に用いられるリソースに関する情報であって、前記所定のサービスを利用するユーザが前記所定のサービスを利用する際に用いた中央処理装置に関するリソースであるCPUリソースに関する情報であるリソース情報に基づいて、前記ユーザの前記所定のサービスの利用に関する習熟度を判定する判定工程と、
    前記判定工程によって判定された習熟度に応じて、前記ユーザが前記所定のサービスを利用する際に用いるリソースを決定する決定工程
    を含むことを特徴とする情報処理方法。
  19. コンピュータが実行する情報処理方法であって、
    所定のサービスの利用に用いられるリソースに関する情報であって、前記所定のサービスを利用するユーザが前記所定のサービスを利用する際に用いたCPUリソースの使用量がCPUリソースの容量に対して占める割合であるCPU占有率に関する情報であるリソース情報に基づいて、前記ユーザの前記所定のサービスの利用に関する習熟度を判定する判定工程と、
    前記判定工程によって判定された習熟度に応じて、前記ユーザが前記所定のサービスを利用する際に用いるリソースを決定する決定工程
    を含むことを特徴とする情報処理方法。
  20. 所定のサービスの利用に用いられるリソースに関する情報であって、前記所定のサービスを利用するユーザから受け付けた前記所定のサービスに関する一連の処理命令であるクエリを実行する際に用いられたリソースに関する情報であるリソース情報に基づいて、前記ユーザの前記所定のサービスの利用に関する習熟度を判定する判定手順と、
    前記判定手順によって判定された習熟度に応じて、前記ユーザが前記所定のサービスを利用する際に用いるリソースを決定する決定手順
    をコンピュータに実行させることを特徴とする情報処理プログラム。
  21. 所定のサービスの利用に用いられるリソースに関する情報であって、前記所定のサービスを利用するユーザが前記所定のサービスを利用する際に用いた記憶領域の容量に関する情報であるリソース情報に基づいて、前記ユーザの前記所定のサービスの利用に関する習熟度を判定する判定手順と、
    前記判定手順によって判定された習熟度に応じて、前記ユーザが前記所定のサービスを利用する際に用いるリソースを決定する決定手順
    をコンピュータに実行させることを特徴とする情報処理プログラム。
  22. 所定のサービスの利用に用いられるリソースに関する情報であって、前記所定のサービスを利用するユーザが前記所定のサービスを利用する際に用いた中央処理装置に関するリソースであるCPUリソースに関する情報であるリソース情報に基づいて、前記ユーザの前記所定のサービスの利用に関する習熟度を判定する判定手順と、
    前記判定手順によって判定された習熟度に応じて、前記ユーザが前記所定のサービスを利用する際に用いるリソースを決定する決定手順
    をコンピュータに実行させることを特徴とする情報処理プログラム。
  23. 所定のサービスの利用に用いられるリソースに関する情報であって、前記所定のサービスを利用するユーザが前記所定のサービスを利用する際に用いたCPUリソースの使用量がCPUリソースの容量に対して占める割合であるCPU占有率に関する情報であるリソース情報に基づいて、前記ユーザの前記所定のサービスの利用に関する習熟度を判定する判定手順と、
    前記判定手順によって判定された習熟度に応じて、前記ユーザが前記所定のサービスを利用する際に用いるリソースを決定する決定手順
    をコンピュータに実行させることを特徴とする情報処理プログラム。
JP2018132589A 2018-07-12 2018-07-12 情報処理装置、情報処理方法及び情報処理プログラム Active JP6987709B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018132589A JP6987709B2 (ja) 2018-07-12 2018-07-12 情報処理装置、情報処理方法及び情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018132589A JP6987709B2 (ja) 2018-07-12 2018-07-12 情報処理装置、情報処理方法及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2020009379A JP2020009379A (ja) 2020-01-16
JP6987709B2 true JP6987709B2 (ja) 2022-01-05

Family

ID=69151838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018132589A Active JP6987709B2 (ja) 2018-07-12 2018-07-12 情報処理装置、情報処理方法及び情報処理プログラム

Country Status (1)

Country Link
JP (1) JP6987709B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4121132B2 (ja) * 2005-01-04 2008-07-23 インターナショナル・ビジネス・マシーンズ・コーポレーション サービス処理割当装置、制御方法、及びプログラム
CN106101074B (zh) * 2016-05-31 2019-05-21 北京大学 一种面向大数据平台的基于用户分级的安全调度方法
US10195531B2 (en) * 2016-06-30 2019-02-05 Sony Interactive Entertainment Inc. Automated artificial intelligence (AI) personal assistant

Also Published As

Publication number Publication date
JP2020009379A (ja) 2020-01-16

Similar Documents

Publication Publication Date Title
JP5448032B2 (ja) リソース管理装置、リソース管理プログラム、およびリソース管理方法
Lu et al. Integrating order review/release and dispatching rules for assembly job shop scheduling using a simulation approach
JP5244236B2 (ja) 計算機システム、方法、およびプログラム
US7979864B2 (en) Apparatus for setting used license of executing job into unused license state and allocating the set unused license to a to be executed job based on priority
Jesdabodi et al. Understanding usage states on mobile devices
US9436721B2 (en) Optimization of mixed database workload scheduling and concurrency control by mining data dependency relationships via lock tracking
WO2019062189A1 (zh) 电子装置、数据表归档处理的方法、系统及存储介质
US20170011356A1 (en) Scheduling method, information processing apparatus, and recording medium
CN104871149A (zh) 具有特殊技能和/或能力的资产分配
Abdul et al. Database workload management through CBR and fuzzy based characterization
JP2019087258A (ja) 情報処理装置、文書分類方法
JP6987709B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US20160253591A1 (en) Method and apparatus for managing performance of database
Bhosale et al. Big data processing using hadoop: survey on scheduling
JP6822923B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
US9582521B2 (en) Management of database allocation during reorganization
EP3785197A1 (en) Business insight generation system
WO2021171457A1 (ja) 制御方法、情報処理装置及び制御プログラム
Chai et al. Profit-oriented task scheduling algorithm in Hadoop cluster
JP2004164344A (ja) 評価支援方法とこの方法を利用可能なシステム
Dinkins Allocating academic library budgets: Adapting historical data models at one university library
JP2019159688A (ja) 資格手当合計額算出装置、資格手当合計額算出方法および資格手当合計額算出プログラム
CN111475504A (zh) 一种数据管理方法及装置
JP2020198021A (ja) Apiプラン予測システム、及びapiプラン予測方法
CN103678414A (zh) 一种存储及查找数据的方法及装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20191101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20191108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200819

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210830

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211201

R150 Certificate of patent or registration of utility model

Ref document number: 6987709

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350