JP4894013B2 - System and method for searching a path between nodes included in a network - Google Patents

System and method for searching a path between nodes included in a network Download PDF

Info

Publication number
JP4894013B2
JP4894013B2 JP2007312648A JP2007312648A JP4894013B2 JP 4894013 B2 JP4894013 B2 JP 4894013B2 JP 2007312648 A JP2007312648 A JP 2007312648A JP 2007312648 A JP2007312648 A JP 2007312648A JP 4894013 B2 JP4894013 B2 JP 4894013B2
Authority
JP
Japan
Prior art keywords
virtual
network
node
route
search packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007312648A
Other languages
Japanese (ja)
Other versions
JP2009141425A (en
JP2009141425A5 (en
Inventor
直明 山中
豊 荒川
拓 木原
翔 清水
康祐 斯波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Keio University
Original Assignee
Keio University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Keio University filed Critical Keio University
Priority to JP2007312648A priority Critical patent/JP4894013B2/en
Publication of JP2009141425A publication Critical patent/JP2009141425A/en
Publication of JP2009141425A5 publication Critical patent/JP2009141425A5/ja
Application granted granted Critical
Publication of JP4894013B2 publication Critical patent/JP4894013B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ネットワークにおける種々の経路探索、特に、ディスジョイントな経路の探索に関するものである。   The present invention relates to various route searches in a network, and more particularly to disjoint route searches.

インターネットの爆発的な発展と普及とに伴い、仕事および日常生活においてコンピュータネットワークが頻繁に利用されるようになっている。コンピュータネットワークではルーティングプロトコルによって交換される情報に基づいてルーティングテーブルが作成され、そのルーティングテーブルに従いパケットが配送される。代表的なルーティングプロトコルとしては、単一の自律システム(AS(Autonomous System))内で用いられるOSPF(Open Shortest Path First)、RIP(Routing Information Protocol)、SI−SI(Intermediate System to Intermediate System)がある。また、P2Pおよび無線(ワイヤレス)端末によるネットワーク(マルチホップ無線ネットワーク、アドホックネットワーク(Ad hoc network))用として提唱されているDSR(Dynamic Source Routing)プロトコルがある。さらに、異なるAS間のルーティングプロトコルであるBGP(Border Gateway Protocol)がある。
特開2007−159099号公報 特開2006−285386号公報
With the explosive development and spread of the Internet, computer networks are frequently used in work and daily life. In a computer network, a routing table is created based on information exchanged by a routing protocol, and packets are delivered according to the routing table. Typical routing protocols include OSPF (Open Shortest Path First), RIP (Routing Information Protocol), and SI-SI (Intermediate System to Intermediate System) used in a single autonomous system (AS (Autonomous System)). is there. In addition, there is a DSR (Dynamic Source Routing) protocol that has been proposed for a network (multi-hop wireless network, ad hoc network) using P2P and wireless (wireless) terminals. Furthermore, there is BGP (Border Gateway Protocol) which is a routing protocol between different ASs.
JP 2007-159099 A JP 2006-285386 A

これらのルーティングプロトコルは、基本的には、ノード(典型的にはルータ)間の情報の交換により、ソース(ソースノード)から目的ノード(宛先ノード)までのネットワークの情報(ネットワークトポロジ)を取得する機能と、取得されたネットワークの情報に基づき適当なアルゴリズムにより、ソースノードと宛先ノードとの間の適当な経路を決定する機能を備えている。たとえば、OSPFでは、ネットワーク・トポロジーのデータベースを構築し、ダイクストラ法と呼ばれる最短経路探索アルゴリズムを用いて、ルーティングテーブルが作成される。最短経路の探索には、ホップ数だけではなく、経路のコスト、帯域幅、遅延などを含めた要素(ルーティングメトリック(routing metric))も考慮することが望ましい。   These routing protocols basically obtain network information (network topology) from a source (source node) to a destination node (destination node) by exchanging information between nodes (typically routers). A function and a function of determining an appropriate route between the source node and the destination node by an appropriate algorithm based on the acquired network information are provided. For example, in OSPF, a network topology database is constructed, and a routing table is created using a shortest path search algorithm called the Dijkstra method. In searching for the shortest route, it is desirable to consider not only the number of hops but also factors including the cost, bandwidth, and delay of the route (routing metric).

インターネットに代表されるIPネットワークにおけるパケットのルーティングは、通過するルータにおいて、そのルータが保持するルーティングテーブルを参照することで行われる。ルーティングテーブルには、宛先ネットワークアドレスと対応するNHR(Next Hop Router(ネクストホップ))が記録され、各パケットの宛先アドレスと最長一致するネットワークアドレスに対応したNHRへパケットが転送される。それぞれのルータにおいて、以上の動作を繰り返すことで、宛先までパケットが転送される。   Packet routing in an IP network typified by the Internet is performed by referring to a routing table held by the router in a passing router. In the routing table, the NHR (Next Hop Router (next hop)) corresponding to the destination network address is recorded, and the packet is transferred to the NHR corresponding to the network address that is the longest match with the destination address of each packet. Each router repeats the above operation to transfer the packet to the destination.

今後、インターネットの更なる普及とともにネットワークの規模が拡大すると、経路探索処理の負担が増大すると考えられる。また、ノードの状態の変化により、新たな経路を探索する機会も増加する。典型的には、モバイルの端末がインターネットに参加することにより、ルーティングテーブルをさらに頻繁に更新することが要求される可能性がある。   In the future, as the scale of the network increases with the further spread of the Internet, it is considered that the burden of route search processing will increase. Moreover, the chance of searching for a new route increases due to a change in the state of the node. Typically, mobile terminals may be required to update the routing table more frequently as they join the Internet.

さらに、近年、光ネットワークにおいては、リンクコストとして、リンクの速度だけでなく、波長予約の成功率など複数の要因を考慮することが提案されている。また、リンクコストは、そのリンクを使用しているユーザ数、リンクを経由するデータ種類などの要因により変動するため、それらの要因の変動も考慮してルーティングテーブルが更新されることが望ましい。したがって、経路探索を行い、ルーティングテーブルを更新する頻度はさらに増大するものと考えられる。   Furthermore, in recent years, in an optical network, it has been proposed to consider not only the link speed but also a plurality of factors such as the success rate of wavelength reservation as the link cost. Further, since the link cost varies depending on factors such as the number of users using the link and the type of data passing through the link, it is desirable to update the routing table in consideration of the variation of those factors. Therefore, it is considered that the frequency of performing route search and updating the routing table further increases.

特許文献1には、複数のノードを含むアドホックネットワークにおいて、あるモバイルノードから、モバイルノードにサービスを提供することのできる複数のサービスノードへのディスジョイントなルートを発見する方法が記載されている。その方法は、モバイルノードからルート要求を送信するステップと、ネットワークのノードによりルート要求を配信するステップと、あるルート要求があるサービスノードへ到達すると、モバイルノードからサービスノードへのルート要求のトレースを含んだルート応答を返却するステップと、モバイルノードが受信したルート応答に基づいてディスジョイントなルートを決定するステップと、モバイルノードが受信したルート応答が、十分な数のディスジョイントなルートに対応していない場合に、インクリメントされたパス拡張パラメータを有する新たなルート要求を発行するステップとを含む。   Patent Document 1 describes a method of finding disjoint routes from a certain mobile node to a plurality of service nodes that can provide services to the mobile node in an ad hoc network including a plurality of nodes. The method includes the steps of transmitting a route request from a mobile node, distributing the route request by a node of the network, and tracing a route request from the mobile node to the service node when a certain route request is reached. Returning the included route response, determining the disjoint route based on the route response received by the mobile node, and the route response received by the mobile node corresponding to a sufficient number of disjoint routes. If not, issuing a new route request with an incremented path extension parameter.

あるモバイルルートから、インターネットと接続するためのサービスノード(ゲートウェイノード)へのディスジョイントな経路を発見することが記載されている。アドホックネットワークをインターネットへ接続する際に、通信の信頼性を向上するために、現在通信しているゲートウェイへのルートが切断されると、別のゲートウェイへの高速マルチホップを実行することが記載されている。そのような事態に対応するように、常に複数のルートを確保するためには、ルート探索のプロセスを頻繁に行う必要があり、ルート探索に要する処理時間も短縮する必要がある。   It is described that a disjoint route from a mobile route to a service node (gateway node) for connecting to the Internet is found. It describes that when connecting an ad hoc network to the Internet, if the route to the currently communicating gateway is disconnected, high-speed multi-hop to another gateway is performed to improve communication reliability. ing. In order to cope with such a situation, in order to always secure a plurality of routes, it is necessary to frequently perform a route search process, and it is also necessary to shorten a processing time required for the route search.

特許文献2には、複数種類のプロセッシングエレメント(PE)の機能およびそれらの接続を変えて種々のデータパスを動的に再構成するタイプの集積回路装置が記載されている。   Patent Document 2 describes an integrated circuit device of a type that dynamically reconfigures various data paths by changing the functions of a plurality of types of processing elements (PE) and their connection.

本発明の一態様は、複数のノードと、それらを接続する複数のリンクとを含むネットワークにおいて、ソースノードから、1または複数の宛先ノードへ至る経路を探索するためのシステムである。このシステムは、1または複数のルーティングプロトコルにより収集されたネットワークの情報に基づき、ネットワークに含まれる複数のノードにそれぞれ対応する複数の仮想ノードブロックと、複数のリンクにそれぞれ対応する複数の仮想リンクとを含む仮想ネットワークをプロセッサにより実現させる、仮想ネットワークを構成するユニット(仮想ネットワーク構成ユニット)を有する。 One embodiment of the present invention is a system for searching for a route from a source node to one or more destination nodes in a network including a plurality of nodes and a plurality of links connecting the nodes. The system includes a plurality of virtual node blocks respectively corresponding to a plurality of nodes included in the network, a plurality of virtual links respectively corresponding to a plurality of links, based on network information collected by one or a plurality of routing protocols. And a unit (virtual network configuration unit) that constitutes the virtual network that realizes the virtual network including the processor.

このシステムは、プロセッサが再構成ユニットを含んでいてもよい。再構成ユニットは、複数のプロセッシングエレメントと、複数のプロセッシングエレメントの接続を動的に変更可能な接続マトリクスとを含み、動的に回路を再構成可能なユニットである。仮想ネットワーク構成ユニットは、1または複数のルーティングプロトコルにより収集されたネットワークの情報に基づき、再構成ユニットに仮想ネットワークを構成する。さらに、仮想ネットワークを構成するユニットは、複数のプロセッシングエレメントにより、ネットワークに含まれる複数のノードにそれぞれ対応する複数の仮想ノードブロックを構成し、接続マトリクスにより、複数のリンクにそれぞれ対応する複数の仮想リンクを構成する。 In this system, the processor may include a reconstruction unit. The reconfiguration unit includes a plurality of processing elements and a connection matrix capable of dynamically changing the connection of the plurality of processing elements, and is a unit capable of dynamically reconfiguring a circuit. The virtual network configuration unit configures a virtual network in the reconfiguration unit based on network information collected by one or more routing protocols. Furthermore, the units constituting the virtual network include a plurality of virtual node blocks respectively corresponding to a plurality of nodes included in the network by a plurality of processing elements, and a plurality of virtual nodes respectively corresponding to a plurality of links by a connection matrix. Configure the link.

仮想ネットワークを構成するユニットは、さらに、複数の仮想ノードブロックのうち、ソースノードに対応する仮想ソースノードブロックを、仮想ソースノードブロックに繋がった全ての仮想リンクに探索パケットを送信するように構成する。仮想ネットワークを構成するユニットは、さらに、複数の仮想ノードブロックのそれぞれを、受信した探索パケットに、受信した探索パケットの通過した仮想リンクおよび/または仮想ノードブロックの情報を含む経過情報を追加し、受信した探索パケットを複製した探索パケットを、受信した探索パケットの到来した仮想リンクを除き、それぞれの仮想ノードブロックに繋がった全ての仮想リンクに送信するように構成する。   The units constituting the virtual network further configure the virtual source node block corresponding to the source node among the plurality of virtual node blocks so as to transmit search packets to all virtual links connected to the virtual source node block. . The unit constituting the virtual network further adds progress information including information on the virtual link and / or the virtual node block through which the received search packet has passed to each received search packet for each of the plurality of virtual node blocks. A search packet obtained by duplicating the received search packet is transmitted to all the virtual links connected to the respective virtual node blocks except for the virtual link where the received search packet has arrived.

当該システムは、さらに、複数の仮想ノードブロックのうち、宛先ノード(ディスティネーションノード)に対応する仮想宛先ノードブロック(仮想ディスティネーションノードブロック)に到着した複数の探索パケットの経過情報により、ソースノードから宛先ノードに至る複数の経路から所定の条件に合致する経路を選択する経路選択ユニットを有する。   The system further determines from the source node the progress information of a plurality of search packets arriving at the virtual destination node block (virtual destination node block) corresponding to the destination node (destination node) among the plurality of virtual node blocks. A route selection unit is provided that selects a route that meets a predetermined condition from a plurality of routes reaching the destination node.

仮想ネットワークを構成するユニットおよび/または経路選択ユニットは、再構成ユニットに構成される回路により実現しても良く、あるいは再構成ユニットを制御するためのRISCなどのプロセッサにより実現しても良く、再構成ユニットを含むチップとは物理的に異なる外部のプロセッサにより実現しても良い。   The units constituting the virtual network and / or the path selection unit may be realized by a circuit configured in the reconfiguration unit, or may be realized by a processor such as RISC for controlling the reconfiguration unit. You may implement | achieve by the external processor physically different from the chip | tip containing a structural unit.

このシステムにおいては、回路を動的に再構成できる再構成ユニットに、探索パケットを転送する機能を備えた仮想ネットワークを再構成する。再構成ユニットに構成される仮想ノードブロックは、探索パケットを所定の条件で複写および転送する機能を有すればよいので、それぞれの仮想ノードブロックを1つまたは少ない数のプロセッシングエレメント(PE)で実装できる。このため、適当な数のPEをハードウェア資源として備えた再構成ユニットに、経路探索の対象となるネットワーク(ターゲットネットワーク)に対応する仮想ネットワークを再構成できる。また、チップ化された再構成ユニットのハードウェア資源が不足する場合は、複数のチップを接続したり、ターゲットネットワークに対応する仮想ネットワークをマルチコンテキスト化して時分割で再構成ユニットに再構成することが可能である。   In this system, a virtual network having a function of transferring a search packet is reconfigured in a reconfiguration unit that can dynamically reconfigure a circuit. Since the virtual node block configured in the reconfiguration unit only needs to have a function of copying and transferring the search packet under a predetermined condition, each virtual node block is implemented with one or a small number of processing elements (PE). it can. For this reason, a virtual network corresponding to a network (target network) to be searched for a route can be reconfigured in a reconfiguration unit having an appropriate number of PEs as hardware resources. Also, if the hardware resources of the reconfigurable unit that is made into chips are insufficient, multiple chips can be connected, or the virtual network corresponding to the target network can be multi-contexted and reconfigured in a time-division manner into reconfigurable units Is possible.

そして、再構成ユニットには回路を動的に再構成できるので、ルーティングプロトコルにより収集されたネットワーク(オリジナルのネットワークまたはターゲットのネットワーク)の情報が更新されると、それに基づき、再構成ユニットに更新された情報に基づく仮想ネットワークを再構成できる。   And since the circuit can be dynamically reconfigured in the reconfiguration unit, when the information of the network (original network or target network) collected by the routing protocol is updated, it is updated to the reconfiguration unit based on it. Virtual network based on the information can be reconfigured.

このシステムにおいては、再構成ユニットに仮想ネットワークを再構成できる。このため、ダイクストラ法などの多くの計算時間を必要とする経路探索方法を用いずに、仮想ネットワークに探索パケットを流すことにより経路探索を実行できる。再構成ユニットに構成される仮想ネットワークにおいては、探索パケットの転送は再構成ユニットの動作速度(クロック速度)で行われる。したがって、特許文献1に示したような方法に比較し、短時間で経路を発見できる。   In this system, the virtual network can be reconfigured in the reconfiguration unit. For this reason, a route search can be executed by flowing a search packet through a virtual network without using a route search method such as the Dijkstra method that requires a lot of calculation time. In a virtual network configured in the reconfiguration unit, the search packet is transferred at the operation speed (clock speed) of the reconfiguration unit. Therefore, a route can be found in a short time compared with the method shown in Patent Document 1.

さらに、このシステムにおいては、仮想ネットワークが構成された再構成ユニット内で探索パケットを処理できる。したがって、仮想宛先ノードに受信した探索パケットにより経路を選択でき、仮想ソースノードに応答を戻す必要はない。このため、オリジナルのネットワークに探索パケットを発信した場合において発生する、他のノードからのルート応答を待つ時間を省略できる。   Further, in this system, the search packet can be processed in the reconfiguration unit in which the virtual network is configured. Therefore, the route can be selected by the search packet received by the virtual destination node, and there is no need to return a response to the virtual source node. For this reason, it is possible to omit a time for waiting for a route response from another node, which occurs when a search packet is transmitted to the original network.

経過情報は、通過した仮想リンクおよび/または仮想ノードブロックをビット位置で識別できるビットマップデータを含むことが望ましい。経路選択ユニットは、複数の経過情報のビットマップデータのビット単位の論理積を演算することにより、ソースノードから宛先ノードに至る複数の経路から、ディスジョイントな経路を選択することができる。   The progress information preferably includes bitmap data that can identify a virtual link and / or a virtual node block that has been passed by a bit position. The route selection unit can select a disjoint route from a plurality of routes from the source node to the destination node by calculating a logical product of bit data of a plurality of pieces of progress information bitmap data.

再構成ユニットの複数のプロセッシングエレメントは、遅延量を動的に設定できる複数の遅延エレメントを含むことが望ましい。仮想ネットワークを構成するユニットは、接続マトリクスと、複数の遅延エレメントとにより、複数の仮想リンクを構成することができる。それぞれの仮想リンクに含まれる遅延エレメントに、対応するリンクのコストに対応する遅延量を設定することにより、経路選択ユニットは、仮想宛先ノードブロックが受信したタイミングにより、探索パケットが通過した経路について、リンクコストも含めた情報を得ることができ、その情報を経路の選択に利用できる。   It is desirable that the plurality of processing elements of the reconstruction unit include a plurality of delay elements that can dynamically set the delay amount. A unit constituting the virtual network can form a plurality of virtual links by the connection matrix and a plurality of delay elements. By setting the delay amount corresponding to the cost of the corresponding link in the delay element included in each virtual link, the route selection unit can determine the route through which the search packet has passed according to the timing received by the virtual destination node block. Information including the link cost can be obtained, and the information can be used for route selection.

経路選択ユニットは、仮想宛先ノードブロックに到着した順番の早い複数の探索パケットの経過情報により、ソースノードから宛先ノードに至る複数の経路から所定の条件に合致する経路を選択することが好ましい。このシステムにおいては、仮想ネットワークに探索パケットを送信するので、仮想宛先ノードブロックに到着した順番(先に到着するタイミングは)、ターゲットのネットワークにおけるルートのホップ数、その他のメトリックが反映された情報である。したがって、その情報を利用して経路をフィルタリングできる。さらに、経路の選択に要する処理時間を短縮できる。   Preferably, the route selection unit selects a route that meets a predetermined condition from a plurality of routes from the source node to the destination node, based on the progress information of the plurality of search packets in the early order of arrival at the virtual destination node block. In this system, since a search packet is transmitted to the virtual network, the order in which it arrives at the virtual destination node block (when it arrives first), the number of hops of the route in the target network, and other metrics are reflected. is there. Therefore, the route can be filtered using the information. Furthermore, the processing time required for route selection can be shortened.

仮想ネットワークを構成するユニットは、それぞれの仮想ノードブロックを、それぞれの仮想ノードブロックに到着した順番の早いものから複数の探索パケットの複製のみを、受信した探索パケットの到来した仮想リンクを除き、それぞれの仮想ノードブロックに繋がった全ての仮想リンクに送信するように再構成することが望ましい。仮想宛先ノードブロックに到着する順番が早い探索パケットに絞って送信することができ、再構成ユニットにおける無用な資源の消費を防止できる。再構成ユニットにおいて、所定の数の探索パケットが通過した仮想ノードブロックを解放できるので、その仮想ノードブロックを構成しているPEを、次のネットワークにおける経路探索に用いたり、他のアプリケーションを処理するための回路に利用できる。   The units that make up the virtual network are configured so that each virtual node block is copied only from a plurality of search packets in the order of arrival in each virtual node block, except for the virtual link from which the received search packet has arrived. It is desirable to reconfigure to transmit to all virtual links connected to the virtual node block. It is possible to narrow down and transmit the search packets that arrive at the virtual destination node block earlier in order, and it is possible to prevent useless consumption of resources in the reconfiguration unit. In the reconfiguration unit, a virtual node block through which a predetermined number of search packets have passed can be released, so that the PE constituting the virtual node block is used for route search in the next network or other applications are processed. Can be used in the circuit for

また、仮想ネットワークを構成するユニットは、さらに、それぞれの仮想ノードブロックを、通過した仮想リンクおよび/または仮想ノードブロックについての同じ情報を持つ探索パケットを廃棄するように構成することが望ましい。ループした経路を辿っている探索パケットを廃棄することにより、無用な探索パケットが仮想ノードブロック間で交換される事態を防止し、処理速度を高めたり、消費電力を削減したりできる可能性がある。   Further, it is desirable that the units constituting the virtual network further configure each virtual node block to discard the search packet having the same information about the virtual link and / or the virtual node block that has passed through. By discarding search packets that follow a looped route, it is possible to prevent unnecessary search packets from being exchanged between virtual node blocks, thereby increasing processing speed and reducing power consumption. .

本発明の他の態様は、複数のノードと、それらを接続する複数のリンクとを含むネットワークにおいて、ソースノードから、1または複数の宛先ノードへ至る経路を、プロセッサを用いて探索する方法である。プロセッサは再構成ユニットを含んでいてもよい。再構成ユニットは、複数のプロセッシングエレメントと、前記複数のプロセッシングエレメントの接続を動的に変更可能な接続マトリクスとを含み、動的に回路を再構成可能である。 Another aspect of the present invention is a method for searching a path from a source node to one or more destination nodes using a processor in a network including a plurality of nodes and a plurality of links connecting the nodes. . The processor may include a reconstruction unit. The reconfiguration unit includes a plurality of processing elements and a connection matrix capable of dynamically changing the connection of the plurality of processing elements, and can dynamically reconfigure a circuit.

当該方法は、以下のステップを含む。
1.1または複数のルーティングプロトコルにより収集されたネットワークの情報に基づき、ネットワークに含まれる複数のノードにそれぞれ対応する複数の仮想ノードブロックと、複数のリンクにそれぞれ対応する複数の仮想リンクとを含む仮想ネットワークをプロセッサにより実現すること。再構成ユニットを含む場合は、複数のプロセッシングエレメントにより、ネットワークに含まれる複数のノードにそれぞれ対応する複数の仮想ノードブロックを構成し、接続マトリクスにより、複数のリンクにそれぞれ対応する複数の仮想リンクを構成し、再構成ユニットに仮想ネットワークを構成することを含む。
2.複数の仮想ノードブロックのうち、ソースノードに対応する仮想ソースノードブロックが、仮想ソースノードブロックに繋がった全ての仮想リンクに探索パケットを送信すること。
3.複数の仮想ノードブロックのそれぞれが、受信した探索パケットに、受信した探索パケットの通過した仮想リンクおよび/または仮想ノードブロックの情報を含む経過情報を追加し、受信した探索パケットを複製した探索パケットを、受信した探索パケットの到来した仮想リンクを除き、それぞれの仮想ノードブロックに繋がった全ての仮想リンクに送信すること。
4.複数の仮想ノードブロックのうち、宛先ノードに対応する仮想宛先ノードブロックに到着した複数の探索パケットの経過情報により、ソースノードから宛先ノードに至る複数の経路から所定の条件に合致する経路を選択すること。
The method includes the following steps.
Based on the information of the network collected by 1.1 or more routing protocols, including a plurality of virtual nodes blocks corresponding to the plurality of nodes included in the network, and a plurality of virtual links corresponding to a plurality of links Realizing a virtual network with a processor. In the case of including a reconfiguration unit, a plurality of virtual node blocks respectively corresponding to a plurality of nodes included in the network are configured by a plurality of processing elements, and a plurality of virtual links respectively corresponding to the plurality of links are formed by a connection matrix. Configuring and configuring a virtual network in the reconfiguration unit.
2. Of the plurality of virtual node blocks, a virtual source node block corresponding to the source node transmits a search packet to all virtual links connected to the virtual source node block.
3. Each of the plurality of virtual node blocks adds, to the received search packet, progress information including information on the virtual link and / or virtual node block through which the received search packet has passed, and a search packet in which the received search packet is duplicated To transmit to all virtual links connected to each virtual node block, except for the virtual link where the received search packet has arrived.
4). Of the plurality of virtual node blocks, a route that matches a predetermined condition is selected from the plurality of routes from the source node to the destination node based on the progress information of the plurality of search packets that have arrived at the virtual destination node block corresponding to the destination node. thing.

経過情報は、通過した仮想リンクおよび/または仮想ノードブロックをビット位置で識別できるビットマップデータを含み、経路を選択すること(ステップ4)は、複数の経過情報のビットマップデータのビット単位の論理積を演算することにより、ソースノードから宛先ノードに至る複数の経路から、ディスジョイントな経路を選択することを含む。   The progress information includes bitmap data that can identify a virtual link and / or a virtual node block that has been passed by a bit position, and selecting a path (step 4) is a bit unit logic of the bitmap data of a plurality of progress information. This includes selecting a disjoint path from a plurality of paths from the source node to the destination node by calculating the product.

複数のプロセッシングエレメントは、遅延量を動的に設定できる複数の遅延エレメントを含み、仮想ネットワークを構成すること(ステップ1)は、接続マトリクスと、複数の遅延エレメントとにより、複数の仮想リンクを構成し、それぞれの仮想リンクに含まれる遅延エレメントには、対応するリンクのコストに対応する遅延量を設定することを含む。   The plurality of processing elements include a plurality of delay elements whose delay amounts can be dynamically set, and configuring a virtual network (step 1) includes configuring a plurality of virtual links by the connection matrix and the plurality of delay elements. The delay element included in each virtual link includes setting a delay amount corresponding to the cost of the corresponding link.

経路を選択すること(ステップ4)は、仮想宛先ノードブロックに到着した順番の早いものから複数の探索パケットの前記経過情報により、ソースノードから宛先ノードに至る複数の経路から所定の条件に合致する経路を選択することを含む。   Selecting a route (step 4) matches a predetermined condition from a plurality of routes from the source node to the destination node based on the progress information of the plurality of search packets from the earliest arrival in the virtual destination node block. Including selecting a route.

それぞれの仮想ノードブロックに繋がった全ての仮想リンクに送信すること(ステップ3)は、それぞれの仮想ノードブロックが、それぞれの仮想ノードブロックに到着した順番の早いものから複数の探索パケットの複製のみを、受信した探索パケットの到来した仮想リンクを除き、それぞれの仮想ノードブロックに繋がった全ての仮想リンクに送信することを含む。   Sending to all virtual links connected to each virtual node block (step 3) means that each virtual node block only copies a plurality of search packets from the earliest in order of arrival at each virtual node block. Including transmission to all the virtual links connected to the respective virtual node blocks except for the virtual link on which the received search packet has arrived.

それぞれの仮想ノードブロックに繋がった全ての仮想リンクに送信すること(ステップ3)は、通過した仮想リンクおよび/または仮想ノードブロックについての同じ情報を持つ探索パケットを廃棄することを含む。   Sending to all virtual links connected to each virtual node block (step 3) includes discarding search packets with the same information about the virtual links and / or virtual node blocks that have passed.

図1に、経路探索を行うシステムの一例として、ルーティングテーブルを更新する機能を備えたルータの概要を示している。このルータ100は、コンピュータネットワークの一つのノードを構成するデバイスであり、CPU、メモリ、回路を再構成可能なプロセッサなどを含む適当なハードウェア資源と、それらを制御するための適当なソフトウェア資源とを備えている。ルータ100は、有線または無線を含む適当な伝送経路により隣接するルータとの間でデータを交換可能なネットワークインターフェイス101と、このネットワークインターフェイス101を介して送受信するパケットデータ(パケット)を生成および解析する解析ユニット102と、パケットのIPヘッダーの情報に基づき、パケットを送出するネクストホップルータ(ネクストホップ)を選択する機能を備えたルーティングユニット80とを含む。   FIG. 1 shows an outline of a router having a function of updating a routing table as an example of a system for performing a route search. The router 100 is a device constituting one node of the computer network, and includes appropriate hardware resources including a CPU, a memory, a processor capable of reconfiguring a circuit, and appropriate software resources for controlling them. It has. The router 100 generates and analyzes a network interface 101 capable of exchanging data with an adjacent router through an appropriate transmission path including wired or wireless, and packet data (packet) transmitted / received via the network interface 101. It includes an analysis unit 102 and a routing unit 80 having a function of selecting a next hop router (next hop) to send a packet based on information of the IP header of the packet.

ルーティングユニット80の機能は、専用のモジュール、あるいは他の機能と共用のハードウェア資源、例えば、CPUあるいは再構成可能なプロセッサとソフトウェアにより提供される。ルーティングユニット80は、ルーティングテーブル81を参照してパケットを送出するネクストホップを選択する機能82と、動的なルーティングテーブルの更新を可能とする適当なルーティングプロトコル、例えばOSPFにより、近隣のルータを含めたネットワークの情報、特に、ルーティングに関するネットワークの構成を示す情報を取得し、ルーティングテーブル81を更新する機能83とを含む。この更新する機能83は、ルーティングプロトコルにより取得したネットワークの情報を解析対象のネットワークとし、そのネットワークの構成を示すネットワーク行列89を生成する。   The functions of the routing unit 80 are provided by dedicated modules or hardware resources shared with other functions, such as a CPU or a reconfigurable processor and software. The routing unit 80 includes neighboring routers by means of a function 82 for selecting a next hop to send a packet with reference to the routing table 81 and an appropriate routing protocol that enables dynamic routing table updating, such as OSPF. And a function 83 for obtaining information on the network, in particular, information indicating the configuration of the network related to routing, and updating the routing table 81. This updating function 83 uses the network information acquired by the routing protocol as a network to be analyzed, and generates a network matrix 89 indicating the configuration of the network.

OSPFのようなリンクステート型のルーティングアルゴリズムでは、ルータ間でリンク情報をLSA(Link-State Advertisement)で定期的に交換する。したがって、そのネットワークに属する各ノードはネットワーク中のすべてのリンク情報(コスト)を知っている。したがって、ネットワーク行列89には、LSAにより得られたネットワーク内のリンクコスト情報を含めることができる。ネットワーク行列89には、さらに、OSPFとともに、あるいはOSPFに替えて、他のルーティングプロトコルにより取得されたネットワークの情報を含めることができる。この例では、ネットワーク行列89には、ターゲットのネットワークに含まれる複数のノードと、複数のノードを接続する複数のリンクと、それぞれのリンクのコストとが含まれる。インターネットなどのコンピュータネットワークにおいて、ノード間のコスト(リンクコスト)を決定する典型的な要素は、通信速度の逆数である。その他に、光ネットワークにおいては波長予約の成功率、送信対象のデータ種別、QoSにより予約された帯域など複数の要因をリンクコストとして反映することができる。ネットワーク行列89には、コスト以外の他の、経路の優劣を比較できる要素(ルーティングメトリック)を含めても良い。   In a link state type routing algorithm such as OSPF, link information is periodically exchanged between routers by LSA (Link-State Advertisement). Therefore, each node belonging to the network knows all link information (cost) in the network. Accordingly, the network matrix 89 can include link cost information in the network obtained by LSA. The network matrix 89 can further include network information acquired by another routing protocol together with or in place of OSPF. In this example, the network matrix 89 includes a plurality of nodes included in the target network, a plurality of links connecting the plurality of nodes, and the cost of each link. In a computer network such as the Internet, a typical factor that determines a cost (link cost) between nodes is a reciprocal of a communication speed. In addition, in an optical network, a plurality of factors such as the success rate of wavelength reservation, the type of data to be transmitted, and the bandwidth reserved by QoS can be reflected as the link cost. The network matrix 89 may include elements (routing metrics) that can compare the superiority and inferiority of routes other than the cost.

図2(a)にネットワーク行列の一例を示している。このネットワーク行列MNは、図2(b)に示したネットワークNに対応するものであり、ネットワークNはノードA〜Fの6つのノードを含む。ネットワーク行列MNは、ネットワークNに含まれる各ノードを基端とし、基端のノードに繋がる他のノードを先端とする各リンクのコストをエレメントとして含む。無限大のエレメントは、ネットワーク行列MNに含まれるノードであって、直接のルートでは繋がっていないノードを示す。ノードが未接続であることを示す値は無限大に限らない。   FIG. 2A shows an example of the network matrix. This network matrix MN corresponds to the network N shown in FIG. 2B, and the network N includes six nodes A to F. The network matrix MN includes, as elements, the cost of each link having each node included in the network N as a base and another node connected to the base node as a top. The infinite element indicates a node that is included in the network matrix MN and is not connected through a direct route. The value indicating that the node is not connected is not limited to infinity.

ルーティングユニット80は、ルーティングプロトコルを用いて収集されたネットワークの情報(ネットワーク行列)89に基づき、経路探索を行うシステム(経路探索システム)30を含む。この経路探索システム30は、内部に、回路を動的に再構成可能な領域(再構成ユニット)を備えたデバイス(再構成可能デバイス)1を含む。そして、経路探索システム30は、ネットワーク行列89に基づき、経路を発見しようとしているネットワーク(ターゲットのネットワーク)に対応するネットワーク構成を、経路探索を目的とした範囲で仮想的に再構成可能デバイス1に再構成し、経路探索を行う。   The routing unit 80 includes a system (route search system) 30 that performs route search based on network information (network matrix) 89 collected using a routing protocol. The route search system 30 includes a device (reconfigurable device) 1 having an area (reconfiguration unit) in which a circuit can be dynamically reconfigured. Then, the route search system 30 changes the network configuration corresponding to the network (target network) that is trying to find a route to the virtually reconfigurable device 1 within the range for the purpose of route search based on the network matrix 89. Reconfigure and route search.

図3(a)に、再構成可能なデバイスの一例を示している。このデバイス1は、本願の出願人が開発したDAPDNAと称する半導体集積回路装置である。このデバイス1は、DAPと呼ばれるRISCコアモジュール2と、DNAと呼ばれるダイナミックリコンフィグラブルデータフローアクセレレータ3とを含む。デバイス1は、DAP2およびDNA3に加え、DNA3のダイレクト入出力用のインターフェイス4と、PCIインターフェイス5と、SDRAMインターフェイス6と、DMAコントローラ7と、その他の周辺デバイス8と、これらを接続するための高速スイッチングバス(内部バス)9とを含む。DAP2は、デバッグインターフェイス42aと、RISCコア42bと、命令キャッシュ42cと、データキャッシュ42dとを含む。DNA3は、376個のPE(PEs、処理エレメント)が2次元に配置されたPEマトリクス10と、このPEマトリクス10に含まれるPEsの機能および/またはPEsの接続を変えてPEマトリクス10を再構成するためのコンフィグレーションデータ18が格納されるコンフィグレーションメモリ19とを含む。PE10は、複数のプロセッシングエレメントPE(PEs)と、複数のPEの接続を動的に変更可能な接続マトリクスとを含み、動的に回路を再構成可能な再構成ユニットに相当する。PEマトリクス10に配置されるPEの数は、上記に限定されるものではない。   FIG. 3A shows an example of a reconfigurable device. This device 1 is a semiconductor integrated circuit device called DAPDNA developed by the applicant of the present application. The device 1 includes a RISC core module 2 called DAP and a dynamic reconfigurable data flow accelerator 3 called DNA. In addition to DAP2 and DNA3, the device 1 has a DNA4 direct input / output interface 4, a PCI interface 5, an SDRAM interface 6, a DMA controller 7, and other peripheral devices 8, and a high speed for connecting them. Switching bus (internal bus) 9. The DAP2 includes a debug interface 42a, a RISC core 42b, an instruction cache 42c, and a data cache 42d. DNA3 is a PE matrix 10 in which 376 PEs (PEs, processing elements) are two-dimensionally arranged, and the PE matrix 10 is reconfigured by changing the function of PEs included in the PE matrix 10 and / or the connection of PEs. And a configuration memory 19 in which configuration data 18 is stored. The PE 10 includes a plurality of processing elements PE (PEs) and a connection matrix that can dynamically change the connection of the plurality of PEs, and corresponds to a reconfiguration unit that can dynamically reconfigure a circuit. The number of PEs arranged in the PE matrix 10 is not limited to the above.

コンフィグレーションメモリ19は、複数バンクの構成になっている。例えば、図3(b)に示すように、PEマトリクス10には、フォアグラウンドバンクに格納されるコンフィグレーションデータ18により第1の機能(データフロー、回路デザイン)17aが構成される。また、異なるバックグラウンドバンクにそれぞれ格納されるコンフィグレーションデータにより、第2の機能17bおよび第3の機能17cがそれぞれ構成される。メモリ19のバンクを切り替えることにより、PEマトリクス10には、第1の機能17aに変わって第2の機能17bまたは第3の機能17cが再構成される。PEマトリクス10の再構成は、例えば、1サイクル(クロックサイクル)でダイナミックに行なわれる。   The configuration memory 19 has a plurality of banks. For example, as shown in FIG. 3B, in the PE matrix 10, a first function (data flow, circuit design) 17a is configured by configuration data 18 stored in the foreground bank. Further, the second function 17b and the third function 17c are configured by configuration data stored in different background banks, respectively. By switching the bank of the memory 19, the PE matrix 10 is reconfigured with the second function 17b or the third function 17c instead of the first function 17a. The reconstruction of the PE matrix 10 is dynamically performed in one cycle (clock cycle), for example.

図3(c)は、PEマトリクス10に回路を再構成する一例である。あるアプリケーション、例えば、MPEGデコーダを複数の機能(サブファンクション)に時分割し、それらの機能を、PEマトリクス10に時分割で動的に再構成し、MPEGデコーダの機能を専用回路(専用ハードウェア)で提供する。同様に、経路探索において、ターゲットのネットワークに含まれるノード数が膨大な場合は、ネットワークを複数のサブネットワークに分割し、それらのサブネットワークに対応する仮想ネットワークを時分割で動的に再構成することが可能である。したがって、このデバイス1を採用した経路探索システム30は、大規模ネットワークに対しても適用できる。このような使用により、再構成可能なデータ処理装置であるデバイス1を用いて、多くのハードウエア資源を必要とするアプリケーションを、少ないハードウエア資源で実行できる。   FIG. 3C is an example in which a circuit is reconfigured in the PE matrix 10. A certain application, for example, an MPEG decoder is time-divided into a plurality of functions (subfunctions), and these functions are dynamically reconfigured in a time-division manner into the PE matrix 10, and the functions of the MPEG decoder are assigned to dedicated circuits (dedicated hardware ). Similarly, in the route search, when the number of nodes included in the target network is enormous, the network is divided into a plurality of sub-networks, and the virtual networks corresponding to these sub-networks are dynamically reconfigured in a time division manner. It is possible. Therefore, the route search system 30 employing this device 1 can be applied to a large-scale network. By using such a device, an application requiring a large amount of hardware resources can be executed with a small amount of hardware resources using the device 1 which is a reconfigurable data processing apparatus.

図3(d)は、PEマトリクス10に回路を構成する他の例の一つである。たとえば、再生方式が異なるアプリケーションを実行するために、複数の機能がそれぞれ実現されるようにPEマトリクス10を再構成できる。同様に、ルータ100において、デバイス1は、経路探索システム30として機能させるだけではなく、ルーティングテーブル81を参照してパケットを送出するネクストホップを選択する機能82などとしても用いることができる。このような使用により、多くのアプリケーションを共通のハードウエア(デバイス)1を用いて実行できる。   FIG. 3D shows another example of configuring a circuit in the PE matrix 10. For example, the PE matrix 10 can be reconfigured so that a plurality of functions are realized in order to execute applications having different playback methods. Similarly, in the router 100, the device 1 can be used not only as the route search system 30 but also as a function 82 for selecting a next hop for sending a packet with reference to the routing table 81. Through such use, many applications can be executed using the common hardware (device) 1.

このデバイス1は、さらに、プログラムレベル(命令レベル)ではなく、データフローレベル(データパスレベル、ハードウエアレベル)で多数の機能を切り換えて実装できる。このため、専用のハードウエアに匹敵する速度で処理を行うことができる。したがって、経路探索のための仮想ネットワークをPEマトリクス10に再構成することにより、専用のハードウェアで構成したのに匹敵する処理速度を得ることができる。その一方で、PEマトリクス10は動的に再構成できるので、経路探索の対象となるネットワークの変動に対してもフレキシブルに、遅滞なく追従できる。   Further, the device 1 can be implemented by switching many functions at a data flow level (data path level, hardware level) instead of a program level (instruction level). Therefore, processing can be performed at a speed comparable to that of dedicated hardware. Therefore, by reconfiguring the virtual network for route search into the PE matrix 10, it is possible to obtain a processing speed comparable to that configured with dedicated hardware. On the other hand, since the PE matrix 10 can be dynamically reconfigured, it is possible to flexibly follow a change in a network to be searched for a route without delay.

また、PEマトリクス10に含まれるPEsは、クロックにより同期した処理を行うことが可能であり、パイプライン処理に適したデータフロー(データパス)をPEマトリクス10に再構成できる。さらに、多数のPEsにより並列処理を行う複数のデータフローを並列に再構成することも可能である。したがって、PEマトリクス10に仮想ネットワークを再構成し、経路探索用のパケット(探索パケット)を流すことにより、仮想ネットワーク内で、ターゲットのネットワークと同様に、複数の探索パケットを並列に送受信することが可能となる。さらに、探索パケットの送受信(流れ)が同期的に処理されるので、探索パケットが目的のノード(たとえば、宛先ノード)に到達したタイミングを、その探索パケットが通過した経路の質に関する情報として捉えて、経路を選択するための情報として利用することが可能となる。このように、PEマトリクス10に仮想ネットワークを回路として動的に再構成することにより、ハードウエアによる高速な処理速度と、ソフトウエアのような柔軟性とが融合された経路探索環境を提供できる。   The PEs included in the PE matrix 10 can perform processing synchronized with a clock, and a data flow (data path) suitable for pipeline processing can be reconfigured in the PE matrix 10. Furthermore, it is also possible to reconfigure a plurality of data flows that perform parallel processing with a large number of PEs. Therefore, by reconfiguring the virtual network in the PE matrix 10 and flowing a route search packet (search packet), a plurality of search packets can be transmitted / received in parallel in the virtual network, similar to the target network. It becomes possible. Furthermore, since the search packet transmission / reception (flow) is processed synchronously, the timing at which the search packet reaches the target node (for example, the destination node) is regarded as information on the quality of the route through which the search packet has passed. It can be used as information for selecting a route. Thus, by dynamically reconfiguring the PE matrix 10 as a virtual network as a circuit, it is possible to provide a route search environment in which high-speed processing speed by hardware and flexibility such as software are fused.

図4に、PEマトリクス10を拡大して示している。PEマトリクス10は、縦横に2次元に配置された複数のプロセッシングエレメント(PE)45と、それらの間に格子状に配置された配線47と、配線47の接続ポイントで縦横の配線47の接続を自由に切り替えることができるスイッチングユニット46とを備えている。配線47およびスイッチングユニット46が、複数のPE45の接続を自由に変えることができる接続マトリクス44を構成する。接続マトリクス44には、以下で説明する遅延用のPEなどの、接続環境を調整するためのPEが含まれていても良い。   FIG. 4 shows an enlarged view of the PE matrix 10. The PE matrix 10 connects a plurality of processing elements (PE) 45 arranged two-dimensionally in the vertical and horizontal directions, wirings 47 arranged in a lattice pattern between them, and vertical and horizontal wirings 47 at connection points of the wirings 47. And a switching unit 46 that can be freely switched. The wiring 47 and the switching unit 46 constitute a connection matrix 44 that can freely change the connection of the plurality of PEs 45. The connection matrix 44 may include PEs for adjusting the connection environment, such as a delay PE described below.

再構成可能なPEマトリクス(回路領域)10を構成するPE45の一例は、ルックアップテーブルなどにより自在に機能を設定可能なものである。この集積回路デバイス1のマトリクス10には、算術論理演算用のエレメント、遅延用のエレメント、メモリ用のエレメント、データを入力または出力するためにアドレスを発生させるエレメント、データの入力または出力用のエレメントなど、特定の機能あるいは処理に適した内部構成のエレメントが配置されている。ある程度の機能グループに分けたエレメントを配置することにより冗長性が減少し、AC特性および処理速度が向上できる。   An example of the PE 45 constituting the reconfigurable PE matrix (circuit area) 10 is a function whose function can be freely set by a lookup table or the like. The matrix 10 of the integrated circuit device 1 includes an arithmetic logic operation element, a delay element, a memory element, an element for generating an address for inputting or outputting data, and an element for inputting or outputting data. The elements of the internal configuration suitable for a specific function or processing are arranged. Redundancy is reduced by arranging elements divided into a certain number of functional groups, and AC characteristics and processing speed can be improved.

プロセッサ2から、またはコンフィグレーションメモリ19から、制御バス9aを介して、各PE45に対してコンフィグレーションデータが供給される。このコンフィグレーションデータにより、各々のPE45の機能と、配線群47の接続とが制御され、マトリクス10の内部に、種々のデータフロー(データパス)を自由に構成できる。さらに、PEマトリクス10は、外部メモリインターフェイス6などの外界との接続のため、処理対象のデータを入出力する入力バッファ48および出力バッファ49と、アクセス調停ユニットとして機能するバススイッチングユニット(バスインターフェイス、BSU)9bとを備えている。   Configuration data is supplied from the processor 2 or the configuration memory 19 to each PE 45 via the control bus 9a. With this configuration data, the function of each PE 45 and the connection of the wiring group 47 are controlled, and various data flows (data paths) can be freely configured in the matrix 10. Further, the PE matrix 10 is connected to the external world such as the external memory interface 6, and therefore, an input buffer 48 and an output buffer 49 for inputting / outputting data to be processed, and a bus switching unit (bus interface, BSU) 9b.

図5は、PE45の一例である。このPEは、算術演算および論理演算に適した構成の演算用である。PE45は、機能を変更可能な内部データパス領域45bと、その内部データパス領域45bの機能を設定する制御ユニット45aとを備えている。内部データパス部45bは、配線47から所望の入力データを抽出するためのシフト回路SHIFTおよびマスク回路MASKと、入力データdixおよびdiyをクロック信号によりラッチするための入力レジスタ(FF)と、論理演算ユニットALUと、配線47に出力する出力データdoをクロック信号によりラッチするための出力レジスタ(FF)とを備えている。   FIG. 5 is an example of PE45. This PE is used for operations having a configuration suitable for arithmetic operations and logical operations. The PE 45 includes an internal data path area 45b whose function can be changed and a control unit 45a for setting the function of the internal data path area 45b. The internal data path unit 45b includes a shift circuit SHIFT and a mask circuit MASK for extracting desired input data from the wiring 47, an input register (FF) for latching the input data dix and diy by a clock signal, and a logical operation A unit ALU and an output register (FF) for latching output data do output to the wiring 47 by a clock signal are provided.

各PEの制御ユニット45aは、プロセッサ2から制御バス9aを介してコンフィグレーションデータを受信し、内部データパス部45bの構成を制御する。したがって、コンフィグレーションデータにより、1つ、または複数のPE45により、探索パケットを、所定の条件で転送するような機能を備えたノードを再構成できる。   The control unit 45a of each PE receives configuration data from the processor 2 via the control bus 9a and controls the configuration of the internal data path unit 45b. Therefore, a node having a function of transferring a search packet under a predetermined condition can be reconfigured by one or a plurality of PEs 45 according to configuration data.

図6は、PE45の他の例の1つである。このPEは、データが伝送されるタイミングを遅延する処理に適したものである。この内部データパス部45dは、複数のセレクタとフリップフロップの組み合わせで構成された遅延回路45eと、入力側のフリップフロップ(FF)と、出力側のフリップフロップ(FF)と、回路を選択するセレクタ45sとを備えている。遅延回路45eは、コンフィグレーションデータにより、本例では0〜5クロックの遅延をセットできる。したがって、入力毎に1〜7クロックの遅延を制御できる。さらに、コンフィグレーション情報により、2つの入力系統(X系統およびY系統)を直列に接続することが可能であり、2倍の遅延時間を制御できる。また、これらのデータと共にキャリー信号用の行配線群および列配線群で導かれるキャリー信号cixおよびciyも同様のデータパスにより遅延して出力される。   FIG. 6 shows another example of PE45. This PE is suitable for processing for delaying the timing at which data is transmitted. The internal data path unit 45d includes a delay circuit 45e configured by a combination of a plurality of selectors and flip-flops, an input-side flip-flop (FF), an output-side flip-flop (FF), and a selector for selecting a circuit. 45 s. In this example, the delay circuit 45e can set a delay of 0 to 5 clocks according to the configuration data. Therefore, a delay of 1 to 7 clocks can be controlled for each input. Furthermore, it is possible to connect two input systems (X system and Y system) in series according to the configuration information, and to control twice the delay time. In addition, carry signals cix and ciy guided by the row wiring group and the column wiring group for carry signals are output with a delay through a similar data path.

この遅延用のPE45を、仮想ネットワークの仮想ノード間を接続する仮想リンクに含めるようにPEマトリクス10を再構成することが可能である。遅延用のPE45の遅延量はコンフィグレーションデータによりバリアブルに設定できるので、その遅延量により、リンクコストなどのリンクの優劣を決める要素を、探索パケットの遅延(転送時間の遅れ)として探索パケットの履歴(経過情報)に含めることができる。   The PE matrix 10 can be reconfigured so that the delay PE 45 is included in a virtual link connecting virtual nodes of the virtual network. Since the delay amount of the delay PE 45 can be set to be variable by configuration data, the history of the search packet is determined by using the delay amount as a search packet delay (transfer time delay) as a factor that determines link superiority or inferiority. (Progress information).

図1に示すように、経路探索システム30は、再構成ユニットであるPEマトリクス10に仮想ネットワーク35を構成する構成ユニット31と、仮想ネットワークを用いて探索された経路から所定の条件に合致する経路を選択する経路選択ユニット32とを含む。構成ユニット31は、ルータ100がサポートする1または複数のルーティングプロトコルにより収集されたネットワークの情報(ネットワーク行列)89に基づき、PEマトリクス10に仮想ネットワーク35を再構成する。経路選択ユニットは、仮想ネットワーク35に含める複数の仮想ノードブロックのうち、宛先ノード(ディスティネーションノード)に対応する仮想宛先ノードブロックに到着した複数の探索パケットの経過情報により、ソースノードから宛先ノードに至る複数の経路から所定の条件に合致する経路を選択する。この例では、これらのユニット31および32としての機能は、DAP2にロードされるプログラムにより提供されるようになっている。これらのユニット31および32は、PEマトリクス10に、仮想ネットワーク35とともに、あるいは時分割で再構成しても良い。   As shown in FIG. 1, the route search system 30 includes a configuration unit 31 that forms a virtual network 35 in a PE matrix 10 that is a reconfiguration unit, and a route that matches a predetermined condition from a route searched using the virtual network. And a route selection unit 32 for selecting. The configuration unit 31 reconfigures the virtual network 35 in the PE matrix 10 based on network information (network matrix) 89 collected by one or more routing protocols supported by the router 100. The route selection unit changes from the source node to the destination node based on the progress information of the plurality of search packets that arrived at the virtual destination node block corresponding to the destination node (destination node) among the plurality of virtual node blocks included in the virtual network 35. A route that meets a predetermined condition is selected from a plurality of routes. In this example, the functions as these units 31 and 32 are provided by a program loaded in the DAP 2. These units 31 and 32 may be reconfigured in the PE matrix 10 together with the virtual network 35 or by time division.

図7に、経路探索の対象となるターゲットのネットワークの一例を示している。図8に、そのネットワークに対応するように、経路探索のためにPEマトリクス10に再構成された仮想ネットワークの一例を示している。ターゲットのネットワーク21はN1〜N11の11個のノードと、これらのノードを接続するL1〜L13の13個のリンクとを含む。仮想ネットワーク35は、ノードN1〜N11にそれぞれ対応する仮想ノードブロックPN1〜PN11と、リンクL1〜L13にそれぞれ対応する仮想リンクPL1〜PL13を含む。仮想ノードブロックPN1〜PN11は、1または複数のPE45により構成され、仮想リンクPL1〜PL13は、PE45を接続する接続マトリクス44により構成される。仮想リンクPL1〜PL13には、配線47およびスイッチングマトリクス46だけではなく、遅延用のエレメントが含まれていても良い。なお、以下では、仮想ノードブロックおよび仮想リンクを一般的に示す場合は、仮想ノードブロックPNおよび仮想リンクPLとして参照する。   FIG. 7 shows an example of a target network to be a route search target. FIG. 8 shows an example of a virtual network reconfigured in the PE matrix 10 for route search so as to correspond to the network. The target network 21 includes 11 nodes N1 to N11 and 13 links L1 to L13 connecting these nodes. The virtual network 35 includes virtual node blocks PN1 to PN11 corresponding to the nodes N1 to N11, and virtual links PL1 to PL13 respectively corresponding to the links L1 to L13. The virtual node blocks PN1 to PN11 are configured by one or a plurality of PEs 45, and the virtual links PL1 to PL13 are configured by a connection matrix 44 that connects the PEs 45. The virtual links PL1 to PL13 may include not only the wiring 47 and the switching matrix 46 but also a delay element. In the following, when a virtual node block and a virtual link are generally indicated, they are referred to as a virtual node block PN and a virtual link PL.

構成ユニット31は、ネットワーク行列89に基づいて、PEマトリクス10に仮想ネットワーク35を再構成するためのコンフィグレーションデータ18を生成し、そのコンフィグレーションデータ18をPEマトリクス10またはコンフィグレーションメモリに供給することにより仮想ネットワーク35として機能する回路(データフロー、データパス)をPEマトリクス10に再構成する。さらに、構成ユニット31は、仮想ノードブロックPN1〜PN11のうち、ソースノードN1に対応する仮想ソースノードブロックPN1が、仮想ソースノードブロックPN1に繋がった全ての仮想リンク、この場合は仮想リンクPL1およびPL2に探索パケットSPを送信するようにコンフィグレーションデータ18を生成し、仮想ソースノードブロックPNを再構成する。   The configuration unit 31 generates configuration data 18 for reconfiguring the virtual network 35 in the PE matrix 10 based on the network matrix 89 and supplies the configuration data 18 to the PE matrix 10 or the configuration memory. Thus, the circuit (data flow, data path) functioning as the virtual network 35 is reconfigured in the PE matrix 10. Furthermore, the configuration unit 31 includes all virtual links in which the virtual source node block PN1 corresponding to the source node N1 among the virtual node blocks PN1 to PN11 is connected to the virtual source node block PN1, in this case, the virtual links PL1 and PL2 The configuration data 18 is generated so that the search packet SP is transmitted to the virtual source node block PN.

また、構成ユニット31は、複数の仮想ノードブロックPN1〜PN11のうち、仮想ソースノードブロックN1と、仮想宛先ノードブロックN8を除いたそれぞれの仮想ノードブロックPNを、受信した探索パケットSPに、受信した探索パケットSPの通過した仮想リンクおよび/または仮想ノードブロックの情報を含む経過情報を追加するようにコンフィグレーションデータ18を生成し、それぞれの仮想ソースノードブロックPNを再構成する。構成ユニット31は、さらに、受信した探索パケットSPを複製した探索パケットSPを、受信した探索パケットSPの到来した仮想リンクPLを除き、それぞれの仮想ノードブロックPNに繋がった全ての仮想リンクPLに送信するようにコンフィグレーションデータ18を生成し、それぞれの仮想ソースノードブロックPNを再構成する。   In addition, the configuration unit 31 has received each virtual node block PN excluding the virtual source node block N1 and the virtual destination node block N8 among the plurality of virtual node blocks PN1 to PN11 in the received search packet SP. Configuration data 18 is generated so as to add progress information including information of the virtual link and / or virtual node block through which the search packet SP has passed, and each virtual source node block PN is reconfigured. The configuration unit 31 further transmits the search packet SP obtained by duplicating the received search packet SP to all the virtual links PL connected to each virtual node block PN except for the virtual link PL from which the received search packet SP has arrived. Thus, the configuration data 18 is generated, and each virtual source node block PN is reconfigured.

構成ユニット31は、さらに、それぞれの仮想ノードブロックPNを、それぞれの仮想ノードブロックPNに到着した順番の早いものから複数の探索パケットSPの複製のみを、受信した探索パケットの到来した仮想リンクPLを除き、それぞれの仮想ノードブロックPNに繋がった全ての仮想リンクPLに送信するようにコンフィグレーションデータ18を生成し、仮想ソースノードブロックPNを再構成する。   The configuration unit 31 further sets each virtual node block PN to a copy of a plurality of search packets SP from the earliest in order of arrival at each virtual node block PN, and the virtual link PL from which the received search packet has arrived. Except for this, the configuration data 18 is generated so as to be transmitted to all the virtual links PL connected to each virtual node block PN, and the virtual source node block PN is reconfigured.

構成ユニット31は、さらに、それぞれの仮想ノードブロックPNを、通過した仮想リンクPLおよび/または仮想ノードブロックPNについての同じ情報を持つ探索パケットSPを廃棄するように構成するようにコンフィグレーションデータ18を生成し、仮想ソースノードブロックPNを再構成する。   The configuration unit 31 further configures the configuration data 18 to configure each virtual node block PN to discard search packets SP having the same information about the passed virtual link PL and / or virtual node block PN. Generate and reconfigure the virtual source node block PN.

図9に、探索パケットSPの一例を示している。この探索パケットSPは、ヘッダー情報24と、経過情報25とを含む。経過情報25は、探索パケットSPが通過した仮想リンクPLおよび/または仮想ノードブロックPNをビット位置で識別できるビットマップデータを含む。以下の例では、経過情報25は、探索パケットSPが通過した仮想リンクPLをビット位置で識別できるビットマップデータとなっている。経過情報25に、探索パケットSPが通過した仮想ノードブロックPNをビット位置で識別できるビットマップデータを含めることは、仮想リンクと同様に可能である。仮想宛先ノードブロックPN8に到達した探索パケットSPの経過情報25には、仮想ソースノードブロックPN1から仮想宛先ノードブロックPN8に到達するまでに探索パケットSPが通過した仮想リンクPLの情報が収められている。したがって、経路選択ユニット32は、仮想宛先ノードブロックPN8に到達した探索パケットSPの経過情報25にアクセスすることにより仮想ソースノードPN1から仮想宛先ノードブロックPN8に至る経路を知ることができる。その経路は、ターゲットのネットワーク21における経路に相当するものであり、所定の条件に合った経路を見つけることにより、ルーティングテーブル81を更新できる。   FIG. 9 shows an example of the search packet SP. This search packet SP includes header information 24 and progress information 25. The progress information 25 includes bitmap data that can identify the virtual link PL and / or the virtual node block PN through which the search packet SP has passed by the bit position. In the following example, the progress information 25 is bitmap data that can identify the virtual link PL through which the search packet SP has passed by the bit position. It is possible to include the bitmap data that can identify the virtual node block PN through which the search packet SP has passed in the progress information 25 by the bit position, similarly to the virtual link. The progress information 25 of the search packet SP that has reached the virtual destination node block PN8 contains information on the virtual link PL through which the search packet SP has passed before reaching the virtual destination node block PN8 from the virtual source node block PN1. . Therefore, the path selection unit 32 can know the path from the virtual source node PN1 to the virtual destination node block PN8 by accessing the progress information 25 of the search packet SP that has reached the virtual destination node block PN8. The route corresponds to a route in the target network 21, and the routing table 81 can be updated by finding a route that meets a predetermined condition.

探索される経路の典型的なものの1つは、ソースノードN1から宛先ノードN8に至る最短経路である。たとえば、仮想リンクL1〜L13の遅延を一定にすることにより、最も早く仮想宛先ノードブロックPN8に到達した探索パケットSPの経路を最小ホップ数の経路として選択できる。また、仮想リンクL1〜L13の遅延をリンクコストに基づいて設定することにより、経路選択ユニット32は、最も早く仮想宛先ノードブロックPN8に到達した探索パケットSPの経路を最小コストの経路として選択できる。   One typical route searched is the shortest route from the source node N1 to the destination node N8. For example, by making the delays of the virtual links L1 to L13 constant, the route of the search packet SP that has reached the virtual destination node block PN8 earliest can be selected as the route with the minimum number of hops. In addition, by setting the delay of the virtual links L1 to L13 based on the link cost, the route selection unit 32 can select the route of the search packet SP that has reached the virtual destination node block PN8 earliest as the route with the lowest cost.

探索される経路の典型的なものの異なる例は、ソースノードN1から宛先ノードN8に至るディスジョイントな経路である。経路選択ユニット32は、仮想宛先ノードブロックPN8に到達した複数の探索パケットSPの経過情報25のビットマップデータのビット単位の論理積を演算することにより、ソースノードN1から宛先ノードN8に至る複数の経路から、ディスジョイントな経路を選択することができる。経過情報25のビットマップデータのビット単位の論理積が全て0であれば、比較した経過情報25に含まれる経路はディスジョイントな経路である。ビットマップ(ビット列)の比較は、PEマトリクス10に含まれる算術演算用のPEを用いることにより極めて短時間に処理できる。DAP2によりソフトウェアでビットマップの比較を行っても良い。   A different example of a typical searched route is a disjoint route from the source node N1 to the destination node N8. The route selection unit 32 calculates a plurality of bitwise ANDs of the bitmap data of the progress information 25 of the plurality of search packets SP that have reached the virtual destination node block PN8, and thereby performs a plurality of operations from the source node N1 to the destination node N8. A disjoint route can be selected from the routes. If the bitwise logical product of the bitmap data of the progress information 25 is all 0, the path included in the compared progress information 25 is a disjoint path. Comparison of bitmaps (bit strings) can be processed in a very short time by using PE for arithmetic operation included in the PE matrix 10. Bitmaps may be compared by software using DAP2.

さらに、仮想リンクL1〜L13の遅延を一定にすることにより、仮想宛先ノードブロックPN8に到達したタイミングにより、経路選択ユニット32は、最小ホップ数のディスジョイントな経路を選択できる。仮想リンクL1〜L13の遅延をリンクコストに基づいて設定することにより、経路選択ユニット32は、仮想宛先ノードブロックPN8に到達した探索パケットSPのタイミングにより、最小コストのディスジョイントな経路を選択できる。   Further, by making the delay of the virtual links L1 to L13 constant, the route selection unit 32 can select a disjoint route with the minimum number of hops at the timing when the virtual destination node block PN8 is reached. By setting the delays of the virtual links L1 to L13 based on the link cost, the route selection unit 32 can select a disjoint route with the minimum cost based on the timing of the search packet SP that has reached the virtual destination node block PN8.

図10に、ソースノードから、1または複数の宛先ノードへ至る経路を、再構成ユニットであるPEマトリクス10を用いて探索する方法の一例を示している。ステップ71において、ルータ100が提供する1または複数のルーティングプロトコルによりネットワークの情報89を収集する。ステップ72において、構成ユニット31は、ネットワークの情報89に基づき、PEマトリクス10に仮想ネットワーク35を構成する。ステップ73において、ソースノードN1に対応する仮想ソースノードブロックPN1から、仮想ソースノードブロックPN1に繋がった全ての仮想リンクPL1およびPL2に探索パケットSPを送信する。この段階の経過情報25は、全てのビットが0である。   FIG. 10 shows an example of a method for searching for a route from a source node to one or a plurality of destination nodes using the PE matrix 10 which is a reconfiguration unit. In step 71, network information 89 is collected by one or more routing protocols provided by the router 100. In step 72, the configuration unit 31 configures the virtual network 35 in the PE matrix 10 based on the network information 89. In step 73, the search packet SP is transmitted from the virtual source node block PN1 corresponding to the source node N1 to all the virtual links PL1 and PL2 connected to the virtual source node block PN1. In the progress information 25 at this stage, all bits are 0.

ステップ74において、仮想ノードブロックPNは、探索パケットSPを受信すると、受信した探索パケットSPの通過した仮想リンクの情報を含む経過情報25に追加する。たとえば、仮想ノードブロックPN2は、経過情報25のビットマップの1番目のビットを1にセットすることにより、仮想リンクPL1を通過したことを経過情報25に追加する。そして、その経過情報25を含む探索パケットSPを複製し、受信した探索パケットSPの到来した仮想リンクPL1を除き、仮想ノードブロックPNに繋がった全ての仮想リンクPLに送信する。たとえば、仮想ノードブロックPN2は、経過情報25のビットマップの1番目のビットが1にセットされた探索パケットSPの複製を2つ生成し、それぞれを、仮想リンクPL3およびPL4に送信する。   In step 74, when the virtual node block PN receives the search packet SP, the virtual node block PN adds it to the progress information 25 including information on the virtual link through which the received search packet SP has passed. For example, the virtual node block PN2 sets the first bit of the bitmap of the progress information 25 to 1, thereby adding to the progress information 25 that the virtual link PL1 has been passed. Then, the search packet SP including the progress information 25 is duplicated and transmitted to all the virtual links PL connected to the virtual node block PN except for the virtual link PL1 from which the received search packet SP has arrived. For example, the virtual node block PN2 generates two copies of the search packet SP in which the first bit of the bitmap of the progress information 25 is set to 1, and transmits the duplicates to the virtual links PL3 and PL4.

ステップ75において、十分な数の探索パケットSPが仮想宛先ノードブロックPN8に到達するまで仮想ノードブロックPN間において探索パケットSPを転送する。十分な数の探索パケットSPが仮想宛先ノードブロックPN8に到達すると、ステップ76において、経路選択ユニット32は、得られた複数の探索パケットSPの経過情報25により、ソースノードN1から宛先ノードN8に至る複数の経路を得ることができる。そして、得られた経路の中から、所定の条件に合致する経路を選択する。   In step 75, the search packets SP are transferred between the virtual node blocks PN until a sufficient number of search packets SP reach the virtual destination node block PN8. When a sufficient number of search packets SP reach the virtual destination node block PN8, in step 76, the route selection unit 32 reaches from the source node N1 to the destination node N8 based on the obtained progress information 25 of the plurality of search packets SP. Multiple routes can be obtained. Then, a route that matches a predetermined condition is selected from the obtained routes.

ステップ75において、ディスジョイントな経路を選択する場合は、上述したように、複数の経過情報25のビットマップデータの論理積を演算することが望ましい。最小ホップ数の最短経路、最小コストの最短経路の探索もディスジョイントな経路の探索とともに行うことができる。仮想宛先ノードブロックPN8に順番の早いものから(先に到着した)複数の探索パケットSPのみの(に限定した)経過情報25により、ディスジョイントな経路で、最短の経路を選択することが可能である。基本的には、種々の条件を加味して、最短な経路を選択することがルート探索の目的であり、全ての探索パケットSPが仮想宛先ノードブロックPN8に到達することを待つ必要はない。   In step 75, when a disjoint path is selected, as described above, it is desirable to calculate the logical product of bitmap data of a plurality of pieces of progress information 25. The search for the shortest route with the minimum number of hops and the shortest route with the minimum cost can be performed together with the search for the disjoint route. It is possible to select the shortest route in a disjoint route based on the progress information 25 of only a plurality of search packets SP (arriving first) (from the earliest) to the virtual destination node block PN8. is there. Basically, the purpose of route search is to select the shortest route in consideration of various conditions, and there is no need to wait for all search packets SP to reach the virtual destination node block PN8.

また、ステップ74において、それぞれの仮想ノードブロックPNは、到着した順番の早いものから複数の探索パケットSPの複製のみを転送することが望ましい。種々の条件を加味して、最短な経路を選択することがルート探索の目的であり、無駄にリンクをたどっている探索パケットSPを活かす必要は通常の場合はない。さらに、ステップ74において、通過した仮想リンク(または仮想ノードブロック)についての同じ情報を経過情報25に持つ探索パケットSPを廃棄することが望ましい。たとえば、仮想リンクPL3を経過した情報を持つ探索パケットSPが仮想リンクPL3を通して仮想ノードブロックPN4に到達したときは、その探索パケットSPは、仮想リンクPL3をループしていることを意味する。ループする経路を示す探索パケットSPは、経路探索には不要であり、そのような探索パケットSPは破棄し、仮想ネットワーク35を流れる探索パケットSPの数を減らすことが望ましい。   In step 74, each virtual node block PN preferably transfers only a plurality of copies of the search packet SP from the earliest arrival order. The purpose of route search is to select the shortest route in consideration of various conditions, and it is not usually necessary to make use of the search packet SP that follows the link in vain. Further, in step 74, it is desirable to discard the search packet SP having the same information about the passed virtual link (or virtual node block) in the progress information 25. For example, when a search packet SP having information that has passed through the virtual link PL3 reaches the virtual node block PN4 through the virtual link PL3, it means that the search packet SP is looping through the virtual link PL3. The search packet SP indicating the route to be looped is not necessary for the route search. It is desirable to discard such a search packet SP and reduce the number of search packets SP flowing through the virtual network 35.

図11から図17に、図7に示したネットワーク21について、経路探索システム30により経路が探索される様子を示している。まず、ネットワーク21内のすべてのリンクに、リンク番号(L1〜L13)を付与する。リンク番号は、SRLG(Shared Risk Link Group)番号のようなものにしてもよいが、本例ではリンク番号で独立性を促進する。   FIGS. 11 to 17 show how the route is searched for by the route search system 30 in the network 21 shown in FIG. First, link numbers (L1 to L13) are assigned to all links in the network 21. The link number may be similar to an SRLG (Shared Risk Link Group) number, but in this example, the link number promotes independence.

図11に示したステップ1において、S(ソース)ノードN1(PN1)からソースノードN1につながっているすべてのノードに対して、探索パケットSPを流して探索を開始する。   In step 1 shown in FIG. 11, a search packet SP is sent to all nodes connected from the S (source) node N1 (PN1) to the source node N1, and the search is started.

図12に示したステップ2において、探索パケットSPが到着したノードN(PN)は、当該ノードNに接続し、逆戻りとならないノードNすべてに1つずつ探索パケットSPを流して探索を行う。この際、それぞれの探索パケットSPは通過したリンク番号を含む経過情報25を保持する。   In Step 2 shown in FIG. 12, the node N (PN) where the search packet SP has arrived is connected to the node N, and the search is performed by sending the search packet SP to all the nodes N that do not return backward. At this time, each search packet SP holds the progress information 25 including the passed link number.

図13〜図16に示すように、ステップ3〜ステップ6において、上記と同様に、1サイクルごとに次のノードN(PN)へ探索を行う。図15に示したステップ5では、ループを作った探索パケットSPを廃棄している。ループの検出方法としては、経過情報25の通過ノード番号から判断する方法と、探索パケットSPに適当な識別情報を付加して各仮想ノードブロックPNがすでに通過している探索パケットSPを把握し、仮想リンクPLを再度探索しようとした場合に廃棄する方法とが考えられる。各仮想リンクPLの遅延を同じに設定することが可能であり、その場合、PEマトリクス10に再構成された仮想ネットワーク35においては、仮想ノードブロックPNにおけるレイテンシを別にすれば、1サイクル毎に次の仮想ノードブロックPNの探索を行うことができる。したがって、多数のノードおよびリンクを含むネットワーク21の経路探索を短時間で行うことができる。   As shown in FIGS. 13 to 16, in steps 3 to 6, similarly to the above, a search is performed for the next node N (PN) every cycle. In step 5 shown in FIG. 15, the search packet SP that created the loop is discarded. As a loop detection method, a method of judging from the passing node number of the progress information 25, an appropriate identification information is added to the search packet SP, and the search packet SP that each virtual node block PN has already passed is grasped. A method of discarding when searching for the virtual link PL again can be considered. It is possible to set the delay of each virtual link PL to be the same. In this case, in the virtual network 35 reconfigured in the PE matrix 10, if the latency in the virtual node block PN is different, the following is performed every cycle. The virtual node block PN can be searched. Therefore, the route search of the network 21 including a large number of nodes and links can be performed in a short time.

遅延エレメントにより各仮想リンクPLにコストをセットした場合であっても、1つの仮想リンクPLについて数クロックの遅れが発生するだけであり、実際のネットワーク21にパケットを流して、各ノードにおいて、各種のネットワークプロトコルが処理するのを待って、ルート探索用のパケットが送受信されるのと比較すると、遙かに短時間でネットワーク21の経路探索を行うことができる。さらに、仮想ネットワーク35は、経路探索システム30の内部に存在しているので、仮想宛先ノードブロックPN8に到達した探索パケットSPをソースノードブロックPN1に戻さなくても、経過情報25に基づき経路を探索できる。この点でも、ターゲットのネットワーク21にパケットを流すことに比較すると、はるかに短時間で経路探索を行うことができる。   Even when the cost is set for each virtual link PL by the delay element, a delay of only a few clocks occurs for one virtual link PL. Compared with the case where a packet for route search is transmitted and received after waiting for the network protocol to process, the route search of the network 21 can be performed in a much shorter time. Further, since the virtual network 35 exists inside the route search system 30, a route is searched based on the progress information 25 without returning the search packet SP that has reached the virtual destination node block PN8 to the source node block PN1. it can. In this respect as well, a route search can be performed in a much shorter time than when a packet is sent to the target network 21.

図17に示したステップ7では、すべてのルートで探索が終了している。仮想宛先ノードブロックPN8に到達した探索パケットSPに含まれる経路情報25の例は、早く到着した順に以下の通りである。かっこ内は、リンク番号を、Lを除いて示す。
ルート1 (1,4,7) 3hop
ルート2 (2,5,12,7) 4hop
ルート3 (1,3,6,13) 4hop
ルート4 (2,5,8,9,10,11) 6hop
ルート5 (1,4,12,8,9,10,11) 7hop
ルート6 (2,5,12,4,3,6,13) 7hop
In step 7 shown in FIG. 17, the search is completed for all routes. An example of the route information 25 included in the search packet SP that has reached the virtual destination node block PN8 is as follows in the order of arrival. In parentheses, link numbers are shown without L.
Route 1 (1,4,7) 3hop
Route 2 (2, 5, 12, 7) 4hop
Route 3 (1, 3, 6, 13) 4hop
Route 4 (2, 5, 8, 9, 10, 11) 6hop
Route 5 (1, 4, 12, 8, 9, 10, 11) 7hop
Route 6 (2, 5, 12, 4, 3, 6, 13) 7hop

したがって、経路選択ユニット32においては、ルート1が最小ホップ数の最短経路であることがわかる。さらに、経路選択ユニット32は、これら6つのルートの中でディスジョイントなルートの組合せを求めることができる。   Therefore, in the route selection unit 32, it can be seen that route 1 is the shortest route with the minimum number of hops. Further, the route selection unit 32 can obtain a combination of disjoint routes among these six routes.

図18に、各ルートを辿って仮想宛先ノードブロックPN8に到達した探索パケットSPに含まれている経過情報25を示している。経過情報25は、少なくとも13ビット以上のビット幅を持つビットマップデータであり、通過した仮想リンクPLに相当する位置のビットが1になっている。経過情報25は、たとえば、100リンク程度を含むネットワークであれば100ビット幅が必要であり、13バイト程度のデータになる。   FIG. 18 shows the progress information 25 included in the search packet SP that has reached the virtual destination node block PN8 by following each route. The progress information 25 is bitmap data having a bit width of at least 13 bits, and the bit at the position corresponding to the virtual link PL that has passed is 1. For example, if the network includes about 100 links, the progress information 25 needs to be 100 bits wide and is about 13 bytes of data.

ルート1に対してディスジョイントなルートを求める場合は、ルート1の経過情報25と、他のすべてのルート(ルート2〜6)の経過情報25とのビット単位の論理積(AND)を演算すれば良い。1つでも論理積が“1”であれば、ディスジョイントではない。   When a disjoint route is obtained with respect to route 1, the logical product (AND) of bit unit of the progress information 25 of route 1 and the progress information 25 of all other routes (routes 2 to 6) is calculated. It ’s fine. If even one logical product is “1”, it is not disjoint.

図19に、ソフトウェアで論理積を求める方法の1つをフローチャートにより示している。まず、ルートi(1〜6)の使用しているリンク番号j(1〜13)をl(i,j)行列とする。次に1つのルート(例えばルート1)を選択し、他のすべてのルート(例えばルート2〜6)のリンク番号ごとに論理積(AND)をとり、1つでも論理積が“1”であれば、ディスジョイントではないと判断する。   FIG. 19 is a flowchart showing one method for obtaining a logical product by software. First, the link number j (1-13) used by the route i (1-6) is assumed to be an l (i, j) matrix. Next, one route (for example, route 1) is selected, and logical product (AND) is taken for each link number of all other routes (for example, routes 2 to 6), and even if one logical product is “1”. For example, it is determined that it is not a disjoint.

その結果、経路選択ユニット32においては、以下のようなディスジョイントなルートの組み合わせを得ることができる。
ルート1とルート4
ルート2とルート3
ルート3と、ルート2およびルート4
ルート4とルート3
ルート5および6にはディスジョイントなルートは存在しない。
As a result, the route selection unit 32 can obtain the following disjoint combinations of routes.
Route 1 and Route 4
Route 2 and Route 3
Route 3, route 2 and route 4
Route 4 and Route 3
Routes 5 and 6 do not have disjoint routes.

さらに、経路選択ユニット32は、以下の3つのディスジョイントルートの候補が計算できる。
ルート1(3hop)+ルート4(6hop)= 9hop
ルート2(4hop)+ルート3(4hop)= 8hop
ルート3(4hop)+ルート4(6hop)= 10hop
この場合、ルート2とルート3との組み合せが、もっともホップ数が少なくなることが分かる。したがって、このケースでは、経路選択ユニット32は、理想解としてルート2およびルート3との組み合わせを選択する。これらのルート2およびルート3は、図20に示すようにリンクディスジョイントであるとともに、ノードディスジョイントなルートである。ノードディスジョイントなルートを選択することにより、さらにリンクのみならず、ノードの欠陥に対して信頼性の高いルーティングテーブル81を提供できる。積極的にノードディスジョイントなルートを選択する場合は、経過情報25に通過したノード(仮想ノードブロック)の識別情報を含めることが望ましい。また、ディスジョイントなルートを選択する条件は、総ホップ数が最少に限定されず、コストが反映されている場合は、総コスト数が最少となる組み合わせであっても良い。あるいは、ディスジョイントなルートのコスト差あるいはホップ差が最少になるような組み合わせであっても良い。
Furthermore, the route selection unit 32 can calculate the following three disjoint route candidates.
Route 1 (3 hop) + Route 4 (6 hop) = 9 hop
Route 2 (4 hop) + Route 3 (4 hop) = 8 hop
Route 3 (4 hop) + Route 4 (6 hop) = 10 hop
In this case, it can be seen that the combination of route 2 and route 3 has the smallest number of hops. Therefore, in this case, the route selection unit 32 selects the combination of the route 2 and the route 3 as an ideal solution. These routes 2 and 3 are link disjoint as shown in FIG. 20, and are also node disjoint routes. By selecting a node disjoint route, it is possible to provide a routing table 81 with high reliability not only for links but also for node defects. When the node disjoint route is positively selected, it is desirable to include the identification information of the passed node (virtual node block) in the progress information 25. In addition, the condition for selecting a disjoint route is not limited to the total number of hops, but may be a combination that minimizes the total number of costs if the cost is reflected. Alternatively, a combination that minimizes the cost difference or hop difference of disjoint routes may be used.

また、大規模ネットワークでは、すべてのルートを探索してくるのを待つのは、探索時間が大きくなってしまう問題がある。そこで、経路選択ユニット32は、仮想宛先ノードブロックPN8に到着した順番の早い探索パケットSPのベストm個のルートのみに制限して選択する。   In a large-scale network, waiting for searching for all routes has a problem that the search time becomes long. Accordingly, the route selection unit 32 selects and selects only the best m routes of the search packet SP that arrives at the virtual destination node block PN8 in the early order.

また、到着した順番の早いもののベストmを仮想宛先ノードブロックPN8で得るため、各中継ノードブロックPNでも、すべて到着した順番の早いものm個のみを処理して、残りは廃棄する。このことによって、ネットワーク内の探索は、最大m、n(nはノード数)で上限が決まる。   In addition, in order to obtain the best m in the order of arrival in the virtual destination node block PN8, each relay node block PN processes only m pieces in the order of arrival and discards the rest. Thus, the upper limit of the search in the network is determined by the maximum m and n (n is the number of nodes).

さらに、PEマトリクス10のPEなどのハードウェア資源が不足する場合は、仮想ネットワーク35をマルチコンテキスト化し、時分割でPEマトリクス10に再構成することが可能である。また、複数のデバイス1のPEマトリクス10をダイレクト接続し、仮想的にPEマトリクス10のハードウェア資源を拡大しても良い。   Further, when hardware resources such as PEs in the PE matrix 10 are insufficient, the virtual network 35 can be multi-contexted and reconfigured in the PE matrix 10 in a time division manner. Alternatively, the PE matrix 10 of a plurality of devices 1 may be directly connected to virtually expand the hardware resources of the PE matrix 10.

また、この経路探索システム30においては、再構成ユニットであるPEマトリクス10に仮想ネットワークが再構成できれば、ルート検索が可能となる。したがって、異なるルーティングプロトコルが適用される複数のネットワークあるいは複数のASをカバーする範囲のルート検索にも適用できる。   In the route search system 30, if a virtual network can be reconfigured in the PE matrix 10 as a reconfiguration unit, route search is possible. Therefore, the present invention can also be applied to route search in a range that covers a plurality of networks or a plurality of ASs to which different routing protocols are applied.

ルータの概略構成を示す図。The figure which shows schematic structure of a router. 図2(a)はネットワーク行列の一例、図2(b)は対応するネットワークの一例を示す図。FIG. 2A shows an example of a network matrix, and FIG. 2B shows an example of a corresponding network. 図3(a)は、再構成可能なデバイスの一例の概略構成を示し、図3(b)は、PEマトリクスの概略を示し、図3(c)および図3(d)は、PEマトリクスを動的に再構成する様子を示す図。3A shows a schematic configuration of an example of a reconfigurable device, FIG. 3B shows an overview of the PE matrix, and FIGS. 3C and 3D show the PE matrix. The figure which shows a mode that it reconfigures dynamically. PEマトリクスの構成を示す図。The figure which shows the structure of PE matrix. PEの一例の概略構成を示す図。The figure which shows schematic structure of an example of PE. PEの他の例の概略構成を示す図。The figure which shows schematic structure of the other example of PE. ルート探索のターゲットのネットワークの一例を示す図。The figure which shows an example of the network of the target of route search. 仮想ネットワークの一例を示す図。The figure which shows an example of a virtual network. 探索パケットの一例を示す図。The figure which shows an example of a search packet. 経路探索のプロセスを示すフローチャート。The flowchart which shows the process of route search. 経路探索の一例(ステップ1)を示す図。The figure which shows an example (step 1) of route search. 経路探索のステップ2を示す図。The figure which shows step 2 of route search. 経路探索のステップ3を示す図。The figure which shows step 3 of route search. 経路探索のステップ4を示す図。The figure which shows step 4 of route search. 経路探索のステップ5を示す図。The figure which shows step 5 of route search. 経路探索のステップ6を示す図。The figure which shows step 6 of a route search. 経路探索のステップ7を示す図。The figure which shows step 7 of a route search. 経過情報のビットマップを示す図。The figure which shows the bitmap of progress information. 論理積を求めるプロセスの一例を示すフローチャート。The flowchart which shows an example of the process which calculates | requires a logical product. ディスジョイントなルートの組み合わせの一例を示す図。The figure which shows an example of the combination of a disjoint route.

符号の説明Explanation of symbols

1 再構成可能デバイス、 10 PEマトリクス(再構成ユニット)
30 経路探索システム
31 仮想ネットワーク構成ユニット、 32 経路選択ユニット
35 仮想ネットワーク
80 ルーティングユニット
100 ルータ
1 reconfigurable device, 10 PE matrix (reconfigurable unit)
30 Route Search System 31 Virtual Network Configuration Unit, 32 Route Selection Unit 35 Virtual Network 80 Routing Unit 100 Router

Claims (11)

複数のノードと、それらを接続する複数のリンクとを含むネットワークにおいて、ソースノードから、1または複数の宛先ノードへ至る経路を探索するためのシステムであって、
1または複数のルーティングプロトコルにより収集された前記ネットワークの情報に基づき、前記ネットワークに含まれる前記複数のノードにそれぞれ対応する複数の仮想ノードブロックと、前記複数のリンクにそれぞれ対応する複数の仮想リンクとを含む仮想ネットワークをプロセッサにより実現させる仮想ネットワーク構成ユニットを有し、
仮想ネットワーク構成ユニットは、前記複数の仮想ノードブロックのうち、前記ソースノードに対応する仮想ソースノードブロックを、前記仮想ソースノードブロックに繋がった全ての仮想リンクに探索パケットを送信するように構成し、さらに、
前記複数の仮想ノードブロックのそれぞれを、受信した前記探索パケットに、前記受信した探索パケットの通過した仮想リンクおよび/または仮想ノードブロックの情報を含む経過情報を追加し、前記受信した探索パケットを複製した探索パケットを、前記受信した探索パケットの到来した仮想リンクを除き、前記それぞれの仮想ノードブロックに繋がった全ての仮想リンクに送信するように構成し、
さらに、当該システムは、
前記複数の仮想ノードブロックのうち、前記宛先ノードに対応する仮想宛先ノードブロックに到着した複数の前記探索パケットの前記経過情報により、前記ソースノードから前記宛先ノードに至る複数の経路から所定の条件に合致する経路を選択する経路選択ユニットを有する、システム。
A system for searching for a route from a source node to one or more destination nodes in a network including a plurality of nodes and a plurality of links connecting them,
A plurality of virtual node blocks respectively corresponding to the plurality of nodes included in the network , and a plurality of virtual links respectively corresponding to the plurality of links, based on the network information collected by one or a plurality of routing protocols ; Including a virtual network configuration unit that realizes a virtual network including:
The virtual network configuration unit configures a virtual source node block corresponding to the source node among the plurality of virtual node blocks so as to transmit a search packet to all virtual links connected to the virtual source node block, further,
Each of the plurality of virtual node blocks is added to the received search packet with progress information including information on the virtual link and / or virtual node block through which the received search packet has passed, and the received search packet is duplicated. Configured to transmit the search packet to all the virtual links connected to the respective virtual node blocks, excluding the virtual link from which the received search packet has arrived,
Furthermore, the system
Among the plurality of virtual node blocks, the progress information of the plurality of search packets that have arrived at the virtual destination node block corresponding to the destination node is set to a predetermined condition from a plurality of routes from the source node to the destination node. A system having a route selection unit for selecting a matching route.
請求項1において、前記経過情報は、前記通過した仮想リンクおよび/または仮想ノードブロックをビット位置で識別できるビットマップデータを含み、
前記経路選択ユニットは、複数の前記経過情報の前記ビットマップデータのビット単位の論理積を演算することにより、前記ソースノードから前記宛先ノードに至る複数の経路から、ディスジョイントな経路を選択する、システム。
The progress information according to claim 1, wherein the progress information includes bitmap data that can identify the passed virtual link and / or virtual node block by a bit position,
The path selection unit selects a disjoint path from a plurality of paths from the source node to the destination node by calculating a bitwise logical product of the bitmap data of the plurality of pieces of progress information. system.
請求項1または2において、前記プロセッサは、動的に回路を再構成可能な再構成ユニットであって、複数のプロセッシングエレメントと、前記複数のプロセッシングエレメントの接続を動的に変更可能な接続マトリクスとを含む再構成ユニットを有し、3. The reconfiguration unit according to claim 1, wherein the processor is a reconfiguration unit capable of dynamically reconfiguring a circuit, and a plurality of processing elements and a connection matrix capable of dynamically changing the connection of the plurality of processing elements. Having a reconstruction unit including
前記仮想ネットワーク構成ユニットは、前記複数のプロセッシングエレメントにより前記複数の仮想ノードブロックを構成し、前記接続マトリクスにより前記複数の仮想リンクを構成する、システム。The system in which the virtual network configuration unit configures the plurality of virtual node blocks by the plurality of processing elements and configures the plurality of virtual links by the connection matrix.
請求項において、前記複数のプロセッシングエレメントは、遅延量を動的に設定できる複数の遅延エレメントを含み、
前記仮想ネットワークを構成するユニットは、前記接続マトリクスと、前記複数の遅延エレメントとにより、前記複数の仮想リンクを構成し、それぞれの仮想リンクに含まれる遅延エレメントには、対応するリンクのコストに対応する遅延量を設定する、システム。
In Claim 3 , the plurality of processing elements include a plurality of delay elements that can dynamically set the delay amount,
The units constituting the virtual network configure the plurality of virtual links by the connection matrix and the plurality of delay elements, and the delay elements included in the respective virtual links correspond to the cost of the corresponding links. Set the amount of delay to be performed.
請求項3または4において、前記再構成ユニットは、前記複数のプロセッシングエレメントと前記接続マトリクスとを含む前記回路をサイクル単位で再構成可能である、システム。5. The system according to claim 3, wherein the reconfiguration unit can reconfigure the circuit including the plurality of processing elements and the connection matrix on a cycle basis. 請求項3ないし5のいずれかにおいて、前記仮想ネットワーク構成ユニットは、前記仮想ネットワークをマルチコンテキスト化して時分割で前記再構成ユニットに構成する、システム。The system according to any one of claims 3 to 5, wherein the virtual network configuration unit configures the virtual network into the reconfiguration unit in a time-sharing manner by making the virtual network into multiple contexts. 請求項1ないしのいずれかにおいて、前記経路選択ユニットは、前記仮想宛先ノードブロックに到着した順番の早いものから複数の前記探索パケットの前記経過情報により、前記ソースノードから前記宛先ノードに至る複数の経路から所定の条件に合致する経路を選択する、システム。 More in any one of claims 1 to 6, wherein the path selection unit, by the progress information of a plurality of said search packet from those early in the order they arrived to the virtual destination node block, extending from the source node to the destination node A system that selects a route satisfying a predetermined condition from the routes of the system. 請求項1ないしのいずれかにおいて、前記仮想ネットワークを構成するユニットは、前記それぞれの仮想ノードブロックを、前記それぞれの仮想ノードブロックに到着した順番の早いものから複数の探索パケットの複製のみを、前記受信した探索パケットの到来した仮想リンクを除き、前記それぞれの仮想ノードブロックに繋がった全ての仮想リンクに送信するように構成する、システム。 In any one of Claims 1 thru | or 7 , the unit which comprises the said virtual network makes only each copy of a several search packet from the thing with the early order which arrived at each said virtual node block to the said each virtual node block, A system configured to transmit to all virtual links connected to the respective virtual node blocks except for the virtual link on which the received search packet has arrived. 請求項1ないしのいずれかにおいて、前記仮想ネットワークを構成するユニットは、前記それぞれの仮想ノードブロックを、前記通過した仮想リンクおよび/または仮想ノードブロックについての同じ情報を持つ探索パケットを廃棄するように構成する、システム。 In any one of claims 1 to 8, units constituting the virtual network, the respective virtual node block, so as to discard the search packet having the same information for the virtual link and / or virtual nodes block and the passage Configure the system. 複数のノードと、それらを接続する複数のリンクとを含むネットワークにおいて、ソースノードから、1または複数の宛先ノードへ至る経路を、プロセッサを用いて探索する方法であって、
1または複数のルーティングプロトコルにより収集された前記ネットワークの情報に基づき、前記ネットワークに含まれる前記複数のノードにそれぞれ対応する複数の仮想ノードブロックと、前記複数のリンクにそれぞれ対応する複数の仮想リンクとを含む仮想ネットワークであって、前記プロセッサにより実現された仮想ネットワークの、前記複数の仮想ノードブロックのうち、前記ソースノードに対応する仮想ソースノードブロックが、前記仮想ソースノードブロックに繋がった全ての仮想リンクに探索パケットを送信することと、
前記複数の仮想ノードブロックのそれぞれが、受信した前記探索パケットに、前記受信した探索パケットの通過した仮想リンクおよび/または仮想ノードブロックの情報を含む経過情報を追加し、前記受信した探索パケットを複製した探索パケットを、前記受信した探索パケットの到来した仮想リンクを除き、前記それぞれの仮想ノードブロックに繋がった全ての仮想リンクに送信することと、
前記複数の仮想ノードブロックのうち、前記宛先ノードに対応する仮想宛先ノードブロックに到着した複数の前記探索パケットの前記経過情報により、前記ソースノードから前記宛先ノードに至る複数の経路から所定の条件に合致する経路を選択することとを含む方法。
A method for searching a path from a source node to one or more destination nodes using a processor in a network including a plurality of nodes and a plurality of links connecting the nodes,
A plurality of virtual node blocks respectively corresponding to the plurality of nodes included in the network , and a plurality of virtual links respectively corresponding to the plurality of links, based on the network information collected by one or a plurality of routing protocols ; All virtual nodes in which a virtual source node block corresponding to the source node among the plurality of virtual node blocks of the virtual network realized by the processor is connected to the virtual source node block. Sending a search packet on the link;
Each of the plurality of virtual node blocks adds, to the received search packet, progress information including information on the virtual link and / or virtual node block through which the received search packet has passed, and replicates the received search packet. Sending the search packet to all virtual links connected to the respective virtual node blocks, excluding the virtual link from which the received search packet has arrived;
Among the plurality of virtual node blocks, the progress information of the plurality of search packets that have arrived at the virtual destination node block corresponding to the destination node is set to a predetermined condition from a plurality of routes from the source node to the destination node. Selecting a matching route.
請求項10において、前記プロセッサは、複数のプロセッシングエレメントと、前記複数のプロセッシングエレメントの接続を動的に変更可能な接続マトリクスとを含み、動的に回路を再構成可能な再構成ユニットを有し、The processor according to claim 10, wherein the processor includes a reconfiguration unit including a plurality of processing elements and a connection matrix capable of dynamically changing a connection of the plurality of processing elements, and dynamically reconfiguring a circuit. ,
当該方法は、前記送信することの前に、Before the transmission, the method
前記複数のプロセッシングエレメントにより前記複数の仮想ノードブロックを構成し、前記接続マトリクスにより前記複数の仮想リンクを構成し、前記再構成ユニットに前記仮想ネットワークを構成することを含む方法。Configuring the plurality of virtual node blocks by the plurality of processing elements, configuring the plurality of virtual links by the connection matrix, and configuring the virtual network in the reconfiguration unit.
JP2007312648A 2007-12-03 2007-12-03 System and method for searching a path between nodes included in a network Expired - Fee Related JP4894013B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007312648A JP4894013B2 (en) 2007-12-03 2007-12-03 System and method for searching a path between nodes included in a network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007312648A JP4894013B2 (en) 2007-12-03 2007-12-03 System and method for searching a path between nodes included in a network

Publications (3)

Publication Number Publication Date
JP2009141425A JP2009141425A (en) 2009-06-25
JP2009141425A5 JP2009141425A5 (en) 2011-01-27
JP4894013B2 true JP4894013B2 (en) 2012-03-07

Family

ID=40871645

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007312648A Expired - Fee Related JP4894013B2 (en) 2007-12-03 2007-12-03 System and method for searching a path between nodes included in a network

Country Status (1)

Country Link
JP (1) JP4894013B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011077609A1 (en) 2009-12-25 2011-06-30 パナソニック株式会社 Network location recognition system and terminal location recognition device
JP5633281B2 (en) 2010-09-29 2014-12-03 富士通株式会社 Optical communication system, optical network management apparatus, and optical network management method
US9253012B2 (en) * 2010-11-19 2016-02-02 Nec Corporation Path selection device, program and method
WO2012090993A1 (en) 2010-12-28 2012-07-05 日本電気株式会社 Information system, control device, communication method and program
JP6113443B2 (en) * 2012-09-14 2017-04-12 株式会社日立国際電気 Communication system and communication method thereof
US11301514B2 (en) 2013-03-02 2022-04-12 Leon Guzenda System and method to identify islands of nodes within a graph database

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3132996B2 (en) * 1995-03-02 2001-02-05 三菱電機株式会社 Network route setting method and network route setting device
JP2005006235A (en) * 2003-06-16 2005-01-06 Hitachi Ltd Network monitoring system and monitoring method, and program
JP2005229567A (en) * 2004-01-13 2005-08-25 Jiyuuro Takase System for packet communication in neighboring network
JP4654731B2 (en) * 2005-03-31 2011-03-23 富士ゼロックス株式会社 Integrated circuit device and signal processing device
EP1773003B1 (en) * 2005-10-04 2014-01-15 NTT DoCoMo, Inc. Method and apparatus for discovering disjoint routes to multiple service nodes
JP4734539B2 (en) * 2006-05-15 2011-07-27 学校法人慶應義塾 System and method for searching for the shortest path between nodes in a network

Also Published As

Publication number Publication date
JP2009141425A (en) 2009-06-25

Similar Documents

Publication Publication Date Title
US8819616B2 (en) Asymmetric mesh NoC topologies
US20220224656A1 (en) Programmable logic device with integrated network-on-chip
JP6060316B2 (en) Method and system for configuring NoC and computer-readable storage medium
JP6216454B2 (en) System level simulation in network on chip architecture
JP4734539B2 (en) System and method for searching for the shortest path between nodes in a network
Schonwald et al. Fully adaptive fault-tolerant routing algorithm for network-on-chip architectures
JP5276220B2 (en) Bus control device and control device for outputting instructions to bus control device
JP4894013B2 (en) System and method for searching a path between nodes included in a network
US10218581B2 (en) Generation of network-on-chip layout based on user specified topological constraints
JP5703909B2 (en) Information processing apparatus, parallel computer system, and control method of parallel computer system
US10523599B2 (en) Buffer sizing of a NoC through machine learning
US10298485B2 (en) Systems and methods for NoC construction
US20230327976A1 (en) Deadlock-free multipath routing for direct interconnect networks
US9258358B2 (en) Parallel computing system and control method of parallel computing system
KR101784499B1 (en) Apparatus and method for fault tolerlant routing in voltage-frequency-island networks-on-chip, voltage-frequency-island networks-on-chip using the same
US20170060809A1 (en) Automatic generation of physically aware aggregation/distribution networks
JP2010041429A (en) System and method for searching path between nodes included in network
Zeng et al. An efficient highly adaptive and deadlock-free routing algorithm for 3D network-on-chip
Choudhary Bursty Communication Performance Analysis of Network-on-Chip with Diverse Traffic Permutations
Adamu et al. Review of deterministic routing algorithm for network-on-chip
Somisetty et al. Regional Congestion Aware Odd Even Routing with Fair Arbitration for Network on Chip
Alzaben et al. End-to-End Routing Algorithm Based on Max-Flow Min-Cut in SDN Controllers
CN116419363B (en) Data transmission method, communication device, and computer-readable storage medium
Rose et al. Fpga implementation of low latency routing algorithm for 3d network on chip
Morimoto et al. Design and implementation of SDN-enhanced MPI broadcast targeting a fat-tree interconnect

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101201

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111122

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111208

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees