(57)【要約】  クラウドコンピューティングの分散処理リソースを使用する全デジタルソフトウェアモデムを提供する。特に、目的に合わせて構築されたソフトウェア、ファームウェア、ＦＰＧＡ（Ｆｉｅｌｄ Ｐｒｏｇｒａｍｍａｂｌｅ Ｇａｔｅ Ａｒｒａｙ）ハードウェア記述言語（ＨＤＬ）ファームウェア、およびＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ Ｓｐｅｃｉｆｉｃ Ｉｎｔｅｇｒａｔｅｄ Ｃｉｒｃｕｉｔ）によって以前にサポートされていたすべてのプロセスは、本開示において、クラウドコンピューティング環境内のＨＰＣ（Ｈｉｇｈ Ｐｅｒｆｏｒｍａｎｃｅ Ｃｏｍｐｕｔｉｎｇ）サーバによって完全にサポートされる。
2020527921.tif 000002
【特許請求の範囲】
【請求項１】
変調サブシステムと復調サブシステムを備えるクラウド対応モデムシステムであって、
前記変調サブシステムは、
フレーム化ユーザデータストリームとしてユーザデータを受け入れるようにプログラムされたコンピュータ装置と、
前記フレーム化ユーザデータストリームのビット訂正を実行するようにプログラムされた順方向エラー訂正アプリケーションと、
前記ユーザデータをパラレルフォーマットからシリアルフォーマットに変換するようにプログラムされたフォーマット変換アプリケーションと、
シリアルフォーマットされた前記フレーム化ユーザデータストリームを第１の変調ユーザデータストリームに変換するようにプログラムされたマッピングアプリケーションと、
前記変調ユーザデータストリームを電子的にフィルタリングするようにプログラムされたフィルタアプリケーションと、
前記変調ユーザデータストリームを第１のアナログ変調通信波形に変換するように構成されたデジタル／アナログ変換器と、
を備え、
第２のアナログ変調通信波形を受信するようにプログラムされた前記復調サブシステムは、
前記第２のアナログ変調通信波形を第２の変調ユーザデータストリームに変換するように構成されたアナログ／デジタル信号変換器と、
増幅／減衰アプリケーションと、
前記第２の変調ユーザデータストリームをデマッピングされたデータビットに変換するようにプログラムされた復調アプリケーションと、
順方向エラー訂正（ＦＥＣ）アプリケーションと、
エラーチェックアプリケーションと、
前記第２の変調ユーザデータストリームのフレーミングフォーマットを除去するようにプログラムされたデフレーミングアプリケーションと、
を備え、
前記順方向エラー訂正アプリケーション、前記フォーマット変換アプリケーション、前記マッピングアプリケーション、および前記フィルタアプリケーションは、それぞれ、ＯｐｅｎＣＬ言語で書かれ、少なくとも１つのクラウド環境内の少なくとも１つのサーバによってサポートされるプログラムであり、
前記増幅／減衰アプリケーション、前記復調アプリケーション、前記順方向エラー訂正（ＦＥＣ）アプリケーション、前記エラーチェックアプリケーション、および前記デフレーミングアプリケーションは、それぞれ、ＯｐｅｎＣＬ言語で書かれ、少なくとも１つのクラウド環境内の少なくとも１つのサーバによってサポートされるプログラムである、
クラウド対応モデムシステム。
【請求項２】
前記第１のアナログ変調通信波形を送信し、前記第２のアナログ変調通信波形を受信するエッジデバイスをさらに備える請求項１に記載のクラウド対応モデムシステム。
【請求項３】
前記ユーザデータストリームは、前記クラウド対応モデムシステムによって変調されるべきユーザからのネットワークデータとしてリアルタイムで受信される請求項１に記載のクラウド対応モデムシステム。
【請求項４】
前記第１の変調ユーザデータストリームは、パケット化されたデジタルＩ／Ｑサンプルの第１のストリームであり、
前記Ｉ／Ｑサンプルの第１のストリームは、フレームヘッダを有するフレームフォーマットでカプセル化され、前記エッジデバイスにリアルタイムで転送される請求項２に記載のクラウド対応モデムシステム。
【請求項５】
前記第２の変調ユーザストリームは、前記エッジデバイスからリアルタイムに受信されたパケット化されたデジタルＩ／Ｑサンプルの第２のストリームであり、前記パケット化されたデジタルＩ／Ｑサンプルの第２のストリームは、前記復調サブシステムによって復調され、リアルタイムにユーザに転送される請求項１に記載のクラウド対応モデムシステム。
【請求項６】
前記ユーザデータを記憶する記憶装置をさらに備え、前記記憶装置に記憶される前記ユーザデータは、前記変調サブシステムによって変調される請求項１に記載のクラウド対応モデムシステム。
【請求項７】
前記ユーザデータを記憶する記憶装置をさらに含み、前記記憶装置に記憶される前記ユーザデータは、前記変調サブシステムによって変調される請求項４に記載のクラウド対応モデムシステム。
【請求項８】
前記第２の変調ユーザストリームを記憶する記憶装置をさらに備える請求項１に記載のクラウド対応モデムシステム。
【請求項９】
前記第２の変調ユーザストリームを記憶する記憶装置をさらに備え、前記第２の変調ユーザストリームは、デジタル化されたＩ／Ｑサンプルとして記憶される請求項５に記載のクラウド対応モデムシステム。
【請求項１０】
前記変調サブシステム、前記復調サブシステム、および前記モデムシステムのそれぞれで、広帯域処理が、単一のＣＰＵを使用する高性能コンピューティング（ＨＰＣ）サーバによってサポートされる請求項１に記載のクラウド対応モデムシステム。
【請求項１１】
前記変調サブシステム、前記復調サブシステム、および前記モデムシステムのそれぞれで、波形処理が、少なくとも１つのＣＰＵおよび少なくとも１つのハードウェア加速装置を使用するＨＰＣによってサポートされる請求項１に記載のクラウド対応モデムシステム。
【請求項１２】
前記変調サブシステム、前記復調サブシステム、および前記モデムシステムのそれぞれで、広帯域処理が、１つまたは複数のＣＰＵおよび１つまたは複数のハードウェア加速装置を含む複数のＨＰＣサーバにわたって分散される請求項１に記載のクラウド対応モデムシステム。
【請求項１３】
外部クロック基準をさらに備え、前記外部クロック基準は、共通ネットワーククロック基準として前記変調サブシステムおよび前記復調サブシステムに入力される請求項１に記載のクラウド対応モデムシステム。
【請求項１４】
外部クロック基準をさらに備え、前記外部クロック基準は、共通ネットワーククロック基準として前記変調サブシステム、前記復調サブシステム、および前記エッジデバイスに入力される請求項２に記載のクラウド対応モデムシステム。
【請求項１５】
前記変調サブシステムおよび前記復調サブシステムのそれぞれの前記アプリケーションは、複数の第１および第２のアナログ通信変調波形をサポートすることができる請求項１に記載のクラウド対応モデムシステム。
【請求項１６】
ＯｐｅｎＣＬは、前記変調アプリケーションおよび前記復調アプリケーションのそれぞれのための高級言語として使用される請求項１に記載のクラウド対応モデムシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
（関連出願の相互参照）
本出願は、特許協力条約に基づく国際出願であり、２０１７年１０月１２日に出願された米国非仮特許出願第１５／７８２，６５１号（２０１７年６月２２日に出願された米国仮特許出願第６２／５２３，７１３号の優先権を主張する）の利益を主張し、その内容は、その全体が参照により本明細書に組み込まれる。
【０００２】
通信の導入以来、ユーザ情報を受け入れ、ユーザデータを波形として知られるフォーマットに変調し、媒体を介して送信するために、変調器／復調器として知られる、または一般に「モデム」として知られる専用装置が利用される。逆に、モデムは、変調された波形を受信し、その波形を受信側で元のユーザデータに復調する能力を有する。変調器、伝送媒体、および復調器の組合せ集合は、当技術分野では通信経路として知られている。従来、モデムは、モデムを作成するための専用のソフトウェアおよび／またはファームウェアを有する専用部品を使用して、専用に構築された装置である。ここ数年の時点で、ソフトウェア定義モデム（ＳＤＭ）として知られる新しい概念が、モデムを作成するために汎用プロセッサがいくらか汎用化されたモデムセット上のソフトウェアパッケージをサポートするという目的で、汎用の変調器・復調器ボードを有する比較的汎用のプリント回路基板（ＰＣＢ）セットを使用して実施されている。
【０００３】
（技術分野）
本発明は、「クラウドコンピューティング」として知られる分散コンピューティングファブリック内にモデムを作成するための「全ソフトウェア」手法を使用し、この手法は、高性能コンピューティング（ＨＰＣ）サーバとして知られる市販の既製（ＣＯＴＳ）ハードウェアでサポートされる。ＨＰＣアーキテクチャは、現在、Ａｍａｚｏｎ Ｗｅｂ Ｓｅｒｖｉｃｅｓ(ＡＷＳ)、Ｇｏｏｇｌｅ Ｃｌｏｕｄ Ｃｏｍｐｕｔｉｎｇ、ＭｉｃｒｏｓｏｆｔのＡｚｕｒｅなどの分散処理会社によってサポートされている。クラウドコンピューティング会社によってサポートされているアーキテクチャは、ソフトウェア定義ネットワーキング（ＳＤＮ）をサポートまたは使用可能にすることも知られている。記載される方法は、当業者、例えば、ソフトウェアアーキテクト、ネットワークエンジニア、またはモデム設計者が、本開示に記載される概念を理解する能力を提供する。
【０００４】
（関連技術）
本開示はＯｐｅｎＣＬ、Ｃ、Ｃ＋＋などの高級プログラミング言語を使用して作成される変調器および／または復調器（モデム）を記述し、分散コンピューティングアーキテクチャ内のクラウドベースのＨＰＣプラットフォーム上のアプリケーションとして高級プログラミング言語を実装する方法に関する。説明される方法は、高級コンピューティング言語を使用して全ソフトウェアモデムをどのように作成することができ、すべてデジタルのコンピューティングデバイスを使用して通信波形を作成するためのクラウドベースのアーキテクチャでサポートされることができるかの説明を提供する。説明される方法は、クラウドベースの処理アーキテクチャ内で利用可能な処理リソースを使用して、ハードウェアまたは専用（目的のために構築された）モデム、またはソフトウェア定義モデム（ＳＤＭ）のあらゆる態様において、同様のまたはより高い性能を提供するために利用され得る。さらに、記載されるアプローチは、リアルタイムで波形処理を実行することができる。
【０００５】
従来技術では、衛星、戦術無線、または地上通信のための通信リンクをサポートする典型的な通信モデムは、ユーザデータインターフェースから構成され、様々な同期および非同期フォーマットおよびプロトコルを利用するデジタルストリームの形でユーザデータを受け入れる。モデムの変調器部分は、ユーザデータを受け入れ、データを伝送媒体に適した信号に変調するプロセスを実行する。ユーザデータから変調信号への変換の実際のプロセスは、個別のコンポーネント、論理デバイス、および低級プログラミング言語からなるハードウェアの目的に応じて構築された部分によって実行され、伝送媒体を介して伝送される最終波形を生成するのに必要なステップをハードウェアが達成するための指示を提供する。逆に、モデムの復調器部分は逆のプロセスを実行し、再び、すべてが、個別のコンポーネント、論理デバイス、および低級プログラミング言語からなるハードウェアの目的に応じて構築された部分によって実行され、ハードウェアが伝送媒体を介して波形を受け入れるために必要なステップを達成し、ユーザデータを返すためのステップを実行するための指示を提供する。
【０００６】
本開示は、イーサネット（登録商標）フレームとＩＰパケットの形態でユーザデータの変調を達成するために必要なステップがＣＯＴＳ処理ハードウェアを使用する全デジタルクラウドコンピューティング環境において、いかなる専用ハードウェアも必要とせずに、どのように達成され得るかを取り扱う。モデムを含む変調および復調プロセス全体は、ＳＤＮネットワークに使用されるクラウドコンピューティングファブリックを使用して、すべてソフトウェアのモデムで達成することができる。
【０００７】
（課題を解決するための手段）
本開示は、クラウドコンピューティングのリソース分散処理リソースを使用する全デジタルソフトウェアのみのモデムを提供することに関するが、これに限定されない。従来、衛星、戦術無線、または地上リンクのための通信リンクをサポートする典型的な通信モデムは、ネットワークユーザインターフェースから構成され、様々な同期および非同期プロトコルを利用するデジタルストリームの形でユーザデータを受け入れる。モデムの変調部分は、ユーザデータを受け付け、伝送媒体に適したフォーマットにデータを変調する処理を実行する。ユーザデータから変調されるストリームへの変換の実際のプロセスは、個別のコンポーネント、論理デバイス、および低級プログラミング言語からなるハードウェアの目的に合わせて構築された部分によって実行され、伝送媒体を介して伝送される最終波形を生成するのに必要なステップをハードウェアが達成するための指示を提供する。逆に、モデムの復調部分は、逆のプロセスを実行し、再び、すべてが、個別のコンポーネント、論理デバイス、および低レベルのプログラミング言語からなるハードウェアの目的に応じて構築された部分によって実行され、ハードウェアが伝送媒体を介して波形を受け入れるために必要なステップを達成し、ユーザデータをデジタルストリームに戻すためのステップを実行するための指示を提供する。
【０００８】
開示された発明は、記載された技術を使用し、今日利用可能であり、将来のために計画されたリソースを使用するクラウドコンピューティングファブリックの分散された性質を使用して、全ソフトウェアデジタルモデムの作成および操作をサポートするために、１つまたは複数の記述をもたらす。クラウドコンピューティングファブリックは、ソフトウェア定義ネットワーキングのためのリソースを提供するためにも利用される。
【０００９】
本明細書で説明される特定の実施形態は、プログラム、コンピュータプログラミング言語、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、および高性能コンピューティング（ＨＰＣ）サーバを形成するためのＣＰＵおよびＦＰＧＡの組合せを使用するが、これらに限定されない。
【００１０】
本開示の態様は、クラウドコンピューティングの分散処理リソースを使用して全ソフトウェアデジタルモデムを作成するための方法およびシステムに関する。
【図面の簡単な説明】
【００１１】
【図１】図１は、波形をサポートするために専用に構築された変調器および復調器ハードウェアを使用する従来技術を示す。
【図２】図２は、波形をサポートするために専用に構築された変調器および復調器の組み合わせ（モデム）ハードウェアを使用する従来技術を示す。
【図３】図３は、専用に構築されたハードウェアを用いて変調および復調能力をサポートするためのモデムのコンポーネントの従来技術を示す。
【図４】図４は、サーバ（プロセッサ）、ストレージ、アプリケーションなどを含むクラウドコンピューティングファブリックを示す。
【図５】図５は、ＣＰＵ／ＧＰＵおよびハードウェア加速カードを含む次世代ＨＰＣサーバ技術を示す。
【図６】図６は、すべてのモデムプロセス（ＰＲＯＣ１、ＰＲＯＣ２、およびＰＲＯＣ３）が単一のクラウドコンピューティングサーバによってサポートされている発明を示す。
【図７】図７は、すべてのモデムプロセス（ＰＲＯＣ１、ＰＲＯＣ２、およびＰＲＯＣ３）が複数のクラウドコンピューティングサーバである左下サーバ（ＰＲＯＣ１）、中央下サーバ（ＰＲＯＣ２）、および右下サーバ（ＰＲＯＣ３）によってサポートされている発明を示す。
【図８】図８は、すべてのモデムプロセス（ＰＲＯＣ１、ＰＲＯＣ２、ＰＲＯＣ３、およびＰＲＯＣｎ）が単一のクラウドコンピューティングサーバによってサポートされ、エッジ処理デバイスに渡されるクラウドコンピューティング環境で生成される変調信号のデジタルストリームを変換するためにエッジデバイスに渡される発明を示す。
【図９】図９は、すべてのモデムプロセス（ＰＲＯＣ１、ＰＲＯＣ２、およびＰＲＯＣ３）が複数のクラウドコンピューティングサーバである左下サーバ（ＰＲＯＣ１）、中央下サーバ（ＰＲＯＣ２）、および右下サーバ（ＰＲＯＣ３）によってサポートされ、いくつかのアプリケーション／プロセスがＰＲＯＣ４およびＰＲＯＣ５のための他のサーバ上でサポートされ、媒体を介する伝送のためにクラウドコンピューティング環境内で作成される変調信号のデジタルストリームを変換するためのエッジデバイスに渡される発明を示す。
【図１０】図１０は、クラウド全体に分散された複数のサーバ上に存在する各プロセス間のフローを有する複数のクラウドコンピューティングサーバによってサポートされているすべてのモデムプロセス（フォワードリターンパスのためのＰＲＯＣ１〜ＰＲＯＣ５）を有する説明された発明を示す。
【図１１】図１１は、すべてのモデムプロセス（フォワードパス用のＰＲＯＣ１〜ＰＲＯＣ５およびリターンパス用のＰＲＯＣＡ〜ＰＲＯＣＣ）がクラウド全体に分散された複数のサーバ上に存在する各プロセス間のフローを有する複数のクラウドコンピューティングサーバによってサポートされている発明を示す。
【発明を実施するための形態】
【００１２】
本開示、その態様、および実施形態は、本明細書で開示される特定の処理技法、コンポーネント、変調フォーマット、周波数例、または方法に限定されない。変調器および復調器（モデム）による波形の生成および操作と一致する当技術分野で知られている多くの追加のコンポーネントおよび組立手順は、本開示からの特定の実施形態で使用されている。したがって、例えば、特定の実施形態が開示されているが、そのような実施形態および実装コンポーネントは、意図された動作と一致する、そのようなシステムおよび実装コンポーネントについて当技術分野で知られている任意のコンポーネント、モデル、バージョン、数量などを備えることができる。
【００１３】
通信システムのためのクラウドコンピューティングリソースを使用するアプリケーションとしての全ソフトウェアデジタルモデムの特定の実施形態が説明される。しかし、本開示から当業者には明らかなように、本明細書に開示された原理および態様は、過度の実験を行うことなく、衛星、戦術無線、および地上波伝送などの、中間周波数（ＩＦ）、無線周波数（ＲＦ）、および光通信システムのための伝送媒体を介して搬送される波形を生成するためのモデムとして以下で知られる任意の変調、復調、および変調／復調デバイスに容易に適用することができる。
【００１４】
図１は、送信局が送信変調器を含み、受信機が受信復調器を含む（送信局から受信局への）フォワードパスを有する通信伝送システムの特定の実施の従来技術を示す。従来技術のモデムは、専用のデバイスであり、典型的には送信し変調器と呼ばれる専用の「ボックス」である。変調器は、無線周波数（ＲＦ）に変換されない中間周波数（ＩＦ）を出力するか、または無線周波数として変調器から直接出力され、場合によっては電力増幅され、自由空間を介して空中または衛星中継器に送信される。受信局では、従来技術の受信モデムは、専用のデバイスであり、典型的には受信し復調器と呼ばれる専用の「ボックス」である。復調器は、無線周波数（ＲＦ）からダウンコンバートされ得る中間周波数（ＩＦ）か、または無線周波数信号として受信アンテナから直接入力される中間周波数（ＩＦ）のいずれかを受信する（入力する）。
【００１５】
図２は、モデムとしても知られている変調器／復調器として知られている単一のデバイス内で変調器と復調器とが組み合わされている従来技術の代替実施形態である。モデムとして、各局は、送信および受信能力、変調および復調の両方をそれぞれ提供するモデムを含み得る。各局のモデムは、全二重通信経路を提供することができる。
【００１６】
図３は、送信または変調経路と受信または復調経路の両方を備える特殊化されたハードウェアを使用する専用モデムの各コンポーネントを有する従来技術を示す。低レベルの特殊ハードウェア記述言語（ＨＤＬ）で書かれた特殊ハードウェアデバイスおよび処理モジュールとしての個々の処理モジュールが示されている。
【００１７】
図３に示す特殊ボックスの場合、ボックス（機能）の一番上の行は、多くの場合にイーサネット（フレーム）およびＩＰ(パケット）であるがこれらに限定されないユーザデータを受け入れるために必要とされる様々な段階を示す。次いで、ユーザデータは、ＨＤＬ言語を使用するＦＰＧＡである特定用途向け集積回路（ＡＳＩＣ）にバイトデータとして受け入れられ、ヘッダ情報（制御バイト、シーケンス番号、タイプ情報など）を有する適切なトランスポートフレームにフレーム化され、エラーチェックが追加される。次の段階は、データが遠端でのデータ回復のために順方向エラー訂正（ＦＥＣ）情報で符号化されることである。多くの実施態様では、この機能は、専用ハードウェアデバイスまたはＡＳＩＣである。次の段階では、データがＨＤＬ言語を使用するＡＳＩＣまたはＦＰＧＡの様なファームウェア機能によって、パラレルフォーマットからシリアルフォーマットに取り出される。次のセクションは、シリアルデータストリームを受け入れ、次に、変調されたデータとして波形群を生成するために、シンボルへのビットのマッピングを実行する。次に、変調されたデータは、ＨＤＬ言語を使用してＡＳＩＣまたはＦＰＧＡで実施されるデジタルフィルタでフィルタリング（パルス整形）される。特殊化された変調器またはモデムの変調器セクションでは、出力は、次に、デジタル／アナログ変換器（ＤＡＣ）に、または、イーサネット（フレーム）およびＩＰ(パケット）を介して処理の別の段階へのデジタル出力ストリームに流れる。プロセス全体は、最終波形が生成される前に、ＨＤＬ言語を使用するＡＳＩＣ、ＦＰＧＡ、個別のコンポーネントなどの複数の技術の間を通過しなければならない。引き続き図３を参照すると、受信（復調）チェーンは、送信（変調）チェーンとして逆の機能を実行する。第１に、アナログデジタル変換器（ＡＤＣ）は、入力アナログ波形を受け入れ、信号をデジタル化するか、または信号がイーサネット（フレーム）およびＩＰ(パケット）などのデジタルストリームを介して受信されたと仮定する。右側の一番下の列の入力は、第１のステップが増幅制御を実行することであり、増幅または減衰を追加するためにハードウェアデバイスによって実行されることを示す。次のステップは、デマップされたデータビットへの入力ストリームの復調を実行することである。このステップは、ＨＤＬ言語を使用するＡＳＩＣまたはＦＰＧＡによって実行される。次のステップは、ストリームをＦＥＣデコーダに渡すことである。ＦＥＣ復号は、ハードウェア集約的な機能であり、典型的には、ＨＤＬ言語を使用してＡＳＩＣまたはＦＰＧＡによって実行される。次のステップは、エラーチェックを介してデータの完全性を検証することであり、ＡＳＩＣ、ＨＤＬ言語を使用するＦＰＧＡ、またはシステムプロセッサによって実行される。次のステップは、フレームをデフレームし、制御及びエラーチェックオーバーヘッドビットを除去し、回復されたデジタルストリームをユーザに渡すことである。
【００１８】
図３に示すように、モデムの全体構成は、システムコントローラによって制御される。システムプロセッサは、モデム全体を制御する専用のハードウェア装置である。システムコントローラ（制御プロセッサ）は、ユニット全体の健全性、状態、構成、セットアップ、エラーチェックを管理し、多くの場合、ユーザインターフェースを実行する。
【００１９】
図３は、ソフトウェア定義モデム（ＳＤＭ）またはソフトウェア定義無線（Ｓｏｆｔｗａｒｅ Ｄｅｆｉｎｅｄ Ｒａｄｉｏ）と呼ばれる新しい技法を説明するためにも使用することができる。専用モデム、ＧＮＵ無線によってサポートされるＳＤＲ技術、およびＥｔｔｕｓ Ｒｅｓｅａｒｃｈなどの会社と同様に、これらは多くのタイプの波形をサポートするために構築された専用ハードウェアボードであるが、最終的には波形処理をサポートするために専用の／目的に合わせて構築された処理ハードウェアに依存する。
【００２０】
図４は、クラウドコンピューティング環境の高レベル表現を示す。図示のように、クラウドコンピューティングまたは分散処理アーキテクチャは、すべての処理、アプリケーション、およびストレージをクラウドに移動させた。Ａｍａｚｏｎ Ｗｅｂ Ｓｅｒｖｉｃｅｓ (ＡＷＳ)、Ｍｉｃｒｏｓｏｆｔ Ａｚｕｒｅ、Ｇｏｏｇｌｅ Ｃｌｏｕｄ Ｃｏｍｐｕｔｉｎｇなどの企業は、図４に示すような大規模なインフラストラクチャを開発しており、一般にＳＤＮと呼ばれる。
【００２１】
図５は、次世代サーバ／プロセッサアーキテクチャを示す。もはや、ＣＰＵ／ＧＰＵベースのＰＣのプロセッサは、インターネットによって処理される必要があるユーザデータ／情報の処理要求に追従することができない。代わりに、クラウドコンピューティングプロバイダは、例えば、Ａｍａｚｏｎ Ｗｅｂ Ｓｅｒｖｉｃｅｓ Ｆ１アーキテクチャやＭｉｃｒｏｓｏｆｔのＡｚｕｒｅのようなサーバにハードウェア支援モジュールを追加している。ハードウェア支援を有するこれらの新しいＨＰＣアーキテクチャは、現在、ＳＤＮ環境のためのリアルタイム高速処理をサポートするためのハードウェア加速能力を提供する。これらの新しいハードウェア処理の強化により、ＯｐｅｎＣＬと呼ばれる新しいコンピューティング言語が導入された。ＯｐｅｎＣＬは、ハードウェアに依存しない高レベルの抽象化でコードを書きことを可能にするために導入されており、分散コンピューティング環境におけるサーバにおいてハードウェア加速技術を利用することができる。記載される発明は、ＯｐｅｎＣＬを使用するが、ハードウェア支援を伴うＣＰＵ／ＧＰＵの結合された処理をサポートすることができる任意の高級言語は、記載された発明によってカバーされる。
【００２２】
図６は、専用のソフトウェア、ファームウェア、ＦＰＧＡ ＨＤＬファームウェア、およびＡＳＩＣによってサポートされるすべてのプロセスがクラウドコンピューティング環境内のＨＰＣサーバによって完全にサポートされているという本発明の新規性を示す。図６のＰＲＯＣ１、ＰＲＯＣ２、およびＰＲＯＣ３に示されるプロセスは、様々なモデムプロセスの表現である。ＰＲＯＣ１、ＰＲＯＣ２、ＰＲＯＣ３、・・・ＰＲＯＣｎ（プロセスおよび／またはアプリケーション）は、ＣＰＵ(x８６）上、またはＦＰＧＡ、ＧＰＵ、またはＤＳＰなどのハードウェア加速ユニットのいずれか１つの上で実行される機能ブロックまたはアルゴリズムであり、これらが組み合わされて通信波形の実装を構成することに留意されたい。機能ブロックは、波形の性能プロファイリングに従って特定のＨＰＣリソースを対象とし、これは、専用のハードウェアに匹敵する性能を達成するためにハードウェア加速される必要があるアルゴリズムを識別する。モデムプロセス／アプリケーションを表すプロセスは、以下の通りである。
【００２３】
ユーザデータは、イーサネット（フレーム）およびＩＰ(パケット）としてクラウドコンピューティング環境内で既に利用可能であり、以下のようにモデムプロセスに向けられると仮定する。
【００２４】
ＰＲＯＣ１（アプリケーション／プロセス）は、ヘッダ情報（制御バイト、シーケンス番号、タイプ情報など）を有する適切なトランスポートフレームへのフレーミング（フレーム化）を提供し、エラーチェックが追加される。
【００２５】
ＰＲＯＣ２データは、受信機におけるビットエラー訂正のために順方向エラー訂正（ＦＥＣ）情報で符号化される。この機能は、専用ハードウェアデバイスまたはＡＳＩＣに取って代わって、高級ソフトウェア言語（すなわち、ＯｐｅｎＣＬ）およびＨＰＣアーキテクチャによって完全にサポートされる。
【００２６】
ＰＲＯＣ３では、データはパラレルフォーマットからシリアルフォーマットに変換される。これは、ＨＤＬ言語を使用するＡＳＩＣまたはＦＰＧＡによってサポートされるファームウェア機能をシリアライザとして知られる機能に置き換え、ＨＰＣアーキテクチャをターゲットとする高級ソフトウェア言語（ＯｐｅｎＣＬ）によって完全にサポートされる。
【００２７】
ＰＲＯＣｎ（ここで、ｎは多重処理アーキテクチャのｎ次プロセスである）は、次に、シリアルデータストリームを受け入れ、次に、変調されたデータとして波形群を生成するためにシンボルへのビットのマッピングを実行する。
【００２８】
ＰＲＯＣｎ＋１機能は、ＨＤＬ言語を使用してＡＳＩＣまたはＦＰＧＡで実装されるデジタルフィルタに取って代わり、高級ソフトウェア言語（ＯｐｅｎＣＬ）によって完全にサポートされ、ＨＰＣアーキテクチャによってサポートされる。
【００２９】
モデムの特殊化された変調器または変調器セクションでは、出力は、次に、デジタル／アナログ変換器（ＤＡＣ）に、またはイーサネット（フレーム）およびＩＰ(パケット）を介して処理の別の段階へのデジタル出力ストリームに流れる。図８は、代替の実施形態であり、エッジデバイスは、クラウドコンピューティングアーキテクチャのエッジに配置することができ、完全デジタルフォーマットから送信に適したアナログフォーマットに変換される会話デバイスに出る。
【００３０】
引き続き図６を参照すると、受信（復調）チェーンは、送信（変調）チェーンと逆の機能を実行する。図６では、ＰＲＯＣｎプロセスは、クラウドコンピューティング環境内で波形処理の様々な段階を提供するために任意の順序で所望される任意の機能とすることができる。前述のように、受信セクションは、クラウドコンピューティング環境内の別のソースからの以前にデジタル化された波形で動作することができる。図３に示されるように、右側の下段の入力は、増幅制御を実行するための第１のステップを示し、増幅または減衰を追加するためにハードウェア装置によって実行される。この機能は、ハードウェア装置によって提供される増幅／減衰制御を置き換え、アプリケーション／プロセスを高級ソフトウェア言語（ＯｐｅｎＣＬ）によって置き換え、ＨＰＣアーキテクチャによってサポートされる。次のステップは、デマップされたデータビットへの入力ストリームの復調を実行することである。このステップは、ＨＤＬ言語を使用するＡＳＩＣまたはＦＰＧＡによって実行され、アプリケーション／プロセス、高級ソフトウェア言語（ＯｐｅｎＣＬ）によって置き換えられ、ＨＰＣアーキテクチャによってサポートされる。次のステップは、ストリームをＦＥＣデコーダに渡すことである。ＦＥＣデコーディングは、ハードウェア集約的な機能であり、典型的には、ＨＤＬ言語を使用するＡＳＩＣまたはＦＰＧＡによって実行され、アプリケーション／プロセス、高級ソフトウェア言語（ＯｐｅｎＣＬ）によって置き換えられ、ＨＰＣアーキテクチャによってサポートされる。次のステップは、エラーチェックを介してデータの完全性を検証することであり、ＨＤＬ言語を使用するＡＳＩＣ、ＦＰＧＡ、またはシステムプロセッサによって実行され、アプリケーション／プロセス、高級ソフトウェア言語（ＯｐｅｎＣＬ）によって置き換えられ、ＨＰＣアーキテクチャによってサポートされる。次のステップは、フレームをデフレームし、制御およびエラーチェックオーバーヘッドビットを除去し、デジタルストリームとしてユーザに渡すことであり、典型的には、ＨＤＬ言語またはシステムプロセッサを使用するＡＳＩＣまたはＦＰＧＡによって提供され、アプリケーション／プロセス、高級ソフトウェア言語（ＯｐｅｎＣＬ）によって置き換えられ、ＨＰＣアーキテクチャによってサポートされる。
【００３１】
図８は代替実施形態を示し、エッジデバイスアナログデジタル変換器（ＡＤＣ）は、入力アナログ波形を受け入れ、信号をデジタル化する、または、信号が、デジタル化波形をクラウドコンピューティング環境に渡す前に、イーサネット（フレーム）およびＩＰ(パケット）などのデジタルストリームを介して受信された。
【００３２】
図７は、プロセスは、同じＨＰＣアーキテクチャまたは異なるアーキテクチャ、および同じまたは異なるＣＰＵアーキテクチャを使用して、それらの物理的位置または異なる位置にある別個のプロセッサ（ハードウェアまたは仮想）によってサポートされ得る代替実施形態を示す。図９は、図７の分散処理をサポートするエッジデバイスを示す。波形の処理を示す図４、図６、図７、図８、図９、図１０、および図１１のアーキテクチャは、完全に柔軟であってもよいことに留意されたい。
【００３３】
図１０は、すべてのプロセスがクラウドコンピューティング環境全体に分散される本発明の新規性を示す。フロー１は、クラウドコンピューティングアーキテクチャを含むネットワークに入るユーザネットワークデータを表す。ユーザデータは、イーサネット（フレーム）およびＩＰ(パケット）としてカプセル化されると仮定することができる。ＰＲＯＣ１は、ヘッダ情報（制御バイト、シーケンス番号、タイプ情報など）を有する適切なトランスポートフレームへのフレーミングを提供し、エラーチェックが追加される。図１０は、タイミングプロセスを明示的に示していないが、クラウドコンピューティング環境内のサーバおよびプロセスのそれぞれの間で渡されるネットワークパケットは、すべてのパケットに対してタイムスタンプを有さなければならず、したがって、プロセスからプロセスに移動されるすべての情報の制御ヘッダは、リアルタイムプロトコル（ＲＴＰ）（これに限定されない）などのように使用され得る高解像度タイムスタンプを有することが明確に理解される。
【００３４】
フロー２は、ＰＲＯＣ１からのフォーマットされたネットワークデータをプロセスＰＲＯＣ２に送り、遠端でのデータ回復のための順方向エラー訂正（ＦＥＣ）情報を提供する。
【００３５】
フロー３は、ＰＲＯＣ２からのＦＥＣ情報を有する波形をプロセスＰＲＯＣ３に送り、そこでデータがパラレルフォーマットからシリアルフォーマットに取り出される。
【００３６】
フロー４は、ＰＲＯＣ３からのシリアルフォーマットの波形データをプロセスＰＲＯＣ４に送り、次に、波形データを受け入れ、次に、変調データとして波形群を生成するために、シンボルへのビットのマッピングを実行する。
【００３７】
フロー５は、ＰＲＯＣ４からの変調されたデータをプロセスＰＲＯＣ５に送り、次に、変調されたデータを受け入れ、次に、適切なフィルタリングおよびパルス整形を実行する。
【００３８】
フロー６は、ＰＲＯＣ５からのパルス整形波形データをエッジデバイスに送り、そこで、パルス整形波形データは、受け入れられ、ＩＦまたはＲＦ無線リンクを介して送信される。
【００３９】
プロセスＰＲＯＣ１〜ＰＲＯＣｎのそれぞれは、波形を処理する能力の表現として示されており、任意の１つの波形がどのように処理されるかを正確なシーケンスまたはプロセスを示すことを意味するものではない。多くの場合、暗号化、復号化、およびトランスポートセキュリティ（ＴＲＡＮＳＥＣ）などの追加のプロセスが、ＰＲＯＣｎプロセスとして表されるモジュールとして存在し得る。
【００４０】
好ましい実施形態では、目的または半目的に合わせて構築されたハードウェアに依存するソフトウェア定義モデム（ＳＤＭ）またはソフトウェア定義無線（ＳＤＲ）をサポートするための目的または半目的にあわせて構築されたハードウェアプラットフォームによって従来サポートされる波形作成、処理、操作などの全体を、ＯｐｅｎＣＬまたはＣ、Ｃ＋＋などのＩＳＯ Ｃ９９高級プログラミング言語で始め、ＯｐｅｎＣＬ(または同様の言語）に変換するような、これらに限定されない高級コーディング言語で実装されるクラウドコンピューティングアプリケーションによって完全に置き換えることができる。専用の変調器、復調器、またはモデムによってサポートされ得る任意のおよびすべての機能は、高級プログラミング言語として作成または表現され得、クラウドコンピューティング環境内のＨＰＣデバイス上でサポートされ得る。アーキテクチャ全体は、変調器、復調器、変調器／復調器（モデム）を形成するための波形に影響を及ぼすすべてのプロセスを伴う単一のハードウェアサーバによってサポートされる１００％デジタル波形表現としてサポートすることができ、またはサーバからサーバに渡され、プロセス（１つまたは複数）はクラウドコンピューティング環境を横断するときに波形に作用する。ＰＲＯＣ１、ＰＲＯＣ２、ＰＲＯＣ３、・・・ＰＲＯＣｎ(プロセスおよび／またはアプリケーション）は、ＣＰＵ(ｘ８６）上、またはＦＰＧＡ、ＧＰＵ、またはＤＳＰなどのハードウェア加速ユニットのいずれか１つの上で実行される機能ブロックまたはアルゴリズムであり、これらが組み合わされて通信波形の実装を構成することに留意されたい。機能ブロックは、波形の性能プロファイリングに従って特定のＨＰＣリソースを対象とし、これは、専用ハードウェアに匹敵する性能を達成するためにハードウェア加速される必要があるアルゴリズムを識別する。
【００４１】
目的に合わせて構築されたモデムまたは目的に合わせて構築されたＳＤＲボードに対する、記載された本発明の利点は、以下の通りである。
・回復力のあるアーキテクチャを提供する。パスが危険にさらされた場合、パスはクラウドコンピューティング環境で追加のリソースを介して再ルーティングされる。
・冗長な波形処理リソースを提供する。パスまたはサーバが使用できなくなった場合、クラウドコンピューティング環境で追加のリソースを介して再ルーティングされる。
・ほぼ無制限の波形処理能力を提供する。処理中の波形がサーバ上の処理の限界に達した場合、クラウドコンピューティング環境内の別のサーバまたは複数のサーバのリソースが追加される。
・一時的な運用を提供する。短期間の使用にのみ波形処理が必要とされる場合、波形は処理され、永久に破壊されるか、短期間（繰り返されるか）、または新しい位置に移動され得る。
・抽象化されたハードウェアプラットフォームを提供する。高レベル波形処理は、特定のサーバまたは製造業者の技術のハードウェアリソースに依存しない方法で実行されてもよい。
・セキュアな処理環境を提供する。詳細、複雑さ、およびリソースは外部の世界にさらされず、物理的に盗まれたり、敵意ある人物、組織、または敵にさらされたりすることはない。
【００４２】
代替の実施形態では、ＳＤＭまたはＳＤＲをサポートするための目的に合わせて構築されたデバイスまたは半目的に合わせて構築されたハードウェアプラットフォームによって従来サポートされる波形作成、処理、操作などの全体を、ＯｐｅｎＣＬ、またはＣ、Ｃ＋＋などで始め、ＯｐｅｎＣＬ(または同様の言語）および各処理機能に変換する（ただし、これらに限定されない）などの高レベルコーディング言語で実装されるクラウドコンピューティングアプリケーションで完全に置き換えることができる。専用の変調器、復調器、または復調器によってサポートすることができる任意のすべての機能は、高級プログラミング言語として作成または表現することができ、クラウドコンピューティング環境内のＨＰＣデバイス上でサポートすることができる。波形生成または波形受信の端で、エッジデバイスを使用して、アナログフォーマットへの変換およびアナログフォーマットからの変換を実行することができる。送信チェーンの場合、結果として得られる全デジタル波形は、デジタル／アナログ変換（ＤＡＣ）として知られるハードウェア装置によって、エッジデバイスによって全デジタル形式からアナログ形式に変換される。逆に、受信チェーンの場合、エッジデバイスは、アナログ信号を受信し、アナログデジタル変換器（ＡＤＣ）として知られるハードウェア装置でアナログ信号をデジタルする。変換プロセスが実行されると、プロセスおよびフロー全体は、本開示で説明されるようになる。
【００４３】
最終的なクラウドコンピューティングモジュールとエッジデバイスとの間のインターフェースは、クラウドコンピューティング環境とエッジデバイスとの間で送信されるメッセージを確実にするためのフレーミングフォーマットを必要とする。
・正しい宛先に向けられるか、または既知のエッジデバイスから受信される。
・データフローに対するＦＥＣ保護を必要とする可能性のあるエラーのない動作。
・フレーム／パケットが欠落していないまたは順序がずれていないすべてのデータの順序。
・デジタル波形Ｉ／Ｑデータを含むフレーム／パケットがあまりにも遅く到着したりオーバーフローしたりしないことを保証するために、すべてのデータのタイムスタンピングまたは既知の量の時間／遅延を考慮に入れることができる。
・暗号化されたデータフローを利用することができる。
・デジタルＩ／Ｑデータの通過を減速または高速化するためにフロー制御メカニズムを利用することができる。
【００４４】
専用のモデムまたは専用のＳＤＲボードに対する記載された本発明の利点は、以下の通りである。
・インターネットまたはクラウドエッジにアクセスできる任意の場所に置くことができるエッジデバイスを提供する。
・処理技術が向上することにつれてスケーリングするアーキテクチャを提供する。エッジデバイスは、単に変換装置であり、デジタルストリーム（Ｉ／Ｑサンプル）として符号化された波形を最終的なアナログフォーマットに、または最終的なアナログフォーマットから変換する。波形処理の複雑さは、クラウドコンピューティングファブリック内に残る。
・セキュアな処理環境を提供する。変調されたデジタルＩ／Ｑ波形データのみが、エッジデバイスへ、およびエッジデバイスから渡される必要があり、複雑さおよびリソースは外部世界にさらされず、物理的に盗まれず、または敵意ある人物、組織、または敵にさらされることができない。
【００４５】
（実施例）
以下は、全デジタルクラウドコンピューティングモデムのための最適化技術を用いた特定の実装であり、これらの方法の使用は、非限定的な例として提供される。
【実施例１】
【００４６】
ユーザは、データが端中継局に渡されることを要求する。記載された発明を使用して、イーサネットフレームおよび／またはＩＰパケットとしてネットワークを介してデータセンタに転送するために、ユーザデータをカプセル化するフローが作成される。さらに、ＩＰコア（プロセス）は、クラウドコンピューティング環境全体に分散される。完全なデジタルモデムを構成するすべてのコンポーネントが確立され、初期化され、デジタルサンプリングされたＩ／Ｑ波形データ接続が、全デジタルＩ／Ｑ機能を有する中継テレポートに確立される。必要なデータのエンドユーザは、中継リンクの終端に位置する。連続するリレー中継は、中継テレポートと端中継受信局との間の通信を可能にする。（クラウドコンピューティングＩＰコアアプリケーション／プロセスによって作成された）全ソフトウェアデジタルモデムがイネーブルされ、エンドユーザへの通信経路が確立され、データが転送される。
【実施例２】
【００４７】
実施例１に記載されたシステムの特定の実施形態では、リターンパスが遠隔中継端末から衛星を介して中継地球局に戻る通信経路のエンドユーザ中継端末から確立され、デジタルＩ／Ｑ波形ストリームが受信され、復調され、復号され、エラーチェックされ、場合によっては復号され、元のデータユーザに渡される。
【実施例３】
【００４８】
ユーザは、端の戦術無線ユーザにデータを渡すことを要求する。記載された発明を使用して、ユーザデータをカプセル化し、データセンタに移送するためのフローが作成される。さらに、ＩＰコア（アプリケーション／プロセス）は、クラウドコンピューティング環境全体に分散される。完全なデジタルモデムを構成するすべてのコンポーネントが確立され、初期化され、デジタルＩ／Ｑ波形接続が、全デジタルＩ／Ｑ波形能力を有する戦術無線基地局に対して確立される。必要なデータのエンドユーザは、戦術無線リンクの終端に位置する。サイト通信経路のラインは、基地局と端の無線ユーザとの間の通信を可能にする。（クラウドコンピューティングＩＰコアアプリケーション／プロセスによって作成された）全ソフトウェアデジタルモデムがイネーブルされ、エンドユーザへの通信経路が確立され、データが転送される。
【実施例４】
【００４９】
実施例３に記載されるシステムの特定の実施形態では、リターンパスが、遠隔戦術無線機（ハンドヘルドユーザ）から自由空間を介して戦術無線基地局に戻る通信経路のエンドユーザ戦術無線機から確立されてもよく、デジタルＩ／Ｑストリームが受信され、復調され、復号され、エラーチェックされ、場合によっては復号され、元のデータユーザに渡される。
【実施例５】
【００５０】
ユーザは、データがエンド衛星局に渡されることを要求する。記載された発明を使用して、イーサネットフレームおよび／またはＩＰパケットとしてネットワークを介してデータセンタにユーザデータをカプセル化し、転送するためにフローが作成される。さらに、ＩＰコア（アプリケーション／プロセス）は、クラウドコンピューティング環境全体に分散される。完全なデジタルモデムを構成するすべてのコンポーネントが確立され、初期化され、デジタルサンプリングされたＩ／Ｑデータ能力を介して衛星通信をサポートするエッジデバイスへのデジタルＩ／Ｑ波形データ接続が確立される。必要なデータのエンドユーザは、中継リンクの終端に位置する。連続するリレー中継局は、中継能力をサポートするエッジデバイスと端の中継受信局との間の通信を可能にする。（クラウドコンピューティングＩＰコアによって作成された）全ソフトウェアデジタルモデムが使用可能にされ、エンドユーザへの通信経路が確立され、データが転送される。
【実施例６】
【００５１】
実施例５に記載されたシステムの特定の実施形態では、リターンパスが、遠隔中継端末から衛星を介して中継能力を有するエッジデバイスに戻る通信経路のエンドユーザ衛星端末から確立されてもよく、デジタルＩ／Ｑストリームが受信され、復調され、復号され、エラーチェックされ、場合によっては復号され、元のデータユーザに渡される。
【実施例７】
【００５２】
ユーザは、端戦術無線ユーザにデータを渡すことを要求する。記載された発明を使用して、イーサネットフレームおよび／またはＩＰパケットとしてネットワークを介してデータセンタにユーザデータをカプセル化し、転送するためにフローが作成される。さらに、ＩＰコア（アプリケーション／プロセス）は、クラウドコンピューティング環境全体に分散される。完全なデジタルモデムを構成するすべてのコンポーネントが確立され、初期化され、デジタルＩ／Ｑ波形データ接続が、全デジタルサンプリングＩ／Ｑ能力を有する戦術無線をサポートするエッジデバイスに確立される。必要なデータのエンドユーザは、戦術無線リンクの終端に位置する。サイト通信経路のラインは、戦術無線能力をサポートするエッジデバイスとエンド無線ユーザとの間の通信を可能にする。（クラウドコンピューティングＩＰコアによって作成された）全ソフトウェアデジタルモデムが使用可能にされ、エンドユーザへの通信経路が確立され、データが転送される。
【実施例８】
【００５３】
実施例７に記載されるシステムの特定の実施形態では、リターンパスが、遠隔戦術無線（ハンドヘルドユーザ）から自由空間を介して戦術無線機能をサポートするエッジデバイスに戻る通信経路のエンドユーザ戦術無線から確立されてもよく、デジタルＩ／Ｑストリームが受信され、復調され、復号され、エラーチェックされ、場合によっては復号され、元のデータユーザに渡される。
【図１】
2020527921.tif 000003
【図２】
2020527921.tif 000004
【図３】
2020527921.tif 000005
【図４】
2020527921.tif 000006
【図５】
2020527921.tif 000007
【図６】
2020527921.tif 000008
【図７】
2020527921.tif 000009
【図８】
2020527921.tif 000010
【図９】
2020527921.tif 000011
【図１０】
2020527921.tif 000012
【図１１】
2020527921.tif 000013
【国際調査報告】
2020527921.tif 000014