(57)【要約】  本開示は、リソース再構成のための方法、および対応するデバイスを提供する。本開示の第１の態様で提供される方法は、ベースバンド・ユニット（ＢＵ）プールを管理するためのコントローラにおいて、ＢＵプールのシステム状況およびリソース使用状態を判定するステップと、システム状況およびリソース使用状態に基づいて、再構成が必要なリソースを特定するステップであって、リソースが、ＢＵプール内のサーバ上で動作する仮想マシンから、またはＢＵプール内のアクセラレータにある処理モジュールから選択される、特定するステップと、リソースを使用するターゲット・デバイスのアドレスを判定するステップであって、ターゲット・デバイスが、ＢＵプール内のサーバまたはアクセラレータから選択される、判定するステップと、ターゲット・デバイスに、リソースを再構成するように指示するステップとを含む。本開示の解決策は、クラウドＲＡＮにおけるすべてのリソースの再構成を達成する。【選択図】図１
2019533221.tif 000002
【特許請求の範囲】
【請求項１】
ベースバンド・ユニット（ＢＵ）プールを管理するためのコントローラにおいて、前記ＢＵプールのシステム状況およびリソース使用状態を判定するステップと、
再構成すべきリソースを、前記システム状況および前記リソース使用状態に基づいて特定するステップであって、前記リソースが、前記ＢＵプール内のサーバ上で動作する仮想マシンから、または前記ＢＵプール内のアクセラレータにある処理モジュールから選択される、特定するステップと、
前記リソースを使用するターゲット・デバイスのアドレスを判定するステップであって、前記ターゲット・デバイスが、前記ＢＵプール内の前記サーバまたは前記アクセラレータから選択される、判定するステップと、
前記リソースの再構成の指示を前記ターゲット・デバイスに送信するステップと
を含む、リソース再構成のための方法。
【請求項２】
前記リソースの再構成の前記指示を前記ターゲット・デバイスに送信するステップが、
前記ターゲット・デバイスに、前記リソースの前記再構成を起動するための信号を送信するステップと、
再構成ファイルを前記ターゲット・デバイスに送信するステップであって、前記再構成ファイルが、前記リソースに加えるべき修正を示す、送信するステップと
を含む、請求項１に記載の方法。
【請求項３】
フィードバック信号を前記ターゲット・デバイスから受信するステップであって、前記フィードバック信号が、前記リソースの前記再構成が成功したかどうかを示す、受信するステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記再構成が成功しなかったことを示す前記フィードバック信号に応答して、前記ターゲット・デバイスに、前記リソースの前記再構成の終了の指示を送信するステップをさらに含む、請求項３に記載の方法。
【請求項５】
リソースの再構成の指示を、ベースバンド・ユニット（ＢＵ）プールを管理するためのコントローラから受信するステップであって、前記リソースが、前記ＢＵプール内のサーバ上で動作する仮想マシンから、または前記ＢＵプール内のアクセラレータにある処理モジュールから選択される、受信するステップと、
前記リソースの前記再構成を前記指示に基づいて実行するステップと
を含む、リソース再構成のための方法。
【請求項６】
前記指示を受信するステップが、
前記リソースの前記再構成を起動するための信号を受信するステップと、
前記リソースに加えるべき修正を示す再構成ファイルを受信するステップと
を含む、請求項５に記載の方法。
【請求項７】
前記リソースの前記再構成を前記指示に基づいて実行するステップが、
前記信号または前記再構成ファイル内にエラーが存在するかどうかを判定できるように、前記信号および前記再構成ファイルを解析するステップと、
前記信号または前記再構成ファイル内にエラーが存在するという判定に応答して、前記コントローラに、前記再構成が成功しなかったことを示すフィードバック信号を送信するステップと、
前記信号および前記再構成ファイルが正常であるという判定に応答して、前記修正を前記リソースに適用するステップと
を含む、請求項６に記載の方法。
【請求項８】
前記再構成ファイルを格納するステップをさらに含む、請求項６に記載の方法。
【請求項９】
メモリと、
前記メモリに結合されており、
ベースバンド・ユニット（ＢＵ）プールのシステム状況およびリソース使用状態を判定することと、
再構成すべきリソースを、前記システム状況および前記リソース使用状態に基づいて特定することであって、前記リソースが、前記ＢＵプール内のサーバ上で動作する仮想マシンから、または前記ＢＵプール内のアクセラレータにある処理モジュールから選択される、特定することと、
前記リソースを使用するターゲット・デバイスのアドレスを判定することであって、前記ターゲット・デバイスが、前記ＢＵプール内の前記サーバまたは前記アクセラレータから選択される、判定することと、
前記リソースの再構成の指示を前記ターゲット・デバイスに送信することと
を含む動作を電子デバイスに実行させるように構成される、プロセッサと
を備える電子デバイス。
【請求項１０】
前記リソースの再構成の前記指示を前記ターゲット・デバイスに送信することが、
前記ターゲット・デバイスに、前記リソースの前記再構成を起動するための信号を送信することと、
再構成ファイルを前記ターゲット・デバイスに送信することであって、前記再構成ファイルが、前記リソースに加えるべき修正を示す、送信することと
を含む、請求項９に記載の電子デバイス。
【請求項１１】
前記動作が、
フィードバック信号を前記ターゲット・デバイスから受信することであって、前記フィードバック信号が、前記リソースの前記再構成が成功したかどうかを示す、受信することをさらに含む、請求項９に記載の電子デバイス。
【請求項１２】
前記動作が、
前記再構成が成功しなかったことを示す前記フィードバック信号に応答して、前記ターゲット・デバイスに、前記リソースの再構成の終了の指示を送信することをさらに含む、請求項１１に記載の電子デバイス。
【請求項１３】
少なくとも１つの処理モジュールと、
リソースの再構成の指示を、ベースバンド・ユニット（ＢＵ）プールを管理するためのコントローラから受信するように構成されたインタフェース・モジュールであって、前記リソースが、前記少なくとも１つの処理モジュールの少なくとも一部である、インタフェース・モジュールと、
前記リソースの前記再構成を前記指示に基づいて実行するように構成された再構成モジュールと
を備える電子デバイス。
【請求項１４】
前記受信モジュールが、
前記リソースの前記再構成を起動するための信号を受信する、また
前記リソースに加えるべき修正を示す再構成ファイルを受信するようにさらに構成された、請求項１３に記載の電子デバイス。
【請求項１５】
前記再構成モジュールが、
前記信号または前記再構成ファイル内にエラーが存在するかどうかを判定できるように、前記信号および前記再構成ファイルを解析する、
前記信号または前記再構成ファイル内にエラーが存在するという判定に応答して、前記コントローラに、前記再構成が成功しなかったことを示すフィードバック信号を送信する、また
前記信号および前記再構成ファイルが正常であるという判定に応答して、前記修正を前記リソースに適用するようにさらに構成された、請求項１４に記載の電子デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施形態は、一般に、通信分野に関し、より詳細には、リソース再構成のための方法、および対応するデバイスに関する。
【背景技術】
【０００２】
クラウド無線アクセス・ネットワーク（ＲＡＮ）は、将来の無線セルラ通信システムの解決策となるであろう。５Ｇ  ＲＡＮの研究において、クラウド／仮想ＲＡＮは、将来のＲＡＮの進化が向かう主要な方向となる。クラウドＲＡＮは、集中処理、オープン・プラットフォームおよび仮想化、動的なコンピューティング・リソース管理、マルチスタンダード、ならびにマルチＲＡＴ（無線アクセス技術）サポートと特徴付けることができる。
【０００３】
従来のＲＡＮには、高度なリアルタイム要件がある。クラウドＲＡＮにおいては、純粋な汎用処理（ＧＰＰ：ｇｅｎｅｒａｌ  ｐｕｒｐｏｓｅ  ｐｒｏｃｅｓｓｉｎｇ）プラットフォームは、リアルタイムのパフォーマンス要件を満たすことができない。現在のところ、ＧＰＰにハードウェア・アクセラレータ・アレイ（ｈａｒｄｗａｒｅ  ａｃｃｅｌｅｒａｔｏｒ  ａｒｒａｙ）を加えたものが、クラウドＲＡＮアーキテクチャに対する潜在的な選択肢である。例えば、ＲＡＮのレイヤ２およびレイヤ３は、ＧＰＰ内に実装することができ、一方レイヤ１は、ハードウェア・アクセラレータ・アレイ内に実装される。しかし、リソース再構成の既存の解決策は、ＧＰＰおよびアクセラレータ・アレイのプラットフォームを備えるクラウドＲＡＮにおいて、決して完全ではない。
【発明の概要】
【課題を解決するための手段】
【０００４】
一般に、本開示の実施形態は、リソース再構成のための方法、および対応するデバイスを提案する。
【０００５】
本開示の第１の態様では、リソース再構成のための方法が提供される。方法は、ベースバンド・ユニット（ＢＵ）プールを管理するためのコントローラにおいて、ＢＵプールのシステム状況およびリソース使用状態を判定するステップと、再構成すべきリソースを、システム状況およびリソース使用状態に基づいて特定するステップであって、リソースが、ＢＵプール内のサーバ上で動作する仮想マシンから、またはＢＵプール内のアクセラレータにある処理モジュールから選択される、特定するステップと、リソースを使用するターゲット・デバイスのアドレスを判定するステップであって、ターゲット・デバイスが、ＢＵプール内のサーバまたはアクセラレータから選択される、判定するステップと、リソースの再構成の指示をターゲット・デバイスに送信するステップとを含む。
【０００６】
いくつかの実施形態では、リソースの再構成の指示をターゲット・デバイスに送信するステップは、ターゲット・デバイスに、リソースの再構成を起動するための信号を送信するステップと、再構成ファイルをターゲット・デバイスに送信するステップであって、再構成ファイルが、リソースに加えるべき修正を示す、送信するステップとを含む。
【０００７】
いくつかの実施形態では、方法は、フィードバック信号をターゲット・デバイスから受信するステップであって、フィードバック信号が、リソースの再構成が成功したかどうかを示す、受信するステップをさらに含む。
【０００８】
いくつかの実施形態では、方法は、再構成が成功しなかったことを示すフィードバック信号に応答して、ターゲット・デバイスに、リソースの再構成の終了の指示を送信するステップをさらに含む。
【０００９】
本開示の第２の態様では、リソース再構成のための方法が提供される。方法は、リソースの再構成の指示を、ベースバンド・ユニット（ＢＵ）プールを管理するためのコントローラから受信するステップであって、リソースが、ＢＵプール内のサーバ上で動作する仮想マシンから、またはＢＵプール内のアクセラレータにある処理モジュールから選択される、受信するステップと、リソースの再構成を指示に基づいて実行するステップとを含む。
【００１０】
いくつかの実施形態では、指示を受信するステップは、リソースの再構成を起動するための信号を受信するステップと、再構成ファイルを受信するステップであって、再構成ファイルが、リソースに加えるべき修正を示す、受信するステップとを含む。
【００１１】
いくつかの実施形態では、リソースの再構成を指示に基づいて実行するステップは、信号または再構成ファイル内にエラーが存在するかどうかを判定できるように、信号および再構成ファイルを解析するステップと、信号または再構成ファイル内にエラーが存在するという判定に応答して、コントローラに、再構成が成功しなかったことを示すフィードバック信号を送信するステップと、信号および再構成ファイルが正常であるという判定に応答して、修正をリソースに適用するステップとを含む。
【００１２】
いくつかの実施形態では、方法は、再構成ファイルを格納するステップをさらに含む。
【００１３】
本開示の第３の態様では、電子デバイスが提供される。電子デバイスは、メモリと、メモリに結合されており、ベースバンド・ユニット（ＢＵ）プールのシステム状況およびリソース使用状態を判定することと、再構成すべきリソースを、システム状況およびリソース使用状態に基づいて特定することであって、リソースが、ＢＵプール内のサーバ上で動作する仮想マシンから、またはＢＵプール内のアクセラレータにある処理モジュールから選択される、特定することと、リソースを使用するターゲット・デバイスのアドレスを判定することであって、ターゲット・デバイスが、ＢＵプール内のサーバまたはアクセラレータから選択される、判定することと、リソースの再構成の指示をターゲット・デバイスに送信することとを含む動作を電子デバイスに実行させるように構成される、プロセッサとを備える。
【００１４】
いくつかの実施形態では、リソースの再構成の指示をターゲット・デバイスに送信することは、ターゲット・デバイスに、リソースの再構成を起動するための信号を送信することと、再構成ファイルをターゲット・デバイスに送信することであって、再構成ファイルが、リソースに加えるべき修正を示す、送信することとを含む。
【００１５】
いくつかの実施形態では、動作は、フィードバック信号をターゲット・デバイスから受信することであって、フィードバック信号が、リソースの再構成が成功したかどうかを示す、受信することをさらに含む。
【００１６】
いくつかの実施形態では、動作は、再構成が成功しなかったことを示すフィードバック信号に応答して、ターゲット・デバイスに、リソースの再構成の終了の指示を送信することをさらに含む。
【００１７】
本開示の第４の態様では、電子デバイスが提供される。電子デバイスは、少なくとも１つの処理モジュールと、リソースの再構成の指示を、ベースバンド・ユニット（ＢＵ）プールを管理するためのコントローラから受信するように構成されたインタフェース・モジュールであって、リソースが、少なくとも１つの処理モジュールの少なくとも一部である、リソースが、少なくとも１つの処理モジュールの少なくとも一部分である、インタフェース・モジュールと、リソースの再構成を指示に基づいて実行するように構成された再構成モジュールとを備える。
【００１８】
いくつかの実施形態では、受信モジュールは、リソースの再構成を起動するための信号を受信する、またリソースに加えるべき修正を示す再構成ファイルを受信するようにさらに構成される。
【００１９】
いくつかの実施形態では、再構成モジュールは、信号または再構成ファイル内にエラーが存在するかどうかを判定できるように、信号および再構成ファイルを解析する、信号または再構成ファイル内にエラーが存在するという判定に応答して、コントローラに、再構成が成功しなかったことを示すフィードバック信号を送信する、また信号および再構成ファイルが正常であるという判定に応答して、修正をリソースに適用するようにさらに構成される。
【００２０】
いくつかの実施形態では、電子デバイスは、再構成ファイルを格納するように構成された記憶モジュールと、修正をリソースに適用するように構成された内部構成インタフェース・モジュールとをさらに備える。
【００２１】
いくつかの実施形態では、電子デバイスは、フィールド・プログラマブル・ゲート・アレイである。
【００２２】
本開示の実施形態の他の特徴および利点もまた、本開示の実施形態の原理を例として示す添付図面と共に解釈されるとき、特定の実施形態に関する以下の説明から明らかになるであろう。
【００２３】
本開示の実施形態は、例の意味で提示され、その利点は、以下の添付図面に関連して以降でより詳細に説明される。
【図面の簡単な説明】
【００２４】
【図１】本開示のいくつかの実施形態を実装することができる例示的なシステム１０００を示す図である。
【図２】本開示のいくつかの実施形態による、リソース再構成のためのフィールド・プログラマブル・ゲート・アレイのモジュール図である。
【図３】本開示のいくつかの実施形態による、コントローラにおいて実施されるリソース再構成のための方法の流れ図である。
【図４】本開示のいくつかの実施形態による、ターゲット・デバイスにおいて実施されるリソース再構成のための方法の流れ図である。
【図５】本開示のいくつかの実施形態による、再構成要求信号の形式を示す図である。
【図６】本開示のいくつかの実施形態による、フィードバック信号の形式を示す図である。
【図７】本開示のいくつかの実施形態による、電子デバイスのブロック図である。
【発明を実施するための形態】
【００２５】
本明細書で説明される本発明の主題を、いくつかの例示的実施形態を参照して、以下、論ずる。こうした実施形態は、本明細書で説明される本発明の主題の範囲について何らかの限定を提案するのではなく、当業者が主題をより良く理解して実装できるようにすることのみを目的として、論じられることを理解されたい。
【００２６】
本明細書において使用される専門用語は、特定の実施形態を説明する目的のためだけのものであり、例示的実施形態に限定することを意図してはいない。本明細書において使用される場合、単数形の形式「１つの（ａ）」、「１つの（ａｎ）」、および「その（ｔｈｅ）」は、文脈が、明らかにそうでない場合を示していない限り、複数形の形式も含むことを意図している。用語「備える／含む（ｃｏｍｐｒｉｓｅｓ）」、「備えている／含んでいる（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｅｓ）」、および／または「含んでいる（ｉｎｃｌｕｄｉｎｇ）」は、本明細書において使用されるときに、述べられた特徴、整数、ステップ、動作、要素、および／またはコンポーネントの存在を指定するが、１つもしくは複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、および／またはそれらの群の存在もしくは追加を除外するものではないことが、さらに理解されるであろう。
【００２７】
ＧＰＰおよびアクセラレータ・アレイのプラットフォームを備えるクラウドＲＡＮの研究中、従来の解決策は、今までのところ、いくつかの主要な問題の解決に失敗している。まず第１に、ＧＰＰとハードウェア・アクセラレータ・アレイを含むコンピューティング・リソースを共有するために、コンピューティング・リソースは、再構成可能であり、リアルタイムのリソース要件に基づいてスケジュールできることが望ましい。現在のところ、ＧＰＰおよびハードウェア・アクセラレータを備えるクラウドＲＡＮアーキテクチャが提案されている。しかし、クラウドＲＡＮにおけるすべてのコンピューティング・リソースが再構成可能であるわけではなく、特にハードウェア・アクセラレータへの再構成はそうである。
【００２８】
ＲＡＮシステムにおける潮汐効果（ｔｉｄａｌ  ｅｆｆｅｃｔ）を考慮すると、仮想マシンのライブ・マイグレーション（ｌｉｖｅ  ｍｉｇｒａｔｉｏｎ）が、クラウドＲＡＮシステムにおいてサポートされるべきである。ＧＰＰプラットフォームにおいて、ｖｍＷａｒｅ、ＫＶＭ、Ｌｉｎｕｘ  Ｃｏｎｔａｉｎｅｒなどの仮想化プラットフォームを用いて実施される仮想マシンのライブ・マイグレーションに関する、多くの研究がなされてきた。しかし、ハードウェア・アクセラレータを用いるライブ・マイグレーションに関する研究は、今までほとんど行われてこなかった。さらに、クラウドＲＡＮにおけるすべてのコンピューティング・リソースは、複数の標準と複数の無線アクセス技術の間で共有されることになる。そのため、すべてのコンピューティング・リソースは、要件に基づいて再構成できる状態で再構成可能であるものとする。
【００２９】
上記および他の潜在的問題を少なくとも一部分解決するために、本開示の実施形態は、クラウドＲＡＮにおいて実施されるリソース再構成の解決策を提供する。次に、本開示のいくつかの例示的実施形態を、以下、図を参照しながら説明する。しかし、当業者なら、本明細書でこれらの図を参照しながら示す詳細な説明は、本開示がそうした限定的実施形態を超えて広がるものであることの説明を目的としていることを容易に理解するであろう。
【００３０】
図１は、本開示の実施形態を実装することができる例示的なシステム１０００の概略図を示す。システム１０００は、ベースバンド・ユニット（ＢＵ）プール１１００、フロント・バックホール・ネットワーク（ｆｒｏｎｔ  ｂａｃｋｈａｕｌ  ｎｅｔｗｏｒｋ）１２００、および複数の無線周波数ヘッド１３００を備える。様々な位置に分散する無線周波数ヘッド１３００は、集中データ処理がＢＵプール１１００において実行されるように、ＢＵプール１１００に、フロント・バックホール・ネットワーク１２００を介して接続される。
【００３１】
ＢＵプール１１００は、コントローラ１１１０、サーバ・クラスタ１１３０（例えば、ＧＰＰプラットフォーム）、および内部交換ネットワーク１１４０を備える。コントローラ１１１０、アクセラレータ・クラスタ１１２０、およびサーバ・クラスタ１１３０は、内部交換ネットワーク１１４０を介してデータ転送を実施する。
【００３２】
コントローラ１１１０は、ＢＵプール１１００においてリソース（例えば、コンピューティング・リソース）の再構成を制御するように構成される。いくつかの実施形態では、リソースは、サーバ・クラスタ１１３０内のサーバ上で動作する仮想マシンか、アクセラレータ・クラスタ１１２０内のアクセラレータ上で動作する処理モジュールから選択される。
【００３３】
アクセラレータ・クラスタ１１２０は、アクセラレータ・アレイか、サーバ内にインストールされた複数のカード（例えば、ＰＣＩｅカード）の形で実装することができる。アクセラレータ・クラスタ１１２０が、サーバ内にインストールされた複数のカードとして実装されるとき、アクセラレータのポートは、モード・ポート（例えば、ＰＣＩｅポート）であり、アクセラレータ・クラスタ１１２０が、アクセラレータ・アレイの形で実装されるとき、アクセラレータのポートは、１０ＧｂＥモード・ポートである。
【００３４】
いくつかの実施形態では、各アクセラレータは、少なくとも１つの電子デバイス１１２１、例えば、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）や任意の他のハードウェア加速デバイスを備える。図２は、本開示のいくつかの実施形態による、リソース再構成のためのフィールド・プログラマブル・ゲート・アレイ２００のモジュール図を示す。ＦＰＧＡ２００は、図１に示す電子デバイス１１２１として機能することができる。図２に示すように、フィールド・プログラマブル・ゲート・アレイ２００は、少なくとも１つの再構成可能な処理モジュール２０２、インタフェース・モジュール２０４、再構成モジュール２０６、内部構成インタフェース・モジュール２０８、および記憶モジュール２１０を備える。
【００３５】
サーバ・クラスタ１１３０内の各サーバ（１１３０−１、１１３０−２など）は、少なくとも１つの電子デバイス、例えば、ＣＰＵを備え、少なくとも１つの電子デバイスは、ハイパーバイザによって少なくとも１つの仮想マシンを備えるように構成することができる。
【００３６】
図３および図４を参照しながら、ベースバンド・ユニット・プール１１００内において実施されるリソース再構成のための方法が、以下のように提示される。第１に、図３を参照すると、図３は、本開示のいくつかの実施形態による、コントローラにおいて実施されるリソース再構成のための方法３００の流れ図を示す。
【００３７】
図３に示すように、ブロック３０５において、コントローラ１１１０は、ベースバンド・ユニット・プール１１００のシステム状況およびリソース使用状態を判定する。システム状況およびリソース使用状態は、ベースバンド・ユニット・プール１１００内のアクセラレータおよびサーバの動作状態と、アクセラレータおよびサーバ内のリソースの構成および使用状態を示す。リソースは、ベースバンド・ユニット・プール１１００内のサーバ上で動作する仮想マシンか、ベースバンド・ユニット・プール１１００内のアクセラレータにある処理モジュールから選択される。
【００３８】
ブロック３１０において、ベースバンド・ユニット・プール１１００内のリソースが、新しいアプリケーションの実装のために再構成される必要があるとき、コントローラ１１１０は、再構成すべきリソースを、ブロック３０５において判定されたシステム状況およびリソース使用状態に基づいて特定する。
【００３９】
ブロック３１５において、コントローラ１１１０は、再構成すべきリソースを使用するターゲット・デバイスのアドレスを判定し、その際ターゲット・デバイスは、ＢＵプール内のサーバまたはアクセラレータから選択される。いくつかの実施形態では、アドレス指定は、ターゲット・デバイス、電子デバイス（例えば、サーバ内のＣＰＵ、アクセラレータ内のＦＰＧＡ）、リソース（例えば、ＣＰＵ内の仮想マシン、ＦＰＧＡ内の処理モジュール）、およびアドレス間のマッピング関係を登録している事前に格納されたアドレス・マッピング表に問い合わせることにより、実装することができる。
【００４０】
ブロック３２０において、コントローラ１１１０は、リソースの再構成の指示をターゲット・デバイスに送信する。いくつかの実施形態では、コントローラ１１１０は、再構成要求信号および再構成ファイルを、ターゲット・デバイスに、判定されたアドレスに基づいて送信し、それによって、構成すべきリソースの再構成の指示をターゲット・デバイスに送信する。再構成要求信号は、リソースの再構成を起動するように構成され、再構成ファイルは、リソースに加えるべき構成修正、またはリソースを記述すべき新しい構成ファイルを示す。
【００４１】
いくつかの実施形態では、再構成要求信号は、図５に示すような形式で構成される。図５において、再構成要求信号５００は、信号が要求信号であるのか、それともフィードバック信号であるのかを示すための「フラグビット（Ｆｌａｇ）」フィールド５０２を含むことができる。いくつかの実施形態では、フラグは１ビットを占め、そこで、「０」は、信号が要求信号であることを示し、「１」は、信号がフィードバック信号であることを示す。
【００４２】
いくつかの実施形態では、再構成要求信号５００は、ターゲット・デバイスがサーバであるのか、それともアクセラレータであるのかを示すための「ターゲット・デバイス・タイプ（ＨＷ  Ｔｙｐｅ）」フィールド５０４をさらに含むことができる。いくつかの実施形態では、フラグは１ビットを占め、そこで、「０」は、ターゲット・デバイスがサーバであることを示し、「１」は、ターゲット・デバイスがアクセラレータであることを示す。
【００４３】
さらに、または代替方法として、いくつかの実施形態では、「ターゲット・デバイスＩＤ（ＨＷ  ＩＤ）」フィールド５０６は、ターゲット・デバイスの識別情報を示すように構成することができる。「電子デバイスＩＤ（Ｃｈｉｐ  ＩＤ）」フィールド５０８は、ターゲット・デバイス内の電子デバイスの識別情報を示すように構成することができる。「仮想マシンＩＤ（ＶＭ  ＩＤ）」フィールド５１０は、仮想マシンの識別情報を示すように構成することができる。ターゲット・デバイス・タイプがサーバを示す場合は、フィールドは使用され、ターゲット・デバイス・タイプがアクセラレータを示す場合は、フィールドは空欄である。
【００４４】
いくつかの実施形態では、「処理モジュールＩＤ（Ｍｏｄｕｌｅ  ＩＤ）」フィールド５１２は、処理モジュールの識別情報を示すように構成することができる。ターゲット・デバイス・タイプがサーバを示す場合は、フィールドは使用され、ターゲット・デバイス・タイプがアクセラレータを示す場合は、フィールドは空欄である。
【００４５】
再構成要求信号５００は、どの指令を実行すべきかを示すための「指令（Ｃｏｍｍａｎｄ）」フィールド５１４をさらに含むことができる。いくつかの実施形態では、フラグは２ビットを占め、そこで、「００」は「確保状態」を表し、「０１」は「非占有リソースの呼出し」を表し、「１０」は「占有リソースの再構成」を表し、「１１」は「省電力化のための、リソース内の構成の停止または消去」を表す。
【００４６】
いくつかの実施形態では、３２５において、任意選択で、コントローラ１１１０は、フィードバック信号をターゲット・デバイスから受信することができ、フィードバック信号は、リソースの再構成が成功したかどうかを示す。フィードバック信号が、リソースの再構成が成功しなかったことを示すとき、フィードバック信号に応答して、コントローラ１１１０は、ターゲット・デバイスに、リソースの再構成の終了の指示を送信する。フィードバックの受信は、いくつかの実施形態において必要ない、また省略されてよいことを理解されたい。
【００４７】
いくつかの実施形態では、フィードバック信号は、図６に示すような形式で構成される。図６において、フィードバック信号６００は、信号が要求信号であるのか、それともフィードバック信号であるのかを示すための「フラグビット（Ｆｌａｇ）」フィールド６０２を含むことができる。いくつかの実施形態では、フラグは１ビットを占め、そこで、「０」は、信号が要求信号であることを示し、「１」は、信号がフィードバック信号であることを示す。
【００４８】
いくつかの実施形態では、フィードバック信号６００は、ターゲット・デバイスがサーバであるのか、それともアクセラレータであるのかを示すための「ターゲット・デバイス・タイプ（ＨＷ  Ｔｙｐｅ）」フィールド６０４をさらに含むことができる。いくつかの実施形態では、フラグは１ビットを占め、そこで、「０」は、ターゲット・デバイスがサーバであることを示し、「１」は、ターゲット・デバイスがアクセラレータであることを示す。
【００４９】
さらに、または代替方法として、いくつかの実施形態では、「ターゲット・デバイスＩＤ（ＨＷ  ＩＤ）」フィールド６０６は、ターゲット・デバイスの識別情報を示すように構成することができる。「電子デバイスＩＤ（Ｃｈｉｐ  ＩＤ）」フィールド６０８は、ターゲット・デバイス内の電子デバイスの識別情報を示すように構成することができる。「仮想マシンＩＤ（ＶＭ  ＩＤ）」フィールド６１０は、仮想マシンの識別情報を示すように構成することができる。ターゲット・デバイス・タイプがサーバを示す場合は、フィールドは使用され、ターゲット・デバイス・タイプがアクセラレータを示す場合は、フィールドは空欄である。
【００５０】
いくつかの実施形態では、「処理モジュールＩＤ（Ｍｏｄｕｌｅ  ＩＤ）」フィールド６１２は、処理モジュールの識別情報を示すように構成することができる。ターゲット・デバイス・タイプがサーバを示す場合は、フィールドは使用され、ターゲット・デバイス・タイプがアクセラレータを示す場合は、フィールドは空欄である。
【００５１】
フィードバック信号６００は、リソースの再構成が成功したかどうかを示す、また成功しなかった場合は、失敗の理由をさらに示すための「理由（Ｒｅａｓｏｎ）」フィールド６１４をさらに含むことができる。いくつかの実施形態では、フィールドは３ビットを占め、そこで、「０００」は、再構成の成功を示し、「００１」は、ターゲット・デバイスＩＤエラーが再構成の失敗を引き起こしていることを示し、「０１０」は、電子デバイスＩＤエラーが再構成の失敗を引き起こしていることを示し、「０１１」は、仮想マシンＩＤエラーが再構成の失敗を引き起こしていることを示し、「１００」は、処理モジュールＩＤエラーが再構成の失敗を引き起こしていることを示し、「１０１」は、再構成ファイル・エラーが再構成の失敗を引き起こしていることを示し、「１１０」は、未知の理由が再構成の失敗を引き起こしていることを示す。
【００５２】
図４は、本開示のいくつかの実施形態による、ターゲット・デバイスにおいて実施されるリソース再構成のための方法の流れ図を示す。この図に示すように、ブロック４０５において、ターゲット・デバイスは、リソース再構成の指示を、ベースバンド・ユニット（ＢＵ）プールを管理するためのコントローラから受信する。
【００５３】
具体的には、ターゲット・デバイスが、コントローラから、リソース再構成の再構成要求信号および再構成ファイルを受信すると、ターゲット・デバイスは、再構成要求信号および再構成ファイルを、再構成要求信号内の電子デバイスＩＤフィールドに基づいて、対応する電子デバイスに送信し、したがって、電子デバイス内のリソースは、それに応じて再構成される。
【００５４】
ブロック４１０において、リソースは、指示に従って再構成される。このため、ターゲット・デバイス内の電子デバイスは、まず、エラーが信号および再構成フィールド内に起きているか否かを判定するために、再構成要求信号および再構成フィールドを解析する。エラーが起きている場合は、再構成エラーを示すフィードバック信号が、コントローラに送信される必要があり、その際フィードバック信号は、エラーの理由を示すフィールドを含む。エラーが起きていない場合は、対応するリソースは、再構成要求信号および再構成フィールドに基づいて再構成され、再構成の成功を示すフィードバック信号が、再構成の完了後、コントローラに送信される。いくつかの実施形態では、再構成ファイルは、様々な再構成手順の間、繰返し使用されることがあるので、再構成ファイルは、後々の使用のために、メモリに格納することができる。
【００５５】
いくつかの実施形態では、コントローラ１１１０は、図７に示す電子デバイス７００を介して実装することができる。この図に示すように、電子デバイス７００は、プロセッサ７０２、およびプロセッサ７０２によって実行可能な命令７０６をその中に格納できるメモリ７０４を備える。メモリ７０４は、ローカルの技術的環境に適用可能な任意の適当なタイプでできていてよく、それに限定されるものではないが半導体ベースのメモリ・デバイス、磁気メモリ・デバイスおよびシステム、光学式メモリ・デバイスおよびシステムを含む任意の適当なデータ記憶技法を使用して実装することができる。１つのメモリ・ユニットだけを図７に示すが、複数の物理的に異なるメモリ・ユニットが電子デバイス７００内にあってもよい。
【００５６】
プロセッサ７０２は、ローカルの技術的環境に適用可能な任意の適当なタイプでできていてよく、それには、それに限定されるものではないが汎用コンピュータ、特定用途向けコンピュータ、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、ならびにプロセッサ・ベースのマルチコア・プロセッサ・アーキテクチャにおける１つまたは複数のプロセッサが含まれてもよい。電子デバイス７００はまた、複数のプロセッサ７０２を備えることができる。図３を参照しながら説明する手順における様々なステップ、機能、および特性は、プロセッサ７０２によって実行および実装することができるが、その詳細はここでは無視する。
【００５７】
さらに、上述したように、いくつかの実施形態において、アクセラレータ内に備わる少なくとも１つの電子デバイス１１２１は、図２において開示するフィールド・プログラマブル・ゲート・アレイ２００によって実装することができる。インタフェース・モジュール２０４は、リソース再構成の指示を、ベースバンド・ユニット（ＢＵ）プールを管理するためのコントローラ１１１０から受信するように構成され、そこで、リソースは、処理モジュール２０２内の少なくとも一部分である。指示は、再構成要求信号および再構成ファイルを含む。いくつかの実施形態では、インタフェース・モジュール２０４は、１０ＧｂＥモード・ポートである。
【００５８】
再構成モジュール２０６は、指示に従って、リソースを再構成するように構成される。具体的には、再構成モジュール２０６は、エラーが信号および再構成フィールド内に起きているか否かを判定できるよう再構成要求信号および再構成ファイルを解析するように構成することができる。エラーが起きている場合は、再構成エラーを示すフィードバック信号が、コントローラに送信される必要があり、その際フィードバック信号は、エラーの理由を示すフィールドを含む。エラーが起きていない場合は、対応するリソースは、再構成要求信号および再構成ファイルに基づいて再構成され、再構成の成功を示すフィードバック信号が、再構成が完了した後、コントローラに送信される。
【００５９】
内部構成インタフェース・モジュール２０８は、再構成モジュール２０６と処理モジュール２０２の間のインタフェース・モジュールである。再構成モジュール２０６は、内部構成インタフェース・モジュール２０８を介して、処理モジュール２０２に修正を加えることができる。
【００６０】
記憶モジュール２１０は、再構成ファイルを格納するように構成される。いくつかの実施形態では、記憶モジュール２１０は、フィールド・プログラマブル・ゲート・アレイ２００の一部分であってもよく、またフィールド・プログラマブル・ゲート・アレイ２００から独立しているモジュールであってもよい。
【００６１】
図２および図７に示すモジュールは、部分的にまたは全体的に、ハードウェア・モジュール、ファームウェア・モジュール、またはそれらの任意の組合せとして実装することができる。一般に、本開示の様々な例示的実施形態は、ハードウェアもしくは専用回路、論理、またはそれらの任意の組合せに実装することができる。いくつかの態様は、ハードウェアに実装することができ、一方、別の態様は、コントローラ、マイクロプロセッサ、もしくは他のコンピューティング・デバイスによって実行できるファームウェアまたはソフトウェアに実装することができる。本開示の実施形態の様々な態様は、ブロック図、流れ図として、または他の何らかの図的表現を使用して示され、説明されるが、本明細書で説明するブロック、装置、システム、技法、または方法は、非限定的な例として、ハードウェア、ソフトウェア、ファームウェア、専用回路もしくは論理、汎用のハードウェアもしくはコントローラもしくは他のコンピューティング・デバイス、またはそれらの何らかの組合せに実装することができることが理解されよう。
【００６２】
本開示の方法を実行するためのプログラム・コードは、１つまたは複数のプログラミング言語の任意の組合せで記述することができる。プログラム・コードが、プロセッサまたはコントローラによって実行されるときに、流れ図および／またはブロック図において指定される機能／動作を実施するように、プログラム・コードを、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサまたはコントローラに提供することができる。プログラム・コードは、全体的にマシン上で、部分的に、独立型のソフトウェア・パッケージとしてマシン上で、部分的にマシン上でまた部分的に遠隔のマシン上で、または全体的に遠隔のマシンもしくはサーバ上で実行することができる。
【００６３】
本開示の文脈において、マシン可読媒体は、命令実行のシステム、装置、もしくはデバイスによって、またはこれらと共に使用するためのプログラムを収容、あるいは格納できる任意の有形の媒体であってよい。マシン可読媒体は、マシン可読信号媒体またはマシン可読記憶媒体であってもよい。マシン可読媒体には、それに限定されるものではないが、電子的、磁気的、光学式、電磁的、赤外線式、もしくは半導体式のシステム、装置、またはデバイス、あるいは以上の任意の適当な組合せが含まれてもよい。マシン可読記憶媒体のより具体的な例には、１つもしくは複数の配線を有する電気的な接続、携帯型のコンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読出し専用メモリ（ＥＰＲＯＭもしくはフラッシュ・メモリ）、光ファイバ、携帯型コンパクト・ディスク読出し専用メモリ（ＣＤ−ＲＯＭ）、光学式記憶デバイス、磁気記憶デバイス、または以上の任意の適当な組合せが含まれる。
【００６４】
本発明の主題は、構造特性および／または方法のための動作に固有の言葉で説明されているが、添付の特許請求の範囲で定義する本発明の主題が前述の特定の特性または動作に限定されるものではないことを理解されたい。むしろ、前述の具体的な特性および動作は、特許請求の範囲を実装する例として開示されている。
【図１】
2019533221.tif 000003
【図２】
2019533221.tif 000004
【図３】
2019533221.tif 000005
【図４】
2019533221.tif 000006
【図５】
2019533221.tif 000007
【図６】
2019533221.tif 000008
【図７】
2019533221.tif 000009
【国際調査報告】
2019533221.tif 000010
2019533221.tif 000011
2019533221.tif 000012
2019533221.tif 000013