(57)【要約】【解決手段】ＳｐａｃｅＷｉｒｅベースのネットワークで用いられる装置は、データパケットを送受信し、受信されるデータパケットに含まれるデータを処理する。受信されるデータパケットのヘッダーは、データが処理される間、バッファに格納され、格納されたヘッダーおよび処理されたデータを含む処理済データパケットが生成され、処理済データパケットが送信される。受信されるデータパケットのヘッダーは修正され得、修正されたヘッダーが処理されたデータに付加されて処理済パケットが生成される。受信されるデータパケットのヘッダーフィールドとデータフィールドとの間の境界は、予め定義されたマーカーに基づき識別され得る。データパケットが第１ポートを介して受信された場合、処理済データパケットは第１ポートを介して送信され得、または、第２ポートを介して送信され得る。第２ポートは、受信されるデータパケットのヘッダー内のアドレス情報に基づき、複数の利用可能なポートのうちから選択され得る。【選択図】図１【特許請求の範囲】
【請求項１】
ＳｐａｃｅＷｉｒｅベースのネットワークで用いられる装置であり、
データパケットを送受信する入出力モジュール（ＩＯモジュール）と、
受信されるデータパケットに含まれるデータを処理する処理モジュールと、
前記データが前記処理モジュールにより処理される間、前記受信されるデータパケットのヘッダーを格納するバッファと、
を備え、
前記装置は、格納された前記ヘッダーと処理された前記データとを含む処理済データパケットを生成し、前記処理済データパケットを送信する、装置。
【請求項２】
前記装置はさらに、前記受信されるデータパケットの前記ヘッダーを修正し、前記処理されたデータに修正された前記ヘッダーを付加して前記処理済データパケットを生成する、請求項１に記載の装置。
【請求項３】
前記ＩＯモジュールは、前記受信されるデータパケットを第１ポートを介して受信し、前記処理済データパケットを前記第１ポートを介して送信する、請求項１または２に記載の装置。
【請求項４】
前記ＩＯモジュールは、前記受信されるデータパケットを第１ポートを介して受信し、
前記装置は、前記受信されるデータパケットの前記ヘッダーに含まれるアドレス情報に基づき複数の利用可能なポートのうちから第２ポートを選択し、
前記ＩＯモジュールは、前記処理済データパケットを前記第２ポートを介して送信する、請求項１または２に記載の装置。
【請求項５】
前記受信されるデータパケットは少なくとも、ヘッダーフィールドおよびデータフィールドを含み、
前記装置は、前記データフィールドの始まりを定める予め定義されたマーカーを検索することにより前記受信されるデータパケットの前記ヘッダーフィールドと前記データフィールドとの間の境界を識別する、請求項１から４のいずれか１項に記載の装置。
【請求項６】
前記受信されるデータパケットは、複数のデータ文字から成るシーケンスを含み、前記予め定義されたマーカーは、既知の予め定められた値を有する前記シーケンス内の第１文字であり、または、
前記予め定義されたマーカーは、前記受信されるデータパケットのＮ番目のバイトであり、前記受信されるデータパケットの前記ヘッダーフィールドはＮ−１個のバイトである固定長を有する、請求項５に記載の装置。
【請求項７】
前記ＳｐａｃｅＷｉｒｅベースのネットワークは、ＳｐａｃｅＷｉｒｅ規格に準拠し、または、ＳｐａｃｅＦｉｂｒｅ若しくはＳｏＣＷｉｒｅを含むＳｐａｃｅＷｉｒｅの派生規格に準拠し、
前記装置は、前記ＳｐａｃｅＷｉｒｅベースのネットワーク内のノードとして用いられる、請求項１から６のいずれか１項に記載の装置。
【請求項８】
ＳｐａｃｅＷｉｒｅベースのネットワークであり、
請求項１から７のいずれか１項に記載の装置を有する、受信されるデータパケットに含まれるデータを処理する第１ノードと、
前記処理済データパケットを前記第１ノードから受信する第２ノードと、
前記ＳｐａｃｅＷｉｒｅベースのネットワークを通じて送信されるデータパケットを生成するデータパケット生成部と、
を備え、
前記データパケット生成部は、生成される前記データパケットのヘッダーにアドレス情報を含め、
前記アドレス情報は、前記ＳｐａｃｅＷｉｒｅベースのネットワークを通じた前記第１ノードから前記第２ノードへのルートを定める、ＳｐａｃｅＷｉｒｅベースのネットワーク。
【請求項９】
前記データパケット生成部は、前記ヘッダー内に含められる前記アドレス情報を格納するメモリを有し、
前記データパケット生成部は、前記ＳｐａｃｅＷｉｒｅベースのネットワークを通じた異なるルートを定める更新されたアドレス情報を受信し、格納された前記アドレス情報を前記更新されたアドレス情報と入れ替えて、続いて生成されるデータパケットが辿る前記ルートを変更する、請求項８に記載のＳｐａｃｅＷｉｒｅベースのネットワーク。
【請求項１０】
前記第１ノードおよび前記第２ノードのうち１つにそれぞれが結合された複数のルーターポートを有する少なくとも１つのルーターをさらに備える、請求項８または９に記載のＳｐａｃｅＷｉｒｅベースのネットワーク。
【請求項１１】
前記第２ノードはそれぞれが、前記受信されるデータパケットの前記ヘッダーを破棄する、請求項１０に記載のＳｐａｃｅＷｉｒｅベースのネットワーク。
【請求項１２】
前記ＳｐａｃｅＷｉｒｅベースのネットワークは論理アドレッシングを用い、
前記少なくとも１つのルーターは、前記データパケットの前記ヘッダーの第１アドレス文字を削除することにより、前記第１ノードのうち１つに結合された各ルーターポートを通過するデータパケットのヘッダー削除を実行する、請求項１１に記載のＳｐａｃｅＷｉｒｅベースのネットワーク。
【請求項１３】
前記ＳｐａｃｅＷｉｒｅベースのネットワークは論理アドレッシングを用い、
前記第１ノードおよび前記第２ノードのうちそれぞれは、前記受信されるデータパケットの前記ヘッダーの第１アドレス文字を削除することにより、前記受信されるデータパケットのヘッダー削除を実行する、請求項８から１０のいずれか１項に記載のＳｐａｃｅＷｉｒｅベースのネットワーク。
【請求項１４】
ＳｐａｃｅＷｉｒｅベースのネットワークで用いられる方法であり、
データパケットを受信する段階と、
受信された前記データパケットのヘッダーをバッファ内に格納する段階と、
前記受信されたデータパケットに含まれるデータを処理する段階と、
格納された前記ヘッダーと処理された前記データとを含む処理済データパケットを生成する段階と、
前記処理済データパケットを送信する段階と
を備える方法。
【請求項１５】
プロセッサ上で実行されると前記プロセッサに、請求項１４に記載の方法を実施させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、ＳｐａｃｅＷｉｒｅベースのネットワークで用いられる装置および方法に関する。特に本願発明は、受信されるデータパケットからのデータが処理される間、当該データパケットのヘッダーを格納すること、並びに、格納されたヘッダーおよび処理されたデータを含む処理済データパケットを生成することに関する。
【背景技術】
【０００２】
高レベルの機能性を提供すべく、典型的には現代の宇宙船は、多数の独立したコンポーネントを搭載している。例えば、宇宙船は、センサー、大容量メモリ、処理モジュール、およびテレメトリーサブシステムを複数含み得る。コンポーネント間のデータ交換が可能であるよう、これらは搭載されたネットワークを介して互いに接続されている。ここで宇宙船という用語は、例えば通信衛星などの商業衛星または科学衛星など何らかの宇宙ベースの装置、および、惑星間探査機など有人宇宙船または無人宇宙船を含み得る。
【０００３】
宇宙船に搭載されたネットワークで広く用いられている規格は、ＥＣＳＳ−Ｅ５０−１２Ａ規格に定められるＳｐａｃｅＷｉｒｅである。オリジナルの規格はその後、例えばＥＣＳＳ−Ｅ−ＳＴ−５０−１２Ｃ規格において改訂されている。ＳｐａｃｅＷｉｒｅから派生した他の規格も開発されている。例えば、ＳｐａｃｅＦｉｂｒｅ規格はＳｐａｃｅＷｉｒｅに基づいているが、より速いデータ速度をサポートするべく光ファイバーおよび銅ケーブルによる接続を用いる。ＳｐａｃｅＦｉｂｒｅネットワークにおいて、１つの物理リンクがいくつかの仮想通信チャネルを確立する。ＳｐａｃｅＷｉｒｅのさらに他の変形例は、システムオンチップ（ＳｏＣ）内のコンポーネントのネットワーク接続のために設計されたＳｏＣＷｉｒｅである。しかし、ＳｐａｃｅＦｉｂｒｅ、ＳｏＣＷｉｒｅ、およびＳｐａｃｅＷｉｒｅの他の派生規格に基づくネットワークは、ＳｐａｃｅＷｉｒｅのために定められたプロトコルおよびルーティングメカニズムに依然として準拠しているので、一般的にＳｐａｃｅＷｉｒｅベースのネットワークと呼ばれ得る。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＳｐａｃｅＷｉｒｅネットワークまたはＳｐａｃｅＦｉｂｒｅネットワークなどの搭載されたネットワークは、少なくとも２つのノードを備える。ノードは直接的に接続され得、または１以上のルーターを介して接続され得る。データパケットを宛先へ送信するノードは、当該ノードに予めプログラミングされたルーティング情報を用いて送信を行う。この情報により、データは発信元から宛先へ到達することが出来る。何らかのやり方によりデータパケットの宛先を変更するには、発信元においてルーティング情報を修正する、または再度プログラミングする必要がある。例えば、ノードがパケットを受信した後、転送する必要がある場合、当該ノードは予めローカルに定められた宛先を用いて転送を行う。よって、データパケットがネットワークを通じて辿るパスを変更するには各送信ノードは、個別に再度プログラミングされなければならない。
【課題を解決するための手段】
【０００５】
本願発明は、ＳｐａｃｅＷｉｒｅベースのネットワークで用いられる装置であり、データパケットを送受信する入出力モジュール（ＩＯモジュール）と、受信されるデータパケットに含まれるデータを処理する処理モジュールと、データが処理モジュールにより処理される間、受信されるデータパケットのヘッダーを格納するバッファと、を備え、装置は、格納されたヘッダーと処理されたデータとを含む処理済データパケットを生成し、処理済データパケットを送信する、装置を提供する。
【０００６】
装置はさらに、受信されるデータパケットのヘッダーを修正し、処理されたデータに修正されたヘッダーを付加して処理済データパケットを生成し得る。
【０００７】
ＩＯモジュールは、受信されるデータパケットを第１ポートを介して受信し、処理済データパケットを第１ポートを介して送信し得る。
【０００８】
ＩＯモジュールは、受信されるデータパケットを第１ポートを介して受信し得、装置は、受信されるデータパケットのヘッダーに含まれるアドレス情報に基づき複数の利用可能なポートのうちから第２ポートを選択し得、ＩＯモジュールは、処理済データパケットを第２ポートを介して送信し得る。
【０００９】
受信されるデータパケットは少なくとも、ヘッダーフィールドおよびデータフィールドを含み得、装置は、データフィールドの始まりを定める予め定義されたマーカーを検索することにより、受信されるデータパケットのヘッダーフィールドとデータフィールドとの間の境界を識別し得る。
【００１０】
受信されるデータパケットは、複数のデータ文字から成るシーケンスを含み、予め定義されたマーカーは、既知の予め定められた値を有するシーケンス内の第１文字であり得、または、予め定義されたマーカーは、受信されるデータパケットのＮ番目のバイトであり得、受信されるデータパケットのヘッダーフィールドはＮ−１個のバイトである固定長を有し得る。
【００１１】
ＳｐａｃｅＷｉｒｅベースのネットワークは、ＳｐａｃｅＷｉｒｅ規格に準拠し、若しくは、ＳｐａｃｅＦｉｂｒｅまたはＳｏＣＷｉｒｅを含むＳｐａｃｅＷｉｒｅの派生規格に準拠し得、装置は、ネットワーク内のノードとして用いられ得る。
【００１２】
本願発明はさらに、ＳｐａｃｅＷｉｒｅベースのネットワークであり、少なくとも１つのノードが上記の装置を有する複数のノードと、ＳｐａｃｅＷｉｒｅベースのネットワークを通じて送信されるデータパケットを生成するデータパケット生成部と、を備え、データパケット生成部は生成されるデータパケットのヘッダーにアドレス情報を含め、アドレス情報は、ＳｐａｃｅＷｉｒｅベースのネットワークを通じた複数のノードのうち少なくとも２つを介したルートを定める、ＳｐａｃｅＷｉｒｅベースのネットワークを提供する。
【００１３】
データパケット生成部は、ヘッダー内に含められるアドレス情報を格納するメモリを有し得、データパケット生成部は、ＳｐａｃｅＷｉｒｅベースのネットワークを通じた異なるルートを定める更新されたアドレス情報を受信し、格納されたアドレス情報を更新されたアドレス情報と入れ替えて、続いて生成されるデータパケットが辿るルートを変更し得る。
【００１４】
ＳｐａｃｅＷｉｒｅベースのネットワークは、複数のノードのうち１つにそれぞれが結合された複数のルーターポートを有する少なくとも１つのルーターをさらに備え得る。
【００１５】
複数のノードは、上記装置をそれぞれが有する複数の第１のノードと、受信されるデータパケットのヘッダーをそれぞれが破棄する複数の第２のノードを有し得る。
【００１６】
ＳｐａｃｅＷｉｒｅベースのネットワークは論理アドレッシングを用い得、少なくとも１つのルーターは、データパケットのヘッダーの第１アドレス文字を削除することにより、第１ノードのうち１つに結合された各ルーターポートを通過するデータパケットのヘッダー削除を実行し得る。
【００１７】
ＳｐａｃｅＷｉｒｅベースのネットワークは論理アドレッシングを用い得、複数のノードのうちそれぞれは、データパケットのヘッダーの第１アドレス文字を削除することにより、受信されるデータパケットのヘッダー削除を実行し得る。
【００１８】
ＳｐａｃｅＷｉｒｅベースのネットワークはパスアドレッシングを用い得、少なくとも１つのルーターは、データパケットのヘッダーの第１アドレス文字を削除することによりルーターを通過するデータパケットに対してヘッダー削除を実行し得る。
【００１９】
本願発明はさらに、ＳｐａｃｅＷｉｒｅベースのネットワークで用いられる方法であり、データパケットを受信する段階と、受信されるデータパケットのヘッダーをバッファ内に格納する段階と、受信されるデータパケットに含まれるデータを処理する段階と、格納されたヘッダーと処理されたデータとを含む処理済データパケットを生成する段階と、処理済データパケットを送信する段階とを備える方法を提供する。
【００２０】
本願発明はさらに、プロセッサ上で実行されると、プロセッサに上記方法を実施させるコンピュータプログラムを格納するコンピュータ可読記憶媒体を提供する。
【図面の簡単な説明】
【００２１】
以下の図面を参照し、本願発明の実施形態をあくまで例示として説明する。
【図１】本願発明の実施形態に係るＳｐａｃｅＷｉｒｅネットワークを示す。
【図２Ａ】本願発明の実施形態に係る、ＳｐａｃｅＷｉｒｅネットワークを通るデータパケットが辿るパスを示す。
【図２Ｂ】本願発明の実施形態に係る、ＳｐａｃｅＷｉｒｅネットワークを通るデータパケットが辿るパスを示す。
【図３】本願発明の実施形態に係る、ＳｐａｃｅＷｉｒｅベースのネットワーク内のノードとして用いられる装置を示す。
【図４】本願発明の実施形態に係る、宇宙船に搭載されたＳｐａｃｅＷｉｒｅネットワークを示す。
【図５】本願発明の実施形態に係る、受信されるデータパケットをノードで処理する方法を示すフローチャートである。
【発明を実施するための形態】
【００２２】
図１は、本願発明の実施形態に係るＳｐａｃｅＷｉｒｅネットワークを示す。本実施形態において、ＳｐａｃｅＷｉｒｅネットワークは衛星に含まれ、搭載された機器により収集されたデータが処理のため複数のノードへルーティングされるようにする。処理されたデータはその後、メモリに格納される。ＳｐａｃｅＷｉｒｅネットワーク１００は、データパケット生成部１１０、処理モジュール１２０、およびメモリモジュール１３０を備える。処理モジュール１２０は、第１ノード１２１、第２ノード１２２、第３ノード１２３、第４ノード１２４、およびルーター１２５を含む。ルーター１２５は、第１ノード１２１、第２ノード１２２、第３ノード１２３、および第４ノード１２４に結合されており、また、データパケット生成部１１０およびメモリモジュール１３０にも結合されている。
【００２３】
図１においては第１ノード１２１、第２ノード１２２、第３ノード１２３、第４ノード１２４、およびルーター１２５は、例えばフィールドプログラマブルゲートアレイ（ＦＰＧＡ）であり得る１つの処理モジュール１２０内で実装されているが、他の実施形態においては、ノードのうちいくつかまたは全て、およびルーターが、互いに結合された別々のユニットとして設けられ得る。加えて、図１の実施形態においては、ＳｐａｃｅＷｉｒｅネットワーク１００は４つのノードおよび１つのルーターを含むが、本願発明の他の実施形態においては、ＳｐａｃｅＷｉｒｅネットワークはいかなる数のノード、およびいかなる数のルーターを含んでもよい。
【００２４】
データパケット生成部１１０は例えば、衛星に搭載された機器からアナログ信号を受信するアナログ−デジタル変換器（ＡＤＣ）であり得る。しかしこれは一例に過ぎず、一般的には、「データパケット生成部」という用語は、ＳｐａｃｅＷｉｒｅ準拠のネットワークを通じての送信に適したフォーマットのデータパケットを生成する何らかのコンポーネントを指し得る。例えば、データパケットは、ＡＤＣ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、中央処理装置（ＣＰＵ）、電荷結合素子（ＣＣＤ）またはアンテナアレイなどの機器または検出器などにより生成され得る。
【００２５】
引き続き図１を参照すると、データパケット生成部１１０は、ＳｐａｃｅＷｉｒｅデータパケットを生成する。送信されるデータは、当該ＳｐａｃｅＷｉｒｅデータパケットのカーゴ部分に含まれる。例えば、データパケット生成部がＡＤＣである場合、送信されるデータは、アナログ信号を表すデジタル値でありうる。データパケット生成部１１０は、データパケットのためのネットワークを通じた適切なルートを決定するための手段も含みうる。ルートにより、データパケット内のデータを処理するために必要となる複数のノードのうちの選択されるノードが定まり、また、選択されたノードがデータパケットを処理すべき順番も定まる。例えば、データパケット生成部１１０が複数の機器から複数の異なるタイプのデータに関する信号を受信する場合、データパケットに含まれるデータのタイプに応じて複数の異なるルートが選択され得る。データパケット生成部１１０は、選択されたルートを定めるパケットヘッダーを構成し、データパケットをルーター１２５へ送信する。パケットヘッダーはアドレス情報を含み、当該アドレス情報は、データパケットが送信されるべき宛先を判断するために１以上のルーターおよび／またはノードにより用いられ得る。
【００２６】
ルーター１２５がデータパケットをＡＤＣ１１０から受信すると、ルーター１２５は、当該データパケットのヘッダーの第１アドレスバイトにより特定されるポートへ当該データパケットを転送する。本実施形態において、ルーター１２５は、当該データパケットの転送の前に、ヘッダーから第１アドレスバイトを削除することによりヘッダー削除も実行する。ヘッダー削除がルーターにより実行されない実施形態において、ノードがデータパケットを受信すると、当該ノードが第１アドレスバイトを削除してもよい。
【００２７】
データパケットはその後、第１アドレスバイトにより特定されるポートへ接続されたノードにより受信される。従来のＳｐａｃｅＷｉｒｅネットワークにおいて、データパケットがノードに到着する際にアドレスヘッダーが存在する場合、つまり、アドレスヘッダーが先行するルーターにより削除されていない場合、ノードは、当該データパケットからヘッダーをストリッピング（ｓｔｒｉｐ）し、カーゴ部分に含まれるデータを処理する。しかし、本実施形態において、ヘッダー情報は破棄されない。代わりにノードは、データが処理される間、バッファ内にヘッダーを格納する。ノードがデータを処理した後、ヘッダーは、処理されたデータに再度付加され、処理済データパケットが生成される。ノードはその後、元のデータパケットが受信される際に用いられたものと同じポートから当該処理済データパケットを送信する。
【００２８】
あるノードから次のノードへデータパケットが受け渡される際にヘッダー内のアドレス情報が保持されているので、複数のノードを包含するパスを定めることが出来る。
【００２９】
図２Ａおよび図２Ｂは、本願発明の実施形態に係るＳｐａｃｅＷｉｒｅネットワークを概略的に示す。本実施形態において、個々のノードを再構成することなく、当該ネットワークを通る複数の異なる処理ルートが複数の異なるデータパケットのために定められ得る。図２Ａおよび図２Ｂにおいて、点線の矢印は、データパケットがあるネットワーク接続されたデバイスから次のデバイスへ移動する順序を示す。図１のネットワークのように、図２Ａおよび図２Ｂのネットワーク２００は、データパケット生成部２１０、処理モジュール２２０、およびメモリモジュール２３０を備える。図２Ａおよび図２Ｂの処理モジュール２２０は、４つのノード２２１、２２２、２２３、２２４、およびルーター２２５を含む。ノードは、チャネルフィルタリングノード２２１、３２ポイント高速フーリエ変換（ＦＦＴ）ノード２２２、６４ポイントＦＦＴノード２２３、および２×平均化ノード２２４を含む。
【００３０】
図２Ａおよび図２Ｂに示されるように、ルーター２２５は、１〜６まで番号付けされた６つのポートを含む。各ポートは、ＳｐａｃｅＷｉｒｅリンクを介してネットワークのコンポーネントに結合されている。ポート１はデータパケット生成部に結合され、ポート２はチャネルフィルタリングノード２２１に結合され、ポート３は３２ポイントＦＦＴノード２２２に結合され、ポート４は６４ポイントＦＦＴノード２２３に結合され、ポート５は２×平均化ノード２２４に結合され、ポート６はメモリモジュール２３０に結合されている。
【００３１】
本実施形態において、ネットワークはＳｐａｃｅＷｉｒｅネットワークであるので、データパケット生成部２１０はＳｐａｃｅＷｉｒｅ規格に準拠してパケットを生成する。ネットワークが異なる規格に準拠する他の実施形態において、データパケット生成部は、用いられる特定の規格に適したフォーマットのデータパケットを生成し得る。ＳｐａｃｅＷｉｒｅデータパケットは、次に示されるようにヘッダーフィールド、カーゴフィールド、およびエンドオブパケット（ＥＯＰ）マーカーを含む。
＜ヘッダー＞＜カーゴ＞＜ＥＯＰ＞
【００３２】
カーゴフィールドは、宛先ノードにより処理されるデータを含むので、データフィールドとも呼ばれ得る。ヘッダーフィールドは、少なくとも１つの宛先識別子を含むアドレス情報を有するヘッダーを備える。ヘッダーフィールドは、ＳｐａｃｅＷｉｒｅ規格で定められるように構成され得、または、例えば、ＳｐａｃｅＷｉｒｅの拡張規格であるＲＭＡＰプロトコルに定められるように拡張ヘッダーであり得る。ＲＭＡＰ拡張ヘッダーが用いられる場合、ノードは、格納されたヘッダーを読み出し、格納されたヘッダーを修正し、修正されたヘッダーを処理されたデータに付加して、処理済データパケットを生成する。例えばＲＭＡＰデータパケットのヘッダーは、カーゴフィールドのバイト長、つまり、送信されているデータのバイト長を含む２４ビットのデータ長のフィールドを含む。よって、送信されるデータパケットのデータ長が元々受信したパケットのデータ長と異なる場合、格納されたヘッダーは、処理済データパケットが送信される前に新たなデータ長に準拠して修正され得る。
【００３３】
本実施形態において、各宛先識別子がルーターの出力ポートの番号に対応するパスアドレッシング方式が用いられる。しかし他の実施形態においては、例えば論理アドレッシング方式など異なるアドレッシング方式が用いられ得る。論理アドレッシングが用いられる場合、各ルーターには、ネットワーク接続された各デバイスに割り当てられた論理アドレスと、当該デバイスが直接的または１以上の他のルーターを介して結合された対応する物理出力ポートとを格納するルーターテーブルが設けられる。そして宛先アドレスは、データパケットが送信されるノードの論理アドレスを含み、各ルーターは、自身のルーターテーブル内の論理アドレスをルックアップし、データパケットが送信されるべき出力ポートを判断する。
【００３４】
また論理アドレッシングが用いられる場合、ヘッダー削除はルーターのポート毎に独立して構成され得る。バイトストリッピング（ｂｙｔｅ  ｓｔｒｉｐｐｉｎｇ）とも呼ばれ得るヘッダー削除とは、データパケットが転送される前に、データパケットのヘッダーの第１アドレスバイトを削除することを指す。バイトストリッピングは従来のＳｐａｃｅＷｉｒｅノード、つまり、受信されるデータパケットのヘッダーを格納しないノードに結合されたポートにおいて実行されてもされなくてもよい。なぜなら、受信されるヘッダーはいずれにしろ破棄されるからである。しかし好ましくは、バイトストリッピングは、受信されるデータパケットのヘッダーを格納するノードに結合された各ポートにおいて実行されるべきである。このことにより、ノードが、受信されるデータパケットと同じヘッダーを用いて処理済データパケットを生成し、当該処理済データパケットをルーターへ返信する場合、処理済データパケットが直接同じノードへ返信されないようにすることが出来る。代替的に、バイトストリッピングがルーターにおいて実行されない場合、バイトストリッピングは代わりに受信ノードで実行され得る。例えば、ノードはヘッダーを格納する前に第１アドレスバイトを削除してもよく、または、受信されたままのヘッダーを格納し、その後、処理済データパケットが生成される際に、第１アドレスバイトを削除してもよい。つまり、ノードはヘッダーを格納する前に修正してもよく、または、格納されたヘッダーを処理されたデータに付加する前に修正して、処理済データパケットを生成してもよい。
【００３５】
ＳｐａｃｅＷｉｒｅ規格によると、パスアドレッシングが用いられる場合、バイトストリッピングは常に実行される。よって、パスアドレッシングを用いる本願発明の実施形態において、バイトストリッピングを受信ノードにおいて実行することは必須ではない。なぜなら、バイトストリッピングは先行するルーターにおいて既に実行されているからである。
【００３６】
データパケット生成部は、データパケットが辿るルートを決定するためのプロセッサを含み得る。プロセッサは、データパケットのヘッダーに含められる、当該ルートを定めるアドレス情報を生成し得る。プロセッサは特定の状況に応じて、あるパケットのルートと他のパケットのルートを異なるものに変更し得る。データパケット生成部は、宇宙船が打ち上げられた後にルーティングのプログラミングの更新を可能とすべく遠隔的に再プログラミングされ得る。
【００３７】
代替的に、または追加的に、データパケット生成部は、予め定められたルートを定めるアドレス情報を格納するためのメモリを含み得、格納されたアドレス情報を用いてデータパケットのヘッダーを生成し得る。データパケット生成部はさらに、更新されたアドレス情報を受信し得、格納されたアドレス情報を更新されたアドレス情報と入れ替え得る。このことによりオペレータは、データパケット生成部へ渡される更新されたアドレス情報を宇宙船へ送信することにより、データの送信宛先を遠隔的に変更することが可能となる。対称的に、従来のＳｐａｃｅＷｉｒｅネットワークにおいて、ネットワークを通る所望されるルートに沿う各ノードは、個別に再プログラミングされる必要がある。データがいくつかのノードに連続して送信される場合、各ノードは、そのシーケンスにおける次のノードへ正しくデータをルーティングすることが出来るよう個別に構成される必要がある。よって本実施形態において、処理オーバヘッドおよびネットワークトラフィックが大幅に低減され得る。なぜなら、データパケットが最初に生成される際にネットワークを通るパスが定められ得るからである。
【００３８】
図２Ａに示す例において、データパケット生成部２１０は、処理されるべくチャネルフィルタリングノード２２１および６４ポイントＦＦＴノード２２３へ送信されることになるデータパケットを生成する。処理されたデータはその後、格納されるべくメモリモジュール２３０へ送信される。チャネルフィルタリングノード２２１はルーター２２５の出力ポート２に結合されているので、＜２＞の宛先識別子が用いられ、データパケットをチャネルフィルタリングノード２２１へ送信する。同様に＜３＞の宛先識別子が用いられ、データパケットを３２ポイントＦＦＴノード２２２へ送信する。その他も同様の処理がされる。よって図２Ａにおいて、次のデータパケットがデータパケット生成部２１０により生成され、ルーター２２５へ送信される。
＜２＞＜４＞＜６＞＜データ＞＜ＥＯＰ＞
【００３９】
ルーター２２５がデータパケット生成部からデータパケットを受信すると、ルーター２２５は第１宛先識別子に基づき、データパケットがポート２から出力されるべきであると判断する。本実施形態において、従来のＳｐａｃｅＷｉｒｅネットワークの共通の特徴であるヘッダー削除をルーター２２５が実行する。したがって、ルーター２２５は、データパケットをポート２から送信する前に第１宛先識別子を削除する。よって送信されるデータパケットは次の構造を有する。
＜４＞＜６＞＜データ＞＜ＥＯＰ＞
【００４０】
チャネルフィルタリングノード２２１はルーター２２５の出力ポート２に結合されているので、このデータパケットをルーター２２５から受信する。データパケットを受信すると、チャネルフィルタリングノード２２１はデータパケットからヘッダーをストリッピングし、カーゴデータが処理される間、バッファ内にヘッダーを格納する。その後、チャネルフィルタリングノード２２１がカーゴデータを処理し終えると、ヘッダーがバッファから読み出され、処理されたデータに付加されて処理済データパケットが生成される。ヘッダーがバッファに格納されているので、処理済データパケットは受信されるデータパケットと同じヘッダーを有する。その後チャネルフィルタリングノード２２１は処理済データパケットを、データパケットが受信される際に用いられたポートを介して送信し、処理済データパケットがルーター２２５へ返信されるようにする。よってルーター２２５は次の処理済データパケットを受信する。
＜４＞＜６＞＜フィルタリングされたデータ＞＜ＥＯＰ＞
【００４１】
元のデータパケットの第１宛先識別子が削除されているので、元のデータパケットの第２宛先識別子は処理済データパケットの先頭にある。よってルーター２２５は第２宛先識別子に基づき、処理済データパケットがポート４から出力されるべきであると判断し、ポート４からデータパケットを送信する前に第２宛先識別子を削除する。送信されるデータパケットは次の構造を有する。
＜６＞＜フィルタリングされたデータ＞＜ＥＯＰ＞
【００４２】
６４ポイントＦＦＴノード２２３はルーター２２５の出力ポート４に結合されているので処理済データパケットを受信する。チャネルフィルタリングノード２２１のように、６４ポイントＦＦＴノード２２３は、受信されるデータパケットのカーゴフィールド内のデータを処理する間、受信されるデータパケットのヘッダーをバッファ内に格納する。６４ポイントＦＦＴノード２２３は、６４ポイント高速フーリエ変換をデータに対して適用することによりデータを処理する。その後、データが処理されると、６４ポイントＦＦＴノード２２３は、格納されたヘッダーを処理されたデータに付加することにより新たな処理済データパケットを生成する。新たな処理済データパケットは次の構造を有する。
＜６＞＜変換されたデータ＞＜ＥＯＰ＞
【００４３】
ルーター２２５は６４ポイントＦＦＴノード２２３から処理済データパケットを受信し、第３宛先識別子に基づき、データパケットがポート６から出力されるべきであると判断する。したがって、ルーター２２５は第３宛先識別子を削除し、次のデータパケットをポート６から出力する。
＜変換されたデータ＞＜ＥＯＰ＞
【００４４】
最後に、ルーター２２５のポート６に結合されたメモリモジュール２３０は、このデータパケットを受信し、変換されたデータを格納する。本実施形態においてはネットワーク内の最終ノードはメモリモジュールであるが、本願発明はこの特定のケースに限定されない。例えば他の実施形態において、データパケットはさらにはテレメトリーモジュールに送信され他の宇宙船または地球へ送信されてもよく、若しくは、例えば受信されたデータに基づき宇宙船の針路を変更するべく、データに基づいて動作する搭載されたコンピュータへ送信されてもよい。
【００４５】
図２Ｂに示される例において、データパケット生成部２１０は図２Ａとは異なるパスに沿って送信されるデータパケットを生成する。図２Ｂにおいて、データパケットは、チャネルフィルタリングノード２２１、３２ポイントＦＦＴノード２２２、２×平均化ノード２２４、およびメモリモジュール２３０へ、この順番で送信される。チャネルフィルタリングノード２２１、３２ポイントＦＦＴノード２２２、２×平均化ノード２２４、およびメモリモジュール２３０はそれぞれ、ポート２、３、５、６に結合されており、したがって、次のデータパケットがデータパケット生成部２１０により生成される。
＜２＞＜３＞＜５＞＜６＞＜データ＞＜ＥＯＰ＞
【００４６】
このヘッダーによりデータパケットは、チャネルフィルタリングノード２２１、３２ポイントＦＦＴノード２２２、２×平均化ノード２２４、およびメモリモジュール２３０へ、この順番でルーティングされることになる。ルーター２２５、およびノード２２１、２２２、２２４の具体的な動作は図２Ａを参照して上述したものと同様であるので、説明を簡潔にすべく詳細な説明はここでは省略する。
【００４７】
各ノードは受信されるデータパケットのヘッダーを格納し、格納されたヘッダーを、送信される処理済データパケットのためのヘッダーとして用いるので、処理されたデータの宛先は、ノード自体により選択されるのではなく元のデータパケットにより特定され得る。このことにより、データパケット生成部２１０は２以上のノードを通過するパスを定めるアドレス情報を含めることが可能になる。よって、データパケット生成部２１０により最初にデータパケットに含められるアドレス情報を変更することにより、データパケットは、搭載されたネットワーク２００を通る異なるパスを辿るようにさせられ得る。対称的に従来のネットワークにおいては、データパケット生成部はデータパケットの最初の宛先ノードのみを特定出来、処理されたデータの次の送信宛先のノードは、ノード自体により特定される必要がある。よって従来のネットワークにおいては、ネットワークを通る、データパケットが辿るパスを変更するためには、ノードを個別に再プログラミングする必要がある。
【００４８】
よって本願発明の実施形態は、宇宙船に搭載されたネットワークを通るデータのよりフレキシブル、かつ、より効率的なルーティングを可能とする。
【００４９】
図３は、本願発明の実施形態に係る、ＳｐａｃｅＷｉｒｅ準拠のネットワーク内でノードとして用いられる装置を概略的に示す。ノード３２１は、入出力（Ｉ／Ｏ）モジュール３４０、処理モジュール３５０、およびバッファ３６０を備える。図３に示される構造は、図１、図２Ａおよび図２Ｂのいずれかのノードで用いられるのに適している。
【００５０】
Ｉ／Ｏモジュール３４０は、データパケットをネットワークへ送信し、データパケットをネットワークから受信する。本実施形態において、ノード３２１はＳｐａｃｅＷｉｒｅネットワークで用いられるように構成されているので、Ｉ／Ｏモジュール３４０は、受信されたＳｐａｃｅＷｉｒｅデータパケットをデコードし、送信されるＳｐａｃｅＷｉｒｅデータパケットを生成するＳｐａｃｅＷｉｒｅコーデックである。Ｉ／Ｏモジュール３４０が、ネットワークから、例えば図２Ａのルーター２２５からデータパケットを受信すると、Ｉ／Ｏモジュール３４０は、カーゴデータからヘッダーをストリッピングし、カーゴデータを処理モジュール３６０へ送信する。従来のＳｐａｃｅＷｉｒｅノードで行われるようにヘッダーを破棄する代わりに、処理モジュール３６０によりカーゴデータが処理される間、Ｉ／Ｏモジュール３４０は、ヘッダーをバッファ３５０へ送信し格納されるようにする。
【００５１】
装置は、カーゴフィールドの始まりを識別する予め定義されたマーカーを検索することにより、ヘッダーフィールドとカーゴフィールドとの間の境界を識別し得る。例えば、パスアドレッシングのみが用いられる本願発明の実施形態において、パスアドレッシングは最大３２ポートに限られるので、アドレスフィールドの文字は０〜３１の間の値を有する。この場合、データパケット生成部は、カーゴフィールドの始まりにおいて３１より大きな値のデータ文字を含め得、Ｉ／Ｏモジュール３４０は、最初の３１より大きなデータ文字を見つけると、ヘッダーフィールドの終わりに到達したことを判断し得る。他の実施形態において、予め定められた他の値を用い、カーゴフィールドの始まりを識別してもよい。例えば論理アドレッシングが用いられる場合、用いられる論理アドレスが３２〜２５０の値に限られるようにネットワークが構成されてもよく、２５０よりも大きな値が予め定義されたマーカーとして選択され得る。これらの値は例示に過ぎず、他の実施形態においては他の値が用いられ得る。一般的に説明すると、Ｉ／Ｏモジュール３４０は、ヘッダーフィールドの先行する文字には用いられない値である、ヘッダーフィールドとカーゴフィールドとの間の境界を示す予め定められた値を有するマーカーを検索し得る。
【００５２】
いくつかの実施形態において、ネットワークは、全てのデータパケットが「最終ノード」と呼ばれ得る同一の最終宛先ノード、例えば大容量メモリモジュールへ送信されるように構成され得る。つまり、複数の異なるデータパケットがネットワークを通る複数の異なるパスを辿り、複数の異なる処理ノードを通過するが、それら複数の異なるパスの全てが最終的には最終ノードへとつながる。そのような実施形態において、論理アドレッシングが用いられる場合、最終ノードの論理アドレスが、予め定義されたマーカーとして用いられ得る。なぜなら、当該論理アドレスは、データパケットの最終宛先を示すので、最終アドレスの論理アドレスに対応するアドレスバイトの後にはアドレスバイトが存在し得ないからである。
【００５３】
代替的に、ヘッダーフィールドの終わりとカーゴフィールドの始まりとを識別するのに特定の値を用いる代わりに、データパケット生成部は、常に一定のヘッダー長を有するデータパケットを生成してもよい。任意のデータパケットにおいて、利用可能な文字の全てがアドレス情報のために必要でない場合、残りの未使用の文字にはゼロが設定されてもよい。そのような実施形態において、ヘッダーは常に同じ長さであるため、ヘッダーフィールドとカーゴフィールドとの境界はデータパケット内の常に同じ位置にあるので、ノードは当該境界を識別出来る。この方法をヘッダー削除と併せて用いる場合、ノードは、バイトが削除される度に、正しい長さとなるようヘッダーの埋め込みを行う必要がある。代替的に、埋め込みはルーターで実施され得る。
【００５４】
処理モジュール３６０はデータに対して特定の処理タスクを実行する。当該タスクの性質はノード毎に異なり得る。例えば図２Ａにおいて、チャネルフィルタリングノード２２１は、所望されない周波数を取り除くために、受信されたデータに対してチャネルフィルタリングを実行する処理モジュールを含む。３２ポイントＦＦＴノード２２２および６４ポイントＦＦＴノード２２３はそれぞれ、３２のデータポイント、および６４のデータポイントをサンプリングすることにより高速フーリエ変換を実行する処理モジュールを含む。２×平均化ノード２２４は、２つの完全なデータフレームに亘り平均化を実行する、つまり、同じデータポイントの２つのサンプルを収集し平均値を計算する処理モジュールを含む。しかし、本願発明はこれらの特定の特徴に限定されず、他の実施形態においては、ノードは、受信されるデータに対して異なる動作を実行し得る。
【００５５】
処理モジュール３６０がデータの処理を終えると、処理モジュール３６０は処理されたデータをＩ／Ｏモジュール３４０へ送信する。Ｉ／Ｏモジュール３４０は格納されたヘッダーをバッファ３５０から読み取り、処理されたデータへヘッダーを付加して、処理済データパケットを生成する。その後、Ｉ／Ｏモジュール３４０は、最初にデータパケットを受信する際に用いられたのと同じポートを介して処理済データパケットを送信する。つまり、データパケットを送信するのに用いられ得る複数のポートをノード３２１が含み、処理されることになるデータを含むデータパケットが、複数のポートのうち第１ポートを介して受信される場合、Ｉ／Ｏモジュール３４０は、第１ポートを介して処理済データパケットを送信する。
【００５６】
一般的に説明すると、ヘッダーフィールドとデータ（つまりカーゴ）フィールドとの間の境界を識別する、格納されたヘッダーを読み取る、および処理済データパケットを生成するなどの制御機能は、ノード３２１内の様々なコンポーネントにより実行され得る。例えば本実施形態において、これらの機能はＩ／Ｏモジュール３４０により実行されるものとして説明されている。しかし、他の実施形態においては、そのような制御機能は、処理モジュール３６０により実行され得、または別個の制御モジュール（図３に示されない）により実行され得る。
【００５７】
図４は、本願発明の実施例に係る宇宙船に搭載されたＳｐａｃｅＷｉｒｅネットワークを示す。図４に示されるネットワークは例示に過ぎず、本願発明はこの特定の構成に限定されない。
【００５８】
宇宙船は、ルーター４２０に結合された複数の機器４１０を備え、ルーター４２０はさらにデータロガー４３０に結合されている。データロガー４３０は、機器４１０から受信する、未加工のデータおよび処理されたデータを格納するためのメモリである。図４に示されるように、複数の機器４１０−１〜４１０−１０のそれぞれは、ＳｐａｃｅＷｉｒｅリンクによりルーター４２０へ接続されている。ルーター４２０はさらに、ＳｐａｃｅＷｉｒｅリンクによりデータロガー４３０へ結合されている。データパケットはある機器から他の機器へ送信され得、かつ、データロガー４３０へも送信され得、データロガー４３０を介してルーティングされ得、これによりデータは、さらにルーティングされる前にデータロガー４３０にコピーされる。
【００５９】
複数の機器４１０−１〜４１０−１０のそれぞれは、ネットワーク上で送信されることになるＳｐａｃｅＷｉｒｅデータパケットを生成するためのデータパケット生成部を含み得る。よって、各機器は、自身のデータを送信すべき宛先を判断することが出来る。例えば、場合によっては、機器４１０−１〜４１０−１０のうちいくつかがデータロガー４３０を介して互いにデータを交換する必要があり得、他の場合には、データは、データロガー４３０へ直接送信されて格納され得る。データロガー４３０は、その処理モジュールが受信されるデータをデータロガー４３０の格納モジュールに格納する、図３に示されるものと同様のノードとして構成され得る。データロガー４３０がデータパケットの最終宛先ではない場合、つまり、データパケットのヘッダーが他の宛先識別子を含む場合、データロガー４３０は、当該データパケットを次の宛先へ転送するべく、格納されたヘッダーに元のデータを再度付加する。
【００６０】
図５は、本願発明の実施形態に係る、データパケットを処理する方法を示す。方法は、図３に示されるようなノードで用いられるのに適している。最初に、ステップＳ５０１において、ネットワーク上で他のデバイスから、例えば、ＳｐａｃｅＷｉｒｅリンク上でノードまたはルーターからデータパケットが受信される。そしてステップＳ５０２において、ヘッダーがデータパケットからストリッピングされ、バッファに格納される。次にステップＳ５０３において、データをフィルタリングする、ＦＦＴをデータへ適用するなど予め定められたタスクをデータに対し実行し得る処理モジュールによりデータが処理される。データが処理されると、ステップＳ５０４においてヘッダーがバッファから読み出される。そしてステップＳ５０５において、格納されたヘッダーを処理されたデータに付加することにより、処理済データパケットが生成される。特に、当該方法がＳｐａｃｅＷｉｒｅネットワークにおいて用いられ、データパケットがＳｐａｃｅＷｉｒｅデータパケットである場合、格納されたヘッダーは処理済データパケットのヘッダーフィールドに含められ、処理されたデータは処理済データパケットのカーゴフィールドに含められる。最後にステップＳ５０６において、処理済データパケットがネットワーク上で送信される。
【００６１】
ノードが同一のＩ／Ｏポートを介してデータパケットを受信し処理済データパケットを送信する本願発明の実施形態を説明したが、他の実施形態においてはこのようにしなくてもよい。例えば、ノードは複数の利用可能なＩ／Ｏポートを含み得る。そのような実施形態において、複数のポートのうちの第１ポートを介してデータパケットが受信された場合、装置は、データパケットのヘッダー内のアドレス情報に基づき、つまり、複数の利用可能なポートのうちの１つを定めるヘッダーの宛先識別子に基づき複数のポートのうち第２ポートを選択してもよい。その後、処理済データパケットは、第１ポートの代わりに第２ポートを介して送信され得る。代替的に、それでも処理済データパケットは、第１ポートがアドレス情報により特定されるポートである場合、第１ポートを介して送信され得る。そのような実施形態において、装置は、第２ポートを介して処理済データパケットを送信する前に、処理済データのヘッダーから第２ポートを定める宛先識別子を削除し得る。
【００６２】
図３に示す実施形態においては、別々のバッファモジュール、処理モジュール、およびＩ／Ｏモジュールが示されている。ここで「モジュール」という用語は、ソフトウェアモジュール、または物理的に区別されるハードウェアモジュールを指し得る。他の実施形態においては、これらのモジュールの機能は１つのモジュールに組み合わせられてもよく、若しくは、複数のモジュール間でさらに分けられてもよい。例えば、１以上のバッファモジュール、処理モジュール、およびＩ／Ｏモジュールは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）チップまたは特定用途集積回路（ＡＳＩＣ）で実装されてもよい。
【００６３】
さらに、受信されるデータパケットのヘッダーをネットワーク内のノードがキャッシュする本願発明の実施形態を説明してきた。しかし本願発明は、このように構成されたノードのみを備えるネットワークにおける利用に限定されない。いくつかの実施形態においては、図３に示されるようなノードは、受信されるデータパケットのヘッダーをキャッシュしない従来のＳｐａｃｅＷｉｒｅのタイプのノードとネットワーク内で共存し得る。つまり、本願発明の実施形態に係るＳｐａｃｅＷｉｒｅベースのネットワークは、受信されたデータパケットのヘッダーを格納する１以上のノードを備え、さらに、１以上の従来のノードを備え得る。
【００６４】
ＳｐａｃｅＷｉｒｅネットワークに関連して本願発明の実施形態を説明してきたが、本願発明はＳｐａｃｅＷｉｒｅ規格での利用に限定されない。一般的に説明すると、本願発明の実施形態は、いずれかのＳｐａｃｅＷｉｒｅベースのネットワーク、例えば、ＳｐａｃｅＷｉｒｅ規格に準拠するネットワーク、または、ＳｐａｃｅＦｉｂｒｅまたはＳｏＣＷｉｒｅを含むＳｐａｃｅＷｉｒｅの派生規格に準拠するネットワークで用いられるのに適し得る。
【００６５】
また、ノードとルーターとが互いに直接接続された実施形態を説明してきたが、他の実施形態においては、１以上の物理リンクは代わりに無線接続であり得る。
【００６６】
本願発明のいくつかの実施形態を説明してきたが、当業者であれば、以下の請求項により定められる本願発明の態様から逸脱することなく多くの変形例および修正例が可能であることを理解されよう。
【図１】
2014518484.tif 000002
【図２Ａ】
2014518484.tif 000003
【図２Ｂ】
2014518484.tif 000004
【図３】
2014518484.tif 000005
【図４】
2014518484.tif 000006
【図５】
2014518484.tif 000007
【国際調査報告】
2014518484.tif 000008
2014518484.tif 000009
2014518484.tif 000010
2014518484.tif 000011