JP2023546903A - 非アクティブメモリ装置の優先更新 - Google Patents
非アクティブメモリ装置の優先更新 Download PDFInfo
- Publication number
- JP2023546903A JP2023546903A JP2023523615A JP2023523615A JP2023546903A JP 2023546903 A JP2023546903 A JP 2023546903A JP 2023523615 A JP2023523615 A JP 2023523615A JP 2023523615 A JP2023523615 A JP 2023523615A JP 2023546903 A JP2023546903 A JP 2023546903A
- Authority
- JP
- Japan
- Prior art keywords
- computer
- computers
- processor
- memory devices
- metric
- 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
Links
- 238000004064 recycling Methods 0.000 claims abstract description 46
- 238000004374 forensic analysis Methods 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 84
- 230000008569 process Effects 0.000 claims description 41
- 238000004891 communication Methods 0.000 claims description 14
- 230000007306 turnover Effects 0.000 claims description 13
- 238000010801 machine learning Methods 0.000 claims description 10
- 230000015654 memory Effects 0.000 abstract description 47
- 238000011012 sanitization Methods 0.000 abstract description 4
- 238000007689 inspection Methods 0.000 abstract 1
- 230000000717 retained effect Effects 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 27
- 238000012913 prioritisation Methods 0.000 description 15
- 238000013473 artificial intelligence Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 1
- 235000014552 Cassia tora Nutrition 0.000 description 1
- 244000201986 Cassia tora Species 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/004—Error avoidance
Abstract
例示的な実施形態は、クラウドベースコンピューティング環境において顧客にリースされるコンピューティングリソース、例えば、サーバ側コンピューティングシステムおよび付属リソース(例えば、不揮発性メモリ、付属ファームウェア、データなど)優先的にリサイクルすることを容易にする。これによって、例えば、バックグラウンドサニタイズおよび更新を介してコンピューティングリソースをリサイクルする可能性が最も高いタイミングの推定値に基づいて、フォレンジック分析/検査、サニタイズ、および/または更新されるコンピューティングリソース(例えば、不揮発性メモリ)が優先的にリサイクルされる。最初にリサイクルされる可能性が高いコンピューティングリソースは、後でリサイクルされる可能性が高いコンピューティングリソースよりも優先される。本明細書に記載された実施形態に従ってコンピューティングリソース優先的にリサイクルすることによって、コンピューティングリソースリのサイクルを実行するために使用される他のクラウドベースコンピューティングリソースは、効率的に割り当てられ、保持される。
Description
関連出願の参照
本願は、2020年10月19日に提出され、「非アクティブメモリ装置の優先更新」と題された米国特許出願第17/074356号(ORACP0262/ORACP00515-US-NP)に対する優先権を主張し、これは、あらゆる目的のために本願に完全に記載されているかのように参照により本願に組み込まれる。
本願は、2020年10月19日に提出され、「非アクティブメモリ装置の優先更新」と題された米国特許出願第17/074356号(ORACP0262/ORACP00515-US-NP)に対する優先権を主張し、これは、あらゆる目的のために本願に完全に記載されているかのように参照により本願に組み込まれる。
背景
本願は、コンピューティングに関し、より詳細には、コンピューティングリソースのダウンタイムを最小限に抑えながら、コンピューティング環境においてコンピューティングリソースをリサイクルする効率を高めるためのソフトウェア、システム、および方法に関する。
本願は、コンピューティングに関し、より詳細には、コンピューティングリソースのダウンタイムを最小限に抑えながら、コンピューティング環境においてコンピューティングリソースをリサイクルする効率を高めるためのソフトウェア、システム、および方法に関する。
コンピューティングリソース、例えば、コンピュータシステムおよび付属メモリ、データ、ソフトウェアなどを選択的にリサイクルするためのシステムおよび方法は、サーバ側コンピュータシステム(例えば、サーバ)を外部顧客にリースすることに関与するクラウドベースアプリケーションを含む様々な要求の高いアプリケーションに採用されている。この場合、関連するサーバ側コンピュータシステムは、前の顧客によって手放されると、新しい顧客に引き渡すまたはリースする前にリサイクルされなければならない。このようなアプリケーションは、コンピューティングリソースのダウンタイムを最小限に抑え且つリサイクル操作を実行するために必要なクラウドベースリソースを最小限に抑えながら、コンピューティングリソースを容易にリサイクルするための効率的なメカニズムをしばしば必要とする。
例示的なクラウドベースコンピューティング環境において、コンピュータシステムは、リサイクルされた後、後続のユーザに引き渡される。このリサイクルプロセスは、例えば、過去のデータ(例えば、前の顧客からのデータ)を消去し、コンピュータの不揮発性メモリ装置上で動作する古いファームウェアを更新することによって、コンピュータシステムをデジタル的にサニタイズおよび更新することを含む。
従来、ユーザがリースしたコンピュータシステムを手放す場合、例えば、不揮発性メモリの消去を実行し、新しいファームウェアおよび付属データと置換することによって、コンピュータシステムをリサイクルしている間に、コンピュータシステムの全体は、オフラインになる。しかしながら、このことは、コンピュータシステムの大幅なダウンタイムを生じさせ、ホスト組織の収益を損なう可能性がある。さらに、従来のファームウェアおよびデータの消去および再インストールは、特に時間がかかるため、コンピュータシステムのダウンタイムがさらに長くなる可能性がある。
コンピューティングリソースをリサイクルするための代替的な方法は、リサイクル操作のために過剰なクラウドベースリソースを必要とするため、同様に非効率的である。さらに、既存の方法は、一般的に、単に特定のイベント、例えば、特定の顧客によるコンピューティングリソースのリリースの後ではなく、リサイクルイベントを行うタイミングを最適に決定するための機能を欠いている。
概要
本明細書に記載された様々な実施形態は、コンピュータバックグラウンド更新システムと通信するリサイクル優先順位決定システムを採用し、優先順位に従ってコンピュータシステムおよび付属メモリ装置のバックグラウンド更新を実行するように、クラウドベースコンピューティングリソースを選択的且つ効率的に割り当てることを容易にする。リサイクルのために、コンピュータシステムおよび付属メモリ装置(例えば、不揮発性メモリ)に優先順位を付けることができる。したがって、コンピュータシステムをリサイクルするために使用されるクラウドベースコンピューティングリソースは、優先順位に従ってコンピュータシステムおよび付属不揮発性メモリを更新することに効率的に集中することができる。優先順位は、次にリサイクルを必要とする可能性が最も高いコンピュータシステムに対して、リサイクル操作(例えば、バックグラウンド更新)を優先的に実行するように設定されてもよい。
本明細書に記載された様々な実施形態は、コンピュータバックグラウンド更新システムと通信するリサイクル優先順位決定システムを採用し、優先順位に従ってコンピュータシステムおよび付属メモリ装置のバックグラウンド更新を実行するように、クラウドベースコンピューティングリソースを選択的且つ効率的に割り当てることを容易にする。リサイクルのために、コンピュータシステムおよび付属メモリ装置(例えば、不揮発性メモリ)に優先順位を付けることができる。したがって、コンピュータシステムをリサイクルするために使用されるクラウドベースコンピューティングリソースは、優先順位に従ってコンピュータシステムおよび付属不揮発性メモリを更新することに効率的に集中することができる。優先順位は、次にリサイクルを必要とする可能性が最も高いコンピュータシステムに対して、リサイクル操作(例えば、バックグラウンド更新)を優先的に実行するように設定されてもよい。
例示的な方法は、クラウドベースコンピューティング環境において他のコンピューティングリソースをリサイクルまたは更新するために使用されるネットワークアクセス可能なコンピューティングリソースの効率的な使用を容易にする。例示的な方法は、クラウドベースコンピューティング環境の1人以上のユーザによって現在使用されている一組のコンピュータを決定することと、一組のコンピュータ中の各コンピュータに関連する1つ以上のメトリックを取得することと、1つ以上のメトリックを用いて、一組のコンピュータ中の各コンピュータが一組のコンピュータ中の各コンピュータの現在のユーザによって明け渡される可能性が高いタイミングに関する1つ以上の推定値を決定することと、一組のコンピュータ中の各コンピュータの1つ以上の推定値を使用して、各コンピュータをリサイクルするバックグラウンド更新プロセスを起動するタイミングを決定することとを含む。
より具体的な実施形態において、使用するステップは、1つ以上の推定値に従ってより早期にリサイクルされると推定される一組のコンピュータ中のコンピュータがバックグラウンド更新プロセスによって優先的に処理されるように、1つ以上の推定値を用いて各コンピュータを優先的にリサイクルすることをさらに含む。
リサイクルするステップは、バックグラウンド更新プロセスを用いて、リサイクルされる各コンピュータの1つ以上のメモリ装置上のファームウェアを更新することをさらに含むことができる。1つ以上のメモリ装置は、(バックグラウンド更新プロセスによって)切り替えられ、現在のユーザによって明け渡される各コンピュータの1つ以上のメモリ装置を置換するように構成された1つ以上の代替メモリ装置を含むことができる。
リサイクルすることは、バックグラウンド更新プロセスを用いて、リサイクルされる各コンピュータの1つ以上のメモリ装置上のファームウェアおよび/またはソフトウェアを更新することと、バックグラウンド更新プロセスを用いて、リサイクルされる各コンピュータの1つ以上のメモリ装置に対してフォレンジック分析を実行することとをさらに含むことができる。1つ以上のメモリ装置は、例えば、ネットワークインターフェイスコントローラ(NIC)、基本入出力システム(BIOS)、フィールドプログラマブルゲートアレイ(FPGA)などを収容するまたは表す1つ以上の不揮発性メモリ装置を含むことができる。
1つ以上のメトリックは、各コンピュータが使用されている期間を示す第1のメトリックであって、より長く使用されているコンピュータが、ユーザによってより早期に明け渡される可能性が高いことを示す第1のメトリックと、ユーザが1つ以上のコンピュータを使用し続ける過去の期間を示す第2のメトリックであって、コンピュータを頻繁に明け渡すユーザによって使用されるコンピュータが、ユーザによってより早期に明け渡される可能性が高いことを示す第2のメトリックと、各コンピュータの識別番号に従って各コンピュータの回転率を示す第3のメトリックであって、高い回転率に関連すると識別されたコンピュータが、ユーザによってより早期に明け渡される可能性が高いことを示す第3のメトリックと、各コンピュータに関連する温度を示す第4のメトリックであって、より低い温度に関連するコンピュータが、より早期に明け渡される可能性が高いことを示す第4のメトリックと、機械学習モデルの第1のメトリック、第2のメトリック、第3のメトリック、および第4のメトリックのうちの1つ以上を説明する機械学習モデルの出力値を示す第5のメトリックとのうち、1つ以上を含むことができる。
したがって、本明細書に記載された様々な実施形態は、コンピュータシステムの1つ以上の不揮発性メモリ装置のバックグラウンド更新の優先順位付けを容易にすることができる。これは、不揮発性メモリおよび関連するコンピューティングリソース(例えばファームウェア、データなど)のバックグラウンド更新および関連するリサイクルを実施するために使用されるネットワーク帯域幅の保留を容易にする。
なお、従来に、不揮発性メモリ装置に対する更新は、使用中の全てのコンピュータシステムに対して同時に実行される可能性がある。しかしながら、これは、非効率的であり、ネットワーク帯域幅を不必要に損なうものであった。本明細書に記載された実施形態は、コンピュータリソース(例えば、不揮発性メモリおよび付属ファームウェア、データなど)のリサイクルおよび関連するバックグラウンドリサイクルの実施を容易にするための従来の手法に関する課題を克服する。
本明細書に開示される特定の実施形態の性質および利点のさらなる理解は、明細書の残りの部分および添付の図面を参照することによって実現され得る。
実施形態の詳細な説明
本開示の目的のために、コンピューティング環境は、コンピュータ処理を含む1つ以上のタスクを行うために使用される任意のコンピューティングリソースの集合体であってもよい。コンピュータは、メモリと通信する任意のプロセッサであってもよい。コンピューティングリソースは、プロセッサ、メモリ、ソフトウェアアプリケーション、ユーザ入力装置、および出力装置、サーバ、データなどを含むが、これらに限定されないコンピューティング環境の任意のコンポーネント、メカニズム、または性能もしくは数量であってもよい。
本開示の目的のために、コンピューティング環境は、コンピュータ処理を含む1つ以上のタスクを行うために使用される任意のコンピューティングリソースの集合体であってもよい。コンピュータは、メモリと通信する任意のプロセッサであってもよい。コンピューティングリソースは、プロセッサ、メモリ、ソフトウェアアプリケーション、ユーザ入力装置、および出力装置、サーバ、データなどを含むが、これらに限定されないコンピューティング環境の任意のコンポーネント、メカニズム、または性能もしくは数量であってもよい。
ネットワーク化コンピューティング環境は、相互通信するコンピュータを含む任意のコンピューティング環境、すなわちコンピュータネットワークであってもよい。同様に、ネットワーク化ソフトウェアアプリケーションは、ネットワークを介して、1つ以上のコンピューティングリソース(例えば、サーバ)と通信することまたは1つ以上のコンピューティングリソースを使用することを容易にするように構成されたコンピュータコードであってもよい。
本開示の目的のために、サーバは、コンテンツ(例えば、データおよび/または機能)を、当該コンテンツを要求する別のコンピューティングリソースまたはエンティティ(すなわち、クライアント)に提供するように構成された任意のコンピューティングリソース(例えば、コンピュータおよび/またはソフトウェアなど)であってもよい。クライアントは、サーバと呼ばれる別のコンピュータまたはシステムからコンテンツを受信するように構成された任意のコンピュータまたはシステムであってもよい。サーバシステムは、1つ以上のサーバおよび付属コンピューティングリソースの任意の集合体であってもよい。
データセンタは、複数のコンピュータシステム(本明細書では単にコンピュータとも呼ばれる)、例えばサーバ、および他のクラウドベースコンピューティングリソースを収容するための1つ以上の建物または施設の任意の集合体であってもよい。
クラウドベースコンピューティングリソースは、データセンタまたは相互に通信する1つ以上のサーバの他の集合体によって収容されている任意のコンピューティングリソースであってもよい。
クラウドサービスは、ユーザおよび/または他のソフトウェアアプリケーションが、クラウドを介して提供されるデータおよび/または機能を利用することを可能にするための任意のメカニズム(例えば、1つ以上のウェブサービス、アプリケーションプログラミングインターフェイス(API))であってもよい。クラウドは、1つ以上のサーバの任意の集合体であってもよい。例えば、特定のクラウドは、データ、データストレージおよびクライアント装置にアクセス可能な他の機能を提供するサーバを備えた1つ以上のデータセンタを用いて実装されてもよい。
特定のデータセンタは、ユーザが大量のデータにアクセスし、大量のデータを消費および格納するためのコンピューティング機器およびネットワーキング機器を集中させるための集中場所を提供することができる。多くの場合、コンピューティングシステム(例えば、クラウドコンピューティングシステム)の集合体において、プロセッサおよびメモリなどの共通リソースは、異なるユーザによって順番に利用されるように構成されている。このようなコンピューティング集合体は、書き換え可能なメモリ、例えばフラッシュメモリを利用している。このようなメモリは、あるユーザが使い終わったら消去され、次のユーザのために書き換えられる。例えば、クラウドサービスプロバイダは、新しいユーザがクラウドリソースにアクセスし始めるときに、後続のユーザのために当該リソースを適切に構成し、前のユーザからの情報が利用できないことを保証する必要がある。
明確にするために、いくつかの周知のコンポーネント、例えばインターネット、ハードドライブ、プロセッサ、電源、ルータ、インターネットサービスプロバイダ(ISP)、入力/出力(I/O)ワークフローオーケストレータ、プロセススケジューラ、ID管理クラウド、プロセスクラウド、認証機関、ビジネスプロセス管理システム、データベース管理システム、ミドルウェアなどは、必ずしも図中で明示的に呼び出されていない。しかしながら、本教示にアクセスできる当業者であれば、特定の実装ニーズを満たすために、どのコンポーネントをどのように実装すべきかを知ることができる。
図1は、復元バックエンド22を用いて、制御プレーンクラウドサービス24(本明細書では制御プレーンクラウドサービスモジュール24とも呼ばれる)の間で実行され、またはその中に含まれ得る1つ以上のクラウドサービスおよび/またはアプリケーションプログラミングインターフェイス、および/またはコードライブラリを介して実装され得るリサイクル優先順位付けシステム40によって決定される優先順位値に従って、コンピューティングリソースのバックグラウンド更新を選択的に実行することを容易にする第1の例示的なシステム10および付属コンピューティング環境を示す図である。
例示的なシステム10は、例えばインターネットまたは他のネットワークを介して、サーバシステム14と通信する1つ以上のクライアントシステム12を含む。サーバシステム14は、データセンタを介して実装されてもよく、クラウドを表してもよい。
なお、一般的に、システム10の様々なモジュールのグループ化は、例示であり、変更されてもよい。例えば、本教示の範囲から逸脱することなく、特定のモジュールは、他のモジュールと組み合わせられ、または他のモジュールの内部に実装されてもよく、モジュールは、(図示とは)異なる方法で、ネットワークまたは1つ以上のコンピューティング装置もしくは仮想マシンに分散されてもよい。
例えば、スイッチ28(以下で詳細に説明する)は、復元バックエンド22に含まれていると示されているが、本教示の範囲から逸脱することなく、復元バックエンド22の外側にあると見なされてもよい。同様に、フロントエンド処理モジュール18のサービスプロセッサ38は、本教示の範囲から逸脱することなく、フロントエンド処理モジュール18の一部とは対照的に、1つ以上のサーバ側コンピュータシステム20の一部であると見なされてもよい。
さらに、当業者によって本教示(および本明細書に記載された関連の実施形態)と共に使用されるように容易に構成され得るシステムのモジュールの代替的なグループ化および配置は、上記で特定され、組み込まれた米国特許出願(名称「マイクロプロセッサに接続された構成可能なメモリ装置」)においてより詳細に説明される。
本開示の例示的な実施形態において、クライアントシステム12は、サーバシステム14によって提供されるデータおよび機能にアクセスすることを容易にするためのクライアント側ソフトウェア16を含む。例示的なサーバシステム14は、フロントエンド処理モジュール18を含み、フロントエンド処理モジュール18は、1つ以上のウェブサービスおよび/またはアプリケーションプログラミングインターフェイス(API)並びにサービスプロセッサ38を含む関連するプロセッサを介して実装されてもよい。
本開示の目的のために、ソフトウェア機能は、コンピュータコード、すなわち、ソフトウェアを介して提供される任意の機能、性能または特徴、例えば、記憶または配置されたデータであってもよい。以下でより詳細に説明するように、ソフトウェア機能は、コンピューティングオブジェクト(例えば、ビジネスオブジェクト)に関するデータを取得すること、企業関連のタスクを実行すること、分析を計算すること、特定のダイアログボックスを起動すること、検索を実行すること、メモリ装置に対してフォレンジック分析アルゴリズムを実施することなどの動作を含んでもよい。
フロントエンド処理モジュール18は、1つ以上の第1のコンピュータシステム20と通信している。第1のコンピュータシステム20のリソースは、ユーザ、例えば、サーバシステム14の所有者の顧客に選択的にリースされる。一般的に、第1のコンピュータシステム20は、1つ以上の第1のメモリ装置30を含み、第1のメモリ装置30は、第1のコンピュータシステム20の動作を容易にするために使用される。なお、本明細書において、「メモリ装置」という用語は、「メモリ」という用語と互換的に使用されてもよい。
(クライアントシステム12のユーザが、クライアントシステム12からコンピュータシステム20に1つ以上の要求メッセージを発行することによって、操作を実行するように第1のコンピュータシステム20に指示する)要求は、フロントエンド処理のサービスプロセッサ38によって処理される。サービスプロセッサ38は、クライアントシステム12を、コンピュータシステム20によって提供された他のコンピューティングリソース(例えば、処理ソフトウェア、オペレーティングシステムソフトウェア、アプリケーションソフトウェアなど)に加えて、第1のコンピュータ20の第1のメモリ装置30(および付属ファームウェア、データなど)を含むサーバ側コンピューティングリソースにインターフェイス接続することを容易にする。
サービスプロセッサ38がクライアントシステム12からのメッセージングを処理しており、それによって第1のメモリ装置30の使用に影響を及ぼす可能性がある場合、第1のメモリ装置30は、オンラインまたはアクティブであると言われる。すなわち、第1のメモリ装置30は、フロントエンド処理モジュール18を介して、クライアントシステム12によって使用されているまたは利用可能である。同様に、第1のメモリ装置30が(例えば、以下でより詳細に説明するように、スイッチ28を介して)クライアントシステム12およびフロントエンド処理モジュール18から電子的に隔離されている場合、第1のメモリ装置30は、オフラインまたは非アクティブであると言われる。なお、サービスプロセッサ38は、サーバ(コンピュータシステム)のハードウェアを監視し、例えばフィールドプログラマブルゲートアレイ(FPGA)、基本入出力システム(BIOS)などの様々な周辺機器と通信するためのベースボード管理コントローラ(BMC)と同様の機能を含むことができる。
本開示の例示的な実施形態において、復元バックエンド22は、1つ以上のオフラインメモリ装置32~36のバックグラウンド更新および関連処理の実行に関与する様々なモジュール26、28、32~36および関連機能を含む。復元バックエンド22は、フロントエンド処理18のサービスプロセッサ38および第1のコンピュータシステム20の第1のメモリ装置30と通信する。
復元バックエンド22の様々なモジュール26、28、32~36は、ルートオブトラストプロセッサ(ROT)26(本明細書ではROTプロセッサとも呼ばれる)を含む。ROT26は、スイッチ28を介して、制御プレーンクラウドサービス24の1つ以上のクラウドサービスを、復元バックエンド22のメモリ装置32~36のうちの1つ以上に安全にインターフェイス接続するための機能を実装する。以下でより詳細に説明するように、ROT26は、例えば、スイッチ28に1つ以上の制御信号を発行することによって、スイッチ28のスイッチング動作を選択的に制御することができる。
スイッチ28は、(例えば、ROTプロセッサ26によって発行された1つ以上の制御信号に応答して)サービスプロセッサ38をメモリ装置30~36のうちの1つ以上に選択的に連結する。本実施形態において、サービスプロセッサ38は、スイッチ28を介して、第1のメモリ装置30に電気的に連結されている。
例示の目的で、第1のメモリ装置30は、第1のコンピュータシステム20に含まれていると示されている。しかしながら、第1のメモリ装置30は、第1のコンピュータシステム20に含まれてもよく、含まれなくてもよい。スイッチ28は、サービスプロセッサ38と第1のメモリ装置30との間の通信を選択的に電気的に切断し、サービスプロセッサ38を1つ以上の他のメモリ、例えば現在オフラインのメモリ装置32~34のうちの1つに再接続するための機能を含む。
このスイッチングおよび再接続は、本明細書ではスワップと呼ばれる。例えば、ROT26がスイッチ28に制御信号を発行することによって、サービスプロセッサ38を第1のメモリ装置30から切断し、第1のメモリ装置30を配置し、次に第3のメモリ装置34に接続すると、第3のメモリ装置34は、第1のコンピュータシステム20によって使用できる限り、第1のコンピュータシステム20の一部として見なされてもよい。この場合、前の第1のメモリ30は、スイッチ28を介して復元バックエンド22に電子的に移動される。
なお、ROTプロセッサ26はまた、制御プレーンクラウドサービス24の1つ以上のクラウドサービス(例えば、ウェブサービス、アプリケーションプログラミングインターフェイス(API)など)と通信する。本開示の例示的な実施形態において、制御プレーンクラウドサービス24は、バックエンド処理、例えば別のユーザが第1のコンピュータシステム20を割り当てられるときに第1のメモリ装置30を置換するために使用可能である準備を受けているオフラインメモリ32~36のうちの1つ以上のメモリのフォレンジクス分析およびデータ書き込みを実施する機能(ROTプロセッサ26を通して達成される)を実施するためのモジュールを含む。
第1のメモリ装置30がオフラインである間に、オフラインバックエンド処理を選択的に使用して、第1のコンピュータシステム20に関連して後で使用するためのメモリ装置32~36を準備することによって、第1のコンピュータシステム20のダウンタイムを回避することができる。
例えば、第1のコンピュータシステム20が、第1のメモリ装置30を使用した後に、クライアントシステム12の第1のユーザによって手放されると、ROTプロセッサ26は、例えば、制御プレーンクラウドサービス24の1つ以上のクラウドサービスからのシグナリングを介して、このイベントを検出することができる。このような手放すイベントを検出すると、ROTプロセッサ26は、スイッチ28を用いて、第1のメモリ装置30を電子的にスワップすることができる。例えば、第1のメモリ装置30は、電子的にスワップされ、第1のコンピュータシステム20の後続のユーザによる使用に備えて、サニタイズされ、更新され、または他の方法で処理された第3のメモリ装置34で交換されてもよい。
第1のコンピュータシステム20を第1のユーザから第2のユーザに引き渡す時に(または第2のユーザに引き渡すときに備えて)起こるこのスワップ時間は、コンピュータシステム20のダウンタイムを事実上排除するように、ゼロに近くてもよい。
なお、本明細書に記載された実施形態は、リサイクル操作を実行する目的のためのオフラインバックグラウンド処理だけではなく、追加の有益な技術を含んでもよい。
例えば、以下でより詳細に説明するように、制御プレーンクラウドサービスモジュール24は、リサイクル優先順位付けシステム40を実装するための1つ以上のクラウドサービス(例えば、ウェブサービス)または他のモジュールを含む。本開示の例示的な実施形態において、リサイクル優先順位付けシステム40は、複数の利用可能なコンピュータシステム内の全てのコンピュータシステム20が手放されるタイミングに関する推定値に基づいて、全てのコンピュータシステム20をランク付けする。コンピュータシステム(例えば、コンピュータシステム20)は、手放されると、バックグラウンド処理される。例えば、既存のメモリ装置30は、(例えば、ROTプロセッサ26からの制御信号に応答して、スイッチ28を介して)コンピュータシステム20から電子的に切断され、サニタイズされた、すなわち、(リサイクル操作を介して)バックグラウンド処理された新しいメモリが代わりに電子的に切り替えられ、すなわち、コンピュータシステム20および後続のユーザによる使用のためにオンラインに切り替えられる。
次いで、バックグラウンド処理に利用可能なサーバシステム14のコンピューティングリソースは、全てのコンピュータシステム20のサブセットに適用される。このサブセットは、最上位の優先順位値、すなわち、特定のコンピュータシステムおよび付属メモリ装置が今後の使用に備えてバックグラウンド処理および関連するリサイクル操作をすぐに必要すると推定された可能性に対応する値に基づいて選択される。
一般的に、特定のコンピューティング環境の需要に応じて、バックグラウンド処理操作で使用可能なサーバシステム14のコンピューティングシステムリソースが多いほど、サブセットは、より大きくなり得る。
要約すると、異なるユーザが、異なる持続時間にわたってコンピュータシステムを占有する。新しいソフトウェア更新または構成が展開のために利用可能になると、本明細書に記載された様々な実施形態は、(リサイクル優先順位付けシステム40によって決定された推定値または優先順位値に基づいて)、次にリサイクルされる可能性が最も高いコンピュータシステムをバックグラウンド更新およびサニタイズする(例えば、リサイクル操作を実行する)ことを優先させる。
なお、コンピュータシステムを次にリサイクルする必要がある可能性がどの程度あるかを決定または推定するための正確な方法は、実装に固有であってもよく、特定の実装の仕様に応じて変更されてもよい。
それにもかかわらず、実施形態は、コンピュータシステムが次に手放され、リサイクルされる可能性を推定することを容易にするために、いくつかの方法のうちの1つ以上を使用することができる。これらの方法は、以下の因子を考慮することを含むが、これらに限定されない。
機械を最も短く使用されている期間および機械を最も長く使用されている期間。このようなデータは、メトリックを表し、このようなメトリックによって示されるように、より長く使用されている機械、すなわち、コンピュータシステムは、新しいユーザに割り当てられたばかりの機械よりも次にリサイクルされる可能性が高くなる(その逆も同様である)。
機械を最も短く保有する顧客および機械を最も長く保有する顧客の履歴。このような顧客履歴データは、メトリックを表し、このようなメトリックによって示されるように、高い回転率に関連するユーザによって保有されている機械は、次にリサイクルされる可能性が高くなる。
過去に最も短い期間にリースされた機械および最も長い期間にリースされた機械のSKUによって分類された機械SKU番号および/またはタイプ(例えば、E3-2cコンピュート、E3-2cブロックストレージなど)。機械SKUに関連する回転率データ(または他の識別番号)は、特定の機械が次にリサイクルされる可能性を示すことができるメトリックを表す。
ホストの中央処理装置(CPU)温度を測定することによって推測された負荷メトリック。このメトリックによって示されるように、より低いCPU温度は、機械の稼働率が低いことを示し、次にリサイクルされる可能性が高くなる。
上記の方法のいずれか1つまたは組み合わせを用いて、使用時間、顧客の過去の挙動、SKUタイプおよびシステム負荷のパターンを決定することによって、次にリサイクルされる可能性が最も高い機械を予測する機械学習モデル(例えば、人工知能(AI)モジュール)によって出力されるメトリック。
なお、本明細書に記載された実施形態に従ったコンピュータシステム(および付属メモリ装置)のリサイクル優先順位付けは、限られたコンピューティングリソース、例えば、限られた帯域幅または他のシステムリソースを有するコンピューティング環境(例えば、クラウドベース環境)において特に有用であり得る。
また、本明細書に記載されたバックグラウンド更新メカニズムおよび方法は、コンピュータソフトウェア、ファームウェア、および/または他の関連する構成の更新を実施することの重要性に部分的に起因して、重要であり得る。このような更新は、かなりの時間を要するため、リサイクルイベントが(例えば、限られたコンピューティング環境リソースにより)ブロックされると、サーバシステム14および関連するコンピューティング環境の所有者の収益損失に換算されることがある。さらに、更新のブロックは、コンピュータシステムの過剰なダウンタイムをもたらし、ダウンまたはオフラインの時にリースできなくなる可能性がある。したがって、複数のコンピュータシステム20の順応性に悪影響を与える。
図2は、例えば、特定のコンピュータシステム(例えば、図1のコンピュータシステム20の1つ)が次にリサイクルされる可能性が最も高いタイミングの推定値に従って、(図1のクライアントシステム12を介して)図1の1人以上のユーザによって使用される複数のコンピューティング装置(すなわち、コンピュータシステム)のリサイクルおよび関連するバックグラウンド更新を選択的に優先させるために採用され得る第1の例示的な方法60を示す例示的な流れ図である。
図1および図2を参照して、第1のステップ62において、複数のコンピュータシステムの更新が可能になる。
第2のステップ64において、図1のリサイクル優先順位付けシステム40は、即時リサイクル可能性(すなわち、いつまたはどれくらい早くコンピュータシステムをリサイクルする必要があるかに関する推定値、および/またはリサイクルイベントが各コンピュータシステムに対してどのくらい即時であるかに関する推定値)を推定するためのプロセスを起動する。
続いて、第3のステップ66において、図1のリサイクル優先順位付けシステム40は、例えば、(本明細書ではメモリ装置とも呼ばれる)メモリAを使用するコンピュータシステムA、およびメモリBを使用するコンピュータシステムBが次に手放される可能性が最も高いと推定する(またはいくつかのユースケースにおいて決定する)。また、図1のリサイクル優先順位付けシステム40は、コンピュータシステムAおよびB並びに付属メモリAおよびBをそれぞれ効率的にバックグラウンド更新するために十分なサーバシステムリソースが存在すると判断することができる。
第4のステップ68において、図1のリサイクル優先順位付けシステム40は、コンピュータシステムAおよびB並びにメモリAおよびBに対して、バックグラウンド更新プロセスを開始することができる。バックグラウンド更新の開始は、図1のリサイクル優先順位付けシステム40から復元バックエンド22のROTプロセッサ26に送信される1つ以上の制御信号によって実現されてもよい。
この例示的なユースケースシナリオにおいて、(コンピュータシステムAおよびB並びにメモリAおよびBのバックグラウンド更新が成功に終了した後に発生する)第5のステップ70は、コンピュータシステムAおよびBのユーザがコンピュータシステムを直ちに手放さない可能性があることを理解した上で、待機するステップである。
システムが手放されると、第6のステップ72は、以前にオフラインのメモリAおよびBがオンラインになるように、バックグラウンド更新メモリAおよびBをそれぞれのコンピュータシステムAおよびBに電子的にスワップすることを含む。このスワップは、ROTプロセッサ26からスイッチ28に発行される制御信号によって実現されてもよい。
続いて、第7のステップ74において、コンピュータシステムAおよびB並びにメモリAおよびBのリサイクルおよびメモリスワップが終了する。
なお、第1の例示的な方法60および関連するユースケースシナリオは、変更および修正されてもよい。例えば、方法60は、複数のコンピュータのうち、代替のオフラインメモリのバックグラウンド処理によってまだ準備されていないコンピュータに対して繰り返して実行されてもよい。
さらに、第1の例示的な方法60が2つのコンピュータシステム(AおよびB)を同時に更新すると説明されているが、本開示の実施形態は、それに限定されない。任意の時点でバックグラウンド更新されるコンピュータシステムの数は、実装特有およびコンピューティング環境特有であってもよく、利用可能なコンピューティング環境リソース、例えば(バックグラウンド更新プロセスに使用され得る)帯域幅、処理負荷などに基づいて変動してもよい。
図3は、図1のシステム10を介して実装され得る第2の例示的なシステム80を示し、コンピュータシステムデータ(例えば、顧客および機械データベース86に記憶されたデータ、および/またはコンピュータシステム20上のセンサ88、90のポーリングを介して直接に利用可能なデータ)を用いて、コンピュータシステム20が前の顧客によって手放され、リサイクル(例えば、バックグラウンド更新)を必要とする可能性を示す推定値(すなわち、優先順位値)を決定するための(例えば、人工知能(AI)モジュール40による)機械学習および関連する人工知能の使用を示す図である。
第2の例示的なシステム80において、サーバシステム14は、リサイクル優先順位付けシステム40内のAIモジュール84を含むと示されている。例示の目的で、AIモジュール84は、(例えば、ポーリングおよび/または要求メッセージに応答して)温度センサ88およびSKU送信機90から入力を受信すると示されている。なお、SKUは、代替的に、顧客および機械データベース86から取得されてもよい(またはそれによってプッシュされてもよい)。
また、顧客および機械データベース86は、コンピュータシステムSKUと回転率とを関連付けるメトリック、個々の顧客と回転率とを関連付けるメトリック(例えば、関連するコンピュータシステムが手放される頻度およびリサイクルされる必要がある頻度)を提供することができる。
AIモジュール84は、特定のコンピュータシステムがリサイクルされる可能性が高いタイミングを正確に推定するAIモジュール84の能力を徐々に改良するように、例えば、特定のコンピュータシステムを直ちにリサイクルするまたは他のコンピュータシステムよりも早くリサイクルする必要がある可能性を推定するように、(例えば、教師ありおよび/または教師なし学習方法を介して)様々なモジュール88、90、86からの入力データを用いて訓練されてもよい。
例示の目的で、AIモジュール84は、コンピュータバックグラウンド更新モジュール82に出力を提供する。このモジュールは、AIモジュール84によって他のコンピュータシステムよりもバックグラウンド更新を必要とする可能性が高いと推定される1つ以上のコンピュータシステムのセットに対して、バックグラウンド更新および関連する処理(例えば、リサイクル操作)を選択的に開始するための追加コードを含む。
バックグラウンド更新モジュール82は、AIモジュール84によって出力された優先度推定値(優先順位推定値とも呼ばれる)に従ってコンピュータシステムおよび付属メモリ装置92のバックグラウンド処理を実行するために、図1の復元バックエンド22に加えて、1つ以上の追加のクラウドサービスを含むことができる。なお、メモリ装置92は、ファームウェアを収容する不揮発性メモリ装置を含み得るが、実施形態は、不揮発性メモリおよびファームウェアの使用に限定されない。
図4は、例えば図3のコンピュータバックグラウンド更新モジュール82によって実施されるバックグラウンド更新を容易にするために採用され得るメモリスワップシステム52の例示的なコンポーネント26、28、38を示している。本開示の例示的な実施形態において、選択的メモリスワップシステム52は、ROTプロセッサ26と、(図1のフロントエンド処理モジュール18の)サービスプロセッサ38と、図1の復元バックエンド22のスイッチ28とを含むと示されている。なお、図4には図1の第1のオンラインメモリ装置30が示されていないが、選択的メモリスワップシステム52はまた、図1の第1のメモリ装置30と通信している。
図4において、制御プレーンクラウドサービス24は、第1のバス(バス1)を介して選択的メモリスワップシステム52のROT26と通信すると示されている。ROT26は、第2のバス(バス2)を介してスイッチ28と通信し、サービスプロセッサ38は、第3のバス(バス3)を介してスイッチ28と通信する。スイッチ28は、第4のバス(バス4)を介して第2のオフライン不揮発性メモリ32と通信する。また、このスイッチは、第5のバス(バス5)を介して第3の不揮発性メモリ装置34と通信する。
なお、スイッチ28は、様々な技術によって実装されてもよい。本教示にアクセスする当業者は、過度の実験をすることなく、特定の実装ニーズを満たす適切なスイッチ構成を容易に決定することができる。一実装形態において、スイッチ28は、動作可能なシリアル周辺装置インターフェイス(OSPI)と通信するマルチプレクサ(MUX)を用いて実装されてもよい。
図5は、図1~4の実施形態と共に適切に使用される第2の例示的な方法130の流れ図である。第2の例示的な方法130は、(例えば、図1のクラウドまたはサーバシステム14に対応する)クラウドベースコンピューティング環境において、他のコンピューティングリソースをリサイクルまたは更新するために使用されるネットワークアクセス可能なコンピューティングリソースの効率的な使用を容易にする。
最初の決定するステップ132は、(例えば、図1のコンピュータシステム20から)、クラウドベースコンピューティング環境の1つ以上のユーザによって現在使用されている一組のコンピュータを決定することを含む。
後続の取得するステップ134は、一組のコンピュータ中の各コンピュータに関連する1つ以上のメトリック(例えば、図3に示すように、リサイクル優先順位付けシステム40および付属AIモジュール84への入力に対応するメトリック)を取得することを含む。
次に、使用するステップ136は、(例えば、図3のAIモジュール84を介して)1つ以上のメトリックを用いて、一組のコンピュータ中の各コンピュータが一組のコンピュータ中の各コンピュータの現在のユーザによって明け渡される可能性が高いタイミングに関する1つ以上の推定値(例えば、図3のAIモジュール84によって出力される推定値)を決定することを含む。
最後に、使用するステップ138は、一組のコンピュータ中の各コンピュータの1つ以上の推定値を使用して、各コンピュータをリサイクルするバックグラウンド更新プロセスを起動するタイミングを決定することを含む。使用するステップ138は、図3のバックグラウンド更新モジュール82および図4の関連するメモリスワップシステム52によって提供されるコードおよび関連する機能によって実装されてもよい。
なお、第2の例示的な方法130は、本教示の範囲から逸脱することなく修正されてもよい。例えば、第2の例示的な方法130は、使用するステップ138が、1つ以上の推定値に従ってより早期にリサイクルされると推定される一組のコンピュータ中のコンピュータがバックグラウンド更新プロセスによって優先的に処理されるように、1つ以上の推定値を用いて、各コンピュータを優先的にリサイクルすることをさらに含むことをさらに指定することができる。
リサイクルすることは、バックグラウンド更新プロセスを用いて、リサイクルされる各コンピュータの1つ以上のメモリ装置上のファームウェアを更新することをさらに含むことができる。1つ以上のメモリ装置は、バックグラウンド更新プロセスによって切り替えられ、現在のユーザによって明け渡される各コンピュータの1つ以上のメモリ装置を置換するように構成された1つ以上の代替メモリ装置(例えば、図1のオフラインメモリ装置32~36)を含むことができる。
リサイクルすることは、バックグラウンド更新プロセスを用いて、リサイクルされる各コンピュータの1つ以上のメモリ装置上のファームウェア、ソフトウェア、および/またはデータを更新することをさらに含むことができる。1つ以上のメモリ装置は、不揮発性メモリ装置であってもよい。
例示的な方法130は、1つ以上のメトリックが、各コンピュータが使用されている期間を示す第1のメトリックであって、より長く使用されているコンピュータが、ユーザによってより早期に明け渡される可能性が高いことを示す第1のメトリックと、ユーザが1つ以上のコンピュータを使用し続ける過去の期間を示す第2のメトリックであって、コンピュータを頻繁に明け渡すユーザによって使用されるコンピュータが、ユーザによってより早期に明け渡される可能性が高いことを示す第2のメトリックと、各コンピュータの識別番号に従って各コンピュータの回転率を示す第3のメトリックであって、高い回転率に関連すると識別されたコンピュータが、ユーザによってより早期に明け渡される可能性が高いことを示す第3のメトリックと、各コンピュータに関連する温度を示す第4のメトリックであって、より低い温度に関連するコンピュータが、より早期に明け渡される可能性が高いことを示す第4のメトリックと、機械学習モデルの第1のメトリック、第2のメトリック、第3のメトリック、および第4のメトリックのうちの1つ以上を説明する機械学習モデルの出力値を示す第5のメトリックとのうち、1つ以上を含むことをさらに指定することができる。
取得するステップ134は、1つ以上のウェブサービスを実行するクラウドサービスを用いて、1つ以上のコンピュータシステムおよび1つ以上のデータベースをプロービングすることによって、1つ以上のメトリックを取得することをさらに含むことができる。
(例えば、図1および図3のリサイクル優先順位付けシステム40および図4の制御プレーンクラウドサービスモジュール24に対応する)クラウドサービスと通信するROTプロセッサ(例えば、図4のROTプロセッサ26)は、クラウドサービスと通信するルートオブトラスト(ROT)プロセッサを含み、(例えば、図3のコンピュータバックグラウンド更新モジュール82を介して)ROTプロセッサと通信する1つ以上のメモリ装置(例えば、図3のメモリ装置92)のバックグラウンド更新プロセスを実施するための1つ以上のプロセスを選択的に起動することを容易にする。
図6は、図1~5の実施形態を実施するために使用可能なシステム900および関連するコンピューティング環境を示す概略ブロック図である。実施形態は、(例えば、ユーザ装置に常駐する)スタンドアロンアプリケーションとして、またはクライアント側コードとサーバ側コードの組み合わせを用いて実装されたウェブベースアプリケーションとして実装されてもよい。
汎用システム900は、ユーザ装置960~990、具体的には、デスクトップコンピュータ960、ノートブックコンピュータ970、スマートフォン980、モバイルフォン985、およびタブレット990を含む。汎用システム900は、任意の種類のユーザ装置、例えば、シンクライアントコンピュータ、インターネット対応のモバイルフォン、インターネット接続モバイル装置、タブレット、電子書籍、またはウェブページ、他の種類の電子ドキュメントおよびUIを表示および閲覧できるおよび/またはアプリケーションを実行できるPDAとインターフェイスで接続することができる。図示では、システム900は、5つのユーザ装置をサポートしているが、任意の数のユーザ装置をサポートすることができる。
ウェブサーバ910は、ウェブブラウザおよびスタンドアロンアプリケーションから、ウェブページ、電子文書、企業データまたは他のコンテンツ、およびユーザコンピュータからの他のデータを要求するリクエストを処理するために使用される。また、ウェブサーバ910は、企業の運用に関連するデータのプッシュデータまたはシンジケートコンテンツ、例えばRSSフィードを提供することができる。
アプリケーションサーバ920は、1つ以上のアプリケーションを作動させる。アプリケーションは、Java(登録商標)、C、C++、C#などのプログラミング言語、またはJavaScript(登録商標)またはECMAScript(European Computer Manufacturers Association Script)、Perl、PHP(Hypertext Preprocessor)、Python、Ruby、またはTCL(Tool Command Language)などのスクリプト言語で記述された1つ以上のスクリプトまたはプログラムとして実装することができる。アプリケーションは、Rails、Enterprise Java(登録商標)Beans、.NETなどのライブラリまたはアプリケーションフレームワークを使用して構築することができる。ウェブコンテンツは、HTML(HyperText Markup Language)、CSS(Cascading Style Sheets)、およびテンプレート言語およびパーサを含む他のウェブ技術を使用して作成することができる。
アプリケーションサーバ920上で動作するデータアプリケーションは、入力データおよびユーザコンピュータ要求を処理するように構成され、データ記憶装置またはデータベース930からのデータを格納または取得することができる。データベース930は、データアプリケーションによって作成および使用されるデータを格納する。一実施形態において、データベース930は、SQLフォーマットコマンドまたは他のデータベースクエリ言語に応答して、データを格納、更新および取得するように構成された関係型データベースを含む。他の実施形態は、非構造化データ記憶アーキテクチャおよびNoSQL(Not Only SQL)データベースを使用することができる。
一実施形態において、アプリケーションサーバ920は、プログラムまたはスクリプトを実行することができる1つ以上の汎用コンピュータを含む。一実施形態において、ウェブサーバ910は、1つ以上の汎用コンピュータ上で動作するアプリケーションとして実装される。ウェブサーバ910およびアプリケーションサーバ920は、同一のコンピュータ上で合併され、実行されてもよい。
電子通信ネットワーク940~950は、ユーザコンピューティング装置960~990と、ウェブサーバ910と、アプリケーションサーバ920と、データベース930との間の通信を可能にする。一実施形態において、ネットワーク940および950は、任意の電気通信装置または光通信装置、例えば有線ネットワーク940および無線ネットワーク950を含むことができる。また、ネットワーク940および950は、イーサネット(登録商標)ネットワークなどの1つ以上のローカルエリアネットワーク、インターネットなどのワイドエリアネットワーク、セルラーキャリアデータネットワーク、仮想プライベートネットワークなどの仮想ネットワークを含むことができる。
システム900は、本発明の実施形態に従って、アプリケーションを実行するための一例である。別の実施形態において、アプリケーションサーバ920、ウェブサーバ910、および必要に応じてデータベース930を単一のサーバコンピュータアプリケーションおよびシステムに組み込むことができる。さらなる実施形態において、仮想化アプリケーションおよび仮想マシンアプリケーションを用いて、アプリケーションサーバ920、ウェブサーバ910、およびデータベース930のうちの1つ以上を実装することができる。
さらに別の実施形態において、ウェブおよびアプリケーションの機能の全部または一部は、各々のユーザコンピュータ上で動作するアプリケーションに統合することができる。例えば、ユーザコンピュータ上のJavaScriptアプリケーションを用いて、データを取得または分析し、アプリケーションの一部を表示することができる。
図1および図6を参照して、図1のクライアントシステム12は、図6のデスクトップコンピュータ960、タブレット990、スマートフォン980、ノートブックコンピュータ970、および/またはモバイルフォン985のうちの1つ以上を介して実装されてもよい。図1のサーバシステム14および付属モジュール18~28は、図6のウェブサーバ910および/またはアプリケーションサーバ920を介して実装されてもよい。図3の顧客および機械データベース86は、図6のデータ記憶装置930を用いて実装されてもよい。
図7は、本明細書に記載された実装形態のために使用され得る例示的なコンピューティング装置またはシステム500のブロック図を示す。例えば、コンピューティング装置1000を用いて、図6のサーバ装置910、920を実装することができ、本明細書に記載された方法を実施することができる。いくつかの実装形態において、コンピューティング装置1000は、プロセッサ1002と、オペレーティングシステム1004と、メモリ1006と、入力/出力(I/O)インターフェイス1008とを含むことができる。
様々な実装形態において、プロセッサ1002を用いて、本明細書に記載された様々な機能および特徴を実現することができ、本明細書に記載された方法を実施することができる。プロセッサ1002は、本明細書に記載された方法を実施すると説明されているが、コンピューティング装置1000の任意の適切なコンポーネントもしくはコンポーネントの組み合わせ、または装置1000に関連する任意の適切なプロセッサもしくはプロセッサの組み合わせ、または任意の適切なシステムは、本明細書に記載されたステップを実施することができる。本明細書に記載された方法は、ユーザ装置、サーバ、または両方の組み合わせ上で実施されてもよい。
また、例示的なコンピューティング装置1000は、メモリ1006または任意の他の適切な記憶場所もしくはコンピュータ可読媒体に記憶され得るソフトウェアアプリケーション1010を含む。ソフトウェアアプリケーション1010は、プロセッサ1002が本明細書に記載された機能および他の機能を実行することを可能にする命令を提供する。コンピューティング装置1000のコンポーネントは、1つ以上のプロセッサまたはハードウェア装置の任意の組み合わせ、およびハードウェア、ソフトウェア、ファームウェアなどの任意の組み合わせによって実装されてもよい。
図示を簡単にするために、図7は、プロセッサ1002、オペレーティングシステム1004、メモリ1006、I/Oインターフェイス1008、およびソフトウェアアプリケーション1010の各々を1つのブロックとして示している。これらのブロック1002、1004、1006、1008および1010は、複数のプロセッサ、複数のオペレーティングシステム、複数のメモリ、複数のI/Oインターフェイス、および複数のソフトウェアアプリケーションを表すことができる。様々な実装形態において、コンピューティング装置1000は、図示された全てのコンポーネントを含まなくてもよく、および/または図示されたコンポーネントの代わりにまたは追加的に他のコンポーネントを含んでもよい。
特定の実施形態を参照して詳細な説明を説明したが、これらの特定の実施形態は、単に例示であり、限定的なものではない。例えば、特定の種類のリソース(例えば不揮発性メモリ)または動作に関して特徴を説明したが、本明細書に記載された特徴は、他のクラウドコンピューティングリソースおよび動作に適用可能である。
さらに、クラウドコンピューティングは、メモリ復元システムがマザーボードによって実装され得るコンピューティングシステムの一例として記載されているが、本発明のメモリ復元システムは、メモリ装置または他の電子ハードウェアがバックグラウンドで更新される他のコンピューティング環境に使用されてもよい。例えば、ネットワークカード、ハードドライブなどは、現在実行中のソフトウェアに干渉することなく更新されてもよい。
C、C++、Java(登録商標)、アセンブリ言語などを含む任意の適切なプログラミング言語を用いて、特定の実施形態のルーチンを実装することができる。異なるプログラミング技術、例えば手続き型またはオブジェクト指向型プログラミング技術を使用することができる。ルーチンは、単一の処理装置または複数のプロセッサ上で実行することができる。ステップ、動作または演算は、特定の順序で記載されているが、この順序は、異なる特定の実施形態では変更されてもよい。いくつかの特定の実施形態において、本明細書に記載された順次に実行される複数のステップは、同時に実行されてもよい。
特定の実施形態は、命令実行システム、機械、システムまたは装置によってまたはそれに関連して使用されるコンピュータ可読記憶媒体に実装されてもよい。特定の実施形態は、ソフトウェアまたはハードウェアまたは両方の組み合わせによる制御ロジックの形で実装されてもよい。この制御ロジックは、1つ以上のプロセッサによって実行されると、特定の実施形態に記載されたものを実行するように動作可能である。例えば、ハードウェア記憶装置などの非一時的な媒体を用いて、実行可能命令を含むことができる制御ロジックを格納することができる。
特定の実施形態は、プログラムされた汎用デジタルコンピュータ、特定用途向け集積回路、プログラマブルロジック装置、フィールドプログラマブルゲートアレイ、光学的システム、化学的システム、生物学的システム、量子的またはナノ工学的システムなどを用いて、実装されてもよい。他のコンポーネントおよび機構を使用することができる。一般に、特定の実施形態の機能は、当技術分野で知られている任意の手段によって達成することができる。分散型またはネットワーク化システム、コンポーネントおよび/または回路を使用することができる。クラウドコンピューティングまたはクラウドサービスを使用することができる。データは、有線、無線、または他の手段で送信または転送することができる。
また、図面に示された1つ以上の要素は、より離れたまたは集中した方法で配置されてもよく、動作可能に限り、特定の需要に応じて外してもよい。このように、コンピュータが上記の方法のいずれかを実行することを可能にするプログラムまたはコードを機械可読媒体に格納する実装も、本発明の精神および範囲内に含まれる。
「プロセッサ」は、データ、信号または他の情報を処理する任意の適切なハードウェアおよび/またはソフトウェアシステム、メカニズムまたはコンポーネントを含む。プロセッサには、汎用中央処理装置、複数の処理装置、機能を実現するための専用回路を備えたシステムまたは他のシステムを含むことができる。処理は、地理的な場所または時間に限定されない。例えば、プロセッサは、例えば、「リアルタイム」、「オフライン」または「バッチモード」で機能を実行することができる。処理の一部は、異なる(または同様の)処理システムによって、異なる時間に異なる場所で実行することができる。処理システムの例は、サーバ、クライアント、エンドユーザ装置、ルータ、スイッチ、ネットワーク化装置などを含む。コンピュータは、メモリと通信する任意のプロセッサである。メモリは、任意の適切なプロセッサ可読記憶媒体、例えば、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、磁気または光ディスク、またはプロセッサによって実行される命令を格納する適切な他の非一時的な媒体であってもよい。
本明細書の説明および特許請求の範囲に使用された場合、「a」、「an」および「the」は、文脈から明確に指示しない限り、複数を含む。また、本明細書の説明および特許請求の範囲に使用された場合、「in」は、文脈から明確に指示しない限り、「in」および「on」を意味する。
したがって、本明細書において特定の実施形態を説明したが、任意の修正、様々な変更、および置換は、本開示に含まれる。場合によって、特定の実施形態において、本発明の精神および範囲から逸脱することなく、対応する他の特徴を使用せず、いくつかの特徴を使用することができる。したがって、特定の状況または材料を本質的な範囲および精神に適合するように、多くの変更を加えることができる。
Claims (20)
- プロセッサ可読有形媒体であって、
1つ以上のプロセッサによって実行可能であり、実行されると以下の動作を実行可能である命令を含み、
前記動作は、
クラウドベースコンピューティング環境の1人以上のユーザによって現在使用されている一組のコンピュータを決定することと、
前記一組のコンピュータ中の各コンピュータに関連する1つ以上のメトリックを取得することと、
前記1つ以上のメトリックを用いて、前記一組のコンピュータ中の各コンピュータが前記一組のコンピュータ中の各コンピュータの現在のユーザによって明け渡される可能性が高いタイミングに関する1つ以上の推定値を決定することと、
前記一組のコンピュータ中の各コンピュータの前記1つ以上の推定値を使用して、各コンピュータをリサイクルするバックグラウンド更新プロセスを起動するタイミングを決定することとを含む、プロセッサ可読有形媒体。 - 使用することは、前記1つ以上の推定値に従ってより早期にリサイクルされると推定される前記一組のコンピュータ中のコンピュータが前記バックグラウンド更新プロセスによって優先的に処理されるように、前記1つ以上の推定値を用いて各コンピュータを優先的にリサイクルすることをさらに含む、請求項1に記載のプロセッサ可読有形媒体。
- リサイクルすることは、前記バックグラウンド更新プロセスを用いて、リサイクルされる各コンピュータの1つ以上のメモリ装置上のファームウェアを更新することをさらに含む、請求項2に記載のプロセッサ可読有形媒体。
- 前記1つ以上のメモリ装置は、前記バックグラウンド更新プロセスによって切り替えられ、前記現在のユーザによって明け渡される各コンピュータの前記1つ以上のメモリ装置を置換するように構成された1つ以上の代替メモリ装置を含む、請求項3に記載のプロセッサ可読有形媒体。
- リサイクルすることは、前記バックグラウンド更新プロセスを用いて、リサイクルされる各コンピュータの1つ以上のメモリ装置上のソフトウェアを更新することをさらに含む、請求項2に記載のプロセッサ可読有形媒体。
- リサイクルすることは、前記バックグラウンド更新プロセスを用いて、リサイクルされる各コンピュータの1つ以上のメモリ装置に対してフォレンジック分析を実行することをさらに含む、請求項2に記載のプロセッサ可読有形媒体。
- 前記1つ以上のメモリ装置は、1つ以上の不揮発性メモリ装置を含む、請求項6に記載のプロセッサ可読有形媒体。
- 前記1つ以上のメトリックは、
各コンピュータが使用されている期間を示す第1のメトリックであって、より長く使用されているコンピュータが、前記ユーザによってより早期に明け渡される可能性が高いことを示す第1のメトリックと、
前記ユーザが1つ以上のコンピュータを使用し続ける過去の期間を示す第2のメトリックであって、コンピュータを頻繁に明け渡すユーザによって使用されるコンピュータが、前記ユーザによってより早期に明け渡される可能性が高いことを示す第2のメトリックと、
各コンピュータの識別番号に従って各コンピュータの回転率を示す第3のメトリックであって、高い回転率に関連すると識別されたコンピュータが、前記ユーザによってより早期に明け渡される可能性が高いことを示す第3のメトリックと、
各コンピュータに関連する温度を示す第4のメトリックであって、より低い温度に関連するコンピュータが、より早期に明け渡される可能性が高いことを示す第4のメトリックと、
機械学習モデルの前記第1のメトリック、前記第2のメトリック、前記第3のメトリック、および前記第4のメトリックのうちの1つ以上を説明する機械学習モデルの出力値を示す第5のメトリックとのうち、1つ以上を含む、請求項1に記載のプロセッサ可読有形媒体。 - 取得することは、1つ以上のウェブサービスを実行するクラウドサービスを用いて、前記1つ以上のコンピュータシステムおよび1つ以上のデータベースをプロービングすることによって、前記1つ以上のメトリックを取得することをさらに含む、請求項8に記載のプロセッサ可読有形媒体。
- 前記クラウドサービスと通信するルートオブトラスト(ROT)プロセッサをさらに含み、前記ROTプロセッサと通信する1つ以上のメモリ装置に対して前記バックグラウンド更新プロセスを実施するための1つ以上のプロセスを選択的に起動することを容易にする、請求項9に記載のプロセッサ可読有形媒体。
- クラウドベースコンピューティング環境において他のコンピューティングリソースをリサイクルまたは更新するために使用されるネットワークアクセス可能なコンピューティングリソースの効率的な使用を容易にするための方法であって、前記方法は
前記クラウドベースコンピューティング環境の1人以上のユーザによって現在使用されている一組のコンピュータを決定することと、
前記一組のコンピュータ中の各コンピュータに関連する1つ以上のメトリックを取得することと、
前記1つ以上のメトリックを用いて、前記一組のコンピュータ中の各コンピュータが前記一組のコンピュータ中の各コンピュータの現在のユーザによって明け渡される可能性が高いタイミングに関する1つ以上の推定値を決定することと、
前記一組のコンピュータ中の各コンピュータの前記1つ以上の推定値を使用して、各コンピュータをリサイクルするバックグラウンド更新プロセスを起動するタイミングを決定することとを含む、方法。 - 使用することは、前記1つ以上の推定値に従ってより早期にリサイクルされると推定される前記一組のコンピュータ中のコンピュータが前記バックグラウンド更新プロセスによって優先的に処理されるように、前記1つ以上の推定値を用いて各コンピュータを優先的にリサイクルすることをさらに含む、請求項11に記載の方法。
- リサイクルすることは、前記バックグラウンド更新プロセスを用いて、リサイクルされる各コンピュータの1つ以上のメモリ装置上のファームウェアを更新することをさらに含む、請求項12に記載の方法。
- 前記1つ以上のメモリ装置は、前記バックグラウンド更新プロセスによって切り替えられ、前記現在のユーザによって明け渡される各コンピュータの前記1つ以上のメモリ装置を置換するように構成された1つ以上の代替メモリ装置を含む、請求項13に記載の方法。
- リサイクルすることは、前記バックグラウンド更新プロセスを用いて、リサイクルされる各コンピュータの1つ以上のメモリ装置上のソフトウェアを更新することをさらに含む、請求項12に記載の方法。
- リサイクルすることは、前記バックグラウンド更新プロセスを用いて、リサイクルされる各コンピュータの1つ以上のメモリ装置に対してフォレンジック分析を実行することをさらに含み、
前記1つ以上のメモリ装置は、1つ以上の不揮発性メモリ装置を含む、請求項12に記載の方法。 - 前記1つ以上のメトリックは、
各コンピュータが使用されている期間を示す第1のメトリックであって、より長く使用されているコンピュータが、前記ユーザによってより早期に明け渡される可能性が高いことを示す第1のメトリックと、
前記ユーザが1つ以上のコンピュータを使用し続ける過去の期間を示す第2のメトリックであって、コンピュータを頻繁に明け渡すユーザによって使用されるコンピュータが、前記ユーザによってより早期に明け渡される可能性が高いことを示す第2のメトリックと、
各コンピュータの識別番号に従って各コンピュータの回転率を示す第3のメトリックであって、高い回転率に関連すると識別されたコンピュータが、前記ユーザによってより早期に明け渡される可能性が高いことを示す第3のメトリックと、
各コンピュータに関連する温度を示す第4のメトリックであって、より低い温度に関連するコンピュータが、より早期に明け渡される可能性が高いことを示す第4のメトリックと、
機械学習モデルの前記第1のメトリック、前記第2のメトリック、前記第3のメトリック、および前記第4のメトリックのうちの1つ以上を説明する機械学習モデルの出力値を示す第5のメトリックとのうち、1つ以上を含む、請求項11に記載の方法。 - 取得することは、1つ以上のウェブサービスを実行するクラウドサービスを用いて、前記1つ以上のコンピュータシステムおよび1つ以上のデータベースをプロービングすることによって、前記1つ以上のメトリックを取得することをさらに含む、請求項17に記載の方法。
- 前記クラウドサービスと通信するルートオブトラスト(ROT)プロセッサをさらに含み、前記ROTプロセッサと通信する1つ以上のメモリ装置に対して前記バックグラウンド更新プロセスを実施するための1つ以上のプロセスを選択的に起動することを容易にする、請求項18に記載の方法。
- 機器であって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサによる実行のために1つ以上の有形媒体にエンコードされ、実行されると、以下の動作を実行可能なロジックとを備え、
前記動作は、
クラウドベースコンピューティング環境の1人以上のユーザによって現在使用されている一組のコンピュータを決定することと、
前記一組のコンピュータ中の各コンピュータに関連する1つ以上のメトリックを取得することと、
前記1つ以上のメトリックを用いて、前記一組のコンピュータ中の各コンピュータが前記一組のコンピュータ中の各コンピュータの現在のユーザによって明け渡される可能性が高いタイミングに関する1つ以上の推定値を決定することと、
前記一組のコンピュータ中の各コンピュータの前記1つ以上の推定値を使用して、各コンピュータをリサイクルするバックグラウンド更新プロセスを起動するタイミングを決定することとを含む、機器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/074,356 US11436000B2 (en) | 2020-10-19 | 2020-10-19 | Prioritized non-active memory device update |
US17/074,356 | 2020-10-19 | ||
PCT/US2021/055430 WO2022086859A1 (en) | 2020-10-19 | 2021-10-18 | Prioritized non-active memory device update |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023546903A true JP2023546903A (ja) | 2023-11-08 |
Family
ID=78822323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023523615A Pending JP2023546903A (ja) | 2020-10-19 | 2021-10-18 | 非アクティブメモリ装置の優先更新 |
Country Status (5)
Country | Link |
---|---|
US (3) | US11436000B2 (ja) |
EP (1) | EP4208788A1 (ja) |
JP (1) | JP2023546903A (ja) |
CN (1) | CN116391177A (ja) |
WO (1) | WO2022086859A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115185687B (zh) * | 2022-07-08 | 2023-11-14 | 慧之安信息技术股份有限公司 | 基于深度学习的内存分配方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8261269B2 (en) * | 2009-09-21 | 2012-09-04 | Oracle International Corporation | System and method for synchronizing transient resource usage between virtual machines in a hypervisor environment |
US8966085B2 (en) * | 2012-01-04 | 2015-02-24 | International Business Machines Corporation | Policy-based scaling of computing resources in a networked computing environment |
US9256469B2 (en) * | 2013-01-10 | 2016-02-09 | International Business Machines Corporation | System and method for improving memory usage in virtual machines |
WO2015161480A1 (en) * | 2014-04-24 | 2015-10-29 | Empire Technology Development Llc | Resource consumption optimization |
US20160092353A1 (en) * | 2014-09-25 | 2016-03-31 | Robert C. Swanson | Establishing cold storage pools from aging memory |
US10409649B1 (en) * | 2014-09-30 | 2019-09-10 | Amazon Technologies, Inc. | Predictive load balancer resource management |
US9703602B1 (en) * | 2015-03-31 | 2017-07-11 | Amazon Technologies, Inc. | Burst throttling for multi-tenant storage services |
US10031785B2 (en) * | 2015-04-10 | 2018-07-24 | International Business Machines Corporation | Predictive computing resource allocation for distributed environments |
US10938655B2 (en) * | 2016-01-26 | 2021-03-02 | International Business Machines Corporation | Enterprise cloud garbage collector |
US10419553B2 (en) * | 2017-01-31 | 2019-09-17 | Cisco Technology, Inc. | Dynamic docker pool recycling |
TWI598744B (zh) * | 2017-03-16 | 2017-09-11 | 廣達電腦股份有限公司 | 雲端資源之管理系統及其管理方法 |
US10445143B2 (en) * | 2017-06-14 | 2019-10-15 | Vmware, Inc. | Device replacement for hyper-converged infrastructure computing environments |
US10931780B2 (en) * | 2018-02-28 | 2021-02-23 | International Business Machines Corporation | Resource pre-caching and tenant workflow recognition using cloud audit records |
US10628070B2 (en) * | 2018-03-19 | 2020-04-21 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Selecting and compressing target files to obtain additional free data storage space to perform an operation in a virtual machine |
US10824412B2 (en) * | 2018-04-27 | 2020-11-03 | Nutanix, Inc. | Method and apparatus for data driven and cluster specific version/update control |
US11113117B2 (en) * | 2018-06-05 | 2021-09-07 | Vmware, Inc. | Clustering routines for extrapolating computing resource metrics |
US10496306B1 (en) * | 2018-06-11 | 2019-12-03 | Oracle International Corporation | Predictive forecasting and data growth trend in cloud services |
US10812521B1 (en) * | 2018-08-10 | 2020-10-20 | Amazon Technologies, Inc. | Security monitoring system for internet of things (IOT) device environments |
US11526370B2 (en) * | 2019-03-10 | 2022-12-13 | Microsoft Technology Licensing, Llc. | Cloud resource management using machine learning |
US10868732B2 (en) * | 2019-04-02 | 2020-12-15 | Sap Se | Cloud resource scaling using programmable-network traffic statistics |
US11609845B2 (en) | 2019-05-28 | 2023-03-21 | Oracle International Corporation | Configurable memory device connected to a microprocessor |
US11755372B2 (en) * | 2019-08-30 | 2023-09-12 | Microstrategy Incorporated | Environment monitoring and management |
US20210224109A1 (en) * | 2020-01-16 | 2021-07-22 | Cisco Technology, Inc. | Systems and methods for orchestrating cloud resources |
US11620076B2 (en) | 2020-10-19 | 2023-04-04 | Oracle International Corporation | Accelerated non-volatile memory device inspection and forensics |
-
2020
- 2020-10-19 US US17/074,356 patent/US11436000B2/en active Active
-
2021
- 2021-10-18 CN CN202180071353.9A patent/CN116391177A/zh active Pending
- 2021-10-18 JP JP2023523615A patent/JP2023546903A/ja active Pending
- 2021-10-18 WO PCT/US2021/055430 patent/WO2022086859A1/en active Application Filing
- 2021-10-18 EP EP21820349.5A patent/EP4208788A1/en active Pending
-
2022
- 2022-07-27 US US17/875,229 patent/US11755310B2/en active Active
-
2023
- 2023-07-31 US US18/228,204 patent/US20230385048A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US11436000B2 (en) | 2022-09-06 |
CN116391177A (zh) | 2023-07-04 |
WO2022086859A1 (en) | 2022-04-28 |
US20220121434A1 (en) | 2022-04-21 |
US20220365770A1 (en) | 2022-11-17 |
US11755310B2 (en) | 2023-09-12 |
US20230385048A1 (en) | 2023-11-30 |
EP4208788A1 (en) | 2023-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10430324B2 (en) | System and method for automated intelligent mobile application testing | |
US10225145B2 (en) | Method and device for updating client | |
EP3175359B1 (en) | Patch process ensuring high availability of cloud application | |
US10216548B1 (en) | Dynamic and adaptive programmatic interface selection (DAPIS) | |
US20110010708A1 (en) | System and method for transporting configuration parameters | |
US9229839B2 (en) | Implementing rate controls to limit timeout-based faults | |
US8806277B1 (en) | Systems and methods for fetching troubleshooting data | |
KR101916294B1 (ko) | 클라우드 데이터 센터 분석을 위한 기술 | |
US11048577B2 (en) | Automatic correcting of computing cluster execution failure | |
US9098392B1 (en) | Systems and methods for changing fencing modes in clusters | |
US20230385048A1 (en) | Predictive recycling of computer systems in a cloud environment | |
US9164775B2 (en) | Method and apparatus for performing an out of band job | |
US11861214B2 (en) | Memory device forensics and preparation | |
CN115951845B (zh) | 一种磁盘管理方法、装置、设备及存储介质 | |
US20150113090A1 (en) | Selecting a primary storage device | |
US10637915B1 (en) | Storage services configured for storage-oriented applications | |
US11922159B2 (en) | Systems and methods for cloning firmware updates from existing cluster for cluster expansion | |
US11714687B2 (en) | Dynamic preparation of a new network environment, and subsequent monitoring thereof | |
US20190327159A1 (en) | Systems and methods for identifying and displaying logon duration metrics | |
US9596158B2 (en) | Common information model (CIM) object transfer via requestor statistical tracking | |
US20170322893A1 (en) | Computing node to initiate an interrupt for a write request received over a memory fabric channel | |
CN116303513A (zh) | 一种分布式平台的数据加载方法、装置及介质 |