JP2017529585A - マルチテナント・システムにおける処理変更 - Google Patents

マルチテナント・システムにおける処理変更 Download PDF

Info

Publication number
JP2017529585A
JP2017529585A JP2017502817A JP2017502817A JP2017529585A JP 2017529585 A JP2017529585 A JP 2017529585A JP 2017502817 A JP2017502817 A JP 2017502817A JP 2017502817 A JP2017502817 A JP 2017502817A JP 2017529585 A JP2017529585 A JP 2017529585A
Authority
JP
Japan
Prior art keywords
tenant
change
requesting
computing system
tenants
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017502817A
Other languages
English (en)
Inventor
ガウラヴ,スラジュ
ゴイス,マーカス・ヴィニシウス・シルヴァ
コバーン,マーク
パッタビラマン,スワミナサン
バンサル,ヴィプル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2017529585A publication Critical patent/JP2017529585A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/827Aggregation of resource allocation or reservation requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

テナント変更をマルチテナント・サービスにおいて受ける。テナント変更をセクションに分割する。全ての要求元テナントにわたって処理リソースを均等に分配するために、変更を要求した全てのテナントにわたって、マルチテナント・サービスにおいて、テナント変更のセクションを処理する。【選択図】図1

Description

[0001] コンピューター・システムは現在広く使用されている。あるコンピューター・システムはローカル・コンピューター・システムであり、一方他のコンピューター・システムはリモート・サーバー環境において使用される。
[0002] 会社または他の組織が、コンピューター・システムのローカル(オンプレミス)処理系(implementation)とコンピューター・システムのリモート・サーバー処理系(クラウド・ベース処理系のような)との間で切り替えるのは、珍しいことではない。一例として、会社は、それらの電子メール・システム、それらの文書共有システム、またはそれらの業務システムのローカル処理系とリモート・サーバー処理系との間でときどき切り替える。業務システムのいくつかの例には、とりわけ、企業リソース計画(ERP)システム、顧客関係管理(CRM)システム、取扱商品(LOB:line-of-business)システムが含まれる。これらは、会社がローカルのオンプレミス処理系とリモート・サーバーまたはクラウド・ベース処理系との間で切り替えるタイプのコンピューター・システムのいくつかの例に過ぎない。
[0003] 同様に、組織の中には、混成処理系を有するものもある。このような処理系では、サービスの一部がコンピューター・システムのローカルのオンプレミス・コンポーネントによって実行され、他のサービスがリモート・サーバーまたはクラウド・ベース環境において実行される。混成システムでは、組織が周期的に一定のサービスをオンプレミス処理系からクラウド・ベース処理系に移動しつつ、他のサービスはオンプレミスに維持することが珍しくない。
[0004] リモート・サーバーまたはクラウド・ベース処理系を有する会社には、比較的大きい会社がある。例えば、企業組織は、何千人もの従業員を有することもある。したがって、それらのコンピューター・システムのリモート・サーバーまたはクラウド・ベース処理系は、大多数の個人にサービス供与しなければならない。コンピューター・システムに対して行われるトランザクションまたは変更の多くは、大多数のユーザー・アカウントまたは大多数のユーザー・データーに対する変更を行うことを必然的に伴う。
[0005] 一例として、企業組織がある計算システム機能をオンプレミス処理系からクラウド・ベース処理系に移動することを望む場合、これは企業のコンピューター・システムに多くの異なる更新を行うことを必要とする可能性がある。一例として、企業がその電子メール・システムを移動させている場合、これは、多数の従業員アカウントの作成を必然的に伴う可能性がある。アカウントの作成は、多くの場合、シリアルで行われ、大量の時間を要する可能性がある。加えて、多数の変更が行われる場合、これらの変更は、リモート・サーバーまたはクラウド・ベース処理系の大量の処理およびメモリー・オーバーヘッド、ならびに帯域幅を消費する可能性がある。
[0006] 多くのクラウド・ベースまたはリモート・サーバー処理系は、マルチテナント・システムでもある。即ち、これらは複数の異なるテナントにあるレベルのサービスを提供するが、テナントが複数の異なる組織であることが多い。1つのテナントが多数の変更を行うと、他のテナントによって感知される処理能力に悪影響を及ぼす可能性がある。
[0007] 以上の論述は、一般的な背景情報のために示されたに過ぎず、特許請求する主題の範囲を判断するときの補助として使用されることを意図するのではない。
[0008] マルチテナント・サービスにおいて、テナント変更を受け取る。テナント変更をセクションに分割する。マルチテナント・サービスにおいて、全ての要求元テナントにわたって処理リソースを均等に分配するために、変更を要求した全てのテナントにわたって、テナント変更のセクションを処理する。
[0009] この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を判断するときに補助として使用されることを意図するのでもない。特許請求する主題は、背景において注記した欠点の内、任意のものを解決する実施態様にも全ての欠点を解決する実施態様にも限定されるのではない。
図1は、クラウド・ベースのマルチテナント・サービス・アーキテクチャの一例のブロック図である。 図2は、変更スケジューリング・コンポーネントの一例を更に詳細に示すブロック図である。 図3Aおよび図3B(纏めて、図3)は、図1に示すアーキテクチャの動作の一例を表す流れ図を示す。 図3Aおよび図3B(纏めて、図3)は、図1に示すアーキテクチャの動作の一例を表す流れ図を示す。 図4は、マルチテナント・クラウド・アーキテクチャの一例におけるマルチテナント機能(multi-tenancy)の異なるレベルを表すブロック図である。 図5は、移動体デバイスの例を示す。 図6は、移動体デバイスの例を示す。 図7は、移動体デバイスの例を示す。 図8は、計算環境の一例のブロック図である。
[0016] 図1は、クラウド・ベースのマルチテナント・サービス・アーキテクチャ100の一例のブロック図である。アーキテクチャ100は、複数の異なるテナント・システム104〜106によってアクセス可能なクラウド・ベース・マルチテナント・サービス・システム102を含む。図4に関して以下で更に詳細に説明するが、クラウド・ベース・マルチテナント・サービス・システム102は、テナント・システム104〜106を使用するテナントに対して、あるレベルのマルチテナント・サービスを提供する。実例として、テナントは、システム102によって提供されるマルチテナント・サービスが、所望のレベルにおいて、テナント毎に分けられる(separated)または分離される(isolated)ように、組織を分ける。また、図4に関して以下で更に詳細に説明するが、とりわけ、インフラストラクチャのレベル、アプリケーション・プラットフォームのレベル、またはアプリケーション・ソフトウェアのレベルで、マルチテナント・サービスを提供することができる。つまり、システム102によって提供される特定のレベルのマルチテナント機能(multi-tenancy)に応じて、特定のクライアント(またはテナント)に対応する情報がそのレベルにおいて分けられ、他のテナント(またはテナント)によってアクセスできないように分離される。
[0017] 一例として、システム102がサービスとしてのインフラストラクチャを提供する場合、システム102のインフラストラクチャ・コンポーネントはテナント104〜106によって共有されるが、これらの情報は他の方法で別個に保持される。システム102がサービスとしてのプラットフォームを提供する場合、プラットフォーム・コンポーネントはテナント104〜106によって共有される。システム102がサービスとしてのアプリケーション・ソフトウェアを提供する場合、テナント104〜106にサービスするために、共通のアプリケーションがシステム102によって実行される。これらの実施態様のいずれにおいても、システム102はあるレベルのマルチテナント機能を提供するので、異なるテナント104〜106に対応する情報は別個に保持される。これについては、図4に関して以下で更に詳細に説明する。
[0018] 図1に示すシステム102の例では、テナント・システム104〜106は、それらの対応するテナント・データー108〜110に対して動作するアプリケーションにアクセスする。テナント・システム104〜106は、これらの対応するテナント・データー108〜110を変更するために、変更要求112〜114を提示する(provide)ことができる。一例として、テナント104が多数のユーザーをオンプレミス・システムからクラウド・ベース・システム102に移動させているのでもよい。したがって、変更要求112は、テナント・システム104のために、オンプレミス・システム102における大多数の電子メール・アカウントを追加するためであってもよい。他の例では、テナント・システム106が、他の組織を取得したとしてもよく、したがって、大多数の電子メール・アカウントをシステム102におけるそのクラウド・ベース処理系に追加する必要がある場合もある。更に他の例では、テナント・システム104を使用する組織が編成し直されたとしてもよい。したがって、大多数の従業員記録を変更して、彼らがもはや人事部の一部ではなく、今では販売部の一部であることを示す必要がある可能性がある。これらの例のいずれにおいても、または多種多様の他の例においても、テナントに合わせてクラウド・ベース処理系に変更すると、数量が比較的大きくなる可能性がある。しかしながら、一例では、システム102は、他のテナントにサービスするときにシステム102の性能に影響を及ぼさないような方法で、これらの変更を処理する。
[0019] テナント更新または変更を行うときのシステム102の動作の更に詳細な説明を、図2および図3に関して以下で行う。これより、理解を深めるために、端的な全体像を示す。
[0020] システム102は、実例として、変更要求処理システム116、変更スケジューリング・コンポーネント118、テナント・ビヘイビアー監視システム120、および他のクラウド処理系コンポーネント122を含む。また、これは公正性ポリシー(fairness policy)119も含むことができる。変更スケジューリング・コンポーネント118(図2に更に詳細に示されている)は、テナント・システム104〜106から変更要求を受け、テナント・ビヘイビアー監視システム120にアクセスする。テナント・ビヘイビアー監視システム120は、変更要求をスケジューリングするために変更スケジューリング・コンポーネント118によって使用される情報を提供する。一例では、変更スケジューリング・コンポーネント118は、種々のテナント・システム104〜106から受けた変更要求をセクションに分割し、比較的多数の変更要求を提出している可能性がある1つのテナントがこれらのリソースを使いすぎて他のテナントに損害を与えないように、変更要求処理システム116のリソースを種々のテナントにわたって分配する。
[0021] これらの変更のスケジューリングを行うとき、コンポーネント118は、テナント・ビヘイビアー・システム120によって提供される情報にアクセスする。テナント・ビヘイビアー・システム120それ自体は、実例として、テナント・タイプ識別手段(identifier)124、インバウンド・トラフィック・モニター126、アウトバウンド・トラフィック・モニター128、および他の識別コンポーネント130を含む。テナント・タイプ識別手段124は、要求元テナント104の異なる特性を識別することができる。例えば、テナントがクラウド・ベース・サービスに支払っているテナントか、またはお試しアカウントを有するテナントか判定することができる。これは、テナントのサイズ(シート(seat)およびアクティブなユーザーの数等)を識別することができ、更にインバウンドおよびアウトバウンド・トラフィックを監視することによって、現在のトラフィック・レベルまたは変更要求処理システム116上の負荷も検討することもできる。これは、種々のテナント104〜106によって現在観察されているレイテンシーを計算することができ(変更要求と実際に行われている変更との間の時間を測定することによってというように)、過去のトラフィック・データー、および多種多様の他のデーターを分析することができる。いずれの場合でも、変更スケジューリング・コンポーネント118は、実例として、いずれの1組のテナントのビヘイビアーもシステムを使いすぎることなく、またそれ以外でも他のテナントによって感知される処理能力を著しく劣化させないように、変更要求処理システム116に提出された変更を制御する。
[0022] 図2は、変更スケジューリング・コンポーネント118の一例の更に詳細なブロック図である。コンポーネント118は、実例として、変更スライシング・コンポーネント(change slicing component)132、次位変更識別コンポーネント(next change identifier component)134、スケジューラー通信コンポーネント136、および保留変更ストア138を含む。これは他の単位体140も含む同様に含むことができる。コンポーネント118は、実例として、変更要求112〜114を種々のテナント・システム104〜106から受ける。また、要求元テナント・ビヘイビアー特性142をテナント・ビヘイビアー監視システム120から受け取る。次いで、変更スライシング・コンポーネント132は、要求された変更をテナント毎に分割し、これらをテナント変更144〜146として保留変更ストア138に保存する。現在要求されている変更の数(およびその他の情報)に基づいて、変更スライシング・コンポーネント132は、変更144〜146を、テナントの各々毎に、複数の異なるセクション148〜150にスライスすることができる。各セクションは、同じ数の変更を有するのでもよく、この数は予め定められても、または動的に決定されてもよい。次位変更識別コンポーネント134は、種々のテナント・システム104〜106に容認可能な処理能力が予見できる(see)ことを確保するために、セクション148〜150の内どれが処理すべき次のセクションであるか識別する。これをスケジューラー通信コンポーネント136に示し、一方スケジューラー通信コンポーネント136は次の変更152を変更要求処理システム116に送る。テナント毎の変更要求を、共通のサイズに分けたセクションに分割することによって、次いでこれらの変更のセクションを変更要求処理システム116によって行うようにスケジューリングすることによって、変更スケジューリング・コンポーネント118は、テナント・システム104〜106の各々がそれらの要求された変更を行わせるときに観察される処理性能レベル(例えば、レイテンシー)を制御することができる。コンポーネント118は、予め定められた公正性ポリシー119にしたがってまたはそれ以外でこれを行うことができる。このように、コンポーネント118は、1つのテナントまたはテナントの1つのグループが変更要求処理システム116を使いすぎて、他のテナントに多大な損害を与えないことを確保することができる。代わりに、アドミニストレーターまたは他の要員によって設定する公正性ポリシー119、あるいは他の方法で決定することができる公正性ポリシー119にしたがって、変更をスケジューリングすることができる。
[0023] 図3Aおよび図3B(纏めて図3)は、変更スケジューリング・コンポーネント118、およびクラウド・ベース・マルチテナント・サービス・システム102の他のコンポーネントの、テナント変更を行うときの動作の一例を表す流れ図を示す。システム102は、最初に、テナントに対する変更要求を受ける。これは、図3ではブロック156によって示されている。変更要求は、実例として、変更を行っているテナント・システム104〜106を識別するテナント識別子を、対応するテナント・データーに対する1組の要求された変更と共に含む。
[0024] 一旦変更要求が受けたなら、変更スケジューリング・コンポーネント118における変更スライシング・コンポーネント132は、要求元テナント・ビヘイビアー特性および他のデーター142を得るために、テナント・ビヘイビアー監視システム120にアクセスする。これはブロック158によって示されている。先に端的に論じたように、これらの特性はテナント・タイプ160を含むことができる。テナント・タイプは、テナントが有料テナントか、またはお試しアカウントを有するテナントか示すことができる。また、要求元テナントによって購入されたサービスのレベル、または要求元テナントにライセンスされたサービスのレベルを示すことができる。加えて、テナント・タイプ識別手段124は、要求元テナントにライセンスされたシート162の数、および要求元テナントのアクティブなユーザー164の数の指示を与えることができる。これは、特定のタイプのテナントを識別する種々の他の識別子も含むことができる。
[0025] インバウンド・トラフィック・モニター126およびアウトバウンド・トラフィック・モニター128は、現在変更を要求しているテナントの数を示す情報を提供することができる。これはブロック166によって示されている。これは、インバウンドおよびアウトバウンド・トラフィック168の単位(受けた変更要求の数、各変更要求における変更の数等のような)、要求されている変更のタイプ、ならびにインバウンドおよびアウトバウンド・トラフィック・モニター126および128によってそれぞれ行われた分析の他の結果を識別することができる。
[0026] 他のビヘイビアー監視コンポーネント130も他の項目を提供することができる。例えば、これらは、テナント104〜106によって行われた変更要求と、変更要求処理システム116によってこれらの要求が実際に行われる書き込み動作との間のレイテンシーを監視または測定することができる。このレイテンシーは、図3ではブロック170によって示されている。他のコンポーネント130は、時の経過と共にレイテンシーがどのように変化したかを示す履歴データー172を提供することができる。これは、移動平均、または他の履歴データー172とすることができる。加えて、テナント・ビヘイビアー監視システム120は、行われる変更をスケジューリングするために変更スケジューリング・コンポーネント118によって使用することができる他の特性174も提供することができる。
[0027] 変更スケジューリング・コンポーネント118が受けた変更要求、ならびにビヘイビアー特性およびその他のデーター142に基づいて、変更スライシング・コンポーネント132は、現在受けている変更要求をセクションにスライスする必要があるか否か判定する。これは、図3ではブロック176によって示されている。これは、公正性ポリシー119を参照して行うことができる。公正性ポリシー119は、多種多様の異なる形態をなすことができる。例えば、データー142によって示される一定の条件の下で、変更要求をどのようにスライスしスケジューリングするか特定する1組の規則として具体化することができる。これは、固定にすることができ、または利用可能なリソースのレベル、供与されるテナントの数等と共に変化する動的ポリシーとすることもできる。
[0028] 例えば、現在受けている変更要求が、テナントの電子メール・システムへの大量の追加を求める場合、変更スライシング・コンポーネント132は、これらの変更の全てが要求された場合、これは変更要求処理システム116のリソースを使いすぎて、他の要求元テナントがレイテンシーに関して性能劣化を被ると判断することができる。したがって、変更スライシング・コンポーネント132は、この要求元テナントに対する要求が、一度に1セクションだけ変更要求処理システム116に供給され、他の要求元テナントからの変更要求セクションと交互に並ぶ(interleave)ように、丁度受け取ったばかりの変更要求を、それよりも小さいセクション148にスライスすることができる。このように、要求された変更を行うときの変更要求処理システム116の処理能力に関して、全ての要求元テナントが公正な扱いを受けるように、他の要求元テナントからの変更のセクションを、交互に処理システム116に供給することができる。ある例では、異なるテナントに対するセクションが処理システム116に同じ率で(テナント毎に1セクションというように)供給されなくてもよい。代わりに、一定のタイプのテナントを優先してセクションを供給してもよい。例えば、お試しサービスを有する要求元テナントからのセクションは1つずつ供給されるのに対して、有償サービスを有する要求元テナントでは、2セクションずつ処理システム116に供給するのでもよい。これらのタイプの優先処理は、公正性ポリシー196または他のところで表明することができる。同様に、変更スライシング・コンポーネント132は、所望の公正性を達成するために、要求元テナント毎にセクションのサイズを変えることもできる。
[0029] 変更スライシング・コンポーネント132が(現在受けている要求における変更の数に基づいて、または他の特性およびデーター142に基づいて)、要求をセクションにスライスする必要がないと判断した場合、変更要求は1つのセクションとして扱われる。これはブロック178によって示されている。
[0030] しかしながら、変更要求をスライスする必要がある場合、変更スライシング・コンポーネント132は、この変更要求をセクションにスライスし、これらをテナント毎に保留変更ストア138に格納する。変更要求をセクションにスライスすることは、図3ではブロック180によって示されている。
[0031] 次位変更識別コンポーネント134は、次に、処理されることになっているセクションの順序を決定する。即ち、変更要求処理システム116による処理のために、データー・ストア138における種々のセクションをスケジューリングする。これは、全ての要求元テナントにわたって変更要求処理システム116の処理リソースを公正に分配するような方法で、そのように行う。一例では、テナント毎に1つのセクションを順次スケジューリングし、全ての要求元テナントのために変更のセクションの全てが行われるまで、このスケジューリング・プロセスを繰り返す。他の例では、前述のように、有料テナントのためには複数のセクションのスケジューリングを行い、お試しアカウントを有するテナントには、それよりも少ないセクションのスケジューリングを行うことができる。勿論、他の方法でもテナント間で区別することができる。実例として、アドミニストレーターによってまたは他の方法で決定することができる公正性ポリシー119にしたがって、変更をスケジューリングする。セクションをスケジューリングすることは、図3ではブロック182によって示されている。
[0032] 一旦変更のセクションのスケジューリングが行われたなら、次位変更識別コンポーネント134は、行うべき次の変更のセクションを選択し、それをスケジューラー通信コンポーネント136に確認する(identify)。スケジューラー通信コンポーネント136は、このセクションを変更要求処理システム116に送るか、システム116がこれらの変更要求を保留変更ストア138から引き出すことができるように、それを変更要求処理システム116に確認する。いずれの場合でも、システム116は、変更が行われることになっている次のセクションに対応する変更を行う。次のセクションを選択し、選択されたセクションにおける変更を行うことは、図3ではブロック184および186によって示されている。
[0033] 次いで、次位変更識別コンポーネント134は、処理すべきセクションが未だあるか否か判定する。これはブロック188によって示されている。ある場合、変更スライス・コンポーネント132は、他のテナントが、その間に、他の変更(more changes)を要求したか否か判定する。これはブロック190によって示されている。要求しなかった場合、処理は単にブロック184に戻り、次にスケジューリングされたセクションが識別され、変更要求処理システム116に供給される。
[0034] しかしながら、ブロック190において、1つ以上の追加のテナントが変更を要求したと判定した場合、変更スライス・コンポーネント132は、再度、要求元テナントに対応する特性142を受け取り、新たに要求しているテナントの要求も同様にスライスする必要があるか否か判定する。これはブロック192によって示されている。スライスする必要がない場合、処理はブロック182に戻り、新たな変更要求をスケジューリングする。しかしながら、新たな変更要求における変更をスライスする必要がある場合、変更スライス・コンポーネント132は、これらの変更要求をセクションにスライスし、これらを保留変更ストア138に入れる。これは図3ではブロック194によって示されている。この場合も、新たにスライスされた変更要求は、ブロック182において既に存在する変更要求の中に(in with)スケジューリングされ、ブロック188において、これ以上変更要求を処理する必要がないと判定されるまで、処理を継続する。
[0035] このように、変更スケジューリング・コンポーネント118および監視システム120は、大きなテナントが、それよりも小さいテナントから、リソースを奪ってプロビジョニングし尽くさないことを確保することがわかる。全てのテナントによって感知される処理能力が公正に分配されるように、オンボーディング・アクティビティ(onboarding activities)およびその他の変更要求アクティビティをスケジューリングする。変更スケジューリング・コンポーネント118は、システム102を使用しているテナントのタイプに基づいて差別化されるビヘイビアー(behaviors)のような、異なる業務シナリオに応えるために、拡張可能である。また、このシステムはテナントの正しいビヘイビアー(good behavior)に頼らない。即ち、他のテナントに対する処理能力の劣化を生じないように、それら自体の変更要求を管理することを、テナントに頼らない。代わりに、小さなテナントが、それよりも大きな他のテナントよりも影響を受ける(例えば、これらの方が大きなレイテンシーを受ける)ことがないように、システムのリソースをスケジューリングすることができる。テナントのビヘイビアーをリアル・タイムまたはほぼリアル・タイムで監視し、所与のテナントに対して一度に処理する変更の量を決定する。これによって、システムは全てのテナントに公正な量の帯域幅、ならびにオンボーディングおよびその他の変更処理アクティビティのための他の計算リソースを供給することが可能になる。
[0036] 本論述では、プロセッサーおよびサーバーについて述べた。一実施形態では、プロセッサーおよびサーバーは、別々には示されていないメモリーおよびタイミング回路が付随するコンピューター・プロセッサーを含む。これらは、これらが属しそして有効化されるシステムまたはデバイスの機能部分であり、これらのシステムにおける他のコンポーネントまたは単位体(item)の機能を行い易くする。
[0037] また、多数のユーザー・インターフェース・ディスプレイについても論じた。これらは、多種多様の異なる形態を取ることができ、多種多様の異なるユーザー作動可能な入力メカニズムをそこに配置することができる。例えば、ユーザー作動可能な入力メカニズムは、テキスト・ボックス、チェック・ボックス、アイコン、リンク、ドロップダウン・メニュー、検索ボックス等とすることができる。また、これらを多種多様の異なる方法で作動させることもできる。例えば、ポイントおよびクリック・デバイス(トラック・ボールまたはマウス等)を使用してこれらを作動させることができる。ハードウェア・ボタン、スイッチ、ジョイスティックまたはキーボード、サム・スイッチまたはサム・パッド等を使用してこれらを作動させることができる。また、仮想キーボードまたは他の仮想アクチュエータを使用してこれらを作動させることもできる。加えて、これらが表示される画面がタッチ感応画面である場合、タッチ・ジェスチャを使用してこれらを作動させることができる。また、これらを表示するデバイスが音声認識コンポーネントを有する場合、音声コマンドを使用してこれらを作動させることができる。
[0038] また、多数のデーター・ストアについても論じた。これらは各々複数のデーター・ストアに分けられることに留意されたい。全ては、これらにアクセスするシステムに対してローカルであることができ、全てがリモートであることができ、または一部がローカルであり、他がリモートであることもできる。これらの構成の全ては、本明細書において考えられる範囲内である。
[0039] また、図は、各ブロックに帰せられる機能を有する多数のブロックを示す。尚、それよりも少ないコンポーネントによってその機能が実行されるように、それよりも少ないブロックを使用できることに留意されたい。また、もっと多くのブロックを使用して、もっと多くのコンポーネントに機能を分散することもできる。
[0040] 図4は、システム102を実現することができるマルチテナント・クラウド・アーキテクチャ196(クラウド196)の更に詳細な実施形態を示すブロック図である。図4は、他のクラウド処理系コンポーネント122(図1に示す)の一例を更に詳細に示す。
[0041] クラウド・コンピューティング(cloud computing)は、サービスを配信するシステムの物理位置や構成をエンド・ユーザーが知る必要なく、計算、ソフトウェア、データー・アクセス、およびストレージ・サービスを提供する。種々の実施形態では、クラウド・コンピューティングは、適したプロトコルを使用して、インターネットのようなワイド・エリア・ネットワークを通じてサービスを配信する。例えば、クラウド・コンピューティング・プロバイダーは、ワイド・エリア・ネットワークを通じてアプリケーションを配信し、これらにはウェブ・ブラウザーまたは任意の他の計算コンポーネントによってアクセスすることができる。アーキテクチャ100のソフトウェアまたはコンポーネント、および対応するデーターは、遠隔地にあるサーバー上に格納することができる。クラウド・コンピューティング環境における計算リソースは、リモート・データー・センターの場所に統合することができ、またはこれらを散在させることができる。クラウド・コンピューティング・インフラストラクチャは、共有データー・センターを介してサービスを配信することができるが、これらはユーザーには1つのアクセス・ポイントのように見える。つまり、本明細書において説明するコンポーネントおよび機能は、クラウド・コンピューティング・アーキテクチャを使用して、遠隔地にあるサービス・プロバイダから提供することができる。代わりに、これらを従来のサーバーから提供することもでき、あるいはクライアント・デバイス上に直接インストールすることも、または他の方法でインストールすることもできる。
[0042] この説明は、パブリック・クラウド・コンピューティングおよびプライベート・クラウド・コンピューティングの双方を含むことを意図している。クラウド・コンピューティング(パブリックおよびプライベート双方)は、実質的に継ぎ目のないリソースのプーリング(pooling)を提供し、更に基礎となるハードウェア・インフラストラクチャを管理および構成する必要性の低減にも備える。
[0043] パブリック・クラウドは、ベンダーによって管理され、通例、同じインフラストラクチャを使用して複数の消費者をサポートする。また、パブリック・クラウドは、プライベート・クラウドとは逆に、ハードウェアの管理からエンド・ユーザーを解放することができる。プライベート・クラウドは、組織自体によって管理することができ、インフラストラクチャは他の組織とは共有されないのが通例である。更に、組織は、設置および修理等のように、ある程度ハードウェアの保守も行う。
[0044] 図4は、システム102におけるコンポーネント122が、実例として、仮想化システム198、インフラストラクチャ・コンポーネント200、アプリケーション・プラットフォーム・コンポーネント200、およびアプリケーション・ソフトウェア・コンポーネント204を含むことを示す。インフラストラクチャ・コンポーネント200は、セキュリティ・コンポーネント206、ハードウェア/ソフトウェア・インフラストラクチャ208、サーバー210、負荷分散コンポーネント212、ネットワーク・コンポーネント214を含むことができ、他のコンポーネント216も含むことができる。
[0045] アプリケーション・プラットフォーム・コンポーネント202は、実行ランタイム・コンポーネント218、オペレーティング・システム・コンポーネント220、データーベース・コンポーネント222、ウェブ・サーバー・コンポーネント224を含むことができ、更に他のコンポーネント226も含むことができる。アプリケーション・ソフトウェア・コンポーネント204は、実例として、ユーザー・インターフェース・コンポーネント228、アプリケーション・ワークフロー230、アプリケーション・ロジック232、データーベース・システム234を含み、他の単位体236を含むことができる。
[0046] クラウド196によって実現されるマルチテナント機能のレベルに応じて、仮想化システム198は物理計算デバイス・コンポーネント122を1つ以上の仮想デバイスに電子的に分ける。これらのデバイスの各々は、計算タスクを実行するために使用し管理することができる。
[0047] マルチテナント・クラウド・コンピューティング・アーキテクチャ196は、多数の異なるモデルにしたがって、多数の異なるレベルでサービスを提供することができる。例えば、これらは、とりわけ、サービスとしてのインフラストラクチャ(IaaS)、サービスとしてのプラットフォーム(PaaS)、およびサービスとしてのソフトウェア(SaaS)を含むことができる。IaaSは最も基本的であり、それよりも高いレベルのモデル(それぞれPaaSおよびSaaS)の各々が、それよりも低いモデルの詳細を抜き取る(abstract from)。
[0048] IaaSでは、物理または仮想機械が、他のリソースと共に提供される。監視コンポーネント(supervisory component)(ハイパーバイザーと呼ばれることもある)が仮想機械を実行する。比較的多数の仮想機械を実行し、種々のテナントの必要性に応じて規模を拡大および縮小するために、複数の異なるハイパーバイザーを使用することができる。また、IaaSモデルは、要求に応じて追加のリソース(他のインフラストラクチャ・コンポーネント200等)も提供することができる。テナントがそのアプリケーションを展開するために、これらはオペレーティング・システム・イメージおよびそのアプリケーション・ソフトウェアをクラウド・インフラストラクチャ・コンポーネント200上にインストールする。そして、テナントは、オペレーティング・システムおよびアプリケーション・ソフトウェアを維持することを責務とする。
[0049] PaaSは、アプリケーション・プラットフォーム・コンポーネント202をサービスとして提供するクラウド・アーキテクチャ196を含む(involve)。アプリケーション開発者は、基礎のハードウェアおよびソフトウェア・レイヤを管理する必要なく、クラウド・プラットフォーム・コンポーネント202上で彼らのソフトウェアを開発し実行することができる。
[0050] SaaSは、アプリケーション・コンポーネント204におけるアプリケーション・ソフトウェアおよびデーターベースへのアクセスを与えるアーキテクチャ196を含む。クラウド・アーキテクチャ196は、インフラストラクチャ・コンポーネント200、およびアプリケーションを実行するプラットフォーム・コンポーネント202を管理する。また、クラウド196はアプリケーション・ソフトウェアをアプリケーション・コンポーネント204にインストールして動作させ、テナントはこのソフトウェアにアクセスするが、クラウド・インフラストラクチャ・コンポーネント200も、アプリケーションが実行するプラットフォーム・コンポーネント202も管理しない。このような実施態様では、仮想化システム198が、変化する作業負荷に応ずるために、ランタイムにおいて複数の仮想機械を提供する。負荷分散装置(load balancer)はこれらの仮想機械にわたって作業を分散する。このプロセスは、多くの場合、アプリケーションへの1つのアクセス・ポイントだけを見るテナントに対して透過的である。
[0051] マルチテナント環境では、いずれの機械も、テナント・システム104〜106を展開する1つよりも多いユーザー組織にサービス供与する(serve)ことができる。しかしながら、マルチテナント機能は、クラウド・アーキテクチャの3つのレイヤ(IaaS、PaaS、およびSaaS)の全てに適用することができる。正確なマルチテナント機能の度合いは、コア・アプリケーション(またはアプリケーション・コンポーネント204)の内どの位がテナント104〜106にわたって共有されるように設計されているかに基づくことができる。マルチテナント機能の度合いが比較的高いと、データーベース方式(database schema)を共有することが可能であり、業務ロジック(business logic)、ワークフロー、およびユーザー・インターフェース・レイヤーのカスタム化をサポートする。比較的低い度合いのマルチテナント機能では、IaaSおよびPaaSコンポーネント200および202が、それぞれ、各テナントに専用である専用仮想化コンポーネントを有するアプリケーション・コンポーネント132によって共有される。
[0052] 以上の論述は、サービスとしてのソフトウェアを提供するクラウド・ベース・マルチテナント・サービス・システム102に関して進めてきた。したがって、仮想化システム198は、各テナント104〜106に、それら自体の安全で別々の仮想計算環境をアプリケーション・ソフトウェア・レベル上で提供するために、別々の仮想機械を設ける。つまり、各テナント104〜106は、それら自体のアプリケーション(それら自体の電子メール・アプリケーション、文書管理アプリケーション、業務システム等のようなアプリケーション)に対する変更を行うことができる。図1〜図3に関して以上で説明したように行われるとき、これらは、他のテナントによって観察される(observe)処理能力に影響を及ぼすことなく、そのようにすることができる。
[0053] また、システム102のあるエレメントをクラウド内に配置することができるが、他のエレメントは配置されないことも考えられる。一例として、データーベースおよびデーター・ストアをクラウド196の外側に配置し、クラウド196を介してアクセスすることができる。他の例では、他のコンポーネントがクラウド196の外側にあることも可能である。これらがどこに位置するかには関係なく、テナント・システム104〜106におけるデバイスによって、ネットワーク300(ワイド・エリア・ネットワークまたはローカル・エリア・ネットワーク)を通じてこれらに直接アクセスすることができ、遠隔地(remote site)におけるサービスによってこれらをホストすることができ、あるいはクラウドを介してサービスとして提供し、クラウド内に存在する接続サービスによってアクセスすることができる。これらのアーキテクチャは全て、本明細書において考えられる範囲内である。
[0054] また、アーキテクチャ100またはその部分を多種多様の異なるデバイス上に配置できることにも留意されたい。これらのデバイスの一部には、サーバー、デスクトップ・コンピューター、ラップトップ・コンピューター、タブレット・コンピューター、またはパーム・トップ・コンピューター、セル・フォン、スマート・フォン、マルチメディア・プレーヤー、パーソナル・ディジタル・アシスタント等のような他の移動体デバイスが含まれる。
[0055] 図5は、システム100のコンポーネントまたはテナント104〜106を実行することができる、あるいはアーキテクチャ100とインターフェースする、あるいは双方が可能なクライアント・デバイス16のコンポーネントの全体的なブロック図である。デバイス16において、ハンドヘルド・デバイスが他の計算デバイスと通信することを可能にし、ある実施形態ではスキャニングによってというように、情報を自動的に受信するためのチャネルを提供する通信リンク13が設けられている。通信リンク13の例には、赤外線ポート、シリアル/USBポート、イーサネット・ポートのようなケーブル・ネットワーク・ポート、および1つ以上の通信プロトコルによる通信を可能にするワイヤレス・ネットワーク・ポートが含まれる。通信プロトコルには、汎用パケット無線サービス(GPRS)、LTE、HSPA、HSPA+ならびに3Gおよび4G無線プロトコル、IXrtt、更にはショート・メッセージ・サービスが含まれる。これらは、ネットワークへのセルラ・アクセスを与えるために使用されるワイヤレス・サービス、ならびにネットワークへのローカル・ワイヤレス接続を提供するWi−Fiプロトコル、およびBluetoothプロトコルである。
[0056] 他の実施形態の下では、SDカード・インターフェース15に接続されたリムーバブル・セキュア・ディジタル(SD)カードにおいてアプリケーションまたはシステムが受け取られる。SDカード・インターフェース15および通信リンク13は、バス19に沿ってプロセッサー17(他の図において先に説明したプロセッサーまたはサーバーも具体化することができる)と通信し、バス19は、メモリー21および入力/出力(I/O)コンポーネント23、ならびにクロック25およびロケーション・システム27にも接続されている。
[0057] I/Oコンポーネント23は、一実施形態では、入力および出力動作を容易にするために設けられる。デバイス16の種々の実施形態のためのI/Oコンポーネント23は、ボタン、タッチ・センサー、多重タッチ・センサー、光またはビデオ・センサ、音声センサー、タッチ・スクリーン、近接センサー、マイクロフォン、傾きセンサー、および重力スイッチのような入力コンポーネント、ならびにディスプレイ・デバイス、スピーカー、および/またはプリンター・ポートのような出力コンポーネントを含むことができる。他のI/Oコンポーネント23も同様に使用することができる。
[0058] クロック25は、実例として、時刻および日にちを出力するリアル・タイム・クロック・コンポーネントを含む。また、実例として、プロセッサー17にタイミング機能を与えることができる。
[0059] ロケーション・システム27は、実例として、デバイス16の現在の地理的位置を出力するコンポーネントを含む。これは、例えば、全地球測位システム(GSP)受信機、LORANシステム、推測航法システム、セルラ三角測量システム、または他の測位システムを含むことができる。また、これは、例えば、所望の地図、ナビゲーション経路、および他の地理的機能を生成する地図作成ソフトウェアまたはナビゲーション・ソフトウェアも含むことができる。
[0060] メモリー21は、オペレーティング・システム29、ネットワーク設定31、アプリケーション33、アプリケーション・コンフィギュレーション設定35、データー・ストア37、通信ドライバー39、および通信コンフィギュレーション設定41を格納する。メモリー21は、全てのタイプの有形揮発性および不揮発性コンピューター読み取り可能メモリー・デバイスを含むことができる。また、これはコンピューター記憶媒体(以下で説明する)も含むことができる。メモリー21は、コンピューター読み取り可能命令を格納し、プロセッサー17によってこのコンピューター読み取り可能命令が実行されると、このプロセッサーに、命令にしたがってコンピューター実装ステップまたは機能を実行させる。同様に、デバイス16は、クライアント業務システム24を有することができ、クライアント業務システム24は種々の業務用アプリケーションを実行すること、あるいはテナント・システム104〜106の一部または全部を具体化することができる。プロセッサー17は、他のコンポーネントによって、それらの機能も同様にやり易くするために、有効化することができる。
[0061] ネットワーク設定31の例には、プロキシー情報、インターネット接続情報、およびマッピングのようなものが含まれる。アプリケーション・コンフィギュレーション設定35は、特定の企業またはユーザーに合わせてアプリケーションを改造する(tailor)設定を含む。通信コンフィギュレーション設定41は、他のコンピューターと通信するためのパラメーターを提供し、GPRSパラメーター、SMSパラメーター、接続ユーザー名およびパスワードのような項目を含む。
[0062] アプリケーション33は、デバイス16上に既に格納されているアプリケーション、または使用中にインストールされたアプリケーションであることが可能であるが、これらはオペレーティング・システム29の一部であること、またはデバイス16の外部でホストされることも同様に可能である。
[0063] 図6は、デバイス16がタブレット・コンピューター600である一例を示す。図6において、コンピューター600は、ユーザー・インターフェース表示画面602と共に示されている。画面602は、タッチ・スクリーン(したがって、ユーザーの指からのタッチ・ジェスチャを使用してアプリケーションと対話処理することができる)、あるいはペンまたはスタイラスからの入力を受け取るペン対応インターフェースとすることができる。また、これは画面上の仮想キーボードを使用することもできる。勿論、例えば、ワイヤレス・リンクまたはUSBポートのような適した取り付けメカニズムを介して、これをキーボードまたは他のユーザー入力デバイスに取り付けてもよい。また、実例として、コンピューター600は音声入力を受け取ることもできる。
[0064] デバイス16の更に他の例も同様に使用することができる。これらは、フィーチャー・フォン、スマート・フォン、または移動体電話機を含むことができる。この電話機は、電話番号を入力する(dialing)ための1組のキーパッド、アプリケーション画像、アイコン、ウェブ・ページ、写真、およびビデオを含む画像を表示することができるディスプレイ、ならびにディスプレイ上に示される項目を選択するための制御ボタンを含むことができる。この電話機は、汎用パケット無線サービス(GPRS)およびIXrtt、ならびにショート・メッセージ・サービス(SMS)信号のような、セルラ・フォン信号を受信するためのアンテナを含むことができる。ある実施形態では、電話機はSDカードを受け入れるセキュア・デジタル(SD)カード・スロットを含むこともできる。
[0065] また、移動体デバイスは、パーソナル・ディジタル・アシスタント(PDA)、またはマルチメディア・プレーヤー、またはタブレット計算デバイス等(以後PDAと呼ぶ)であることも可能である。PDAは、誘導性画面を含むことができる。誘導性画面は、スタイラスがこの画面の上方に位置付けられると、スタイラス(またはユーザーの指のような他のポインター)の位置を検知する。これによって、ユーザーは画面上で項目を選択する、強調する、移動させることができ、更に描画および記入することができる。また、PDAは多数のユーザー入力キーまたはボタンも含むことができ、これらは、ディスプレイに接触することなく、ディスプレイ上に表示されるメニュー選択肢または他の表示選択肢全域をユーザーがスクロールすること、更にユーザーがアプリケーションを変更することまたはユーザー入力機能を選択することを可能にする。PDAは、他のコンピューターとのワイヤレス通信を可能にする内部アンテナおよび赤外線送信機/受信機、ならびに他の計算デバイスへのハードウェア接続を可能にする接続ポートを含むことができる。このようなハードウェア接続は、通例、シリアルまたはUSBポートを介して他のコンピューターに接続するクレードルを介して行われる。したがって、これらの接続はネットワーク外(non-network)接続である。
[0066] 図7は、スマート・フォン71を示す。スマート・フォン71は、アイコンまたはタイルあるいは他のユーザー入力メカニズム75を表示するタッチ感応ディスプレイ73を有する。メカニズム75は、アプリケーションを実行する、通話する、データー転送動作を実行する等のためにユーザーによって使用することができる。一般に、スマート・フォン71は、移動体オペレーティング・システム上に構築され、フィーチャー・フォンよりも進んだ計算能力および接続機能(connectivity)を提供する。
[0067] 尚、デバイス16の他の形態も可能であることを注記しておく。
[0068] 図8は、アーキテクチャ100、またはその一部(例えば)を展開することができる計算環境の一例である。図8を参照すると、いくつかの実施形態を実現するためのシステム例は、コンピューター810の形態とした汎用計算デバイスを含む。コンピューター810のコンポーネントは、処理ユニット820(以上で論じたプロセッサーまたはサーバーを構成することができる)、システム・メモリー830、およびシステム・バス821を含むことができるが、これらに限定されるのではない。システム・バス821は、システム・メモリーから処理ユニット820までを含む種々のシステム・コンポーネントを結合する。システム・バス821は、メモリー・バスまたはメモリー・コントローラ、周辺バス、および種々のバス・アーキテクチャの内任意のものを使用するローカル・バスを含む、様々なタイプのバス構造の内任意のものとすることができる。一例として、そして限定ではなく、このようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ電子規格連合(VESA)ローカル・バス、およびMezzanineバスとしても知られる周辺コンポーネント相互接続(PCI)バスを含む。図1に関して説明したメモリーおよびプログラムは、図8の対応する部分に展開することができる。
[0069] コンピューター810は、通例、種々のコンピューター読み取り可能媒体を含む。コンピューター読み取り可能媒体は、コンピューター810によってアクセスすることができる任意の入手可能な媒体とすることができ、揮発性および不揮発性双方の媒体、ならびにリムーバブルおよび非リムーバブル媒体を含む。一例として、そして限定ではなく、コンピューター読み取り可能媒体は、コンピューター記憶媒体および通信媒体を含むことができる。コンピューター記憶媒体は、変調データー信号または搬送波とは異なり、これを含まない。これは、揮発性および不揮発性双方の、リムーバブルおよび非リムーバブル媒体を含むハードウェア記憶媒体を含み、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、または他のデーターというような情報の格納のための任意の方法または技術で実現される。コンピューター記憶媒体は、RAM、ROM、EEPROM、フラッシュ・メモリーまたは他のメモリー技術、CD−ROM、ディジタル・バーサタイル・ディスク(DVD)または他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたは他の磁気記憶デバイス、または所望の情報を格納するために使用することができそしてコンピューター810によってアクセスすることができる他のあらゆる媒体を含むが、これらに限定されるのではない。通信媒体は、通例、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、またはその他のデーターを移送メカニズム内に具体化し、任意の情報配信媒体を含む。「変調データー信号」という用語は、その信号内に情報をエンコードするような方法で、その特性の1つ以上が設定または変更された信号を意味する。一例として、そして限定ではなく、通信媒体は、有線ネットワークまたは直接有線接続というような有線媒体と、音響、RF、赤外線、および他のワイヤレス媒体というようなワイヤレス媒体とを含む。以上の内任意のものの組み合わせも、コンピューター読み取り可能媒体の範囲に含まれてしかるべきである。
[0070] システム・メモリー830は、リード・オンリー・メモリー(ROM)831およびランダム・アクセス・メモリー(RAM)832のような、揮発性および/または不揮発性メモリーの形態としたコンピューター記憶媒体を含む。基本入力/出力システム833(BIOS)は、起動中におけるように、コンピューター810内部にあるエレメント間で情報を転送するのに役立つ基本的なルーチンを含み、通例ROM831に格納される。RAM832は、通例、処理ユニット820によって直ちにアクセス可能なデーターおよび/またはプログラム・モジュール、および/または現在処理ユニット820によって処理されているデーターおよび/またはプログラム・モジュールを含む。一例として、そして限定ではなく、図8は、オペレーティング・システム834、アプリケーション・プログラム835、他のプログラム・モジュール836およびプログラム・データー837を示す。
[0071] また、コンピューター810は、他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピューター記憶媒体も含むことができる。一例としてに過ぎないが、図8は、非リムーバブル、不揮発性磁気媒体に対して読み取りまたは書き込みを行うハード・ディスク・ドライブ841、およびCD−ROMまたは他の光媒体のようなリムーバブル、不揮発性光ディスク856に対して読み取りまたは書き込みを行う光ディスク・ドライブ855を示す。この動作環境例において使用することができる他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピューター記憶媒体には、磁気テープ・カセット、フラッシュ・メモリー・カード、ディジタル・バーサタイル・ディスク、ディジタル・ビデオ・テープ、ソリッド・ステートRAM、ソリッド・ステートROM等が含まれるが、これらに限定されるのではない。ハード・ディスク・ドライブ841は、通例、インターフェース840のような非リムーバブル・メモリー・インターフェースを介してシステム・バス821に接続され、光ディスク・ドライブ855は、通例、インターフェース850のようなリムーバブル・メモリー・インターフェースによってシステム・バス821に接続される。
[0072] 代わりに、または加えて、本明細書において説明した機能は、少なくとも部分的に、1つ以上のハードウェア・ロジック・コンポーネントによって実行することもできる。例えば、そして限定ではなく、使用することができる例示的なタイプのハードウェア・ロジック・コンポーネントには、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定プログラム集積回路(ASIC)、特定プログラム標準製品(ASSP)、システム・オン・チップ・システム(SOC)、複合プログラマブル・ロジック・デバイス(CPLD)等を含むことができる。
[0073] 以上で論じ図8に示すこれらのドライブおよびそれに関連するコンピューター記憶媒体は、コンピューター810のためのコンピューター読み取り可能命令、データー構造、プログラム・モジュール、および他のデーターの格納を行う。図8では、例えば、ハード・ディスク・ドライブ841は、オペレーティング・システム844、アプリケーション・プログラム845、他のプログラム・モジュール846、およびプログラム・データー847を格納することが示される。尚、これらのコンポーネントは、オペレーティング・システム834、アプリケーション・プログラム835、他のプログラム・モジュール836、およびプログラム・データー837と同一であること、または異なることもできる。オペレーティング・システム844、アプリケーション・プログラム845、他のプログラム・モジュール846、およびプログラム・データー847は、ここでは、少なくともこれらが異なるコピーであることを示すために、異なる番号が与えられている。
[0074] ユーザーは、キーボード862、マイクロフォン863、およびマウス、トラックボール、またはタッチ・パッドのようなポインティング・デバイス861というような入力デバイスによって、コマンドおよび情報をコンピューター810に入力することができる。他の入力デバイス(図示せず)には、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナー等を含むことができる。これらおよび他の入力デバイスは、多くの場合、ユーザー入力インターフェース860を介して処理ユニット820に接続される。ユーザー入力インターフェース860は、システム・バスに結合されるが、パラレル・ポート、ゲーム・ポート、またはユニバーサル・シリアル・バス(USB)のような他のインターフェースおよびバス構造によって接続されてもよい。視覚ディスプレイ891または他のタイプのディスプレイ・デバイスも、ビデオ・インターフェース890のようなインターフェースを介して、システム・バス821に接続される。モニターに加えて、コンピューターは、スピーカー897およびプリンター896のような他の周辺出力デバイスも含むことができ、これらは出力周辺インターフェース895を介して接続することができる。
[0075] コンピューター810は、リモート・コンピューター880のような1つ以上のリモート・コンピューターへの論理接続を使用して、ネットワーク接続環境 (networked environment)において動作することもできる。リモート・コンピューター880は、パーソナル・コンピューター、ハンドヘルド・デバイス、サーバー、ルーター、ネットワークPC、ピア・デバイス、または他の一般的なネットワーク・ノードであってよく、通例、コンピューター810に関して先に説明したエレメントの多くまたは全部を含む。図8に示す論理接続は、ローカル・エリア・ネットワーク(LAN)871およびワイド・エリア・ネットワーク(WAN)873を含むが、他のネットワークを含むこともできる。このようなネットワーキング環境 は、事務所、企業規模のコンピューター・ネットワーク、イントラネット、およびインターネットでは極普通である。
[0076] LANネットワーキング環境において使用される場合、コンピューター810は、ネットワーク・インターフェースまたはアダプター870を介してLAN871に接続することができる。WANネットワーキング環境において使用される場合、コンピューター810は、通例、インターネットのようなWAN873を介して通信を行うモデム872または他の手段を含む。モデム872は、内蔵型でも外付けでもよく、ユーザー入力インターフェース860または他のしかるべきメカニズムを介してシステム・バス821に接続することができる。ネットワーク接続環境では、コンピューター810に関して図示したプログラム・モジュールまたはその一部が、リモート・メモリー記憶デバイスに格納されてもよい。一例として、そして限定ではなく、図8は、リモート・アプリケーション・プログラム885を、リモート・コンピューター880上に存在するものとして示す。尚、図示したネットワーク接続は一例であり、コンピューター間に通信リンクを張る他の手段を使用してもよいことは認められよう。
[0077] また、本明細書において説明した異なる実施形態を異なる方法で組み合わせることができることも注記してしかるべきである。即ち、1つ以上の実施形態の一部を1つ以上の他の実施形態の一部と組み合わせることができる。このことの全て(all of this)は、本明細書において考えられる範囲内である。
[0078] 例1は、マルチテナント計算システムであって、以下を含む。
[0079] 対応する変更要求を送った要求元テナントの特性を示すデーターを生成するテナント・ビヘイビアー監視システムであって、各変更要求が、要求元テナントに対応するテナント・データーに対して要求された変更を示す。
[0080] 複数の異なるテナントから変更要求を受ける変更スケジューリング・コンポーネントであって、変更スケジューリング・コンポーネントが、変更要求を複数の変更のセクションに分割し、要求元テナントの特性に基づいて、対応するテナント・データーに対して行われる変更のセクションをスケジューリングする。
[0081] 変更スケジューリング・コンポーネントによってスケジューリングされた通りに、テナント・データーに対する変更要求を行う変更要求処理システム。
[0082] 例2は、いずれかまたは全ての以前の例のマルチテナント計算システムであって、変更スケジューリング・コンポーネントが以下を含む。
[0083] 要求元テナントのために変更を行うときの変更要求処理システムの性能を示す性能情報に基づいて、スケジューリングのために各変更要求を複数の異なるセクションに分解するか否か判定する変更スライシング・コンポーネント。
[0084] 例3は、いずれかまたは全ての以前の例のマルチテナント計算システムであって、変更スケジューリング・コンポーネントが更に以下を含む。
[0085] 性能情報に基づいて、変更要求処理システムによって行われる次の変更をスケジューリングする次位変更識別コンポーネント。
[0086] 例4は、いずれかまたは全ての以前の例のマルチテナント計算システムであって、次位変更スライシング・コンポーネントおよび次位変更識別コンポーネントが、各変更要求を複数の異なるセクションに分解するか否か決定し、異なる要求元テナントに予期される処理能力を示すテナント公正性ポリシーに基づいて、それぞれ、行われる次の変更をスケジューリングする。
[0087] 例5は、いずれかまたは全ての以前の例のマルチテナント計算システムであって、次位変更スライシング・コンポーネントおよび次位変更識別コンポーネントが、各変更要求を複数の異なるセクションに分解するか否か決定し、異なる要求元テナントのための処理能力の尺度(measure)に基づいて、それぞれ、行われる次の変更をスケジューリングする。
[0088] 例6は、いずれかまたは全ての以前の例のマルチテナント・システムであって、テナント・ビヘイビアー監視システムが以下を含む。
[0089] 異なる要求元テナントのための処理能力の尺度を提供する1組の処理能力測定コンポーネント。
[0090] 例7は、いずれかまたは全ての以前の例のマルチテナント・システムであって、テナント・ビヘイビアー監視システムが以下を含む。
[0091] 要求元テナントの各々によって要求された変更の数を、処理能力の尺度として、監視し提供するトラフィック監視コンポーネント。
[0092] 例8は、いずれかまたは全ての以前の例のマルチテナント・システムであって、テナント・ビヘイビアー監視システムが以下を含む。
[0093] 処理能力の尺度として、変更要求を送ったときと、変更要求処理システムによって対応する変更をテナント・データーに行わせたときとの間において要求元テナントの各々によって感知されるレイテンシーを示すレイテンシー尺度を監視し提供するレイテンシー・モニター。
[0094] 例9は、例6のマルチテナント計算システムであって、テナント・ビヘイビアー監視システムが以下を含む。
[0095] 各要求元テナントのテナント・タイプを識別し、要求元テナントの特性の1つとして、テナント・タイプを提供するテナント・タイプ識別手段。
[0096] 例10は、マルチテナント計算システムであって、以下を含む。
[0097] 複数の異なる要求元テナントから変更要求を受けるテナント変更システムであって、変更要求が、異なる要求元テナントに対応するテナント・データーに対する変更を示す。
[0098] 変更要求を変更のグループに分割し、変更要求の各々における変更の数に基づいて、変更要求にわたって変更処理リソースを分配するために、複数の異なる要求元テナントのために変更のグループをスケジューリングするスケジューリング・コンポーネント。
[0099] 例12は、いずれかまたは全ての以前の例のマルチテナント計算システムであって、テナント変更システムが更に以下を含む。
[00100] スケジューリング・コンポーネントによってスケジューリングされた通りに、変更のグループにおいて、テナント・データーに対して変更を行うための変更処理リソースを含む変更要求処理システム。
[00101] 例12は、いずれかまたは全ての以前の例のマルチテナント計算システムであって、テナント変更システムが更に以下を含む。
[00102] 変更要求の各々における変更の数を監視するテナント・ビヘイビアー監視システム。
[00103] 例13は、いずれかまたは全ての以前の例のマルチテナント計算システムであって、テナント・ビヘイビアー監視システムが以下を含む。
[00104] 変更要求を送ったときと、変更要求処理システムによって変更要求における変更を行わせたときとの間の時間を示すレイテンシーをテナント毎に監視するレイテンシー・モニター。
[00105] 例14は、いずれかまたは全ての以前の例のマルチテナント計算システムであって、テナント・ビヘイビアー監視システムが以下を含む。
[00106] 各要求元テナントに対応するテナントのタイプを識別するテナント識別手段。
[00107] 例16は、方法であって、以下のステップを含む。
[00108] マルチテナント計算システムにおいて、要求元テナントによって要求された、テナント・データーに対して要求された変更を行うときのテナント変更システムの処理能力を示す処理能力メトリックを監視するステップ。
[00109] 要求された変更を複数の変更のセクションに分割するステップ。
[00110] 処理能力メトリックに基づいて、要求元テナント間で変更要求処理リソースを割り当てることによって、行われる変更のセクションをスケジューリングするステップ。
[00111] 割り当てられた変更要求処理リソースを使用して、スケジューリングされた通りに、変更のセクションの各々においてテナント・データーに対する変更を行うステップ。
[00112] 例16は、いずれかまたは全ての以前の例の方法であって、変更のセクションをスケジューリングするステップが以下のステップを含む。
[00113] 比較的大きな数の変更を要求した要求元テナントに対して、比較的少数の変更を要求した要求元テナントに所与の処理能力レベルを維持するように、変更のセクションをスケジューリングするステップであって、比較的大きな数の変更が、比較的少ない数の変更に対して相対的に大きい。
[00114] 例17は、いずれかまたは全ての以前の例の方法であって、変更のセクションをスケジューリングするステップが以下のステップを含む。
[00115] 第1の要求された変更からの変更の第1セクションを行うようにスケジューリングするステップであって、第1変更セクションが、第1の要求された変更において要求された変更の部分集合である。
[00116] 例18は、いずれかまたは全ての以前の例の方法であって、変更のセクションをスケジューリングするステップが以下のステップを含む。
[00117] 第1の要求された変更から変更の任意の追加セクションをスケジューリングする前に、第2の要求された変更からの変更の第2セクションを行うようにスケジューリングするステップであって、変更の第2セクションが、第2の要求された変更における変更の部分集合である。
[00118] 例19は、いずれかまたは全ての以前の例の方法であって、処理能力を監視するステップが以下のステップを含む。
[00119] 各要求元テナントに対応するテナントのタイプを検出するステップであって、テナントのタイプが、少なくとも、各要求元テナントが、マルチテナント計算システムへのアクセスのために支払いを行う有料テナント(paying tenant)、またはマルチテナント計算システムに対する無料アクセス(non-paying access)を有するテナントのどちらを含むか識別する、ステップ。
[00120] 例20は、いずれかまたは全ての以前の例の方法であって、変更のセクションをスケジューリングするステップが以下を含む。
[00121] テナントのタイプに基づいて、各要求元テナントが所与の範囲以内のレイテンシーを有するように、変更のセクションをスケジューリングするステップ。
[00122] 以上、構造的特徴および/または方法論的アクトに特定的な文言で本主題について説明したが、添付する特許請求の範囲において定められる主題は、必ずしも以上で説明した具体的な特徴やアクトには限定されないことは理解されよう。逆に、以上で説明した具体的な特徴およびアクトは、特許請求の範囲を実現する形態例として開示されたまでである。

