(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024053506
(43)【公開日】2024-04-15
(54)【発明の名称】計算機チップ
(51)【国際特許分類】
H04B 5/48 20240101AFI20240408BHJP
H01F 38/14 20060101ALI20240408BHJP
【FI】
H04B5/02
H01F38/14
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022159849
(22)【出願日】2022-10-03
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ZIGBEE
2.BLUETOOTH
(71)【出願人】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(71)【出願人】
【識別番号】522485073
【氏名又は名称】株式会社Premo
(74)【代理人】
【識別番号】110002790
【氏名又は名称】One ip弁理士法人
(72)【発明者】
【氏名】入江 英嗣
(72)【発明者】
【氏名】坂井 修一
(72)【発明者】
【氏名】門本 淳一郎
(72)【発明者】
【氏名】長崎 舜
(72)【発明者】
【氏名】辻 秀典
(72)【発明者】
【氏名】宮本 淳太
【テーマコード(参考)】
5K012
【Fターム(参考)】
5K012AB03
5K012AC06
5K012AC08
5K012AC10
5K012BA07
(57)【要約】
【課題】多数のチップ間で通信を行うことができるようにする。
【解決手段】他の計算機チップとともにツリー状の論理構成を形成し、他の計算機チップのうち隣接するものとのみ通信可能な計算機チップであって、親となる計算機チップを示す情報、子となる計算機チップを示す情報、及び子孫となる計算機チップを示す情報を記憶するルーティングテーブルと、宛先の計算機チップを示す情報を含むパケットを受信するパケット受信部と、ルーティングテーブルを参照して、宛先が子孫である場合には、子に対してパケットを転送し、宛先がルーティングテーブルに登録されていない場合には、親に対してパケットを転送するパケット転送部と、を備えることを特徴とする。
【選択図】
図1
【特許請求の範囲】
【請求項1】
他の計算機チップとともにツリー状の論理構成を形成し、前記他の計算機チップのうち隣接するものとのみ通信可能な計算機チップであって、
親となる前記計算機チップを示す情報、子となる前記計算機チップを示す情報、及び子孫となる前記計算機チップを示す情報を記憶するルーティングテーブルと、
宛先の前記計算機チップを示す情報を含むパケットを受信するパケット受信部と、
前記ルーティングテーブルを参照して、前記宛先が前記子孫である場合には、前記子に対して前記パケットを転送し、前記宛先が前記ルーティングテーブルに登録されていない場合には、前記親に対して前記パケットを転送するパケット転送部と、
を備えることを特徴とする計算機チップ。
【請求項2】
請求項1に記載の計算機チップであって、
前記ルーティングテーブルは、前記子孫のそれぞれについて、前記子孫の祖先となる前記子を対応付けて記憶し、
前記パケット転送部は、前記宛先が前記子孫である場合に、前記宛先に対応する前記子に対して前記パケットを転送すること、
を特徴とする計算機チップ。
【請求項3】
請求項2に記載の計算機チップであって、
隣接する前記他の計算機チップに対して、第1の参加要求を送信する第1の参加要求送信部と、
前記他の計算機チップから前記第1の参加要求を受信する第1の参加要求受信部と、
前記第1の参加要求に応答して第1の応答を前記第1の参加要求の送信元に送信する第1の応答送信部と、
前記他の計算機チップから前記第1の応答を受信する第1の応答受信部と、
送信した前記第1の参加要求に対して送信された前記第1の応答のうちの1つを受け付け、受け付けた前記第1の応答を送信した前記他の計算機チップを示す情報を前記親として前記ルーティングテーブルに登録する親登録部と、
前記論理構成における根を宛先として設定し自身を要求元として設定した第2の参加要求を前記親に送信する第2の参加要求送信部と、
前記他の計算機チップから前記第2の参加要求を受信する第2の参加要求受信部と、
前記他の計算機チップから受信した前記第2の参加要求を前記親に転送するとともに、前記要求元を示す情報及び前記第2の参加要求の送信元を示す情報を対応付けて前記ルーティングテーブルに登録する子孫登録部と、
を備えることを特徴とする計算機チップ。
【請求項4】
請求項3に記載の計算機チップであって、
前記根では、前記第2の参加要求の前記要求元に対応する前記計算機チップのIDが生成され、前記根からは、前記第2の参加要求(Join Request)に応答して、前記IDが設定された第2の応答が返され、
前記子孫登録部は、前記ルーティングテーブルに登録された前記要求元を示す情報を、前記第2の応答に設定された前記IDに更新すること、
を特徴とする計算機チップ。
【請求項5】
請求項2に記載の計算機チップであって、
前記パケットにはさらに、送信元の前記計算機チップを示す情報、1ホップ前の前記計算機チップを示す情報、及び2ホップ前の前記計算機チップを示す情報が含まれ、
前記パケット転送部は、
前記1ホップ前の計算機チップを示す情報又は前記1ホップ前の計算機チップを示す情報に自身を示す情報が設定されていない場合に、前記1ホップ前の計算機チップを示す情報を、前記2ホップ前の計算機チップを示す情報とし、前記パケットが送信された前記計算機チップを示す情報を前記1ホップ前の計算機チップを示す情報として前記パケットを書き換えて転送すること、
を特徴とする計算機チップ。
【請求項6】
請求項1に記載の計算機チップであって、
前記論理構成が変更されたことを示す情報を受け付ける変更受付部と、
前記論理構成が変更された場合に、前記ルーティングテーブルを消去し、前記第1の参加要求送信部に前記第1の参加要求を送信させる再起動処理部と、
を備えることを特徴とする計算機チップ。
【請求項7】
請求項1に記載の計算機チップであって、
前記パケット転送部は、前記パケットに設定されている第1の前記宛先が前記子孫である場合には、前記子である前記他の計算機チップを第2の宛先として設定したフレームに前記パケットを含め、前記第1の宛先が前記ルーティングテーブルに登録されていない場合には、前記親である前記他の計算機チップを前記第2の宛先として設定した前記フレームに前記パケットを含めて、前記フレームを隣接する前記計算機チップに送信すること、
を特徴とする計算機チップ。
【請求項8】
請求項3に記載の計算機チップであって、
自身の前記計算機チップを示すIDを生成するID生成部を備え、
前記第1の参加要求送信部は、自身を示す前記IDを前記第1の参加要求に設定して送信し、
前記第1の参加要求受信部が、同一の前記IDが設定された前記第1の参加要求を複数の前記他の計算機チップから受信した場合に、前記複数の他の計算機チップの少なくともいずれかに対して、前記IDの変更要求を送信する変更要求送信部を備えること、
を特徴とする計算機チップ。
【請求項9】
請求項3に記載の計算機チップであって、
自身の前記計算機チップを示すIDを生成するID生成部を備え、
前記第2の参加要求送信部は、自身を示す前記IDを前記要求元として前記第2の参加要求に設定して送信し、
自身が前記根である場合に、前記第2の参加要求受信部が、同一の前記IDが前記要求元に設定された前記第2の参加要求を複数受信した場合に、前記第2の参加要求の前記要求元を宛先として、前記IDの変更要求を送信する変更要求送信部を備えること、
を特徴とする計算機チップ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計算機チップに関する。
【背景技術】
【0002】
特許文献1には、水平方向に集積された半導体チップが、誘導結合を利用して互いに無線通信を行う情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
多数のチップによるネットワークを構築したいというニーズがある。
【0005】
本発明はこのような背景を鑑みてなされたものであり、多数のチップ間で通信を行うことのできる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するための本発明の主たる発明は、他の計算機チップとともにツリー状の論理構成を形成し、前記他の計算機チップのうち隣接するものとのみ通信可能な計算機チップであって、親となる前記計算機チップを示す情報、子となる前記計算機チップを示す情報、及び子孫となる前記計算機チップを示す情報を記憶するルーティングテーブルと、宛先の前記計算機チップを示す情報を含むパケットを受信するパケット受信部と、前記ルーティングテーブルを参照して、前記宛先が前記子孫である場合には、前記子に対して前記パケットを転送し、前記宛先が前記ルーティングテーブルに登録されていない場合には、前記親に対して前記パケットを転送するパケット転送部と、を備えることを特徴とする。
【0007】
その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。
【発明の効果】
【0008】
本発明によれば、多数のチップ間で通信を行うことができる。
【図面の簡単な説明】
【0009】
【
図1】形状自在計算機システムの一例を説明する図である。
【
図2】ネットワークの構築の順序を説明する図である。
【
図3】ネットワーク層のパケットの構造を示す図である。
【
図4】データリンク層のフレームの構造を示す図である。
【発明を実施するための形態】
【0010】
<概要>
以下、本発明の一実施形態に係る形状自在計算機システムについて説明する。本実施形態の形状自在計算機システムは、隣接して配置された多数の計算機チップが互いに無線通信を行い、多様な形状のシステムを構成するものとして提案される。形状自在計算機システムの実現には、チップ同士の通信ネットワークの構築が必須となる。しかし、オンチップコイル間の近接場誘導結合という独自の物理層を利用するため、多数のチップが効率的に連携するためのネットワークプロトコルはまだ明らかではない。本実施形態では、形状自在計算機システムの物理層の特徴を踏まえた、スパニングツリーに基づくアドホックな無線ネットワーク構築手法を提案する。
【0011】
<はじめに>
計算機を組み込んだ小型のデバイスによって新しいタイプのインタフェースや効果的・効率的なセンシング、高性能なコンピューティングを可能にする。
【0012】
計算能力のある小型のデバイスを実現するものとして形状自在計算機システムが提案されている。形状自在計算機システムは、ワイヤレス通信で連携可能なチップの集合として構成されるコンピュータシステムである。チップ間の通信にはオンチップコイルを活用した高帯域の近接場通信が用いられ、チップ外に通信用の配線や固い基板を必要としない。チップ間の位置関係は柔軟に変化可能であり、システム全体の形状を自在に変化させえて、さまざまな形状の個所や可動部品への計算能力付与を可能とする。
【0013】
上記のように特殊な物理層を利用し、アプリケーションとしても制約がある形状自在計算機システムを効率的に動作させるには、適切なネットワークプロトコルの設計が必須である。物理層には近接場誘導結合を用いており、隣接して配置されたチップのみに対してブロードキャスト通信をおこなう。一方、一般の無線通信に用いられる放射電磁波の場合には、システムを構成するチップすべてに対してブロードキャスト通信がおこなわれる。したがって、放射電磁波の活用を前提とした既存の無線ネットワークプロトコルをそのまま適用することはできない。また、形状自在計算機システムにおいては、多様なチップが自由に組み合わさってシステムを形成する。そのため、一般にMACアドレスを持たない任意のチップ間にネットワークを構築する必要がある。
【0014】
そこで、近接場通信という形状自在計算機システムの物理層の特徴やアプリケーションとしての制約を踏まえた、スパニングツリーに基づくアドホックな無線ネットワーク構築手法を提案する。
【0015】
<先行技術>
無線通信ネットワークのプロトコルは数多く提案されている。これらのプロトコルは使用するネットワークトポロジーで大きくスター型、バス型、リング型、メッシュ型、ツリー型に分類できる。
【0016】
一般的なLAN(Local Area Network)では、ネットワークトポロジーにスター型、バス型、リング型が用いられている。これらの方式の特徴は、中心ノードが通信経路やデータ転送の制御を集中的に管理するため、通信制御が比較的単純である一方、中心ノードが停止すると接続されたすべての端末が通信不能になるリスクがある。また、ノード数を増やすとそれに比例して性能が低下するため、ノード数が多い場合の適用が難しい。上記の問題に加え、形状自在計算機システムでは、近接場誘導結合を用いており、隣接するノードとのみやり取りを行うというシステムのため、スター型、バス型、リング型ではそもそもノード数を増やすことができないという問題がありこれらの方式は
採用しない。
【0017】
ネットワークトポロジ―にメッシュを用いたものは、アドホック・メッシュネットワークと呼ばれ、代表的なルーティングプロトコルにOLSRやAODVがある。それらのプロトコルを使用した近距離無線通信規格であるZigBeeやBluetoothMeshなどが開発され、広く使用されている。メッシュ型トポロジーの特徴として、ループを生成しやすくデッドロックフリー性が保証されないことがあげられる。通信頻度が高いかつビットエラー率が少ない形状自在計算機システムの場合、デッドロックフリー性が重要となる。また、形状自在計算機システムは全体で一つのシステムとして動作をするため、制御がシンプルであることが望ましいが、メッシュ型トポロジーでは制御が複雑になるため、メッシュ型トポロジーは初期段階の実装としては、形状自在計算機システムに適していないと考えられる。
【0018】
ツリー型の無線ネットワークプロトコルでは、up*/down*ルーティングおよびそれをもとにしたアルゴリズムが用いられる例がある。ツリー型の特徴として、通信の経路がツリー上に一意に定まるため、制御が容易でデッドロックフリーが確実であるという特徴を持つ。これらの点は形状自在計算機システムのネットワーク要件と合致する。一方で、ツリー型は、経路切断などのエラーの際の回復処理が困難であるという欠点がある。この欠点に関しては、形状自在計算機システムの低いエラー率を鑑みれば初期段階の実装としては無視できると考えた。
【0019】
<形状自在計算機システム>
【0020】
==形状自在計算機システムの概要==
アクセサレータやメモリ、センサなど様々な要素を同一チップ上に集積させることで高性能化、省電力化を図るSystem-ona-Chip(SoC)は、設計・製造コストの面で様々な課題を抱えている。
【0021】
これらの課題を解決するため、単一のSoCをチップレットと呼ばれる小さなチップへと分割し、それらを緊密に組み合わせてシステムを構築する手法についての研究が進められている。
【0022】
こうしたチップレット同士を連結してシステムを構築する研究では、様々な接続手法が提案されている。中でも、水平方向の誘導結合を用いたチップ間ワイヤレスバスを用いたものとして形状自在計算機システム(
図1参照)が提案されている。このチップレット接続方式の特徴として、低コストに柔軟なチップ構成・多様な実装形状のシステムを構築可能な点があげられる。
【0023】
形状自在計算機システムでは、各チップの外周に沿って大きなオンチップコイルを形成し、コイル間の誘導結合を介して横並びにした複数のチップレット間を無線で接続する。さらにあるチップが送信したデータは隣接するすべてのチップへとブロードキャストされる。本システムの特徴として、数十Gb/s程度の高帯域で通信が可能である点、コイルの製造プロセスが簡易であり、製造コストが低い点、有線接続をなくすことでチップ同士の相対角度が変化しても結合を維持できるため自由に変形可能なシステムである点が説明されている。
【0024】
==形状自在計算機システムのネットワーク要件==
形状自在計算機システムのネットワーク要件は大きく物理層による制約と、アプリケーションによる制約の二つに分けられる。
【0025】
まず物理層での制約を説明していく。形状自在計算機システムでは誘導結合を用いた近距離無線通信を用いている。通信する際は、隣接するノードに対してブロードキャストという設計のため、衝突の可能性が考えられる。衝突検知や衝突回避を行うなど、衝突に対処することが性能向上に求められる。また、ビットエラー率は10-12以下と低く、これを活かした高性能なシステム構築のためにはデッドロックを回避することが肝要である。
【0026】
アプリケーション側での制約は、一つは、センサやメモリ、その他既存の無線通信モジュールがないチップなどさまざまなものを自由に組み合わせるという点があげられる。一般にネットワークに接続しないようなチップ、モジュールにはMACアドレスが割り当てられていない。それらすべてに対してMACアドレスを用意しようとすると、アドレスの管理や、各チップ上への不揮発メモリの搭載、各チップに対するアドレス書き込みといった困難が生じるため、システム起動時に自動的にアドレスが割り当てられることが望ましい。
【0027】
<提案手法>
【0028】
==形状自在計算機ネットワークプロトコル==
以下、形状自在計算機システムで構築される計算機チップ間のネットワークにおいて行われる通信プロトコル(形状自在計算機ネットワークプロトコル)を説明する。
【0029】
形状自在計算機ネットワークプロトコルでは、ネットワークにコーディネータとルータの二種類のノード(計算機チップ)が存在する。コーディネータは、各ノードのIDの割り当てやネットワーク参加者の管理を行う。コーディネータは、ネットワークに同時に一台のみ存在する。ルータは、コーディネータが管理するネットワークに参加し、パケットのやり取りを行う。ネットワークは、コーディネータを根としたスパニングツリーを構成し、それに従ってパケットのやり取りを行う。
【0030】
なお、ルータxにパケットを送信すると言った際は、ルータxのIDを宛先に設定したパケットを送出することを指す。
【0031】
==ネットワーク構築の流れ==
コーディネータを中心に、コーディネータに隣接するルータから順にネットワークに参加していく。
図2は、二次元タイル状でネットワーク構築を行った際のネットワークに参加する順番を示したものである。コーディネータに隣接した(
図2では「1」で示される。)ノードが最初にネットワークに参加し、それらに隣接したノード(
図2では「2」で示される。)が次にネットワークに参加していくというように、幅優先でネットワーク構築が進む。
【0032】
==ネットワーク参加の流れ==
ネットワークの構築は、ネットワークに参加していないルータがそれぞれ独立してネットワークに参加する処理を実行することにより行うことができる。
【0033】
あるルータrがネットワークに参加するときの流れを説明する。
【0034】
まず、ルータrはランダムな数字を生成しその数字を自分のIDとする。ルータは、IDを記憶しておく。ルータrは隣接するノードに対し、一つ目のネットワーク参加要求(Parent Request;以下、親要求という。)を送信する。親要求はスパニングツリー上の親を決めるためのパケットである。親要求を受信したルータは、自分がすでにネットワークに参加していたら親要求を受理し、そうでない場合は親要求を破棄する。
【0035】
親要求を受理したルータはルータrに対して応答(Parent Ack;以下、親応答という。)を返す。親応答は自分がルータrの親になることを示す。ルータrは最初に受け取った親応答を受理し、それ以外は破棄する。ルータrは受理した親応答の送信者を親とする。ルータrは親応答のパケットの送信元に設定されているIDを親のIDとして記憶する。
【0036】
次に、ルータrは二つ目の参加要求(Join Request;以下、根要求という。)をコーディネータに対して送信する。コーディネータのIDは所与であるものとする。ルータrは、ネットワーク層における根要求のパケットの宛先としてコーディネータのIDを設定するとともに、データリンク層におけるフレーム(根要求をペイロードに搭載するパケット)の宛先には親のIDを設定することができる。ルータrの親のルータは、根要求を搭載したデータリンク層のフレームの宛先に、自身の親のIDを設定して送出する。このような根要求の転送処理を経路上のルータが再帰的に行うことでコーディネータまでパケットを届けることができる。
【0037】
コーディネータは、ルータrからの根要求を受信すると、ルータrに真のIDを割り当て、ルータrに対して応答(Join Ack;以下、根応答という。)を返答する。コーディネータは根応答にルータrの真のIDを含めつつ、根応答の宛先にはルータrが設定していたIDを設定する。コーディネータからルータrまでの経路上のルータは、ルータrの根要求を転送する際に、自身のルーティングテーブルにルータrの情報(ルータrのIDと、根要求を受信した隣接するノード(すなわち、子)のIDとを対応づけた情報)を追加することができ、各ルータがこのようなルーティングテーブルを作成して用いることにより、コーディネータからルータrまでパケットを届けることができる。ルータrは、根応答を受け取ると、真のIDを把握し(自身のIDとして設定し)、ネットワークへの参加を完了する。
【0038】
==ルーティングテーブル==
ルーティングテーブルで管理する情報は、宛先ノードのIDと、そこまでの経路上にある、自身に隣接するノードのIDとの辞書的な対応関係である。ルーティングテーブルを更新するタイミングは次の通りである。
・親応答(Parent Ack)を受信したとき
・根要求(Join Request)を受信したとき
・根応答(Join Ack)を受信したとき
【0039】
親応答を受信したルータは親のIDをルーティングテーブルに加える。根要求を受信したルータは根要求を発信したノード(送信元、すなわち子孫)のIDと、一つ前のルータ(隣接するルータ、すなわち子)のIDを紐づけてルーティングテーブルに加える。こうすることで送信元へパケットを届けることができる。根応答を受信したルータは、根要求を受信したときに追加した情報に含まれる根要求の送信元のID)をコーディネータが割り当てた真のIDに更新する。
【0040】
なお、ネットワークの構成が変更になった場合、例えば、新規のノード(ルータ)が追加された場合、ノードが削除された場合、ノードの配置が変更になった場合などには、ネットワーク構成が変更されたことを示す情報を各ノードに通知し、各ノードは、この情報に応じて、ルーティングテーブルを削除し、各自が親要求を送信するようにすればよい。
【0041】
ただし、ネットワークに新規のノード(ルータ)が追加された場合には、追加された新規のルータが、上述したように親要求を送出して親応答をもらい、自身の親を決定するとともに、根要求を送信して、コーディネータまでの経路にあるルータに自身を登録してもらうようにしてもよい。これにより新規のルータをリーフノードとして追加することができる。
【0042】
==ネットワーク参加後のパケットの送受信==
ネットワーク構築時のプロセスで構成されたルーティングテーブルを用いてネットワークに参加している任意のノードに対してパケットを送信することができる。宛先が、スパニングツリー上で自身の子孫ノードである場合、根応答を受信時にルーティングテーブルに情報を追加しているため、子孫ノードに紐づく子のルータに対してパケットを送信することが可能である。一方、宛先が自身の子孫ノードでない場合、ルーティングテーブルには追加されていない。この場合、自身の親にパケットを送信すればよい。
【0043】
==ランダムIDの重複==
複数のノードがネットワークに参加するとき、ごく低確率だがランダムの数値に基づくIDが重複する可能性がある。例えば、100ノードのネットワークで、2つ以上の同じランダムIDが生成される確率は10-7以下である。
【0044】
IDが重複した場合、特殊な処理をしていなければ、コーディネータに根要求が届いたときに同一のルータからのパケットだと認識されてしまい、正常にネットワーク参加が完了しない。本手法では、重複の検出をパケットIDおよび再送回数によって検出する。送信元ID、パケットID、再送回数がすべて一致する親要求あるいは根要求があれば、重複とみなす。以下ではIDが重複した際の流れについて説明する。
【0045】
ある親の子でID が重複した場合:
重複したIDの親要求を受信したノードが、重複したIDを宛先としてIDの変更要求を送信する。
【0046】
親が別のルータどうしでIDが重複した場合:
根要求がコーディネータに届いた段階でIDの重複を検出し、重複したIDを宛先としてIDの変更要求を送信する。
【0047】
変更要求を受信したノードは、再度、自身のIDを設定した根要求をコーディネータに宛てて送信することができる。
【0048】
==ネットワーク層のパケット==
ネットワーク層のパケットの構造を
図3に示した
【0049】
source id、destination idはそれぞれ送信元ノードID、宛先ノードIDである。previous idとprevious2 idはそれぞれ1ホップ前、2ホップ前のノードIDを表し、自身がルーティングしたパケットを重複して送信してしまうのを防ぐためにある。すなわち、ノードは、受信したパケットについて、previous id又はprevious2 idに自身のIDが設定されている場合には、ループが発生しているものとしてパケットを破棄することができる。packet idとpacket numberはデータを分割して送信する際に、データを識別するための情報である。message header は、メッセージタイプを判別するためにあり、親要求を示す“parent request”、親応答を示す“parent ack”、根要求を示す“join request”、根応答を示す“join ack”、“data”がある。
【0050】
==データリンク層==
データリンク層では、隣接するノードへのパケットの送信を行う。データリンク層のフレーム構造を
図4に示した。
【0051】
衝突については、送信側で検知可能なものについては衝突検知回路をハードウェアに追加することで回避が可能であることが示されている[7]。送信側で検知が不可能なものについては受信側で確認応答を返すというフローを追加することで対処できる。これらのフロー制御によってデータリンク層でのロスレスなデータ転送が可能になる。
【0052】
データリンク層での通信の流れを以下に説明する。まず、衝突検出信号を調べ、周囲のチップがデータを送信していないことを確認し、データを送信する。ここで衝突が発生した場合は、受信側から確認応答が返ってこない。このとき、一定時間待機したのちデータを再送信する。確認応答を受信すると、データ送信が正常に完了したことになり該当プロセスを終了する。
【0053】
<おわりに>
多数のチップレットが、隣接するチップレット同士互いに無線通信を行い、全体として形状変化可能なシステムが構成されるという形状自在計算機システムでは、ネットワークプロトコルの設計が不可欠だったところ、本実施形態では、形状自在計算機システムの物理層やアプリケーション層での制約を考慮したネットワークプロトコルを実現することができる。
【0054】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【0055】
<開示事項>
なお、本開示には、以下のような構成も含まれる。
[項目1]
他の計算機チップとともにツリー状の論理構成を形成し、前記他の計算機チップのうち隣接するものとのみ通信可能な計算機チップであって、
親となる前記計算機チップを示す情報、子となる前記計算機チップを示す情報、及び子孫となる前記計算機チップを示す情報を記憶するルーティングテーブルと、
宛先の前記計算機チップを示す情報を含むパケットを受信するパケット受信部と、
前記ルーティングテーブルを参照して、前記宛先が前記子孫である場合には、前記子に対して前記パケットを転送し、前記宛先が前記ルーティングテーブルに登録されていない場合には、前記親に対して前記パケットを転送するパケット転送部と、
を備えることを特徴とする計算機チップ。
[項目2]
項目1に記載の計算機チップであって、
前記ルーティングテーブルは、前記子孫のそれぞれについて、前記子孫の祖先となる前記子を対応付けて記憶し、
前記パケット転送部は、前記宛先が前記子孫である場合に、前記宛先に対応する前記子に対して前記パケットを転送すること、
を特徴とする計算機チップ。
[項目3]
項目2に記載の計算機チップであって、
隣接する前記他の計算機チップに対して、第1の参加要求を送信する第1の参加要求送信部と、
前記他の計算機チップから前記第1の参加要求を受信する第1の参加要求受信部と、
前記第1の参加要求に応答して第1の応答を前記第1の参加要求の送信元に送信する第1の応答送信部と、
前記他の計算機チップから前記第1の応答を受信する第1の応答受信部と、
送信した前記第1の参加要求に対して送信された前記第1の応答のうちの1つを受け付け、受け付けた前記第1の応答を送信した前記他の計算機チップを示す情報を前記親として前記ルーティングテーブルに登録する親登録部と、
前記論理構成における根を宛先として設定し自身を要求元として設定した第2の参加要求を前記親に送信する第2の参加要求送信部と、
前記他の計算機チップから前記第2の参加要求を受信する第2の参加要求受信部と、
前記他の計算機チップから受信した前記第2の参加要求を前記親に転送するとともに、前記要求元を示す情報及び前記第2の参加要求の送信元を示す情報を対応付けて前記ルーティングテーブルに登録する子孫登録部と、
を備えることを特徴とする計算機チップ。
[項目4]
項目3に記載の計算機チップであって、
前記根では、前記第2の参加要求の前記要求元に対応する前記計算機チップのIDが生成され、前記根からは、前記第2の参加要求(Join Request)に応答して、前記IDが設定された第2の応答が返され、
前記子孫登録部は、前記ルーティングテーブルに登録された前記要求元を示す情報を、前記第2の応答に設定された前記IDに更新すること、
を特徴とする計算機チップ。
[項目5]
項目2に記載の計算機チップであって、
前記パケットにはさらに、送信元の前記計算機チップを示す情報、1ホップ前の前記計算機チップを示す情報、及び2ホップ前の前記計算機チップを示す情報が含まれ、
前記パケット転送部は、
前記1ホップ前の計算機チップを示す情報又は前記1ホップ前の計算機チップを示す情報に自身を示す情報が設定されていない場合に、前記1ホップ前の計算機チップを示す情報を、前記2ホップ前の計算機チップを示す情報とし、前記パケットが送信された前記計算機チップを示す情報を前記1ホップ前の計算機チップを示す情報として前記パケットを書き換えて転送すること、
を特徴とする計算機チップ。
[項目6]
項目1に記載の計算機チップであって、
前記論理構成が変更されたことを示す情報を受け付ける変更受付部と、
前記論理構成が変更された場合に、前記ルーティングテーブルを消去し、前記第1の参加要求送信部に前記第1の参加要求を送信させる再起動処理部と、
を備えることを特徴とする計算機チップ。
[項目7]
項目1に記載の計算機チップであって、
前記パケット転送部は、前記パケットに設定されている第1の前記宛先が前記子孫である場合には、前記子である前記他の計算機チップを第2の宛先として設定したフレームに前記パケットを含め、前記第1の宛先が前記ルーティングテーブルに登録されていない場合には、前記親である前記他の計算機チップを前記第2の宛先として設定した前記フレームに前記パケットを含めて、前記フレームを隣接する前記計算機チップに送信すること、
を特徴とする計算機チップ。
[項目8]
項目3に記載の計算機チップであって、
自身の前記計算機チップを示すIDを生成するID生成部を備え、
前記第1の参加要求送信部は、自身を示す前記IDを前記第1の参加要求に設定して送信し、
前記第1の参加要求受信部が、同一の前記IDが設定された前記第1の参加要求を複数の前記他の計算機チップから受信した場合に、前記複数の他の計算機チップの少なくともいずれかに対して、前記IDの変更要求を送信する変更要求送信部を備えること、
を特徴とする計算機チップ。
[項目9]
項目3に記載の計算機チップであって、
自身の前記計算機チップを示すIDを生成するID生成部を備え、
前記第2の参加要求送信部は、自身を示す前記IDを前記要求元として前記第2の参加要求に設定して送信し、
自身が前記根である場合に、前記第2の参加要求受信部が、同一の前記IDが前記要求元に設定された前記第2の参加要求を複数受信した場合に、前記第2の参加要求の前記要求元を宛先として、前記IDの変更要求を送信する変更要求送信部を備えること、
を特徴とする計算機チップ。