(57)【要約】【課題】本発明の実施例によれば、アクセス請求を処理する方法、装置、デバイスならびに記憶媒体を提供し、クラウドコンピューティングの分野に関する。【解決手段】当該方法は、記憶デバイスに対する少なくとも一組の読み請求と一組の書き請求を含む複数の配信されるべきアクセス請求を取得するステップと、配信された読み請求の数が一組の読み請求の総数または第１の閾値の数に達するまで、一組の書き請求における書き請求を配信することなく、一組の読み請求における読み請求を記憶デバイスの駆動デバイスに配信するステップであって、駆動デバイスは記憶デバイス上で配信された請求を実行するように配置されているステップと、一組の書き請求のうちの少なくとも１つの書き請求を駆動デバイスに配信するステップとを含む。この提案は、ユーザーが必要とするデータをより速く提供するように、アクセス請求における読み請求を優先的に配信することにより、アクセス要求の実行効率を向上させることができる。【選択図】図２
2020194523.tif 000002
【特許請求の範囲】
【請求項１】
記憶デバイスに対する少なくとも一組の読み請求と一組の書き請求を含む複数の配信されるべきアクセス請求を取得するステップと、
配信された読み請求の数が前記一組の読み請求の総数または第１の閾値の数に達するまで、前記一組の書き請求における書き請求を配信することなく、前記一組の読み請求における読み請求を前記記憶デバイスの駆動デバイスに配信するステップであって、前記駆動デバイスは前記記憶デバイス上で配信された請求を実行するように配置されているステップと、
前記一組の書き請求のうちの少なくとも１つの書き請求を前記駆動デバイスに配信するステップと、
を含むアクセス請求を処理する方法。
【請求項２】
前記複数のアクセス請求を取得するステップは、
配信されるべきアクセス請求キューから前記複数のアクセス請求を読み取るステップと、
前記複数のアクセス請求を前記一組の読み請求と前記一組の書き請求とにグループ化するステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記駆動デバイスは、ユーザーステータスで実現される、
請求項１に記載の方法。
【請求項４】
前記複数のアクセス請求における各アクセス請求のタイムアウト時間を確定するステップであって、前記タイムアウト時間は、対応するアクセス請求が待機していた時間を示すものであるステップと、
前記複数のアクセス請求には、前記タイムアウト時間が所定の時間閾値より大きいタイムアウトアクセス請求が存在するか否かを確定するステップと、
前記タイムアウトアクセス請求を前記駆動デバイスに配信するステップと、
をさらに含む、請求項１に記載の方法。
【請求項５】
前記一組の読み請求における読み請求を前記駆動デバイスに配信するステップは、読み請求のカウント数が前記第１の閾値の数に達するまで、以下のことを少なくとも１回に繰り返し実行することを含み、即ち、
前記一組の読み請求のうちの一つの読み請求を前記駆動デバイスに配信し、
配信された読み請求の数を示す前記読み請求のカウント数を増やし、
前記一組の読み請求には、配信されていない読み請求が存在しないことに応答して、前記繰り返しを終了することである、
請求項１に記載の方法。
【請求項６】
前記一組の読み請求のうちの一つの読み請求を前記駆動デバイスに配信することは、
前記一組の読み請求から配信されていない目標読み請求であって、物理アドレスに対する最小のオフセット量を有する目標読み請求を選択することと、
選択された前記読み請求を前記駆動デバイスに配信することと、
を含む、請求項５に記載の方法。
【請求項７】
前記一組の書き請求のうちの少なくとも一つの書き請求を前記駆動デバイスに配信するステップは、書き請求のカウント数が第２の閾値の数に達するまで、以下のことを少なくとも１回に繰り返し実行することを含み、即ち、
前記一組の書き請求のうちの一つの書き請求を前記駆動デバイスに配信し、
配信された書き請求の数を示す前記書き請求のカウント数を増やし、
前記一組の書き請求には、配信されていない書き請求が存在しないことに応答して、前記繰り返しを終了することである、
請求項１に記載の方法。
【請求項８】
前記一組の書き請求のうちの一つの書き請求を前記駆動デバイスに配信することは、
前記一組の書き請求から配信されていない目標書き請求であって、物理アドレスに対する最小のオフセット量を有する目標書き請求を選択することと、
選択された前記書き請求を前記駆動デバイスに配信することと、
を含む、請求項７に記載の方法。
【請求項９】
記憶デバイスに対する少なくとも一組の読み請求と一組の書き請求を含む複数の配信されるべきアクセス請求を取得するように配置された取得モジュールと、
配信された読み請求の数が前記一組の読み請求の総数または第１の閾値の数に達するまで、前記一組の書き請求における書き請求を配信することなく、前記一組の読み請求における読み請求を前記記憶デバイスの駆動デバイスに配信するように配置された第１の配信モジュールであって、前記駆動デバイスは前記記憶デバイス上で配信された請求を実行するように配置された第１の配信モジュールと、
前記一組の書き請求のうちの少なくとも１つの書き請求を前記駆動デバイスに配信するように配置された第２の配信モジュールと、
を含む、アクセス請求を処理するための装置。
【請求項１０】
前記取得モジュールは、
配信されるべきアクセス請求キューから前記複数のアクセス請求を読み取るように配置された読み取りモジュールと、
前記複数のアクセス請求を前記一組の読み請求と前記一組の書き請求にグループ化するように配置されたグループ化モジュールと、
を含む、請求項９に記載の装置。
【請求項１１】
前記駆動デバイスは、ユーザーステータスで実現される、
請求項９に記載の装置。
【請求項１２】
前記複数のアクセス請求における各アクセス請求の対応するタイムアウト時間を確定するように配置されたタイムアウト時間確定モジュールであって、前記タイムアウト時間は、アクセス請求が待機していた時間を示すものであるタイムアウト時間確定モジュールと、
前記複数のアクセス請求には、前記タイムアウト時間が所定の時間閾値より大きいタイムアウトアクセス請求が存在するか否かを確定するように配置された判断モジュールと、
前記タイムアウトアクセス請求を前記駆動デバイスに配信するように配置されたタイムアウトアクセス請求配信モジュールと、
をさらに含む、請求項９に記載の装置。
【請求項１３】
前記第１の配信モジュールは、読み請求のカウント数が前記第１の閾値の数に達するまで、以下のことを少なくとも１回に繰り返し実行するように配置された第１の繰り返しモジュールを含み、即ち、
前記一組の読み請求のうちの一つの読み請求を前記駆動デバイスに配信し、
配信された読み請求の数を示す前記読み請求のカウント数を増やし、
前記一組の読み請求には、配信されていない読み請求が存在しないことに応答して、前記繰り返しを終了することである、
請求項９に記載の装置。
【請求項１４】
前記一組の読み請求のうちの一つの読み請求を前記駆動デバイスに配信することは、
前記一組の読み請求から配信されていない目標読み請求であって、物理アドレスに対する最小のオフセット量を有する目標読み請求を選択することと、
選択された前記読み請求を前記駆動デバイスに配信することと、
を含む、請求項１３に記載の装置。
【請求項１５】
前記第２の配信モジュールは、書き請求のカウント数が第２の閾値の数に達するまで、以下のことを少なくとも１回に繰り返し実行するように配置された第２の繰り返しモジュールを含み、即ち、
前記一組の書き請求のうちの一つの書き請求を前記駆動デバイスに配信し、
配信された書き請求の数を示す前記書き請求のカウント数を増やし、
前記一組の書き請求には、配信されていない書き請求が存在しないことに応答して、前記繰り返しを終了することである、
請求項９に記載の装置。
【請求項１６】
前記一組の書き請求のうちの一つの書き請求を前記駆動デバイスに配信することは、
前記一組の書き請求から配信されていない目標書き請求であって、物理アドレスに対する最小のオフセット量を有する目標書き請求を選択することと、
選択された前記書き請求を前記駆動デバイスに配信することと、
を含む、請求項１５に記載の装置。
【請求項１７】
電子機器であって、
１つ以上のプロセッサと、
１つ以上のプログラムが記憶されている記憶デバイスと、を含み、
前記１つ以上のプログラムが前記１つ以上のプロセッサによって実行されると、請求項１から８のいずれか１項に記載の方法を前記電子機器に実現させる、
電子機器。
【請求項１８】
コンピュータプログラムが記憶されたコンピュータ可読記憶媒体であって、
前記コンピュータプログラムがプロセッサによって実行されると、請求項１から８のいずれか１項に記載の方法を実現する、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は、主にコンピュータ記憶分野に関し、具体的にはアクセス請求を処理する方法、装置、デバイスならびにコンピュータ可読記憶媒体に関する。
【背景技術】
【０００２】
コンピュータ技術の発展に伴い、より高いハードウェアアクセス速度を持つ高速記憶デバイスが登場している。ハードウェアのアクセス速度が向上すると同時に、記憶デバイスのドライバが、高速記憶デバイスの潜在力を最大限に利用するように、対応的に修正を行うことができることも求められる。このとき、高速記憶デバイスへのアクセスをいかに効率的に管理するかが、技術的に難しい課題となっている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の例示的な実施例によれば、アクセス要求を処理する方法が提供される。
【課題を解決するための手段】
【０００４】
本発明の第１態様において、アクセス要求を処理する方法が提供される。当該方法は、記憶デバイスに対する少なくとも一組の読み請求と一組の書き請求を含む複数の配信されるべきアクセス請求を取得するステップと、配信された読み請求の数が前記一組の読み請求の総数または第１の閾値の数に達するまで、前記一組の書き請求における書き請求を配信することなく、前記一組の読み請求における読み請求を前記記憶デバイスの駆動デバイスに配信するステップであって、前記駆動デバイスは前記記憶デバイス上で配信された請求を実行するように配置されているステップと、前記一組の書き請求のうちの少なくとも１つの書き請求を前記駆動デバイスに配信するステップとを含む。これによれば、ユーザーが必要とするデータをより速く提供するように、アクセス請求における読み請求を優先的に配信することにより、アクセス要求の実行効率を向上させることができる。
【０００５】
本発明の第２態様において、アクセス請求を処理するための装置が提供される。当該装置は、記憶デバイスに対する少なくとも一組の読み請求と一組の書き請求を含む複数の配信されるべきアクセス請求を取得するように配置された取得モジュールと、配信された読み請求の数が前記一組の読み請求の総数または第１の閾値の数に達するまで、前記一組の書き請求における書き請求を配信することなく、前記一組の読み請求における読み請求を前記記憶デバイスの駆動デバイスに配信するように配置された第１の配信モジュールであって、前記駆動デバイスは前記記憶デバイス上で配信された請求を実行するように配置された第１の配信モジュールと、前記一組の書き請求のうちの少なくとも１つの書き請求を前記駆動デバイスに配信するように配置された第２の配信モジュールと、を含む。
【０００６】
本発明の第３態様において、電子機器が提供され、前記電子機器は、１つ以上のプロセッサと、１つ以上のプログラムが記憶されている記憶デバイスとを含み、１つ以上のプログラムが１つ以上のプロセッサによって実行されると、本発明による第１態様の方法を１つ以上のプロセッサに実現させる。
【０００７】
本発明の第４態様において、コンピュータプログラムが記憶されたコンピュータ可読記憶媒体が提供され、当該コンピュータプログラムがプロセッサによって実行されると、本発明による第１態様の方法を実現する。
【０００８】
発明の内容部分に記載されている内容は、本開示の実施形態の重要な特徴を限定するものではなく、本開示の範囲を制限するものでもないことを理解されたい。本発明の他の特徴は、以下の説明によって分かりやすくなる。
【図面の簡単な説明】
【０００９】
本発明の各実施例の上記および他の特徴、利点および態様をより明確にするために、以下の詳細な説明と図面を参照する。図面において、同じまたは類似の符号は、同じまたは類似の要素を表す。
【図１】本発明の複数の実施例が実現可能な例示的な環境を示す概略図である。
【図２】本発明の実施例によるアクセス要求を処理するプロセスを示すフローチャートである。
【図３】本発明の実施例によるタイムアウトしたアクセス要求を配信するプロセスを示すフローチャートである。
【図４】本発明の実施例による読み請求を配信するプロセスを示すフローチャートである。
【図５】本発明の実施例によるアドレスに従って読み請求を配信するプロセスを示すフローチャートである。
【図６】本発明の実施例による書き請求を配信するプロセスを示すフローチャートである。
【図７】本発明の実施例によるアドレスに従って書き請求を配信するプロセスを示すフローチャートである。
【図８】本発明の内容の例示的な実現形態によるアクセス要求を処理するための装置を示すブロック図である。
【図９】本発明の複数の実施例を実施可能な計算デバイスを示すブロック図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施例についてより詳細に説明する。図面には本発明のいくつかの実施例が示されているが、本発明は様々な形態で実現可能であり、ここで説明された実施例に限定されるものと解釈されるべきではなく、逆に、これらの実施例は、本発明をより徹底的かつ完全に理解するために提供されていることが理解されるべきである。本発明の図面および実施例は、本発明の範囲を制限するためのものではなく、単に例示として使用されることが理解されるべきである。
【００１１】
本開示の実施例の説明において、「含む」という用語およびそれに類似した用語は、「含むが限定されない」というオープンな包含として理解されるべきである。「に基づいて」という用語は、「少なくとも部分的に基づいて」と理解されるべきである。「一実施例」または「当該実施例」という用語は、「少なくとも１つの実施例」と理解されるべきである。「第１」、「第２」などの用語は、異なるオブジェクトまたは同じオブジェクトを指すことができる。以下、他の明確的な定義および暗黙的な定義も含まれ得る。
【００１２】
記憶デバイスのハードウェア技術の発展に伴って、高速記憶デバイスが開発され、データセンターに占める高速記憶デバイスの割合が高くなっている。従来の低速記憶デバイスに対して、高速記憶デバイスは、高いデータアクセス速度と低いアクセス遅延を有する。例えば、ＮＶＭｅ ＳＳＤは従来のＳＡＳやＳＡＴＡウィンチェスターディスクより数千倍速く、初期のＳＡＴＡ ＳＳＤより５〜１０倍速い。
【００１３】
従来のカーネルステータスで実現されたドライバの性能と効率は、高速デバイスの優位性を発揮しにくい。記憶デバイスの応答効率を向上させるために、目前、記憶デバイスのドライバをカーネルステータスからユーザーステータスに遷移させる技術が提案された。このようにして、カーネルのコンテキストの切り替えを回避できるため、中央処理装置（ＣＰＵ）の負担が軽減され、ＣＰＵがより多くの指令サイクルをデータ記憶の実際の処理に使用できるようになる。
【００１４】
しかしながら、ユーザーステータスが記憶デバイスへのアクセスを可能にする間、ポーリングモードを使用して記憶デバイスに対するアクセス請求を処理し、迅速にアクセス請求を送ることにより、待ち時間を短縮し、遅延を低減することができる。ところで、現在のユーザーステータス駆動は、単に実行すべきアクセス請求を順番に配信するだけであり、アクセス請求の配信順序を調整することができず、アクセス要求の実行性能を向上させることが困難である。
【００１５】
本発明の実施例によれば、アクセス要求を処理する技術案が提案される。当該技術案において、配信されるべき記憶デバイスに対する複数のアクセス請求を取得し、ここで、アクセス請求は少なくとも一組の読み請求と一組の書き請求を含む。この後、配信された読み請求の数が一組の読み請求の総数または第１の閾値の数に達するまで、一組の書き請求における書き請求を配信することなく、一組の読み請求における読み請求を記憶デバイスの駆動デバイスに配信し、ここで、駆動デバイスは記憶デバイス上で配信された請求を実行する。この後、一組の書き請求のうちの少なくとも１つの書き請求を駆動デバイスに配信する。この技術案は、ユーザーが必要とするデータをより速く提供するように、アクセス請求における読み請求を優先的に配信することにより、アクセス要求の実行効率を向上させることができる。
【００１６】
本発明の例示的な実現形態によれば、アクセス請求のディスパッチコードをユーザーステータスで実行することは、ドライバがカーネルステータスで実行されないことを意味し、カーネルのコンテキストの切替えや割込みを回避し、ＣＰＵの処理オーバヘッドを大幅に削減し、ＣＰＵのより多くのクロック周期に実際のデータ記憶を実行させることができる。
【００１７】
以下、本発明の実施例について、図面を参照して具体的に説明する。図１は、本発明の複数の実施例が実現可能な例示的な環境１００を示す概略図である。図２に示すように、例示的な環境１００には、ディスパッチングデバイス１３０、駆動デバイス１４０、および記憶デバイス１５０が含まれ、ここで、ディスパッチングデバイス１３０は、一組のアクセス請求を受信することができ、当該一組のアクセス請求は、具体的に、複数の読み請求１２０、１２２、１２６、および書き請求１２４を含む。
【００１８】
いくつかの実施例において、ディスパッチングデバイス１３０は、記憶デバイス１５０にアクセスするためのアクセス請求を記憶しているリングリストから一組のアクセス請求を取得することができる。図２に示すように、リングリスト１１０は、受信された記憶デバイス１５０にアクセスする複数のアクセス請求を記憶することができる。当該リングリスト１１０は、処理されるべきアクセス請求における最初のアクセス請求を指すためのヘッドポインタ１１２と、処理されるべきアクセス請求における最後のアクセス請求を指すためのテールポインタ１１４とを含むことができる。
【００１９】
いくつかの実施例において、ディスパッチングデバイス１３０は、所定の時間間隔において、リングリスト１１０から一組のアクセス請求を選択することができる。アクセス請求が受信されるたびに、記憶デバイス１５０におけるアクセス請求によって指定されたデータへのアクセスが実行されれば、記憶デバイス１５０へのアクセスが過剰に頻繁になることが理解されるであろう。特に、各アクセス請求に係るデータ量が少ない場合、記憶デバイス１５０に対しアクセス請求を頻繁に実行することは、記憶システムの全体的な性能の低下をもたらす。本発明において、所定の時間間隔の長さを指定することができ、このようにして、アクセス動作の全体的な性能を向上させるために、所定の時間間隔内に受信された複数のアクセス請求をまとめて処理することができる。
【００２０】
いくつかの実施例において、一組のアクセス請求の数は閾値の数を超えない。閾値の数を、例えば３２、１６、８などの所定の値に設定することができる。例えば、数値は、アクセス請求の受信頻度または数に応じて当該値を決定してもよく、または応答時間に対する記憶システムの要求に応じて当該値を決定してもよい。
【００２１】
図２に示すように、ディスパッチングデバイス１３０は、受信された一組のアクセス請求（読み請求１２０、１２２、１２６、及び書き請求１２４）をユーザーステータスの駆動装置(ユーザーステータス駆動とも呼ばれる)に配信して、記憶デバイス１５０上でアクセス請求の改組を行うことができる。
【００２２】
ディスパッチングデバイス１３０は、受信された一組のアクセス請求における各アクセス請求の配信順序を調整することもできる。具体的に、ディスパッチングデバイス１３０が読み請求を発する際にいつも読み請求に対するデータを即時に取得することが望まれ、書き請求を発する際にデータが正確に書き込まれるだけでよいことを考慮すると、ディスパッチングデバイス１３０は、読み請求を優先的に配信できるように、受信された一組のアクセス請求の配信順序を調整することができる。また、書き請求が一定の時間内に実行されることを保証する必要があることを考慮すると、ディスパッチングデバイス１３０は、特定の数の読み請求を配信した後に書き請求の配信を開始してもよく、これにより、システムの効率を向上させるために、読み請求が優先的に実行されることを保証しつつ、書き請求が許容可能な時間内に実行されることを保証することができる。
【００２３】
以下、アクセス請求を処理するプロセスについて、図２から図７を参照してより詳細に説明する。図２は、本発明のいくつかの実施例によるアクセス要求を処理するプロセス２００を示すフローチャートである。プロセス２００は、図１のディスパッチングデバイス１３０によって実現されることができる。議論を容易にするために、図１に合わせてプロセス２００を説明する。
【００２４】
ブロック２０２において、ディスパッチングデバイス１３０は、配信されるべき記憶デバイス１５０に対する複数のアクセス請求を取得し、アクセス請求は少なくとも一組の読み請求と一組の書き請求を含む。具体的に、ディスパッチングデバイス１３０は、配信されるべきアクセス請求キュー（例えば、リングリスト１１０）から一組のアクセス請求（例えば、読み請求１２０、１２２、１２６、及び書き請求１２４）を取得することができる。
【００２５】
いくつかの実施例において、ディスパッチングデバイス１３０は、アクセス請求の種類に応じて、一組のアクセス請求を一組の読み請求と一組の書き請求にグループ化することができる。これに加えて、ディスパッチングデバイス１３０は、受信された一組の読み請求と一組の書き請求を記憶するために、ユーザーステータス内の記憶領域(例えば、記憶スタック)に読み請求キューおよび書き請求キューを設置することができる。ディスパッチングデバイス１３０は、アクセス請求の種類に応じて、対応する読み請求キューまたは書き請求キューにアクセス請求を追加することができる。
【００２６】
いくつかの実施例において、ディスパッチングデバイス１３０は、タイムアウトしたアクセス請求を駆動デバイス１４０に優先的に配信することができる。具体的に、図３は、本発明の実施例によるタイムアウトしたアクセス要求を配信するプロセスを示すフローチャートである。
【００２７】
図３に示すように、ブロック３０２において、ディスパッチングデバイス１３０は、複数のアクセス請求における各アクセス請求のタイムアウト時間を確定することができ、ここで、タイムアウト時間は、対応するアクセス請求が待機している時間を示す。いくつかの実施例において、計算システム１１０は、各アクセス請求が渡された時間を記録することができ、ディスパッチングデバイス１３０は、渡された時間及び現在時間に基づいて各アクセス請求のタイムアウト時間を確定することができる。
【００２８】
ブロック３０４において、ディスパッチングデバイス１３０は、複数のアクセス請求にはタイムアウト時間が所定の時間閾値より大きいタイムアウトアクセス請求が存在するかどうかを確定することができる。例えば、ディスパッチングデバイス１３０は、一組のアクセス請求を巡回することにより、タイムアウト時間が所定の時間閾値より大きいアクセス請求が存在するかどうかを確定することができる。いくつかの実施例において、ディスパッチングデバイス１３０は、タイムアウト時間の降順に従ってアクセス請求を並べ替えることにより、アクセス請求を順番に巡回し、タイムアウト時間が閾値時間を超えていないアクセス請求が見つかった場合には巡回を終了することができる。このようにして、巡回に必要な計算量を減らすことができる。
【００２９】
ブロック３０４においてタイムアウト時間が時間閾値よりも大きいアクセス請求が存在すると確定されたことに応答して、方法３００はブロック３０６に進み、ディスパッチングデバイス１３０は、タイムアウトアクセス請求を駆動デバイス１４０に配信することができる。このようにして、ディスパッチングデバイス１３０は、タイムアウトしたアクセス要求を駆動デバイス１４０に優先的に配信して実行することができる。ブロック３０４においてタイムアウトしたアクセス要求が存在しないと確定された場合（未図示）、アクセス請求の種類に応じて優先的に読み要求を配信することができる。
【００３０】
続けて図２を参照すると、ブロック２０４において、ディスパッチングデバイス１３０は、配信された読み請求の数が一組の読み請求の総数または第１の閾値の数に達するまで、一組の書き請求における書き請求を配信することなく、一組の読み請求における読み請求を記憶デバイス１５０の駆動デバイス１４０に配信し、駆動デバイス１４０は記憶デバイス１５０上で配信された請求を実行する。いくつかの実施例において、駆動デバイスは、ユーザーステータスにおいてユーザーステータス駆動に実現されることができる。
【００３１】
具体的に、ディスパッチングデバイス１３０は、書き請求を配信することなく、所定の数の読み請求を優先的に配信することができ、即ち、書き請求をより早く受信できるようにする。以下、図２を参照してブロック２０４の具体的なプロセスを説明し、図４は、本発明の実施例による読み請求を配信するプロセスを示すフローチャートである。
【００３２】
図４に示すように、ブロック４０２において、ディスパッチングデバイス１３０は、一組の読み請求のうちの一つの読み請求を駆動デバイス１４０に配信することができる。いくつかの実施例において、ディスパッチングデバイス１３０は、アドレスに応じて順次に読み請求を配信することができるように、対応する物理アドレスに応じて一組の読み請求を並べ替えることにより、読み請求の実行効率を向上させることができる。具体的に、以下、図５を参照してブロック４０２のプロセスを説明し、図５は、本発明の実施例によるアドレスに従って読み請求を配信するプロセスを示すフローチャートである。
【００３３】
図５に示すように、ブロック５０２において、ディスパッチングデバイス１３０は、一組の読み請求から配信されていない目標読み請求を選択することができ、ここで、目標読み請求は、物理アドレスに対する最小のオフセット量を有する。いくつかの実施例において、ディスパッチングデバイス１３０は、各読み請求に対する物理アドレスのオフセット量を確定することができ、例えば、順序木(例えば、赤黒木)を利用して、一組の読み請求をアクセスされたアドレスのオフセット量の順序で並べ替えることができる。例えば、ディスパッチングデバイス１３０は、受信された読み請求のアクセスアドレスに基づいて、それをユーザーステータスの記憶領域に予め設置された順序木に挿入することができる。ディスパッチングデバイス１３０は、その後、順序木から最小のオフセット量を有する配信されていない読み請求を選択することにより、読み請求が常に対応するアドレスのオフセット量の順序で順次に配信されるようにする。例えば、２つの読み請求が連続するアドレスである場合に、このような配信は、読み請求を実行する際にポインタの位置を移動させずに、駆動デバイス１４０が読み請求を実行する効率を向上させることができる。この後、ブロック５０４において、ディスパッチングデバイス１３０は、目標読み請求を駆動デバイス１４０に配信することができる。
【００３４】
続けて図４を参照すると、ブロック４０４において、ディスパッチングデバイス１３０は、読み請求のカウント数を増やし、読み請求のカウント数は、配信された読み請求の数を示す。いくつかの実施例において、ディスパッチングモジュールは、連続して配信された読み請求の数を記録するために読み請求のカウント数を維持することができる。例えば、読み請求のカウント数は、最初に０に設定されても良い。
【００３５】
ブロック４０６において、ディスパッチングデバイス１３０は、一組の読み請求には配信されていない読み請求が存在するかどうかを確定する。ブロック４０６において配信されていない読み請求が存在しないと確定されたことに応答して、即ち、一組の読み請求が全部配信済みである場合、ディスパッチングデバイス１３０は、繰り返しプロセスを終了することができる。
【００３６】
図４に示すように、ブロック４０６において配信されていない読み請求が存在すると確定されたことに応答して、方法はブロック４０８に進み、ディスパッチングデバイス１３０は、読み請求のカウント数が第１の閾値の数に達するかどうかを確定することができ、読み請求のカウント数が第１の閾値の数に達すると確定された場合、ディスパッチングデバイス１３０は、繰り返しプロセスを終了することができる。
【００３７】
逆に、ブロック４０８において読み請求のカウント数が第１の閾値の数に達していないと確定された場合、方法はブロック４０２に戻し、一組の読み請求のうちの次の読み請求を続けて配信することができる。ステップ４０２〜ステップ４０８は、読み請求のカウント数が第１の閾値の数に達するまで繰り返し実行されてもよいことが理解されるべきである。このようにして、ディスパッチングデバイス１３０は、書き請求の性能に対する影響を可能な限り低くする場合に、所定の数の読み請求を優先的に配信して、記憶システムの全体的な性能を向上させることができる。
【００３８】
続けて図２を参照すると、図２に示すように、ブロック２０６において、ディスパッチングデバイス１３０は、一組の書き請求のうちの少なくとも一つの書き請求を駆動デバイス１４０に配信する。いくつかの実施例において、スケジューリングデバイス１３０は、書き請求が受信された順序で書き請求を駆動デバイス１４０に配信することができる。
【００３９】
いくつかの実施例において、一組の読み請求に対する処理と同様に、ディスパッチングデバイス１３０は、一度に所定の数の書き請求のみを分配することもできる。以下、図６を参照してブロック２０６のプロセスを説明し、図６は、本発明の実施例による書き請求を配信するプロセスを示すフローチャートである。
【００４０】
図６に示すように、ブロック６０２において、ディスパッチングデバイス１３０は、一組の書き請求のうちの一つの書き請求を駆動デバイスに配信することができる。いくつかの実施例において、ディスパッチングデバイス１３０は、アドレスに応じて順次に書き請求を配信することができるように、対応する物理アドレスに応じて一組の書き請求を並べ替えることにより、書き請求の実行効率を向上させることができる。具体的に、以下、図７を参照してブロック６０２のプロセスを説明し、図７は、本発明の実施例によるアドレスに従って書き請求を配信するプロセスを示すフローチャートである。
【００４１】
図７に示すように、ブロック７０２において、ディスパッチングデバイス１３０は、一組の書き請求から配信されていない目標書き請求を選択することができ、ここで、目標書き請求は、物理アドレスに対する最小のオフセット量を有する。いくつかの実施例において、ディスパッチングデバイス１３０は、各書き請求に対する物理アドレスのオフセット量を確定することができ、例えば、順序木(例えば、赤黒木)を利用して、一組の書き請求をアクセスされたアドレスのオフセット量の順序で並べ替えることができる。例えば、ディスパッチングデバイス１３０は、受信された書き請求のアクセスアドレスに基づいて、それをユーザーステータスの記憶領域に予め設置された順序木に挿入することができる。ディスパッチングデバイス１３０は、その後、順序木から最小のオフセット量を有する配信されていない書き請求を選択することにより、書き請求が常に対応するアドレスのオフセット量の順序で順次に配信されるようにする。例えば、２つの書き請求が連続するアドレスである場合に、このような配信は、書き請求を実行する際にポインタの位置を移動させずに、駆動デバイス１４０が書き請求を実行する効率を向上させることができる。この後、ブロック７０４において、ディスパッチングデバイス１３０は、目標書き請求を駆動デバイス１４０に配信することができる。
【００４２】
続けて図６を参照すると、ブロック６０４において、ディスパッチングデバイス１３０は、書き請求のカウント数を増やし、書き請求のカウント数は、配信された書き請求の数を示す。いくつかの実施例において、ディスパッチングモジュールは、連続して配信された書き請求の数を記録するために書き請求のカウント数を維持することができる。例えば、書き請求のカウント数は、最初に０に設定されても良い。
【００４３】
ブロック６０６において、ディスパッチングデバイス１３０は、一組の書き請求には配信されていない書き請求が存在するかどうかを確定することができ、ブロック６０６において配信されていない書き請求がまだ存在すると確定されたことに応答して、方法はブロック６０８に進むことができ、ディスパッチングデバイス１３０は、書き請求のカウント数が第２の閾値の数に達するかどうかを確定することができる。ブロック６０８において書き請求のカウント数が予定の第２の閾値の数にまだ達していないと確定された場合、方法はブロック６０２に戻すことができ、即ち、一組の書き請求のうちの次の書き請求を配信する。
【００４４】
ディスパッチングデバイス１３０は、一組の書き請求が全部配信され、または、書き請求のカウント数が第２の閾値の数に達した場合、ディスパッチングデバイス１３０は、方法２００で説明されたプロセスに従って、一組の読み請求をさらに処理することができる。ステップ６０２〜ステップ６０８は、書き請求のカウント数が第１の閾値の数に達するまで繰り返し実行されてもよいことが理解されるべきである。このようにして、ディスパッチングデバイス１３０は、書き請求の性能に対する影響を可能な限り低くすることができる。
【００４５】
このようにして、本発明の実施例は、ユーザーステータスのディスパッチングモジュールにおいて、受信されたアクセス請求に対するディスパッチングを実現することができ、書き請求を配信することなく、所定の数の読み請求を優先的に配信することにより、計算システムの読み請求に対する対応速度を向上させ、所定の数の読み請求を配信した後に書き要求の配信を開始し、ひいては書き請求の効率を可能な限り低下させ、読み請求の効率と書き請求の効率とのバランスを実現することができる。
【００４６】
図８は、本発明の実施例によるアクセス要求を処理するための装置８００を示す概略ブロック図である。装置８００は、図８のディスパッチングデバイス１３０に含まれてもよく、またはディスパッチングデバイス１３０として実現されてもよい。図８に示すように、装置８００は、配信されるべき記憶デバイスに対する複数のアクセス請求を取得するように配置された取得モジュール８１０を含み、アクセス請求は、少なくとも一組の読み請求と一組の書き請求を含む。また、装置８００は、配信された読み請求の数が一組の読み請求の総数または第１の閾値の数に達するまで、一組の書き請求における書き請求を配信することなく、一組の読み請求における読み請求を記憶デバイスの駆動デバイスに配信するように配置された第１の配信モジュール８２０も含み、駆動デバイスは記憶デバイス上で配信された請求を実行する。また、装置８００は、一組の書き請求のうちの少なくとも１つの書き請求を駆動デバイスに配信するように配置された第２の配信モジュール８３０も含む。
【００４７】
いくつかの実施例において、取得モジュールは、配信されるべきアクセス請求キューから複数のアクセス請求を読み取るように配置された読み取りモジュールと、複数のアクセス請求を一組の読み請求と一組の書き請求にグループ化するように配置されたグループ化モジュールとを含む。
【００４８】
いくつかの実施例において、駆動デバイスは、ユーザーステータスで実現される。
【００４９】
いくつかの実施例において、装置８００は、複数のアクセス請求における各アクセス請求の対応するアクセス請求が待機している時間を示すタイムアウト時間を確定するように配置されたタイムアウト時間確定モジュールと、複数のアクセス請求には、タイムアウト時間が所定の時間閾値より大きいタイムアウトアクセス請求が存在するかどうかを確定するように配置された判断モジュールと、タイムアウトアクセス請求を駆動デバイスに配信するように配置されたタイムアウトアクセス請求配信モジュールとをさらに含む。
【００５０】
いくつかの実施例において、第１の配信モジュール８２０は、読み請求のカウント数が第１の閾値の数に達するまで、以下のことを少なくとも１回に繰り返し実行するように配置された第１の繰り返しモジュールを含み、即ち、一組の読み請求のうちの一つの読み請求を駆動デバイスに配信すること、読み請求のカウント数を増やし、読み請求のカウント数は、配信された読み請求の数を示すこと、一組の読み請求には、配信されていない読み請求が存在しないことに応答して、繰り返しを終了することである。
【００５１】
いくつかの実施例において、一組の読み請求のうちの一つの読み請求を駆動デバイスに配信することは、一組の読み請求から配信されていない目標読み請求を選択し、目標読み請求は、物理アドレスに対する最小のオフセット量を有することと、選択された読み請求を駆動デバイスに配信することと、を含む。
【００５２】
いくつかの実施例において、第２の配信モジュール８３０は、書き請求のカウント数が第２の閾値の数に達するまで、以下のことを少なくとも１回に繰り返し実行するように配置された第２の繰り返しモジュールを含み、即ち、一組の書き請求のうちの一つの書き請求を駆動デバイスに配信すること、書き請求のカウント数を増やし、書き請求のカウント数は、配信された書き請求の数を示すこと、一組の書き請求には、配信されていない書き請求が存在しないことに応答して、繰り返しを終了することである。
【００５３】
いくつかの実施例において、一組の書き請求のうちの一つの書き請求を駆動デバイスに配信することは、一組の書き請求から配信されていない目標書き請求を選択し、目標書き請求は、物理アドレスに対する最小のオフセット量を有することと、選択された書き請求を駆動デバイスに配信することとを含む。
【００５４】
図９は、本発明の実施例を実施するための例示的なデバイス９００を示す概略ブロック図である。デバイス９００は、図１のディスパッチングデバイス１３０を実現するために使用されてもよい。図に示すように、デバイス９００は、読み出し専用メモリ（ＲＯＭ）９０２に記憶されているコンピュータプログラム指令または記憶部９０８からランダムアクセスメモリ（ＲＡＭ）９０３にロードされたコンピュータプログラム指令に従って各種の適切な動作と処理を行うことができる中央処理装置（ＣＰＵ）９０１を含むことができる。ＲＡＭ９０３には、デバイス９００の操作に必要な様々なプログラムとデータが記憶されている。ＣＰＵ９０１、ＲＯＭ９０２、およびＲＡＭ９０３は、バス９０４によって相互に接続されている。入力/出力(Ｉ/Ｏ)インターフェース９０５もバス９０４に接続されている。
【００５５】
Ｉ/Ｏインターフェース９０５には、例えばキーボード、マウスなどを含む入力ユニット９０６と、例えば様々なタイプのディスプレイ、スピーカーなどを含む出力ユニット９０７と、例えば磁気ディスク、光ディスクなどを含む記憶ユニット９０８と、例えばネットワークカード、モデム、無線通信送受信機などを含む通信ユニット９０９などのデバイス９００の複数の部品が接続されている。通信装置９０９は、デバイス９００がインターネットなどのコンピュータネットワークおよび／または様々な電気通信ネットワークを介して他のデバイスと情報／データを交換することを許可できる
【００５６】
処理ユニット９０１は、例えば方法２００および／または方法３００などの以上で説明された各方法およびプロセスを実行する。例えば、いくつかの実施例において、方法２００および／または方法３００は、コンピュータソフトウェアプログラムとして実現されることができ、記憶ユニット９０８などの機器可読媒体に有形的に含まれる。いくつかの実施例において、コンピュータプログラムの一部または全部は、ＲＯＭ９０２および／または通信ユニット９０９を介してデバイス９００にロードおよび／またはインストールされることができる。コンピュータプログラムがＲＡＭ９０３にロードされてＣＰＵ９０１によって実行される場合、以上で説明された方法２００および／または方法３００における１つ以上のステップを実行することができる。選択肢として、他の実施例において、ＣＰＵ９０１は、他の適切な手段（例えば、ファームウェア）によって、方法２００および／または方法３００を実行するように構成されてもよい。
【００５７】
本明細書で上述した機能は、少なくとも部分的に１つ以上のハードウェア論理構成要素によって実行されることができる。例えば、非限定的に使用できる例示的なタイプのハードウェア論理構成要素は、フィールド・プログラマブル・ゲート・アレイ(ＦＰＧＡ)、特定用途向け集積回路（ＡＳＩＣ）、特定応用向け汎用品（ＡＳＳＰ）、システムオンチップ（ＳＯＣ）、プログラム可能な論理回路デバイス（ＣＰＬＤ）などを含む。
【００５８】
本発明の方法を実施するためのプログラムコードは、１つ以上のプログラミング言語の任意の組合せを用いて作成することができる。これらのプログラムコードは、汎用コンピュータ、専用コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサまたはコントローラに提供されることにより、プログラムコードがプロセッサまたはコントローラによって実行されるときに、フローチャートおよび/またはブロック図に規定された機能/動作を実行させる。プログラムコードは、完全に機器上で実行され、部分的に機器上で実行され、単独のソフトウェアパッケージとして、部分的に機器上で実行され且つ部分的に遠隔機器上で実行され、または、完全に遠隔機器やサーバー上で実行される。
【００５９】
本発明において、機器可読媒体は、有形の媒体であることができ、指令実行システム、装置またはデバイスによって使用され、あるいは指令実行システム、装置またはデバイスと組み合わせて使用されるプログラムを含むまたは記憶することができる。機器可読媒体は、機器可読信号媒体、あるいは機器可読記憶媒体であってもよい。機器可読媒体は、例えば、電気、磁気、光、電磁気、赤外線、あるいは半導体のシステム、装置またはデバイス、あるいは上記の任意の組合せであってもよいが、これらに限らない。機器可読記憶媒体のより具体的な例には、１本以上のワイヤによる電気的接続、携帯型コンピュータディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、光ファイバ、コンパクトディスク読み取り専用メモリ（ＣＤ-ＲＯＭ）、光記憶装置、磁気記憶装置、または上記の任意の組み合わせが含まれる。
【００６０】
また、各動作は特定の順序で説明されたが、このような動作が示された特定の順序または順に実行されることが要求され、または、すべての図示された動作は、所望の結果を得るために実行されるべきであることが要求されると理解されるべきである。一定の環境下では、マルチタスクや並行処理が有利になる可能性がある。同様に、上記の議論にはいくつかの具体的な実現の詳細が含まれているが、これらは本発明の範囲を制限するものとして解釈されるべきではない。別個の実施例で説明されるいくつかの特徴を、単一の実施形態に組み合わせて実現することもできる。逆に、単一の実施形態で説明される様々な特徴を、単独でまたは任意の適切なサブ組み合わせで複数の実施形態においても実現することもできる。
【００６１】
本主題は、構造的特徴および／または方法的論理動作に特定の言語を用いて説明されているが、添付の特許請求の範囲で定義される主題は、必ずしも上述の特定の特徴または動作に限定されないことを理解されたい。逆に、上記の特定の特徴および動作は、特許請求の範囲を実現するための例示的な形態にすぎない。
【図１】
2020194523.tif 000003
【図２】
2020194523.tif 000004
【図３】
2020194523.tif 000005
【図４】
2020194523.tif 000006
【図５】
2020194523.tif 000007
【図６】
2020194523.tif 000008
【図７】
2020194523.tif 000009
【図８】
2020194523.tif 000010
【図９】
2020194523.tif 000011
【手続補正書】
【提出日】令和2年6月8日(2020.6.8)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明の第４態様において、コンピュータプログラムが記憶されたコンピュータ可読記憶媒体が提供され、当該コンピュータプログラムがプロセッサによって実行されると、本発明による第１態様の方法を実現する。
本発明の第５態様において、コンピュータプログラムが提供され、前記コンピュータプログラムがプロセッサによって実行されると、本発明による第１態様の方法を実現する。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
記憶デバイスに対する少なくとも一組の読み請求と一組の書き請求を含む複数の配信されるべきアクセス請求を取得するステップと、
配信された読み請求の数が前記一組の読み請求の総数または第１の閾値の数に達するまで、前記一組の書き請求における書き請求を配信することなく、前記一組の読み請求における読み請求を前記記憶デバイスの駆動デバイスに配信するステップであって、前記駆動デバイスは前記記憶デバイス上で配信された請求を実行するように配置されているステップと、
前記一組の書き請求のうちの少なくとも１つの書き請求を前記駆動デバイスに配信するステップと、
を含むアクセス請求を処理する方法。
【請求項２】
前記複数のアクセス請求を取得するステップは、
配信されるべきアクセス請求キューから前記複数のアクセス請求を読み取るステップと、
前記複数のアクセス請求を前記一組の読み請求と前記一組の書き請求とにグループ化するステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記駆動デバイスは、ユーザーステータスで実現される、
請求項１に記載の方法。
【請求項４】
前記複数のアクセス請求における各アクセス請求のタイムアウト時間を確定するステップであって、前記タイムアウト時間は、対応するアクセス請求が待機していた時間を示すものであるステップと、
前記複数のアクセス請求には、前記タイムアウト時間が所定の時間閾値より大きいタイムアウトアクセス請求が存在するか否かを確定するステップと、
前記タイムアウトアクセス請求を前記駆動デバイスに配信するステップと、
をさらに含む、請求項１に記載の方法。
【請求項５】
前記一組の読み請求における読み請求を前記駆動デバイスに配信するステップは、読み請求のカウント数が前記第１の閾値の数に達するまで、以下のことを少なくとも１回に繰り返し実行することを含み、即ち、
前記一組の読み請求のうちの一つの読み請求を前記駆動デバイスに配信し、
配信された読み請求の数を示す前記読み請求のカウント数を増やし、
前記一組の読み請求には、配信されていない読み請求が存在しないことに応答して、前記繰り返しを終了することである、
請求項１に記載の方法。
【請求項６】
前記一組の読み請求のうちの一つの読み請求を前記駆動デバイスに配信することは、
前記一組の読み請求から配信されていない目標読み請求であって、物理アドレスに対する最小のオフセット量を有する目標読み請求を選択することと、
選択された前記読み請求を前記駆動デバイスに配信することと、
を含む、請求項５に記載の方法。
【請求項７】
前記一組の書き請求のうちの少なくとも一つの書き請求を前記駆動デバイスに配信するステップは、書き請求のカウント数が第２の閾値の数に達するまで、以下のことを少なくとも１回に繰り返し実行することを含み、即ち、
前記一組の書き請求のうちの一つの書き請求を前記駆動デバイスに配信し、
配信された書き請求の数を示す前記書き請求のカウント数を増やし、
前記一組の書き請求には、配信されていない書き請求が存在しないことに応答して、前記繰り返しを終了することである、
請求項１に記載の方法。
【請求項８】
前記一組の書き請求のうちの一つの書き請求を前記駆動デバイスに配信することは、
前記一組の書き請求から配信されていない目標書き請求であって、物理アドレスに対する最小のオフセット量を有する目標書き請求を選択することと、
選択された前記書き請求を前記駆動デバイスに配信することと、
を含む、請求項７に記載の方法。
【請求項９】
記憶デバイスに対する少なくとも一組の読み請求と一組の書き請求を含む複数の配信されるべきアクセス請求を取得するように配置された取得モジュールと、
配信された読み請求の数が前記一組の読み請求の総数または第１の閾値の数に達するまで、前記一組の書き請求における書き請求を配信することなく、前記一組の読み請求における読み請求を前記記憶デバイスの駆動デバイスに配信するように配置された第１の配信モジュールであって、前記駆動デバイスは前記記憶デバイス上で配信された請求を実行するように配置された第１の配信モジュールと、
前記一組の書き請求のうちの少なくとも１つの書き請求を前記駆動デバイスに配信するように配置された第２の配信モジュールと、
を含む、アクセス請求を処理するための装置。
【請求項１０】
前記取得モジュールは、
配信されるべきアクセス請求キューから前記複数のアクセス請求を読み取るように配置された読み取りモジュールと、
前記複数のアクセス請求を前記一組の読み請求と前記一組の書き請求にグループ化するように配置されたグループ化モジュールと、
を含む、請求項９に記載の装置。
【請求項１１】
前記駆動デバイスは、ユーザーステータスで実現される、
請求項９に記載の装置。
【請求項１２】
前記複数のアクセス請求における各アクセス請求の対応するタイムアウト時間を確定するように配置されたタイムアウト時間確定モジュールであって、前記タイムアウト時間は、アクセス請求が待機していた時間を示すものであるタイムアウト時間確定モジュールと、
前記複数のアクセス請求には、前記タイムアウト時間が所定の時間閾値より大きいタイムアウトアクセス請求が存在するか否かを確定するように配置された判断モジュールと、
前記タイムアウトアクセス請求を前記駆動デバイスに配信するように配置されたタイムアウトアクセス請求配信モジュールと、
をさらに含む、請求項９に記載の装置。
【請求項１３】
前記第１の配信モジュールは、読み請求のカウント数が前記第１の閾値の数に達するまで、以下のことを少なくとも１回に繰り返し実行するように配置された第１の繰り返しモジュールを含み、即ち、
前記一組の読み請求のうちの一つの読み請求を前記駆動デバイスに配信し、
配信された読み請求の数を示す前記読み請求のカウント数を増やし、
前記一組の読み請求には、配信されていない読み請求が存在しないことに応答して、前記繰り返しを終了することである、
請求項９に記載の装置。
【請求項１４】
前記一組の読み請求のうちの一つの読み請求を前記駆動デバイスに配信することは、
前記一組の読み請求から配信されていない目標読み請求であって、物理アドレスに対する最小のオフセット量を有する目標読み請求を選択することと、
選択された前記読み請求を前記駆動デバイスに配信することと、
を含む、請求項１３に記載の装置。
【請求項１５】
前記第２の配信モジュールは、書き請求のカウント数が第２の閾値の数に達するまで、以下のことを少なくとも１回に繰り返し実行するように配置された第２の繰り返しモジュールを含み、即ち、
前記一組の書き請求のうちの一つの書き請求を前記駆動デバイスに配信し、
配信された書き請求の数を示す前記書き請求のカウント数を増やし、
前記一組の書き請求には、配信されていない書き請求が存在しないことに応答して、前記繰り返しを終了することである、
請求項９に記載の装置。
【請求項１６】
前記一組の書き請求のうちの一つの書き請求を前記駆動デバイスに配信することは、
前記一組の書き請求から配信されていない目標書き請求であって、物理アドレスに対する最小のオフセット量を有する目標書き請求を選択することと、
選択された前記書き請求を前記駆動デバイスに配信することと、
を含む、請求項１５に記載の装置。
【請求項１７】
電子機器であって、
１つ以上のプロセッサと、
１つ以上のプログラムが記憶されている記憶デバイスと、を含み、
前記１つ以上のプログラムが前記１つ以上のプロセッサによって実行されると、請求項１から８のいずれか１項に記載の方法を前記電子機器に実現させる、
電子機器。
【請求項１８】
コンピュータプログラムが記憶されたコンピュータ可読記憶媒体であって、
前記コンピュータプログラムがプロセッサによって実行されると、請求項１から８のいずれか１項に記載の方法を実現する、コンピュータ可読記憶媒体。
【請求項１９】
コンピュータプログラムであって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項１〜８のいずれか１項に記載の方法を実現するコンピュータプログラム。
【外国語明細書】
2020194523000001.pdf