Claims (15)

  1. マルチテナント計算システムであって、
    対応する変更要求を送った要求元テナントの特性を示すデーターを生成するテナント・ビヘイビアー監視システムであって、各変更要求が、前記要求元テナントに対応するテナント・データーに対して要求された変更を示す、テナント・ビヘイビアー監視システムと、
    複数の異なるテナントから変更要求を受ける変更スケジューリング・コンポーネントであって、前記変更スケジューリング・コンポーネントが、前記変更要求を複数の変更のセクションに分割し、前記要求元テナントの特性に基づいて、前記対応するテナント・データーに対して行われる前記変更のセクションをスケジューリングする、変更スケジューリング・コンポーネントと、
    前記変更スケジューリング・コンポーネントによってスケジューリングされた通りに、前記テナント・データーに対する前記変更要求を行う変更要求処理システムと、
    を含む、マルチテナント計算システム。
  2. 請求項1記載のマルチテナント計算システムにおいて、前記変更スケジューリング・コンポーネントが、
    前記要求元テナントのために変更を行うときの前記変更要求処理システムの性能を示す性能情報に基づいて、スケジューリングのために各変更要求を複数の異なるセクションに分解するか否か判定する変更スライシング・コンポーネントを含む、マルチテナント計算システム。
  3. 請求項2記載のマルチテナント計算システムにおいて、前記変更スケジューリング・コンポーネントが、更に、
    前記性能情報に基づいて、前記変更要求処理システムによって行われる次の変更をスケジューリングする次位変更識別コンポーネントを含む、マルチテナント計算システム。
  4. 請求項3記載のマルチテナント計算システムにおいて、前記次位変更スライシング・コンポーネントおよび前記次位変更識別コンポーネントが、各変更要求を前記複数の異なるセクションに分解するか否か決定し、異なる要求元テナントに予期される処理能力を示すテナント公正性ポリシーに基づいて、それぞれ、行われる次の変更をスケジューリングする、マルチテナント計算システム。
  5. 請求項3記載のマルチテナント計算システムにおいて、前記次位変更スライシング・コンポーネントおよび前記次位変更識別コンポーネントが、各変更要求を前記複数の異なるセクションに分解するか否か決定し、異なる要求元テナントのための処理能力の尺度に基づいて、それぞれ、行われる次の変更をスケジューリングする、マルチテナント計算システム。
  6. 請求項5記載のマルチテナント計算システムにおいて、前記テナント・ビヘイビアー監視システムが、
    前記異なる要求元テナントのための処理能力の前記尺度を提供する1組の処理能力測定コンポーネントを含む、マルチテナント計算システム。
  7. 請求項6記載のマルチテナント計算システムにおいて、前記テナント・ビヘイビアー監視システムが、
    前記要求元テナントの各々によって要求された変更の数を、前記処理能力の尺度として、監視し提供するトラフィック監視モニターを含む、マルチテナント計算システム。
  8. 請求項6記載のマルチテナント計算システムにおいて、前記テナント・ビヘイビアー監視システムが、
    前記処理能力の尺度として、前記変更要求を送ったときと、前記変更要求処理システムによって前記対応する変更をテナント・データーに行わせたときとの間において前記要求元テナントの各々によって感知されるレイテンシーを示すレイテンシー尺度を監視し提供するレイテンシー・モニターを含む、マルチテナント計算システム。
  9. 請求項6記載のマルチテナント計算システムにおいて、前記テナント・ビヘイビアー監視システムが、
    各要求元テナントのテナント・タイプを識別し、前記要求元テナントの特性の1つとして、前記テナント・タイプを提供するテナント・タイプ識別手段を含む、マルチテナント計算システム。
  10. マルチテナント計算システムであって、
    複数の異なる要求元テナントから変更要求を受けるテナント変更システムであって、前記変更要求が、前記異なる要求元テナントに対応するテナント・データーに対する変更を示す、テナント変更システムと、
    前記変更要求を変更のグループに分割し、前記変更要求の各々における変更の数に基づいて、前記変更要求にわたって変更処理リソースを分配するために、前記複数の異なる要求元テナントのために前記変更のグループをスケジューリングするスケジューリング・コンポーネントと、
    を含む、マルチテナント計算システム。
  11. 請求項10記載のマルチテナント計算システムにおいて、前記テナント変更システムが、更に、
    前記スケジューリング・コンポーネントによってスケジューリングされた通りに、前記変更のグループにおいて、前記テナント・データーに対して前記変更を行うための前記変更処理リソースを含む変更要求処理システムを含む、マルチテナント計算システム。
  12. 請求項11記載のマルチテナント計算システムにおいて、前記テナント変更システムが、更に、
    前記変更要求の各々における変更の数を監視するテナント・ビヘイビアー監視システムを含む、マルチテナント計算システム。
  13. 請求項12記載のマルチテナント計算システムにおいて、前記テナント・ビヘイビアー監視システムが、
    変更要求を送ったときと、前記変更要求処理システムによって前記変更要求における変更を行わせたときとの間の時間を示すレイテンシーをテナント毎に監視するレイテンシー・モニターを含む、マルチテナント計算システム。
  14. 請求項13記載のマルチテナント計算システムにおいて、前記テナント・ビヘイビアー監視システムが、
    各要求元テナントに対応するテナントのタイプを識別するテナント識別手段を含む、マルチテナント計算システム。
  15. 方法であって、
    マルチテナント計算システムにおいて、要求元テナントによって要求された、テナント・データーに対して要求された変更を行うときのテナント変更システムの処理能力を示す処理能力メトリックを監視するステップと、
    前記要求された変更を複数の変更のセクションに分割するステップと、
    前記処理能力メトリックに基づいて、前記要求元テナント間で変更要求処理リソースを割り当てることによって、行われる前記変更のセクションをスケジューリングするステップと、
    前記割り当てられた変更要求処理リソースを使用して、スケジューリングされた通りに、前記変更のセクションの各々において前記テナント・データーに対する前記変更を行うステップと、
    を含む、方法。
