Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7728866B2 - 加速された不揮発性メモリデバイス検査およびフォレンジック - Google Patents
[go: Go Back, main page]

JP7728866B2 - 加速された不揮発性メモリデバイス検査およびフォレンジック - Google Patents

加速された不揮発性メモリデバイス検査およびフォレンジック

Info

Publication number
JP7728866B2
JP7728866B2 JP2023523622A JP2023523622A JP7728866B2 JP 7728866 B2 JP7728866 B2 JP 7728866B2 JP 2023523622 A JP2023523622 A JP 2023523622A JP 2023523622 A JP2023523622 A JP 2023523622A JP 7728866 B2 JP7728866 B2 JP 7728866B2
Authority
JP
Japan
Prior art keywords
memory device
computer system
processors
memory
user
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
JP2023523622A
Other languages
English (en)
Other versions
JP2023546904A5 (ja
JP2023546904A (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 JP2023546904A publication Critical patent/JP2023546904A/ja
Publication of JP2023546904A5 publication Critical patent/JP2023546904A5/ja
Application granted granted Critical
Publication of JP7728866B2 publication Critical patent/JP7728866B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)

Description

関連出願の参照
本出願は、2020年10月19日に提出された、ACCELERATED NON-VOLATILE MEMORY DEVICE INSPECTION AND FORENSICSと題される米国特許出願連続番号第17/074,379号(ORACP0262/ORACP00515-US-NP)に対する優先権を主張し、それは、あらゆる目的のために本出願において完全に記載されているかの如く、参照により本明細書に組み込まれる。
背景
本願は、コンピューティングに関し、より詳細には、コンピューティングリソースのダウンタイムを最小限に抑えながら、コンピューティング環境においてコンピューティングリソースをリサイクルする効率を高めるためのソフトウェア、システム、および方法に関する。
コンピューティングリソース、例えば、コンピュータシステムおよび付属メモリ、データ、ソフトウェアなどを選択的にリサイクルするためのシステムおよび方法は、コンピュータシステム(例えば、サーバ)を外部顧客にリースすることに関与するクラウドベースアプリケーションを含む様々な要求の高いアプリケーションに採用されている。この場合、関連するサーバ側コンピュータシステムは、前の顧客によって手放されると、新しい顧客に引き渡すまたはリースする前にリサイクルされなければならない。このようなアプリケーションは、リソースのダウンタイムを最小限に抑え且つリサイクル操作を実行するために必要なクラウドベースリソースを最小限に抑えながら、(例えばコンピューティングリソースを後のユーザのために準備するよう)コンピューティングリソースを容易にリサイクルするための効率的なメカニズムをしばしば必要とする。
例示的なクラウドベースコンピューティング環境において、コンピュータシステムは、リサイクルされた後、後続のユーザに引き渡される。このリサイクルプロセスは、例えば、過去のデータ(例えば、前の顧客からのデータ)を消去し、コンピュータの不揮発性メモリデバイス上で動作する古いファームウェアを更新することによって、コンピュータシステムをデジタル的にサニタイズおよび更新することを含む。
従来、ユーザがリースしたコンピュータシステムを手放す場合、例えば、不揮発性メモリの消去を実行し、新しいファームウェアおよび付属データと置換することによって、コンピュータシステムをリサイクルしている間に、コンピュータシステムの全体は、オフラインになる。しかしながら、このことは、コンピュータシステムの大幅なダウンタイムを生じさせ、ホスト組織の収益を損なう可能性がある。さらに、従来のファームウェアおよびデータの消去および再インストールは、特に時間がかかるため、コンピュータシステムのダウンタイムがさらに長くなる可能性がある。
コンピューティングリソースをリサイクルするための代替的な方法は、リサイクル操作のために過剰なクラウドベースリソースを必要とするため、同様に非効率的である。
概要
本明細書で論じられる様々な実施形態は、新たなユーザが付随するコンピュータシステム上でワークロードを潜在的に同時に実行している一方で、以前のユーザの不揮発性メモリコンテンツの検査(例えば、フォレンジック分析)を可能にするためのクラウドベースのサーバ側機能性を実現する。各コンピュータシステムは、複数の不揮発性記憶装置(例えば、ネットワークインターフェースコントローラ(NIC)、基本入出力システム(BIOS)メモリ、フィールドプログラマブルゲートアレイ(FPGA)など)を有してもよい。
本明細書で論じられる実施形態は、所与のコンピュータ上のすべての必要なメモリデバイスのフォレンジックバックグラウンド更新を並行してまたは同時に使用することができ、オフラインでリサイクルされるすべてのメモリデバイスは、システムダウンタイムを必要とすることなく、かつ、準備された/リサイクルされたメモリデバイスが改ざんされていない、たとえば、何らかの方法で修正または破損されていないことを保証しながら、新たなユーザのニーズを満たすために必要に応じてオンラインで切り替えることができる。加えて、フォレンジック分析の使用は、以下でより充分に論じられるように、リサイクリングプロセスをさらに促進し得る。
例示的な方法は、後続のユーザによる使用に備えて、クラウドベースのコンピューティング環境のコンピュータシステムの1つ以上のメモリデバイスを選択的に更新することを容易にし、第1のメモリデバイスを使用している第1のコンピュータシステムの現在の第1のユーザが、将来のある時間に第1のメモリデバイスを放棄すると予定されていると判定することと、第1のコンピュータシステムによる使用に備えて第1のメモリデバイスと交換されるべき、第2の後続のユーザに従う第2のメモリデバイスを準備することとを含み、上記準備することは、さらに、第2のメモリデバイス上でフォレンジック分析を実行することと、上記実行することに応答して第2のメモリデバイス上でデータもしくはコードを選択的に更新または変更することとを含み、本方法はさらに、第1のコンピュータシステムが第1のユーザによって放棄されたことを検出することと、上記検出することに応答して、メモリスワップシステムを使用して、第1のメモリの代わりに第2のメモリデバイスを(物理的ではなく電子的に)位置決めし(すなわち、第2のメモリデバイスがオンラインにされ、第1のメモリデバイスがオフラインにされるように、オフライン状態およびオンライン状態をスワップし)、それによって、第2のユーザが、コンピュータシステムを、第2のメモリデバイスとの通信状態で使用することを可能にすることとを含む。
より具体的な実施形態では、例示的な方法は、第2のメモリデバイスを、第1のメモリデバイスと交換されるよう準備することを容易にするために、クラウドサービスを使用してメモリスワップシステムと通信することをさらに含む。
フォレンジック分析およびデータを選択的に更新または変更することを容易にするために、クラウドサービスを用いて、メモリスワップシステムの信頼の基点(ROT)プロセッサと通信してもよい。第1のメモリデバイスを第2のメモリデバイスと交換すること(すなわち、オンライン状態とオフライン状態とを交換すること)を容易にするために、ROTプロセッサは、スイッチと通信してもよい。
第1のメモリデバイスまたは第2のメモリデバイスがそれぞれ、バックグラウンド更新プロセスを介して、コンピュータシステムによる使用のために準備されているかどうかによって、コンピュータシステムのユーザによって開始されるコンピュータシステムの1つ以上の動作を第1のメモリデバイスまたは第2のメモリデバイスとインターフェースすることを容易にするために、サービスプロセッサがスイッチと通信してもよい。
代替実施形態では、メモリスワップシステムを使用するステップは、さらに、第1のコンピュータシステムが第1のユーザによって放棄されたことを検出することに応答して、第1のメモリデバイスをオフラインにし、第2のメモリデバイスをオンラインにすることと、第1のメモリデバイス上でフォレンジック分析を実行し、それに応答してフォレンジック結果を生成することと、フォレンジック結果を使用して、第1のメモリデバイスに後で書き込むべきデータを決定することと、第3のメモリデバイスに書き込まれるべき新たなデータを決定するよう、フォレンジック処理を受けた第3のメモリデバイスに新たなデータを選択的に書き込んで、第2のメモリデバイスおよび付随するコンピュータシステムが第2のユーザによって放棄されるときに、第2のメモリデバイスの代わりに電子的に位置決めするために、第3のメモリデバイスを準備するようにすることと、第2のユーザがコンピュータを放棄したことを検出することと、第2のメモリデバイスの代わりに第3のメモリデバイスを電子的に位置決めし、第2のメモリデバイスは、フォレンジック分析に備えてオフラインにされ、第3のメモリデバイスは、第1のコンピュータシステムおよび第3のユーザによる使用のためにオンラインにされ、第1のメモリデバイスは、第1のメモリデバイスに対するデータの任意の書換または更新に備えて電子的に位置決めされて、第1のコンピュータシステムおよび第3のユーザによって使用される第3のメモリデバイスの放棄で、第1のメモリデバイスを第4のユーザによる使用のために準備するようにすることとを含んでもよい。
第1のメモリデバイスおよび第2のメモリデバイスは、不揮発性メモリを表してもよい。コンピューティング環境は、クラウドベースのコンピューティング環境などのネットワーク化されたコンピューティング環境を含むか、またはそれを表してもよい。フォレンジック分析は、1つ以上のハッシュもしくは巡回冗長検査(CRC)または他のコードもしくはフォレンジック機構を使用して、データおよび/またはコンピュータコードのセットが第1のメモリデバイスまたは第2のメモリデバイス上で修正または別様に改ざん、置換、もしくは増補されたかどうかに関する指示を確認することを含んでもよい。
本明細書に開示される特定の実施形態の性質および利点のさらなる理解は、明細書の残りの部分および添付の図面を参照することによって実現され得る。
復元バックエンドを用いて、1つ以上のクラウドサービスおよび/またはアプリケーションプログラミングインターフェース、および/またはコードライブラリを介して実装され得る、コンピューティングリソースのバックグラウンド更新を選択的に実行することを容易にする第1の例示的なシステムおよび付属コンピューティング環境を示す図である。 図1の第1の例示的システムによって実現されてもよい、第2の例示的システムおよび付随コンピューティング環境を示し、さらに、フォレンジックおよびバックグラウンド更新を選択的に用いるために使用される制御プレーンクラウドサービスの例示的詳細を示す。 図1の第1の例示的システムを介して実現されてもよい、図2のメモリスワップシステムの例示的構成要素を示す。 実質的なコンピュータシステムのダウンタイムを必要とする、コンピュータシステム内でメモリデバイスをリサイクルするための例示的な従来の手法を示す第1のシーケンスフロー図である。 図1~図3のクラウドサービスと数個のメモリとの間の例示的な通信交換を示し、さらに、本明細書で論議される実施形態による、リサイクリングイベントおよびメモリスワップイベントのためのコンピュータシステムダウンタイムの事実上排除を含む、実質的時間節約を示す、第2のシーケンスフロー図である。 本明細書で論じる様々な実施形態とともに使用するのに適した第1の例示的な方法のフロー図である。 本明細書に記載された実装形態を実施するために使用され得る例示的なネットワーク環境を示す概略ブロック図である。 本明細書に記載された実装形態を実施するために使用され得る例示的なコンピューティングデバイスまたはシステムを示すブロック図である。
実施形態の詳細な説明
現在、コンピュータリサイクルイベント(本明細書ではリサイクリングイベントとも呼ばれる)の一部として、例えば、それによって、コンピュータシステムおよび付随する不揮発性メモリは、別のユーザ(例えば、顧客)への転送のために、サニタイズ、更新、および/または別様に準備される。一般に、ユーザによる変更を受ける不揮発性メモリデバイスの領域は、盲目的に消去され(すなわち、ワイプされ)、次いで、最新の既知の良品データで書き換えられる。
しかしながら、この手法は、リサイクルされるコンピュータシステムのダウンタイムの延長につながり得る。ワイプおよび書換プロセスは非効率的かつ面倒であるだけでなく、コンピュータシステムは、動作を実行するためにオフラインにされることが多い。コンピュータシステムが他者による使用に利用できない時間は、本明細書では「ダウンタイム」と呼ばれる。
以下でより充分に論じられる様々な実施形態は、例えば、以下でより充分に論じられるように、リサイクリングプロセスまたは動作の一部であるバックグラウンド更新プロセス中に、以前の顧客によって使用されたコンピュータの不揮発性メモリの検査(フォレンジック分析を含む)を、新たな既知の良品データを代替の不揮発性メモリデバイスに同時にまたは並行して書き込むことでインターリーブすることによって、そのような手法を超える実質的な性能改善を可能にするシステム、方法、機能を提供する。
本開示の目的のために、コンピューティング環境は、コンピュータ処理を含む1つ以上のタスクを行うために使用される任意のコンピューティングリソースの集合体であってもよい。コンピュータは、メモリと通信する任意のプロセッサであってもよい。コンピューティングリソースは、プロセッサ、メモリ、ソフトウェアアプリケーション、ユーザ入力装置、および出力装置、サーバ、データなどを含むが、これらに限定されないコンピューティング環境の任意のコンポーネント、メカニズム、または性能もしくは数量であってもよい。
ネットワーク化コンピューティング環境は、相互通信するコンピュータを含む任意のコンピューティング環境、すなわちコンピュータネットワークであってもよい。同様に、ネットワーク化ソフトウェアアプリケーションは、ネットワークを介して、1つ以上のコンピューティングリソース(例えば、サーバ)と通信することまたは1つ以上のコンピューティングリソースを使用することを容易にするように構成されたコンピュータコードであってもよい。
本開示の目的のために、サーバは、コンテンツ(例えば、データおよび/または機能)を、当該コンテンツを要求する別のコンピューティングリソースまたはエンティティ(すなわち、クライアント)に提供するように構成された任意のコンピューティングリソース(例えば、コンピュータおよび/またはソフトウェアなど)であってもよい。クライアントは、サーバと呼ばれる別のコンピュータまたはシステムからコンテンツを受信するように構成された任意のコンピュータまたはシステムであってもよい。サーバシステムは、1つ以上のサーバおよび付属コンピューティングリソースの任意の集合体であってもよい。
データセンタは、複数のコンピュータシステム、例えばサーバ、および他のクラウドベースコンピューティングリソースを収容するための1つ以上の建物または施設の任意の集合体であってもよい。
クラウドベースコンピューティングリソースは、データセンタまたは相互に通信する1つ以上のサーバの他の集合体によって収容されている任意のコンピューティングリソースであってもよい。
クラウドサービスは、ユーザおよび/または他のソフトウェアアプリケーションが、クラウドを介して提供されるデータおよび/または機能を利用することを可能にするための任意のメカニズム(例えば、1つ以上のウェブサービス、アプリケーションプログラミングインターフェース(API))であってもよい。クラウドは、1つ以上のサーバの任意の集合体であってもよい。例えば、特定のクラウドは、データ、データストレージおよびクライアントデバイスにアクセス可能な他の機能を提供するサーバを備えた1つ以上のデータセンタを用いて実装されてもよい。
特定のデータセンタは、ユーザが大量のデータにアクセスし、大量のデータを消費および格納するためのコンピューティング機器およびネットワーキング機器を集中させるための集中場所を提供することができる。多くの場合、コンピューティングシステム(例えば、クラウドコンピューティングシステム)の集合体において、プロセッサおよびメモリなどの共通リソースは、異なるユーザによって順番に利用されるように構成されている。このようなコンピューティング集合体は、書き換え可能なメモリ、例えばフラッシュメモリを利用している。このようなメモリは、あるユーザが使い終わったら消去され、次のユーザのために書き換えられる。例えば、クラウドサービスプロバイダは、新しいユーザがクラウドリソースにアクセスし始めるときに、後続のユーザのために当該リソースを適切に構成し、前のユーザからの情報が利用できないことを保証する必要がある。
明確にするために、いくつかの周知のコンポーネント、例えばインターネット、ハードドライブ、プロセッサ、電源、ルータ、インターネットサービスプロバイダ(ISP)、入力/出力(I/O)ワークフローオーケストレータ、プロセススケジューラ、ID管理クラウド、プロセスクラウド、認証機関、ビジネスプロセス管理システム、データベース管理システム、ミドルウェアなどは、必ずしも図中で明示的に呼び出されていない。しかしながら、本教示にアクセスできる当業者であれば、特定の実装ニーズを満たすために、どのコンポーネントをどのように実装すべきかを知ることができる。
図1は、復元バックエンド22を用いて、制御プレーンクラウドサービスモジュール24の間で実行され、またはその中に含まれ得る1つ以上のクラウドサービスおよび/またはアプリケーションプログラミングインターフェース、および/または信頼の基点(ROT)ライブラリなどのコードライブラリを介して実装され得る、コンピューティングリソースのバックグラウンド更新を選択的に実行することを容易にする第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のユーザが、第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は、任意の必要な新たなデータおよび/または更新を以前にフォレンジック分析されたメモリデバイスに書き込むための機能に加えて、オフラインメモリモジュール32~36のうちの1つ以上のフォレンジック分析を実現するための1つ以上のクラウドサービス(例えば、ウェブサービス)または他のモジュールを含む。
例えば、所与のオフラインメモリデバイス32~36上でフォレンジック分析が実行されて、メモリデバイスが改ざんされていないことを確認した(例えば、データおよび/またはファームウェアもしくはその上のソフトウェアが、データおよび/または既知の信頼ソースを介して示されるデータならびに/またはデータおよび/もしくはファームウェアとは異なるように修正されていないことを確認した)後、メモリデバイスはワイプされる必要がないことに注目されたい。代わりに、任意の新たな更新、例えば、ファームウェアおよび/またはデータ更新が、最初に、事実上メモリデバイス32~36全体のワイプを要求することなく、メモリデバイス32~36に書き込まれることができる。
場合によっては、たとえば、ファームウェアおよび/またはデータ更新が利用可能でない場合、メモリデバイス(例えば、メモリデバイス32~36のうちの1つ)がフォレンジック分析を通過した(例えば、データおよび/もしくはファームウェアが変化していないかまたはそうでなければ不適切でないことを確認した)後、コンピュータシステム20の後続のユーザによる再使用の準備ができていると見なされるメモリデバイスに対して、追加のデータがメモリデバイスに書き込まれる必要はないことになる。
フォレンジック分析の使用はまた、メモリデバイスを準備するために、すなわち、後続のユーザによる第1のコンピュータシステム20に関連しての後続の使用のためにメモリデバイスをリサイクルするために、単にメモリワイプに依拠する場合に、他の態様では検出されないままかもしれない、サーバシステム14上の任意の悪意のあるアクティビティを検出することも容易にし得る。
なお、本実施形態では、復元バックエンド22は、オフラインメモリデバイス32~26上で動作して、それらメモリデバイスをコンピュータシステム20上でのその後のオンライン使用のために準備するが、実施形態はこれに限定されない。たとえば、いくつかの実現例では、制御プレーンクラウドサービスモジュール24の1つ以上のクラウドサービスは、本教示の範囲から逸脱することなく、ROTプロセッサ26を使用して、オンラインメモリ上で、たとえば、第1のメモリデバイス30上で、検査、すなわち、フォレンジック分析を実行してもよい。
本例示的実現例では、制御プレーンクラウドサービスモジュール24のクラウドサービスは、第2のメモリデバイス32をフォレンジック検査するために使用され、一方、任意の新たなデータ(例えば、ファームウェアおよび/またはデータに対する更新)が、第3のメモリデバイス34に書き込まれる。その時点で、第3のメモリデバイス34は、前もって第2のメモリデバイス32の位置(電子位置)にあり、新たなデータが書き込まれる前に、第3のメモリデバイス34に対して既にフォレンジック検査が実行されている。
フォレンジック分析および/または検査を受けている第2のメモリ32、および新たなデータが同時に書き込まれていてもよい第3のメモリ34の両方は、現在、図1の実施形態ではオフラインであることに注目されたい。
しかしながら、実施形態は、複数のメモリデバイス(例えば、第2のメモリデバイス32および第3のメモリデバイス34)の同時バックエンド処理に限定されないことに注目されたい。例えば、あるシナリオでは、第1のメモリデバイス30が、現在、第1のコンピュータシステム20、およびクライアントシステム12の付随する第1のユーザによって使用されている間に、単一のオフラインメモリデバイスが、フォレンジック処理ならびに任意のデータ(および/またはファームウェア)書き込み、書き換え、および/または更新を通過してもよい。ユーザが第1のコンピュータシステム20を放棄し、(第1のメモリデバイス30が別の顧客による使用の前に復元バックエンド22によって処理されなければならず、次いで、サニタイズされ更新された第2のメモリが第1のコンピュータシステム20による使用のためにオンラインにされなければならない)時までに、第2のメモリデバイス32のバックグラウンド処理は完了している可能性が高いことになる。
しかし、以下でより詳細に説明する実施形態は、第1のコンピュータシステム20および関連付けられる第1のメモリデバイス30がユーザによって放棄されるまで、メモリデバイス32~36のうちの2つ(例えば、第2のメモリデバイス32および第3のメモリデバイス36)をオフラインで処理し、保持してもよい。
したがって、本実施形態では、第2のメモリデバイス32に対するフォレンジック分析が行われている間に第3のメモリデバイス34に新たなデータが書き込まれた後、および第2のメモリデバイス32に対するフォレンジック分析が完了した後に、次いで、待機期間が開始してもよい。
待機期間は、第1のコンピュータシステム20の第1のユーザが第1のコンピュータシステム20を放棄するまで待機することを含んでもよい。第1のユーザが第1のコンピュータシステム20を放棄すると、第1のメモリデバイス30はオフラインにされ、例えば、制御プレーンクラウドサービスモジュール24の1つ以上のクラウドサービスを介して少なくとも部分的に実現されるフォレンジック分析に備えて、第2のメモリデバイス32の代わりに(スイッチ28を介して、ROTプロセッサ26からの1つ以上の制御信号を介して)電子的に位置決めされる。
同時に、第1のメモリデバイス30がオフラインにされる一方で、既に準備された(第1のメモリデバイス30のスワップアウトに備えてバックグラウンド処理された)第3のメモリデバイス34は、第1のコンピュータシステム20のために電子的にオンラインにされる。この場合、第3のメモリデバイス34は、第1のメモリデバイス30の位置をとると言える。
その場合、第1のメモリデバイス30はオフラインになり、第2のメモリデバイス32に取って代わることになり、第2のメモリデバイス32は第3のメモリデバイス34に取って代わることになる。したがって、次いで、今やオフラインの第1のメモリデバイス30上でフォレンジック分析が実行されることになる。次のリサイクルイベント(リサイクリングイベントとも呼ばれる)で、第1のメモリは、次いで、次の位置(図1の第3のメモリデバイス34の位置に対応する)に移動することになり、第3のメモリデバイス(任意の新たなデータが書き込まれている)は、オンライン状態に進むことになり、それによって、第1のコンピュータシステム20によって使用された先のメモリデバイスを電子的に置換することになる。
メモリデバイス30、32、34を、2つの処理ステップ(フォレンジック分析および新たなデータ書き込み)を含む仮想円形キュー内で選択的にスワップするサイクルは、ユーザが、第1のコンピュータシステム20上で負荷を実行し、どのメモリが現在オンラインであろうと(例えば、図1では、第1のメモリ30が、現在オンラインであるように示されている)それを使用していてもよい一方で、効率的なフォレンジック分析およびデータ書き込みが復元バックエンドを介して実行され得ることを保証する。
ユーザが第1のコンピュータシステム20を放棄すると、バックグラウンド処理されたメモリデバイス、例えば、第3のメモリデバイス34を、第1のコンピュータシステム20による使用のための位置にスワップ(すなわち、オンラインに)してもよい。
上述した本実施形態例は、3段階ループの一部として少なくとも3つのメモリデバイスを使用するが、本教示の範囲から逸脱することなく、追加の段階またはより少ない段階が採用されてもよいことに注目されたい。
図2は、図1の第1の例示的システム10によって実現されてもよい、第2の例示的システム50および付随するコンピューティング環境を示し、さらに、フォレンジックおよびバックグラウンド更新を選択的に採用するために使用される制御プレーンクラウドサービスモジュール24の例示的詳細を示す。図1の第1のオンラインメモリデバイス30は図2に示されていないが、図2の第1のコンピュータシステム20も、図1の第1のメモリデバイス30を含む(かまたはそれと別様に通信するか、もしくはそれを所有する)ことに注目されたい。
例示的な制御プレーンクラウドサービスモジュール24は、検査部サービス(本明細書では検査部モジュールとも呼ばれる)56、メモリ書換部サービス(本明細書ではメモリ書換部モジュールとも呼ばれる)58、および真理の源60と通信するコントローラ54を含む。真理の源60は、検査部モジュール56が1つ以上のメモリデバイス、たとえば、第2のメモリデバイス32および第3のメモリデバイス34のフォレンジック分析を行うために必要とされてもよいデータ、ファームウェアイメージ、および任意の他の情報、ならびに任意の情報、たとえば、メモリデバイス32、34のうちの1つ以上に書き込まれてもよいデータおよび/またはファームウェア更新を含んでもよい。
本例示的実施形態では、検査部モジュール56ならびにメモリ書換部(および/または書込部(これも、本教示の範囲から逸脱することなく、書込機能を単純に実行してもよいので))58は、復元バックエンド22を含む選択的メモリスワップシステム52を通して、メモリデバイス32、34と通信する。メモリスワップシステム52は、(例えば、図1のスイッチ28を介して、)(バックグラウンド処理を介したリサイクリングに備えて)不揮発性メモリデバイスを選択的に電子的にオフラインにすること、および、例えば、コンピュータシステムが手を変えるとき、例えば、あるユーザまたは顧客による使用から別のユーザまたは顧客に渡されるときに、リサイクルされたメモリデバイスをオンラインにすることを容易にするため、スワップシステムと呼ばれる。
例示目的のために、オフラインメモリ、すなわち、第2のメモリデバイス32および第2のメモリデバイス34は、メモリデバイス32、34が現在オフラインであり、第1のコンピュータシステム20のユーザによって実行され得る任意の処理から電子的に切断されている場合であっても、第1のコンピュータシステム20上に含まれて示されることに注目されたい。したがって、オフラインメモリデバイス32、34の物理的位置は、本教示の範囲から逸脱することなく変化してもよい。
さらに、メモリデバイス32、34は、複数のメモリデバイス、例えば、ホストネットワークインターフェースコントローラ(NIC)メモリ、スマートNIC、BIOSメモリ、フィールドプログラマブルゲートアレイメモリなどを含むかまたはそれらを表すものとして示されている。メモリデバイス32、34の各々は、そのような不揮発性メモリデバイスのうちの1つ以上、またはそのような不揮発性メモリデバイスの任意の組合せを表すことができることに注目されたい。本実施形態では、第2メモリ32、第3メモリ34および第1メモリ34は、不揮発性メモリであり、それらは、関連付けられる集積された回路から電源が遮断されたときに、メモリを保持する。
本例示的実施形態では、検査部サービス56は、フォレンジック分析を行うためのコードおよび関連付けられる機能性を含み、それは、ハッシュおよび関連付けられる関数、巡回冗長検査(CRC)、ならびに/または他のフォレンジック技法を用いて、例えば、復元バックエンド22(例えば、図1に示される、そのROT26)との通信状態における制御プレーンクラウドサービスモジュール24によってバックグラウンド処理されている不揮発性メモリ32、34上に維持されるデータおよび/またはファームウェアの完全性を検証することを含んでもよい。
図3は、図1の第1の例示的システム10を介して実現されてもよい、図2のメモリスワップシステムの例示的構成要素26,28,38を示す。本開示の例示的な実施形態において、選択的メモリスワップシステム52は、ROTプロセッサ26と、(図1のフロントエンド処理モジュール18の)サービスプロセッサ38と、図1の復元バックエンド22のスイッチ28とを含むと示されている。なお、図3には図1の第1のオンラインメモリデバイス30が示されていないが、選択的メモリスワップシステム52はまた、図1の第1のメモリデバイス30と通信している。
図3において、制御プレーンクラウドサービスモジュール24は、第1のバス(バス1)を介して選択的メモリスワップシステム52のROT26と通信すると示されている。ROT26は、第2のバス(バス2)を介してスイッチ28と通信し、サービスプロセッサ38は、第3のバス(バス3)を介してスイッチ28と通信する。スイッチ28は、第4のバス(バス4)を介して第2のオフライン不揮発性メモリ32と通信する。また、このスイッチは、第5のバス(バス5)を介して第3の不揮発性メモリデバイス34と通信する。
スイッチ28は、様々な技術によって実現されてもよいことに注目されたい。本教示にアクセスする当業者は、過度の実験を伴わずに、所与の実現例の必要性を満たすために適切なスイッチアーキテクチャを容易に判断してもよい。一実現例では、スイッチ28は、1つ以上の入力端子を1つ以上の出力端子に選択的に切り替える(たとえば、接続および/もしくは切断する)ための1つ以上のクロスバースイッチならびに/または他のスイッチング機構を使用して実現され得る。
図4は、クラウドサービス80を介してコンピュータシステム内のメモリデバイス82をリサイクルすることに対する例示的な従来の手法を示す第1のシーケンスフロー図であり、その手法は、例えば、関連付けられる不揮発性メモリ82がリサイクルされる間に、実質的なコンピュータシステムのダウンタイムを必要とし得る。
例示的なフローは、垂直時間軸88を含み、処理時間は、軸88のさらに下の継続期間において増加する。初期データ消去およびプッシュステップは、消去およびプッシュ動作制御84を発行することを含み、それは、次いで、メモリ消去プロセスおよび後続の書込プロセスを起動し、それは、例えば、示される時間継続期間86によって示されるように、かなりの時間を要する。
新たなデータが受信され、不揮発性メモリ82に書き込まれた後、次いで、リサイクル動作(バックグラウンド処理動作とも呼ばれる)は完了し、不揮発性メモリ82は、再使用の準備ができており、例えば、必要に応じてオンラインになる準備ができている。消去および書換動作が完了したことを確認するために、クラウドサービス80に肯定応答メッセージ90を返してもよい。
しかしながら、従来、時間継続期間86全体は、不揮発性メモリ82を使用するコンピュータシステムが動作していない時間を表す。これは、コンピュータダウンタイムを表す。
実施形態は、そのようなダウンタイム86を実質的に排除するだけでなく、さらに、フォレンジック分析機能、およびより効率的なデータの書き換えを提供する。例えば、フォレンジック分析に応じて、不揮発性メモリデバイス82上のすべてのデータおよびファームウェアが、必ずしも書き換えられなければならないことはなく、時には、データおよび/またはファームウェアが、不揮発性メモリ82に書き込まれるかまたは書き換えられる必要はないことになる。これが起こり得るのは、例えば、第1のユーザが第2のユーザによる使用のためにコンピュータシステムを放棄するが、不揮発性メモリ82に修正がなされておらず、不揮発性メモリ82のためにデータおよび/またはファームウェア更新がまだ利用可能でないときである。
図5は、クラウドサービス24と第2の不揮発性メモリ32との間の例示的な通信交換100(およびフォレンジック分析を含む処理)と、図1~図3のクラウドサービス24と第3のメモリデバイス34との間の通信交換102(フォレンジックステップなし)とを示す第2のシーケンスフロー図である。
図5のフローはさらに、本明細書で論じられる実施形態による、リサイクリングイベントおよびメモリスワップイベントのためのコンピュータシステムダウンタイムの事実上排除を含む、実質的時間節約を示す。
制御プレーンクラウドサービスモジュール24と第3のメモリデバイス34との間の例示的な通信交換は、任意の新たなデータのプッシュ(例えば、利用可能な場合には、更新)を伴い、本明細書で議論される実施形態を介して、不揮発性メモリデバイス34の既存のデータの完全性が以前のフォレンジック分析を介して既に確認されている場合があるため、必ずしも任意のデータの消去(図4に示される手法を介して実行される)を伴う必要はないことに注目されたい。概して、既存の不揮発性メモリデバイス34の完全性が良好であること(および特定の実現例の目的のために充分に最近のものであること)がすでに確認されており、ソフトウェアまたはファームウェアの更新が利用可能でない場合、データをそこから消去またはそこに書き込む必要はないことに注目されたい。
本例示的実施形態では、フォレンジック処理100は、制御プレーンクラウドサービスモジュール24が、第2のメモリデバイス32にハッシュ測定を求める要求メッセージ104を発行することを含む。次いで、第2のメモリデバイス32は、ハッシュ処理ステップ106中にハッシュ測定要求を処理する。ハッシュ要求104に応答してハッシュ処理ステップ106を完了した後、第2のメモリデバイスは、応答ハッシュ測定108を制御プレーンクラウドサービスモジュール24に返送する。
次いで、制御プレーンクラウドサービスモジュール24は、返されたハッシュ測定108を、ハッシュ測定処理ステップ110において処理する。ハッシュ測定処理ステップ110を完了した後、制御プレーンクラウドサービスモジュール24は、処理されたハッシュ測定処理110に基づいて、第1のデータ要求メッセージ112、すなわち第2のメモリデバイス32に任意の追加のデータを求める。
次いで、第2のメモリデバイス32は、データ要求処理ステップ114中に第1のデータ要求メッセージ112を処理し、次いで、データ送信メッセージ116を介して制御プレーンクラウドサービスモジュール24にデータを送り返す。
次いで、制御プレーンクラウドサービスモジュール24は、データ送信ステップ116で送信された、検索されたデータを、検索データ処理ステップ118において処理する。検索データ処理ステップ118を完了した後、制御プレーンクラウドサービスモジュール24は、新規データ要求メッセージ120を第2のメモリデバイス32に発行する。次いで、第2のメモリデバイス32は、新規データ要求メッセージ120を、関連付けられる新規データ要求処理ステップ122において処理する。
この例示的なシナリオでは、第2のメモリデバイス32は、新規データ要求処理ステップ122において、新たなデータを送信する必要がないこと、または新たなデータがすでに送信されている、と判断する。その場合、第2のメモリデバイス32に対するフォレンジック分析は完了する。次いで、完了確認応答メッセージ(図示せず)が、第2のメモリデバイス32から制御プレーンクラウドサービスモジュール24に送り返されてもよい。
制御プレーンクラウドサービスモジュール24が第2のメモリデバイス32に初期ハッシュ測定要求メッセージ104を発行するのと同時に、またはそれと並行して、制御プレーンクラウドサービスモジュール24は、例えば、初期プッシュメッセージ124を介して、以前にフォレンジック分析された第3のメモリデバイス34に新たなデータをプッシュし始めることに注目されたい。
次いで、プッシュメッセージ124は、第3のメモリデバイス34によって、プッシュメッセージ処理ステップ126において処理される。プッシュメッセージ処理ステップ126は、(例えば、図4の手法に示される消去およびプッシュ継続期間86に対して)比較的短い継続期間のものであり、フォレンジック検査にすでに合格したデータの消去の必要もないことに注目されたい。
さらに、図5には示されていないが、制御プレーンクラウドサービスモジュール24と不揮発性メモリ32、34との間の通信は、例えば、図1に示されるように、ROT26およびスイッチ28を通して生じてもよいことに注目されたい。
さらに、図5の制御プレーンクラウドサービスモジュール24によって実現されるフォレンジック処理100の部分は、図2の付随する検査部サービスまたはモジュール56によって実現されてもよいことに注目されたい。同様に、プッシュ(例えば、プッシュメッセージ124の発行)は、図2に示されるように、制御プレーンクラウドサービスモジュール24のメモリ書換部(または書込部)58を介して実現することができる。
要約すると、第2の不揮発性メモリ32は、何らかの破損について(フォレンジック処理100を介して)チェックされ、有効性を確認される。
有効性を確認された部分は、新たなデータをプッシュすることに対してそれを準備するために消去される必要はない。これは、第2のメモリデバイス32への新たなデータのプッシュを最小限に抑えることができるという点で、追加の時間を節約することができ、すなわち、フォレンジックチェックされた領域を保存することができるので、プッシュされる必要のあるデータがより少なくあり得る。プッシュされた新たなデータは、既にフォレンジックで有効性を確認された第3のメモリデバイス34の特定の領域に対する更新などを含んでもよい。
代替的な実現例および付随するシナリオでは、ユーザまたは顧客は、第2のメモリデバイス32の実行(すなわち使用)を完了したばかりであり得る。この代替シナリオでは、第3のメモリデバイス34は、顧客の第2のメモリデバイス32の以前の使用中に、新たなデータで既にステージングされている(例えば、およびフォレンジック分析されている)。この場合、第3のメモリ34は、新たな顧客による使用の準備ができていることになり、すなわち、図1の復元バックエンド22ならびに付随するスイッチ28およびROT26を介してオンラインにされる準備ができていることになる。
新たな顧客は、次いで、第3のメモリデバイス34がオンラインに切り替えられた後、直ちに第3のメモリデバイス34の実行を開始することができ、第2のメモリデバイス32上では、検査およびフォレンジックが実行されている。このように、スワップ動作には2つのメモリを含めるだけでよい。
しかしながら、この代替手法は、図5に示されておらず、それは、代わりに、同時オフラインステップ104、124が第2のメモリデバイス32および第3のメモリデバイス34上で実行されるのを示すことに注目されたい。代替シナリオでは、第3のメモリデバイス34は、制御プレーンクラウドサービスモジュール24を介して制御され得るように、例えば、フォレンジック処理ステップ100に対応するフォレンジック分析後に、すでに、データがそれにプッシュされ、例えば、データが図60の真理の源60から取得され、次いで、必要に応じて(例えば、図2のメモリ書換部または書込部58を介して)書き込まれているであろう。
図6は、本明細書で説明する様々な実施形態とともに使用するのに適した第1の例示的な方法130のフロー図である。第1の例示的な方法130は、後続のユーザによる使用に備えて、コンピューティング環境のコンピュータシステムの1つ以上のメモリデバイスを選択的に検証/有効性を確認(たとえば、フォレンジック分析)および/または更新することを容易にする。
第1の例示的な方法130は、第1のメモリデバイス(例えば、図1の第1のメモリデバイス30)を使用している第1のコンピュータシステム(例えば、図1の第1のコンピュータシステム20)の現在の第1のユーザが、将来のある時間に第1のメモリデバイスを放棄すると予定される、と判断することを含む第1のステップ132を含む。これは、図1の制御プレーンクラウドサービスモジュール24上で動作する1つ以上のサービスから図1のROTプロセッサ26に送信される検出信号を介して行うことができる。図24の制御プレーンクラウドサービスモジュール24は、所与のユーザがいつ特定のコンピュータシステム(例えば、図1の第1のコンピュータシステム20)を退くか、または退くようスケジュールされているかを検出するように構成され、それによって、図1のサーバシステム14の1つ以上の追加のモジュール、たとえば復元バックエンド22に警告することができる、1つ以上のクラウドサービスを含んでもよい。
第2のステップ134は、第1のメモリデバイス(例えば、図1の第1のメモリデバイス30)と交換されるべき第2のメモリデバイス(例えば、図1の第2のメモリデバイス32)を、第1のコンピュータシステムおよび第2の後続のユーザによるその使用に備えて準備することを含む。
第2のステップ134を介して実施される準備は、さらに、フォレンジック分析を、第2のメモリデバイス(例えば、図1の第2のメモリデバイス32)上において、(例えば、図1のROT26を介して、図1および図2の制御プレーンクラウドサービスモジュール24からの、例えば図2の検査部モジュール56からの1つ以上の信号の方向で)実行することと、実行に応答して、第2のメモリデバイス上で、データもしくはコードを選択的に更新または変更することとを含んでもよい。
第3のステップ136は、第1のコンピュータシステムが第1のユーザによって放棄されたことを検出することを含む。この検出はまた、そのような検出を実行するために1つ以上のクラウドサービスを組み込んでもよい、制御プレーンクラウドサービスモジュール24からの信号送信を介して、図1の復元バックエンド22によって取得されてもよい。
第4のステップ138は、メモリスワップシステム(例えば、図3のスワップシステム52)を使用して、検出に応答して、第1のメモリの代わりに第2のメモリデバイスを電子的に位置決めし、それによって、第2のユーザがコンピュータシステムを第2のメモリデバイスとの通信状態で使用することを可能にすることを含む。
第1の例示的方法130は、本教示の範囲から逸脱することなく修正されてもよく、例えば、追加のステップが追加、修正、他のステップとのスワップ等されてもよいことに注目されたい。
たとえば、第1の例示的な方法130は、第2のメモリデバイスを、第1のメモリデバイスと交換されるよう準備することを容易にするために、クラウドサービスを使用してメモリスワップシステムと通信し、フォレンジック分析および選択的にデータを更新または変更することを容易にするために、クラウドサービスを使用してメモリスワップシステムの信頼の基点(ROT)(例えば、図1のROTプロセッサ26に対応する)と通信することを含むステップをさらに指定するよう修正されてもよい。
第1の例示的な方法130は、さらに、第1のメモリデバイスを第2のメモリデバイスと交換することを容易にするために、ROTプロセッサをスイッチ(例えば、図1のスイッチ28)との通信状態で使用することを指定してもよい。
第1の例示的な方法130はさらに、第1のメモリデバイスまたは第2のメモリデバイスがそれぞれコンピュータシステムによる使用のために準備されているかどうかによって、コンピュータシステムのユーザによって開始されるコンピュータシステムの1つ以上の動作を第1のメモリデバイスまたは第2のメモリデバイスとインターフェースすることを容易にするために、スイッチと通信するサービスプロセッサ(例えば、図1のサービスプロセッサ38)の使用を指定してもよい。これは、第1のメモリデバイスまたは第2のメモリデバイスが、例えばROTプロセッサおよび付随する復元バックエンドのスイッチ(例えば、図1の復元バックエンド22)を介してオンラインにされるときに、起こる。
第1の例示的な方法130は、さらに、検出することに応答して、第1のメモリデバイスをオフラインにし、第2のメモリデバイスをオンラインにすることと、第1のメモリデバイス上でフォレンジック分析を実行し、それに応答してフォレンジック結果を生成することと、フォレンジック結果を使用して、第1のメモリデバイスに後で書き込むべきデータを決定することと、第3のメモリデバイスに書き込まれるべき新たなデータを決定するよう、フォレンジック処理を受けた第3のメモリデバイスに新たなデータを選択的に書き込んで、第2のメモリデバイスおよび付随するコンピュータシステムが第2のユーザによって放棄されるときに、第2のメモリデバイスの代わりに電子的に位置決めするために、第3のメモリデバイスを準備するようにすることと、第2のユーザがコンピュータを放棄したことを検出することと、第2のメモリデバイスの代わりに第3のメモリデバイスを電子的に位置決めし、第2のメモリデバイスは、フォレンジック分析に備えてオフラインにされ、第3のメモリデバイスは、コンピュータシステムおよび第3のユーザによる使用のためにオンラインにされ、第1のメモリデバイスは、第1のメモリデバイスに対するデータの書換または更新に備えて位置決めされて、コンピュータシステムおよび第3のユーザによって使用される第3のメモリデバイスの放棄で、準備された第2のメモリデバイスを第4のユーザによる使用のために準備するようにすることとを含んでもよい。
第1のメモリデバイスおよび第2のメモリデバイスは、不揮発性メモリを表してもよい。コンピューティング環境は、クラウドベースのコンピューティング環境などのネットワーク化されたコンピューティング環境であってもよい。
フォレンジック分析は、1つ以上のハッシュもしくは巡回冗長検査(CRC)または他のコードを使用して、データおよび/またはコンピュータコードのセットが第1のメモリデバイスまたは第2のメモリデバイス上で修正または別様に改ざん、置換、もしくは増補されたかどうかに関する指示を確認することを含んでもよい。
図7は、図1~図6の実施形態を実施するために使用可能なシステム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および図7を参照して、図1のクライアントシステム12は、図7のデスクトップコンピュータ960、タブレット990、スマートフォン980、ノートブックコンピュータ970、および/またはモバイルフォン985のうちの1つ以上を介して実装されてもよい。図1のサーバシステム14および付属モジュール18~28は、図7のウェブサーバ910および/またはアプリケーションサーバ920を介して実装されてもよい。図2の真理の源60は、図7のデータ記憶装置930を用いて実装されてもよい。
図8は、本明細書に記載された実装形態のために使用され得る例示的なコンピューティングデバイスまたはシステム500のブロック図を示す。例えば、コンピューティングデバイス1000を用いて、図7のサーバ装置910、920を実装することができ、本明細書に記載された方法を実施することができる。いくつかの実装形態において、コンピューティングデバイス1000は、プロセッサ1002と、オペレーティングシステム1004と、メモリ1006と、入力/出力(I/O)インターフェース1008とを含むことができる。
様々な実装形態において、プロセッサ1002を用いて、本明細書に記載された様々な機能および特徴を実現することができ、本明細書に記載された方法を実施することができる。プロセッサ1002は、本明細書に記載された方法を実施すると説明されているが、コンピューティングデバイス1000の任意の適切なコンポーネントもしくはコンポーネントの組み合わせ、または装置1000に関連する任意の適切なプロセッサもしくはプロセッサの組み合わせ、または任意の適切なシステムは、本明細書に記載されたステップを実施することができる。本明細書に記載された方法は、ユーザデバイス、サーバ、または両方の組み合わせ上で実施されてもよい。
また、例示的なコンピューティングデバイス1000は、メモリ1006または任意の他の適切な記憶場所もしくはコンピュータ可読媒体に記憶され得るソフトウェアアプリケーション1010を含む。ソフトウェアアプリケーション1010は、プロセッサ1002が本明細書に記載された機能および他の機能を実行することを可能にする命令を提供する。コンピューティングデバイス1000のコンポーネントは、1つ以上のプロセッサまたはハードウェア装置の任意の組み合わせ、およびハードウェア、ソフトウェア、ファームウェアなどの任意の組み合わせによって実装されてもよい。
図示を簡単にするために、図8は、プロセッサ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 (11)

  1. 後続のユーザによる使用に備えて、コンピューティング環境のコンピュータシステムの1つ以上のメモリデバイスについて、選択的に有効性を確認および/または更新するための方法であって、
    1つ以上のプロセッサが、第1のメモリデバイスを使用している第1のコンピュータシステムの現在の第1のユーザが、将来のある時間に前記第1のメモリデバイスを放棄すると予定されていると判定することと、
    前記1つ以上のプロセッサが、前記第1のメモリデバイスと交換されるべき第2のメモリデバイスを、前記第1のコンピュータシステムおよび第2の後続のユーザによるその使用に備えて準備することとを含み、前記準備することはさらに、
    前記1つ以上のプロセッサが、前記第2のメモリデバイス上でフォレンジック分析を実行することと、
    前記1つ以上のプロセッサが、前記実行することに応答して前記第2のメモリデバイス上でデータもしくはコードを選択的に更新または変更することとを含み、前記方法はさらに、
    前記1つ以上のプロセッサが、前記第1のコンピュータシステムが前記第1のユーザによって放棄されたことを検出することと、
    前記1つ以上のプロセッサが、前記検出することに応答して、メモリスワップシステムを使用して、前記第1のメモリデバイスの代わりに前記第2のメモリデバイスを電子的に位置決めし、第2のユーザが、前記第1のコンピュータシステムを、前記第2のメモリデバイスとの通信状態で使用することを可能にすることとを含む、方法。
  2. 前記1つ以上のプロセッサが、前記第2のメモリデバイスを、前記第1のメモリデバイスと交換されるよう準備するために、クラウドサービスを使用して前記メモリスワップシステムと通信することをさらに含む、請求項1に記載の方法。
  3. 前記1つ以上のプロセッサが、前記実行することに応答して、前記フォレンジック分析と、前記第2のメモリデバイス上でデータもしくはコードを選択的に更新または変更とをするために、前記クラウドサービスを使用して前記メモリスワップシステムの信頼の基点(ROT)と通信することをさらに含む、請求項2に記載の方法。
  4. 前記1つ以上のプロセッサが、前記第1のメモリデバイスを前記第2のメモリデバイスと交換するために、信頼の基点(ROT)プロセッサをスイッチとの通信状態において使用することをさらに含む、請求項2に記載の方法。
  5. 前記1つ以上のプロセッサが、前記第1のメモリデバイスまたは前記第2のメモリデバイスがそれぞれ、前記第1のコンピュータシステムによる使用のために準備されているかどうかによって、前記第1のコンピュータシステムのユーザによって開始される前記第1のコンピュータシステムの1つ以上の動作を前記第1のメモリデバイスまたは前記第2のメモリデバイスとインターフェースするために、前記スイッチと通信する、請求項4に記載の方法。
  6. 前記使用することは、さらに、前記検出することに応答して、
    前記1つ以上のプロセッサが、前記第1のメモリデバイスをオフラインにし、前記第2のメモリデバイスをオンラインにすることと、
    前記1つ以上のプロセッサが、前記第1のメモリデバイス上でフォレンジック分析を実行し、それに応答してフォレンジック結果を生成することと、
    前記1つ以上のプロセッサが、前記フォレンジック結果を使用して、前記第1のメモリデバイスに後で書き込むべきデータを決定することと、
    前記1つ以上のプロセッサが、第3のメモリデバイスに書き込まれるべき新たなデータを決定するよう、フォレンジック処理を受けた前記第3のメモリデバイスに前記新たなデータを選択的に書き込んで、前記第2のメモリデバイスおよび付随するコンピュータシステムが第2のユーザによって放棄されるときに、前記第2のメモリデバイスの代わりに電子的に位置決めするために、前記第3のメモリデバイスを準備するようにすることと、
    前記1つ以上のプロセッサが、前記第2のユーザが前記コンピュータシステムを放棄したことを検出することと、
    前記1つ以上のプロセッサが、前記第2のメモリデバイスの代わりに前記第3のメモリデバイスを電子的に位置決めし、
    前記第2のメモリデバイスは、フォレンジック分析に備えてオフラインにされ、
    前記第3のメモリデバイスは、前記第1のコンピュータシステムおよび第3のユーザによる使用のためにオンラインにされ、
    前記第1のメモリデバイスは、前記第1のメモリデバイスに対するデータの書換または更新に備えて電子的に位置決めされて、前記第1のコンピュータシステムおよび前記第3のユーザによって使用される前記第3のメモリデバイスの放棄で、前記第1のメモリデバイスを第4のユーザによる使用のために準備するようにすることとを含む、請求項1~5のいずれか1項に記載の方法。
  7. 前記第1のメモリデバイスおよび前記第2のメモリデバイスは、不揮発性メモリを表す、請求項1~6のいずれか1項に記載の方法。
  8. 前記コンピューティング環境は、クラウドベースのコンピューティング環境を含む、請求項7に記載の方法。
  9. フォレンジック分析は、前記1つ以上のプロセッサが、1つ以上のハッシュもしくは巡回冗長検査(CRC)または他のコードを使用して、データおよび/またはコンピュータコードのセットが前記第1のメモリデバイスまたは前記第2のメモリデバイス上で修正または別様に改ざん、置換、もしくは増補されたかどうかに関する指示を確認することを含む、請求項1~8のいずれか1項に記載の方法。
  10. 装置であって、
    1つ以上のプロセッサと、
    1つ以上のコンピュータ可読記録媒体とを備え、
    前記1つ以上のコンピュータ可読記録媒体に、請求項1~9のいずれか1項に記載された方法を実行させる論理を記憶することを特徴とする、装置。
  11. 1つ以上のプロセッサに、請求項1~9のいずれか1項に記載された方法を実行させる、プログラム。
JP2023523622A 2020-10-19 2021-10-18 加速された不揮発性メモリデバイス検査およびフォレンジック Active JP7728866B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/074,379 US11620076B2 (en) 2020-10-19 2020-10-19 Accelerated non-volatile memory device inspection and forensics
US17/074,379 2020-10-19
PCT/US2021/055432 WO2022086860A1 (en) 2020-10-19 2021-10-18 Accelerated non-volatile memory device inspection and forensics

Publications (3)

Publication Number Publication Date
JP2023546904A JP2023546904A (ja) 2023-11-08
JP2023546904A5 JP2023546904A5 (ja) 2024-06-03
JP7728866B2 true JP7728866B2 (ja) 2025-08-25

Family

ID=78622026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023523622A Active JP7728866B2 (ja) 2020-10-19 2021-10-18 加速された不揮発性メモリデバイス検査およびフォレンジック

Country Status (5)

Country Link
US (2) US11620076B2 (ja)
EP (1) EP4208787A1 (ja)
JP (1) JP7728866B2 (ja)
CN (1) CN116324726A (ja)
WO (1) WO2022086860A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11436000B2 (en) 2020-10-19 2022-09-06 Oracle International Corporation Prioritized non-active memory device update
CN119652831A (zh) * 2024-12-10 2025-03-18 南京金阵微电子技术有限公司 流量控制方法、装置、介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014154042A (ja) 2013-02-12 2014-08-25 Ricoh Co Ltd 情報処理装置及びその記憶装置の交換処理方法
JP2017097858A (ja) 2015-11-20 2017-06-01 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation クラウド環境における保証されたログ管理のためのアプリケーション・セルフサービス

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9183412B2 (en) * 2012-08-10 2015-11-10 Sprint Communications Company L.P. Systems and methods for provisioning and using multiple trusted security zones on an electronic device
US11328075B2 (en) * 2019-01-04 2022-05-10 Baidu Usa Llc Method and system for providing secure communications between a host system and a data processing accelerator
US20200327025A1 (en) * 2019-04-10 2020-10-15 Alibaba Group Holding Limited Methods, systems, and non-transitory computer readable media for operating a data storage system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014154042A (ja) 2013-02-12 2014-08-25 Ricoh Co Ltd 情報処理装置及びその記憶装置の交換処理方法
JP2017097858A (ja) 2015-11-20 2017-06-01 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation クラウド環境における保証されたログ管理のためのアプリケーション・セルフサービス

Also Published As

Publication number Publication date
US20230214153A1 (en) 2023-07-06
US11620076B2 (en) 2023-04-04
CN116324726A (zh) 2023-06-23
US11861214B2 (en) 2024-01-02
JP2023546904A (ja) 2023-11-08
WO2022086860A1 (en) 2022-04-28
EP4208787A1 (en) 2023-07-12
US20220121390A1 (en) 2022-04-21

Similar Documents

Publication Publication Date Title
US10013491B2 (en) Methods and systems of workload mobility across divergent platforms
US11392461B2 (en) Method and apparatus for processing information
US10963287B2 (en) Reducing request latency in a multi-tenant web service host
CN110673936B (zh) 编排业务的断点续作方法、装置、存储介质及电子设备
US10261880B1 (en) Error generation using a computer add-in card
CN110990289B (zh) 一种自动提交bug的方法、装置、电子设备及存储介质
CN113127358B (zh) 一种测试方法、装置、电子设备及介质
US11861214B2 (en) Memory device forensics and preparation
US20160378521A1 (en) Automated test optimization
JP7765467B2 (ja) 非アクティブメモリ装置の優先更新
CN113392002A (zh) 一种测试系统构建方法、装置、设备及存储介质
CN114185804B (zh) 一种接口测试方法、装置及终端设备
CN108121650B (zh) 一种对于页面用户界面的测试方法及装置
US10095545B1 (en) Automated and configurable fleet refresh
CN114218191A (zh) 系统功能迁移方法、装置、计算机设备及存储介质
US11221862B2 (en) Capturing data from a live web application to populate a demo application
US10778538B2 (en) Automated self-recovery of distributed services
US12184650B2 (en) Scalable and secure edge cluster registration
CN115576917B (zh) 数据处理指令提交方法、数据处理方法、装置及介质
CN110888665B (zh) 一种变更内容提交方法、装置、设备及存储介质
Hirschfeld et al. Cloud‐based simulation studies in R‐A tutorial on using doRedis with Amazon spot fleets
JP2026510843A (ja) プレハブ工場で構築されたクラウドリージョンを検証するための技術
CN119441021A (zh) 应用程序接口测试方法、装置、系统、电子设备及存储介质
CN119739783A (zh) 多批次并发数据清算方法、设备及计算机程序产品
CN117251250A (zh) 基于云原生平台的容器管理方法及相关设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240524

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250630

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250813

R150 Certificate of patent or registration of utility model

Ref document number: 7728866

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150