(57)【要約】  拡張カードは、プリント回路基板と、プリント回路基板上に配置されたハードウェアアクセラレータとを含み得る。ハードウェアアクセラレータは、コンピューティングタスクを実行するように設計された特定用途向けハードウェア回路を含み得る。ハードウェアアクセラレータはまた、特定用途向けハードウェア回路を介してコンピューティングタスクの一部を実行することによって、コンピューティングデバイスの中央処理装置からコンピューティングタスクの一部をオフロードし得る。拡張カードは、プリント回路基板上に配置され、コンピューティングデバイスの拡張ソケットに挿入されるように寸法決めされたエッジコネクタをさらに含み得る。エッジコネクタは、拡張ソケットに接続されたコンピューティングバスを介してハードウェアアクセラレータを中央処理装置に結合し得る。エッジソケットはまた、コンピューティングバス用に定義されたピン配列仕様よりもコンパクトなピン配列を含み得る。他の様々な装置、システム、および方法も開示されている。【選択図】図２
2020529647.tif 000002
【特許請求の範囲】
【請求項１】
プリント回路基板と、
前記プリント回路基板上に配置された少なくとも１つのハードウェアアクセラレータであって、
コンピューティングタスクを実行するように設計された特定用途向けハードウェア回路を備え、
前記特定用途向けハードウェア回路を介して前記コンピューティングタスクの一部を実行することによって、コンピューティングデバイスの中央処理装置から前記コンピューティングタスクの少なくとも前記一部をオフロードする、ハードウェアアクセラレータと、
前記プリント回路基板上に配置され、前記コンピューティングデバイスの拡張ソケットに挿入されるように寸法決めされたエッジコネクタであって、
前記拡張ソケットに接続されたコンピューティングバスを介して前記ハードウェアアクセラレータを前記中央処理装置に結合し、
前記コンピューティングバス用に定義されたピン配列仕様よりもコンパクトなピン配列を備える、エッジコネクタと、
を備える、拡張カード。
【請求項２】
前記エッジコネクタの前記ピン配列が、
Ｍ．２ピン配列仕様、
Ｕ．２ピン配列仕様、または
ｍＳＡＴＡピン配列仕様
のうちの少なくとも１つに準拠する、請求項１に記載の拡張カード。
【請求項３】
前記ハードウェアアクセラレータが、
フィールドプログラマブルゲートアレイ、または
特定用途向け集積回路
のうちの少なくとも１つを備える、請求項１に記載の拡張カード。
【請求項４】
前記拡張ソケットを介して受け取った電圧を安定化し、前記安定化された電圧を前記ハードウェアアクセラレータに供給する電圧レギュレータをさらに備える、請求項１に記載の拡張カード。
【請求項５】
前記特定用途向けハードウェア回路が実行するように設計されている前記コンピューティングタスクが、新しいデータの少なくとも１つのラベルを推測するために、知られているデータでトレーニングされたモデルを適用する人工知能推論タスクを備える、請求項１に記載の拡張カード。
【請求項６】
前記特定用途向けハードウェア回路が実行するように設計されている前記コンピューティングタスクがビデオトランスコーディングタスクを備える、請求項１に記載の拡張カード。
【請求項７】
中央処理装置と、
少なくとも１つのメモリデバイスと、
少なくとも１つの拡張ソケットと、
プリント回路基板と、
前記プリント回路基板上に配置された少なくとも１つのハードウェアアクセラレータであって、
コンピューティングタスクを実行するように設計された特定用途向けハードウェア回路を備え、
前記特定用途向けハードウェア回路を介して前記コンピューティングタスクの一部を実行することによって、前記中央処理装置から前記コンピューティングタスクの少なくとも前記一部をオフロードする、ハードウェアアクセラレータと、
を備える、少なくとも１つの拡張カードと、
前記プリント回路基板上に配置され、前記拡張ソケットに挿入されるように寸法決めされたエッジコネクタであって、
前記拡張ソケットに接続されたコンピューティングバスを介して前記ハードウェアアクセラレータを前記中央処理装置に結合し、
前記コンピューティングバス用に定義されたピン配列仕様よりもコンパクトなピン配列を備える、エッジコネクタと、
を備える、システム。
【請求項８】
前記拡張ソケットが、前記コンピューティングバス用に定義された前記ピン配列仕様に準拠するピン配列を備える中間拡張カードに配置される、請求項７に記載のシステム。
【請求項９】
複数のモジュール式コンピューティングデバイスを受け入れるように寸法決めされたシャーシをさらに備え、前記拡張ソケットが、前記シャーシに挿入されたモジュール式コンピューティングデバイスに配置される、請求項７に記載のシステム。
【請求項１０】
複数のモジュール式ストレージデバイスを受け入れるように寸法決めされたシャーシをさらに備え、前記拡張ソケットが、前記シャーシに挿入されたモジュール式ストレージデバイスに配置される、請求項７に記載のシステム。
【請求項１１】
前記特定用途向けハードウェア回路が実行するように設計されている前記コンピューティングタスクが、新しいデータの少なくとも１つのラベルを推測するために、知られているデータでトレーニングされたモデルを適用する人工知能推論タスクを備える、請求項７に記載のシステム。
【請求項１２】
前記特定用途向けハードウェア回路が実行するように設計されている前記コンピューティングタスクがビデオトランスコーディングタスクを備える、請求項７に記載のシステム。
【請求項１３】
ドメインコントローラサーバまたはエッジサーバのうちの少なくとも１つを備える、請求項７に記載のシステム。
【請求項１４】
前記エッジサーバを備え、
前記特定用途向けハードウェア回路を介して前記コンピューティングタスクの前記一部を実行することによって、前記中央処理装置から前記コンピューティングタスクの前記一部をオフロードすると、前記エッジサーバが前記コンピューティングタスクを実行することが可能になる、請求項１３に記載のシステム。
【請求項１５】
クライアントデバイスの対応するユーザに少なくとも１つのオンラインサービスを提供する法人ネットワーキング企業のバックエンドデータセンタを備える、請求項７に記載のシステム。
【請求項１６】
前記オンラインサービスが、
ソーシャルネットワーキングサービス、
仮想現実サービス、または
クラウドストレージサービス
のうちの少なくとも１つを備える、請求項１５に記載のシステム。
【請求項１７】
コンピューティングデバイスの拡張ソケットに拡張カードを挿入することであって、前記拡張カードが、
プリント回路基板と、
コンピューティングタスクを実行するように設計された特定用途向けハードウェア回路を備える前記プリント回路基板上に配置された少なくとも１つのハードウェアアクセラレータと、
前記プリント回路基板上に配置され、前記コンピューティングデバイスの前記拡張ソケットに挿入されるように寸法決めされたエッジコネクタであって、
前記拡張ソケットに接続されたコンピューティングバスを介して前記ハードウェアアクセラレータを前記コンピューティングデバイスの中央処理装置に結合し、
前記コンピューティングバス用に定義されたピン配列仕様よりもコンパクトなピン配列を備える、エッジコネクタと、
を備える、前記拡張カードを挿入することと、
前記特定用途向けハードウェア回路を介して前記コンピューティングタスクの一部を実行することによって、前記中央処理装置から前記コンピューティングタスクの少なくとも前記一部をオフロードすることと
を備える、方法。
【請求項１８】
前記エッジコネクタの前記ピン配列が、
Ｍ．２ピン配列仕様、
Ｕ．２ピン配列仕様、または
ｍＳＡＴＡピン配列仕様
のうちの少なくとも１つに準拠する、請求項１７に記載の方法。
【請求項１９】
追加の拡張カードを前記コンピューティングデバイスの追加の拡張ソケットに挿入することによって、前記コンピューティングデバイスのハードウェアアクセラレーション能力をスケーリングすることをさらに備え、前記追加の拡張カードが、
前記コンピューティングタスクを実行するように設計された追加の特定用途向けハードウェア回路を備える少なくとも１つの追加のハードウェアアクセラレータと、
前記コンピューティングバス用に定義された前記ピン配列仕様よりもコンパクトな追加のピン配列を備える追加のエッジコネクタと
を備える、請求項１７に記載の方法。
【請求項２０】
前記拡張カードを前記拡張ソケットに挿入することが、前記コンピューティングデバイスの前記拡張ソケットに挿入される中間拡張カードのソケットに前記拡張カードを挿入することを備え、前記中間拡張カードが、前記コンピューティングバス用に定義された前記ピン配列仕様に準拠するピン配列を備える、請求項１７に記載の方法。
【請求項２１】
プリント回路基板と、
前記プリント回路基板上に配置された少なくとも１つのハードウェアアクセラレータであって、
コンピューティングタスクを実行するように設計された特定用途向けハードウェア回路を備え、
前記特定用途向けハードウェア回路を介して前記コンピューティングタスクの一部を実行することによって、コンピューティングデバイスの中央処理装置から前記コンピューティングタスクの少なくとも前記一部をオフロードする、ハードウェアアクセラレータと、
前記プリント回路基板上に配置され、前記コンピューティングデバイスの拡張ソケットに挿入されるように寸法決めされたエッジコネクタであって、
前記拡張ソケットに接続されたコンピューティングバスを介して前記ハードウェアアクセラレータを前記中央処理装置に結合し、
前記コンピューティングバス用に定義されたピン配列仕様よりもコンパクトなピン配列を備える、エッジコネクタと、
を備える、拡張カード。
【請求項２２】
前記エッジコネクタの前記ピン配列が、
Ｍ．２ピン配列仕様、
Ｕ．２ピン配列仕様、または
ｍＳＡＴＡピン配列仕様
のうちの少なくとも１つに準拠する、請求項２１に記載の拡張カード。
【請求項２３】
前記ハードウェアアクセラレータが、
フィールドプログラマブルゲートアレイ、または
特定用途向け集積回路
のうちの少なくとも１つを備える、請求項２１または２２に記載の拡張カード。
【請求項２４】
前記拡張ソケットを介して受け取った電圧を安定化し、前記安定化された電圧を前記ハードウェアアクセラレータに供給する電圧レギュレータをさらに備える、請求項２１から２３のいずれか一項に記載の拡張カード。
【請求項２５】
前記特定用途向けハードウェア回路が実行するように設計されている前記コンピューティングタスクが、新しいデータの少なくとも１つのラベルを推測するために、知られているデータでトレーニングされたモデルを適用する人工知能推論タスクを備える、および／または、
任意で、前記特定用途向けハードウェア回路が実行するように設計されている前記コンピューティングタスクがビデオトランスコーディングタスクを備える、請求項２１から２４のいずれか一項に記載の拡張カード。
【請求項２６】
中央処理装置と、
少なくとも１つのメモリデバイスと、
少なくとも１つの拡張ソケットと、
プリント回路基板と、
前記プリント回路基板上に配置された少なくとも１つのハードウェアアクセラレータであって、
コンピューティングタスクを実行するように設計された特定用途向けハードウェア回路を備え、
前記特定用途向けハードウェア回路を介して前記コンピューティングタスクの一部を実行することによって、前記中央処理装置から前記コンピューティングタスクの少なくとも前記一部をオフロードする、ハードウェアアクセラレータと、
を備える、少なくとも１つの拡張カードと
前記プリント回路基板上に配置され、前記拡張ソケットに挿入されるように寸法決めされたエッジコネクタであって、
前記拡張ソケットに接続されたコンピューティングバスを介して前記ハードウェアアクセラレータを前記中央処理装置に結合し、
前記コンピューティングバス用に定義されたピン配列仕様よりもコンパクトなピン配列を備える、エッジコネクタと、
を備える、システム。
【請求項２７】
前記拡張ソケットが、前記コンピューティングバス用に定義された前記ピン配列仕様に準拠するピン配列を備える中間拡張カードに配置される、請求項２６に記載のシステム。
【請求項２８】
複数のモジュール式コンピューティングデバイスを受け入れるように寸法決めされたシャーシをさらに備え、
前記拡張ソケットが、前記シャーシに挿入されたモジュール式コンピューティングデバイスに配置され、および／または
任意で、前記拡張ソケットが、前記シャーシに挿入されたモジュール式ストレージデバイスに配置される、請求項２６または２７に記載のシステム。
【請求項２９】
前記特定用途向けハードウェア回路が実行するように設計されている前記コンピューティングタスクが、新しいデータの少なくとも１つのラベルを推測するために、知られているデータでトレーニングされたモデルを適用する人工知能推論タスクを備える、および／または、
任意で、前記特定用途向けハードウェア回路が実行するように設計されている前記コンピューティングタスクがビデオトランスコーディングタスクを備える、請求項２６から２８のいずれか一項に記載のシステム。
【請求項３０】
ドメインコントローラサーバまたはエッジサーバのうちの少なくとも１つを備え、
任意で、
前記エッジサーバを備え、
前記特定用途向けハードウェア回路を介して前記コンピューティングタスクの前記一部を実行することによって、前記中央処理装置から前記コンピューティングタスクの前記一部をオフロードすると、前記エッジサーバが前記コンピューティングタスクを実行することが可能になる、請求項２６から２９のいずれか一項に記載のシステム。
【請求項３１】
クライアントデバイスの対応するユーザに少なくとも１つのオンラインサービスを提供する法人ネットワーキング企業のバックエンドデータセンタを備え、
任意で、前記オンラインサービスが、
ソーシャルネットワーキングサービス、
仮想現実サービス、または
クラウドストレージサービス
のうちの少なくとも１つを備える、請求項２６から３０のいずれか一項に記載のシステム。
【請求項３２】
コンピューティングデバイスの拡張ソケットに拡張カードを挿入することであって、前記拡張カードが、
プリント回路基板と、
コンピューティングタスクを実行するように設計された特定用途向けハードウェア回路を備える前記プリント回路基板上に配置された少なくとも１つのハードウェアアクセラレータと、
前記プリント回路基板上に配置され、前記コンピューティングデバイスの前記拡張ソケットに挿入されるように寸法決めされたエッジコネクタであって、
前記拡張ソケットに接続されたコンピューティングバスを介して前記ハードウェアアクセラレータを前記コンピューティングデバイスの中央処理装置に結合し、
前記コンピューティングバス用に定義されたピン配列仕様よりもコンパクトなピン配列を備える、エッジコネクタと、
を備える、前記拡張カードを挿入することと、
前記特定用途向けハードウェア回路を介して前記コンピューティングタスクの一部を実行することによって、前記中央処理装置から前記コンピューティングタスクの少なくとも前記一部をオフロードすることと
を備える、方法。
【請求項３３】
前記エッジコネクタの前記ピン配列が、
Ｍ．２ピン配列仕様、
Ｕ．２ピン配列仕様、または
ｍＳＡＴＡピン配列仕様
のうちの少なくとも１つに準拠する、請求項３２に記載の方法。
【請求項３４】
追加の拡張カードを前記コンピューティングデバイスの追加の拡張ソケットに挿入することによって、前記コンピューティングデバイスのハードウェアアクセラレーション能力をスケーリングすることをさらに備え、前記追加の拡張カードが、
前記コンピューティングタスクを実行するように設計された追加の特定用途向けハードウェア回路を備える少なくとも１つの追加のハードウェアアクセラレータと、
前記コンピューティングバス用に定義された前記ピン配列仕様よりもコンパクトな追加のピン配列を備える追加のエッジコネクタと
を備える、請求項３２または３３に記載の方法。
【請求項３５】
前記拡張カードを前記拡張ソケットに挿入することが、前記コンピューティングデバイスの前記拡張ソケットに挿入される中間拡張カードのソケットに前記拡張カードを挿入することを備え、前記中間拡張カードが、前記コンピューティングバス用に定義された前記ピン配列仕様に準拠するピン配列を備える、請求項３２から３４のいずれか一項に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
複雑な計算タスク（とりわけ、ビデオトランスコーディングおよび人工知能動作）の対処に対する需要は、ますます勢いを増しながら増加している。複雑な計算タスクは、他のデバイス（たとえば、エッジサーバ）がこれらの要求の厳しいタスクを効果的に完了するために必要なコンピューティングリソースを欠いている場合があるため、多くの場合、強力なデータセンタサーバ（たとえば、ドメインコントローラ）に割り当てられる。しかしながら、ドメインコントローラの展開と維持には費用がかかる場合があり、また高需要のコンピューティングタスク用にデータセンタをスケーリングするためにドメインコントローラを追加することは、特に、従来エッジサーバによってサービスされていた高成長の接続拠点（ｐｏｉｎｔｓ−ｏｆ−ｐｒｅｓｅｎｃｅ、ＰＯＰ）において、非効率的および／または非実用的であり得る。さらに、ドメインコントローラは汎用設計のため、非常に具体的で要求の厳しいいくつかのタスクに苦労する、および／または非効率的に対処する場合がある。したがって、従来のデータセンタのリソースとスケーリング技法では、計算量の多いタスクに対する増え続ける需要に効率的かつ効果的に対応できない場合がある。
【発明の概要】
【０００２】
以下でより詳細に記述されるように、本開示は、コンパクトな拡張カードを使用してハードウェアを加速することによって、ハードウェアによる複雑な計算タスクを効果的かつ効率的に対処するための様々な装置、システム、および方法を提示する。一例では、そのような拡張カードは、プリント回路基板とハードウェアアクセラレータを含み得る。ハードウェアアクセラレータは、プリント回路基板上に配置されてよく、コンピューティングタスクを実行するように設計された特定用途向けハードウェア回路を含み得る。ハードウェアアクセラレータは、特定用途向けハードウェア回路を介してコンピューティングタスクの少なくとも一部を実行することによって、コンピューティングデバイスの中央処理装置からコンピューティングタスクの少なくとも一部をオフロードし得る。拡張カードはまた、プリント回路基板上に配置され、コンピューティングデバイスの拡張ソケットに挿入されるように寸法決めされたエッジコネクタを含み得る。エッジコネクタは、拡張ソケットに接続されたコンピューティングバスを介してハードウェアアクセラレータを中央処理装置に結合し得る。エッジコネクタはまた、コンピューティングバス用に定義されたピン配列仕様よりもコンパクトなピン配列を含み得る。
【０００３】
いくつかの例では、エッジコネクタのピン配列は、Ｍ．２ピン配列仕様、Ｕ．２ピン配列仕様、および／またはｍＳＡＴＡピン配列仕様に準拠し得る。追加の、または代替の例では、ハードウェアアクセラレータは、フィールドプログラマブルゲートアレイおよび／または特定用途向け集積回路を含み得る。
【０００４】
いくつかの実施形態では、拡張カードは、拡張ソケットを介して受け取った電圧を安定化し、安定化された電圧をハードウェアアクセラレータに供給する電圧レギュレータをさらに含み得る。一例では、特定用途向けハードウェア回路が実行するように設計されているコンピューティングタスクは、新しいデータの少なくとも１つのラベルを推測するために、知られているデータでトレーニングされたモデルを適用する人工知能推論タスクを含み得る。追加の、または代替の例では、特定用途向けハードウェア回路が実行するように設計されているコンピューティングタスクは、ビデオトランスコーディングタスクを含み得る。
【０００５】
同様に、上述の装置を組み込んだシステムは、中央処理装置、メモリデバイス、拡張ソケット、および拡張カードを含み得る。拡張カードは、プリント回路基板と、プリント回路基板上に配置されたハードウェアアクセラレータとを含み得る。一例では、ハードウェアアクセラレータは、コンピューティングタスクを実行するように設計された特定用途向けハードウェア回路を含み得る。この例では、ハードウェアアクセラレータは、特定用途向けハードウェア回路を介してコンピューティングタスクの少なくとも一部を実行することによって、中央処理装置からコンピューティングタスクの少なくとも一部をオフロードし得る。拡張カードはまた、プリント回路基板上に配置され、拡張ソケットに挿入されるように寸法決めされたエッジコネクタを含み得る。エッジコネクタは、拡張ソケットに接続されたコンピューティングバスを介してハードウェアアクセラレータを中央処理装置に結合し得る。エッジコネクタはまた、コンピューティングバス用に定義されたピン配列仕様よりもコンパクトなピン配列を含み得る。
【０００６】
いくつかの例では、拡張ソケットは、コンピューティングバス用に定義されたピン配列仕様に準拠するピン配列を含む中間拡張カードに配置され得る。さらなる例では、本システムは、複数のモジュール式コンピューティングデバイスを受け入れるように寸法決めされたシャーシを含み得る。これらの例では、拡張ソケットは、シャーシに挿入されたモジュール式コンピューティングデバイスに配置され得る。追加的または代替的に、本システムは、複数のモジュール式ストレージデバイスを受け入れるように寸法決めされたシャーシを含み得る。これらの例では、拡張ソケットは、シャーシに挿入されたモジュール式ストレージデバイスに配置され得る。
【０００７】
いくつかの実施形態では、本システムは、ドメインコントローラサーバおよび／またはエッジサーバを表し得る。システムがエッジサーバを表す実施形態では、コンピューティングタスクのうちの少なくとも一部をエッジサーバの中央処理装置からオフロードすることにより、エッジサーバがコンピューティングタスクを実行することを可能にし得る。
【０００８】
いくつかの例では、本システムは、クライアントデバイスの対応するユーザに少なくとも１つのオンラインサービスを提供する法人ネットワーキング企業のバックエンドデータセンタを表し得る。オンラインサービスは、たとえば、ソーシャルネットワーキングサービス、仮想現実サービス、および／またはクラウドストレージサービスを表し得る。
【０００９】
対応する方法は、コンピューティングデバイスの拡張ソケットに拡張カードを挿入することを含み得る。拡張カードは、プリント回路基板と、プリント回路基板上に配置されたハードウェアアクセラレータとを備え得る。ハードウェアアクセラレータは、コンピューティングタスクを実行するように設計された特定用途向けハードウェア回路を含み得る。拡張カードはまた、プリント回路基板上に配置され、コンピューティングデバイスの拡張ソケットに挿入されるように寸法決めされたエッジコネクタを含み得る。エッジコネクタは、拡張ソケットに接続されたコンピューティングバスを介してハードウェアアクセラレータをコンピューティングデバイスの中央処理装置に結合し得る。エッジコネクタはまた、コンピューティングバス用に定義されたピン配列仕様よりもコンパクトなピン配列を含み得る。さらに、本方法は、特定用途向けハードウェア回路を介してコンピューティングタスクの少なくとも一部を実行することによって、中央処理装置からコンピューティングタスクの少なくとも一部をオフロードすることを含み得る。
【００１０】
いくつかの例では、本方法は、追加の拡張カードをコンピューティングデバイスの追加の拡張ソケットに挿入することによって、コンピューティングデバイスのハードウェアアクセラレーション能力をスケーリングすることをさらに含み得る。追加の拡張カードは、コンピューティングタスクを実行するように設計された追加の特定用途向けハードウェア回路を含む、少なくとも１つの追加のハードウェアアクセラレータを含み得る。追加の拡張カードはまた、コンピューティングバス用に定義されたピン配列仕様よりもコンパクトな追加のピン配列を含む追加のエッジコネクタを含み得る。追加の例では、拡張カードを拡張ソケットに挿入することは、コンピューティングデバイスの拡張ソケットに挿入される中間拡張カードのソケットに拡張カードを挿入することを含み得る。これらの例では、中間拡張カードは、コンピューティングバス用に定義されたピン配列仕様に準拠するピン配列を含み得る。
【００１１】
上記で言及された実施形態のいずれかからの特徴は、本明細書で記述される一般原理に従って互いに組み合わせて使用され得る。これらおよび他の実施形態、特徴、および利点は、添付の図面および特許請求の範囲と併せて以下の詳細な記述を読むことでより完全に理解されるであろう。
【００１２】
本明細書に開示され、添付の特許請求の範囲に示される実施形態は、拡張カード、システム、および方法を対象とし、１つの請求カテゴリにおいて言及されている任意の特徴、たとえば方法は、別の請求カテゴリ、たとえば、システム、ストレージ媒体、およびコンピュータプログラム製品においても同様に請求することができる。添付の特許請求の範囲における依存関係または参照は、正式な理由のみで選択されている。しかしながら、任意の前の請求（具体的には、複数の依存関係）への意図的な参照から生じる任意の主題も同様に請求することができるため、請求とその特徴の任意の組合せが開示され、添付の特許請求の範囲において選択された依存関係に関係なく請求することができる。請求できる主題は、添付の特許請求の範囲に記載されている特徴の組合せだけでなく、特許請求の範囲における特徴の任意の他の組合せも備え、特許請求の範囲において言及されている各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組合せと組み合わせることができる。さらに、本明細書で記述または描写される実施形態および特徴のいずれかは、別個の請求項において、および／または本明細書で記述または描写される任意の実施形態もしくは特徴、あるいは添付の請求の範囲の特徴のいずれかとの任意の組合せにおいて請求することができる。
【００１３】
添付の図面は、いくつかの例示的な実施形態を示しており、本明細書の一部である。以下の記述とともに、これらの図面は、本開示の様々な原理を実証および説明する。
【図面の簡単な説明】
【００１４】
【図１】ハードウェアアクセラレーションを実行できる例示的な拡張カードのブロック図である。
【図２】ハードウェアアクセラレーションを実行できる例示的な拡張カードのより具体的なブロック図である。
【図３】本明細書で記述される拡張カードによって使用され得る様々な例示的なピン配列のブロック図のセットである。
【図４】例示的な拡張カードの斜視図である。
【図５Ａ】例示的な拡張カードを対応する拡張ソケットに挿入するためのプロセスの初期段階の斜視図である。
【図５Ｂ】例示的な拡張カードを対応する拡張ソケットに挿入するためのプロセスの中間段階の斜視図である。
【図５Ｃ】例示的な拡張カードを対応する拡張ソケットに挿入するためのプロセスの最終段階の斜視図である。
【図６】本明細書で記述される拡張カードが展開され得る例示的なマルチノード計算プラットフォームのブロック図である。
【図７】本明細書で記述される拡張カードを収容することができる例示的なマルチノード計算プラットフォームスレッドの斜視図である。
【図８】、本明細書で記述される拡張カードが展開され得る様々なマルチノード計算プラットフォームスレッドを収容することができる例示的なシャーシの斜視図である。
【図９】本明細書で記述される拡張カードが展開され得る例示的な中間拡張カードのブロック図である。
【図１０Ａ】対応する拡張カードにアクセスするためにヒートシンクが持ち上げられた、例示的な中間拡張カードの斜視図である。
【図１０Ｂ】対応する拡張カードにアクセスするためにヒートシンクが取り外されている、図１０Ａの例示的な中間拡張カードの平面図である。
【図１１】拡張カードを介してハードウェアアクセラレーションを実行するための例示的な方法の流れ図である。
【発明を実施するための形態】
【００１５】
図面全体を通して、同一の参照文字および記述は、必ずしも同一ではないが類似する要素を示す。本明細書で記述される例示的な実施形態は、様々な修正および代替形態の影響を受けやすいが、特定の実施形態が図面に例として示されており、本明細書で詳細に記述される。しかしながら、本明細書に記述される例示的な実施形態は、開示される特定の形態に限定されることが意図されるものではない。むしろ、本開示は、添付の特許請求の範囲内に入るすべての修正、均等物、および代替物を網羅する。
【００１６】
本開示は、拡張カードを介してハードウェアアクセラレーションを実行するための様々な装置、システム、および方法を記述する。以下でより詳細に説明されるように、本明細書で開示するデバイスは、ハードウェアアクセラレータをコンパクトな拡張カード（たとえば、ピン配列が、使用するバス用に定義されているピン配列仕様よりもコンパクトである、Ｍ．２、Ｕ．２、およびｍＳＡＴＡカードなどの拡張カード）に結合することによって、効率的、効果的、およびスケーラブルなハードウェアアクセラレーションを可能にし得る。
【００１７】
従来、コンパクトな拡張カードはストレージおよびワイヤレス通信に使用されてきたが、ハードウェアアクセラレーション用にコンパクトなカードを再利用すると、従来のハードウェアアクセラレーションソリューションに比べて様々な利点を提供し得る。たとえば、特定の複雑な計算タスクを拡張カード上のハードウェアアクセラレータにオフロードすることによって、開示されたシステムは、より高価なデバイス（ドメインコントローラーなど）の計算需要を減らし、金銭的に、および／またはパワーを節約する可能性がある。開示されたシステムおよび方法はまた、様々な接続拠点における軽量デバイス（エッジサーバなど）が、通常なら対処するためのコンピューティングリソースがないはずのコンピューティングタスクを実行することを可能にし得る。さらに、特定用途向けの設計により、開示されているハードウェアアクセラレータは、汎用コンピューティングデバイスよりも効果的および／または効率的にそのようなタスクを実行し得る。最後に、開示された拡張カード（および、拡張カードのハードウェアアクセラレータ）は、コンピューティングエコシステム全体にわたって迅速かつ簡単に展開され、また細かくスケーリングされ得、そのことによって、計算量の多いタスクに対する増え続ける需要にテクノロジ企業が効率的および効果的に対応することを可能にする。
【００１８】
以下では、図１〜図４を参照して、ハードウェアアクセラレーションを実行することができる拡張カードの例（および、同じサイズのコンパクトなフットプリントを可能にする様々なピン配列仕様）を提供する。さらに、図５Ａ〜図５Ｃおよび図１０Ａ〜図１０Ｂに対応する記述は、そのような拡張カードを対応する拡張ソケットに挿入する、および／または取り外すための例示的な技法の概要を提供する。図６〜図１０に対応する記述は、これらの拡張カードのスケーラビリティを示し、図１１に対応する記述は、前の図に示された例示的な拡張カードのうちの１つまたは複数を使用してコンピューティングデバイスにハードウェアアクセラレーション能力を追加するための例示的なワークフローを記述する。
【００１９】
図１は、本明細書に開示されるシステムおよび方法による、ハードウェアアクセラレーションを実行できる例示的な拡張カード１００のブロック図である。この図に示されるように、拡張カード１００は、プリント回路基板１０２およびプリント回路基板１０２上に配置された１つまたは複数のコンポーネントを含み得る。本明細書で使用する「拡張カード」という用語は、一般に、プリント回路基板によって実質的に形成された、すなわち、対応するコンピューティングデバイスまたは拡張ソケットに挿入し、そのことによってコンピューティングデバイスの機能を拡張するように構成されたカードなどのカードを指す。
【００２０】
図１に示されるように、拡張カード１００は、プリント回路基板１０２上に配置されたハードウェアアクセラレータ１０４を含み得る。本明細書で使用する「ハードウェアアクセラレータ」という用語は、一般に、ハードウェアにおいて、汎用中央処理装置（すなわち、ソフトウェアとして様々なプログラムを遂行するように構造されたコンピューティングチップ）によってソフトウェアにおいて実行されるコンピューティングタスクよりも効率的に１つまたは複数の特殊なコンピューティングタスクを実行するハードウェアコンポーネントまたはデバイスを指す。いくつかの例では、「ハードウェアアクセラレーション」は、ソフトウェアモジュールの中間層または他の抽象化層がない場合に発生する特定用途向けハードウェア回路におけるコンピューティングタスクの実行を指し得、したがってアプリケーションのパフォーマンスは、他の方法で遂行した場合よりも効率的である。
【００２１】
一例では、ハードウェアアクセラレータ１０４は、特定のコンピューティングタスクを実行するように設計された特定用途向けハードウェア回路１０６を含み得る。この例では、ハードウェアアクセラレータ１０４は、特定用途向けハードウェア回路１０６を介して特定のコンピューティングタスクの少なくとも一部を実行することによって、データセンタサーバなどのコンピューティングデバイスの中央処理装置から特定のコンピューティングタスクの一部をオフロードするように設計され得る。本明細書で使用される「コンピューティングデバイスの中央処理装置からコンピューティングタスクの一部をオフロードする」という語句は、一般に、汎用中央処理装置（すなわち、拡張カード１００が結合されるコンピューティングデバイスの中央処理装置、またはそうでなければ拡張カード１００がない場合にコンピューティングタスクを実行するかもしれない別の中央処理装置）を通じてコンピューティングタスクを実行するのではなく、ハードウェアアクセラレータを通じてコンピューティングタスクを実行することを指し得る。
【００２２】
図１のブロック図には示されていないが、拡張カード１００はまた、プリント回路基板１０２上に配置され、コンピューティングデバイスの拡張ソケットに挿入されるように寸法決めされたエッジコネクタ（図４のエッジコネクタ１１０など）を含み得る。一例では、エッジコネクタは、拡張ソケットに接続されたコンピューティングバスを介して、ハードウェアアクセラレータ１０４をコンピューティングデバイスの中央処理装置に結合し得る。
【００２３】
本明細書で使用される「エッジコネクタ」という用語は、一般に、拡張カードを対応するコンピューティングバスまたはコンピューティングデバイスに結合する拡張カードのエッジにおける１つまたは複数の接続を指す。いくつかの例では、このエッジコネクタは、プリント回路基板１０２などのプリント回路基板の一部から形成され得る。さらに、このエッジコネクタは、基板のエッジにつながるプリント回路基板上のトレース（すなわち、ピン）を含み、これは、一致するソケットに差し込まれるように設計または構成され得る。一般に、エッジコネクタは、コンピューティングデバイスにおける（たとえば、コンピューティングデバイスのマザーボード上の）対応するメスコネクタまたはソケットと一致するオスコネクタを含み得る。
【００２４】
いくつかの例では、正しい極性を確保するためにエッジコネクタにキーが付けられている場合がある。コネクタはまた、極性のために、および間違ったタイプのデバイスが拡張ソケットに挿入されないようにするために、バンプまたはノッチを包含し得る。いくつかの例では、正しいキーイングを有することに加えて、エッジコネクタは、拡張ソケットに収まるように設計された幅と厚さを有し得る。
【００２５】
上記のように、また以下でより詳細に記述されるように、エッジコネクタはまた、拡張カード（および、次に、そのハードウェアアクセラレータ）が結合されているコンピューティングバス用に定義されたピン配列仕様よりもコンパクトな、コンパクトなピン配列を含み得る。本明細書で使用される「ピン配列」という用語は、一般に、拡張カード１００などの電気コネクタまたは電子部品の接点間、またはピン間の相互参照、ならびにこれらの接点またはピンの機能を指す。コンパクトなピン配列は、他のピン配列よりも幅寸法が狭く、薄く、または小さく、他のピン配列よりも厚さ寸法が狭く、薄く、または小さく、他のピン配列よりもピンピッチが近く、他のピン配列よりもピンが狭く、薄く、または小さく、および／または他の方法または寸法で他のピン配列よりも小さいことによって、少なくとも１つの他の指定されたピン配列よりもコンパクトになり得る。
【００２６】
コンパクトなピン配列の例として、Ｍ．２カードのピン配列がある。Ｍ．２カードは７５個のピンスペースのセットを有し得、このピンスペースのセットの幅は１２ｍｍ、１６ｍｍ、２２ｍｍ、または３０ｍｍであってよい。また、ピンの長さは２．００ｍｍ、ピッチは０．５ｍｍであってよい。対照的に、ネイティブＰＣＩ  ＥＸＰＲＥＳＳ  ｘ１ピン配列の仕様は、少なくとも１．０ｍｍのピッチ、少なくとも３５ｍｍの幅、および少なくとも２．３ｍｍの長さを定義し得る。したがって、ＰＣＩ  ＥＸＰＲＥＳＳバスに接続し得るＭ．２ピン配列は、Ｍ．２ピン配列の少なくとも１つの寸法が、ＰＣＩ  ＥＸＰＲＥＳＳバスの仕様によって定義されているピン配列よりも小さいため、ＰＣＩ  ＥＸＰＲＥＳＳバスの仕様によって定義されているピン配列よりもコンパクトであると言える。
【００２７】
一例では、拡張カード１００のエッジコネクタは、１つまたは複数の混合ピンのピン配列仕様に準拠するピン配列を有し得る。本明細書で使用される「混合ピン」という用語は、一般に、拡張カードが結合するコンピューティングバスの仕様のピン配列とは異なるピン配列を有する拡張カードを指す。いくつかの例では、対応する拡張ソケットが、接続を効果的に結合する、および／または拡張カードのピン配列からのデータをコンピューティングバスによって受け入れられる形式に、またはその逆に変換する１つまたは複数の中間回路の項目を含み得るため、２つのピン配列間の競合にもかかわらず、拡張カードがコンピューティングバスと正常に結合し得る。エッジコネクタのピン配列が準拠し得る混合ピン仕様の例示的な例は、Ｍ．２ピン配列仕様、Ｕ．２ピン配列仕様、および／またはｍＳＡＴＡピン配列仕様を含む。
【００２８】
上記で詳述したように、拡張カード１００のハードウェアアクセラレータ１０４は、ハードウェアにおいて１つまたは複数の特定のコンピューティングタスクを実行するようにカスタマイズまたは専用設計することができる。拡張カード１００のハードウェアアクセラレータ１０４が遂行または実行できる特定のコンピューティングタスクまたはアプリケーションのタイプの例示的な例は、これらに限定されないが、人工知能および／または機械学習トレーニング（たとえば、モデル構築、推論、フラッシャラベリングなど）、ビデオトランスコーディング（たとえば、１つのエンコード形式から中間の非圧縮形式にビデオデータを変換し、次いで、中間の非圧縮形式を別のエンコード形式またはターゲット形式に変換する）、ビデオ処理（たとえば、２つ以上のビデオストリームを単一のビデオストリーム、またはより少数のビデオストリームに組み合わせる）、データの暗号化／復号化、データの圧縮／解凍などを含む。いくつかの例では、拡張カード１００のハードウェアアクセラレータ１０４は、積和演算、線形代数演算、機械学習またはベクトルチューニング演算、ならびに／あるいは暗号素数の識別および／または検証演算を含み得る特定のタイプの数学的演算のパフォーマンスに特に適しているか、または有益であり得る。一般に、拡張カード１００のハードウェアアクセラレータ１０４は、ハードウェアにおいて、任意のタイプまたは形式の計算量の多いコンピューティングタスクを実行するようにカスタマイズまたは専用設計され得、そのことによって、１つまたは複数の汎用中央処理装置の負荷を軽減する（すなわち、中央処理装置とは別のチップでコンピューティングタスクを実行することによって、および／またはソフトウェアではなくハードウェアにおいてコンピューティングタスクをより効率的に実行することによって）。
【００２９】
上記のように、いくつかの例では、ハードウェアアクセラレータ１０４の特定用途向けハードウェア回路１０６が実行するように設計されているコンピューティングタスクは、新しいデータの少なくとも１つのラベルを推測するために、知られているデータでトレーニングされたモデルを適用する人工知能推論タスクを含み得る。本明細書で使用される「知られているデータでトレーニングされたモデルを適用する人工知能推論タスク」という語句は、一般に、モデルを生成、トレーニング、および／または調整するプロセスではなく、トレーニングされたモデルを適用するプロセスを指す。いくつかの例では、拡張カード１００のハードウェアアクセラレータ１０４は、新たに遭遇した、または新たに分析されたデータの１つまたは複数の項目をラベルまたは属性で効果的にラベル付けし得る。一般的に、モデルは、部分的または全体的にラベル付けされた以前に遭遇したデータに基づいて生成、トレーニング、および／または調整され得、そのことによって機械学習アルゴリズムが将来のデータの１つまたは複数のラベルを予測することを可能にする（たとえば、以前に遭遇したデータのラベル内のパターンを検出することによって）。
【００３０】
いくつかの実施形態では、人工知能推論タスクは、オンラインソーシャルネットワーキングシステムに関連してユーザ属性推論タスクを含み得る。これらの例では、ユーザ属性は、関心、推奨（たとえば、広告推奨および／または友達推奨）、および／またはプッシュ通知（たとえば、ユーザのニュースフィード用に選択されたソーシャルネットワーク投稿）を含み得る。一般に、人工知能推論タスクは、ユーザの投稿履歴、投稿コンテンツ、ソーシャルメディアの「いいね」または応答アイコン選択、友達リスト、メッセージ履歴、メッセージコンテンツ、ならびに／あるいはニュースフィード項目および／または広告を含む選択またはクリックされた項目などを含む、ユーザの１つまたは複数のデータおよび／またはメタデータの項目に基づいて、ユーザのこれらのラベルまたは属性のうちの１つまたは複数を識別し得る。一般に、人工知能推論タスクは、データまたはメタデータの１つのセットを持つユーザが、データまたはメタデータの類似または同一のセットを有する別のユーザとラベルを共有する傾向があることを推測または予測し得る（たとえば、予測の強度は、２人のユーザのデータ／メタデータの項目間の類似性に比例する場合がある）。
【００３１】
ハードウェアアクセラレータ１０４は、様々な形態を取り得る。ハードウェアアクセラレータの例示的な例は、これらに限定されないが、グラフィックス処理ユニット、暗号化アクセラレータ、ビデオ処理ユニット、人工知能アクセラレータ、コプロセッサ、デジタル信号プロセッサ、および／または公開キー暗号化アクセラレータを含む。いくつかの例では、ハードウェアアクセラレータ１０４は、特定用途向け集積回路（ＡＳＩＣ）および／またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）を介して実装され得る。
【００３２】
図２は、拡張カード１００のより具体的な例のブロック図である。この図に示されるように、拡張カード１００は、ＡＳＩＣ２０１の形式のハードウェアアクセラレータを含み得る。この図にさらに示されるように、拡張カード１００は、コンピューティングデバイスの対応する拡張ソケットを介して受け取った電圧を安定化し、その電圧をハードウェアアクセラレータ１０４に供給し得る１つまたは複数の電圧レギュレータ２０２などの、様々な追加のコンポーネントを含み得る。この図に示されるように、拡張カード１００はまた、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）２０４の１つまたは複数のインスタンスを含み得、各々はハードウェアアクセラレータ１０４に結合され得る。拡張カード１００はまた、抵抗器、コンデンサ、インダクタ、および／またはトランジスタを含む１つまたは複数のパッシブコンポーネント２０６を含み得る。追加的または代替的に、拡張カード１００はまた、１つまたは複数のアクティブコンポーネントを含み得る。パッシブコンポーネントおよび／またはアクティブコンポーネントの各々は、ハードウェアにおいて、上述のビデオトランスコーディングおよび／または人工知能推論タスクなどの問題の特定のアプリケーションを遂行または実行する（および／または、ＡＳＩＣ  ２０１が実行することを可能にする）構成で、拡張カード１００上に特に設計および／または設置され得る。最後に、拡張カード１００はまた、エッジコネクタ、および／または拡張カード１００が結合され得るコンピューティングバスにわたる送信のためにＡＳＩＣ２０１によってフォーマットされたデータを変換し得るＰＣ  ＥＸＰＲＥＳＳインターフェースなどのコンピューティングバスインターフェース２０８も含み得る。
【００３３】
上記で詳述したように、拡張カード１００のエッジコネクタは、Ｍ．２仕様などの１つまたは複数の混合ピンのピン配列仕様に準拠するピン配列を有し得る。図３は、拡張カード１００が利用し得る、Ｍ．２仕様に準拠するエッジコネクタのピン配列の様々な例を示している。この図では、要素３０２および３０４は、Ｍ．２仕様の「Ｂキー」および「Ｍキー」エッジコネクタ構成に準拠する拡張ソケットのピン配列を示している。このように、いくつかの実施形態では、図１の拡張カード１００のエッジコネクタ１１０は、要素３０６および３０８によって示されるように、「Ｂキー」および「Ｍキー」用のエッジコネクタのピン配列を含み得、そのピン配列はオスコネクタとして対応するＭ．２拡張ソケットに収まり得る。あるいは、拡張カード１００のエッジコネクタ１１０は、要素３１０によって示されるように、Ｍ．２仕様の「Ｂ＆Ｍキー」ハイブリッドエッジコネクタ構成に準拠するピン配列を含み得る。上記でさらに論じたように、これらの例示的なピン配列の各々は、Ｍ．２拡張カードが結合され得、Ｍ．２拡張カードが通信し得る、ＰＣＩ  ＥＸＰＲＥＳＳコンピューティングバス仕様によって指定されたピン配列よりもコンパクトであり得る。
【００３４】
図４は、エッジコネクタ１１０とハードウェアアクセラレータ１０４を含む、例示的な拡張カード１００の斜視図である。一実施形態では、拡張カード１００は、ＰＣＩ  ＥＸＰＲＥＳＳ  ３．０（たとえば、最大４レーン）、シリアルＡＴＡ  ３．０、およびＵＳＢ  ３．０（たとえば、後者の２つの各々に対して単一の論理ポートを使用）、ならびに／または任意の他の適切なインターフェースなどの様々なコンピュータバス用のインターフェースを提供する、対応する拡張ソケット（図５Ａ〜図５Ｃの拡張ソケット５０２など）に挿入されるように寸法決めされ得る。いくつかの例では、拡張カード１００は、拡張カード１００が特徴互換性のない拡張ソケットに差し込まれるのを防ぐために、拡張カード１００の様々な目的および能力を示すキーイングノッチ（図３に示されるものなど）を有し得る。たとえば、拡張カード１００は、Ｍ．２仕様に準拠するように設計されている場合、ＳＡＴＡまたは２つのＰＣＩ  ＥＸＰＲＥＳＳレーン（ＰＣＩｅ×２）（「ソケット２構成」にしたがって）用のキー付き拡張ソケット、または４つのＰＣＩ  ＥＸＰＲＥＳＳレーン（ＰＣＩｅ×４）（「ソケット３構成」にしたがって）用のキー付き拡張ソケットに挿入されるように寸法決めされた７５ポジションエッジコネクタを提供し得る。
【００３５】
拡張カード１００はまた、論理インターフェースレベルにおけるレガシアドバンスホストコントローラインターフェース（Ａｄｖａｎｃｅｄ  Ｈｏｓｔ  Ｃｏｎｔｒｏｌｌｅｒ  Ｉｎｔｅｒｆａｃｅ、ＡＨＣＩ）のサポートに加えて、論理デバイスインターフェースとしてＮＶＭ  ＥＸＰＲＥＳＳ（ＮＶＭｅ）もサポートし得る拡張ソケット（Ｍ．２拡張ソケットなど）に挿入されるように寸法決めされ得る。ＡＨＣＩのサポートにより、レガシＳＡＴＡデバイスおよびレガシオペレーティングシステムとのソフトウェアレベルの下位互換性が保証され得るが、ＮＶＭ  ＥＸＰＲＥＳＳはまた、多くのＩ／Ｏ動作を並行して実行するために、拡張カード１００が高速ＰＣＩ  ＥＸＰＲＥＳＳデバイスの能力を最大限に利用することを可能にし得る。
【００３６】
拡張カード１００はまた、ＰＣＩ  ＥＸＰＲＥＳＳ  ３．０、シリアルＡＴＡ（ＳＡＴＡ）３．０、およびＵＳＢ３．０を含む様々なコンピューティングバスを露出する拡張ソケットに挿入されるように寸法決めされ得る。その結果、いくつかの実施形態では、拡張カード１００は、ハードウェアアクセラレーションに加えて、ＷＩ−ＦＩ、ＢＬＵＥＴＯＯＴＨ、衛星ナビゲーション、近距離無線通信（ＮＦＣ）、デジタルラジオ、ワイヤレスギガビット（ＷｉＧｉｇ）、ワイヤレスＷＡＮ（ＷＷＡＮ）、およびソリッドステートドライブ（ＳＳＤ）のデバイスクラスを含む、様々な機能を統合し得る。
【００３７】
いくつかの例では、拡張カード１００は、最大４つのＰＣＩ  ＥＸＰＲＥＳＳレーンと１つの論理ＳＡＴＡ  ３．０（６ギガビット／秒）ポートを提供する拡張ソケットに挿入されるように寸法決めされ得、ＰＣＩ  ＥＸＰＲＥＳＳとＳＡＴＡデバイスの両方が拡張カード１００上に存在し得るように、同じコネクタを通じて同じものを露出する。このようにＰＣＩ  ＥＸＰＲＥＳＳレーンを露出することによって、拡張ソケットは、ホストコンピューティングデバイスと拡張カード１００との間の純粋なＰＣＩ  ＥＸＰＲＥＳＳ接続を提供し得、バス抽象化の追加層はない。
【００３８】
拡張カード１００は、様々な形状およびサイズで形成され得る。一例では、拡張カード１００は、片側にエッジコネクタ１１０を備え、反対側のエッジの中央に半円形の取付け穴を備えた、実質的に長方形の形状であってもよい。コンポーネントは、拡張カード１００のいずれかの側に取り付けられてもよい。図４の特定の例では、拡張カード１００は、２２ｍｍの幅および１１０ｍｍの長さを有し得、これは、Ｍ．２仕様のサイズ要件のうちの１つに準拠する。しかしながら、これらの寸法は単なる例示であり、拡張カード１００は、上記で言及されたＭ．２仕様などの対応する拡張カード仕様に準拠する任意の適切な寸法の形式をとってもよい。たとえば、拡張カード１００は、Ｍ．２仕様によって定義されているように、１２、１６、２２、または３０ｍｍの幅、および１６、２６、３０、３８、４２、６０、８０、または１１０ｍｍの長さを有し得る。
【００３９】
図３および図４に示されるピン配列は、単なる例である。次の表は、拡張カード１００が利用し得る潜在的なキーイングと提供されるインターフェースのより詳細な概要を提供する。
2020529647.tif 000003
【００４０】
さらに、次の表は、拡張カード１００の潜在的なコンポーネントの厚さを示している。
2020529647.tif 000004
【００４１】
上記で詳述したように、拡張カード１００は、ホスト回路基板によって提供される対応する拡張ソケットに挿入されるように寸法決めされ得る。図５Ａ〜図５Ｃは、マザーボード５００上の対応する拡張ソケット５０２に拡張カード１００を挿入または結合するためのプロセスの３つの別個の段階（すなわち、開始、中間、および終了）を示している。図５Ａに示されるように、ユーザまたは機械は、まず拡張カード１００のエッジコネクタ１１０を拡張ソケット５０２に位置合わせし得る。次いで、ユーザまたは機械は、エッジコネクタ１１０が拡張ソケット５０２内に収まるように拡張カード１００を押すことができる。次に、図５Ｂに示されるように、ユーザまたは機械は、ねじ５０４を拡張カード１００上にある対応する穴またはノッチ５０６と位置合わせし、次いで、ねじ５０４を穴またはノッチ５０６を通じて拡張ソケット５０２の横の対応するねじ穴５０８にねじ込み、そのことによって、拡張カード１００を拡張ソケット５０２に締結し得る。図５Ｃは、締結するプロセスが完了した後の拡張カード１００の最終位置の一例を示している。
【００４２】
いくつかの例では、拡張カード１００は、より大きいシステムの一部を構成し得る。たとえば、拡張カード１００は、単独で、あるいは他のコンピューティングデバイスまたはコンポーネントと組み合わせて、より大きいシステムの一部を表すコンピューティングデバイスの拡張ソケットに挿入され得る。いくつかの例では、このコンピューティングデバイスは中央処理装置を含み得る。これらの例では、拡張カード１００は、上記で概説したように、特定のアプリケーションをソフトウェアにおいて実行する中央処理装置ではなく、ハードウェアにおいて問題の特定のアプリケーションを実行することによって、コンピューティングデバイスの中央処理装置の負荷を改良し得る。いくつかの例では、コンピューティングデバイスはまた、対応するソフトウェアを記憶およびロードするための場所を提供し得るメモリデバイスを含み得る。
【００４３】
いくつかの代替の例では、拡張カード１００が挿入されるコンピューティングデバイスは、従来の中央処理装置を含まなくてもよい。たとえば、このコンピューティングデバイスは、プリント回路基板を受け取るように寸法決めされたトレイのラックを収容するシャーシを単純に含み得、１つまたは複数のプリント回路基板は、ハードウェアアクセラレータ１０４などのハードウェアアクセラレータを含み得る。次いで、コンピューティングデバイスは、コンピューティングデバイスが接続されているネットワークにわたってハードウェアアクセラレータから結果を提供し得る。さらに、いくつかの例では、ハードウェアアクセラレータは、以前にコンピューティングデバイスに挿入された中央処理装置またはコプロセッサを効果的に置き換える場合がある。
【００４４】
一般に、上述のシステムのコンピューティングデバイスは、ラップトップ、デスクトップ、サーバなどの、様々な異なるデバイスのうちの１つに対応し得る。コンピューティングデバイスがサーバを表す例では、コンピューティングデバイスはデータセンタ内に配置されてもよく、またはそこにあってもよく、コンピューティングデバイスはコンピューティングネットワーク（たとえば、ワイドエリアネットワーク）にわたってユーザ、クライアント、または他のサーバに計算リソースを提供し得る。たとえば、上述のシステムは、クライアントデバイスの対応するユーザに少なくとも１つのオンラインサービスを提供する法人ネットワーキング企業のバックエンドデータセンタを表し得る。このオンラインサービスは、ソーシャルネットワーキングサービス、仮想現実サービス、および／またはクラウドストレージサービスを含み得る。ソーシャルネットワーキングサービスに関連して、ハードウェアアクセラレータ１０４によって実行される特定のアプリケーションは、人工知能推論タスク（たとえば、投稿、関心、友人、推奨、および／またはユーザ向けの広告を予測するために、機械学習モデルを適用する）、および／またはビデオトランスコーディング（たとえば、エンコードおよび／またはデコード）演算などの上述の特定のコンピューティングタスクのうちのいずれかを含み得る。
【００４５】
特定の一例では、拡張カード１００が挿入されるコンピューティングデバイスは、ドメインコントローラサーバおよび／またはエッジサーバを表し得る。本明細書で使用される「ドメインコントローラ」という用語は、一般に、コンピューティングリソースの統一されたコレクションを管理するサーバを指す。さらに、「ドメインコントローラ」という用語は、テクノロジ企業のデータセンタのメインサーバまたはプライマリサーバを指し得、１つまたは複数のコンピューティングタスクの処理に優先順位を付けることができる。さらに、本明細書で使用される「エッジサーバ」という用語は、一般に、２つのネットワーク間の「エッジ」に常駐するサーバを指す。いくつかの例示的な例では、エッジサーバはプライベートネットワークとインターネットの間に常駐し得る。いくつかの例では、「エッジサーバ」は、ドメインコントローラまたはメイン／プライマリサーバよりも少ないコンピューティングリソースおよび／またはより低い計算処理パワーを有するコンピューティングデバイスを指し得る。いくつかの例では、上記で論じたように、拡張カード１００上のハードウェアアクセラレータ１０４などのハードウェアアクセラレータを通じてコンピューティングタスクを実行せずに、エッジサーバが人工知能推論タスクおよび／またはビデオトランスコーディングタスクなどの計算コストの高いコンピューティングタスクを実行することは非現実的または不可能な場合がある。言い換えれば、拡張カード１００などのハードウェアアクセラレータカードをエッジサーバに挿入すると、エッジサーバが複雑なコンピューティングタスクを実行することが可能になり得、そのことによって、エッジサーバを、複雑なタスクを効率的または効果的に実行することができないシステムから、複雑なタスクに確実に対処することができるシステムに変換する。
【００４６】
いくつかの実施形態では、拡張カード１００が挿入されるコンピューティングデバイスは、マルチノード計算プラットフォームを表し得る。一例では、このマルチノード計算プラットフォームはスレッドを含み得、スレッドは１つまたは複数のモジュール式コンピューティングデバイス（サーバカードまたはストレージキャリアカードなど）をさらに含み得る。以下でさらに論じるように、この例では、サーバまたはキャリアカードのうちの１つまたは複数は、拡張カード１００を受け入れ、ハードウェアアクセラレーション用に再利用されるように寸法決めされた少なくとも１つの拡張ソケットを含み得る。
【００４７】
図６は、ハードウェアアクセラレーションのために部分的または全体的に再利用され得る例示的なマルチノード計算プラットフォーム６３０のブロック図である。図６に示されるように、マルチノード計算プラットフォーム６３０はいくつかのベイで構成され得、各々がモジュール式ストレージデバイス６１０（たとえば、ＳＳＤキャリアカードまたはデバイスキャリアカード）、モジュール式コンピューティングデバイス６２０（たとえば、マイクロサーバカード）、および／あるいは任意の他の適切なタイプまたは形態のモジュール式ノードを収容し得る。図６は、４つのベイを備えたマルチノード計算プラットフォーム６３０を示しているが、マルチノード計算プラットフォームは、他の任意の数のベイを含み得る。
【００４８】
ハードウェアアクセラレーションのためにマルチノード計算プラットフォームを再利用することは、拡張カード１００などの１つまたは複数のハードウェアアクセラレータ拡張カードをマルチノード計算プラットフォーム内のコンパクトな拡張スロットに挿入することを伴い得る。図６に示される例では、ハードウェアアクセラレータ拡張カード（拡張カード１００など）は、モジュール式コンピューティングデバイス６２０の拡張ソケット６２２の一方または両方に挿入され得る。追加的または代替的に、ハードウェアアクセラレータ拡張カードは、モジュール式ストレージデバイス６１０のいずれかまたは両方における１つまたは複数の拡張ソケット６１２に挿入され得る。
【００４９】
ハードウェアアクセラレーションのためにコンパクトな拡張カードソケットを再利用することによって、本開示の実施形態は、ハードウェアアクセラレーション機能でマルチノード計算プラットフォーム６３０を補完し得る。このように、開示されたシステムと方法は、データセンタの管理者または自動化システムが、１つまたは複数のハードウェアアクセラレーション拡張カードをマルチノード計算プラットフォーム内のコンパクトな拡張ソケットに単に挿入して有効にすることによって、計算コストの高いコンピューティングタスクに対処するために、マルチノード計算プラットフォームの能力を効率的にスケーリングすることを可能にし得る。
【００５０】
上記のように、および図７に示されるように、マルチノード計算プラットフォーム７００は、図７のスレッド７０２などの１つまたは複数のスレッド上のモジュール式コンピューティングデバイスを受け入れるように寸法決めされ得る。この例では、スレッド７０２は、対応するトレイ７０３を受け入れるためのいくつかのベイまたはスロットを含み得、各々は、モジュール式コンピューティングデバイス（たとえば、サーバカード）またはモジュール式ストレージデバイス（たとえば、ＳＳＤカードなどのキャリアまたはデバイスカード）を含み得る。この図に示されるように、スレッド７０２は、対応するトレイ７０３を受け入れるための４つの別個のスロットを含み得る。各トレイ７０３は、少なくとも１つの締結するメカニズム７０４を含み得る。図７は、各トレイ７０３がモジュール式コンピューティングデバイスおよび／またはモジュール式ストレージデバイスを保持し得る方法をさらに示し、各々は、拡張カード１００が挿入され得る少なくとも１つの拡張ソケットを含み得る。
【００５１】
図８は、拡張されたマルチノード計算プラットフォーム８００の斜視図である。この図に示されるように、プラットフォーム８００は、スレッド７０２などのスレッドのセットを含み得、各々は、モジュール式コンピューティングおよび／またはストレージデバイスを包含する複数のトレイ７０３を受け入れることができる。これらのデバイスにおいてコンパクトな拡張ソケットを再利用することによって、開示されたシステムおよび方法は、計算コストの高いコンピューティングタスクのために、データセンタのスケーリング（たとえば、高価なサーバの追加を伴わない、および／またはデータセンタにおける追加スペースを必要としない場合があるスケーリング）の劇的な改善を促進し得る。より具体的には、データセンタの管理者は、（ｉ）拡張カード１００などの１つまたは複数の拡張カードを、モジュール式コンピューティングおよび／またはストレージデバイスを収容する単一のトレイ（トレイ７０３など）に追加すること、（ｉｉ）スレッド（スレッド７０２など）にモジュール式コンピューティングまたはストレージデバイスの追加のトレイを追加することであって、各々が拡張カード１００の１つまたは複数のインスタンスを含み得ること、（ｉｉｉ）追加のスレッド（スレッド７０２など）をシャーシに追加することであって、各々がスレッドには拡張カード１００の追加のインスタンスを包含し得ること、ならびに／あるいは（ｉｖ）追加のシャーシおよび／またはサーバラックを追加することであって、各々が拡張カード１００の追加のインスタンスを包含する複数のスレッドを受け入れ得ることによって、人工知能推論動作やビデオトランスコーディング動作などの複雑なタスク用にハードウェアアクセラレーションリソースを便利にスケーリングし得る。
【００５２】
このようにして、開示されたシステムおよび方法は、マルチノード計算プラットフォームを再利用または再設計し得、より具体的には、プラットフォームに１つまたは複数のハードウェアアクセラレータを補完するために、以前はソリッドステートドライブを介して大容量ストレージ専用に使用されていた可能性があるモジュール式コンピューティングおよび／またはストレージデバイスを再設計する。この方法で構成されたマルチノード計算プラットフォームは、Ｍ．２仕様などのコンパクトな拡張カード仕様によって提供されるきめ細かいスケーラビリティの恩恵を受ける可能性がある。コンパクトな拡張カードの劇的に小さいフォームファクタにより、ＰＣＩ  ＥＸＰＲＥＳＳ拡張カードなどの従来の拡張カードと比較して、同じ表面積内でより多くの拡張ソケットが可能になり得る。
【００５３】
いくつかの例では、拡張カード１００が挿入される拡張ソケットは、中間拡張カード上に配置され得る。本明細書で使用する「中間拡張カード」という用語は、一般に、以下でさらに論じるように、入れ子式に追加の拡張カードを受け入れるように寸法決めされた少なくとも１つの拡張ソケットを含む任意の拡張カードを指す。図９に示されるように、例示的な中間拡張カード９００は、２つ以上の別個の拡張ソケット９０２を含み得、各々は、拡張カード１００のインスタンスをそれぞれ受け入れるように寸法決めされ得る。図９の特定の例では、中間拡張カード９００は、各々が拡張カード１００のインスタンスを受け入れることができる４つの別個の拡張ソケットを含み得る。特定の数の拡張ソケットは単なる例示であり、中間拡張カード９００の他の例は、より少数またはより多数の拡張ソケットを含み得る。
【００５４】
いくつかの例では、中間拡張カード９００は、中間拡張カード９００が接続されるように設計されたコンピューティングバスに対して定義されたピン配列仕様に準拠するピン配列を有するエッジコネクタを含み得る。たとえば、中間拡張カード９００のエッジコネクタのピン配列は、ＰＣＩ  ＥＸＰＲＥＳＳ仕様に準拠し得る。したがって、中間拡張カード９００のエッジコネクタがコンピューティングデバイス（コンピューティングデバイス９１０など）上のＰＣＩ  ＥＸＰＲＥＳＳ拡張ソケットに挿入されると、中間拡張カード９００はコンピューティングデバイスのＰＣＩ  ＥＸＰＲＥＳＳコンピューティングバスに結合され得る。
【００５５】
対照的に、中間拡張カード９００の拡張ソケット９０２に挿入されるように寸法決めされ得る拡張カード１００は、中間張カード９００が接続されるコンピューティングバス用に定義されたピン配列仕様よりもコンパクトなピン配列を含むエッジコネクタ１１０を含み得る。たとえば、拡張カード１００のエッジコネクタ１１０は、拡張カード１００のピン配列が、拡張カード１００が最終的に（中間拡張カード９００を介して）接続されるコンピューティングバス（すなわち、ＰＣＩ  ＥＸＰＲＥＳＳコンピューティングバス）のピン配列仕様よりコンパクトになるように、ＰＣＩ  ＥＸＰＲＥＳＳ規格によって定義されたピン配列仕様よりもコンパクトなＭ．２規格に対して定義されたピン配列仕様に準拠し得る。
【００５６】
図１０Ａは、上記で論じたように、拡張カード１００のインスタンスなどの４つの別個のＭ．２モジュールを受け入れるための４つの別個のＭ．２拡張ソケットを含み得る例示的な中間拡張カード１０００の斜視図である。この図に示されるように、中間拡張カード１０００はヒートシンク１０１０を含み得、ヒートシンク１０１０を持ち上げると、一致する拡張ソケット１０３０に以前に挿入された拡張カード１００が現れ得、そのことによって中間拡張カード１０００にハードウェアアクセラレーション機能を提供する。完全を期すために、図１０Ｂはまた、ヒートシンク１０１０が完全に取り外された、または省略された後の中間拡張カードの平面図を提供し、そのことによって、中間拡張カード１０００の拡張ソケット１０３０内に固定された拡張カード１００の例を完全に現す。これらの図に示されるように、中間拡張カード１０００はまたエッジコネクタ１０２０を含み得、エッジコネクタ１０２０は、この例ではＰＣＩ  ＥＸＰＲＥＳＳピン配列仕様に従って寸法決めまたはフォーマットされ得る。
【００５７】
上記で最初に論じたように、開示されたシステムは、たとえば、コンピューティングデバイス内の拡張カード１００のインスタンスの数を増やすこと、モジュール式コンピューティングデバイスまたはモジュール式ストレージデバイス（各々が拡張カード１００のインスタンスを包含し得る）の数を増やすこと、マルチノード計算プラットフォーム（各々が、複数のモジュール式コンピューティングおよび／またはストレージデバイスを包含し得る）のシャーシ内で接続されるスレッドの数を増やすこと、および／またはマルチノード計算プラットフォーム内のサーバラックまたはシャーシの数を増やすことを含む、様々な寸法に沿ってスケーリングされ得る。このように、開示されたシステムおよび方法は、マルチノード計算プラットフォームが１つまたは複数の拡張カード（ハードウェアアクセラレータ１０４を備えた拡張カード１００など）を挿入および／または起動することによって、スケーリングするために設計または改造され得ることを実証し、そのことによって、便利かつ即座に、これらの追加リソースを、対応するプログラム、サービス、アプリケーション、および／またはプロセスにとって利用可能にする。
【００５８】
図１１は、ハードウェアアクセラレーションを実行するための例示的なコンピュータ実装方法１２００の流れ図である。図１１に示されるステップは、図６〜図１０に関連して上記で論じたシステム、および／またはその１つまたは複数の変形または組合せを含む、任意の適切なコンピュータ実行可能コードおよび／またはコンピューティングシステムによって実行され得る。一例では、図１１に示されるステップの各々は、その構造が複数のサブステップを含む、および／または複数のサブステップによって表されるアルゴリズムを表し得、その例は以下により詳細に提供される。
【００５９】
図１１に示されるように、ステップ１１１０において、本明細書で記述するシステムのうちの１つまたは複数は、コンピューティングデバイスの拡張ソケットに拡張カードを挿入し得る。たとえば、データセンタの管理者、データセンタのロボット、元の機器製造会社、および／または自動管理システムは、図６〜図１０に示されるシステムのうちの１つまたは複数の一部として、拡張カード１００を、マルチノード計算プラットフォーム内のモジュール（たとえば、モジュール式コンピューティングデバイス６２０および／またはモジュール式ストレージデバイス６１０）などのコンピューティングデバイスの拡張ソケット、ならびに／あるいは、中間拡張カード（中間拡張カード９００）などに挿入し得る。
【００６０】
拡張カード１００は、様々な方法でコンピューティングデバイスに挿入され得る。一般に、拡張カード１００は、図５Ａ〜図５Ｃに示される拡張カード１００の挿入と並行する方法でコンピューティングデバイスに挿入され得る。言い換えれば、拡張カード１００をコンピューティングデバイスに挿入することは、拡張カード１００を対応する拡張ソケットに対してしっかりと固定するために、ねじ５０４をねじ穴５０８に挿入することを伴い得る。さらに、拡張カードをコンピューティングデバイスに挿入することは、エッジコネクタ１１０を対応する拡張ソケットと位置合わせし、次いで、拡張コネクタ内にしっかりとエッジコネクタ１１０を押し込む、または埋め込むことを伴い得る。さらに、図９、図１０Ａ、および図１０Ｂの実施形態に関連して、拡張カード１００を拡張ソケットに挿入することは、拡張カード１００を中間拡張カード９００などの中間拡張カードの拡張ソケット９０２などのソケットに挿入することをさらに含み得る。
【００６１】
さらに、いくつかの例では、方法１１００は、追加の拡張カードをコンピューティングデバイスの追加の拡張スロットに挿入することによって、コンピューティングデバイスのハードウェアアクセラレーション能力をスケーリングすることをさらに含み得る。一般に、追加の拡張カードは、拡張カード１００の構造および／または機能と並行する場合がある。たとえば、追加の拡張カードは、コンピューティングタスクを実行するように設計された追加の特定用途向けハードウェア回路をさらに含む、ハードウェアアクセラレータ（たとえば、ハードウェアアクセラレータ１０４のインスタンス）を含み得る。同様に、追加の拡張カードはまた、エッジコネクタ１１０に並行する追加のエッジコネクタをさらに含み得、これについては、図４および図５Ａ〜図５Ｃに関連してさらに上記で論じた。エッジコネクタ１１０と同様に、追加の拡張カードの追加のエッジコネクタは、コンピューティングバス用に定義されたピン配列仕様（たとえば、ＰＣＩ  ＥＸＰＲＥＳＳコンピューティングバス仕様）よりもコンパクトな、コンパクトなピン配列（たとえば、Ｍ．２仕様に従った）を含み得る。
【００６２】
上記のように、コンピューティングデバイスのハードウェアアクセラレーション能力をスケーリングするために、追加の拡張カードを追加の拡張スロットに挿入することは、様々な方法で実行され得る。いくつかの例では、コンピューティングデバイスのハードウェアアクセラレーション能力のスケーリングは、モジュール式ストレージデバイス６１０の拡張ソケット６１２などの対応する拡張ソケットに単一の追加の拡張カードを挿入することを単に伴い得る。他の例では、追加の拡張カードを挿入することは、より大きいコンポーネントを対応するコンピューティングデバイスまたはシステムに挿入または追加するためのプロセスの一部として実行され得る。たとえば、図６に関連して、追加の拡張カードは、追加の拡張カードをさらに含む（たとえば、拡張ソケット６２２などの拡張ソケットに挿入される追加の拡張カードを含む）モジュール式ストレージデバイス６１０および／またはモジュール式コンピューティングデバイス６２０を追加することによって、コンピューティングデバイスに追加され得る。同様に、図８の例では、コンピューティングデバイスのハードウェアアクセラレーション能力のスケーリングは、スレッド７０２などの追加のスレッドを、マルチノード計算プラットフォーム６３０の対応するシャーシまたはラック内に挿入することをさらに含み得る。
【００６３】
再び図１１を参照すると、ステップ１１２０において、上述のシステムのうちの１つまたは複数は、特定用途向けハードウェア回路を介してコンピューティングタスクの一部を実行することによって、中央処理装置からコンピューティングタスクの少なくとも一部をオフロードし得る。たとえば、ハードウェアアクセラレータ１０４は、図６〜図１０のシステムの一部として、６−１０、特定用途向けハードウェア回路１０６を介してコンピューティングタスクの一部を実行することによって、人工知能推論タスクおよび／またはビデオトランスコーディングタスクなどのコンピューティングタスクの一部を中央処理装置からオフロードする。
【００６４】
ハードウェアアクセラレータ１０４は、様々な方法でコンピューティングタスクの一部をオフロードし得る。一般に、ハードウェアアクセラレータ１０４は、図１、図２、および図４に関連して上記のハードウェアアクセラレータ１０４の議論と並行する方法でコンピューティングタスクの一部をオフロードし得る。より具体的には、ハードウェアアクセラレータ１０４は、コンピューティングタスク自体の少なくとも一部を実行し得、したがって、１つまたは複数の中央処理装置がコンピューティングタスクの少なくとも一部を実行する負荷を軽減する。さらに、上記でさらに論じたように、ハードウェアアクセラレータ１０４は、ソフトウェアにおいてコンピューティングタスクの一部を実行するのではなく、ハードウェアにおいてコンピューティングタスクの少なくとも一部を実行し、そのことによって、コンピューティングタスクの一部を、中央処理装置よりも速くより効率的に実行し得る。
【００６５】
結論として、図１〜図１１に関連して上記で論じたデバイス、システム、および方法は、ハードウェアアクセラレーションを実行するためにコンパクトな拡張カード技術を再利用することによって、データセンタまたは他のコンピューティング環境を改善し得る。たとえば、コンパクトな拡張カードにハードウェアアクセラレーションを実装することによって、開示されたシステムおよび方法は、ドメインコントローラの中央処理装置の負荷を軽減または改良し得る。さらに、上記のように、開示されたハードウェアアクセラレーションの実施形態は、エッジサーバが１つまたは複数の計算コストの高いコンピューティングタスクを効率的に実行することを可能にし得る。したがって、開示されたシステムおよび方法は、技術企業が、計算に高価なコンピューティングタスクを管理できるインフラストラクチャに対する需要の予想される増加によりうまく対処し、適応することを可能にし得る。
【００６６】
前述の開示は、特定のブロック図、フローチャート、および例を使用して様々な実施形態を明記しているが、本明細書で記述および／または図示される各ブロック図コンポーネント、フローチャートのステップ、動作、および／またはコンポーネントは、個別におよび／または集合的に、幅広いハードウェア、ソフトウェア、またはファームウェア（またはそれらの組み合わせ）構成を使用して実装され得る。さらに、同じ機能を実現するために他の多くのアーキテクチャが実装され得るため、他のコンポーネントに包含されるコンポーネントの任意の開示は本質的に例と見なされるべきである。
【００６７】
本明細書で記述および／または図示されるプロセスパラメータおよびステップのシーケンスは、例としてのみ与えられており、必要に応じて変更することができる。たとえば、本明細書で例示および／または記述されるステップは特定の順序で示され、または論じられ得るが、これらのステップは必ずしも示された、または論じられた順序で実行される必要はない。本明細書で記述および／または例示される様々な例示的方法は、本明細書で記述または例示するステップのうちの１つまたは複数を省略してもよく、または開示されたものに加えて追加のステップを含んでもよい。
【００６８】
上記の記述は、他の当業者が本明細書に開示される例示的な実施形態の様々な態様を最大限に利用できるようにするために提供された。この例示的な記述は、網羅的であること、または開示された正確な形式に限定されることが意図されるものではない。本開示の趣旨および範囲から逸脱することなしに、多くの修正および変形が可能である。本明細書に開示された実施形態は、あらゆる点で例示的であり、限定的ではないと見なされるべきである。本開示の範囲を決定する際には、添付の特許請求の範囲およびそれらの均等物が参照されるべきである。
【００６９】
特に明記しない限り、本明細書および特許請求の範囲において使用される「〜に接続される（ｃｏｎｎｅｃｔｅｄ  ｔｏ）」および「〜に結合される（ｃｏｕｐｌｅｄ  ｔｏ）」という用語（および、それらの派生語）は、直接および間接（すなわち、他の要素またはコンポーネントを介して）接続の両方を許可するものと解釈されるべきである。さらに、本明細書および特許請求の範囲において使用される「ａ」または「ａｎ」という用語は、「少なくとも１つ（ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ）」を意味すると解釈されるべきである。最後に、使いやすさのために、明細書および特許請求の範囲で使用される「含む（ｉｎｃｌｕｄｉｎｇ）」および「有する（ｈａｖｉｎｇ）」という用語（およびそれらの派生語）は、「備える（ｃｏｍｐｒｉｓｉｎｇ）」という語と交換可能であり、同じ意味を有する。
【図１】
2020529647.tif 000005
【図２】
2020529647.tif 000006
【図３】
2020529647.tif 000007
【図４】
2020529647.tif 000008
【図５Ａ】
2020529647.tif 000009
【図５Ｂ】
2020529647.tif 000010
【図５Ｃ】
2020529647.tif 000011
【図６】
2020529647.tif 000012
【図７】
2020529647.tif 000013
【図８】
2020529647.tif 000014
【図９】
2020529647.tif 000015
【図１０Ａ】
2020529647.tif 000016
【図１０Ｂ】
2020529647.tif 000017
【図１１】
2020529647.tif 000018
【国際調査報告】
2020529647.tif 000019
2020529647.tif 000020
2020529647.tif 000021
2020529647.tif 000022
2020529647.tif 000023