JP2017502817A 2014-07-17 2015-07-14 マルチテナント・システムにおける処理変更 Pending JP2017529585A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/334,307 2014-07-17
US14/334,307 US20160021196A1 (en) 2014-07-17 2014-07-17 Processing changes in a multi-tenant system
PCT/US2015/040234 WO2016010936A1 (en) 2014-07-17 2015-07-14 Processing changes in a multi-tenant system

Publications (1)

Publication Number Publication Date
JP2017529585A true JP2017529585A (ja) 2017-10-05

Family

ID=53762353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017502817A Pending JP2017529585A (ja) 2014-07-17 2015-07-14 マルチテナント・システムにおける処理変更

Country Status (6)

Country Link
US (1) US20160021196A1 (ja)
EP (1) EP3170079B1 (ja)
JP (1) JP2017529585A (ja)
CN (1) CN106663036A (ja)
RU (1) RU2017101215A (ja)
WO (1) WO2016010936A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7445361B2 (ja) 2019-11-18 2024-03-07 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチ・テナント型抽出・変換・ロードのリソースの共有

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8635152B2 (en) * 2011-09-14 2014-01-21 Microsoft Corporation Multi tenancy for single tenancy applications
KR101915944B1 (ko) * 2017-05-08 2018-11-08 주식회사 애포샤 클러스터 시스템에서의 클라이언트 요청 처리 방법, 상기 클라이언트 요청에 따른 입출력 처리 방법 및 장치
CN107172038B (zh) * 2017-05-11 2020-04-28 深信服科技股份有限公司 一种用于提供安全服务的信息处理方法、平台、组件及系统
US11868321B2 (en) 2018-06-12 2024-01-09 Salesforce, Inc. Cryptographically secure multi-tenant data exchange platform
CN110913082B (zh) * 2018-09-14 2021-02-19 中国电信股份有限公司 呼叫中心及其云资源多租户管理方法、装置和系统
US11100091B2 (en) * 2018-09-19 2021-08-24 Salesforce.Com, Inc. Lightweight node in a multi-tenant blockchain network
US11157484B2 (en) 2018-09-19 2021-10-26 Salesforce.Com, Inc. Advanced smart contract with decentralized ledger in a multi-tenant environment
US11809409B2 (en) 2018-09-19 2023-11-07 Salesforce, Inc. Multi-tenant distributed ledger interfaces
WO2021096347A1 (en) * 2019-11-15 2021-05-20 Mimos Berhad Method and system for dynamically managing access priority of virtual machine tenants to service or host
US11057315B1 (en) * 2020-01-06 2021-07-06 International Business Machines Corporation Generating a scaling plan for external systems during cloud tenant onboarding/offboarding
US11153374B1 (en) * 2020-11-06 2021-10-19 Sap Se Adaptive cloud request handling
US11841871B2 (en) 2021-06-29 2023-12-12 International Business Machines Corporation Managing extract, transform and load systems
US11979456B2 (en) * 2022-01-14 2024-05-07 Dell Products, L.P. Cloud provisioning readiness verification
CN114791907B (zh) * 2022-03-30 2023-01-06 北京柏睿数据技术股份有限公司 一种多租户共享数据的处理方法和系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901582B1 (en) * 1999-11-24 2005-05-31 Quest Software, Inc. Monitoring system for monitoring the performance of an application
US8473469B1 (en) * 2008-08-25 2013-06-25 Salesforce.Com, Inc. Techniques for implementing batch processing in a multi-tenant on-demand database system
US20100235495A1 (en) * 2008-09-10 2010-09-16 Salesforce.Com, Inc. Methods and systems for reducing a load on a multi-tenant database
US8244559B2 (en) * 2009-06-26 2012-08-14 Microsoft Corporation Cloud computing resource broker
US8443366B1 (en) * 2009-12-11 2013-05-14 Salesforce.Com, Inc. Techniques for establishing a parallel processing framework for a multi-tenant on-demand database system
US8965860B2 (en) * 2010-04-01 2015-02-24 Salesforce.Com, Inc. Methods and systems for bulk uploading of data in an on-demand service environment
US8584124B2 (en) * 2010-04-20 2013-11-12 Salesforce.Com, Inc. Methods and systems for batch processing in an on-demand service environment
US8635250B2 (en) * 2010-04-26 2014-01-21 Vinod Mehra Methods and systems for deleting large amounts of data from a multitenant database
US10095526B2 (en) * 2012-10-12 2018-10-09 Nvidia Corporation Technique for improving performance in multi-threaded processing units
US9311149B2 (en) * 2012-12-21 2016-04-12 International Business Machines Corporation Processor provisioning by a middleware processing system
US9553821B2 (en) * 2013-06-25 2017-01-24 Amazon Technologies, Inc. Equitable distribution of excess shared-resource throughput capacity

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7445361B2 (ja) 2019-11-18 2024-03-07 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチ・テナント型抽出・変換・ロードのリソースの共有

