(57)【要約】  本願は、データ管理の方法および装置並びにサーバを提供する。方法は、管理サーバが、第１要求を受信する段階と、第１要求内の第１ユーザの識別子に基づいて、第１ユーザの識別子に関連付けられるシャドウテナントバケットが存在するかどうかを判断する段階と、第１ユーザの識別子に関連付けられるシャドウテナントバケットが存在する場合に、第１ユーザが登録を要求するアクセラレーションエンジンイメージＡＥＩを、第１ユーザの識別子に関連付けられるシャドウテナントバケットに記憶する段階であって、シャドウテナントバケットは、指定ユーザのＡＥＩを記憶するために使用され、各シャドウテナントバケットはユーザと一対一の対応関係にある、記憶する段階とを含む。このようにして、ＡＥＩの記憶のセキュリティが向上する。
2022501733.tif 000002
【特許請求の範囲】
【請求項１】
データ管理方法であって、
第１要求を受信する段階であって、前記第１要求は、第１ユーザによりカスタマイズされるアクセラレーションエンジンイメージ（ＡＥＩ）の登録を要求するために前記第１ユーザにより使用され、前記第１要求は、前記第１ユーザの識別子と前記ＡＥＩの識別子とを含む、受信する段階と、
前記第１ユーザの前記識別子に基づいて、前記第１ユーザの前記識別子に関連付けられるシャドウテナントバケットが存在するかどうかを判断する段階であって、前記シャドウテナントバケットは、前記第１ユーザの前記ＡＥＩを記憶するために使用され、各シャドウテナントバケットはユーザと一対一の対応関係にある、判断する段階と、
前記第１ユーザの前記識別子に関連付けられる前記シャドウテナントバケットに前記ＡＥＩを記憶する段階と
を備える方法。
【請求項２】
前記第１ユーザの前記識別子に基づいて、前記第１ユーザの前記識別子に関連付けられるシャドウテナントバケットが存在するかどうかを判断する前記段階は、
第１ルールに従って、前記第１ユーザの前記識別子に関連付けられる前記シャドウテナントバケットの識別子を決定する段階であって、前記第１ルールは、前記シャドウテナントバケットの前記識別子の生成ルールを示すために使用される、決定する段階と、
前記識別子を持つシャドウテナントバケットが存在するかどうかを判断する段階と、
前記識別子を持つ前記シャドウテナントバケットが存在する場合に、前記識別子を持つ前記シャドウテナントバケットが、前記第１ユーザの前記識別子に関連付けられる前記シャドウテナントバケットであると判断する段階と
を有する、請求項１に記載の方法。
【請求項３】
前記第１ユーザの前記識別子に関連付けられる前記シャドウテナントバケットが存在しない場合に、
事前設定されたサイズの記憶スペースを選択する段階と、
前記記憶スペースを、前記第１ユーザの前記識別子に関連付けられる前記シャドウテナントバケットとして使用する段階と、
前記第１ユーザの前記識別子に関連付けられる前記シャドウテナントバケットに前記ＡＥＩを記憶する段階と
を更に備える請求項１に記載の方法。
【請求項４】
前記第１ユーザの前記識別子に関連付けられる前記シャドウテナントバケットに前記ＡＥＩを記憶する前記段階の後に、
第２要求を受信する段階であって、前記第２要求は、前記ＡＥＩのロードを要求するために第２ユーザにより使用され、前記第２要求は、前記第２ユーザの識別子と、前記ＡＥＩの前記識別子と、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）カードに関する情報とを含む、受信する段階と、
前記第２ユーザの前記識別子と前記ＡＥＩの前記識別子とに基づいて前記第２ユーザに対する許可検証を実行する段階と、
前記第２ユーザに対して実行される前記許可検証が成功した場合に、前記ＦＰＧＡカードに関する前記情報に基づいて、第１仮想マシンに関連付けられるＦＰＧＡカードに前記ＡＥＩをロードする段階であって、前記第１仮想マシンは、前記第２ユーザに関連付けられる仮想マシンである、ロードする段階と
を更に備える請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記第２ユーザの前記識別子は前記第１仮想マシンの識別子を含み、前記第２ユーザの前記識別子と前記ＡＥＩの前記識別子とに基づいて前記第２ユーザに対する許可検証を実行する前記段階は、
第１対応関係に従って、前記第１仮想マシンの前記識別子に対応するイメージの識別子を決定する段階であって、前記第１対応関係は、仮想マシンの識別子と前記仮想マシンによる使用が許可されているイメージの識別子との対応関係を示す、決定する段階と、
第２対応関係に従って、前記イメージの前記識別子に対応する少なくとも１つのＡＥＩの識別子を決定する段階であって、前記第２対応関係は、イメージの識別子とＡＥＩの識別子との対応関係である、決定する段階と、
前記少なくとも１つのＡＥＩの前記識別子が前記ＡＥＩの前記識別子を含むと判断する段階と
を有する、請求項４に記載の方法。
【請求項６】
第３要求を受信する段階であって、前記第３要求は、第２仮想マシンの削除を要求するために第３ユーザにより使用され、前記第２仮想マシンは、前記第３ユーザに関連付けられる仮想マシンである、受信する段階と、
前記第２仮想マシンにより占有されるリソースを解放し、前記第２仮想マシンに関連付けられるＦＰＧＡカード内のＡＥＩをクリアする段階と
を更に備える請求項１から５のいずれか一項に記載の方法。
【請求項７】
前記第２仮想マシンに関連付けられるＦＰＧＡカード内のＡＥＩをクリアする前記段階は、
前記ＦＰＧＡカードの状態をクリア対象ステータスに設定し、前記第２仮想マシンに関連付けられる前記ＦＰＧＡカードのＡＥＩクリアインタフェースを呼び出して、前記第２仮想マシンに関連付けられる前記ＦＰＧＡカードにロードされるＡＥＩファイルをクリアする段階と、
事前設定された持続時間が満たされると、前記第２仮想マシンに関連付けられる複数のＦＰＧＡカードの各ＦＰＧＡカード内のＡＥＩファイルが正常にクリアされているかどうかを判断する段階と、
前記ＡＥＩファイルが正常にクリアされている場合に、前記ＦＰＧＡカードを利用可能ステータスに設定し、前記ＡＥＩファイルが正常にクリアされていない場合に、前記ＦＰＧＡカードが正常にクリアされていないと判断し、前記ＦＰＧＡカードが正常にクリアされていない回数が閾値に達していると判断した後に警告を生成する段階と
を有する、請求項６に記載の方法。
【請求項８】
データ管理装置であって、
第１要求を受信するように構成される第１要求受信モジュールであって、前記第１要求は、第１ユーザによりカスタマイズされるアクセラレーションエンジンイメージ（ＡＥＩ）の登録を要求するために前記第１ユーザにより使用され、前記第１要求は、前記第１ユーザの識別子と前記ＡＥＩの識別子とを含む、第１要求受信モジュールと、
前記第１ユーザの前記識別子に基づいて、前記第１ユーザの前記識別子に関連付けられるシャドウテナントバケットが存在するかどうかを判断するように構成されるシャドウテナントバケット決定モジュールであって、前記シャドウテナントバケットは、前記第１ユーザの前記ＡＥＩを記憶するために使用され、各シャドウテナントバケットはユーザと一対一の対応関係にある、シャドウテナントバケット決定モジュールと、
前記第１ユーザの前記識別子に関連付けられる前記シャドウテナントバケットが存在する場合に、前記第１ユーザの前記識別子に関連付けられる前記シャドウテナントバケットに前記ＡＥＩを記憶するように構成されるシャドウテナントバケット記憶モジュールと
を備える装置。
【請求項９】
前記シャドウテナントバケット決定モジュールは更に、
第１ルールに従って、前記第１ユーザの前記識別子に関連付けられる前記シャドウテナントバケットの識別子を決定することであって、前記第１ルールは、前記シャドウテナントバケットの前記識別子の生成ルールを示すために使用される、決定することと、
前記識別子を持つシャドウテナントバケットが存在するかどうかを判断することと、
前記識別子を持つ前記シャドウテナントバケットが存在する場合に、前記識別子を持つ前記シャドウテナントバケットが、前記第１ユーザの前記識別子に関連付けられる前記シャドウテナントバケットであると判断することと
を行うように構成される、
請求項８に記載の装置。
【請求項１０】
前記第１ユーザの前記識別子に関連付けられる前記シャドウテナントバケットが存在しない場合に、事前設定されたサイズの記憶スペースを選択し、前記記憶スペースを、前記第１ユーザの前記識別子に関連付けられる前記シャドウテナントバケットとして使用し、かつ、前記第１ユーザの前記識別子に関連付けられる前記シャドウテナントバケットに前記ＡＥＩを記憶するように構成されるシャドウテナントバケット作成モジュール
を更に備える請求項８に記載の装置。
【請求項１１】
前記装置は更に、第２要求受信モジュールと、許可検証モジュールと、ロードモジュールとを備え、
前記第２要求受信モジュールは、第２要求を受信するように構成され、前記第２要求は、前記ＡＥＩのロードを要求するために第２ユーザにより使用され、前記第２要求は、前記第２ユーザの識別子と、前記ＡＥＩの前記識別子と、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）カードに関する情報とを含み、
前記許可検証モジュールは、前記第２ユーザの前記識別子と前記ＡＥＩの前記識別子とに基づいて前記第２ユーザに対する許可検証を実行するように構成され、
前記ロードモジュールは、前記第２ユーザに対して実行される前記許可検証が成功した場合に、前記ＦＰＧＡカードに関する前記情報に基づいて、第１仮想マシンに関連付けられるＦＰＧＡカードに前記ＡＥＩをロードするように構成され、前記第１仮想マシンは、前記第２ユーザに関連付けられる仮想マシンである、
請求項８から１０のいずれか一項に記載の装置。
【請求項１２】
前記第２ユーザの前記識別子は前記第１仮想マシンの識別子を含み、
前記許可検証モジュールは、
第１対応関係に従って、前記第１仮想マシンの前記識別子に対応するイメージの識別子を決定することであって、前記第１対応関係は、仮想マシンの識別子と前記仮想マシンによる使用が許可されているイメージの識別子との対応関係を示す、決定することと、
第２対応関係に従って、前記イメージの前記識別子に対応する少なくとも１つのＡＥＩの識別子を決定することであって、前記第２対応関係は、イメージの識別子とＡＥＩの識別子との対応関係である、決定することと、
前記少なくとも１つのＡＥＩの前記識別子が前記ＡＥＩの前記識別子を含むと判断することと
を行うように構成される、
請求項１１に記載の装置。
【請求項１３】
前記装置は更に、第３要求受信モジュールと削除モジュールとを備え、
前記第３要求受信モジュールは、第３要求を受信するように構成され、前記第３要求は、第２仮想マシンの削除を要求するために第３ユーザにより使用され、前記第２仮想マシンは、前記第３ユーザに関連付けられる仮想マシンであり、
前記削除モジュールは、前記第２仮想マシンにより占有されるリソースを解放し、かつ、前記第２仮想マシンに関連付けられるＦＰＧＡカード内のＡＥＩをクリアするように構成される、
請求項８から１２のいずれか一項に記載の装置。
【請求項１４】
前記削除モジュールが、前記第２仮想マシンに関連付けられるＦＰＧＡカード内のＡＥＩをクリアすることは、
前記削除モジュールが、前記ＦＰＧＡカードの状態をクリア対象ステータスに設定し、前記第２仮想マシンに関連付けられる前記ＦＰＧＡカードのＡＥＩクリアインタフェースを呼び出して、前記第２仮想マシンに関連付けられる前記ＦＰＧＡカードにロードされる前記ＡＥＩをクリアすることと、
事前設定された持続時間が満たされると、前記第２仮想マシンに関連付けられる複数のＦＰＧＡカードの各ＦＰＧＡカード内のＡＥＩが正常にクリアされているかどうかを判断することと、
前記ＡＥＩが正常にクリアされている場合に、前記ＦＰＧＡカードを利用可能ステータスに設定し、前記ＡＥＩが正常にクリアされていない場合に、前記ＦＰＧＡカードが正常にクリアされていないと判断し、前記ＦＰＧＡカードが正常にクリアされていない回数が閾値に達していると判断した後に警告を生成することと
を含む、請求項１３に記載の装置。
【請求項１５】
プロセッサとメモリとを備えるサーバであって、前記メモリは、コンピュータ実行可能命令を記憶するように構成され、前記サーバが実行されると、前記プロセッサは、前記メモリ内の前記コンピュータ実行可能命令を実行して、前記サーバ内のハードウェアリソースを使用することにより請求項１から７のいずれか一項に記載の方法の動作段階を実行する、サーバ。
【請求項１６】
コンピュータに、請求項１から７のいずれか一項に基づく方法の動作段階を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願はクラウドコンピューティング技術の分野、特に、データ管理の方法および装置並びにサーバに関する。
【背景技術】
【０００２】
フィールドプログラマブルゲートアレイ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ、ＦＰＧＡ）アクセラレーティッドクラウドサーバは、ＦＰＧＡベースの融通性があるクラウドサーバである。ＦＰＧＡアクセラレーティッドクラウドサーバは、ユーザがＦＰＧＡベースのアクセラレーションサービスを容易に開発および展開するためのツールおよび環境を提供し、かつ、使いやすく、費用効果が高く、俊敏性があり、安全なＦＰＧＡクラウドサービスをユーザに提供するために使用され得る。
【０００３】
ＦＰＧＡアクセラレーティッドクラウドサーバは、知的財産（ｉｎｔｅｌｌｅｃｔｕａｌ  ｐｒｏｐｅｒｔｙ、ＩＰ）カーネルモジュールを開発、展開、および使用するために使用され得る。ＩＰカーネルモジュールは、事前設計されたか、検証されていないか、または検証された、定められた機能を有する集積回路、デバイス、またはコンポーネントであり得る。ＩＰカーネルモジュールを開発した後、ユーザはＩＰカーネルモジュールに関連付けられるアクセラレーションエンジンイメージ（ａｃｃｅｌｅｒａｔｅｄ  ｅｎｇｉｎｅ  ｉｍａｇｅ、ＡＥＩ）をクラウドサーバに記憶することができる。このユーザと、ＩＰカーネルモジュールの使用許可を取得する別のユーザとは、ＩＰカーネルモジュールに関連付けられるＡＥＩをロードおよび使用して、ＩＰカーネルモジュールの機能を実装することができる。
【０００４】
ただし、現在、ユーザにより開発されるＩＰカーネルモジュールに関連付けられるＡＥＩは一律に記憶および管理されており、これにはセキュリティ上のリスクがある。
【発明の概要】
【０００５】
本願は、ユーザによるＡＥＩの現在の一律的な記憶および管理にセキュリティ上のリスクがあるという技術的問題を解決するための、データ管理の方法および装置並びにサーバを提供する。
【０００６】
第１態様によれば、データ管理方法が提供される。第１要求が受信された後、第１要求内の第１ユーザの識別子に基づいて、第１ユーザの識別子に関連付けられるシャドウテナントバケットが存在するかどうかが判断され、第１ユーザの識別子に関連付けられるシャドウテナントバケットが存在する場合は、第１ユーザが登録を要求するＡＥＩが、第１ユーザの識別子に関連付けられるシャドウテナントバケットに記憶され、第１要求は、第１ユーザによりカスタマイズされるＡＥＩの登録を要求するために使用され、シャドウテナントバケットは、第１ユーザのＡＥＩを記憶するために使用され、各シャドウテナントバケットはユーザと一対一の対応関係にある。
【０００７】
前述の方式によれば、第１ユーザが登録を要求するＡＥＩはシャドウテナントバケットに記憶されてよい。シャドウテナントバケットが指定ユーザのＡＥＩを記憶することから、ＡＥＩの記憶のセキュリティを向上させることができる。
【０００８】
ある考えられる実装では、第１要求内の第１ユーザの識別子に関連付けられるシャドウテナントバケットが存在するかどうかが判断されるときに、第１ユーザの識別子に関連付けられるシャドウテナントバケットの識別子が第１ルールに従って決定されてよく、第１ルールは、シャドウテナントバケットの識別子の生成ルールを示すために使用される。シャドウテナントバケットの識別子が決定された後、現在作成されている全てのシャドウテナントバケットの中にこの識別子を持つシャドウテナントバケットが存在するかどうかが照会されてよい。この識別子を持つシャドウテナントバケットが存在する場合は、そのシャドウテナントバケットが、第１ユーザの識別子に関連付けられるシャドウテナントバケットである。従って、第１ユーザの識別子に関連付けられる既存のシャドウテナントバケットは、第１要求内の第１ユーザの識別子に基づいて照会されてよい。
【０００９】
ある考えられる実装では、第１ユーザの識別子に関連付けられるシャドウテナントバケットが存在しないと判断された場合に、事前設定されたサイズの記憶スペースが、第１ユーザの識別子に関連付けられるシャドウテナントバケットとして選択されてよい。その後、第１ユーザにより登録されるＡＥＩは、新たに作成されたシャドウテナントバケットに記憶されてよい。従って、現在作成されている全てのシャドウテナントバケットの中に第１ユーザの識別子に関連付けられるシャドウテナントバケットが存在しない場合は、第１ユーザの識別子に関連付けられるシャドウテナントバケットが作成され、第１ユーザにより登録されるＡＥＩがシャドウテナントバケットに記憶される。
【００１０】
ある考えられる実装では、第２要求が受信された場合に、第２要求に含まれる第２ユーザの識別子とＡＥＩの識別子とに基づいて、第２ユーザの許可検証が成功していると判断されてよい。その後、第２要求内のＦＰＧＡカードに関する情報に基づいてＡＥＩがＦＰＧＡカードにロードされ、ＦＰＧＡカードは、第２ユーザに関連付けられる第１仮想マシンに関連付けられるＦＰＧＡカードである。このようにして、ＡＥＩは、第２要求に基づいて、第２ユーザに関連付けられる第１仮想マシンに関連付けられるＦＰＧＡカードにロードされてよい。従って、第２ユーザは、第１仮想マシンを介してＦＰＧＡカード内のＡＥＩを使用してよい。
【００１１】
ある考えられる実装では、第２要求に保持される第２ユーザの識別子が第１仮想マシンの識別子を含む場合、第２ユーザの許可検証が成功しているかどうかが判断されるときに、第１仮想マシンの識別子に対応するイメージの識別子が第１対応関係に従って決定されてよく、このイメージの識別子に対応する少なくとも１つのＡＥＩの識別子が第２対応関係に従って決定される。第２要求に含まれるＡＥＩの識別子が、少なくとも１つのＡＥＩの決定された識別子に含まれる場合は、第２ユーザの許可検証が成功していると判断されてよく、そうでない場合は、第２ユーザの許可検証が失敗していると判断されてよい。第１対応関係は、仮想マシンの識別子と仮想マシンによる使用が許可されているイメージの識別子との対応関係を示してよく、第２対応関係は、イメージの識別子とＡＥＩの識別子との対応関係を示してよい。従って、許可検証は、第２ユーザの識別子とＡＥＩの識別子とに基づいて第２ユーザに対して実行されてよい。
【００１２】
ある考えられる実装では、第３要求が受信された場合に、第２仮想マシンにより占有されるリソースが第３要求に応答して解放されよく、第２仮想マシンに関連付けられるＦＰＧＡカード内のＡＥＩが非同期的にクリアされてよい。第３要求は、第２仮想マシンの削除を要求するために第３ユーザにより使用され、第２仮想マシンは、第３ユーザに関連付けられる仮想マシンである。このようにして、仮想マシンを削除するプロセスにあるリソース解放段階とＦＰＧＡカードクリア段階とを切り離すことができる。これによって、ＦＰＧＡカードのクリアプログラムにおけるプログラムの障害により引き起こされる仮想マシンのリソース解放の失敗が回避される。
【００１３】
ある考えられる実装では、第２仮想マシンに関連付けられるＦＰＧＡカード内のＡＥＩがクリアされるときに、ＦＰＧＡカードがクリア対象ステータスに設定されてよく、ＦＰＧＡカードのＡＥＩクリアインタフェースが呼び出されて、ＡＥＩがクリアされる。その後、ＦＰＧＡカード内のＡＥＩが正常にクリアされているかどうかが、事前設定された持続時間で判断されてよい。ＦＰＧＡカード内のＡＥＩが正常にクリアされている場合は、ＦＰＧＡカードを利用可能ステータスに設定する。そうでない場合は、ＦＰＧＡカードが正常にクリアされていないと判断される。ＦＰＧＡカードが正常にクリアされていない回数が閾値に達した場合は、警告が生成される。従って、ＦＰＧＡカード内のＡＥＩをクリアする方式を提供し、正常にクリアされていないＦＰＧＡカードの状態をクリア対象ステータスに設定することで、別のユーザに関連付けられる仮想マシンにＦＰＧＡカードが再割り当てされるためにクリアされなかったＡＥＩの漏洩を回避する。更には、ＦＰＧＡカードが正常にクリアされていない回数が事前設定された閾値に達すると、警告が更に生成されて、ＦＰＧＡカードが長時間にわたってクリア対象ステータスになるのを防止することができる。
【００１４】
第２態様によれば、本願はデータ管理装置を提供する。この装置は、第１態様または第１態様の考えられる実装のいずれか１つにおけるトラブルシューティング方法を実行するように構成されるモジュールを含む。第３態様によれば、本願はサーバを提供する。このサーバは、プロセッサ、メモリ、通信インタフェース、およびバスを含む。プロセッサ、メモリ、および通信インタフェースは、バスを介して互いに接続されて通信する。メモリは、コンピュータ実行可能命令を記憶するように構成される。装置が実行されると、プロセッサはメモリ内のコンピュータ実行可能命令を実行して、装置内のハードウェアリソースを使用することにより第１態様または第１態様の考えられる実装のいずれか１つに係る方法の動作段階を実行する。
【００１５】
第４態様によれば、本願はＦＰＧＡクラウドコンピューティングシステムを提供する。ＦＰＧＡクラウドコンピューティングシステムは、サービスサーバおよび管理サーバを含む。管理サーバは、第１態様または第１態様の考えられる実装のいずれか１つにおける方法の動作段階を実行するように構成されてよい。
【００１６】
第５態様によれば、本願はコンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は命令を記憶する。命令がコンピュータ上で実行されると、コンピュータは、第１態様または第１態様の考えられる実装のいずれか１つにおける方法を実行することができる。
【００１７】
第６態様によれば、本願は、命令を含むコンピュータプログラム製品を提供する。命令がコンピュータ上で実行されると、コンピュータは、第１態様または第１態様の考えられる実装のいずれか１つにおける方法を実行することができる。
【００１８】
前述の態様で提供する実装に基づいて、本願は更に、これらの実装を組み合わせてより多くの実装を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本願のある実施形態に係るＦＰＧＡクラウドコンピューティングシステムのアーキテクチャの概略図である。
【００２０】
【図２】本願のある実施形態に係る別のＦＰＧＡクラウドコンピューティングシステムのアーキテクチャの概略図である。
【００２１】
【図３】本願のある実施形態に係る、ＡＥＩを登録する方法の概略フローチャートである。
【００２２】
【図４Ａ】本願のある実施形態に係るデータ管理方法の概略フローチャートである。
【図４Ｂ】本願のある実施形態に係るデータ管理方法の概略フローチャートである。
【００２３】
【図５】本願のある実施形態に係る別のデータ管理方法の概略フローチャートである。
【００２４】
【図６】本願のある実施形態に係る別のデータ管理方法の概略フローチャートである。
【００２５】
【図７】本願のある実施形態に係るデータ管理装置の概略構造図である。
【００２６】
【図８】本願のある実施形態に係る別のデータ管理装置の概略構造図である。
【発明を実施するための形態】
【００２７】
本願の目的、技術的解決策、および利点をより明確にするために、以下では、添付の図面を参照しながら本願について更に詳細に説明する。
【００２８】
以下では、本願に関連する用語について説明する。
【００２９】
１．少なくとも１つは１または複数を意味する。すなわち、１つ、２つ、３つ、またはそれ以上を含む。
【００３０】
２．複数は２つまたはそれ以上を意味する。すなわち、２つ、３つ、またはそれ以上を含む。
【００３１】
３．ロードは、ファイルがＡからＢにコピーされ、その結果、ＡおよびＢの両方がそのファイルを有することを意味する場合がある。代替的に、ファイルがＡからＢにカットされる場合もあり、カット後はＢのみがそのファイルを有する。
【００３２】
４．識別子（ｉｄｅｎｔｉｆｉｅｒ）は、番号、名前、および記述情報などを含むオブジェクトを一意的に識別する情報であってよい。例えば、ＡＥＩの識別子は、ＡＥＩの番号、ＡＥＩの名前、およびＡＥＩの記述情報のうちの１または複数を含んでよい。
【００３３】
５．ＦＰＧＡアクセラレーティッドクラウドサーバは、サービス開発のためのツールおよび環境を提供し、かつ、ＦＰＧＡアクセラレーションアルゴリズムを実装する、仮想マシンまたはサーバである。ＦＰＧＡアクセラレーティッドクラウドサーバは、ハードウェア開発キット（ｈａｒｄｗａｒｅ  ｄｅｖｅｌｏｐｍｅｎｔ  ｋｉｔ、ＨＤＫ）およびソフトウェア開発キット（ｓｏｆｔｗａｒｅ  ｄｅｖｅｌｏｐｍｅｎｔ  ｋｉｔ、ＳＤＫ）を提供するために使用されてよい。ＨＤＫは、アクセラレータの例、符号化環境、シミュレーションプラットフォーム、自動コンパイルツール、並びにコード暗号化およびデバッグツールキットなどの必要なツールを含んでよく、ＳＤＫは、アプリケーションの例、ハードウェア抽象的インタフェース、アクセラレータ抽象的インタフェース、アクセラレータドライバおよびランタイム（ｒｕｎｔｉｍｅ）、並びにバージョン管理ツールなどの必要なツールを含んでよい。ユーザは、ＦＰＧＡアクセラレーティッドクラウドサーバを介してアプリケーションを開発することができる。開発ファイルは、ＦＰＧＡ関連ネットリスト、コンパイルレポート、および時系列レポートなど、例えば、デザインチェックポイント（ｄｅｓｉｇｎ  ｃｈｅｃｋ  ｐｏｉｎｔ、ＤＣＰ）ファイルを含んでよい。開発ＤＣＰファイルは、ユーザに対応するバックグラウンド記憶バケットに記憶されてよい。
【００３４】
６．記憶バケットはテナントバケットまたはテナント記憶バケットとも呼ばれ、ユーザに関連付けられるＦＰＧＡアクセラレーティッドクラウドサーバの記憶スペースである。記憶バケットは、ユーザにより認識および操作され得る記憶スペースである。ユーザは、クラウドサーバを介してユーザに関連付けられる記憶スペースにアクセスすることができる。例えば、ユーザは記憶スペースにファイルを記憶することができ、ユーザに関連付けられる記憶バケットを設定することもできる。例えば、ユーザは、ユーザに関連付けられる記憶バケットに別のユーザがアクセスすることを許可または禁止することができる。記憶バケットは、データおよびファイルを記憶するために使用され得る。例えば、記憶バケットは、ユーザにより開発されるＤＣＰファイルとＡＥＩとを記憶するために使用され得る。本願の実施形態に関連する記憶バケットは、オブジェクト記憶サービス（ｏｂｊｅｃｔ  ｓｔｏｒａｇｅ  ｓｅｒｖｉｃｅ、ＯＢＳ）記憶バケットであってもよいし、別のタイプの記憶サービスを使用することにより実装されてもよい。本願の実施形態ではこれについて限定しない。
【００３５】
７．ＡＥＩは、ＦＰＧＡアクセラレーティッドクラウドサーバまたはラボ環境を介してユーザにより開発されるファイル（例えば、ＤＣＰファイル）、または、ＩＰカーネルモジュールに関連付けられ、かつ、ユーザがＦＰＧＡアクセラレーティッドクラウドサーバを介してコンパイルを実行した後に取得される、ファイル（データ、ロジック、およびアルゴリズムなどを含んでよい）であってよい。ＡＥＩをロードおよび実行することで、ＩＰカーネルモジュールの対応する機能が実装され得る。ユーザは、ＦＰＧＡアクセラレーティッドクラウドサーバを介してユーザのカスタマイズしたＡＥＩを登録してよく、ユーザのカスタマイズしたＡＥＩは、ユーザのカスタマイズしたアルゴリズムおよび／またはロジックを含んでよい。ＡＥＩを実装することで、既存のクラウドサービス機能またはユーザのカスタマイズした新たなクラウドサービス機能が実装されてよい。
【００３６】
８．シャドウテナントバケットはシャドウバケットまたはシャドウ記憶バケットとも呼ばれ、ユーザに関連付けられ、かつ、ＦＰＧＡアクセラレーティッドクラウドサーバ内にある、記憶スペースである。ＦＰＧＡアクセラレーティッドクラウドサーバは、ユーザに関連付けられるシャドウテナントバケットにユーザのデータおよびファイルを記憶してよい。ただし、ユーザは、これらのデータおよびファイルがシャドウテナントバケットに記憶されているのを認識することができない。シャドウテナントバケットが作成されるとき、シャドウテナントバケットをユーザの識別子および／または認証情報にバインドして、ユーザをシャドウテナントバケットと関連付けてよい。シャドウテナントバケットと記憶バケットとの違いは、ユーザがシャドウテナントバケットの存在を認識できないことである。クラウドサーバは、条件を満たしているデータをシャドウテナントバケットに自動的に記憶する。ユーザがデータを呼び出すと、クラウドサーバは、そのデータがシャドウテナントバケットに記憶されているかどうかを自動的に識別する。そのデータがシャドウテナントバケットに記憶されている場合は、クラウドサーバは、シャドウテナントバケット内のデータを自動的に呼び出す。ユーザはこのプロセスを認識することができない。ただし、記憶バケットは、ユーザにより認識され得る記憶スペースである。ユーザは、記憶バケットにデータを記憶するようクラウドサーバを制御し、記憶バケット内のデータを呼び出すようにクラウドサーバを制御することができる。
【００３７】
９．ＦＰＧＡカードはＦＰＧＡアクセラレーションカードまたはＦＰＧＡデータアクセラレーションカードとも呼ばれ、ＦＰＧＡを介して複雑なロジックおよびアルゴリズムの処理を実装することができる。ＦＰＧＡカードは、アルゴリズムアクセラレーション、ビッグデータ分析、高性能コンピューティング、およびサーバハードウェアアクセラレーションなどの一般的なアクセラレーション適用シナリオで使用される。ユーザの実際の要件に基づいて、ＦＰＧＡアクセラレーションカードのアルゴリズムが修正されてよい。例えば、ＦＰＧＡカードに関連付けられるサーバおよび仮想マシン（ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ、ＶＭ）を介してＡＥＩがＦＰＧＡカードにロードされてよく、その結果、ＡＥＩに含まれるアルゴリズムがＦＰＧＡカードにロードされる。ＦＰＧＡカードにロードされるＡＥＩは、サーバおよび仮想マシンを介して修正または削除されて、ＦＰＧＡカードのアクセラレーションアルゴリズムが修正または削除される。
【００３８】
１０．ＦＰＧＡ仮想マシンは、ＦＰＧＡクラウドコンピューティングシステム内にあり、かつ、少なくとも１つのＦＰＧＡカードに関連付けられる、仮想マシンであってよい。ＦＰＧＡ仮想マシンは、ＦＰＧＡカードにロードされるアルゴリズムを実行して、アルゴリズムの対応する機能を実装するように構成されてよい。ＦＰＧＡ仮想マシンはユーザに関連付けられてよい。例えば、ＦＰＧＡクラウドコンピューティングシステムは、ユーザの要求に従ってユーザ用のＦＰＧＡ仮想マシンを作成し、ユーザの許可および要件などに基づいて、ＦＰＧＡ仮想マシンとＦＰＧＡ仮想マシンに関連付けられるＦＰＧＡカードとを構成してよい。
【００３９】
１１．認証情報は、ユーザ認証に使用される情報である。認証とは、ユーザがＦＰＧＡクラウドサーバにアクセスするかまたはＡＥＩサービス（例えば、ＡＥＩの作成、ＡＥＩの実行、またはＡＥＩの削除）を使用するときに、ユーザの認証情報に基づいてユーザの許可が認証されることを意味する。認証ユーザのみがＦＰＧＡクラウドサーバにアクセスするかまたはＡＥＩサービスを使用して、本物のアイデンティティを持たないユーザ、または認証情報が本物ではなく無効であるユーザによる、ＦＰＧＡクラウドサーバへのアクセスまたはＡＥＩサービスの使用を防止することができる。これによって、ＦＰＧＡクラウドサーバのセキュリティが向上する。ユーザの認証情報は、以下に限定するわけではないが、ユーザのアクセスキー識別子（ａｃｃｅｓｓ  ｋｅｙ  ＩＤ、ＡＫ）およびシークレットアクセスキー（ｓｅｃｒｅｔ  ａｃｃｅｓｓ  ｋｅｙ、ＳＫ）を含む。本明細書における認証は、アイデンティティ／アクセス管理（Ｉｄｅｎｔｉｔｙ  ａｎｄ  Ａｃｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔ、ＩＡＭ）認証であり得る。
【００４０】
以下では、添付の図面を参照しながら本願の実施形態について詳細に説明する。最初に、本願のある実施形態で提供するクラウドコンピューティングシステムについて説明する。このシステムには、本願で提供するデータ管理方法が適用されてよい。次に、本願のある実施形態で提供するデータ管理装置について説明する。最後に、本願のある実施形態で提供するデータ管理方法について説明する。
【００４１】
図１に示すように、本願のある実施形態で提供するＦＰＧＡクラウドコンピューティングシステム１００は、複数のサーバを含む仮想化環境であってよい。ＦＰＧＡクラウドコンピューティングシステム１００は、複数の管理サーバ１０２と複数のサービスサーバ１０１とを含んでよい。複数の管理サーバ１０２は、通信インタフェースを介して互いに相互作用してよく、複数のサービスサーバ１０１も、通信インタフェースを介して互いに相互作用してよい。
【００４２】
各サービスサーバ１０１は、１または複数のＦＰＧＡカード１０４に接続されてよく、各サービスサーバ１０１上では、１または複数の仮想マシン１０３が実行されてよい。本明細書における仮想マシン１０３は、ＦＰＧＡ仮想マシンまたは標準的な仮想マシンであってよく、各ＦＰＧＡ仮想マシンは、１または複数のＦＰＧＡカードに関連付けられてよい。ＦＰＧＡ仮想マシンは、ＦＰＧＡ仮想マシンに関連付けられるＦＰＧＡカードにロードされるアクセラレーションアルゴリズムを実行する（例えば、ＦＰＧＡカードにロードされるＡＥＩを呼び出して、ＡＥＩ関連機能を実装する）ように構成されてよく、標準的な仮想マシンは、ＦＰＧＡカードに関連付けられない仮想マシンである。
【００４３】
ＦＰＧＡクラウドコンピューティングシステム１００は、ユーザに関連付けられる１または複数の標準的な仮想マシンまたはＦＰＧＡ仮想マシンをユーザのために作成してよい。例えば、図１に示すように、仮想マシン１０３はサービスサーバ１０１で実行され、ユーザは標準的な仮想マシンまたはＦＰＧＡ仮想マシンを介してＦＰＧＡクラウドコンピューティングシステム１００にアクセスしてよい。具体的には、第１ユーザに関連付けられる仮想マシン１０３がＦＰＧＡ仮想マシンであることが想定され、第１ユーザは、仮想マシン１０３を介して、仮想マシン１０３に関連付けられるＦＰＧＡカードに命令コードによりロードされるＡＥＩを呼び出して、ＡＥＩを実行してよい。
【００４４】
管理サーバ１０２は、以下に限定するわけではないが、ＡＥＩのコンパイルおよび生成、仮想マシン１０３（ＦＰＧＡ仮想マシンまたは標準的な仮想マシン）の作成、修正、または削除、並びにＦＰＧＡ仮想マシンに関連付けられるＦＰＧＡカード内のＡＥＩのロードまたは削除を含む、ＦＰＧＡクラウドコンピューティングシステム１００の管理を行うように構成されてよい。管理サーバ１０２は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアとの組み合わせを介して、少なくとも１つのクラウドサービスを提供してよい。例えば、管理サーバ１０２は、ＦＰＧＡイメージサービス（ＦＰＧＡ  ｉｍａｇｅ  ｓｅｒｖｉｃｅ）およびＡＥＩ管理サービス（ＡＥＩ  ｍａｎａｇｅｍｅｎｔ  ｓｅｒｖｉｃｅ）を提供するように構成されてよく、ＡＥＩを管理するように構成される。例えば、ＦＰＧＡイメージサービスは、ユーザによりアップロードされるＤＣＰファイルを取得してよく、ＡＥＩファイルの記憶と、ＡＥＩ関連情報の取得および照会とを行うように構成される。ＡＥＩ管理サービスは、ＤＣＰファイルに基づいてＡＥＩファイルをコンパイルおよび生成するために使用され得る。実装中、複数の管理サーバ１０２は、１または複数のサービスサーバ１０１を共同で管理してよい。複数の管理サーバは、アクティブ／スタンバイ動作モードを使用してよい。具体的には、１つの管理サーバ１０２がアクティブステータスの管理サーバであり、１または複数の他の管理サーバ１０２がスタンバイステータスの管理サーバである（スタンバイ管理サーバとサービスサーバ１０１との相互作用が図１の破線で示されている）。同じ時点で、サービスサーバの管理には、アクティブステータスの管理サーバのみが使用される。アクティブステータスの管理サーバに障害がある場合は、スタンバイステータスの複数の管理サーバがアクティブステータスの新たな管理サーバを再選択してよく、アクティブステータスの新たな管理サーバはサービスサーバの管理タスクを引き継ぐ。オプションで、複数の管理サーバは別の動作モードを使用してもよい。例えば、複数の管理サーバは負荷分散動作モードを使用し、これらの管理サーバは複数のサービスサーバを共同で管理する。本願のこの実施形態では、これら複数の管理サーバの動作モードについて限定しない。説明しやすくするために、本願のある実施形態の以下の説明では、複数の管理サーバがアクティブ／スタンバイ動作モードにある例を説明に使用する。
【００４５】
図１に示すアーキテクチャは、ＦＰＧＡクラウドコンピューティングシステム１００の考えられるハードウェア構造のみを示していることを理解されたい。図に示す構造に加えて、必要なコンポーネントが更に含まれてよい。例えば、ＦＰＧＡクラウドコンピューティングシステム１００は更に、データを記憶するように構成される記憶デバイスを含んでよく、記憶デバイスは、記憶ノードデバイスまたは記憶ノードデバイスクラスタを含んでよい。更に、図１に示すアーキテクチャは例に過ぎず、本願で提供するデータ管理システムがこれに限定されないことも理解されたい。具体的には、データ管理システム内の各サービスサーバは１つの仮想マシンを実行してもよいし、複数の仮想マシンを実行してもよい。各仮想マシンは１つのＦＰＧＡカードに関連付けられてもよいし、複数のＦＰＧＡカードに関連付けられてもよい。
【００４６】
図２は、本願のある実施形態に係るＦＰＧＡクラウドコンピューティングシステム１００の論理アーキテクチャの概略図である。図に示すように、管理サーバ１０２および／またはサービスサーバ１０１は、図２に示すウェブ（ｗｅｂ）ページ２０１、クラウド管理サービス２０２、ＦＰＧＡエージェント（ａｇｅｎｔ）２０４、ＦＰＧＡイメージサービス２０５、クラウド記憶モジュール２０６、およびデータベース（ｄａｔａｂａｓｅ）２０７を提供する。図２に示すアーキテクチャに基づいて、ユーザは、ウェブページ２０１を介してＦＰＧＡ仮想マシンの作成を要求してよい、または、ユーザは、作成されるＦＰＧＡ仮想マシンを介してＦＰＧＡクラウドコンピューティングシステム１００にアクセスしてよい。ＦＰＧＡクラウドコンピューティングシステム１００のソフトウェアを介して、ウェブページ２０１の機能が実装されてよい。具体的には、ユーザは、ウェブページ２０１を介して、ＦＰＧＡクラウドコンピューティングシステム１００内のクラウド管理サービス２０２にＦＰＧＡ仮想マシンの作成要求を送信する。クラウド管理サービス２０２は、その要求に基づいて、仮想マシン１０３を作成するようサービスサーバを制御してよく、仮想マシン１０３はＦＰＧＡカード２０３に関連付けられる。本明細書におけるクラウド管理サービス２０２は、サービスとしてのインフラストラクチャ（ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  ｓｅｒｖｉｃｅ、ＩａａＳ）層を介して実装されてよい。ＩａａＳ層は、ユーザに記憶リソース（例えば、データベース２０７）およびハードウェアデバイスを提供し、その結果、ユーザは、その記憶リソースおよびハードウェアデバイスを使用して、ＦＰＧＡクラウドコンピューティングシステム１００にアクセスする。本明細書におけるクラウド管理サービス２０２は具体的に、仮想化管理ソフトウェア、例えば、ＦｕｓｉｏｎＳｐｈｅｒｅである。ＦＰＧＡカード２０３は、事前設定されたモジュールを介してメッセージの転送を実装してよい。例えば、メールボックスを介してＡＥＩをロードするプロセスでは、ＦＰＧＡカード２０３は、仮想マシン１０３を介してユーザにより送信されるＡＥＩのロード要求を受信し、その要求をメールボックスを介してＦＰＧＡエージェント２０４に送信して、ＦＰＧＡカード２０３にＡＥＩをロードするようＦＰＧＡエージェント２０４に要求する。ＦＰＧＡエージェント２０４は、ＦＰＧＡカード２０３により送信されるロード要求に基づいて、ロードする必要があるＡＥＩの記憶情報（例えば、記憶アドレス）をＦＰＧＡイメージサービス２０５に照会してよい。ＦＰＧＡイメージサービス２０５からＡＥＩの記憶情報を取得した後、ＦＰＧＡエージェント２０４は、ＡＥＩの記憶情報に基づいてクラウド記憶モジュール２０６からＡＥＩをダウンロードしてよい。クラウド記憶モジュール２０６は、ＦＰＧＡクラウドコンピューティングシステム１００のデータ記憶モジュールであり、ユーザによりアップロードされるＤＣＰおよび／またはＡＥＩを記憶するように構成される。ＦＰＧＡカード２０３は更に、取得されるＡＥＩをＦＰＧＡカード２０３にロードするように構成されるダイナミックロードモジュール（ｉＣＡＰ）を含んでよい。
【００４７】
例えば、図１に示すサービスサーバ１０１により、図２に示すサービスサーバの機能が実装されてよく、図１に示すサービスサーバ１０１に接続されるＦＰＧＡカード１０４により、ＦＰＧＡカード２０３の機能が実装されてよく、サービスサーバ１０１によりソフトウェアを介して、ＦＰＧＡエージェント２０４が実装されてよい。図１に示す管理サーバ１０２によりソフトウェアを介して、ウェブページ２０１、クラウド管理サービス２０２、データベース２０７、ＦＰＧＡイメージサービス２０５、およびクラウド記憶モジュール２０６の機能が実装されてよい。
【００４８】
以下では、図１および図２に示すＦＰＧＡクラウドコンピューティングシステム１００を参照しながら、本願のある実施形態で提供するデータ管理方法について更に説明する。図３は、本願のある実施形態に係る、ＡＥＩを登録する方法の概略フローチャートである。この方法は、図１のサービスサーバ１０１および管理サーバ１０２により実装されてよい。この方法は以下の段階を含んでよい。
【００４９】
Ｓ１０１：サービスサーバが第１要求を送信する。ここで、サービスサーバは、第１ユーザに関連付けられる仮想マシンを実行し、第１要求は、第１ユーザによりカスタマイズされるＡＥＩの登録を要求するために第１ユーザにより使用され、第１要求は第１ユーザの識別子とＡＥＩの識別子とを含む。
【００５０】
Ｓ１０２：管理サーバが第１要求を受信する。
【００５１】
Ｓ１０３：管理サーバが、第１ユーザの識別子に基づいて、第１ユーザの識別子に関連付けられるシャドウテナントバケットが存在するかどうかを判断する。ここで、シャドウテナントバケットは、指定ユーザのＡＥＩを記憶するために使用され、第１ユーザは指定ユーザのいずれか１つである。
【００５２】
Ｓ１０４：第１ユーザの識別子に関連付けられるシャドウテナントバケットが存在する場合に、管理サーバが、第１ユーザの識別子に関連付けられるシャドウテナントバケットにＡＥＩを記憶する。
【００５３】
前述の方法によれば、管理サーバは、ＡＥＩを作成した後、第１ユーザの識別子に関連付けられるシャドウテナントバケットにＡＥＩを記憶してよい。シャドウテナントバケットは指定ユーザのＡＥＩを記憶するためにのみ使用されるため、第１ユーザが登録を要求するＡＥＩを記憶するときに、複数のユーザのＡＥＩが一律に記憶されなくなる。これによって、ＡＥＩのセキュリティが向上する。
【００５４】
ある考えられる実装では、各シャドウテナントバケットがユーザと一対一の対応関係にある。シャドウテナントバケットのセキュリティを向上させるために、シャドウテナントバケットは、指定ユーザが登録を要求するカスタマイズされたＡＥＩのみを記憶するために使用され得る。具体的には、管理サーバは、第１ユーザと一対一の対応関係にあるシャドウテナントバケットを作成してよく、シャドウテナントバケットは第１ユーザの識別子に関連付けられてよく、シャドウテナントバケットは、第１ユーザが登録を要求するＡＥＩを記憶するために使用される。
【００５５】
別の考えられる実施形態では、ユーザとシャドウテナントバケットとの関係が多対一の関係であってよい。本願では、複数の指定ユーザ（第１ユーザを含む）に対応するシャドウテナントバケットの作成を除外しない。シャドウテナントバケットは複数の指定ユーザの識別子に関連付けられてよく、その結果、シャドウテナントバケットは、これらの指定ユーザのうち第１ユーザおよび別のユーザにより共有されてよい。ユーザはシャドウテナントバケットにアクセスすることもシャドウテナントバケット内のファイルに対して操作を実行することもできないため、複数の指定ユーザがシャドウテナントバケットを共有しているときに、シャドウテナントバケットのセキュリティに対する影響はないかもしれない。同じ理由に基づいて、本願では、複数の指定ユーザ（第１ユーザを含む）に対応する複数のシャドウテナントバケットの作成を除外しない。複数のシャドウテナントバケットは複数の指定ユーザの識別子に関連付けられてよい。本明細書におけるシャドウテナントバケットとユーザの識別子との関連付けは、シャドウテナントバケットの識別子とユーザの識別子との関連関係として反映され得ることを理解されたい。
【００５６】
段階Ｓ１０１の実装中、第１ユーザは、仮想マシン１０３を介して、第１要求を送信するようサービスサーバをトリガしてよい。第１要求に含まれる第１ユーザの識別子は、ユーザの番号（例えば、ユーザの名前およびニックネームなど、ＦＰＧＡクラウドコンピューティングシステム１００の使用許可を取得するためにユーザが登録するときに取得される識別子）、ユーザの認証情報、およびユーザが位置するエリアの識別子（例えば、１つの一意的なエリア番号が華東に対応している）、または第１ユーザに関連付けられる仮想マシン１０３の識別子であってよい。第１ユーザは仮想マシン１０３に関連付けられるため、仮想マシン１０３の識別子は、第１ユーザを識別するための第１ユーザの識別子として使用されてよい。特定の実装では、ユーザの識別子、ユーザの認証情報、ユーザが位置するエリアのＩＤ、または第１ユーザに関連付けられる仮想マシン１０３の識別子のうちの１または複数が、第１ユーザの識別子として使用され得ることを理解されたい。
【００５７】
更に、第１要求内のＡＥＩの識別子は、ＡＥＩの番号であってもよいし、第１ユーザにより入力されるＡＥＩの名前および／または記述情報であってもよい。例えば、第１ユーザは、ＡＥＩの番号、名前、または記述情報のうちの１または複数を、選択またはタイピングすることで、ＡＥＩの識別子として入力してよい。サービスサーバ１０１は、ＡＥＩの識別子を取得した後、ＡＥＩの識別子を含む第１要求を生成する。
【００５８】
第１ユーザによりカスタマイズされ、かつ、段階Ｓ１０１で設計される、ＡＥＩは、第１ユーザによりテナントバケットにアップロードされる開発ファイル（例えば、ＤＣＰファイル）に基づくコンパイルを通じて生成され、かつ、第１ユーザによりカスタマイズされるロジックおよびアルゴリズムを含む、ＡＥＩである。ＡＥＩは、第１ユーザによりカスタマイズされるロジックおよびアルゴリズムを介して、既存の機能または第１ユーザにより新たに設計される機能を実装してよい。第１ユーザは、サービスサーバ１０１を介して、ＡＥＩの登録に使用されるファイルを、第１ユーザに関連付けられるテナントバケットにアップロードしてよい。本明細書におけるファイルは、第１ユーザによりカスタマイズされ、かつ、カスタマイズされたＡＥＩを生成するために使用される、ＤＣＰファイルであってよい。
【００５９】
段階Ｓ１０３の実装中、管理サーバ１０２は、第１ルールに従って、第１ユーザの識別子に関連付けられるシャドウテナントバケットの識別子を決定し、この識別子を持つシャドウテナントバケットが存在するかどうかを判断してよい。存在する場合は、この識別子を持つシャドウテナントバケットが、第１ユーザの識別子に関連付けられるシャドウテナントバケットであると判断される。第１ルールは、シャドウテナントバケットの識別子がユーザの識別子に基づいて生成されるときに使用される生成ルールであってよく、第１ルールは、管理サーバ１０２において事前構成されてよい。実装中、管理サーバ１０２は、作成されたシャドウテナントバケットの識別子を記憶してよい。シャドウテナントバケットの識別子は、シャドウテナントバケットに関連付けられるユーザの識別子に基づいて、かつ、第１ルールに従って生成される。第１ユーザの識別子に関連付けられるシャドウテナントバケットの識別子が第１ルールに従って決定された後、管理サーバ１０２は、作成されたシャドウテナントバケットの識別子を照会して、第１ルールに従って決定される、第１ユーザの識別子に関連付けられるシャドウテナントバケットの識別子が含まれているかどうかを判断してよい。
【００６０】
具体的には、第１要求に保持される第１ユーザの識別子は、第１ユーザの識別子と、第１ユーザが位置するエリアの識別子とを含んでよい。第１ルールは、文字列をシャドウテナントバケットの識別子として使用している場合があり、文字列は、第１ユーザの識別子と、第１ユーザの識別子の中にある、第１ユーザが位置するエリアの識別子とを、指定された長さの乱数と組み合わせることにより取得される。
【００６１】
第１ユーザの識別子に関連付けられるシャドウテナントバケットが存在しないと管理サーバ１０２が判断した場合は、管理サーバ１０２は、第１ユーザの識別子に関連付けられるシャドウテナントバケットを作成し、第１ユーザの識別子に関連付けられるシャドウテナントバケットにＡＥＩを記憶してよい。
【００６２】
具体的には、作成されたシャドウテナントバケットの識別子が、第１ルールに従って決定される、第１ユーザの識別子に関連付けられるシャドウテナントバケットの識別子を含まないと管理サーバ１０２が判断した場合は、管理サーバ１０２は、事前設定されたサイズの記憶スペースを選択し、この記憶スペースを、第１ユーザの識別子に関連付けられるシャドウテナントバケットとして使用し、シャドウテナントバケットにＡＥＩを記憶して、シャドウテナントバケットの作成およびＡＥＩの記憶を実装してよい。
【００６３】
ある考えられる実施形態では、第１ユーザの識別子が第１ユーザの認証情報を含む場合に、管理サーバ１０２は、第１ユーザの認証情報に基づきＡＥＩを暗号化してシャドウテナントバケットに記憶することで、ＡＥＩの記憶中のセキュリティを更に向上させてよい。第１ユーザの認証情報は、第１ユーザのＡＫおよびＳＫ、または他の認証情報であってよい。具体的には、データ記憶プロセスにおけるユーザの認証情報に基づいて、鍵対が生成されてよい。鍵対は、ＡＥＩを暗号化して暗号文を生成し、その暗号文を記憶するために使用される。ＡＥＩが取得されると、暗号文は鍵対に基づき復号されて、平文、すなわち、ＡＥＩが取得される。
【００６４】
以下では、図４Ａおよび図４Ｂを参照しながら、本願のある実施形態に係るデータ管理方法の概略フローチャートについて更に説明する。図に示すように、この方法は以下の段階を含む。
【００６５】
Ｓ２０１：第１ユーザが、サービスサーバを介して、第１ユーザが登録する必要のあるＡＥＩに対応するＤＣＰファイルを、第１ユーザに関連付けられるテナントバケットにアップロードする。
【００６６】
実装中、第１ユーザは、第１ユーザに関連付けられる、サービスサーバ内の仮想マシンを介して、第１ユーザが登録する必要のあるＡＥＩに対応するＤＣＰファイルを、第１ユーザに関連付けられる記憶バケットにアップロードする。
【００６７】
Ｓ２０２：第１ユーザがサービスサーバを介して管理サーバに第１要求を送信して、ＡＥＩの登録を要求する。ここで、第１要求は、第１ユーザの識別子と、第１ユーザが位置するエリアの識別子と、第１ユーザの認証情報と、登録する必要があるＡＥＩの名前および記述情報とを保持する。
【００６８】
Ｓ２０３：管理サーバが第１要求を受信する。
【００６９】
Ｓ２０４：管理サーバが、第１ユーザの認証情報に基づいて第１ユーザの認証を試みる。
【００７０】
Ｓ２０５：管理サーバが、第１ユーザに関連付けられるテナントバケットからＤＣＰファイルを取得する。
【００７１】
第１ユーザに関連付けられるテナントバケット内にＤＣＰファイルが存在しないと管理サーバが判断した場合は、管理サーバはエラーを報告し、ＤＣＰファイルがアップロードされていないかまたはアップロードエラーが生じていることをユーザに知らせてよい。
【００７２】
Ｓ２０６：管理サーバが、取得されたＤＣＰファイルをＡＥＩにコンパイルする。
【００７３】
管理サーバは更に、ＡＥＩの識別子（例えば、番号または名前）を生成し、生成されたＡＥＩの識別子をサービスサーバに送信してよい。
【００７４】
Ｓ２０７：第１ユーザの識別子に関連付けられるシャドウテナントバケットの識別子が存在するかどうかを管理サーバが判断し、存在する場合は、段階Ｓ２０８を実行し、そうでない場合は、段階Ｓ２０９を実行する。
【００７５】
Ｓ２０８：管理サーバがＡＥＩを暗号化し、第１ユーザの識別子に関連付けられるシャドウテナントバケットに記憶する。
【００７６】
Ｓ２０９：管理サーバが、第１ユーザの識別子に関連付けられるシャドウテナントバケットを作成する。
【００７７】
Ｓ２１０：管理サーバがＡＥＩを暗号化し、第１ユーザの識別子に関連付けられる新たに作成されたシャドウテナントバケットに記憶する。
【００７８】
前述の方法によれば、管理サーバは、サービスサーバにより送信される第１要求に基づいてＡＥＩを登録してよく、ＡＥＩを暗号化し、ユーザの識別子に関連付けられるシャドウテナントバケットに記憶してよい。これによって、ＡＥＩの記憶中のセキュリティが向上する。
【００７９】
前述の段階Ｓ２０８およびＳ２１０の実装中、管理サーバは更に、ＡＥＩの識別子とシャドウテナントバケットの識別子（例えば、番号または名前）との対応関係を記憶するなど、ＡＥＩの識別子をシャドウテナントバケットと関連付けてよい。ＡＥＩの識別子に基づいて、ＡＥＩの記憶位置が照会される。
【００８０】
ある考えられる実装では、管理サーバは、ＡＥＩ登録プロセスを完了した後、ＡＥＩロードプロセスの実行を継続する。具体的には、管理サーバは第２要求を受信し、その要求は、ＡＥＩのロードを要求するために第２ユーザにより使用される。第２要求は、第２ユーザの識別子と、ＡＥＩの識別子と、ＦＰＧＡカードに関する情報とを保持してよい。第２要求を受信した後、第２要求の識別子とＡＥＩの識別子とに基づいて、第２ユーザの許可検証が成功していると管理サーバ１０２が判断した場合は、管理サーバ１０２は、第２要求内のＦＰＧＡカードに関する情報に基づいて、ＡＥＩの識別子に関連付けられるＡＥＩを、第２ユーザに関連付けられる第１仮想マシンに関連付けられるＦＰＧＡカードにロードして、ＡＥＩのロードを実装してよい。実装中、第２ユーザは第１ユーザと同じであってよい。この場合は、第２ユーザは、Ｓ１０１からＳ１０４に示す段階を通じて前に登録されたＡＥＩを第１仮想マシンにロードしてよい。オプションで、第２ユーザは第１ユーザとは異なっていてもよい。この場合は、第２ユーザのアクセス許可を決定する必要がある。第２ユーザが許可要件を満たしている場合は、第１ユーザにより登録されるＡＥＩは、第２ユーザに関連付けられる第１仮想マシンにロードされる。第２ユーザのアクセス許可とは、第１ユーザにより登録されるＡＥＩの使用許可を第２ユーザが有することを意味しており、この許可はネットワークインタフェースを介して設定されてよい。
【００８１】
特定の実装では、第２ユーザの許可検証が成功していることを管理サーバが判断する方法は以下の通りである。管理サーバ１０２が、第１対応関係に従って、第２ユーザの識別子に対応するイメージの識別子を決定してよい。ここで、第１対応関係は、第２ユーザの識別子と仮想マシンによる使用が許可されているイメージの識別子との対応関係を示す。管理サーバ１０２が、第２対応関係に従って、このイメージの識別子に対応する少なくとも１つのＡＥＩの識別子を決定してよい。ここで、第２対応関係は、イメージの識別子とＡＥＩの識別子との対応関係である。第２要求に保持されるＡＥＩの識別子が、第２対応関係に従って決定される少なくとも１つのＡＥＩの識別子に含まれると管理サーバ１０２が判断した場合は、管理サーバ１０２は、第２ユーザの許可検証が成功していると判断してよい。本明細書に関連するイメージは、１または複数のＡＥＩに関連付けられてよい。イメージと１または複数のＡＥＩとの関連関係が前述の第２対応関係として反映されてよい。イメージは１つまたは一連のクラウドサービスを示してよく、イメージに関連付けられる各ＡＥＩは具体的に、クラウドサービスに関連する特定のアルゴリズムであってよい。管理サーバ１０２は、ユーザがイメージの承認を取得した後、ユーザをイメージと関連付けてよい、例えば、ユーザが承認を取得した後、ユーザの識別子とユーザによる使用が許可されているイメージの識別子とを第１対応関係として記憶してよい。ユーザはイメージの登録または購入などを通じてイメージの承認を取得できることを理解されたい。
【００８２】
第２要求を受信した後、第２ユーザの許可検証が成功していると判断した場合は、管理サーバ１０２は、ＡＥＩの識別子に基づいてＡＥＩの記憶情報を照会してよい。例えば、管理サーバ１０２は、シャドウテナントバケットの識別子とＡＥＩを登録するプロセスで記憶されるＡＥＩの識別子との対応関係に従って、ＡＥＩを記憶するシャドウテナントバケットの識別子を決定してよい。このようにして、ＡＥＩはシャドウテナントバケットから取得され得る。
【００８３】
第２要求内のＦＰＧＡカードに関する情報は、ＦＰＧＡカードのスロット情報を示すために使用されてよく、管理サーバ１０２は、ＦＰＧＡカードのスロット情報に基づいて、スロット情報に関連付けられるＦＰＧＡカードにＡＥＩをロードしてよい。例えば、第１仮想マシンに関連付けられるＦＰＧＡカードのスロット番号は、０、１、２、および３である。ＦＰＧＡカードに関する情報はスロット番号「０」であってよく、スロット番号が０であるＦＰＧＡカードにＡＥＩをロードすることを示すために使用される。
【００８４】
ある考えられる実装方式では、管理サーバ１０２は、第１仮想マシンに関連付けられる全てのＦＰＧＡカードの中で利用可能ステータスにあるＦＰＧＡカードにのみＡＥＩをロードしてよい。利用可能ステータスはＦＰＧＡカードの動作状態であり、管理サーバ１０２はＦＰＧＡカードの動作状態を設定してよい。例えば、管理サーバ１０２は、ＦＰＧＡカードの動作状態を、ＦＰＧＡカードに現在クリア対象データがあり、かつ、ＦＰＧＡカードを新たなＡＥＩのロードに使用できないことを示す、クリア対象ステータスに設定してよい。管理サーバ１０２は代替的に、ＦＰＧＡカードの動作状態を、ＦＰＧＡカードを新たなＡＥＩのロードに使用できることを示す、利用可能ステータスに設定してもよい。
【００８５】
第２要求は、第１仮想マシンを実行するサービスサーバにより送信されてよい。例えば、第２ユーザが第１ユーザと同じである場合は、図１に示すサービスサーバ１０１により第２要求が送信されてよく、サービスサーバ１０１は、第１ユーザに関連付けられる仮想マシン１０３を実行する。第２ユーザが第１ユーザと異なる場合は、図１に示すサービスサーバ１０１により第２要求が送信されてよく、サービスサーバ１０１は、第２ユーザに関連付けられる仮想マシン１０３を実行する。
【００８６】
例えば、以下では、第２要求を送信する幾つかの方式について説明する。
【００８７】
方式１：第２ユーザが第２要求をトリガする。
【００８８】
具体的には、第２要求は、仮想マシンを介して第２ユーザにより送信されてよい。例えば、第２ユーザは、第１仮想マシンを介してＡＥＩロードコマンドを手動で入力し、このコマンドを介して、管理サーバ１０２に第２要求を送信するよう、第１仮想マシンを実行するサービスサーバをトリガする。
【００８９】
方式２：第１仮想マシンが起動プロセスで第２要求を送信する。
【００９０】
第２要求は、第１仮想マシンを実行し、かつ、起動プロセスで第１仮想マシンによりトリガされる、サービスサーバにより管理サーバ１０２に送信されてよい。第１仮想マシンは、起動プロセスで、第２ユーザの認証情報と、ＡＥＩの識別子と、ＦＰＧＡカードに関する情報とを取得してよい。具体的には、第２要求がサービスサーバ１０１（サービスサーバ１０１は第２ユーザに関連付けられる）により送信される例を使用する。第２ユーザは、仮想マシン１０３（すなわち、第２ユーザに関連付けられる仮想マシン）の登録を管理サーバ１０２に要求するプロセスで、ＡＥＩの識別子とＦＰＧＡカードに関する情報とを入力してよい。管理サーバ１０２は、第２ユーザが仮想マシン１０３の登録を要求するプロセスで、第２ユーザの認証情報を取得してよい。次に、管理サーバ１０２は、第２ユーザの認証情報と、ＡＥＩの識別子と、ＦＰＧＡカードに関する情報とを記憶してよい。仮想マシン１０３が作成された後の仮想マシン１０３の起動プロセスで、第２ユーザに関連付けられる仮想マシン１０３を実行するサービスサーバ１０１は、前に記憶された第２ユーザの認証情報と、ＡＥＩの識別子と、ＦＰＧＡカードに関する情報とを取得してよい。サービスサーバ１０１は第２要求を生成し、管理サーバ１０２に第２要求を送信する。このようにして、ＡＥＩは、仮想マシン１０３の起動プロセスで自動的にロードされ得る。前述した仮想マシン１０３の起動プロセスは、仮想マシン１０３が作成された後の第１起動プロセスであってよい。
【００９１】
第２要求は、図１に示す起動プロセスで第２ユーザに関連付けられる仮想マシン１０３によりトリガされるサービスサーバ１０１により送信されることが想定される。以下では、図５に示す仮想マシンがＡＥＩをロードする方法のフローチャートを参照しながら、方式２に示すＡＥＩをロードする方法について説明する。
【００９２】
Ｓ３０１：サービスサーバが、仮想マシンの起動プロセスで、第２ユーザの認証情報と、ＡＥＩの識別子と、ＦＰＧＡカードに関する情報とを取得する。ここで、第２ユーザは仮想マシンに関連付けられる。
【００９３】
Ｓ３０２：サービスサーバが、仮想マシンの起動プロセスで管理サーバに第２要求を送信する。ここで、第２要求は、ＡＥＩのロードを要求するために第２ユーザにより使用され、第２要求は、第２ユーザの認証情報と、ＡＥＩの識別子と、ＦＰＧＡカードに関する情報とを含む。
【００９４】
Ｓ３０３：管理サーバが第２要求を受信する。
【００９５】
Ｓ３０４：管理サーバが、第２要求内の認証情報とＡＥＩの識別子とに基づいて、第２ユーザの許可検証が成功していると判断する。実装中、管理サーバは更に、第２要求内の認証情報に基づいて、第２ユーザが認証されていると判断してよい。
【００９６】
Ｓ３０５：管理サーバが、第２要求内のＦＰＧＡカードに関する情報に基づいて、ＡＥＩの識別子に関連付けられるＡＥＩを、仮想マシンに関連付けられるＦＰＧＡカードにロードする。実装中、段階Ｓ３０５の実行中にＡＥＩロードが失敗した場合は、管理サーバは更に、ＡＥＩロードコマンドを手動で入力するようユーザを促すなど、サービスサーバを介してユーザにプロンプトを出してよく、その結果、サービスサーバは更に、前述の方式１で第２要求を送信してよい。
【００９７】
前述の段階Ｓ３０１からＳ３０５に示す方法によれば、仮想マシンの起動プロセスではＡＥＩロードプロセスが自動的に開始されてよく、その結果、ユーザは、仮想マシンが開始された後にＡＥＩロードコマンドを手動で入力する必要がない。これによって、ＡＥＩロードプロセスがより簡単かつ高速になり、ユーザがＡＥＩロードコマンドを手動で入力するときのエラーリスクが軽減する。
【００９８】
例えば、図２に示す論理アーキテクチャに基づいて、Ｓ３０１からＳ３０５に示す段階の実装中、ユーザがウェブページ２０１を介して仮想マシン１０３の登録を要求するプロセスでは、ユーザは、ユーザがロードする必要のあるＡＥＩの識別子と、ＦＰＧＡカードに関する情報とを入力してよい。ウェブページ２０１は、仮想マシンを登録するプロセスでユーザの認証情報を取得してもよい。次に、ウェブページ２０１は、ＩａａＳ層のクラウド管理サービス２０２に、ユーザの認証情報と、ユーザがロードする必要のあるＡＥＩの識別子と、ＦＰＧＡカードに関する情報とを送信してよく、クラウド管理サービス２０２は、ＩａａＳ層のデータベース（ｍｅｔａｄａｔａ）２０７に前述の情報を記憶する。仮想マシン１０３が作成された後の第１起動プロセスでは、仮想マシン１０３は、データベース２０７から起動スクリプトを介して、ユーザがロードする必要のあるＡＥＩの識別子と、ＦＰＧＡカードに関する情報とを取得して、前述の段階Ｓ３０１を実行し、それに応じて、前述の段階Ｓ３０２をトリガしてよい。このようにして、ＡＥＩは、前述の段階Ｓ３０１からＳ３０５を介してロードされる。代替的に、起動スクリプトを介して、ユーザがロードする必要のあるＡＥＩの識別子と、ＦＰＧＡカードに関する情報とを取得できない場合は、仮想マシン１０３は、ユーザがロードする必要のあるＡＥＩの識別子と、ＦＰＧＡカードに関する情報とを手動で入力するようユーザを促すなど、ユーザにエラーを報告してよい。
【００９９】
別の考えられる実施形態では、ユーザに関連付けられる仮想マシンが削除されるときに、ユーザに関連付けられるシャドウテナントバケットも削除する必要がある。具体的には、管理サーバは更に第３要求を受信してよく、第３要求は、第３ユーザに関連付けられる第２仮想マシンの削除を要求するために第３ユーザにより使用される。次に、管理サーバ１０２は、第３要求に応答して、第２仮想マシンにより占有されるリソースを解放し、第２仮想マシンに関連付けられるＦＰＧＡカード内のＡＥＩを非同期的にクリアしてよい。本明細書における第３ユーザは、第１ユーザと同じであってもよいし、第２ユーザと同じであってもよいし、図１に示す第１ユーザおよび第２ユーザの両方と異なっていてもよい。第３ユーザが第１ユーザと同じである場合は、第３要求は、図１に示され、かつ、第１ユーザに関連付けられるＶＭ１０３によりトリガされる、サービスサーバ１０１により管理サーバ１０２に送信されてよく、第１ユーザに関連付けられるＶＭ１０３の削除を要求するために使用される。第３ユーザが第２ユーザと同じである場合は、第３要求は、図１に示され、かつ、第２ユーザに関連付けられるＶＭ１０３によりトリガされる、サービスサーバ１０１により管理サーバ１０２に送信されてよく、第２ユーザに関連付けられるＶＭ１０３の削除を要求するために使用される。
【０１００】
前述の方式では、管理サーバ１０２は、ＦＰＧＡカードにロードされるＡＥＩのクリアが完了するまで待機してから、第２仮想マシンにより占有されるリソースを解放する必要がなくなり、ＦＰＧＡカードにＡＥＩをロードするプロセスでの障害により引き起こされる、第２仮想マシンにより占有されるリソースの解放の失敗が回避される。これによって、第２仮想マシンにより占有されるリソースのクリアに失敗することで引き起こされるユーザデータの漏洩リスクが回避され、ＦＰＧＡクラウドサービスのセキュリティが向上する。
【０１０１】
具体的には、管理サーバ１０２は、第２仮想マシンに関連付けられるＦＰＧＡカード内のＡＥＩをクリアするとき、各ＦＰＧＡカードをクリア対象ステータスに設定し、事前設定された持続時間（例えば、１０秒または６０秒）ごとにポーリングを実行して、各ＦＰＧＡカードにロードされたＡＥＩがクリアされているかどうかを判断してよい。ＦＰＧＡカードが正常にクリアされていると判断された場合は、管理サーバ１０２はＦＰＧＡカードを利用可能ステータスに設定する。そうでない場合は、ＦＰＧＡカードのクリアに失敗していると判断され、管理サーバ１０２は、事前設定された持続時間の後、ＦＰＧＡカードにロードされたＡＥＩがクリアされているかどうかを再び確認する。管理サーバ１０２は、ＦＰＧＡカードのクリアに失敗している回数が閾値（閾値は、定数、例えば、１または３に設定されてよい）に達していると判断した後に警告を生成してよい。例えば、管理サーバ１０２は、ＦＰＧＡカードのクリアに失敗していることを第３ユーザに知らせるよう第２仮想マシンに通知し、次に、第３ユーザはＦＰＧＡカード内のＡＥＩを別の方式でクリアしてよい。
【０１０２】
前述のプロセスでは、ＦＰＧＡカードは、ＡＥＩがクリアされる前に利用可能ステータスではなくなり、ＦＰＧＡカード内のＡＥＩがクリアされる前に別のユーザの要求に従って新たなＡＥＩをロードすることが回避され、クリアされていないＡＥＩの漏洩が回避される。これによって、ＦＰＧＡクラウドサービスのセキュリティが向上する。
【０１０３】
次に、図６に示すフローチャートを参照しながら、第３ユーザが図１に示すＦＰＧＡクラウドコンピューティングシステム１００における第１ユーザである例を使用して、第１ユーザが仮想マシン１０３の削除を要求するプロセスについて説明する。
【０１０４】
Ｓ４０１：サービスサーバが管理サーバに第３要求を送信する。ここで、第３要求は、第１ユーザに関連付けられる仮想マシンの削除を要求するために第１ユーザにより使用され、第３要求は第１ユーザの認証情報を含む。
【０１０５】
Ｓ４０２：管理サーバが第３要求を受信する。
【０１０６】
Ｓ４０３：管理サーバは、第３要求内の認証情報に基づいて、第１ユーザが認証されていると判断する。
【０１０７】
Ｓ４０４：管理サーバが、仮想マシンにより占有されるリソースを解放し、仮想マシンに関連付けられるＦＰＧＡカード内のＡＥＩを非同期的にクリアする。
【０１０８】
前述の段階Ｓ４０１からＳ４０４に示す方法によれば、仮想マシン１０３により占有されるリソースの解放は、ＦＰＧＡカード内のＡＥＩのクリア結果の影響を受けない。従って、ＦＰＧＡカード内のＡＥＩのクリアに失敗しても、仮想マシン１０３により占有されるリソースは依然として通常通り解放され得る。これによって、仮想マシンリソースの異常な解放により引き起こされるユーザデータの漏洩が回避される。
【０１０９】
図１から図６を参照しながら、本願の実施形態で提供するデータ管理方法について詳細に説明する。以下では、図７および図８を参照しながら、本願の複数の実施形態に係るサーバおよびデータ管理装置について説明する。
【０１１０】
図７は、本願のある実施形態に係るデータ管理装置７００の概略構造図である。データ管理装置７００は、図１に示すシステムに適用可能であってよく、前述した方法の実施形態における管理サーバの機能を実行するように構成される。データ管理装置７００は、第１要求受信モジュール７０１、シャドウテナントバケット決定モジュール７０２、シャドウテナントバケット記憶モジュール７０３、シャドウテナントバケット作成モジュール７０４、第２要求受信モジュール７０５、許可検証モジュール７０６、ロードモジュール７０７、第３要求受信モジュール７０８、および削除モジュール７０９を含む。
【０１１１】
第１要求受信モジュール７０１は、第１要求を受信するように構成される。第１要求は、第１ユーザによりカスタマイズされるアクセラレーションエンジンイメージＡＥＩの登録を要求するために第１ユーザにより使用され、第１要求は第１ユーザの識別子とＡＥＩの識別子とを含む。
【０１１２】
シャドウテナントバケット決定モジュール７０２は、第１ユーザの識別子に基づいて、第１ユーザの識別子に関連付けられるシャドウテナントバケットが存在するかどうかを判断するように構成される。シャドウテナントバケットは、第１ユーザのＡＥＩを記憶するために使用され、各シャドウテナントバケットはユーザと一対一の対応関係にある。
【０１１３】
シャドウテナントバケット記憶モジュール７０３は、第１ユーザの識別子に関連付けられるシャドウテナントバケットが存在する場合に、第１ユーザの識別子に関連付けられるシャドウテナントバケットにＡＥＩを記憶するように構成される。
【０１１４】
オプションで、第１ユーザの識別子に基づいて、第１ユーザの識別子に関連付けられるシャドウテナントバケットが存在するかどうかを判断するときに、シャドウテナントバケット決定モジュール７０２は具体的に、第１ルールに従って、第１ユーザの識別子に関連付けられるシャドウテナントバケットの識別子を決定することであって、第１ルールは、シャドウテナントバケットの識別子を生成するための生成ルールを示すために使用される、決定することと、この識別子を持つシャドウテナントバケットが存在するかどうかを判断することと、この識別子を持つシャドウテナントバケットが存在する場合に、この識別子を持つシャドウテナントバケットが、第１ユーザの識別子に関連付けられるシャドウテナントバケットであると判断することとを行うように構成される。
【０１１５】
オプションで、シャドウテナントバケット作成モジュール７０４は、第１ユーザの識別子に関連付けられるシャドウテナントバケットが存在しない場合に、事前設定されたサイズの記憶スペースを選択し、この記憶スペースを、第１ユーザの識別子に関連付けられるシャドウテナントバケットとして使用し、かつ、第１ユーザの識別子に関連付けられるシャドウテナントバケットにＡＥＩを記憶するように構成される。
【０１１６】
オプションで、第２要求受信モジュール７０５は、第２要求を受信するように構成される。第２要求は、ＡＥＩのロードを要求するために第２ユーザにより使用され、第２要求は、第２ユーザの識別子と、ＡＥＩの識別子と、フィールドプログラマブルゲートアレイＦＰＧＡカードに関する情報とを含む。
【０１１７】
許可検証モジュール７０６は、第２ユーザの識別子とＡＥＩの識別子とに基づいて第２ユーザに対する許可検証を実行するように構成される。
【０１１８】
ロードモジュール７０７は、第２ユーザに対して実行される許可検証が成功した場合に、ＦＰＧＡカードに関する情報に基づいて、第１仮想マシンに関連付けられるＦＰＧＡカードにＡＥＩをロードするように構成され、第１仮想マシンは、第２ユーザに関連付けられる仮想マシンである。
【０１１９】
オプションで、第２ユーザの識別子が第１仮想マシンの識別子を含む場合は、第２ユーザの識別子とＡＥＩの識別子とに基づいて第２ユーザに対する許可検証を実行するときに、許可検証モジュール７０６は具体的に、第１対応関係に従って、第１仮想マシンの識別子に対応するイメージの識別子を決定することであって、第１対応関係は、仮想マシンの識別子と仮想マシンによる使用が許可されているイメージの識別子との対応関係を示す、決定することと、第２対応関係に従って、このイメージの識別子に対応する少なくとも１つのＡＥＩの識別子を決定することであって、第２対応関係は、イメージの識別子とＡＥＩの識別子との対応関係である、決定することと、少なくとも１つのＡＥＩの識別子がＡＥＩの識別子を含むと判断することとを行うように構成される。
【０１２０】
第３要求受信モジュール７０８は、第３要求を受信するように構成される。第３要求は、第２仮想マシンの削除を要求するために第３ユーザにより使用され、第２仮想マシンは、第３ユーザに関連付けられる仮想マシンである。
【０１２１】
削除モジュール７０９は、第２仮想マシンにより占有されるリソースを解放し、かつ、第２仮想マシンに関連付けられるＦＰＧＡカード内のＡＥＩをクリアするように構成される。
【０１２２】
オプションで、第２仮想マシンにより占有されるリソースを解放し、かつ、第２仮想マシンに関連付けられるＦＰＧＡカード内のＡＥＩをクリアするときに、削除モジュール７０９は具体的に、ＦＰＧＡカードの状態をクリア対象ステータスに設定し、第２仮想マシンに関連付けられるＦＰＧＡカードのＡＥＩクリアインタフェースを呼び出して、第２仮想マシンに関連付けられるＦＰＧＡカードにロードされるＡＥＩをクリアすることと、事前設定された持続時間が満たされると、第２仮想マシンに関連付けられる複数のＦＰＧＡカードの各ＦＰＧＡカード内のＡＥＩが正常にクリアされているかどうかを判断することと、正常にクリアされている場合に、ＦＰＧＡカードを利用可能ステータスに設定し、そうでない場合に、ＦＰＧＡカードが正常にクリアされていないと判断し、ＦＰＧＡカードが正常にクリアされていない回数が閾値に達していると判断した後に警告を生成することとを行うように構成される。
【０１２３】
図７にはデータ管理装置７００のモジュール分割方式が１つだけ示されていることを理解されたい。本願では、データ管理装置７００が別のモジュール分割方式を有することについて限定しない。例えば、データ管理装置７００は、ＦＰＧＡイメージサービスモジュール、テナント認証サービスモジュール、およびＡＥＩ管理サービスモジュールにモジュール化されてよい。ＦＰＧＡイメージサービスモジュールは、第１要求受信モジュール７０１、シャドウテナントバケット決定モジュール７０２、およびシャドウテナントバケット記憶モジュール７０３の機能を有してよい。テナント認証サービスモジュールは、ＦＰＧＡイメージサービスと連携してユーザの認証を試みるように構成されてよい。ＡＥＩ管理サービスは、ＦＰＧＡイメージサービスと連携してＡＥＩをコンパイルするように構成されてよい。オプションで、ＦＰＧＡイメージサービスモジュールは更に、シャドウテナントバケット作成モジュール７０４、第２要求受信モジュール７０５、許可検証モジュール７０６、ロードモジュール７０７、第３要求受信モジュール７０８、および削除モジュール７０９の機能を有してよい。
【０１２４】
本願のこの実施形態における装置７００は、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、ＡＳＩＣ）を介して実装されてもよいし、プログラマブルロジックデバイス（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅ、ＰＬＤ）を介して実装されてもよいことを理解されたい。ＰＬＤは、コンプレックスプログラマブルロジックデバイス（ｃｏｍｐｌｅｘ  ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅ、ＣＰＬＤ）、フィールドプログラマブルゲートアレイ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ、ＦＰＧＡ）、ジェネリックアレイロジック（ｇｅｎｅｒｉｃ  ａｒｒａｙ  ｌｏｇｉｃ、ＧＡＬ）、またはこれらの任意の組み合わせであってよい。図３から図６に示すデータ処理方法がソフトウェアを介して実装される場合は、装置７００および装置７００のモジュールがソフトウェアモジュールであってもよい。
【０１２５】
装置７００は本願の実施形態に関連する管理サーバ１０２にのみ対応している場合があることを理解されたい。具体的には、装置７００は、図３から図６に示す管理サーバ１０２の対応する段階のみを実行するように構成される。装置７００は更に、本願の実施形態に関連するサービスサーバ１０１に対応している場合がある。具体的には、装置７００は更に、本願の実施形態で提供するサービスサーバ１０１の対応する段階を実行するように構成されてよい。この場合は、装置７００はＦＰＧＡカードに接続されてよい。
【０１２６】
本願のこの実施形態における装置７００は、本願の実施形態で説明する方法を相応に実行してよい。更に、装置７００内のユニットの前述および他の動作および／または機能は、図３から図６における方法の対応する手順を実装するために別個に使用される。簡潔にするため、ここでは詳細について改めて説明しない。
【０１２７】
図８は、本願のある実施形態に係るサーバ８００の概略構造図である。図に示すように、サーバ８００は、プロセッサ８０１、メモリ８０２、通信インタフェース８０３、バス８０４、およびＦＰＧＡカード８０５を含む。プロセッサ８０１、メモリ８０２、通信インタフェース８０３、およびＦＰＧＡカード８０５は、バス８０４を介して互いに通信するか、または無線伝送などの別の方式で互いに通信してよい。メモリ８０２は、プログラムコード８０２１を記憶するように構成される。プロセッサ８０１は、メモリ８０２に記憶されるプログラムコード８０２１を呼び出して、通信インタフェース８０３により受信される第１要求内の第１ユーザの識別子に基づいて、第１ユーザの識別子に関連付けられるシャドウテナントバケットが存在するかどうかを判断する動作であって、シャドウテナントバケットは、第１ユーザのＡＥＩを記憶するために使用され、各シャドウテナントバケットはユーザと一対一の対応関係にある、判断する動作と、第１ユーザの識別子に関連付けられるシャドウテナントバケットが存在する場合に、第１ユーザの識別子に関連付けられるシャドウテナントバケットにＡＥＩを記憶する動作とを実行してよい。
【０１２８】
オプションで、プロセッサ８０１は更に、第１ルールに従って、第１ユーザの識別子に関連付けられるシャドウテナントバケットの識別子を決定する動作であって、第１ルールは、シャドウテナントバケットの識別子を生成するための生成ルールを示すために使用される、決定する動作と、この識別子を持つシャドウテナントバケットが存在するかどうかを判断する動作と、この識別子を持つシャドウテナントバケットが存在する場合に、この識別子を持つシャドウテナントバケットが、第１ユーザの識別子に関連付けられるシャドウテナントバケットであると判断する動作とを実行してよい。
【０１２９】
オプションで、プロセッサ８０１は更に、第１ユーザの識別子に関連付けられるシャドウテナントバケットが存在しない場合に、事前設定されたサイズの記憶スペースを選択する動作と、この記憶スペースを、第１ユーザの識別子に関連付けられるシャドウテナントバケットとして使用する動作と、第１ユーザの識別子に関連付けられるシャドウテナントバケットにＡＥＩを記憶する動作とを実行してよい。
【０１３０】
オプションで、プロセッサ８０１は更に、通信インタフェース８０３により受信される第２要求内のＡＥＩの識別子と第２ユーザの識別子とに基づいて、第２ユーザに対する許可検証を実行する動作と、第２ユーザに対して実行される許可検証が成功した場合に、ＦＰＧＡカードに関する情報に基づいて、第１仮想マシンに関連付けられるＦＰＧＡカードにＡＥＩをロードする動作であって、第１仮想マシンは、第２ユーザに関連付けられる仮想マシンである、ロードする動作とを実行してよい。
【０１３１】
オプションで、第２ユーザの識別子は第１仮想マシンの識別子を含み、プロセッサ８０１は更に、第１対応関係に従って、第１仮想マシンの識別子に対応するイメージの識別子を決定する動作であって、第１対応関係は、仮想マシンの識別子と仮想マシンによる使用が許可されているイメージの識別子との対応関係を示す、決定する動作と、第２対応関係に従って、このイメージの識別子に対応する少なくとも１つのＡＥＩの識別子を決定する動作であって、第２対応関係は、イメージの識別子とＡＥＩの識別子との対応関係である、決定する動作と、少なくとも１つのＡＥＩの識別子がＡＥＩの識別子を含むと判断する動作とを実行してよい。
【０１３２】
オプションで、プロセッサ８０１は更に、通信インタフェース８０３により受信される第３要求に応答して、第２仮想マシンにより占有されるリソースを解放し、かつ、第２仮想マシンに関連付けられるＦＰＧＡカード内のＡＥＩをクリアする動作を実行してよい。
【０１３３】
オプションで、プロセッサ８０１は更に、ＦＰＧＡカードの状態をクリア対象ステータスに設定し、第２仮想マシンに関連付けられるＦＰＧＡカードのＡＥＩクリアインタフェースを呼び出して、第２仮想マシンに関連付けられるＦＰＧＡカードにロードされるＡＥＩファイルをクリアする動作と、事前設定された持続時間が満たされると、第２仮想マシンに関連付けられる複数のＦＰＧＡカードの各ＦＰＧＡカード内のＡＥＩファイルが正常にクリアされているかどうかを判断する動作と、正常にクリアされている場合に、ＦＰＧＡカードを利用可能ステータスに設定し、そうでない場合に、ＦＰＧＡカードが正常にクリアされていないと判断し、ＦＰＧＡカードが正常にクリアされていない回数が閾値に達していると判断した後に警告を生成する動作とを実行してよい。
【０１３４】
本願のこの実施形態では、プロセッサ８０１は中央処理装置（ＣＰＵ）であってよい、または、プロセッサ８０１は、別の汎用プロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、または別のプログラマブルロジックデバイス、ディスクリートゲート、もしくはトランジスタロジックデバイス、またはディスクリートハードウェアコンポーネントなどであってよいことを理解されたい。汎用プロセッサは、マイクロプロセッサまたは任意の従来型プロセッサなどであってよい。
【０１３５】
メモリ８０２はリードオンリメモリおよびランダムアクセスメモリを含み、プロセッサ８０１に命令およびデータを提供してよい。メモリ８０２は更に不揮発性ランダムアクセスメモリを含んでよい。例えば、メモリ８０２は更にデバイスタイプの情報を記憶してよい。
【０１３６】
メモリ２０２は、揮発性メモリまたは不揮発性メモリであってもよいし、揮発性メモリおよび不揮発性メモリの両方を含んでもよい。不揮発性メモリは、リードオンリメモリ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ、ＲＯＭ）、プログラマブルリードオンリメモリ（ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ、ＰＲＯＭ）、消去可能プログラマブルリードオンリメモリ（ｅｒａｓａｂｌｅ  ＰＲＯＭ、ＥＰＲＯＭ）、電気的消去可能プログラマブルリードオンリメモリ（ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ、ＥＥＰＲＯＭ）、またはフラッシュメモリであってよい。揮発性メモリは、外部キャッシュとして使用されるランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、ＲＡＭ）であってよい。限定的な説明ではない例を通して、多くの形式のＲＡＭ、例えば、スタティックランダムアクセスメモリ（ｓｔａｔｉｃ  ＲＡＭ、ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、シンクロナスダイナミックランダムアクセスメモリ（ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ、ＳＤＲＡＭ）、ダブルデータレートシンクロナスダイナミックランダムアクセスメモリ（ｄｏｕｂｌｅ  ｄａｔａ  ｒａｔｅ  ＳＤＲＡＭ、ＤＤＲ  ＳＤＲＡＭ）、拡張シンクロナスダイナミックランダムアクセスメモリ（ｅｎｈａｎｃｅｄ  ＳＤＲＡＭ、ＥＳＤＲＡＭ）、シンクロナスリンクダイナミックランダムアクセスメモリ（ｓｙｎｃｈｌｉｎｋ  ＤＲＡＭ、ＳＬＤＲＡＭ）、およびダイレクトラムバスダイナミックランダムアクセスメモリ（ｄｉｒｅｃｔ  ｒａｍｂｕｓ  ＲＡＭ、ＤＲ  ＲＡＭ）が使用されてよい。
【０１３７】
データバスに加えて、バス８０４は更に、電力バス、制御バス、およびステータス信号バスなどを含んでよい。ただし、説明を明確にするために、この図における様々なタイプのバスがバス８０４としてマークされている。
【０１３８】
本願のこの実施形態に係るサーバ８００は、本願の実施形態で提供する管理サーバ１０２に対応している場合があることを理解されたい。サーバ８００は、図３から図６に示す方法で管理サーバ１０２により実行される対応する段階を実装するように構成されてよい。簡潔にするため、ここでは詳細について改めて説明しない。
【０１３９】
本願のこの実施形態に係るサーバ８００は、本願の実施形態におけるデータ管理装置７００に対応している場合があり、本願の実施形態で図３に示す方法を実行するための実行体に対応している場合があり、更に、サーバ８００内のコンポーネントの前述および他の動作および／または機能は、図３から図６における方法の対応する手順を実装するために別個に使用されることを理解されたい。
【０１４０】
例えば、通信インタフェース８０３は、データ管理装置７００内の第１要求受信モジュール７０１の機能を実行するように構成されてよい。プロセッサ８０１は、メモリ８０２に記憶されるプログラムコードを実行して、シャドウテナントバケット決定モジュール７０２の機能を実装するように構成されてよい。
【０１４１】
オプションで、通信インタフェース８０３は更に、第２要求受信モジュール７０５および第３要求受信モジュール７０８の機能を実行するように構成されてよく、プロセッサ８０１は更に、シャドウテナントバケット作成モジュール７０４、許可検証モジュール７０６、ロードモジュール７０７、および削除モジュール７０９の機能を実行するように構成されてよい。
【０１４２】
オプションで、サーバ８００は更にＦＰＧＡカード８０５を含んでよい。この場合は、サーバ８００は更に、本願の実施形態におけるサービスサーバ１０１の機能を有してよい。
【０１４３】
サーバ８００が本願の実施形態に関連する管理サーバ１０２に対応している場合は、サーバ８００が、図３から図６に示す管理サーバ１０２の対応する段階を実行するように構成されることを理解されたい。オプションで、サーバ８００は更にＦＰＧＡカード８０５を含む。サーバ８００が本願の実施形態に関連するサービスサーバ１０１に対応している場合。具体的には、サーバ８００は更に、本願の実施形態で提供するサービスサーバ１０１の対応する段階を実行するように構成される。この場合は、サーバ８００はＦＰＧＡカード８０５を含む。
【０１４４】
前述の実施形態の全てまたは幾つかが、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組み合わせによって実装されてよい。ソフトウェアを使用してこれらの実施形態を実装する場合は、前述の実施形態の全てまたは幾つかがコンピュータプログラム製品の形態で実装されてよい。コンピュータプログラム製品は、１または複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータ上でロードおよび実行されると、本願の実施形態に係る手順または機能が全てまたは部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または別のプログラマブル装置であってよい。コンピュータ命令はコンピュータ可読記憶媒体に記憶されてもよいし、あるコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に伝送されてもよい。例えば、コンピュータ命令は、あるウェブサイト、コンピュータ、サーバ、またはデータセンタから別のウェブサイト、コンピュータ、サーバ、またはデータセンタへ有線（例えば、同軸ケーブル、光ファイバ、またはデジタル加入者線（ＤＳＬ））方式または無線（例えば、赤外線、電波、またはマイクロ波）方式で伝送されてよい。コンピュータ可読記憶媒体は、コンピュータからアクセス可能な任意の使用可能な媒体、または、１または複数の使用可能な媒体を統合する、サーバまたはデータセンタなどのデータ記憶デバイスであってよい。使用可能な媒体は、磁気媒体（例えば、フロッピーディスク、ハードディスク、または磁気テープ）、光学媒体（例えば、ＤＶＤ）、または半導体媒質であってよい。半導体媒質は、ソリッドステートドライブ（ｓｏｌｉｄ−ｓｔａｔｅ  ｄｒｉｖｅ、ＳＳＤ）であってよい。
【０１４５】
当業者であれば、本明細書で開示する実施形態に記載の例との組み合わせで、ユニットおよびアルゴリズム段階が、電子ハードウェア、または、コンピュータソフトウェアと電子ハードウェアとの組み合わせにより実装され得ることに気付くかもしれない。これらの機能がハードウェアおよびソフトウェアのどちらにより実行されるかは、特定の用途と技術的解決策の設計上の制約条件とで決まる。当業者であれば、異なる方法で、説明されている機能を特定の用途ごとに実装することができる。
【０１４６】
当業者であれば、説明を簡便かつ簡潔にするために、前述のシステム、装置、およびユニットの詳細な動作プロセスについては、前述した方法の実施形態における対応するプロセスが参照されるべきであり、詳細についてはここで改めて説明しないことを明確に理解することができる。
【０１４７】
本願において提供する幾つかの実施形態では、開示されているシステム、装置、および方法が他の方式で実装され得ることを理解されたい。例えば、説明されている装置の実施形態は例に過ぎない。例えば、ユニットの分類は論理機能の分類に過ぎず、実際の実装では他の分類であってよい。例えば、複数のユニットまたはコンポーネントが組み合わされても別のシステムに統合されてもよい、または、幾つかの特徴が無視されても実行されなくてもよい。更に、表示または説明されている相互結合もしくは直接結合または通信接続は、幾つかのインタフェースを介して実装されてよい。装置間またはユニット間の間接的結合または通信接続は、電子的形態、機械的形態、または他の形態で実装されてよい。
【０１４８】
別個の部分として説明されているユニットは、物理的に別個のものであってもなくてもよい。ユニットとして表示されている部分は、物理的なユニットであってもなくてもよいし、一箇所に配置されてもよいし、複数のネットワークユニット上に分散されてもよい。これらの実施形態の解決策の目的を達成するために、これらのユニットの幾つかまたは全てが実際の要件に基づいて選択されてよい。
［他の考えられる項目］
［項目１］
データ管理方法であって、
第１要求を受信する段階であって、上記第１要求は、第１ユーザによりカスタマイズされるアクセラレーションエンジンイメージＡＥＩの登録を要求するために上記第１ユーザにより使用され、上記第１要求は、上記第１ユーザの識別子と上記ＡＥＩの識別子とを含む、受信する段階と、
上記第１ユーザの上記識別子に基づいて、上記第１ユーザの上記識別子に関連付けられるシャドウテナントバケットが存在するかどうかを判断する段階であって、上記シャドウテナントバケットは、上記第１ユーザの上記ＡＥＩを記憶するために使用され、各シャドウテナントバケットはユーザと一対一の対応関係にある、判断する段階と、
上記第１ユーザの上記識別子に関連付けられる上記シャドウテナントバケットが存在する場合に、上記第１ユーザの上記識別子に関連付けられる上記シャドウテナントバケットに上記ＡＥＩを記憶する段階と
を備える方法。
［項目２］
上記第１ユーザの上記識別子に基づいて、上記第１ユーザの上記識別子に関連付けられるシャドウテナントバケットが存在するかどうかを判断する上記段階は、
第１ルールに従って、上記第１ユーザの上記識別子に関連付けられる上記シャドウテナントバケットの識別子を決定する段階であって、上記第１ルールは、上記シャドウテナントバケットの上記識別子の生成ルールを示すために使用される、決定する段階と、
上記識別子を持つシャドウテナントバケットが存在するかどうかを判断する段階と、
上記識別子を持つ上記シャドウテナントバケットが存在する場合に、上記識別子を持つ上記シャドウテナントバケットが、上記第１ユーザの上記識別子に関連付けられる上記シャドウテナントバケットであると判断する段階と
を有する、項目１に記載の方法。
［項目３］
上記第１ユーザの上記識別子に関連付けられる上記シャドウテナントバケットが存在しない場合に、
事前設定されたサイズの記憶スペースを選択する段階と、
上記記憶スペースを、上記第１ユーザの上記識別子に関連付けられる上記シャドウテナントバケットとして使用する段階と、
上記第１ユーザの上記識別子に関連付けられる上記シャドウテナントバケットに上記ＡＥＩを記憶する段階と
を更に備える項目１に記載の方法。
［項目４］
上記第１ユーザの上記識別子に関連付けられる上記シャドウテナントバケットに上記ＡＥＩを記憶する上記段階の後に、
第２要求を受信する段階であって、上記第２要求は、上記ＡＥＩのロードを要求するために第２ユーザにより使用され、上記第２要求は、上記第２ユーザの識別子と、上記ＡＥＩの上記識別子と、フィールドプログラマブルゲートアレイＦＰＧＡカードに関する情報とを含む、受信する段階と、
上記第２ユーザの上記識別子と上記ＡＥＩの上記識別子とに基づいて上記第２ユーザに対する許可検証を実行する段階と、
上記第２ユーザに対して実行される上記許可検証が成功した場合に、上記ＦＰＧＡカードに関する上記情報に基づいて、第１仮想マシンに関連付けられるＦＰＧＡカードに上記ＡＥＩをロードする段階であって、上記第１仮想マシンは、上記第２ユーザに関連付けられる仮想マシンである、ロードする段階と
を更に備える項目１から３のいずれか一項に記載の方法。
［項目５］
上記第２ユーザの上記識別子は上記第１仮想マシンの識別子を含み、上記第２ユーザの上記識別子と上記ＡＥＩの上記識別子とに基づいて、上記第２ユーザの上記許可検証が成功していると判断する上記段階は、
第１対応関係に従って、上記第１仮想マシンの上記識別子に対応するイメージの識別子を決定する段階であって、上記第１対応関係は、仮想マシンの識別子と上記仮想マシンによる使用が許可されているイメージの識別子との対応関係を示す、決定する段階と、
第２対応関係に従って、上記イメージの上記識別子に対応する少なくとも１つのＡＥＩの識別子を決定する段階であって、上記第２対応関係は、イメージの識別子とＡＥＩの識別子との対応関係である、決定する段階と、
上記少なくとも１つのＡＥＩの上記識別子が上記ＡＥＩの上記識別子を含むと判断する段階と
を含む、項目４に記載の方法。
［項目６］
第３要求を受信する段階であって、上記第３要求は、第２仮想マシンの削除を要求するために第３ユーザにより使用され、上記第２仮想マシンは、上記第３ユーザに関連付けられる仮想マシンである、受信する段階と、
上記第２仮想マシンにより占有されるリソースを解放し、上記第２仮想マシンに関連付けられるＦＰＧＡカード内のＡＥＩをクリアする段階と
を更に備える項目１から５のいずれか一項に記載の方法。
［項目７］
上記第２仮想マシンに関連付けられるＦＰＧＡカード内のＡＥＩをクリアする上記段階は、
上記ＦＰＧＡカードの状態をクリア対象ステータスに設定し、上記第２仮想マシンに関連付けられる上記ＦＰＧＡカードのＡＥＩクリアインタフェースを呼び出して、上記第２仮想マシンに関連付けられる上記ＦＰＧＡカードにロードされる上記ＡＥＩファイルをクリアする段階と、
事前設定された持続時間が満たされると、上記第２仮想マシンに関連付けられる複数のＦＰＧＡカードの各ＦＰＧＡカード内のＡＥＩファイルが正常にクリアされているかどうかを判断する段階と、
正常にクリアされている場合に、上記ＦＰＧＡカードを利用可能ステータスに設定し、そうでない場合に、上記ＦＰＧＡカードが正常にクリアされていないと判断し、上記ＦＰＧＡカードが正常にクリアされていない回数が閾値に達していると判断した後に警告を生成する段階と
を有する、項目６に記載の方法。
［項目８］
データ管理装置であって、
第１要求を受信するように構成される第１要求受信モジュールであって、上記第１要求は、第１ユーザによりカスタマイズされるアクセラレーションエンジンイメージＡＥＩの登録を要求するために上記第１ユーザにより使用され、上記第１要求は、上記第１ユーザの識別子と上記ＡＥＩの識別子とを含む、第１要求受信モジュールと、
上記第１ユーザの上記識別子に基づいて、上記第１ユーザの上記識別子に関連付けられるシャドウテナントバケットが存在するかどうかを判断するように構成されるシャドウテナントバケット決定モジュールであって、上記シャドウテナントバケットは、上記第１ユーザの上記ＡＥＩを記憶するために使用され、各シャドウテナントバケットはユーザと一対一の対応関係にある、シャドウテナントバケット決定モジュールと、
上記第１ユーザの上記識別子に関連付けられる上記シャドウテナントバケットが存在する場合に、上記第１ユーザの上記識別子に関連付けられる上記シャドウテナントバケットに上記ＡＥＩを記憶するように構成されるシャドウテナントバケット記憶モジュールと
を備える装置。
［項目９］
上記シャドウテナントバケット決定モジュールは更に、
第１ルールに従って、上記第１ユーザの上記識別子に関連付けられる上記シャドウテナントバケットの識別子を決定することであって、上記第１ルールは、上記シャドウテナントバケットの上記識別子の生成ルールを示すために使用される、決定することと、
上記識別子を持つシャドウテナントバケットが存在するかどうかを判断することと、
上記識別子を持つ上記シャドウテナントバケットが存在する場合に、上記識別子を持つ上記シャドウテナントバケットが、上記第１ユーザの上記識別子に関連付けられる上記シャドウテナントバケットであると判断することと
を行うように構成される、
項目８に記載の装置。
［項目１０］
上記第１ユーザの上記識別子に関連付けられる上記シャドウテナントバケットが存在しない場合に、事前設定されたサイズの記憶スペースを選択し、上記記憶スペースを、上記第１ユーザの上記識別子に関連付けられる上記シャドウテナントバケットとして使用し、かつ、上記第１ユーザの上記識別子に関連付けられる上記シャドウテナントバケットに上記ＡＥＩを記憶するように構成されるシャドウテナントバケット作成モジュール
を更に備える項目８に記載の装置。
［項目１１］
上記装置は更に、第２要求受信モジュールと、許可検証モジュールと、ロードモジュールとを備え、
上記第２要求受信モジュールは、第２要求を受信するように構成され、上記第２要求は、上記ＡＥＩのロードを要求するために第２ユーザにより使用され、上記第２要求は、上記第２ユーザの識別子と、上記ＡＥＩの上記識別子と、フィールドプログラマブルゲートアレイＦＰＧＡカードに関する情報とを含み、
上記許可検証モジュールは、上記第２ユーザの上記識別子と上記ＡＥＩの上記識別子とに基づいて上記第２ユーザに対する許可検証を実行するように構成され、
上記ロードモジュールは、上記第２ユーザに対して実行される上記許可検証が成功した場合に、上記ＦＰＧＡカードに関する上記情報に基づいて、第１仮想マシンに関連付けられるＦＰＧＡカードに上記ＡＥＩをロードするように構成され、上記第１仮想マシンは、上記第２ユーザに関連付けられる仮想マシンである、
項目８から１０のいずれか一項に記載の装置。
［項目１２］
上記第２ユーザの上記識別子は、上記第１仮想マシンの識別子を含み、
上記許可検証モジュールが、上記第２ユーザの上記識別子と上記ＡＥＩの上記識別子とに基づいて、上記第２ユーザの上記許可検証が成功していると判断するように構成されることは、
上記許可検証モジュールが、第１対応関係に従って、上記第１仮想マシンの上記識別子に対応するイメージの識別子を決定することであって、上記第１対応関係は、仮想マシンの識別子と上記仮想マシンによる使用が許可されているイメージの識別子との対応関係を示す、決定することと、
第２対応関係に従って、上記イメージの上記識別子に対応する少なくとも１つのＡＥＩの識別子を決定することであって、上記第２対応関係は、イメージの識別子とＡＥＩの識別子との対応関係である、決定することと、
上記少なくとも１つのＡＥＩの上記識別子が上記ＡＥＩの上記識別子を含むと判断することと
を含む、項目１１に記載の装置。
［項目１３］
上記装置は更に、第３要求受信モジュールと削除モジュールとを備え、
上記第３要求受信モジュールは、第３要求を受信するように構成され、上記第３要求は、第２仮想マシンの削除を要求するために第３ユーザにより使用され、上記第２仮想マシンは、上記第３ユーザに関連付けられる仮想マシンであり、
上記削除モジュールは、上記第２仮想マシンにより占有されるリソースを解放し、かつ、上記第２仮想マシンに関連付けられるＦＰＧＡカード内のＡＥＩをクリアするように構成される、
項目８から１２に記載の装置。
［項目１４］
上記削除モジュールが、上記第２仮想マシンに関連付けられるＦＰＧＡカード内のＡＥＩをクリアすることは、
上記削除モジュールが、上記ＦＰＧＡカードの状態をクリア対象ステータスに設定し、上記第２仮想マシンに関連付けられる上記ＦＰＧＡカードのＡＥＩクリアインタフェースを呼び出して、上記第２仮想マシンに関連付けられる上記ＦＰＧＡカードにロードされる上記ＡＥＩをクリアすることと、
事前設定された持続時間が満たされると、上記第２仮想マシンに関連付けられる複数のＦＰＧＡカードの各ＦＰＧＡカード内のＡＥＩが正常にクリアされているかどうかを判断することと、
正常にクリアされている場合に、上記ＦＰＧＡカードを利用可能ステータスに設定し、そうでない場合に、上記ＦＰＧＡカードが正常にクリアされていないと判断し、上記ＦＰＧＡカードが正常にクリアされていない回数が閾値に達していると判断した後に警告を生成することと
を含む、項目１３に記載の装置。
［項目１５］
プロセッサとメモリとを備えるサーバであって、上記メモリは、コンピュータ実行可能命令を記憶するように構成され、上記サーバが実行されると、上記プロセッサは、上記メモリ内の上記コンピュータ実行可能命令を実行して、上記サーバ内のハードウェアリソースを使用することにより項目１から７のいずれか一項に記載の方法の動作段階を実行する、サーバ。
【図１】
2022501733.tif 000003
【図２】
2022501733.tif 000004
【図３】
2022501733.tif 000005
【図４Ａ】
2022501733.tif 000006
【図４Ｂ】
2022501733.tif 000007
【図５】
2022501733.tif 000008
【図６】
2022501733.tif 000009
【図７】
2022501733.tif 000010
【図８】
2022501733.tif 000011
【国際調査報告】
2022501733.tif 000012
2022501733.tif 000013
2022501733.tif 000014
2022501733.tif 000015