JP5484471B2 - 記憶側記憶要求管理 - Google Patents

記憶側記憶要求管理 Download PDF

Info

Publication number
JP5484471B2
JP5484471B2 JP2011528019A JP2011528019A JP5484471B2 JP 5484471 B2 JP5484471 B2 JP 5484471B2 JP 2011528019 A JP2011528019 A JP 2011528019A JP 2011528019 A JP2011528019 A JP 2011528019A JP 5484471 B2 JP5484471 B2 JP 5484471B2
Authority
JP
Japan
Prior art keywords
request
requests
policy
storage
storage system
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
JP2011528019A
Other languages
English (en)
Other versions
JP2012503257A5 (ja
JP2012503257A (ja
Inventor
リー,スー・ケイ
コラ,ビベカナンダ・シィ
シャー,アクシェイ・ディ
チャタルジー,スマンタ
スサイラジ,マーガレット
ロアイザ,ジュアン・アール
ツカーマン,アレクサンダー
スブラマニアム,スリダール
Original Assignee
オラクル・インターナショナル・コーポレイション
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 オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2012503257A publication Critical patent/JP2012503257A/ja
Publication of JP2012503257A5 publication Critical patent/JP2012503257A5/ja
Application granted granted Critical
Publication of JP5484471B2 publication Critical patent/JP5484471B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • G06F16/2456Join operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24557Efficient disk access during query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Description

発明の分野
この発明は記憶要求管理に関し、より特定的には、I/O要求の記憶側管理に関する。
背景
データベースシステムの主な役割は、データオブジェクトのハイレベルの抽象的な宣言、ならびにそれらオブジェクトの操作および検索を変換することである。理想的には、それらの宣言および操作は、データベースシステムによって、単純な、線形アドレス指定される、ブロック化される、永続的な記憶装置に送られるI/O要求に効率よく変換される。しばしば、データベースシステムはそのような変換を複数のアプリケーションに対して実行しなければならない。それらのアプリケーションは、異なるユーザおよびスキーマセキュリティレベル、アプリケーションタイプ、データベースセッションタイプ、ならびにI/O要求の優先順位およびクラスにわたって、複数のデータベースを用いるかもしれない。
多くの状況において、I/O要求が記憶システムに送られる順序はシステムの効率に影響する。たとえば、小さい高優先順位I/O要求および大きい低優先順位I/O要求の両方が記憶システムに送られる必要がある場合、データベースサーバにとって、大きい低優先順位I/O要求を小さい高優先順位I/O要求の前に送ることは効率的ではないであろう。
I/O要求がインテリジェントな態様で記憶システムに送られることを確実にするために、さまざまな技術が開発されてきた。たとえば、ここに引用により援用される、“Management Of Shared Storage I/O Resources”と題される米国特許出願第11/716,364号には、I/O要求をデータベースサーバ内においてキューに入れ、それらの要求を記憶システムに対してインテリジェントな態様で出す技術が記載されている。しかしながら、データベースサーバにI/O要求をインテリジェントな態様で出させることは、記憶システムによるI/O要求の最適な取扱を確実にはしない。
具体的には、記憶システムは、典型的には、I/O要求を先入れ先出し(FIFO)に基づいて取扱う。記憶システムがFIFO処理から逸脱する程度まで、その逸脱は、ディスク効率を改善するようI/O要求を再順序付けすることを伴う。そのような再順序付けは、I/O要求の後ろにある目的に対してはどのような考慮も払われずに実行される。その結果、複数のデータベースサーバが複数のデータベースについてのI/O要求を同じ記憶システムに送っているとき(またはある記憶システム内の同じ記憶装置に送っているとき)、その記憶システムは、最後には、各個々のデータベースサーバは独立してそのI/O要求を記憶システムに対して最適なシーケンスで出しているけれども、より低優先順位のI/O要求を処理してからより高優先順位のI/O要求を処理することになるかもしれない。
複数のタイプの作業負荷およびデータベースはしばしばストレージを共有する。残念なことに、複数のタイプの作業負荷およびデータベースを共有されるストレージにおいて実行することは、しばしば、アプリケーションと混合された作業負荷との間においてパフォーマンスおよび応答時間の問題へと至る。たとえば、1つのプロダクションデータ倉庫における大きな並列クエリは、別のプロダクションデータ倉庫における重要なクエリの実行に影響し得る。さらに、データ倉庫におけるデータ負荷は、さらに同じデータ倉庫において実行される重要なクエリの実行に影響し得る。これらの問題は、記憶システムに対するオーバープロビジョン(過剰投資)によって軽減することが可能であるが、これは、共有されるストレージのコスト削減の恩恵を減ずる。重要でないタスクをオフピーク時間にスケジュールすることも可能であるが、この手作業処理は面倒である。それは、データベースが、自分たちの活動を調整しないような異なる管理者を有する場合、不可能となる。
このセクションに記載されるアプローチは、追求され得るアプローチではあるが、以前に構想または追求されたことがあるアプローチでは必ずしもない。したがって、そうではないと示されるのでなければ、このセクションに記載されるアプローチのいずれも単にそれらのこのセクションにおける包含により先行技術として適格である、と仮定されるべきではない。
この発明を、同様の参照番号は同様の要素を示す添付の図面を参照して、限定的にではなく、例示的に説明する。
複数のI/O要求側から要求を受取り、複数のI/O要求側からのI/O要求をインテリジェントに順序付けるよう構成される記憶サーバのブロック図である。 この発明のある実施例に従って、さまざまな要求メタデータ値が消費側グループにどのようにマッピングされてもよいかを示すブロック図である。 この発明のある実施例に従う、3段階選択ポリシーのブロック図である。 この発明のある実施例に従う、生き残りに従うポリシーを説明するブロック図である。 この発明のある実施例に従う、生き残りに従うポリシーの2段階を示すブロック図である。 この発明の実施例が実施されてもよい計算装置のブロック図である。
詳細な説明
以下の記載においては、説明のため、多数の具体的な詳細を、この発明の十分な理解を与えるために述べる。しかしながら、この発明はこれらの具体的な詳細なしに実施されてもよいことは明らかである。他の例では、周知の構造および装置が、ブロック図において、この発明を不要に不明瞭にすることを回避するために、示される。
全体的概要
I/O要求が記憶システムによってI/O要求の1つ以上の論理特性に少なくとも部分的に基づいて処理されるシーケンスを記憶システム内において管理するための技術がここに記載される。この論理特性は、たとえば、I/O要求が提出されたユーザの識別情報、I/O要求を提出したサービス、I/O要求により目標とされるデータベース、I/O要求がマッピングする消費側グループを示すもの、I/O要求が出された理由、I/O要求の優先順位カテゴリなどを含んでもよい。そのような論理特性は、基本的に、I/O要求によって目標とされるデータの記憶位置、およびI/O要求によって指定されるI/O動作に関与するデータの量などのような、I/O要求の物理的特性とは異なる。
ここに記載されるストレージ内I/O管理技術は、I/O要求を記憶システムに出すI/O要求側内において実行される任意の管理の代わりに、またはそれに加えて用いられてもよい。ここで用いられるとおりでは、「I/O要求側」は、I/O要求を記憶システムに出す任意のエンティティを指す。I/O要求側は、たとえば、データベースアプリケーションから受取られるデータベースコマンドに応答してI/O要求を出すデータベースサーバであってもよい。しかしながら、ここに記載される技術はどのような特定のタイプのI/O要求側にも限定されるものではない。
記憶システムは、記憶システム内の記憶装置に向けられるすべてのI/O要求を取扱うため、記憶システムは、それらの記憶装置に向けられたI/O要求をどのようにスケジュールするかについてのインテリジェントスケジューリング判断をなすよう、I/O要求側よりもよい状況にある。たとえば、記憶システムは、ある特定の記憶装置を目標とする高優先順位I/O要求および同じ記憶装置を目標とする低優先順位I/O要求が、異なるI/O要求側から来て、2つの異なるデータベースを目標としても、高優先順位I/O要求を低優先順位I/O要求よりも前に取扱うべきであると判断することができる。
記憶システム内に含まれ、I/O要求を管理するための論理は、ここにおいては、記憶システムの「記憶サーバ」と称される。記憶サーバは、ソフトウェアが記憶システムの一部であるプロセッサにおいて実行されること、ハードワイヤード論理、またはソフトウェアとハードウェアとの任意の組合せによって実現されてもよい。記憶サーバによって受取られてはいるが、まだ出されてはいない(たとえば記憶システムの出力キューに加えられている)I/O要求は、ここにおいては、「待ち状態のI/O要求」と称される。記憶装置に出されてはいるが、まだ完了してはいないI/O要求は、ここにおいては、「未処理のI/O要求」と称される。
I/O要求に関連付けられる作業の論理特性は従来は記憶システムには利用可能ではない。したがって、1つの実施例においては、I/O要求の論理特性は、記憶システムに対し、他のエンティティから、「要求メタデータ」の形式で通信される。たとえば、1つの実施例においては、I/O要求側は記憶サーバに対して要求メタデータをI/O要求とともに与える。上で説明されるように、要求メタデータは、I/O要求によって表現される作業についての論理特性を指定する。それらの論理特性、スケジューリングポリシー、および選択ポリシーに基づいて、記憶サーバは各I/O要求をいつ出すべきかを判断する。以下においてより詳細に記載されることになるように、記憶サーバは、即座にI/O要求を出してもよく、または遅らせて出すために要求をキューに入れてもよい。
1つの実施例では、1つより多いI/O要求が待ち状態にあり、スケジューリングポリシーが、I/O要求が出されるべきであることを示す場合、どの待ち状態のI/O要求が出されるべきかは、1つ以上の選択ポリシーによって判断される。選択ポリシーにおいて指定されるさまざまなポリシーを段階的に適用してもよい。各段階中において、選択に対する候補であると考慮される待ち状態のI/O要求の数は、その段階に属するポリシーに基づいて低減される。待ち状態のI/O要求からなる、わずかに1つの空ではない待機キューが候補として残る場合、記憶サーバは、処理のために、その待機キューの先頭にあるI/O要求を選択する。
選択ポリシーにおいて指定されてもよいポリシーの例は以下を含む:
・記憶性能容量の70%はデータ倉庫ファイナンスに割当てられるべきであり、記憶性能容量の30%はデータ倉庫セールスに割当てられるべきである。
・プロダクションデータベースはテストおよび開発データベースを超える優先順位を有するべきである。
・OLTP作業負荷はメンテナンス作業負荷を超える優先順位を有するべきである。
例示的システム
図1は、ここに記載されるI/O要求管理技術が実現されてもよいシステムのブロック図である。図1を参照して、記憶システム100は、いくつかの異なるアプリケーション130、132、134、136および138によって用いられるデータに対するストレージを提供する。それらのアプリケーションは、コマンドをI/O要求側120、122および124に送ることにより、記憶システム100を間接的に利用する。たとえば、アプリケーション130、132、134、136および138はさまざまなデータベースアプリケーションであってもよく、I/O要求側120、122および124は、データベースコマンドに応答して、記憶装置104および106にわたって広がるデータベースに格納されるデータを格納し、検索し、操作するデータベースサーバであってもよい。
示される実施例では、アプリケーション130および132はI/O要求側120と対話し、アプリケーション134はI/O要求側122と対話し、アプリケーション136および138はI/O要求側124と対話する。実際の実現例では、I/O要求側と同時に対話するアプリケーションの数およびタイプは変動してもよい。
上で言及したように、I/O要求側120、122および124は、何らかの形式の内部I/O要求スケジューリングポリシーを実現してもよい。しかしながら、それらの内部ポリシーは、たとえば、いつI/O要求側120およびI/O要求側122の双方が記憶装置104を目標とするI/O要求を提出するかをインテリジェントにスケジューリングすることを保証しはしない。そのような状況下でI/O要求をインテリジェントに管理するためには、ポリシーを記憶サーバ102に登録し、記憶サーバ102はそれらのポリシーを入来I/O要求に適用する。
スケジューリングポリシーおよび選択ポリシー
1つの実施例に従うと、記憶サーバ102内には2つの別々のポリシー、つまりスケジューリングポリシーと選択ポリシーとがある。スケジューリングポリシーは、I/Oがいつ出されるべきかを判断する。たとえば、スケジューリングポリシーは、スループットを妥当に高く保つことに向けられているかもしれない。この場合には、記憶サーバ102は、相対的に大きな数の未処理I/Oを許すであろう。I/Oは、一旦この制限にヒットするとキューに入れられるにすぎないであろう。別の例は、レイテンシを妥当に低く保つことに向けられるスケジューリングポリシーであろう。この場合では、記憶サーバ102は、相対的に小さな数の未処理I/Oを許すであろう。いずれの場合においても、一旦この制限にヒットすると、任意の新たなI/Oがキューに入れられるであろう。未処理I/Oの数(ディスク上の現在のI/O負荷)があるレベルに達すると、「飽和」が生ずる。
スケジューリングポリシーに基づいて、記憶サーバ102がI/O要求を出すと判断すると、記憶サーバ102は選択ポリシーに基づいてどのI/Oを出すべきかを判断する。ここに記載される技術は任意の選択ポリシーとともに用いられてもよい。説明のため、さまざまなタイプの選択ポリシーを以下に記載する。しかしながら、ここに記載される技術は、用いられる選択ポリシーのタイプには依存しない。典型的には、記憶サーバ102によって実現される選択ポリシーは、たとえば、記憶が用いられることになる態様次第である。
典型的には、記憶が複数のデータベースによって共有される状況においては、選択ポリシーは、I/O要求によって目標とされるデータベースに基づいてI/O要求を選び取るためのポリシーを含むことになる。以下においてより詳細に記載されるように、データベースを選び取るポリシーは、比率に基づくか、優先順位に基づくか、それら2つのハイブリッドであり得る。
他方、記憶が1つのデータベースによって用いられる場合、選択ポリシーは、I/O要求を、そのI/O要求に関連付けられる作業負荷に基づいて選び取るためのポリシーを含んでもよい。この作業負荷に基づく選択ポリシーも、比率に基づくか、優先順位に基づくか、またはそれら2つのハイブリッドであり得る。
最後に、記憶が複数のデータベースによって共有され、それらデータベースがそれらの中に複数の作業負荷を有する場合には、選択ポリシーは2段階プランを伴ってもよく、そこにおいては、プランの第1段階はデータベースを選択し、プランの第2段階はそのデータベース内において作業負荷を選択する。
1つの実施例に従うと、ここに記載される技術は、スケジューリングポリシーおよび選択ポリシーと並んで、記憶システム内の各記憶装置に独立して適用される。したがって、記憶システム内に12個のディスクがある場合には、負荷設定、キューなどはディスク毎に指定される。ディスク毎の負荷設定、キューおよびポリシーは有用であり、なぜならば、すべてのディスクは同じ記憶システムによって管理される一方で、各ディスクは他のディスクとは独立して動作するからである。
スケジューリングポリシー
上で言及したように、記憶サーバ102は、記憶システムが目標の最適負荷に達する点まで、I/O要求を記憶システムに出す。ここで用いられるとおりでは、「負荷」という用語は、未処理の、未完了のI/O要求の全コストを指す。個々のI/O要求のコストは、そのI/O要求が記憶システムリソースを利用する時間量によって判断される。したがって、少量のデータを読むI/O要求は大量のデータを読むI/O要求よりもはるかに低いコストを有し、なぜならば、それははるかにより短い時間の間ディスクI/Oリソースを占有するからである。
1つの実施例に従うと、I/O要求のコストは記憶システムを較正することにより予め定められる。一旦目標負荷に達すると、記憶システムは後のすべてのI/O要求をキューに入れる。十分なI/O要求が完了し、記憶システムがその目標負荷の下にあるときは、記憶サーバは選択ポリシーを用いて十分なI/O要求を選択して記憶システムをその目標負荷に戻す。
目標負荷の設定は記憶システムの性能特性を決める。目標負荷が低い場合、I/O要求のレイテンシは低いことになる。目標負荷が増加するにつれ、記憶のスループットは増大し、よりよいI/Oスループットへと至る。これは、記憶システムはより高い負荷においてのほうがより効率よく働くからである。しかしながら、I/Oのレイテンシは、その増大した負荷のため、減少することになる。
目標負荷のサイズは、ここにおいては、「負荷設定」と称される。スケジューリングポリシーにより実現される負荷設定は数多くの異なる態様で確立され得る。たとえば、負荷設定は、たいていの人々にとって十分働くべきであるあるレベルにおいてハードコード化され得る。代替的に、負荷設定は、記憶システムが、レイテンシ、スループットまたはそれら2つの間の妥協点に関して最適化されるべきかどうかを指定する記憶管理者によって設定され得る。別の例としては、負荷設定は、記憶サーバにより、各作業負荷を見ることによって自動的に判断され得る。メタデータおよび他の作業負荷特性を用いて、記憶サーバは、作業負荷がレイテンシまたはスループットに対して最適化されるよう好まれるであろうかどうかを判断し得る。記憶サーバは、選択ポリシーを用いて、各作業負荷の優先を重み付けし、全体の負荷設定を決定してもよい。たとえば、高優先順位データベースの優先は低優先順位データベースの優先よりも多く重み付けされるであろう。
負荷設定が記憶サーバによって自動的に判断されるシステムにおいては、記憶システムは、登録される選択ポリシーおよび/または要求メタデータにおいて反映されるように、記憶システムの使用特性に基づいてスケジューリングポリシーを選択してもよい。したがって、記憶システムによって受取られるI/O要求が、主に、スループット集約型となる傾向であるデータ倉庫動作に対する場合には、記憶システムは、それはより高い負荷設定を有するというスケジューリングポリシーを選択してもよい。たとえば、記憶システムは、記憶システムの出力I/Oキューが任意の所与の時間において81メガバイトI/O要求までを含むことを可能にするよう構成されてもよい。より高い負荷設定によって、より大量のI/Oが記憶システム内の記憶装置に出され、記憶装置を可能な限りビジーに保つことを可能にする。
他方、I/O要求の大半がOLTP作業負荷に対してである場合には、より低い負荷設定を伴うスケジューリングポリシーを選択して、スループットよりもレイテンシに対して最適化を行なうようにしてもよい。より低い負荷設定のため、I/O要求は、より短い時間の間、記憶装置をタイアップすることになる。記憶装置は、より短い時間の間タイアップされることになるので、記憶装置は、新たに到着する高優先順位I/O要求を処理するよう、より利用可能となることになる。したがって、それらの高優先順位I/O要求を発生させた動作を実行しているユーザは、より少ない記憶システムレイテンシを経験することになる。
1つの実施例に従うと、記憶システムは、記憶システムに登録される選択ポリシーおよび/または要求に伴う要求メタデータに基づいて、全体の作業負荷の特性を判断する。たとえば、ある選択ポリシーは、記憶システムが用いられているアプリケーションはデータ倉庫アプリケーションである旨を示してもよい。代替的に、選択ポリシーは、アプリケーションのタイプを示さないかもしれないが、I/O要求とともに受取られる要求メタデータは、I/O要求の大半はデータ倉庫アプリケーションからである旨を示すかもしれない。
たとえ、選択ポリシーが、記憶システムを用いている作業負荷の性質を示しているときでも、記憶サーバは、要求メタデータを用いて、各作業負荷のどれほどが実際にストレージを使用しているかどうかを判断してもよい。たとえば、ある選択ポリシーは、記憶システムが2つのOLTPアプリケーションおよび2つの倉庫アプリケーションによって用いられている旨を示してもよい。この情報のみに基づくと、最適な負荷設定がどのようであろうかは不明瞭であるかもしれない。しかしながら、記憶サーバによって実際に受取られるI/O要求の90%が2つのOLTPアプリケーションからである場合、記憶システムは、OLTPアプリケーションに対して最適化される負荷設定を選択してもよい。
1つの実施例に従うと、負荷設定選択処理を周期的に繰返し、作業負荷が変更するにつれ、負荷設定が動的に変更し得る。たとえば、1つの実施例では、選択処理は、最後の5秒などのような、ある特定の時間期間内に記憶システムによって受取られたI/O要求に基づいてなされてもよい。その期間中に受取られるI/O要求によって表現される作業負荷は、前の期間において受取られたI/O要求において表現される作業負荷とは大きく異なるかもしれない。次いで、負荷設定を変更して、最も最近の負荷設定選択動作の結果を反映させる。したがって、記憶サーバが主にデータ倉庫動作に対して用いられる期間中においては、負荷設定はスループットに対して自動的に最適化されることになり、同じ記憶システムが主にOLTP動作に対して用いられる期間中においては、負荷設定は低減されたレイテンシに対して自動的に最適化されることになる。
要求メタデータ
選択ポリシーを実現するために、記憶サーバ102はそれが受取るI/O要求についての情報を知ることを必要とする。たとえば、選択ポリシーが、I/O要求に関連付けられる作業負荷に基づく場合、記憶サーバ102は、I/O要求が属する作業負荷を知ることが必要である。1つの実施例に従うと、選択ポリシーを実現するよう記憶サーバ102によって必要とされる情報は、記憶サーバ102に対し、要求に伴う「要求メタデータ」として与えられる。I/O要求に伴うメタデータ、およびどのようにそのメタデータが記憶サーバ102によって用いられてI/Oスケジューリングについてインテリジェントな判断をなすかは、この後より詳細に記載する。
待機キュー
記憶システム100が、スケジューリングポリシーによって支配されるキャパシティの下で動作しているとき、記憶サーバ102はI/O要求をキューに入れない。特に、記憶システムのキャパシティが飽和しない限り、記憶サーバ102によって受取られるI/O要求は即座に処理される。I/O要求の処理は、たとえば、I/O要求を出力I/Oキューに置くことによって行なわれてもよい。しかしながら、I/O要求が記憶システム100を飽和し始める毎に、記憶サーバ102は、受取られたI/O要求を待機キューに入れることによって、入来するI/O要求の実行を遅らせることになる。
たとえば、プロダクションデータベースおよびテストデータベースが記憶システム100を共有している場合、プロダクションデータベースを目標とするI/O要求に対して優先順位を与える選択ポリシーが構成され得る。この場合、テストデータベース負荷がプロダクションデータベースパフォーマンスに影響を与えるであろう毎に、記憶サーバ102は、プロダクションデータベースI/Oパフォーマンスが影響を受けないようにI/O要求をスケジューリングすることになる。これは、テストデータベースI/O要求が、プロダクションデータベースI/Oパフォーマンスを乱すことなく処理され得るまで、待機キューに入れられることになることを意味する。
遅延されるI/O要求が置かれる待機キューは、I/O要求に伴う要求メタデータによって示される論理特性に基づく。スケジューリングポリシーによって、追加のI/O要求が出されるべきである旨が示されると、記憶サーバ102は、登録される選択ポリシー、およびI/O要求がある待機キューに基づいて、どの遅延されたI/O要求を処理すべきかを選択する。
比率に基づく選択ポリシー
1つの実施例に従うと、記憶サーバ102に登録される選択ポリシーは、比率に基づくポリシー、優先順位に基づくポリシー、およびハイブリッドポリシーを含んでもよい。比率に基づくポリシーは、異なる論理特性を有する要求間の負荷を、それら論理特性に割当てられる比率に基づいて割当てるポリシーである。たとえば、比率に基づくあるポリシーに対する基礎として用いられることになる論理特性は、I/O要求によって目標とされるデータベースであると仮定する(「目標とされるデータベース特性」)。さらに、5つのデータベースDB1、DB2、DB3、DB4およびDB5が記憶装置104および106に格納されると仮定する。比率に基づくポリシーは、記憶サーバ102は負荷を5つのデータベース間において以下のように割当てるべきである旨を指定してもよい:
DB1=50%,DB2=20%,DB3=20%,DB4=5%およびDB5=5%。
この比率に基づくポリシーに基づいて、記憶サーバ102は、待ち状態のI/Oをあるシーケンスで処理して、自身の割当比率よりも下であるデータベースを目標とするI/O要求が、自身の割当比率より上であるデータベースを目標とするI/O要求の前に処理されることを確実にする。
1つの実施例では、記憶サーバ102は、さまざまなデータベースに割当てられる比率に基づいて、「さらに遅れた」判断をなしてもよい。たとえば、記憶サーバ102が処理すべき別のI/O要求を選択する用意があるとき、DB2、DB4およびDB5が待ち状態のI/O要求を有すると仮定する。これらの状況下では、記憶サーバ102は、DB2、DB4およびDB5のうちのどれがそのそれぞれの割当においてさらに遅れているかを判断する。説明のため、DB2は負荷の22%を既に用いており、DB4は4%を用いており、DB5は3%を用いていると仮定する。このような状況下では、記憶サーバ102は、DB5を目標とする待ち状態のI/O要求を選択するであろう。
比率に基づくポリシーは、より高い優先順位のエンティティがより大きな量の帯域幅を受取ることを確実にし、その一方で、いずれのエンティティも完全には漏れないことを確実にするのに有用である。上記の例では、DB2はDB5よりも概してより重要であり、なぜならば、DB2は負荷の20%を割当てられ(、一方、DB5はわずか5%を割当てられ)ているからである。しかしながら、DB2は、既に、負荷のうちのその割当てられた部分より多くを使用しているため、DB5からのI/O要求がDB2からのI/O要求の前に処理された。
確率を用いる、比率に基づいたポリシー
上に記載される実施例においては、比率に基づくポリシーは、どのデータベースがそれ自体の負荷割当に関して「さらに遅れている」かを追跡することによって実現される。残念なことに、「さらに遅れている」の判断は、どのI/O要求が以前に出されたかを追跡することのオーバヘッドを生じさせる。このオーバヘッドを回避するためには、記憶サーバ102は、単に、比率に基づくポリシーによって、I/O要求が選択される「確率」として指定される負荷割当を取扱い得る。
たとえば、データベースDB1、DB2、DB3、DB4およびDB5の各々は少なくとも1つの待ち状態のI/O要求を有すると仮定する。これらの条件下では、データベースのすべてが選択候補となるであろう。その結果、所与のデータベースが選択される確率は、そのデータベースが割当てられる負荷のパーセンテージに等しくなる。具体的には、記憶サーバ102がDB1を目標とするI/O要求を選択するであろう50%の確率があり、記憶サーバ102がDB2を目標とするI/O要求を選択するであろう20%の確率があるであろう、などとなる。
他方、DB2およびDB5のみが待ち状態のI/O要求を有する場合には、DB2およびDB5が唯一の選択候補となるであろう。DB2は20%の負荷割当を有し、DB5は5%の負荷割当を有する。これらの状況下では、DB2およびDB5の相対的な負荷割当は、DB2を目標とするI/O要求が選択される80%の確率、およびDB5を目標とするI/O要求が選択される20%の確率をもたらす結果となるであろう。
一旦さまざまな選択候補に対して確率が判断されると、記憶サーバ102はそれらの確率に基づいてI/O要求選択を行なう。確率に基づくI/O要求の選択の1つの態様は、ある範囲のサブ範囲を選択候補の各々に割当てることを伴い、そこにおいては、各選択候補に割当てられるサブ範囲のサイズは、その選択候補が選択されることになる確率によって判断される。
たとえば、範囲は1〜100であると仮定する。さらに、唯一のI/O要求候補は、DB2を目標とするI/O要求、およびDB5を目標とするI/O要求であると仮定する。これらの状況下においては、DB2は80%の選択確率を有するであろう。したがって、DB2を目標とするI/O要求はサブ範囲1〜80(つまり全範囲の80%)を割当てられてもよい。他方、DB5は20%の選択確率を有することになり、したがって、サブ範囲81〜100(つまり全範囲の20%)を割当てられてもよい。
各選択候補が範囲内のサブ範囲を割当てられた後、記憶サーバ102はその範囲において乱数を生成してもよい。乱数が入るサブ範囲は、記憶サーバ102がどの選択候補を選択するかを決定する。したがって、この例においては、乱数が1と80との間に入る場合、DB2を目標とするI/O要求が選択されることになる。他方、乱数が81と100との間に入る場合には、DB5を目標とするI/O要求が選択されることになる。
優先順位に基づくポリシー
優先順位に基づくポリシーは、相対的な重要度を、候補I/O要求の論理特性の値に割当てるポリシーである。たとえば、優先順位に基づくポリシーに対する基礎として用いられることになる論理特性は、目標とされるデータベース特性である、と仮定する。データベースDB1、DB2、DB3、DB4およびDB5に対してデータを格納する記憶システムにおいては、目標とされるデータベース特性の考えられ得る値はDB1、DB2、DB3、DB4およびDB5である。その結果、目標とされるデータベース特性を用いる、優先順位に基づくポリシーは、DB1、DB2、DB3、DB4およびDB5を目標とするI/O要求はそれぞれ第1の優先順位、第2の優先順位、第3の優先順位、第4の優先順位および第5の優先順位を有する旨を指定してもよい。
優先順位に基づくポリシーが用いられる場合、より高い優先順位の論理特性値に関連付けられる待ち状態のI/O要求がある限り、より低い優先順位の論理特性値を有するI/O要求は処理されない。したがって、DB1を目標とするI/O要求が待ち状態である限り、DB2、DB3、DB4およびDB5を目標とするI/O要求は記憶サーバ102によっては選択されないことになる。他方、DB5を目標とするI/O要求は、DB1、DB2、DB3およびDB4のいずれかを目標とする待ち状態のI/O要求がなくなるまで、記憶サーバ102によっては選択されないことになる。優先順位に基づくポリシーは、より低い優先順位の論理特性に関連付けられるI/O要求は、より高い優先順位の論理特性に関連付けられるI/O要求の実行に対してけっして悪影響を与えないことを保証する。
ハイブリッドポリシー
ハイブリッドポリシーは、優先順位レベルおよび比率の両方を組込むポリシーである。具体的には、複数の論理特性を各優先順位レベルに割当てもよい。各優先順位レベル内においては、比率を論理特性の各々に割当てる。たとえば、DB1、DB2およびDB3を目標とするI/O要求は、すべて、第1の優先順位レベルに割当てられてもよい。第1の優先順位レベル内においては、DB1、DB2およびDB3を目標とするI/O要求は、それぞれ、比率50、40および10を割当てられてもよい。DB4およびDB5を目標とするI/O要求は第2の優先順位レベルに割当てられてもよい。第2の優先順位レベル内においては、DB4およびDB5を目標とするI/O要求はそれぞれ比率70および30を割当てられてもよい。
この例に従うと、記憶サーバ102は、負荷を、DB1、DB2およびDB3を目標とするI/O要求間において、それらのそれぞれの比率に従って割当てることになる。待ち状態のI/O要求のいずれかがDB1、DB2またはDB3を目標とする限り、記憶サーバ102は、DB4またはDB5を目標とするいずれのI/O要求も処理しはしない。DB1、DB2またはDB3を目標とする待ち状態のI/O要求がない場合には、負荷を、DB4およびDB5を目標とするI/O要求間において、それぞれ、比率70および30に基づいて割当てることになる。
データベース選択ポリシー
上に与えられる例に記載されるように、I/O要求が向けられるデータベースは、ポリシーの基礎として用いられてもよい1つの論理特性である。目標とされるデータベース特性に基づくI/O要求間における選択に対するポリシーは、ここにおいては、「データベース選択ポリシー」と称される。データベース選択ポリシーの例は:
・記憶性能容量の70%はデータ倉庫ファイナンスに割当てられるべきであり、記憶性能容量の30%はデータ倉庫セールスに割当てられるべきである
・プロダクションデータベースはテストおよび開発データベースを超える優先順位を有するべきである
を含む。
データベース選択ポリシーは単純であってもよく、または複雑であってもよい。表1は3レベルハイブリッドデータベース選択ポリシーを示す。
表1を参照して、それは5つのデータベースを含むシステムに対するデータベース選択ポリシーを示す。第1の優先順位レベルにおいては、セールスプロダクションデータ倉庫は負荷の80%を割当てられ、ファイナンスプロダクションデータ倉庫は負荷の20%を割当てられる。これら2つのレベル1データベースのいずれかが待ち状態のI/Oを有する限り、記憶サーバは他の3つのデータベースのいずれに関してもI/Oを出しはしない。レベル1データベースに関してI/O要求が待ち状態にないときのみ、カスタマーサービススタンバイデータベースを目標とするI/O要求が記憶サーバによって出力I/Oキューに追加されることになる。同様に、レベル1またはレベル2データベースに対してI/O要求が待ち状態にないときのみ、負荷は、セールステストデータベースおよびセールス開発データベースを目標とするI/O要求間において50/50で分割されることになる。
消費側グループ選択ポリシー
データベースは、しばしば、多くのタイプの作業負荷を有する。これらの作業負荷は、それらの実行要件およびそれらが出すI/Oの量において異なるかもしれない。「消費側グループ」は、ある特定の作業負荷を含むグループセッションに対し、ある態様を与える。たとえば、あるデータベースが4つの異なるアプリケーションに対するデータを格納する場合、4つの消費側グループを、各アプリケーションに対するセッションに対して1つ、作成することができる。同様に、あるデータ倉庫が、重要なクエリ、通常のクエリ、およびETL(抽出、変換およびローディング)などの、3つのタイプの作業負荷を有する場合、消費側グループは各タイプの作業負荷毎に作成され得る。
したがって、I/O要求の「消費側グループ」は、そのI/O要求の1つ以上の他の論理特性の値から導出されるI/O要求の論理特性である。1つの実施例においては、I/O要求が属する消費側グループは、論理特性値を消費側グループにマッピングする「論理特性値対消費側グループ」マッピングに基づく。たとえば、あるI/O要求の消費側グループは以下の論理特性値:(1)サービス識別子、(2)ユーザ識別子、(3)プログラム名、(4)目的識別子、および(5)I/O要求を提出した動作についての統計のうちの1つ以上から導出されてもよい。
図2を参照して、この図は、この発明のある実施例に従って、論理特性値と消費側グループとの間におけるマッピングを示すブロック図である。図2に示されるマッピングにおいては、優先順位DSS、DSSおよびメンテナンスの、3つの消費側グループが定義されている。示されるマッピングに従うと、優先順位DSS消費側グループは、サービスが「PRIORITY(優先順位)」であるかまたはユーザ名が「LARRY」であるすべてのI/O要求を含む。DSS消費側グループは、ユーザ名が「DEV」であるかまたはクエリが1時間を超えて実行されているすべてのI/O要求を含む。メンテナンス消費側グループは、クライアントプログラム名が「ETL」であるかまたはI/O要求の機能が「BACKUP」であるすべてのI/O要求を含む。
消費側グループメンバーシップが論理特性値対消費側グループマッピングによって定義される場合、ある1つのI/O要求は、いくつかの異なる消費側グループにマッピングする論理特性値を有してもよい。たとえば、あるI/O要求は、「LARRY」のユーザ識別子、「DEV」のクライアントプログラム識別子、および「BACKUP」の目的識別子を有してもよい。1つの実施例に従うと、論理特性値対消費側グループマッピングは、あるI/O要求の論理特性値が複数の消費側グループにマッピングする状況をどのように解決するかを示す。たとえば、ある論理特性値対消費側グループマッピングは、ユーザ名が最も上位の論理特性値であり、それに、サービス、プログラム統計、機能、および最後にクライアントプログラムが続く旨を示してもよい。そのような選択ポリシーのもとでは、「LARRY」のユーザ識別子、「DEV」のクライアントプログラム識別子、および「BACKUP」の目的識別子を有するI/O要求は、優先順位DSS消費側グループにマッピングされるであろう。
ある論理特性値対消費側グループマッピングは、さらに、「デフォルト」消費側グループを有してもよい。1つの実施例では、I/O要求の論理特性値のいずれも、どのような他の消費側グループにもマッピングしない場合、そのI/O要求は、デフォルト消費側グループに属するものとして取扱われる。
データベース選択ポリシーと同様に、消費側グループポリシーは、比率に基づいてもよく、優先順位に基づいてもよく、またはハイブリッドであってもよい。あるハイブリッド消費側グループポリシーを表2に示す:
表2に示されるハイブリッド消費側グループポリシーに従うと、優先順位DSS消費側グループにマッピングするI/O要求は負荷の80%を割当てられ、一方、メンテナンス消費側グループにマッピングするI/O要求は負荷の20%を割当てられる。DSS消費側グループにマッピングするI/O要求が記憶サーバによって出されるのは、他の2つの消費側グループのいずかに属する待ち状態のI/O要求がないときのみである。
1つの実施例では、I/O要求側は、論理特性値対消費側グループマッピングを用いて、それらのI/O要求が属する消費側グループを判断し、それらが各I/O要求とともに送る要求メタデータにおいて消費側グループ識別子を含む。消費側グループ識別子が要求メタデータに含まれる実施例では、消費側グループが導出される論理特性がさらに要求メタデータに含まれる必要はない。
ある代替的実施例では、I/O要求の消費側グループは、I/O要求側から記憶システムによって受取られる要求メタデータに直接は示されない。その代わり、論理特性値対消費側グループマッピングを記憶システムに与え、記憶システム内の記憶サーバは、各I/O要求の消費側グループを、(a)要求メタデータに反映される論理特性値、および(b)論理特性値対消費側グループマッピングに基づいて判断する。
カテゴリ選択ポリシー
1つの実施例に従うと、I/O要求の1つの論理特性は、ここにおいては、I/O要求の「カテゴリ」と称される。典型的には、I/O要求のカテゴリは、そのI/O要求に関連付けられる作業負荷のタイプを示す。たとえば、あるカテゴリ選択ポリシーは、重要、いくらか重要、重要でない、の3つのカテゴリを定義してもよい。
カテゴリ選択ポリシーは、I/O要求候補間における選択を、それらI/O要求候補が属するカテゴリに基づいて行なうためのポリシーを示す。データベース選択ポリシーおよび消費側グループに基づくポリシーと同様に、カテゴリ選択ポリシーは、比率に基づいてもよく、優先順位に基づいてもよく、またはハイブリッドであってもよい。たとえば、優先順位に基づくあるカテゴリ選択ポリシーは、重要なI/O要求は最も高い優先順位を有し、いくらか重要なI/O要求は中程度の優先順位を有し、重要でないI/O要求は低い優先順位を有する旨を指定してもよい。
ポリシー対段階割当
上において言及したように、記憶サーバは選択ポリシーにおいて指定されるポリシーを段階的に適用してもよい。どのポリシーを各段階に割当てるかの選択は、それ自体、選択ポリシーに示されてもよいポリシー判断である。図3は、ポリシーが段階1、段階2および段階3の3つの段階に割当てられている選択ポリシー300を示すブロック図である。特に、優先順位に基づくカテゴリ選択ポリシーが段階1に割当てられ、ハイブリッドデータベース選択ポリシーが段階2に割当てられ、ハイブリッド消費側グループ選択ポリシーが段階3に割当てられている。
段階2のハイブリッドデータベース選択ポリシー内においては、第1の優先順位レベルはDB1、DB2およびDB3を含み、第2の優先順位レベルはDB4およびDB5を含む。第1の優先順位レベル内においては、DB1、DB2およびDB3は、それぞれ、割当比率50%、40%および10%に関連付けられる。第2の優先順位レベル内においては、DB4およびDB5は両方とも50%の割当比率に関連付けられる。
同様に、段階3のハイブリッド消費側グループ選択ポリシー内においては、第1の優先順位レベルは消費側グループ1および消費側グループ2を含み、第2の優先順位レベルは消費側グループ3を含む。第1の優先順位レベル内においては、消費側グループ1および2は、それぞれ、割当比率80%および20%に関連付けられる。第2の優先順位レベル内においては、消費側グループ3は100%の割当比率を有する。
ある段階における選択ポリシーが適用された後も候補であり続ける待ち状態のI/O要求は、ここにおいては、その段階の「生き残り」と称される。たとえば、図3の選択ポリシー300に従うと、カテゴリ1に属する待ち状態のI/O要求がある場合、段階1の生き残りは、カテゴリ1に属する待ち状態のI/O要求しか含まないということになる。
他方、カテゴリ1に属する待ち状態のI/O要求がなく、しかしながら、カテゴリ2に属する少なくとも1つの待ち状態のI/O要求がある場合、段階1の生き残りは、カテゴリ2に属する待ち状態のI/O要求しか含まないということになる。最後に、カテゴリ1または2に属する待ち状態のI/O要求がない場合、段階1の生き残りは、カテゴリ3に属する待ち状態のI/O要求しか含まないということになる。
その後の段階のポリシーは、前の段階の生き残りにしか適用されない。したがって、選択ポリシー300において段階2に割当てられるハイブリッドデータベース選択ポリシーは、段階1の生き残りに対してのみしか適用されない。同様に、段階3に割当てられるハイブリッド消費側グループ選択ポリシーは、段階2の生き残りに対してのみしか適用されない。生き残りのすべてが同じ待機キューに属するまで、さまざまな段階が適用され続ける。次いで、その待機キューの先頭にあるI/O要求が、実行のために選択される。
段階をシーケンスで適用するため、早期の段階において適用されるポリシーは、究極的なI/O要求選択に対し、後の段階において適用されるポリシーよりも大きな影響を有する。その結果、より上位の論理特性を取扱うポリシーは、一般に、より下位の論理特性を取扱うポリシーよりも早い段階に割当てられる。
たとえば、さまざまなデータベースのユーザが記憶システムの負荷を占有しないようお互いを信用するような状況においては、目標とされるデータベース特性はより下位の論理特性となる。その結果、選択ポリシーは、どのようなデータベース選択ポリシーも有さないかもしれず、または、データベース選択ポリシーをI/O要求選択処理における後の段階に割当ててもよい。
他方、さまざまなデータベースのユーザが負荷を占有しようと試みるかもしれないような状況においては、目標とされるデータベース特性は最も上位の論理特性であってもよい。これらの状況下では、データベース選択ポリシーは、データベース間における同意されえる帯域幅割当を確実に維持するよう記憶サーバによって実行される第1の段階に割当てられてもよい。
生き残りグループに従うポリシー
上に与えられる例においては、記憶サーバによって後の段階において適用されるポリシーは、どの待ち状態のI/O要求が前の段階を生き残ったかに関係ない。しかしながら、1つの実施例によると、ある後の段階において適用するポリシーは、前の段階を生き抜いたI/O要求のグループ次第であってもよい。どのI/O要求が前の段階を生き延びたかに依存するポリシーは、ここにおいては、生き残りグループに従うポリシーと称される。
たとえば、図3の段階2は5つの考えられ得る結果を有する。具体的には、段階2はデータベース選択ポリシーを適用するため、図3の段階2の生き残りは、5つのデータベースのうちのたった1つを目標とするI/O要求であることになる。1つの実施例では、図3の段階3に示されるハイブリッド消費側グループ選択ポリシーは、DB1を目標とするI/O要求に当てはまるだけであってもよい。段階3は、段階2を生き延びるI/O要求が他のデータベースのうちの1つを目標とするI/O要求である場合は、完全に異なるポリシーを有してもよい。
図4を参照して、図4は、選択ポリシー300に類似する、段階2の5つの考えられ得る生き残りグループの各々に対して別個の段階3ポリシーがある選択ポリシー400を示すブロック図である。1つのデータベースを目標とするI/O要求に対する段階3ポリシーは、別のデータベースを目標とするI/O要求に対する段階3ポリシーと完全に異なっていてもよい。たとえば、DB1を目標とするI/O要求に当てはまる段階3ポリシーは、ある特定の論理特性値対消費側グループマッピングに基づいて判断される3つの消費側グループに基づいてもよく、一方、DB2を目標とするI/O要求に当てはまる段階3ポリシーは、異なる論理特性値対消費側グループマッピングに基づいて判断される5つの消費側グループに基づいてもよい。
ある特定の段階において当てはまるポリシーは、どのI/O要求が前の段階を生き延びるかに依存してもよいため、選択ポリシーは任意に洗練され得る。たとえば、図5は、選択ポリシー500の各段階の考えられ得る生き残りグループと、後の段階において記憶サーバにより適用されるポリシーとの間における関係を示す。
図5を参照して、段階1はカテゴリに基づく選択ポリシーを適用する。段階1によって生ずる考えられ得る生き残りグループは、(a)カテゴリ1に属するI/O要求、(b)カテゴリ2に属するI/O要求、および(c)カテゴリ1に属するI/O要求を含む。段階1が、カテゴリ1に属するI/O要求を生じさせる場合においては、記憶サーバはデータベース選択ポリシー1を段階2中に適用することになる。段階1が、カテゴリ2に属するI/O要求を生じさせる場合においては、記憶サーバはデータベース選択ポリシー2を段階2中において適用することになる。段階1が、カテゴリ3に属するI/O要求を生じさせる場合には、記憶サーバは消費側グループ選択ポリシー1を段階2中に適用することになる。
データベース選択ポリシー1の考えられ得る生き残りグループは、(a)DB1を目標とするカテゴリ1I/O要求、および(b)DB2を目標とするカテゴリ1I/O要求を含む。DB1を目標とするカテゴリ1I/O要求が段階2を生き延びる場合においては、記憶サーバは消費側グループ選択ポリシー2を段階3中に適用することになる。DB2を目標とするカテゴリ1I/O要求が段階2を生き延びる場合においては、記憶サーバは消費側グループ選択ポリシー3を段階3中に適用することになる。
データベース選択ポリシー2の考えられ得る生き残りグループは、(a)DB1を目標とするカテゴリ2I/O要求、および(b)DB2を目標とするカテゴリ2I/O要求を含む。DB1を目標とするカテゴリ2I/O要求が段階2を生き延びる場合においては、記憶サーバは消費側グループ選択ポリシー4を段階3中に適用することになる。DB2を目標とするカテゴリ2I/O要求が段階2を生き延びる場合においては、記憶サーバは消費側グループ選択ポリシー5を段階3中に適用することになる。
消費側グループ選択ポリシー1の考えられ得る生き残りグループは、(a)消費側グループ1(CG1)にマッピングするカテゴリ3I/O要求、(b)消費側グループ2(CG2)にマッピングするカテゴリ3I/O要求、および(c)カテゴリグループ3(CG3)にマッピングするカテゴリ3I/O要求を含む。CG1にマッピングするカテゴリ3I/O要求が段階2を生き延びる場合においては、記憶サーバはデータベース選択ポリシー3を段階3中に適用することになる。CG2にマッピングするカテゴリ3I/O要求が段階2を生き延びる場合においては、記憶サーバはデータベース選択ポリシー4を段階3中に適用することになる。CG3にマッピングするカテゴリ3I/O要求が段階2を生き延びる場合においては、記憶サーバはデータベース選択ポリシー5を段階3中に適用することになる。
図5は、後の段階で適用されるポリシーが、どのI/O要求が前の段階を生き延びるかに基づいてどのように異なり得るかの単なる一例である。選択ポリシーにおいて確立されるポリシー関係は任意に複雑であってよい。たとえば、ある結果の集合が与えられるとして、記憶サーバはポリシーの3段階のみを適用し、一方、他の結果はポリシーの5段階の適用を必要としてもよい。
データベース特化消費側グループ
図5に示されるように、各データベースはそれ自体の消費側グループ選択ポリシーを有してもよい。さらに、1つのデータベースに対する消費側グループ選択ポリシーは、他のデータベースによって用いられる論理特性値対消費側グループマッピングとは全体的に異なる属性対消費側グループマッピングに基づいてもよい。たとえば、図5においては、消費側グループ選択ポリシー2は表2に示されるハイブリッドポリシーであってもよく、一方、消費側グループ選択ポリシー3は、CG1:90%、CG2:8%、CG3:1%、CG4:1%の比率に基づくポリシーである。
この例においては、消費側グループ選択ポリシーは、消費側グループの数およびポリシーの構造の両方に関して異なる。異なる消費側グループポリシーは、さらに、消費側グループがどのように定義されるかに関して異なってもよい。たとえば、あるI/O要求が優先順位DSS、メンテナンス、またはDSSに属するかどうかを判断するのに用いられる属性対消費側グループマッピングは、I/O要求がCG1、CG2、CG3またはCG4に属するかどうかを判断するのに用いられる属性対消費側グループマッピングと完全に異なっていてもよい。
1つの実施例に従うと、一旦消費側グループが作成されると、ポリシーが、セッションがどのように消費側グループにマッピングされるかを指定するために作成される。セッションは、消費側グループに対して、たとえばセッション属性に基づいてマッピングされ得る。これらのセッション属性は、たとえば、ユーザ名、データベースに接続するのにセッションが用いたサービス、クライアントマシン、クライアントプログラム名、クライアントユーザ名、などを含んでもよい。あるユーザが消費側グループを各アプリケーション毎に作成しており、各アプリケーションは専用のサービスを有する場合、ユーザはマッピングポリシーをサービス名に基づいて作成し得る。ユーザがある消費側グループをある特定のユーザの集合に専用としたい場合には、ユーザはマッピングポリシーをそれらのユーザ名に基づいて作成する。上で言及したように、ある消費側グループに明示的には割当てられないセッションはデフォルト消費側グループに置かれてもよい。
選択ポリシーを作成する
上で言及したように、選択ポリシーは、I/Oリソースを消費側グループ間でどのように割当てるかを指定するポリシーを含んでもよい。1つの実施例では、選択ポリシーは、あるパーセンテージまたはあるレベルからなる各消費側グループ毎のリソース割当ディレクティブを含む。1つの実施例では、ユーザは8つまでのレベルを指定してもよい。レベル2の消費側グループは、レベル1において割当てられなかったかまたはレベル1において消費側グループによって消費されなかったリソースを得る。同様に、レベル3の消費側グループは、何らかの割当がレベル1または2から残っている場合にのみリソースを割当てられる。同じポリシーがレベル4〜8に当てはまる。複数のレベルは、ある優先順位付け態様を与えるのみならず、どのようにしてすべての主なおよび残りのリソースが用いられることになるかを明示的に指定する態様を与える。ユーザは、パーセンテージ、優先順位、またはそれら2つの組合せを用いて、リソースを消費側グループにわたって割当てる選択ポリシーを構築し得る。
選択ポリシーを可能化および変更する
1つの実施例に従うと、ユーザがあるデータベースにおいてあるデータベース選択ポリシーを設定すると、その選択ポリシーのある記述が、そのデータベースに関してデータを格納するよう用いられる各記憶システムに対して自動的に送られる。ある環境においては、複数のサーバが同じデータベースに対するアクセスを共有する。そのような環境においては、ある特定のデータベースに対するアクセスを共有するクラスタにあるすべてのデータベースサーバは同じ選択ポリシーに設定される。新たな記憶システムがそのデータベースに追加される場合、または既存の記憶システムを再起動させる場合には、データベースの現在の選択ポリシーは記憶システムに自動的に送られる。選択ポリシーは、データベースサーバおよびセルの両方においてリソースを管理するために用いられる。
1つの実施例に従うと、選択ポリシーは動的に変更され得る。さまざまなタイプのイベントによって選択ポリシー変更がトリガされてもよい。たとえば、ある選択ポリシーは、1日の時間に基づいて変更することにより、異なる選択ポリシーが、日中においてよりも、夜間において効力があるようにしてもよい。他の例としては、ある選択ポリシー変動は週末中に生じてもよく、または、会計年度の終わりなどのような、1年のうちのある特定の時期に生じてもよい。
待機キュー
上で言及したように、遅延されるI/O要求は記憶システム100内の待機キューに置かれる。これらの待機キューはさまざまな態様で実現されてもよい。1つの実施例では、遅延されるI/O要求はそれらの「選択グループ」に基づいてキューに入れられ、各選択グループはある別個のキューを有する。この文脈においては、ある選択グループは、効力があるポリシーによって同じと扱われるI/O要求のグループである。たとえば、効力がある唯一のポリシーは表2に示される消費側グループポリシーであると仮定する。このポリシーは3つの消費側グループ、つまり優先順位DSS、メンテナンス、およびDSSを確立する。ある選択ポリシーがこれらのポリシーのみを含む場合には、記憶システムは、1つが3つの消費側グループの各々に与えられる、3つの待機キューを有するのみであろう。優先順位DSSにマッピングする特性値を有するすべての遅延されるI/O要求は、(それらが目標とするデータベースなどのような)他の特性に関わりなく、優先順位DSSキューに格納されることになる。同様に、メンテナンスおよびDSS消費側グループにマッピングするすべての遅延されるI/O要求は、それらが有するかもしれない他の特性値に関わりなく、それらの消費側グループに対応する待機キューに入れられるであろう。
より複雑な選択ポリシーにおいては、消費側グループよりも有意に多い選択グループがあってもよい。たとえば、図3に示される選択ポリシー300においては、カテゴリ、目標データベースおよび消費側グループは、すべて、どのようにI/O要求が取扱われるかに対してある影響を有する。したがって、各(カテゴリ、目標データベース、消費側グループ)組合せは、それ自体の待機キューを有してもよい別個の選択グループを表現する。具体的には、(カテゴリ1、DB1、消費側グループ1)は1つの待機キューを有するであろうし、(カテゴリ1、DB1、消費側グループ2)は別の待機キューを有するであろう。選択ポリシー300は、3つのカテゴリ、5つのデータベースおよび3つの消費側グループを確立するため、選択グループ(およびしたがって待機キュー)の総数は3×5×3=45となるであろう。
段階に基づく選択グループの選択
上で言及したように、記憶サーバが、処理すべき遅延されたI/O要求を選択しているとき、記憶サーバは選択ポリシーのポリシーを段階的に適用する。各段階は、生き残る選択グループの数を低減する。たった1つの選択グループが生き残ると、記憶サーバは、その選択グループに対応する待機キューの先頭にあるI/O要求を選択する。たとえば、選択ポリシー300を実現するある記憶システムが飽和されず、処理すべき遅延されたI/O要求を選択しなければならないと仮定する。さらに、唯一の空でない待機キューは、選択グループ:(カテゴリ2、DB1、消費側グループ1)、(カテゴリ2、DB2、消費側グループ2)、(カテゴリ2、DB2、消費側グループ3)、(カテゴリ3、DB2、消費側グループ1)、および(カテゴリ2、DB4、消費側グループ3)に対応すると仮定する。
これらの状況下では、カテゴリ2に関連付けられる選択グループのみが段階1を生き残り、なぜならば、カテゴリ2はカテゴリ3よりも高い優先順位を有し、カテゴリ1に関連づけられる空でない選択グループはないからである。したがって、段階1の後、生き残る選択グループは:(カテゴリ2、DB1、消費側グループ1)、(カテゴリ2、DB2、消費側グループ2)、(カテゴリ2、DB2、消費側グループ3)、および(カテゴリ2、DB4、消費側グループ3)であろう。
段階2中において、記憶サーバは、DB1またはDB2のどちらがそのI/O割当を達成することにおいて最も遅れているかを判断するであろう。DB4は考慮には入れられず、なぜならば、ポリシーは、いずれの遅延されるI/OもDB1、DB2またはDB3を目標とはしない場合にのみDB4を考慮する、と示しているからである。DB2がそのI/O割当を達成することにおいて最も遅れていると仮定して、段階2を生き延びる選択グループは、(カテゴリ2、DB2、消費側グループ2)および(カテゴリ2、DB2、消費側グループ3)であろう。
段階3中においては、記憶サーバは、消費側グループ2を選択するであろうと考えられ、なぜならば、ポリシーは、いずれの待機中のI/O要求も消費側グループ1および2に対応しない場合にのみ消費側グループ3を考慮する、と示しているからである。その結果、段階3の後、唯一残る選択グループは(カテゴリ2、DB2、消費側グループ2)である。したがって、記憶サーバは、選択グループ(カテゴリ2、DB2、消費側グループ2)に対応する待機キューの先頭にあるI/O要求を選択するであろう。
上に与えられる例においては、1つの空でない選択グループが残る前に、すべての3つの段階を適用しなければならなかった。しかしながら、どの選択グループが空でないかによって、段階のすべてよりも少ない数の段階を適用する必要があってもよい。たとえば、空でない選択グループは、(カテゴリ1、DB5、消費側グループ3)、(カテゴリ2、DB1、消費側グループ1)、(カテゴリ2、DB2、消費側グループ2)、(カテゴリ2、DB2、消費側グループ3)、(カテゴリ3、DB2、消費側グループ1)、および(カテゴリ2、DB4、消費側グループ3)を含む状況を考える。この状況においては、選択ポリシー300の段階1の後、唯一生き残る選択グループは(カテゴリ1、DB5、消費側グループ3)であろうと考えられ、なぜならば、これは、待機中のI/O要求がカテゴリ1に関連付けられる唯一の空でない選択グループであるからである。その結果、段階1の後、記憶サーバは、(カテゴリ1、DB5、消費側グループ3)に関連付けられるキューの先頭にあるI/O要求を単に選択するであろう。
論理待機キュー
記憶サーバが待ち状態のI/O要求を入れるキューは実際の別個のデータ構造である必要はない。具体的には、記憶サーバは、単に、(1)各待ち状態のI/O要求の論理特性、および(2)I/O要求が記憶システムによって受取られた時間を追跡してもよい。同じ論理特性を有する待ち状態のI/O要求は、同じ選択グループに属し、したがって、同じ論理キューに属するものとして取扱われるが、どのような別途のキュー構造もその選択グループに対しては用いられない。
別々のキュー構造ではなく、論理待機キューを用いるある実施例では、I/O要求が受取られる時間を用いて各論理キューの順序を示してもよい。したがって、各選択グループ毎に、最も早い到着時間を有する待ち状態のI/O要求は、選択グループの論理キューの先頭にあるものとして取扱われる。代替的に、すべての待ち状態のI/O要求を単一の待機キューに格納してもよい。各選択グループ毎に、その単一の待機キューの先頭に最も近い待ち状態のI/O要求を、その選択グループに対する論理待機キューの先頭にあるとして取扱ってもよい。
ハードウェア概要
ある実施例に従うと、ここに記載される技術は1つ以上の特殊用途計算装置によって実現される。それら特殊用途計算装置は、それらの技術を実行するようハードワイヤードであってもよく、またはそれらの技術を実行するよう永続的にプログラミングされる1つ以上のアプリケーション特化集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)などのようなデジタル電子装置を含んでもよく、またはファームウェア、メモリ、他のストレージもしくは組合せにおけるプログラム命令に従ってそれらの技術を実行するようプログラミングされる1つ以上の汎用ハードウェアプロセッサを含んでもよい。そのような特殊用途計算装置は、さらに、それらの技術を達成するようカスタムプログラミングを伴う、カスタムハードワイヤード論理、ASICまたはFPGAを組合わせてもよい。特殊用途計算装置は、デスクトップコンピュータシステム、ポータブルコンピュータシステム、携帯型装置、ネットワーク化装置、またはそれらの技術を実現するようハードワイヤードおよび/またはプログラム論理を組込む任意の他の装置であってもよい。
たとえば、図6は、この発明の実施例が実現されてもよいコンピュータシステム600を例示するブロック図である。コンピュータシステム600は、情報をやりとりするためのバス602または他の通信機構と、バス602に結合され、情報を処理するためのハードワイヤプロセッサ604とを含む。ハードワイヤプロセッサ604はたとえば汎用マイクロプロセッサであってもよい。
コンピュータシステム600は、バス602に結合され、プロセッサ604によって実行されるべき命令および情報を格納するための、ランダムアクセスメモリ(RAM)または他のダイナミック記憶装置などの主メモリ606も含む。主メモリ606は、プロセッサ604によって実行されるべき命令の実行中に一時的変数または他の中間情報を格納するためにも使用されてよい。そのような命令は、プロセッサ604にとってアクセス可能な記憶媒体に格納されると、コンピュータシステム600を、それらの命令に指定される演算を実行するようカスタマイズされる特殊用途マシンにする。
コンピュータシステム600は、さらに、バス602に結合され、プロセッサ604のために静的情報および命令を格納するためのリードオンリメモリ(ROM)608または他の静的記憶装置を含む。磁気ディスクまたは光ディスクなどの記憶装置610が、情報および命令を格納するために設けられバス602に結合される。
コンピュータシステム600は、コンピュータユーザに情報を表示するための、陰極線管(CRT)などのディスプレイ612にバス602を介して結合されてもよい。アルファベット数字および他のキーを含む入力装置614が、プロセッサ604に情報およびコマンド選択を通信するためにバス602に結合される。他のタイプのユーザ入力装置は、マウス、トラックボールまたはカーソル方向キーなどのカーソル制御616であり、プロセッサ604に方向情報およびコマンド選択を通信し、かつディスプレイ612上でカーソル移動を制御する。この入力装置は、典型的には、装置が平面における位置を特定することを可能にする、第1の軸(たとえばx)および第2の軸(たとえばy)の2つの軸において2つの自由度を有する。
コンピュータシステム600は、コンピュータシステムとの組合せでコンピュータシステム600を特殊用途マシンにするかまたはプログラムする、カスタマイズされたハードワイヤード論理、1つ以上のASICもしくはFPGA、ファームウェア、および/またはプログラム論理を用いて、ここに記載される技術を実現してもよい。ある実施例に従うと、ここに記載される技術は、プロセッサ604が主メモリ606に含まれる1つ以上の命令の1つ以上のシーケンスを実行すること応答して、コンピュータシステム600により実行される。そのような命令は、記憶装置610などの別の記憶媒体から主メモリ606に読込まれてもよい。主メモリ606に含まれる命令のシーケンスの実行により、プロセッサ604は、ここに記載された処理ステップを行なう。代替的実施例では、ソフトウェア命令の代わりに、またはこれと組合わせて、ハードワイヤード回路系が用いられてもよい。
ここで用いられる「記憶媒体」という用語は、マシンをある特定の態様で動作させるデータおよび/または命令を格納する任意の媒体のことを指す。そのような媒体は、不揮発性媒体および/または揮発性媒体を含み得る。不揮発性媒体は、たとえば、記憶装置610などの光ディスクまたは磁気ディスクを含む。揮発性媒体は、主メモリ606などのダイナミックメモリを含む。記憶媒体の一般的な形態は、たとえば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、または任意の他の磁気データ記憶媒体、CD−ROM、任意の他の光学データ記憶媒体、孔のパターンを備える任意の物理的媒体、RAM、PROM、およびEPROM、FLASH−EPROM、NVRAM,任意の他のメモリチップまたはカートリッジを含む。
記憶媒体は、伝送媒体とは区別されるが、それとの関連で用いられてもよい。伝送媒体は、情報を記憶媒体間で転送することに加わる。たとえば、伝送媒体は、バス602を含むワイヤを含む、同軸ケーブル、銅線および光ファイバを含む。伝送媒体は、無線通信および赤外線データ通信の際生成されるものなど、音波または光波の形もとり得る。
さまざまな形態の媒体が、1つ以上の命令の1つ以上のシーケンスをプロセッサ604に搬送し実行するのに関係し得る。たとえば、命令は、最初に遠隔コンピュータの磁気ディスクまたはソリッドステートドライブ上に担持され得る。遠隔コンピュータは、命令をそのダイナミックメモリにロードし、モデムを用いて電話線を介して命令を送信することができる。コンピュータシステム600に局在するモデムは、電話線でデータを受取り、赤外線送信機を用いてデータを赤外線信号に変換することができる。赤外線検出器が、赤外線信号で搬送されるデータを受信することができ、適切な回路系が、データをバス602に与えることができる。バス602は、データを主メモリ606に搬送し、プロセッサ604は命令をそこから検索し実行する。主メモリ606によって受取られた命令は、任意で、プロセッサ604によって実行される前または後のいずれかに記憶装置610上に格納されてもよい。
コンピュータシステム600は、バス602に結合される通信インターフェイス618も含む。通信インターフェイス618は、ローカルネットワーク622に接続されるネットワークリンク620に結合する双方向のデータ通信を提供する。たとえば、通信インターフェイス618は、データ通信接続を対応するタイプの電話線に与えるよう、統合サービスデジタル網(ISDN)カード、ケーブルモデム、衛星モデムまたはモデムであってもよい。別の例として、通信インターフェイス618は、データ通信接続を互換可能なローカルエリアネットワーク(LAN)に与えるよう、LANカードであってもよい。ワイヤレスリンクが実現されてもよい。任意のそのような実現化例において、通信インターフェイス618は、さまざまな種類の情報を表わすデジタルデータストリームを搬送する電気信号、電磁信号または光信号を送信および受信する。
ネットワークリンク620は、典型的には、1つ以上のネットワークを介してデータ通信を他のデータ装置に与える。たとえば、ネットワークリンク620は、ローカルネットワーク622を介してホストコンピュータ624またはインターネットサービスプロバイダ(ISP)626によって操作されるデータ機器への接続を与えてもよい。ISP626は、次いで、現在通常「インターネット」628と呼ばれているワールドワイドパケットデータ通信ネットワークを介してデータ通信サービスを提供する。ローカルネットワーク622およびインターネット628はどちらも、デジタルデータストリームを搬送する電気信号、電磁信号または光信号を使用する。さまざまなネットワークを介する信号と、コンピュータシステム600へおよびこれからデジタルデータを搬送する、ネットワークリンク620上および通信インターフェイス618を介する信号とは、伝送媒体の例示の形である。
コンピュータシステム600は、ネットワーク、ネットワークリンク620および通信インターフェイス618を介して、プログラムコードを含む、メッセージを送信しかつデータを受信することができる。インターネットの例では、サーバ630は、インターネット628、ISP626、ローカルネットワーク622および通信インターフェイス618を介してアプリケーションプログラムのための要求されたコードを送信するかもしれない。
受取られたコードは、受取られたときにプロセッサ604によって実行されてもよく、および/または後の実行のために記憶装置610もしくは他の不揮発性記憶部に格納されてもよい。
前述の明細書において、この発明の実施例を、実現例ごとに異なってもよい数多くの具体的な詳細を参照して記載した。したがって、この発明が何であるか、および何が出願人によってこの発明であるよう意図されるかを唯一かつ排他的に示すものは、この出願から、具体的な形で出る、任意の後の訂正を含む請求項の組である。そのような請求項に含まれる文言に対してここに明示的に述べられるすべての定義は、請求項において用いられるそのような文言の意味を支配することになる。したがって、請求項に明示的に記載されない限定、要素、特性、特徴、利点および属性は、その請求項の範囲をいかようにも限定すべきではない。明細書および図面は、したがって、限定の意味ではなく例示的な意味にみなされるべきものである。

Claims (18)

  1. 記憶システムにおいて、1つ以上の記憶装置に対するデータの読出または書込を行うよう入力/出力(I/O)要求を受けるステップを含み、前記I/O要求は、前記1つ以上の記憶装置内における前記読出または書込されるべきデータの位置を示す物理特性を含み、さらに、
    前記記憶システムによって受取られる複数のI/O要求を前記記憶システム内においてキューに入れるステップと、
    前記記憶システムが、前記記憶システムにおいてキューに入れられている待ち状態のI/O要求を処理する準備ができているときに、前記記憶システム内の記憶サーバが、前記キューに入れられている前記複数のI/O要求から、前記複数のI/O要求における特定のI/O要求に関連付けられる1つ以上の論理特性に少なくとも部分的に基づいて処理すべきある特定のI/O要求を選択するステップとを含み、
    前記1つ以上の論理特性は、前記物理特性とは異なり、
    前記1つ以上の論理特性は、前記特定のI/O要求のうちの少なくとも第1のI/O要求に対して、
    前記第1のI/O要求に関連付けられ、かつ前記第1のI/O要求によって目標とされるデータベース、
    作業を分類化し、前記第1のI/O要求に関連づけられる作業負荷タイプ、
    複数の消費側を含み、前記第1のI/O要求に関連付けられる消費側グループ、
    前記第1のI/O要求を出すために前記第1のI/O要求側で使用される通信セッションに関連付けられるユーザ名、
    前記第1のI/O要求側が前記第1のI/O要求を出したサービス、および
    前記第1のI/O要求側が前記第1のI/O要求を出した目的、のうちの少なくとも1つを示すものを含み、さらに、
    記記憶サーバが前記特定のI/O要求を選択したことに応答して、前記特定のI/O要求を処理するステップと、
    前記記憶システムが1つ以上の選択ポリシーを受取るステップと、
    前記記憶サーバが、前記1つ以上の選択ポリシーの各々に示されるポリシーを用いて、前記複数のI/O要求のうちのどれが処理のために選択されるべきかを選択するステップと、
    前記記憶サーバは前記ポリシーを複数のシーケンス段階に適用し、
    前記I/O要求のうち、同様の論理特性を有する要求はある選択グループに属し、
    前記複数のI/O要求は複数の選択グループに対応し、
    前記記憶サーバによって前記複数の段階のうちのある後の段階において適用されるポリシーは、前記複数の選択グループのうちのどの選択グループが1つ以上の前の段階を生き延びるかに少なくとも部分的に基づく、方法。
  2. 前記ポリシーは、比率に基づく1つ以上のポリシー、または優先順位に基づく1つ以上のポリシー、または比率に基づくポリシーと優先順位に基づくポリシーとからなる1つ以上のハイブリッドポリシーを含む、請求項に記載の方法。
  3. 複数の消費側グループが論理特性値対消費側グループマッピングにおいて指定され、
    前記1つ以上の論理特性は、前記特定のI/O要求に関連付けられる消費側グループを含む、請求項1に記載の方法。
  4. 前記記憶システムが前記論理特性値対消費側グループマッピングを受取るステップと、
    前記記憶サーバが、前記特定のI/O要求の要求メタデータ、および前記論理特性値対消費側グループマッピングに基づいて、前記特定のI/O要求が属する消費側グループを判断するステップとをさらに含み、
    前記記憶システムが前記特定のI/O要求に関する要求メタデータを受取るステップをさらに含み、
    前記要求メタデータは消費側グループ識別子を含み、さらに、
    前記記憶サーバが、前記消費側グループ識別子の値に少なくとも部分的に基づいて前記特定のI/O要求を選択するステップを含む、請求項に記載の方法。
  5. 前記記憶システムにおいて、前記第1のI/O要求を提出している前記第1のI/O要求側から、前記第1のI/O要求に関連付けられる1つ以上の論理特性に対する第1の値を受取るステップと、
    前記記憶システムにおいて、第2のI/O要求を提出している第2のI/O要求側から、前記第2のI/O要求に関連付けられる1つ以上の論理特性に対する第2の値を受取るステップとをさらに含み、
    前記記憶サーバは、前記第1の値と前記第2の値とに少なくとも部分的に基づいて、前記第1のI/O要求と前記第2のI/O要求とのうちのどちらを最初に処理すべきかを判断し、
    前記第1のI/O要求側は第1のデータベースサーバであり、前記第2のI/O要求側は第2のデータベースサーバである、請求項1に記載の方法。
  6. 前記1つ以上の論理特性は、前記記憶システム内に格納される複数のデータベースのうちどのデータベースが前記第1のI/O要求によって目標とされるかを含み、
    前記1つ以上の論理特性は、前記第1のI/O要求側が応答して前記第1のI/O要求を出した前記通信セッションに関連付けられる前記ユーザ名を含み、前記ユーザ名は、前記第1のI/O要求をもたらした動作を要求することを担ったユーザに対応し、
    前記1つ以上の論理特性は、前記第1のI/O要求側が前記第1のI/O要求を出した前記作業負荷タイプを含む、請求項1に記載の方法。
  7. 前記記憶システムが、前記1つ以上の選択ポリシーからの情報に少なくとも部分的に基づいて、負荷設定を判断するステップと、
    前記記憶システムが、前記負荷設定に基づいて、前記キューに入れられている複数のI/O要求をいつ処理すべきかを判断するステップとをさらに含む、請求項に記載の方法。
  8. 前記記憶システムが、前記記憶システムにより受取られるI/O要求に関連付けられる論理特性を、前記I/O要求に伴う要求メタデータに基づいて判断するステップと、
    前記記憶システムが、前記記憶システムによって受取られるI/O要求に関連付けられる論理特性に少なくとも部分的に基づいて、負荷設定を判断するステップと、
    前記記憶システムが、前記負荷設定に基づいて、前記キューに入れられている複数のI/O要求をいつ処理すべきかを判断するステップとをさらに含み、
    前記論理特性を判断するステップおよび前記負荷設定を判断するステップは、前記記憶システムがどのように用いられているかに基づいて、負荷を動的に変動させるために周期的に繰返される、請求項に記載の方法。
  9. 方法であって、
    記憶システムに対して、入力/出力(I/O)要求側によって、1つ以上の記憶装置に対するデータの読出または書込を行うようI/O要求を提出するステップを含み、前記I/O要求は、前記1つ以上の記憶装置内における前記読出または書込されるべきデータの位置を示す物理特性を含み、さらに、
    前記記憶システムに対し、前記I/O要求側によって、前記I/O要求の1つ以上の論理特性に対する値を提出することにより、前記記憶システム内の記憶サーバが、前記1つ以上の論理特性に基づいて、I/O要求を優先順位付けできるようにするステップを含み、
    前記1つ以上の論理特性は、前記物理特性とは異なり、
    前記1つ以上の論理特性は、少なくとも第1のI/O要求に対して、
    前記第1のI/O要求に関連付けられ、かつ前記第1のI/O要求によって目標とされるデータベース、
    作業を分類化し、前記第1のI/O要求に関連づけられる作業負荷タイプ、
    複数の消費側を含み、前記第1のI/O要求に関連付けられる消費側グループ、
    前記第1のI/O要求を出すために前記第1のI/O要求側で使用される通信セッションに関連付けられるユーザ名、
    前記第1のI/O要求側が前記第1のI/O要求を出したサービス、および
    前記第1のI/O要求側が前記第1のI/O要求を出した目的、のうちの少なくとも1つを示すものを含み、
    前記I/O要求側はデータベースサーバであり、前記方法は、さらに、どのI/O要求を処理すべきかを選択する際に前記記憶サーバが適用するポリシーを示す選択ポリシーを、前記データベースサーバが前記記憶システムに送るステップを含み、
    前記記憶システムは複数のデータベースのためにデータを格納し、前記ポリシーはデータベース選択ポリシーを含み、
    前記記憶サーバは前記ポリシーを複数のシーケンス段階に適用し、
    前記I/O要求のうち、同様の論理特性を有する要求はある選択グループに属し、
    前記複数のI/O要求は複数の選択グループに対応し、
    前記記憶サーバによって前記複数の段階のうちのある後の段階において適用されるポリシーは、前記複数の選択グループのうちのどの選択グループが1つ以上の前の段階を生き延びるかに少なくとも部分的に基づく、方法。
  10. 1つ以上のプロセッサによって実行されると、請求項1〜9のいずれかに記載のステップの実行を引起す命令を含む、コンピュータ読取可能記憶媒体。
  11. システムであって、
    1つ以上のデータベースを表すデータを格納する1つ以上のブロック化された記憶装置と、
    入力/出力(I/O)要求に応答して、前記1つ以上のブロック化された記憶装置に対してデータの読出または書込を行なう記憶サーバとを含み、前記I/O要求は、前記1つ以上の記憶装置内における前記読出または書込されるべきデータの位置を示す物理特性を含み、さらに、
    前記記憶サーバに結合され、データベースアプリケーションからデータベースコマンドを受取り、前記データベースコマンドに応答してI/O要求を前記記憶サーバに送るデータベースサーバを含み、
    前記データベースサーバは、前記I/O要求に関連付けられる論理特性を、前記I/O要求との関連において、前記記憶サーバに送るよう構成されており、
    前記論理特性は、前記物理特性とは異なり、
    1つ以上の論理特性は、前記I/O要求のうちの少なくとも第1のI/O要求に対して、
    前記第1のI/O要求に関連付けられ、かつ前記第1のI/O要求によって目標とされるデータベース、
    作業を分類化し、前記第1のI/O要求に関連づけられる作業負荷タイプ、
    複数の消費側を含み、前記第1のI/O要求に関連付けられる消費側グループ、
    前記第1のI/O要求を出すために前記第1のI/O要求側で使用される通信セッションに関連付けられるユーザ名、
    前記第1のI/O要求側が前記第1のI/O要求を出したサービス、および
    前記第1のI/O要求側が前記第1のI/O要求を出した目的、のうちの少なくとも1つを示すものを含み、
    前記記憶サーバは前記I/O要求をキューに入れるよう構成されており、
    前記記憶サーバは、さらに、I/O要求に関連付けられる論理特性に少なくとも部分的に基づいた順序でI/O要求を処理するよう構成され、
    前記システムが1つ以上の選択ポリシーを受取り、
    前記記憶サーバが、前記1つ以上の選択ポリシーの各々に示されるポリシーを用いて、前記複数のI/O要求のうちのどれが処理のために選択されるべきかを選択し、
    前記記憶サーバは前記ポリシーを複数のシーケンス段階に適用し、
    前記I/O要求のうち、同様の論理特性を有する要求はある選択グループに属し、
    前記複数のI/O要求は複数の選択グループに対応し、
    前記記憶サーバによって前記複数の段階のうちのある後の段階において適用されるポリシーは、前記複数の選択グループのうちのどの選択グループが1つ以上の前の段階を生き延びるかに少なくとも部分的に基づく、システム。
  12. 前記1つ以上の論理特性は、前記第1のI/O要求に関連付けられ、かつ前記第1のI/O要求に伴う要求メタデータによって特定されるデータベースを含む、請求項1に記載の方法。
  13. 前記1つ以上の論理特性は、作業を分類化し、前記第1のI/O要求を出した第1のI/O要求側によって実行される作業負荷タイプを含む、請求項1に記載の方法。
  14. 前記1つ以上の論理特性は、複数の消費側を含み、前記第1のI/O要求に関連付けられる消費側グループを含む、請求項1に記載の方法。
  15. 前記1つ以上の論理特性は、前記第1のI/O要求側が応答して前記第1のI/O要求を出した通信セッションに関連付けられるユーザ名を含む、請求項1に記載の方法。
  16. 前記1つ以上の論理特性は、前記第1のI/O要求側が前記第1のI/O要求を出したサービスを含む、請求項1に記載の方法。
  17. 前記1つ以上の論理特性は、前記第1のI/O要求側が前記第1のI/O要求を出した目的を含む、請求項1に記載の方法。
  18. 前記1つ以上の論理特性は、前記第1のI/O要求に関連付けられるデータベースと、
    作業を分類化し、前記第1のI/O要求を出した第1のI/O要求側によって実行される作業負荷タイプを含む、請求項1に記載の方法。
JP2011528019A 2008-09-19 2009-09-18 記憶側記憶要求管理 Active JP5484471B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US19266808P 2008-09-19 2008-09-19
US61/192,668 2008-09-19
US9987208P 2008-09-24 2008-09-24
US61/099,872 2008-09-24
PCT/US2009/057590 WO2010033877A1 (en) 2008-09-19 2009-09-18 Storage-side storage request management

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014027264A Division JP6100712B2 (ja) 2008-09-19 2014-02-17 記憶側記憶要求管理

Publications (3)

Publication Number Publication Date
JP2012503257A JP2012503257A (ja) 2012-02-02
JP2012503257A5 JP2012503257A5 (ja) 2012-11-01
JP5484471B2 true JP5484471B2 (ja) 2014-05-07

Family

ID=41323504

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2011528019A Active JP5484471B2 (ja) 2008-09-19 2009-09-18 記憶側記憶要求管理
JP2011528004A Active JP5484470B2 (ja) 2008-09-19 2009-09-18 オフロードされたブルームフィルタを伴うインテリジェントストレージにおける協調並列フィルタ処理を用いるハッシュジョイン
JP2014027264A Active JP6100712B2 (ja) 2008-09-19 2014-02-17 記憶側記憶要求管理

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2011528004A Active JP5484470B2 (ja) 2008-09-19 2009-09-18 オフロードされたブルームフィルタを伴うインテリジェントストレージにおける協調並列フィルタ処理を用いるハッシュジョイン
JP2014027264A Active JP6100712B2 (ja) 2008-09-19 2014-02-17 記憶側記憶要求管理

Country Status (5)

Country Link
US (5) US8145806B2 (ja)
EP (3) EP2546765B1 (ja)
JP (3) JP5484471B2 (ja)
CN (3) CN102197395B (ja)
WO (2) WO2010033877A1 (ja)

Families Citing this family (183)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9262490B2 (en) 2004-08-12 2016-02-16 Oracle International Corporation Adaptively routing transactions to servers
US8892780B2 (en) 2007-03-08 2014-11-18 Oracle International Corporation Management of shared storage I/O resources
US10750023B2 (en) 2008-01-28 2020-08-18 Afiniti Europe Technologies Limited Techniques for hybrid behavioral pairing in a contact center system
US8868831B2 (en) 2009-09-14 2014-10-21 Oracle International Corporation Caching data between a database server and a storage system
US9772798B2 (en) 2008-09-19 2017-09-26 Oracle International Corporation Method and system for implementing workload management by monitoring disk utilizations
US8145806B2 (en) * 2008-09-19 2012-03-27 Oracle International Corporation Storage-side storage request management
US10430338B2 (en) * 2008-09-19 2019-10-01 Oracle International Corporation Selectively reading data from cache and primary storage based on whether cache is overloaded
US8612998B2 (en) * 2010-09-23 2013-12-17 Intel Corporation Coordinating device and application break events for platform power saving
US8204892B2 (en) * 2009-10-26 2012-06-19 Oracle International Corporation Performance boost for sort operations
US8893146B2 (en) * 2009-11-13 2014-11-18 Hewlett-Packard Development Company, L.P. Method and system of an I/O stack for controlling flows of workload specific I/O requests
US20120326099A1 (en) * 2010-03-04 2012-12-27 Jx Nippon Mining & Metals Corporation Positive Electrode Active Material For Lithium Ion Battery, Positive Electrode For Lithium Ion Battery, And Lithium Ion Battery
US8671265B2 (en) * 2010-03-05 2014-03-11 Solidfire, Inc. Distributed data storage system providing de-duplication of data using block identifiers
US8560558B2 (en) * 2010-04-28 2013-10-15 Fujitsu Limited Computer product, search apparatus, management apparatus, search method, and management method
US20120054420A1 (en) * 2010-08-31 2012-03-01 Jeonguk Kang Storage device and stream filtering method thereof
US9558247B2 (en) 2010-08-31 2017-01-31 Samsung Electronics Co., Ltd. Storage device and stream filtering method thereof
US8589625B2 (en) * 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of reconstructive I/O read operations in a storage environment
JP5666719B2 (ja) * 2010-12-20 2015-02-12 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ピアツーピア・ネットワークにおける検索
US10311105B2 (en) * 2010-12-28 2019-06-04 Microsoft Technology Licensing, Llc Filtering queried data on data stores
CN102591668B (zh) * 2011-01-05 2015-04-08 阿里巴巴集团控股有限公司 对弹性计算云系统升级的装置、方法及系统
US9667713B2 (en) * 2011-03-21 2017-05-30 Apple Inc. Apparatus and method for managing peer-to-peer connections between different service providers
US10380269B2 (en) * 2011-06-07 2019-08-13 Entit Software Llc Sideways information passing
CN102214236B (zh) * 2011-06-30 2013-10-23 北京新媒传信科技有限公司 一种海量数据处理方法和系统
US8554976B2 (en) * 2011-07-08 2013-10-08 Plx Technology, Inc. Single pipe non-blocking architecture
US9658892B2 (en) 2011-08-31 2017-05-23 International Business Machines Corporation Management of storage cluster performance with hybrid workloads
US8949367B2 (en) * 2011-10-31 2015-02-03 Oracle International Corporation Cooperative storage management
CN103218032B (zh) 2011-11-29 2017-07-14 英特尔公司 利用相对能量损益平衡时间的功率管理
US8762396B2 (en) * 2011-12-22 2014-06-24 Sap Ag Dynamic, hierarchical bloom filters for network data routing
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9842156B2 (en) * 2011-12-29 2017-12-12 Intel Corporation System and method for providing differentiated storage service in a database
CN103188297B (zh) * 2011-12-29 2016-05-18 北大方正集团有限公司 一种消息存储和获取方法及系统
CN102609446B (zh) * 2012-01-05 2013-12-25 厦门市美亚柏科信息股份有限公司 一种分布式Bloom过滤系统及其使用方法
US8805850B2 (en) * 2012-05-23 2014-08-12 International Business Machines Corporation Hardware-accelerated relational joins
JP5936465B2 (ja) * 2012-07-04 2016-06-22 三菱電機株式会社 複数データベース自動検索装置
US10834184B2 (en) * 2012-07-05 2020-11-10 Nokia Corporation Sending a sensor node a request for sensor data that identifies another node to process the data
US9047129B2 (en) * 2012-07-23 2015-06-02 Adobe Systems Incorporated Systems and methods for load balancing of time-based tasks in a distributed computing system
US8838535B2 (en) 2012-10-05 2014-09-16 Oracle International Corporation Providing services across systems that manage distributed replicas
US9465826B2 (en) * 2012-11-27 2016-10-11 Hewlett Packard Enterprise Development Lp Estimating unique entry counts using a counting bloom filter
US9141532B2 (en) * 2012-12-26 2015-09-22 Western Digital Technologies, Inc. Dynamic overprovisioning for data storage systems
US9292571B1 (en) * 2013-01-18 2016-03-22 Microstrategy Incorporated Joining database tables
US9892026B2 (en) 2013-02-01 2018-02-13 Ab Initio Technology Llc Data records selection
US8972337B1 (en) 2013-02-21 2015-03-03 Amazon Technologies, Inc. Efficient query processing in columnar databases using bloom filters
US20140250440A1 (en) * 2013-03-01 2014-09-04 Adaptive Computing Enterprises, Inc. System and method for managing storage input/output for a compute environment
KR102052964B1 (ko) 2013-03-12 2019-12-06 삼성전자 주식회사 컴퓨팅 스케줄링 방법 및 시스템
US10489365B2 (en) 2013-03-14 2019-11-26 Oracle International Corporation Predicate offload of large objects
US10152500B2 (en) 2013-03-14 2018-12-11 Oracle International Corporation Read mostly instances
US10296462B2 (en) 2013-03-15 2019-05-21 Oracle International Corporation Method to accelerate queries using dynamically generated alternate data formats in flash cache
US10528590B2 (en) * 2014-09-26 2020-01-07 Oracle International Corporation Optimizing a query with extrema function using in-memory data summaries on the storage server
US10642837B2 (en) 2013-03-15 2020-05-05 Oracle International Corporation Relocating derived cache during data rebalance to maintain application performance
US9602423B2 (en) 2013-06-28 2017-03-21 Pepperdata, Inc. Systems, methods, and devices for dynamic resource monitoring and allocation in a cluster system
EP3014460A4 (en) 2013-06-28 2016-11-30 Intel Corp ADAPTIVE INTERRUPTION COALESCENCE FOR MOBILE PLATFORMS WITH LOW POWER CONSUMPTION
US9779137B2 (en) * 2013-07-09 2017-10-03 Logicblox Inc. Salient sampling for query size estimation
US9898490B2 (en) * 2013-09-20 2018-02-20 Oracle International Corporation Systems and methods for supporting multiple database server versions on a database machine
US9798655B2 (en) 2013-09-20 2017-10-24 Oracle International Corporation Managing a cache on storage devices supporting compression
US10229161B2 (en) 2013-09-20 2019-03-12 Oracle International Corporation Automatic caching of scan and random access data in computing systems
US9767178B2 (en) 2013-10-30 2017-09-19 Oracle International Corporation Multi-instance redo apply
US10515231B2 (en) * 2013-11-08 2019-12-24 Symcor Inc. Method of obfuscating relationships between data in database tables
US9219671B2 (en) * 2013-12-06 2015-12-22 Dell Products L.P. Pro-active MPIO based rate limiting to avoid iSCSI network congestion/incast for clustered storage systems
WO2015084407A1 (en) * 2013-12-06 2015-06-11 Hewlett-Packard Development Company, L.P. Transitive local predicates across multiple joins
WO2015095521A1 (en) * 2013-12-18 2015-06-25 Amazon Technologies, Inc. Reconciling volumelets in volume cohorts
US9436405B2 (en) * 2013-12-23 2016-09-06 Oracle International Corporation Complex partitioning of storage library resources
US11487732B2 (en) 2014-01-16 2022-11-01 Ab Initio Technology Llc Database key identification
US9740714B2 (en) 2014-02-06 2017-08-22 International Business Machines Corporation Multilevel filters for cache-efficient access
US9665633B2 (en) * 2014-02-19 2017-05-30 Snowflake Computing, Inc. Data management systems and methods
US10545917B2 (en) 2014-02-19 2020-01-28 Snowflake Inc. Multi-range and runtime pruning
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
US9454574B2 (en) 2014-03-28 2016-09-27 Sybase, Inc. Bloom filter costing estimation
US10936595B2 (en) * 2014-04-03 2021-03-02 Sybase, Inc. Deferring and/or eliminating decompressing database data
US9798728B2 (en) 2014-07-24 2017-10-24 Netapp, Inc. System performing data deduplication using a dense tree data structure
US9940356B2 (en) * 2014-07-31 2018-04-10 International Business Machines Corporation Efficient join-filters for parallel processing
US10133511B2 (en) 2014-09-12 2018-11-20 Netapp, Inc Optimized segment cleaning technique
US9671960B2 (en) 2014-09-12 2017-06-06 Netapp, Inc. Rate matching technique for balancing segment cleaning and I/O workload
CN104468701B (zh) * 2014-10-17 2017-10-13 中国人民解放军国防科学技术大学 一种用于异构存储集群系统的i/o服务质量维护方法
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
US10366068B2 (en) 2014-12-18 2019-07-30 International Business Machines Corporation Optimization of metadata via lossy compression
CA2876466C (en) 2014-12-29 2022-07-05 Ibm Canada Limited - Ibm Canada Limitee Scan optimization using bloom filter synopsis
CN104504114B (zh) * 2014-12-30 2018-05-04 杭州华为数字技术有限公司 基于多哈希表的关系操作优化方法、装置和系统
US9720601B2 (en) 2015-02-11 2017-08-01 Netapp, Inc. Load balancing technique for a storage array
US9563511B1 (en) * 2015-03-19 2017-02-07 EMC IP Holding Company LLC Performing input/output operations on a set of storage devices based on scalable input/output credits
US9762460B2 (en) 2015-03-24 2017-09-12 Netapp, Inc. Providing continuous context for operational information of a storage system
US9710317B2 (en) 2015-03-30 2017-07-18 Netapp, Inc. Methods to identify, handle and recover from suspect SSDS in a clustered flash array
US9842148B2 (en) 2015-05-05 2017-12-12 Oracle International Corporation Method for failure-resilient data placement in a distributed query processing system
US9922081B2 (en) * 2015-06-11 2018-03-20 Microsoft Technology Licensing, Llc Bidirectional cross-filtering in analysis service systems
US9740566B2 (en) 2015-07-31 2017-08-22 Netapp, Inc. Snapshot creation workflow
EP3338426A1 (en) * 2015-08-18 2018-06-27 Nokia Solutions and Networks Oy Method and system for database queries
CN105893225A (zh) * 2015-08-25 2016-08-24 乐视网信息技术(北京)股份有限公司 一种错误自动处理方法及装置
US10248694B2 (en) * 2015-08-31 2019-04-02 International Business Machines Corporation Bloom filter utilization for join processing
CN106528287B (zh) 2015-09-09 2019-10-29 阿里巴巴集团控股有限公司 计算机系统资源分配方法和装置
US10430408B2 (en) * 2015-09-24 2019-10-01 International Business Machines Corporation Technology to reduce cost of concatenation for hash array
US10678791B2 (en) * 2015-10-15 2020-06-09 Oracle International Corporation Using shared dictionaries on join columns to improve performance of joins in relational databases
US10726016B2 (en) 2015-10-15 2020-07-28 Oracle International Corporation In-memory column-level multi-versioned global dictionary for in-memory databases
US10678788B2 (en) 2015-10-22 2020-06-09 Oracle International Corporation Columnar caching in tiered storage
US10747752B2 (en) 2015-10-23 2020-08-18 Oracle International Corporation Space management for transactional consistency of in-memory objects on a standby database
US11657037B2 (en) 2015-10-23 2023-05-23 Oracle International Corporation Query execution against an in-memory standby database
US9600525B1 (en) * 2015-11-25 2017-03-21 International Business Machines Corporation Method for joining tables using a limited amount of memory
CN105893241A (zh) * 2015-12-07 2016-08-24 乐视网信息技术(北京)股份有限公司 测试数据的更新方法和装置
US9372892B1 (en) 2015-12-28 2016-06-21 International Business Machines Corporation Bloom filter construction method for use in a table join operation portion of processing a query to a distributed database
CN105893227A (zh) * 2015-12-29 2016-08-24 乐视网信息技术(北京)股份有限公司 数据处理方法及装置
CN105677903A (zh) * 2016-02-05 2016-06-15 华为技术有限公司 获取数据的方法和装置、计算机设备
US10157193B2 (en) * 2016-03-03 2018-12-18 International Business Machines Corporation Switching between a non-partitioned hash join and a partitioned hash join based on an amount of available memory
CN105868071A (zh) * 2016-03-23 2016-08-17 乐视网信息技术(北京)股份有限公司 监测数据的处理方法及装置
BR112018071519A8 (pt) * 2016-04-18 2022-07-05 Afiniti Europe Tech Ltd Técnicas para avaliação comparativa de estratégias de pareamento em um sistema de centro de contato
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
US10649991B2 (en) 2016-04-26 2020-05-12 International Business Machines Corporation Pruning of columns in synopsis tables
US10318514B2 (en) * 2016-05-04 2019-06-11 International Business Machines Corporation Reorganizing a data table to improve analytical database performance
CN106095683B (zh) * 2016-06-15 2019-09-17 广东小天才科技有限公司 一种测试移动终端电流的系统及方法
US10019456B2 (en) 2016-06-29 2018-07-10 Microsoft Technology Licensing, Llc Recovering free space in nonvolatile storage with a computer storage system supporting shared objects
US10437780B2 (en) 2016-07-14 2019-10-08 Snowflake Inc. Data pruning based on metadata
US11126503B2 (en) 2016-08-10 2021-09-21 International Business Machines Corporation Pre-filtering of join execution over multi-column range summaries and other synopses
CN106250565B (zh) * 2016-08-30 2019-05-07 福建天晴数码有限公司 基于分片关系型数据库的查询方法和系统
CN107784030B (zh) 2016-08-31 2020-04-28 华为技术有限公司 一种处理连接查询的方法及装置
US10503654B2 (en) 2016-09-01 2019-12-10 Intel Corporation Selective caching of erasure coded fragments in a distributed storage system
US10133667B2 (en) 2016-09-06 2018-11-20 Orcle International Corporation Efficient data storage and retrieval using a heterogeneous main memory
US10698771B2 (en) 2016-09-15 2020-06-30 Oracle International Corporation Zero-data-loss with asynchronous redo shipping to a standby database
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
US10853364B2 (en) * 2016-09-28 2020-12-01 Microsoft Technology Licensing, Llc Direct table association in in-memory databases
US10474653B2 (en) 2016-09-30 2019-11-12 Oracle International Corporation Flexible in-memory column store placement
CN106970930B (zh) * 2016-10-10 2021-01-05 创新先进技术有限公司 消息发送确定方法及装置、数据表创建方法及装置
US10891291B2 (en) 2016-10-31 2021-01-12 Oracle International Corporation Facilitating operations on pluggable databases using separate logical timestamp services
US10331573B2 (en) 2016-11-04 2019-06-25 Oracle International Corporation Detection of avoidable cache thrashing for OLTP and DW workloads
CN106776248A (zh) * 2016-11-11 2017-05-31 乐视控股(北京)有限公司 一种数据处理的方法和装置
CN106776199A (zh) * 2016-11-11 2017-05-31 乐视控股(北京)有限公司 一种数据处理的方法和装置
CN106776019B (zh) * 2016-12-01 2019-11-19 成都华为技术有限公司 一种用户读写请求的调度方法及装置
US11475006B2 (en) 2016-12-02 2022-10-18 Oracle International Corporation Query and change propagation scheduling for heterogeneous database systems
US11093494B2 (en) * 2016-12-06 2021-08-17 Microsoft Technology Licensing, Llc Joining tables by leveraging transformations
US10803122B2 (en) * 2017-04-11 2020-10-13 International Business Machines Corporation Labeled graph isomorphism allowing for false positive
US10601938B2 (en) 2017-04-12 2020-03-24 Microsoft Technology Licensing, Llc Organizationally programmable intranet push notifications
CN107239380A (zh) * 2017-05-10 2017-10-10 杭州铭师堂教育科技发展有限公司 一种基于zabbix的消息队列监控方法
US10503412B2 (en) * 2017-05-24 2019-12-10 Western Digital Technologies, Inc. Priority-based internal data movement
US10691722B2 (en) 2017-05-31 2020-06-23 Oracle International Corporation Consistent query execution for big data analytics in a hybrid database
US11630832B2 (en) * 2017-06-07 2023-04-18 Sap Se Dynamic admission control for database requests
US10599340B1 (en) 2017-07-13 2020-03-24 EMC IP Holding LLC Policy driven IO scheduler to improve read IO performance in hybrid storage systems
US10592123B1 (en) 2017-07-13 2020-03-17 EMC IP Holding Company LLC Policy driven IO scheduler to improve write IO performance in hybrid storage systems
US10509739B1 (en) * 2017-07-13 2019-12-17 EMC IP Holding Company LLC Optimized read IO for mix read/write scenario by chunking write IOs
US10489348B2 (en) 2017-07-17 2019-11-26 Alteryx, Inc. Performing hash joins using parallel processing
CN107368596A (zh) * 2017-07-26 2017-11-21 郑州云海信息技术有限公司 一种布隆过滤器查询集合元素的方法及装置
US10719446B2 (en) 2017-08-31 2020-07-21 Oracle International Corporation Directly mapped buffer cache on non-volatile memory
US20190095448A1 (en) * 2017-09-22 2019-03-28 Microsoft Technology Licensing, Llc System of mobile notification delivery utilizing bloom filters
US11652776B2 (en) * 2017-09-25 2023-05-16 Microsoft Technology Licensing, Llc System of mobile notification delivery utilizing bloom filters
US10732836B2 (en) 2017-09-29 2020-08-04 Oracle International Corporation Remote one-sided persistent writes
US11086876B2 (en) 2017-09-29 2021-08-10 Oracle International Corporation Storing derived summaries on persistent memory of a storage device
US10956335B2 (en) 2017-09-29 2021-03-23 Oracle International Corporation Non-volatile cache access using RDMA
US11954117B2 (en) 2017-09-29 2024-04-09 Oracle International Corporation Routing requests in shared-storage database systems
US11010387B2 (en) 2017-10-06 2021-05-18 Microsoft Technology Licensing, Llc Join operation and interface for wildcards
US10552452B2 (en) 2017-10-16 2020-02-04 Alteryx, Inc. Asynchronously processing sequential data blocks
US10558364B2 (en) 2017-10-16 2020-02-11 Alteryx, Inc. Memory allocation in a data analytics system
US11615083B1 (en) * 2017-11-22 2023-03-28 Amazon Technologies, Inc. Storage level parallel query processing
US10613896B2 (en) * 2017-12-18 2020-04-07 International Business Machines Corporation Prioritizing I/O operations
US11068540B2 (en) 2018-01-25 2021-07-20 Ab Initio Technology Llc Techniques for integrating validation results in data profiling and related systems and methods
CN108509148B (zh) * 2018-02-07 2021-08-06 新华三技术有限公司 一种i/o请求处理方法以及装置
US10642840B1 (en) 2018-03-07 2020-05-05 Amazon Technologies, Inc. Filtered hash table generation for performing hash joins
US10628063B2 (en) 2018-08-24 2020-04-21 Advanced Micro Devices, Inc. Implementing scalable memory allocation using identifiers that return a succinct pointer representation
CN109271408B (zh) * 2018-08-31 2020-07-28 阿里巴巴集团控股有限公司 一种分布式数据连接处理方法、装置、设备及存储介质
GB2579071B (en) 2018-11-19 2022-03-02 Canon Kk Method and apparatus for processing requests for thumbnail images in a video surveillance system
US11625398B1 (en) 2018-12-12 2023-04-11 Teradata Us, Inc. Join cardinality estimation using machine learning and graph kernels
US10970393B1 (en) * 2018-12-18 2021-04-06 Altiris, Inc. Probabilistic set membership using bloom filters
US11157478B2 (en) 2018-12-28 2021-10-26 Oracle International Corporation Technique of comprehensively support autonomous JSON document object (AJD) cloud service
US11316664B2 (en) 2019-04-05 2022-04-26 Bank Of America Corporation System for characterization and tracking of electronic data in a networked environment using cohesive information units
US11200234B2 (en) 2019-06-14 2021-12-14 Oracle International Corporation Non-disruptive dynamic ad-hoc database catalog services
US10990596B2 (en) 2019-06-14 2021-04-27 Oracle International Corporation Non-disruptive referencing of special purpose operators for database management systems
US11860869B1 (en) 2019-06-28 2024-01-02 Amazon Technologies, Inc. Performing queries to a consistent view of a data set across query engine types
US11455305B1 (en) 2019-06-28 2022-09-27 Amazon Technologies, Inc. Selecting alternate portions of a query plan for processing partial results generated separate from a query engine
US11403367B2 (en) 2019-09-12 2022-08-02 Oracle International Corporation Techniques for solving the spherical point-in-polygon problem
US11423001B2 (en) 2019-09-13 2022-08-23 Oracle International Corporation Technique of efficiently, comprehensively and autonomously support native JSON datatype in RDBMS for both OLTP and OLAP
US11016978B2 (en) 2019-09-18 2021-05-25 Bank Of America Corporation Joiner for distributed databases
US11126401B2 (en) 2019-09-18 2021-09-21 Bank Of America Corporation Pluggable sorting for distributed databases
US11514066B2 (en) 2019-11-08 2022-11-29 Servicenow, Inc. System and methods for querying and updating databases
CN112948370B (zh) * 2019-11-26 2023-04-11 上海哔哩哔哩科技有限公司 数据分类方法、装置以及计算机设备
US11567939B2 (en) 2019-12-26 2023-01-31 Snowflake Inc. Lazy reassembling of semi-structured data
US10769150B1 (en) 2019-12-26 2020-09-08 Snowflake Inc. Pruning indexes to enhance database query processing
US11372860B2 (en) * 2019-12-26 2022-06-28 Snowflake Inc. Processing techniques for queries where predicate values are unknown until runtime
US11308090B2 (en) 2019-12-26 2022-04-19 Snowflake Inc. Pruning index to support semi-structured data types
CN113127475A (zh) * 2019-12-30 2021-07-16 中国移动通信集团四川有限公司 一种数据处理方法、系统及装置
US11835152B2 (en) * 2020-01-17 2023-12-05 Fisher Controls International Llc Method and system for executing online tests of valve seating integrity for control valves
US10877967B1 (en) * 2020-03-13 2020-12-29 Snowflake Inc. System and method for disjunctive joins
US11550949B2 (en) * 2020-07-21 2023-01-10 Constella Intelligence, Inc. Secure exchange of password presence data
CN112905575A (zh) * 2020-12-30 2021-06-04 创盛视联数码科技(北京)有限公司 数据采集的方法、系统、存储介质及电子设备
CN113311728B (zh) * 2021-05-25 2022-08-30 南京国电南自维美德自动化有限公司 一种仿真模型与控制器通信的方法和系统
US11516307B1 (en) * 2021-08-09 2022-11-29 Servicenow, Inc. Support for multi-type users in a single-type computing system
US11445045B1 (en) * 2021-12-21 2022-09-13 Akamai Technologies, Inc. Systems and methods for preventing the caching of rarely requested objects
US20240078237A1 (en) * 2022-09-07 2024-03-07 Google Llc Database Join Operations With Early Filtering
US11880369B1 (en) 2022-11-21 2024-01-23 Snowflake Inc. Pruning data based on state of top K operator
CN116248699B (zh) * 2023-03-14 2024-01-02 安超云软件有限公司 多副本场景下的数据读取方法、装置、设备及存储介质

Family Cites Families (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4425615A (en) * 1980-11-14 1984-01-10 Sperry Corporation Hierarchical memory system having cache/disk subsystem with command queues for plural disks
JP2753228B2 (ja) * 1987-04-30 1998-05-18 株式会社日立製作所 データ処理装置
EP0389151A3 (en) * 1989-03-22 1992-06-03 International Business Machines Corporation System and method for partitioned cache memory management
US5551018A (en) 1993-02-02 1996-08-27 Borland International, Inc. Method of storing national language support text by presorting followed by insertion sorting
US5487164A (en) * 1993-09-14 1996-01-23 International Business Machines Corporation Distribution-based replacement selection sorting system
US5765034A (en) * 1995-10-20 1998-06-09 International Business Machines Corporation Fencing system for standard interfaces for storage devices
US6044367A (en) * 1996-08-02 2000-03-28 Hewlett-Packard Company Distributed I/O store
US5848408A (en) 1997-02-28 1998-12-08 Oracle Corporation Method for executing star queries
US5987453A (en) 1997-04-07 1999-11-16 Informix Software, Inc. Method and apparatus for performing a join query in a database system
US5999943A (en) 1997-10-31 1999-12-07 Oracle Corporation Lob locators
US6128621A (en) 1997-10-31 2000-10-03 Oracle Corporation Apparatus and method for pickling data
US7756986B2 (en) * 1998-06-30 2010-07-13 Emc Corporation Method and apparatus for providing data management for a storage system coupled to a network
US6427187B2 (en) * 1998-07-31 2002-07-30 Cache Flow, Inc. Multiple cache communication
JP3623697B2 (ja) 1999-07-29 2005-02-23 富士通株式会社 ディスク・タイムシェアリング装置及び方法
US6665684B2 (en) 1999-09-27 2003-12-16 Oracle International Corporation Partition pruning with composite partitioning
US6728823B1 (en) * 2000-02-18 2004-04-27 Hewlett-Packard Development Company, L.P. Cache connection with bypassing feature
KR100372582B1 (ko) * 2000-02-23 2003-02-17 가부시키가이샤 히타치세이사쿠쇼 데이터처리방법 및 시스템 및 그 처리프로그램을 기록한계산기판독이 가능한 기록매체
US20030046396A1 (en) * 2000-03-03 2003-03-06 Richter Roger K. Systems and methods for managing resource utilization in information management environments
US6618729B1 (en) 2000-04-20 2003-09-09 Ncr Corporation Optimization of a star join operation using a bitmap index structure
US7069324B1 (en) * 2000-06-30 2006-06-27 Cisco Technology, Inc. Methods and apparatus slow-starting a web cache system
US7024425B2 (en) 2000-09-07 2006-04-04 Oracle International Corporation Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system
US6526483B1 (en) 2000-09-20 2003-02-25 Broadcom Corporation Page open hint in transactions
US6745297B2 (en) * 2000-10-06 2004-06-01 Broadcom Corporation Cache coherent protocol in which exclusive and modified data is transferred to requesting agent from snooping agent
US7237027B1 (en) * 2000-11-10 2007-06-26 Agami Systems, Inc. Scalable storage system
US6961728B2 (en) * 2000-11-28 2005-11-01 Centerboard, Inc. System and methods for highly distributed wide-area data management of a network of data sources through a database interface
JP2002244898A (ja) * 2001-02-19 2002-08-30 Hitachi Ltd データベース管理プログラム及びデータベースシステム
JP3987295B2 (ja) 2001-03-19 2007-10-03 株式会社東芝 処理最適化方法、コンピュータ、及び記憶装置
US6820218B1 (en) * 2001-09-04 2004-11-16 Microsoft Corporation Persistent stateful component-based applications via automatic recovery
US7047253B1 (en) 2001-09-28 2006-05-16 Oracle Interntional Corporation Mechanisms for storing content and properties of hierarchically organized resources
AU2002334721B2 (en) 2001-09-28 2008-10-23 Oracle International Corporation An index structure to access hierarchical data in a relational database system
JP4162184B2 (ja) 2001-11-14 2008-10-08 株式会社日立製作所 データベース管理システムの実行情報を取得する手段を有する記憶装置
US8549048B2 (en) 2001-12-19 2013-10-01 Emc Corporation Workflow database for scalable storage service
US6886077B2 (en) * 2001-12-21 2005-04-26 International Business Machines Corporation Context-sensitive caching
US6957222B1 (en) 2001-12-31 2005-10-18 Ncr Corporation Optimizing an outer join operation using a bitmap index structure
US7092954B1 (en) * 2001-12-31 2006-08-15 Ncr Corporation Optimizing an equi-join operation using a bitmap index structure
US6957210B1 (en) * 2001-12-31 2005-10-18 Ncr Corporation Optimizing an exclusion join operation using a bitmap index structure
US7420987B1 (en) 2002-01-17 2008-09-02 Juniper Networks, Inc. Arbiter for multiple mutually exclusive vectors
AU2003213113A1 (en) 2002-02-21 2003-09-09 Precise Software Solutions, Inc. System and method for analyzing input/output activity on local attached storage
US6801905B2 (en) 2002-03-06 2004-10-05 Sybase, Inc. Database system providing methodology for property enforcement
US7689623B1 (en) 2002-04-08 2010-03-30 Syncsort Incorporated Method for performing an external (disk-based) sort of a large data file which takes advantage of “presorted” data already present in the input
US7228354B2 (en) * 2002-06-28 2007-06-05 International Business Machines Corporation Method for improving performance in a computer storage system by regulating resource requests from clients
JP3977698B2 (ja) * 2002-07-05 2007-09-19 株式会社日立製作所 記憶制御装置、記憶制御装置の制御方法、及びプログラム
US7461147B1 (en) * 2002-08-26 2008-12-02 Netapp. Inc. Node selection within a network based on policy
US7370068B1 (en) * 2002-09-04 2008-05-06 Teradata Us, Inc. Sorting of records with duplicate removal in a database system
US7051161B2 (en) 2002-09-17 2006-05-23 Nokia Corporation Memory admission control based on object size or request frequency
US7203691B2 (en) * 2002-09-27 2007-04-10 Ncr Corp. System and method for retrieving information from a database
US7120645B2 (en) 2002-09-27 2006-10-10 Oracle International Corporation Techniques for rewriting XML queries directed to relational database constructs
US6922754B2 (en) * 2002-12-09 2005-07-26 Infabric Technologies, Inc. Data-aware data flow manager
JP4318914B2 (ja) * 2002-12-26 2009-08-26 富士通株式会社 ストレージシステム及びその動的負荷管理方法
JP4322068B2 (ja) * 2003-03-07 2009-08-26 富士通株式会社 ストレージシステム及びそのデイスク負荷バランス制御方法
US7103603B2 (en) * 2003-03-28 2006-09-05 International Business Machines Corporation Method, apparatus, and system for improved duplicate record processing in a sort utility
US7895191B2 (en) * 2003-04-09 2011-02-22 International Business Machines Corporation Improving performance of database queries
US20040230753A1 (en) 2003-05-16 2004-11-18 International Business Machines Corporation Methods and apparatus for providing service differentiation in a shared storage environment
US7159076B2 (en) * 2003-06-24 2007-01-02 Research In Motion Limited Cache operation with non-cache memory
EP1852792B1 (en) * 2003-07-08 2013-04-17 Sap Ag Method and computer system for query processing
US7444515B2 (en) * 2003-08-14 2008-10-28 Washington University Method and apparatus for detecting predefined signatures in packet payload using Bloom filters
US7042716B2 (en) * 2003-08-25 2006-05-09 Simon John Edward Shearman Ergonomic pull-out computer housing
US7251650B2 (en) 2003-08-25 2007-07-31 International Business Machines Corporation Method, system, and article of manufacture for processing updates to insert operations
US7478100B2 (en) 2003-09-05 2009-01-13 Oracle International Corporation Method and mechanism for efficient storage and query of XML documents based on paths
US7558850B2 (en) 2003-09-15 2009-07-07 International Business Machines Corporation Method for managing input/output (I/O) performance between host systems and storage volumes
US7155466B2 (en) * 2003-10-27 2006-12-26 Archivas, Inc. Policy-based management of a redundant array of independent nodes
US7769802B2 (en) 2003-12-04 2010-08-03 Microsoft Corporation Systems and methods that employ correlated synchronous-on-asynchronous processing
JP2005165852A (ja) * 2003-12-04 2005-06-23 Hitachi Ltd ストレージシステム、ストレージ制御装置、ストレージシステムの制御方法
US7421562B2 (en) * 2004-03-01 2008-09-02 Sybase, Inc. Database system providing methodology for extended memory support
US7165144B2 (en) * 2004-03-19 2007-01-16 Intel Corporation Managing input/output (I/O) requests in a cache memory system
US7366735B2 (en) 2004-04-09 2008-04-29 Oracle International Corporation Efficient extraction of XML content stored in a LOB
US7320061B2 (en) 2004-05-10 2008-01-15 Oracle International Corporation Storage optimization for VARRAY columns
US7340651B2 (en) * 2004-05-28 2008-03-04 International Business Machines Corporation System and method for maintaining functionality during component failures
US8078607B2 (en) * 2006-03-30 2011-12-13 Google Inc. Generating website profiles based on queries from webistes and user activities on the search results
US20060064405A1 (en) * 2004-09-21 2006-03-23 Xiaoye Jiang Hybrid client-server protocol for fast writes to a file
US7373554B2 (en) * 2004-09-24 2008-05-13 Oracle International Corporation Techniques for automatic software error diagnostics and correction
EP1800227A2 (en) * 2004-10-04 2007-06-27 Clearpace Software Limited Method and system for implementing an enhanced database
US20060224451A1 (en) * 2004-10-18 2006-10-05 Xcelerator Loyalty Group, Inc. Incentive program
US7454420B2 (en) 2004-11-08 2008-11-18 Sas Institute Inc. Data sorting method and system
US7734582B2 (en) * 2004-11-16 2010-06-08 International Business Machines Corporation Apparatus, system, and method for cache synchronization
US8126870B2 (en) 2005-03-28 2012-02-28 Sybase, Inc. System and methodology for parallel query optimization using semantic-based partitioning
US7512625B2 (en) * 2005-04-01 2009-03-31 International Business Machines Corporation Method, system and program for joining source table rows with target table rows
JP2006285811A (ja) * 2005-04-04 2006-10-19 Hitachi Ltd ストレージシステム及びデータ処理方法
JP2006318014A (ja) * 2005-05-10 2006-11-24 Mitsubishi Electric Corp プラント運転履歴データ管理装置
US7603660B2 (en) * 2005-06-01 2009-10-13 Microsoft Corporation Code coverage test selection
US20060294049A1 (en) * 2005-06-27 2006-12-28 Microsoft Corporation Back-off mechanism for search
US20070067575A1 (en) * 2005-09-20 2007-03-22 Morris John M Method of managing cache memory based on data temperature
US7636767B2 (en) * 2005-11-29 2009-12-22 Cisco Technology, Inc. Method and apparatus for reducing network traffic over low bandwidth links
US7327547B1 (en) * 2006-01-20 2008-02-05 Epstein Barry M Circuit element and use thereof
US7698597B2 (en) * 2006-02-28 2010-04-13 International Business Machines Corporation Method of isolating erroneous software program components
US7506119B2 (en) * 2006-05-04 2009-03-17 International Business Machines Corporation Complier assisted victim cache bypassing
US8555288B2 (en) * 2006-05-17 2013-10-08 Teradata Us, Inc. Managing database utilities to improve throughput and concurrency
US8909871B2 (en) * 2006-08-03 2014-12-09 International Business Machines Corporation Data processing system and method for reducing cache pollution by write stream memory access patterns
US7739470B1 (en) 2006-10-20 2010-06-15 Emc Corporation Limit algorithm using queue depth to control application performance
US8683139B2 (en) 2006-10-31 2014-03-25 Hewlett-Packard Development Company, L.P. Cache and method for cache bypass functionality
US7797468B2 (en) * 2006-10-31 2010-09-14 Hewlett-Packard Development Company Method and system for achieving fair command processing in storage systems that implement command-associated priority queuing
US7849073B2 (en) * 2006-12-18 2010-12-07 Ianywhere Solutions, Inc. Load balancing for complex database query plans
US20080155229A1 (en) * 2006-12-21 2008-06-26 Kevin Scott Beyer System and method for generating a cache-aware bloom filter
US8706687B2 (en) * 2007-01-24 2014-04-22 Hewlett-Packard Development Company, L.P. Log driven storage controller with network persistent memory
US20080222111A1 (en) * 2007-03-07 2008-09-11 Oracle International Corporation Database system with dynamic database caching
US8892780B2 (en) * 2007-03-08 2014-11-18 Oracle International Corporation Management of shared storage I/O resources
US8099565B2 (en) * 2007-03-27 2012-01-17 The Board Of Regents Of The University Of Texas System Methods and devices for determining quality of services of storage systems
US7761425B1 (en) * 2007-03-29 2010-07-20 Symantec Corporation Low-overhead means of performing data backup
US7882304B2 (en) * 2007-04-27 2011-02-01 Netapp, Inc. System and method for efficient updates of sequential block storage
US7698272B2 (en) * 2007-08-30 2010-04-13 International Business Machines Corporation Apparatus, system, and method for deterministic file allocations for parallel operations
CN101425039A (zh) * 2007-11-02 2009-05-06 鹏智科技(深圳)有限公司 控制存储装置文件拷贝的电子设备及方法
CN100531102C (zh) * 2007-11-02 2009-08-19 华为技术有限公司 路由表调整方法、路由查询方法和装置及路由表存储装置
US7890504B2 (en) 2007-12-19 2011-02-15 Netapp, Inc. Using the LUN type for storage allocation
JP4973560B2 (ja) * 2008-03-26 2012-07-11 富士通株式会社 サーバおよび接続先サーバ切替制御方法
US20100017556A1 (en) * 2008-07-19 2010-01-21 Nanostar Corporationm U.S.A. Non-volatile memory storage system with two-stage controller architecture
US10430338B2 (en) 2008-09-19 2019-10-01 Oracle International Corporation Selectively reading data from cache and primary storage based on whether cache is overloaded
US8868831B2 (en) 2009-09-14 2014-10-21 Oracle International Corporation Caching data between a database server and a storage system
US8145806B2 (en) * 2008-09-19 2012-03-27 Oracle International Corporation Storage-side storage request management
AU2010276462B1 (en) * 2010-12-27 2012-01-12 Limelight Networks, Inc. Partial object caching
US8244984B1 (en) * 2008-12-08 2012-08-14 Nvidia Corporation System and method for cleaning dirty data in an intermediate cache using a data class dependent eviction policy
US20100191717A1 (en) 2009-01-28 2010-07-29 Goetz Graefe Optimization of query processing with top operations
JP4659888B2 (ja) * 2009-02-13 2011-03-30 株式会社日立製作所 データベース処理システム、計算機及びデータベース処理方法
US8103822B2 (en) 2009-04-26 2012-01-24 Sandisk Il Ltd. Method and apparatus for implementing a caching policy for non-volatile memory
US8281185B2 (en) * 2009-06-30 2012-10-02 Oracle America, Inc. Advice-based feedback for transactional execution
US8966033B2 (en) 2009-08-17 2015-02-24 At&T Intellectual Property I, L.P. Integrated proximity routing for content distribution
US9274950B2 (en) 2009-08-26 2016-03-01 Hewlett Packard Enterprise Development Lp Data restructuring in multi-level memory hierarchies
US8204892B2 (en) * 2009-10-26 2012-06-19 Oracle International Corporation Performance boost for sort operations
US8560598B2 (en) 2009-12-22 2013-10-15 At&T Intellectual Property I, L.P. Integrated adaptive anycast for content distribution
US8898324B2 (en) 2010-06-24 2014-11-25 International Business Machines Corporation Data access management in a hybrid memory server
US9507880B2 (en) 2010-06-30 2016-11-29 Oracle International Corporation Regular expression optimizer
US8458511B2 (en) 2010-09-17 2013-06-04 Oracle International Corporation Fault isolation using code paths
US8938644B2 (en) * 2010-12-03 2015-01-20 Teradata Us, Inc. Query execution plan revision for error recovery
US9112935B2 (en) 2012-03-05 2015-08-18 Microsoft Technology Licensing, Llc Manipulating binary large objects
US10489365B2 (en) 2013-03-14 2019-11-26 Oracle International Corporation Predicate offload of large objects

Also Published As

Publication number Publication date
US20100082648A1 (en) 2010-04-01
US8521923B2 (en) 2013-08-27
JP2014142940A (ja) 2014-08-07
US8825678B2 (en) 2014-09-02
US9336275B2 (en) 2016-05-10
US20140337314A1 (en) 2014-11-13
CN102203773A (zh) 2011-09-28
EP2546765A2 (en) 2013-01-16
JP2012503256A (ja) 2012-02-02
EP2350875A1 (en) 2011-08-03
EP2546765B1 (en) 2018-05-09
US20100077107A1 (en) 2010-03-25
CN102197395B (zh) 2015-05-20
JP5484470B2 (ja) 2014-05-07
JP2012503257A (ja) 2012-02-02
EP2546765A3 (en) 2015-11-11
JP6100712B2 (ja) 2017-03-22
WO2010033877A1 (en) 2010-03-25
US20120173774A1 (en) 2012-07-05
WO2010033834A1 (en) 2010-03-25
US8874807B2 (en) 2014-10-28
CN102197395A (zh) 2011-09-21
CN102203773B (zh) 2014-03-19
US20130339636A1 (en) 2013-12-19
CN104731981A (zh) 2015-06-24
US8145806B2 (en) 2012-03-27
EP2350879A1 (en) 2011-08-03
CN104731981B (zh) 2018-03-20

Similar Documents

Publication Publication Date Title
JP5484471B2 (ja) 記憶側記憶要求管理
US9772798B2 (en) Method and system for implementing workload management by monitoring disk utilizations
US20230039191A1 (en) Throttling queue for a request scheduling and processing system
US10511538B1 (en) Efficient resource tracking
US6711607B1 (en) Dynamic scheduling of task streams in a multiple-resource system to ensure task stream quality of service
WO2021179462A1 (zh) 基于改进量子蚁群算法的Spark平台任务调度方法
WO2018120993A1 (zh) 一种分布式系统任务分配的方法和装置
US9658881B1 (en) Application hosting in a distributed application execution system
US7593948B2 (en) Control of service workload management
WO2019179250A1 (zh) 调度方法、调度器、存储介质及系统
JP4569846B2 (ja) I/oノード制御方式及び方法
US9582337B2 (en) Controlling resource consumption
US20080243867A1 (en) Reliable and scalable multi-tenant asynchronous processing
JP2006521640A (ja) データストレージシステムのサービス品質コントローラ及びサービス品質方法
US11687373B2 (en) Flexible computing
US9817698B2 (en) Scheduling execution requests to allow partial results
US10218589B1 (en) Efficient resource status reporting apparatuses
CN108900626A (zh) 一种云环境下数据存储方法、装置及系统
US20130275974A1 (en) Method and apparatus for allocating virtual computer
CN103294548A (zh) 一种基于分布式文件系统的io请求调度方法和系统
WO2024016596A1 (zh) 容器集群调度的方法、装置、设备及存储介质
CN114168306B (zh) 调度方法及调度装置
JP2021170289A (ja) 情報処理システム、情報処理装置およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120913

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130219

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130517

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130524

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130618

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130820

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131119

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140218

R150 Certificate of patent or registration of utility model

Ref document number: 5484471

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250