Also Published As

Publication number Publication date
EP3170079A1 (en) 2017-05-24
US20160021196A1 (en) 2016-01-21
RU2017101215A3 (ja) 2019-02-01
WO2016010936A1 (en) 2016-01-21
CN106663036A (zh) 2017-05-10
EP3170079B1 (en) 2018-05-23
RU2017101215A (ru) 2018-07-16

Similar Documents

Publication Publication Date Title
CN110678844B (zh) 基于租户排名来控制租户服务
JP2017529585A (ja) マルチテナント・システムにおける処理変更
US9720737B2 (en) Controlling resource allocation with automated consumption against a work breakdown structure
JP6605019B2 (ja) ポリシーベースのリソース管理および割当てシステム
CN107710157B (zh) 多租户计算系统以及多租户计算系统的计算机实现方法
EP3401787B1 (en) Analyzing resource utilization of a cloud computing resource in a cloud computing environment
US9912609B2 (en) Placement policy-based allocation of computing resources
JP6499281B2 (ja) 企業システム内の装置の変更イベントの管理
US20170303841A1 (en) Burnout symptoms detection and prediction
US10365955B2 (en) Resource allocation in cloud environment
JP6719445B2 (ja) リアル・タイム・プロビジョニングのための動的更新ストリーム
US20160087992A1 (en) Providing virtual desktops using resources accessed on public computer networks
CN106462486B (zh) 使用可操作洞察的用户体验诊断
US11620155B2 (en) Managing execution of data processing jobs in a virtual computing environment
US10795539B2 (en) Visualizing migration of a resource of a distributed computing environment
US10929245B1 (en) Flexible scheduler for backups
CN107533487B (zh) 云掌控的设置
US11989109B2 (en) Managing power consumption for a computing cluster
CN118020066A (zh) 生成和控制用于存储数据的弹性可伸缩的戳记数据结构