JP7439767B2 - Network interface card, computer, circuit information rewriting method and program - Google Patents

Network interface card, computer, circuit information rewriting method and program Download PDF

Info

Publication number
JP7439767B2
JP7439767B2 JP2020560100A JP2020560100A JP7439767B2 JP 7439767 B2 JP7439767 B2 JP 7439767B2 JP 2020560100 A JP2020560100 A JP 2020560100A JP 2020560100 A JP2020560100 A JP 2020560100A JP 7439767 B2 JP7439767 B2 JP 7439767B2
Authority
JP
Japan
Prior art keywords
programmable logic
logic circuit
mode
circuit
switches
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.)
Active
Application number
JP2020560100A
Other languages
Japanese (ja)
Other versions
JPWO2020122024A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2020122024A1 publication Critical patent/JPWO2020122024A1/en
Application granted granted Critical
Publication of JP7439767B2 publication Critical patent/JP7439767B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Communication Control (AREA)
  • Logic Circuits (AREA)

Description

[関連出願についての記載]
本発明は、日本国特許出願:特願2018-231098号(2018年12月10日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、ネットワークインタフェースカード、コンピュータ、回路情報の書き換え方法及びプログラムに関する。
[Description of related applications]
The present invention is based on the priority claim of Japanese patent application: Japanese Patent Application No. 2018-231098 (filed on December 10, 2018), and the entire contents of the application are incorporated and described in this document by reference. shall be taken as a thing.
The present invention relates to a network interface card, a computer, a method and program for rewriting circuit information.

大規模なデータセンターやVNF(Virtual Network Function)をはじめとした通信事業者の運用設備においてはソフトウェアの仮想化が進み、一台の汎用サーバに複数のシステムを集約した構成が一般的になっている。その一方で、この種の構成では、ソフトウェアで実現していた通信機能については性能不足が指摘されている。 Software virtualization is progressing in the operating facilities of telecommunications carriers, including large-scale data centers and VNFs (Virtual Network Functions), and configurations in which multiple systems are integrated on a single general-purpose server are becoming commonplace. There is. On the other hand, it has been pointed out that this type of configuration lacks performance in terms of communication functions that were implemented using software.

こうした事情から、ネットワークインタフェースカード(以下、NIC)にFPGA(Field-Programmable Gate Array)を載せたSmart NIC(SNIC)と呼ばれる製品が登場している。このSNICは、CPUで実施していたパケットのヘッダやペイロード等の変更、転送といった、いわゆるパケット処理のうち、ソフトウェア処理では性能が出せないような一部モジュールをSNIC内のFPGA回路として実装している。これにより、ソフトウェアボトルネックが解消されて、性能向上を期待できると言われている。 Under these circumstances, a product called a Smart NIC (SNIC) has appeared, which is a network interface card (hereinafter referred to as NIC) equipped with an FPGA (Field-Programmable Gate Array). This SNIC implements some modules in the SNIC as FPGA circuits for so-called packet processing, such as changing and forwarding packet headers and payloads, which were previously performed by the CPU, and whose performance cannot be achieved with software processing. There is. This is expected to eliminate software bottlenecks and improve performance.

特許文献1~4には、FPGAを搭載した通信機器等において通信やサービスを中断せずにFPGAの回路情報の書き換えを行う方法が開示されている。また、特許文献5~6には、サービスを中断せずにファームウェアや制御プログラムの書き換えを行う方法が開示されている。 Patent Documents 1 to 4 disclose methods for rewriting FPGA circuit information without interrupting communications or services in a communication device or the like equipped with an FPGA. Furthermore, Patent Documents 5 and 6 disclose methods for rewriting firmware and control programs without interrupting services.

特開2017-69777号公報JP2017-69777A 国際公開第2017/170311号International Publication No. 2017/170311 特開2015-176343号公報Japanese Patent Application Publication No. 2015-176343 特開2008-177900号公報Japanese Patent Application Publication No. 2008-177900 特開2010-79837号公報Japanese Patent Application Publication No. 2010-79837 特開2007-202068号公報Japanese Patent Application Publication No. 2007-202068

以下の分析は、本発明によって与えられたものである。上記したSNICに代表される機器では、大きな性能改善が見込める一方、FPGAの回路情報の更新が発生しうる。回路情報の更新中は、FPGAの再起動と回路情報の読み出しが必須となるため、その間、処理ができなくなるという問題点がある。この点、特許文献1では、FPGA内部の可変領域に複数の通信処理回路を構成し、いずれか一方を切り替えて動作させるとともに、他方の回路構成を更新できる構成が開示されている。 The following analysis is provided by the present invention. In devices such as the above-mentioned SNIC, although a large performance improvement can be expected, updating of circuit information of the FPGA may occur. While the circuit information is being updated, it is necessary to restart the FPGA and read the circuit information, so there is a problem that processing cannot be performed during this time. In this regard, Patent Document 1 discloses a configuration in which a plurality of communication processing circuits are configured in a variable area inside an FPGA, and one of the communication processing circuits is switched to operate, while the other circuit configuration can be updated.

しかしながら、特許文献1の構成では、可変領域に2つの通信処理回路を配置することになり、回路サイズの制約が生じたり、装置自体が高価になってしまうという問題点がある。この点は、特許文献3、5、6も同様である。 However, in the configuration of Patent Document 1, two communication processing circuits are disposed in the variable region, which poses problems such as restrictions on circuit size and an increase in the cost of the device itself. This point also applies to Patent Documents 3, 5, and 6.

その他、特許文献2は、CPUにFPGAを結合した構成において、FPGAプログラムをバージョンアップしている間、CPUにてFPGAで行っていたVMのデータ処理を代行する構成を開示するに止まっている。また、SNICへの適用を考えた場合、FPGAの処理を代行しうる要素を持っていないので特許文献2の方法は採用し得ない。また、特許文献4の方法は、FPGAのアップグレード中にルータからのデータ送信を一時的に停止させるものであり、狭義の意味でユーザに対するサービスを停止させないものとは言いえない。 In addition, Patent Document 2 only discloses a configuration in which an FPGA is coupled to a CPU, in which the CPU performs VM data processing that was performed by the FPGA while the FPGA program is being upgraded. Furthermore, when considering application to SNIC, the method of Patent Document 2 cannot be adopted because it does not have an element that can substitute for FPGA processing. Further, the method of Patent Document 4 temporarily stops data transmission from the router during an FPGA upgrade, and cannot be said to not stop services to users in a narrow sense.

本発明は、FPGAに代表されるプログラム可能論理回路を搭載したネットワークインタフェースカードにおいて、その回路情報の書き換えに伴うシステムの可用性への影響の低減に貢献できるネットワークインタフェースカード、コンピュータ、回路情報の書き換え方法及びプログラムを提供することを目的とする。 The present invention provides a network interface card, computer, and circuit information rewriting method that can contribute to reducing the impact on system availability caused by rewriting circuit information in a network interface card equipped with a programmable logic circuit represented by an FPGA. and programs.

第1の視点によれば、記録された回路情報に従って入力されたパケットの処理を行うプログラム可能論理回路と、前記プログラム可能論理回路の入力端と、出力端にそれぞれ配置され、前記プログラム可能論理回路にパケットを送る第1のモードと、前記プログラム可能論理回路を経由せずにバイパスする第2のモードとを切り替え可能な1対のスイッチと、前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを実行可能なプロセッサが搭載されたコンピュータに、前記パケットを送信するコンピュータ側インタフェースと、前記プログラム可能論理回路の前記回路情報の書き換えの際に、前記1対のスイッチを第2のモードに切り替えるスイッチ制御回路と、を備え、前記回路情報の書き換え時に、前記プログラム可能論理回路に代わって、前記コンピュータによりパケットの処理を実行可能に構成されているネットワークインタフェースカードが提供される。 According to a first viewpoint, a programmable logic circuit that processes input packets according to recorded circuit information; and a programmable logic circuit disposed at an input end and an output end of the programmable logic circuit, respectively; a pair of switches capable of switching between a first mode in which the packet is sent to the programmable logic circuit and a second mode in which the packet is bypassed without going through the programmable logic circuit; and a switch that processes the packet in place of the programmable logic circuit. a computer-side interface that transmits the packet to a computer equipped with a processor capable of executing a programmable application program; A network interface card is provided, comprising a switch control circuit for switching to a mode, and configured to allow the computer to process packets in place of the programmable logic circuit when rewriting the circuit information.

第2の視点によれば、上記したネットワークインタフェースカードを搭載したコンピュータが提供される。 According to a second viewpoint, a computer equipped with the above network interface card is provided.

第3の視点によれば、記録された回路情報に従って入力されたパケットの処理を行うプログラム可能論理回路と、前記プログラム可能論理回路の入力端と、出力端にそれぞれ配置され、前記プログラム可能論理回路にパケットを送る第1のモードと、前記プログラム可能論理回路を経由せずにバイパスする第2のモードとを切り替え可能な1対のスイッチと、前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを実行可能なプロセッサが搭載されたコンピュータに、前記パケットを送信するコンピュータ側インタフェースと、前記プログラム可能論理回路の前記回路情報の書き換えの際に、前記1対のスイッチを第2のモードに切り替えるスイッチ制御回路と、を備えたネットワークインタフェースカードの前記回路情報の書き換え方法であって、前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを起動し、前記1対のスイッチを、前記第1のモードから前記第2のモードに切り替え、前記回路情報を書き換えた後に、前記1対のスイッチを、前記第2のモードから前記第1のモードに切り替える、回路情報の書き換え方法が提供される。本方法は、ネットワークインタフェースカードを搭載したコンピュータという、特定の機械に結びつけられている。 According to a third aspect, a programmable logic circuit that processes input packets according to recorded circuit information; and a programmable logic circuit that is arranged at an input end and an output end of the programmable logic circuit, respectively; a pair of switches capable of switching between a first mode in which the packet is sent to the programmable logic circuit and a second mode in which the packet is bypassed without going through the programmable logic circuit; and a switch that processes the packet in place of the programmable logic circuit. a computer-side interface that transmits the packet to a computer equipped with a processor capable of executing a programmable application program; a switch control circuit for switching to a mode, the method for rewriting the circuit information of a network interface card, comprising: starting an application program capable of executing packet processing in place of the programmable logic circuit; rewriting the circuit information by switching the switch from the first mode to the second mode and rewriting the circuit information, and then switching the pair of switches from the second mode to the first mode; A method is provided. The method is tied to a specific machine, a computer equipped with a network interface card.

第4の視点によれば、記録された回路情報に従って入力されたパケットの処理を行うプログラム可能論理回路と、前記プログラム可能論理回路の入力端と、出力端にそれぞれ配置され、前記プログラム可能論理回路にパケットを送る第1のモードと、前記プログラム可能論理回路を経由せずにバイパスする第2のモードとを切り替え可能な1対のスイッチと、前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを実行可能なプロセッサが搭載されたコンピュータに、前記パケットを送信するコンピュータ側インタフェースと、前記プログラム可能論理回路の前記回路情報の書き換えの際に、前記1対のスイッチを第2のモードに切り替えるスイッチ制御回路と、を備えたネットワークインタフェースカードの前記回路情報の書き換えプログラムであって、前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを起動する処理と、前記1対のスイッチを、前記第1のモードから前記第2のモードに切り替える処理と、前記回路情報を書き換えた後に、前記1対のスイッチを、前記第2のモードから前記第1のモードに切り替える処理と、を前記コンピュータに実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な(非トランジトリーな)記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。 According to a fourth aspect, a programmable logic circuit that processes input packets according to recorded circuit information; and a programmable logic circuit disposed at an input end and an output end of the programmable logic circuit, respectively; a pair of switches capable of switching between a first mode in which the packet is sent to the programmable logic circuit and a second mode in which the packet is bypassed without going through the programmable logic circuit; and a switch that processes the packet in place of the programmable logic circuit. a computer-side interface that transmits the packet to a computer equipped with a processor capable of executing a programmable application program; a switch control circuit for switching to a mode, a program for rewriting the circuit information of a network interface card, the program comprising: starting an application program capable of executing packet processing in place of the programmable logic circuit; A process of switching a pair of switches from the first mode to the second mode, and a process of switching the pair of switches from the second mode to the first mode after rewriting the circuit information. A program is provided that causes the computer to execute the following. Note that this program can be recorded on a computer-readable (non-transitory) storage medium. That is, the present invention can also be implemented as a computer program product.

本発明によれば、プログラム可能論理回路を搭載したネットワークインタフェースカードにおいて、その回路情報の書き換えに伴うシステムの可用性への影響を低減することが可能となる。即ち、本発明は、背景技術に示したネットワークインタフェースカードを、回路情報の書き換えに伴い可用性が損なわれる可能性の少ないものへと変換するものとなっている。 According to the present invention, in a network interface card equipped with a programmable logic circuit, it is possible to reduce the impact on system availability caused by rewriting the circuit information. That is, the present invention converts the network interface card described in the background art into one in which availability is less likely to be impaired due to rewriting of circuit information.

本発明の一実施形態の構成を示す図である。FIG. 1 is a diagram showing the configuration of an embodiment of the present invention. 本発明の一実施形態の動作を説明するための図である。FIG. 3 is a diagram for explaining the operation of an embodiment of the present invention. 本発明の一実施形態の動作を説明するための図である。FIG. 3 is a diagram for explaining the operation of an embodiment of the present invention. 本発明の第1の実施形態の構成を示す図である。FIG. 1 is a diagram showing the configuration of a first embodiment of the present invention. 本発明の第1の実施形態の動作を表したフローチャートである。3 is a flowchart showing the operation of the first embodiment of the present invention. 本発明の第1の実施形態のFPGAの更新処理の詳細を表したフローチャートである。2 is a flowchart showing details of an FPGA update process according to the first embodiment of the present invention. 本発明の第2の実施形態の構成を示す図である。It is a figure showing the composition of the 2nd embodiment of the present invention. 本発明の第2の実施形態の動作を表したフローチャートである。It is a flowchart showing the operation of the second embodiment of the present invention. 本発明の第3の実施形態の構成を示す図である。It is a figure showing the composition of the 3rd embodiment of the present invention. 本発明のネットワークインタフェースカードを搭載コンピュータの構成を示す図である。1 is a diagram showing the configuration of a computer equipped with a network interface card of the present invention.

はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。また、以降の説明で参照する図面等のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。また、図中の各ブロックの入出力の接続点には、ポート乃至インタフェースがあるが図示省略する。プログラムはコンピュータ装置を介して実行され、コンピュータ装置は、例えば、プロセッサ、記憶装置、入力装置、通信インタフェース、及び必要に応じ表示装置を備える。また、コンピュータ装置は、通信インタフェースを介して装置内又は外部の機器(コンピュータを含む)と、有線、無線を問わず、交信可能に構成される。また、以下の説明において、「A及び/又はB」は、A及びBの少なくともいずれかという意味で用いる。 First, an overview of an embodiment of the present invention will be described with reference to the drawings. Note that the drawing reference numerals added to this summary are added to each element for convenience as an example to aid understanding, and are not intended to limit the present invention to the illustrated embodiment. Furthermore, connection lines between blocks in the drawings and the like referred to in the following description include both bidirectional and unidirectional connections. The unidirectional arrows schematically indicate the main signal (data) flow, and do not exclude bidirectionality. Also, ports or interfaces are provided at the input/output connection points of each block in the figure, but they are not shown. The program is executed via a computer device, and the computer device includes, for example, a processor, a storage device, an input device, a communication interface, and, if necessary, a display device. Further, the computer device is configured to be able to communicate with equipment within the device or externally (including a computer) via a communication interface, regardless of whether it is wired or wireless. Furthermore, in the following description, "A and/or B" is used to mean at least one of A and B.

本発明は、その一実施形態において、図1に示すように、プログラム可能論理回路11と、1対のスイッチ12、13と、コンピュータ側インタフェース(IF)14と、スイッチ制御回路15と、を備えるネットワークインタフェースカード10にて実現できる。 In one embodiment of the present invention, as shown in FIG. 1, the present invention includes a programmable logic circuit 11, a pair of switches 12 and 13, a computer side interface (IF) 14, and a switch control circuit 15. This can be realized using the network interface card 10.

より具体的には、プログラム可能論理回路11は、記録された回路情報に従って入力されたパケットの処理を行う。スイッチ12、13は、それぞれ前記プログラム可能論理回路11の入力端と、出力端にそれぞれ配置される。そして、このスイッチ12、13はプログラム可能論理回路11にパケットを送る第1のモードと、前記プログラム可能論理回路11を経由せずにバイパスする第2のモードとを切り替え可能に構成される。コンピュータ20は、プログラム可能論理回路11に代わり、パケットの処理を実行可能なアプリケーションプログラムを実行可能なプロセッサが搭載されている。そして、コンピュータ側インタフェース(IF)14は、コンピュータ20に、パケットを送信可能となっている。スイッチ制御回路15は、プログラム可能論理回路11の前記回路情報の書き換えの際に、1対のスイッチ12、13を第2のモードに切替可能となっている。上記構成において、ネットワークインタフェースカード10は、前記回路情報の書き換え時に、前記プログラム可能論理回路11に代わって、前記コンピュータによりパケットの処理を実行する。 More specifically, the programmable logic circuit 11 processes input packets according to recorded circuit information. Switches 12 and 13 are arranged at the input and output ends of the programmable logic circuit 11, respectively. The switches 12 and 13 are configured to be able to switch between a first mode in which packets are sent to the programmable logic circuit 11 and a second mode in which packets are bypassed without going through the programmable logic circuit 11. In place of the programmable logic circuit 11, the computer 20 is equipped with a processor capable of executing an application program capable of processing packets. The computer side interface (IF) 14 is capable of transmitting packets to the computer 20. The switch control circuit 15 is capable of switching the pair of switches 12 and 13 to the second mode when rewriting the circuit information of the programmable logic circuit 11. In the above configuration, the network interface card 10 uses the computer to process packets instead of the programmable logic circuit 11 when rewriting the circuit information.

例えば、通常の動作時、図2に示すように、1対のスイッチ12、13は、プログラム可能論理回路11にパケットを送る第1のモードに設定されている。これにより、上述したSNICと同様に、ソフトウェアボトルネックが解消し、性能向上を見込むことができるようになっている。 For example, during normal operation, a pair of switches 12, 13 are set to a first mode that sends packets to programmable logic circuit 11, as shown in FIG. As a result, similar to the SNIC described above, software bottlenecks are eliminated and performance can be expected to improve.

一方、プログラム可能論理回路11の前記回路情報の書き換えの際、1対のスイッチ12、13は、図3に示すように、第2のモードに切り替えられる。そして、プログラム可能論理回路11の前記回路情報の書き換えの間、前記プログラム可能論理回路11に代わって、前記コンピュータによりパケットを処理させる。従って、ユーザに対するサービスを停止させずに、プログラム可能論理回路11の回路情報の書き換えを実施することが可能となっている。 On the other hand, when rewriting the circuit information of the programmable logic circuit 11, the pair of switches 12 and 13 are switched to the second mode, as shown in FIG. Then, while the circuit information of the programmable logic circuit 11 is being rewritten, the computer processes the packet instead of the programmable logic circuit 11. Therefore, it is possible to rewrite the circuit information of the programmable logic circuit 11 without stopping the service to the user.

[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図4は、本発明の第1の実施形態の構成を示す図である。図4を参照すると、SNIC100を搭載したIAサーバ200と、そのIAサーバ200上で動作するプログラム群(APL/OS)210の詳細構成が示されている。なお、IAサーバ200は、Intel Architectureサーバの略である。また、APL/OSは、それぞれ、Application、Operating Systemの略である。
[First embodiment]
Next, a first embodiment of the present invention will be described in detail with reference to the drawings. FIG. 4 is a diagram showing the configuration of the first embodiment of the present invention. Referring to FIG. 4, a detailed configuration of an IA server 200 equipped with the SNIC 100 and a program group (APL/OS) 210 running on the IA server 200 is shown. Note that the IA server 200 is an abbreviation for Intel Architecture server. Furthermore, APL/OS is an abbreviation for Application and Operating System, respectively.

図4のAPP201は、SNIC100を用いてネットワーク側と授受するパケットを処理するパケット処理プログラム本体を示す。APP201は、NIC Driver203を使用してSNIC100でパケット受送信を行う。また、APP201は、FPGA Driver204経由で、FPGA111の回路情報を制御し、また管理可能となっている。 APP201 in FIG. 4 indicates a packet processing program main body that processes packets exchanged with the network side using the SNIC 100. The APP 201 uses the NIC Driver 203 to send and receive packets on the SNIC 100 . Further, the APP 201 can control and manage the circuit information of the FPGA 111 via the FPGA Driver 204.

APP201は、FPGA Driver204経由で、S-SW112、N-SW113に対し、動作モードの切り替えや、例外パケット(後述)を特定するためのルールを指示する。また、APP201は、Alt-SIM202の起動、停止を管理する。具体的には、APP201は、FPGA111の更新開始前に、Alt-SIM202を起動し、FPGA111に代わって、Alt-SIM202を使用して一連のパケット処理を実行できるように制御する。また、APP201は、FPGA111の起動通知を受けて、Alt-SIM202が不要になればAlt-SIM202を停止する。 The APP 201 instructs the S-SW 112 and N-SW 113 via the FPGA Driver 204 regarding rules for switching operation modes and identifying exceptional packets (described later). Further, the APP 201 manages starting and stopping the Alt-SIM 202 . Specifically, the APP 201 activates the Alt-SIM 202 before starting the update of the FPGA 111, and controls the Alt-SIM 202 to perform a series of packet processing instead of the FPGA 111. Further, upon receiving the activation notification of the FPGA 111, the APP 201 stops the Alt-SIM 202 when the Alt-SIM 202 becomes unnecessary.

また、APP201は、Alt-SIM202とFPGA111間で、FPGA111のパケットカウント情報等のメモリ内容を同期するメモリ同期を補助する機能を担う。このメモリ同期は、例えば、OS上にFPGA111との同期用メモリ空間を用意しておき、FPGA111内のmodules120(後述)との定期的なパケット授受により、DRAM118の情報を同期する方法を採ることができる。また、APP201は、FPGA111の更新開始前に、メモリ同期を完了させるべく、Alt-SIM202へ、前記OS内に用意した同期済みのメモリ領域(空間)を渡す機能を具備する。また、APP201は、FPGA111へ処理を切り替える前に、Alt-SIM202とFPGA111間のメモリ同期を行う。このときのmodules120(後述)とのメモリ同期用のパケットを例外パケットという。例外パケットの具体例については後に詳述する。 Further, the APP 201 has a function of assisting memory synchronization between the Alt-SIM 202 and the FPGA 111, which synchronizes memory contents such as packet count information of the FPGA 111. For this memory synchronization, for example, a method may be adopted in which a memory space for synchronization with the FPGA 111 is prepared on the OS, and information in the DRAM 118 is synchronized by periodically exchanging packets with the modules 120 (described later) in the FPGA 111. can. Furthermore, the APP 201 has a function of passing a synchronized memory area (space) prepared in the OS to the Alt-SIM 202 in order to complete memory synchronization before starting the update of the FPGA 111. Furthermore, the APP 201 performs memory synchronization between the Alt-SIM 202 and the FPGA 111 before switching processing to the FPGA 111. A packet for memory synchronization with the modules 120 (described later) at this time is called an exception packet. A specific example of the exception packet will be detailed later.

NIC Driver203は、SNIC100のパケット送受信を制御するドライバである。 The NIC Driver 203 is a driver that controls packet transmission and reception of the SNIC 100.

FPGA Driver204は、SNIC100内のFPGA111を制御するためのドライバである。FPGAの回路情報の更新等は、このドライバを使って実行することができる。また、FPGA Driver204は、FPGA111の起動完了等をAPP201に通知する。 The FPGA Driver 204 is a driver for controlling the FPGA 111 within the SNIC 100. Updating the circuit information of the FPGA, etc. can be executed using this driver. Further, the FPGA Driver 204 notifies the APP 201 of completion of startup of the FPGA 111 and the like.

CPU/RAM205は、IAサーバ200に代表されるコンピュータを構成する一般的な物理部品群を示している(図10参照)。なお、CPUは、Central Processing Unitの略であり、RAMは、Random Access Memoryの略である。 The CPU/RAM 205 represents a general group of physical components that constitute a computer typified by the IA server 200 (see FIG. 10). Note that CPU is an abbreviation for Central Processing Unit, and RAM is an abbreviation for Random Access Memory.

続いて、SNIC100の構成について説明する。図4を参照すると、FPGA111と、S-SW112と、N-SW113と、Ether Network Controller114と、PCIE Controller115と、QSFP117、FLASH119とを備えた構成が示されている。 Next, the configuration of the SNIC 100 will be explained. Referring to FIG. 4, a configuration including an FPGA 111, an S-SW 112, an N-SW 113, an Ether Network Controller 114, a PCIE Controller 115, a QSFP 117, and a FLASH 119 is shown.

FPGA111は、任意の回路情報に書き換え可能な領域(Writable FPGA)116と、恒久的な回路とで構成されて、回路情報によって定義された処理ロジックに従って入力されたパケットを処理する。また、FPGAは、起動時に、FLASH119から回路情報をロードして、書き換え可能領域(Writable FPGA)116に回路情報を書き込む。図4において、この回路情報はmodules120として示されている。FPGA111は、FLASH119、PCIE Controller115、DRAM118との専用インタフェースを持っている。図4において、これらはそれぞれFLASH-IF、PCIE-IF、RAM-IFで示されている。 The FPGA 111 includes an area (Writable FPGA) 116 that can be rewritten with arbitrary circuit information and a permanent circuit, and processes input packets according to processing logic defined by the circuit information. Furthermore, at startup, the FPGA loads circuit information from the FLASH 119 and writes the circuit information into a rewritable area (Writable FPGA) 116 . In FIG. 4, this circuit information is shown as modules 120. The FPGA 111 has dedicated interfaces with the FLASH 119, PCIE Controller 115, and DRAM 118. In FIG. 4, these are indicated as FLASH-IF, PCIE-IF, and RAM-IF, respectively.

Ether Network Controller114は、SNIC100内の低レイヤのネットワーク処理を行う専用ハードウェアチップである。Ether Network Controller114が、上記したOSや各種ドライバとのインタフェースを提供する。従って、Ether Network Controller114が、上記したコンピュータ側インタフェース(IF)14としての機能を担うことになる。 The Ether Network Controller 114 is a dedicated hardware chip that performs low layer network processing within the SNIC 100. The Ether Network Controller 114 provides an interface with the above-mentioned OS and various drivers. Therefore, the Ether Network Controller 114 takes on the function of the computer-side interface (IF) 14 described above.

PCIE Controller115は、FPGA111を制御するためのハードウェアモジュールである。具体的には、PCIE Controller115は、FPGA Driverからの制御に従い、FPGA111に対し、FPGA111の再起動やその回路情報の更新を命令する。また、PCIE Controller115は、FPGA Driver経由でAPP201側に、FPGA111の状態を通知する。また、PCIE Controller115は、APP201からの指示に従い、S-SW112、N-SW113を切り替えるスイッチ制御回路(スイッチ制御回路15参照)としても機能する。 PCIE Controller 115 is a hardware module for controlling FPGA 111. Specifically, the PCIE Controller 115 instructs the FPGA 111 to restart the FPGA 111 and update its circuit information under control from the FPGA Driver. Further, the PCIE Controller 115 notifies the state of the FPGA 111 to the APP 201 via the FPGA Driver. The PCIE Controller 115 also functions as a switch control circuit (see switch control circuit 15) that switches the S-SW 112 and N-SW 113 according to instructions from the APP 201.

FLASH119は、不揮発性のフラッシュメモリで構成され、FPGA111の回路情報を保持する。FLASH119の書き換えは、外部記憶媒体等から、CPU上のOSもしくはNIC Driver203を経由してFLASH119に書き出すことで実施できる。 The FLASH 119 is composed of a non-volatile flash memory and holds circuit information of the FPGA 111. Rewriting of the FLASH 119 can be performed by writing to the FLASH 119 from an external storage medium or the like via the OS on the CPU or the NIC Driver 203.

DRAM118は、SNIC100内に具備されているDynamicRAMである。DRAM118は、一般的に揮発性であり、FPGA111内のmodules120が処理の一時的な情報を記憶するために使用される。 DRAM 118 is a Dynamic RAM included in SNIC 100. DRAM 118 is generally volatile and is used by modules 120 in FPGA 111 to store temporary information for processing.

modules120は、FPGA111の書き変え可能領域(Writable FPGA)116に書き込まれた処理ロジックである。このmodules120は、APP201の処理の一部のオフロード先として機能することで、システム全体のソフトウェアボトルネックが解消される。さらに、modules120は、DRAMの情報をパケット化して、APP201とのパケット授受により、APP201経由でAlt-SIM202とメモリ同期する機構を持つ。 The modules 120 are processing logic written in the rewritable area (Writable FPGA) 116 of the FPGA 111 . The modules 120 function as an offload destination for part of the processing of the APP 201, thereby eliminating the software bottleneck of the entire system. Furthermore, the modules 120 has a mechanism for packetizing information in the DRAM and performing memory synchronization with the Alt-SIM 202 via the APP 201 by exchanging packets with the APP 201 .

QSFP117は、SNIC100のパケット入力用のインタフェースである。このQSFP117は、ケーブルの結線ポイントになる。なお、QSFPは、Quad Small Form-factor Pluggableの略であり、トランシーバの規格である。 The QSFP 117 is an interface for inputting packets to the SNIC 100. This QSFP 117 becomes a cable connection point. Note that QSFP is an abbreviation for Quad Small Form-factor Pluggable and is a transceiver standard.

続いて、上記したFPGA111の回路情報の更新中に、パケット処理を継続させるための構成について説明する。 Next, a configuration for continuing packet processing while updating the circuit information of the FPGA 111 described above will be described.

S-SW112は、SNIC100のQSFP117経由で外部から受信したパケット(上りパケット)をFPGA111へ転送するか、もしくはFPGA111を経由しないでN-SW113に転送するかを判断、実行するモジュールである。また、S-SW112は、QSFP117を介して、N-SW113もしくは、FPGA111から受信したパケット(下りパケット)をSNIC外へ転送する機能を具備する。 The S-SW 112 is a module that determines and executes whether to transfer a packet (upstream packet) received from the outside via the QSFP 117 of the SNIC 100 to the FPGA 111 or to the N-SW 113 without passing through the FPGA 111. Further, the S-SW 112 has a function of transferring a packet (downstream packet) received from the N-SW 113 or the FPGA 111 to outside the SNIC via the QSFP 117.

S-SW112には、下記の2種類の動作モードがあり、APP201により、PCIE Controller115経由で動作モードを切り替えられる。 The S-SW 112 has the following two operating modes, and the operating mode can be switched by the APP 201 via the PCIE Controller 115.

A)FPGA経由モード(第1のモードに相当):
S-SW112は、上りパケットをFPGA111へ転送する。
B)バイパスモード(第2のモードに相当):
S-SW112は、上りパケットのうち例外パケット以外をすべてN-SW113へ転送し、例外パケットをFPGA111へ転送する。ここで、例外パケットとは、PCIE Controller115経由でAPP201より指示されたルールにマッチしたパケットを指す。例えば、例外パケットとして、特定のVLANのID(VID)や、特定MACアドレス等を持つパケットを指定することができ、該当するパケットをFPGA111に送ることができる。本実施形態では、この例外パケットをメモリ同期に用いている。その詳細は後述する。
A) FPGA via mode (corresponding to the first mode):
The S-SW 112 transfers the upstream packet to the FPGA 111.
B) Bypass mode (corresponds to the second mode):
The S-SW 112 transfers all upstream packets other than exception packets to the N-SW 113, and transfers the exception packets to the FPGA 111. Here, the exception packet refers to a packet that matches a rule instructed by the APP 201 via the PCIE Controller 115. For example, a packet having a specific VLAN ID (VID), a specific MAC address, etc. can be specified as an exception packet, and the corresponding packet can be sent to the FPGA 111. In this embodiment, this exception packet is used for memory synchronization. The details will be described later.

N-SW113は、Ether Network Controller114から受信したパケット(下りパケット)をFPGA111へ転送するか、もしくはFPGA111を経由しないでS-SW112に転送するかを判断、実行するモジュールである。また、N-SW113は、SNIC100のFPGA111もしくはS-SW112から受信したパケット(上りパケット)を、Ether Network Controller114へ転送する機能を具備する。 The N-SW 113 is a module that determines and executes whether to transfer a packet (downlink packet) received from the Ether Network Controller 114 to the FPGA 111 or to the S-SW 112 without passing through the FPGA 111. Further, the N-SW 113 has a function of transferring a packet (upstream packet) received from the FPGA 111 or the S-SW 112 of the SNIC 100 to the Ether Network Controller 114.

N-SW113には、下記の2種類の動作モードがあり、S-SW112と同様に、APP201により、PCIE Controller115経由で動作モードを切り替えられる。 The N-SW 113 has the following two operating modes, and like the S-SW 112, the operating mode can be switched by the APP 201 via the PCIE Controller 115.

A)FPGA経由モード(第1のモードに相当):
N-SW113は、下りパケットをFPGAへ転送する。
B)バイパスモード(第2のモードに相当):
N-SW113は、下りパケットのうち例外パケット以外をすべてS-SW112へ転送し、例外パケットをFPGA111へ転送する。ここで、例外パケットとは、PCIE Controller115経由でAPP201より指示されたルールにマッチしたパケットを指す。例えば、例外パケットとして、特定のVLANのID(VID)や、特定MACアドレス等を持つパケットを指定することができ、該当するパケットをFPGA111に送ることができる。
A) FPGA via mode (corresponds to the first mode):
The N-SW 113 transfers the downlink packet to the FPGA.
B) Bypass mode (corresponds to the second mode):
The N-SW 113 transfers all downstream packets other than the exception packet to the S-SW 112, and transfers the exception packet to the FPGA 111. Here, the exception packet refers to a packet that matches a rule instructed by the APP 201 via the PCIE Controller 115. For example, a packet having a specific VLAN ID (VID), a specific MAC address, etc. can be specified as an exception packet, and the corresponding packet can be sent to the FPGA 111.

Alt-SIM202は、FPGA111内のmodules120と同等の処理を行う代替モジュール(コンピュータプログラム)である。FPGA111内のmodules120が動作できないときに、切り替えて利用できる。ただし、Alt-SIM202の処理性能は、FPGA111のAlt-SIM202より低いものであってもよい。 The Alt-SIM 202 is an alternative module (computer program) that performs the same processing as the modules 120 in the FPGA 111. It can be switched and used when the modules 120 in the FPGA 111 cannot operate. However, the processing performance of the Alt-SIM 202 may be lower than that of the Alt-SIM 202 of the FPGA 111.

続いて、本実施形態の動作について図面を参照して詳細に説明する。図5は、本発明の第1の実施形態の動作を表したフローチャートである。図5を参照すると、まず、APP201は、FPGA111の回路を更新するため、Alt-SIM202を起動する(ステップS001)。 Next, the operation of this embodiment will be explained in detail with reference to the drawings. FIG. 5 is a flowchart showing the operation of the first embodiment of the present invention. Referring to FIG. 5, first, the APP 201 activates the Alt-SIM 202 in order to update the circuit of the FPGA 111 (step S001).

次に、APP201は、FPGA111とのメモリ同期を行う(ステップS002)。このメモリ同期は、最後の同期からの差分を反映することで実施できる。 Next, the APP 201 performs memory synchronization with the FPGA 111 (step S002). This memory synchronization can be performed by reflecting the difference from the last synchronization.

次に、APP201は、Alt-SIM202の起動を確認後、Alt-SIM202に、FPGA111との同期済のメモリ領域を渡す(ステップS003)。以降、Alt-SIM202はmodules120と同等の処理を実行できる状態になる。 Next, after confirming the activation of the Alt-SIM 202, the APP 201 passes the memory area that has been synchronized with the FPGA 111 to the Alt-SIM 202 (step S003). Thereafter, the Alt-SIM 202 is in a state where it can execute the same processing as the modules 120.

次に、APP201は、FPGA Driver204経由でN-SW113及びS-SW112をバイパスモードに切り替える(ステップS004)。このとき、メモリ同期用のパケットを通すために、APP201は、N-SW113及びS-SW112に対し、メモリ同期用の例外パケットを特定するためのルールを指定する。 Next, the APP 201 switches the N-SW 113 and the S-SW 112 to bypass mode via the FPGA Driver 204 (step S004). At this time, in order to pass the memory synchronization packet, the APP 201 specifies a rule for specifying the exception packet for memory synchronization to the N-SW 113 and S-SW 112.

次に、APP201は、NIC Driver203から受信したパケットをAlt-SIM202を用いてパケット処理するように動作を切り変える(ステップS005)。具体的には、NIC Driver203から受信したパケットをAlt-SIM202に渡し、Alt-SIM202から出力されたパケットをN-SW113側に送る処理を行う。 Next, the APP 201 switches its operation to process the packet received from the NIC Driver 203 using the Alt-SIM 202 (step S005). Specifically, a process is performed in which the packet received from the NIC Driver 203 is passed to the Alt-SIM 202, and the packet output from the Alt-SIM 202 is sent to the N-SW 113 side.

次に、APP201は、FPGA Driver204に対し、FPGA111の更新を指示する(ステップS006)。以降、FPGA111側で回路情報の更新が行われる。 Next, the APP 201 instructs the FPGA Driver 204 to update the FPGA 111 (step S006). Thereafter, circuit information is updated on the FPGA 111 side.

図6は、本実施形態におけるFPGA111の更新処理の詳細を表したフローチャートである。FPGA Driver204は、APP201からFPGA111の更新指示を受信すると(ステップS101)、新しい回路情報をダウンロードし、FLASH119に配置する(ステップS102)。 FIG. 6 is a flowchart showing details of update processing of the FPGA 111 in this embodiment. When the FPGA Driver 204 receives an update instruction for the FPGA 111 from the APP 201 (Step S101), the FPGA Driver 204 downloads new circuit information and places it in the FLASH 119 (Step S102).

次に、FPGA Driver204は、FPGA111に再起動を指示する(ステップS103)。 Next, the FPGA driver 204 instructs the FPGA 111 to restart (step S103).

次に、FPGA111は再起動し、FLASH119から新しい回路情報をロードする(ステップS104)。 Next, the FPGA 111 restarts and loads new circuit information from the FLASH 119 (step S104).

以降、FPGA111は、新しい回路情報にて動作を開始する(ステップS105)。FPGA Driver204は、FPGA111の起動完了をAPP201に通知する(ステップS106)。 Thereafter, the FPGA 111 starts operating using the new circuit information (step S105). The FPGA Driver 204 notifies the APP 201 of the completion of startup of the FPGA 111 (step S106).

再度、図5を参照して、上記FPGA111の起動完了後の動作を説明する。APP201は、前記FPGA111の起動完了通知を受け取ると(ステップS008)、Alt-SIM202とFPGA111間のメモリ同期を行う(ステップS009)。 Referring again to FIG. 5, the operation of the FPGA 111 after startup is completed will be described. When the APP 201 receives the activation completion notification of the FPGA 111 (step S008), it performs memory synchronization between the Alt-SIM 202 and the FPGA 111 (step S009).

メモリ同期の完了後、APP201は、FPGA Driver204に対し、S-SW112及びN-SW113をFPGAモードに切り替えるよう指示する(ステップS010)。 After the memory synchronization is completed, the APP 201 instructs the FPGA Driver 204 to switch the S-SW 112 and N-SW 113 to the FPGA mode (step S010).

最後に、APP201は、Alt-SIM202を停止する(ステップS011)。 Finally, the APP 201 stops the Alt-SIM 202 (step S011).

以上説明したとおり、本実施形態によれば、FPGA111の回路情報の更新中もS-SW112、N-SW113にパケットの転送を継続させ、代替モジュールにてパケットの処理を行わせ、サービスを継続することができる。具体的には、上記図6に示したFPGA111更新時においても、代替モジュールとして、Alt-SIM202が処理を続けることで、サービスの完全停止を防ぐことができる。また、上記した説明からも明らかなように、本実施形態は、背景技術に記載した特許文献記載の手法との対比においても、FPGA111の書き変え可能な領域116を十分に利用できるという利点がある。 As explained above, according to this embodiment, even while the circuit information of the FPGA 111 is being updated, the S-SW 112 and N-SW 113 continue to transfer packets, the alternative module processes the packets, and the service continues. be able to. Specifically, even when the FPGA 111 shown in FIG. 6 is updated, the Alt-SIM 202 continues processing as an alternative module, thereby preventing the service from completely stopping. Further, as is clear from the above description, this embodiment has the advantage that the rewritable area 116 of the FPGA 111 can be fully utilized, even in comparison with the method described in the patent document described in the background art. .

なお、上記した実施形態では、メモリ同期のために、S-SW112、N-SW113のバイパスモードで例外パケットの設定を行っているが、SNIC100とAPP201との間には仮想スイッチが介在する場合も想定される。この場合、仮想スイッチにも例外パケットが通るように適切な設定を行えばよい。例えば、仮想スイッチを制御するSDN(Software Defined Network)コントローラに適切な指示を出せばよい。この場合においても、メモリ同期用のパケットを他のパケットとは独立するように扱うことで、メモリの同期を実施することができる。 Note that in the above embodiment, exception packets are set in the bypass mode of the S-SW 112 and N-SW 113 for memory synchronization, but a virtual switch may be interposed between the SNIC 100 and the APP 201. is assumed. In this case, appropriate settings can be made to allow the exception packet to pass through the virtual switch as well. For example, an appropriate instruction may be issued to an SDN (Software Defined Network) controller that controls the virtual switch. Even in this case, memory synchronization can be performed by treating the memory synchronization packet independently from other packets.

[第2の実施形態]
続いて、メモリ同期を行う構成に変更を加えた本発明の第2の実施形態について図面を参照して詳細に説明する。図7は、本発明の第2の実施形態の構成を示す図である。図4に示した第1の実施形態との相違点は、DRAM118とFPGA111との間にD-CTRL121というモジュールが追加されている点である。また、これに伴い、PCIE Controller115aと、APP201aに変更が加えられている。その他の構成は、基本的に第1の実施形態と同様であるので、以下、その相違点を中心に説明する。
[Second embodiment]
Next, a second embodiment of the present invention in which the configuration for performing memory synchronization is modified will be described in detail with reference to the drawings. FIG. 7 is a diagram showing the configuration of the second embodiment of the present invention. The difference from the first embodiment shown in FIG. 4 is that a module called D-CTRL 121 is added between the DRAM 118 and the FPGA 111. Further, in accordance with this, changes have been made to the PCIE Controller 115a and the APP 201a. Since the other configurations are basically the same as those of the first embodiment, the differences will be mainly described below.

本実施形態では、DRAM118が、FPGA111の再起動中でも通電しており、内部の記憶情報が消えない特性を利用する。すなわち、FPGA111の再起動中においてもAlt-SIM202からDRAM118を直接参照させることで、メモリ同期自体を省略可能としている。そして、FPGA111起動完了後は、DRAM118をFPGAに再アタッチしてやることで、FPGA111は処理を継続できる。 This embodiment utilizes the characteristic that the DRAM 118 is energized even when the FPGA 111 is restarted, and the internal storage information does not disappear. That is, by having the Alt-SIM 202 directly refer to the DRAM 118 even while the FPGA 111 is being restarted, memory synchronization itself can be omitted. After the startup of the FPGA 111 is completed, the FPGA 111 can continue processing by reattaching the DRAM 118 to the FPGA.

D-CTRL121は、FPGA111又はAlt-SIM202からDRAM118へのアクセスを制御するモジュール(メモリ制御部)である。D-CTRL121は、PCIE Controller115aとも結線されている。D-CTRL121は、通常時においては、FPGA111からのアクセスのみを許容する。PCIE Controller115aからの指示があった場合、D-CTRL121は、Alt-SIM202に代表されるOS上のアプリケーションに、DRAM118の一部もしくは全領域を割り当てる制御を行う。 The D-CTRL 121 is a module (memory control unit) that controls access from the FPGA 111 or Alt-SIM 202 to the DRAM 118. The D-CTRL 121 is also connected to the PCIE Controller 115a. The D-CTRL 121 only allows access from the FPGA 111 during normal times. When there is an instruction from the PCIE Controller 115a, the D-CTRL 121 performs control to allocate part or all of the area of the DRAM 118 to an application on the OS represented by the Alt-SIM 202.

PCIE Controller115aは、FPGA111を制御するためのハードウェアモジュールである。具体的には、PCIE Controller115aは、FPGA Driverからの制御に従い、FPGA111に対し、FPGA111の再起動やその回路情報の更新を命令する。また、PCIE Controller115aは、FPGA Driver経由でAPP201a側に、FPGA111の状態を通知する。また、PCIE Controller115aは、APP201aからの指示に従い、S-SW112、N-SW113を切り替えるスイッチ制御回路(スイッチ制御回路15参照)としても機能する。 PCIE Controller 115a is a hardware module for controlling FPGA 111. Specifically, the PCIE Controller 115a instructs the FPGA 111 to restart the FPGA 111 and update its circuit information under control from the FPGA Driver. Further, the PCIE Controller 115a notifies the state of the FPGA 111 to the APP 201a via the FPGA Driver. The PCIE Controller 115a also functions as a switch control circuit (see switch control circuit 15) that switches the S-SW 112 and N-SW 113 according to instructions from the APP 201a.

さらに、本実施形態のPCIE Controller115aは、D-CTRL121に対して、DRAMへのアクセス主体の切り替えを指示する。具体的には、PCIE Controller115aは、DRAM118にアクセスできる主体を、FPGA111からAlt-SIM202に変更する。また、PCIE Controller115aは、DRAM118にアクセスできる主体を、Alt-SIM202からFPGA111に変更する。 Furthermore, the PCIE Controller 115a of this embodiment instructs the D-CTRL 121 to switch the access entity to the DRAM. Specifically, the PCIE Controller 115a changes the entity that can access the DRAM 118 from the FPGA 111 to the Alt-SIM 202. Furthermore, the PCIE Controller 115a changes the entity that can access the DRAM 118 from the Alt-SIM 202 to the FPGA 111.

APP201aは、FPGA Driver204経由で指示を出して、DRAM118のメモリ領域をアプリケーションから参照できる状態にする。これにより、Alt-SIM202が、DRAM118を直接参照できるようになる。また、APP201aは、FPGA Driver204経由で、DRAM118のメモリ領域をFPGA111から参照できる状態に戻す処理を行う。 The APP 201a issues an instruction via the FPGA Driver 204 to make the memory area of the DRAM 118 accessible to the application. This allows the Alt-SIM 202 to directly refer to the DRAM 118. Further, the APP 201a performs processing to return the memory area of the DRAM 118 to a state where it can be referenced from the FPGA 111 via the FPGA Driver 204.

続いて、本実施形態の動作について図面を参照して詳細に説明する。図8は、本発明の第2の実施形態の動作を表したフローチャートである。図8を参照すると、まず、APP201aは、FPGA111の回路を更新するため、Alt-SIM202を起動する(ステップS201)。 Next, the operation of this embodiment will be explained in detail with reference to the drawings. FIG. 8 is a flowchart showing the operation of the second embodiment of the present invention. Referring to FIG. 8, first, the APP 201a activates the Alt-SIM 202 in order to update the circuit of the FPGA 111 (step S201).

次に、APP201aは、DRAM118のアクセス主体をアプリケーションに切り替える(ステップS202)。この指示は、FPGA Driver204、PCIE Controller115a及びD-CTRL121を経由して指示される。 Next, the APP 201a switches the access entity of the DRAM 118 to the application (step S202). This instruction is given via the FPGA Driver 204, PCIE Controller 115a, and D-CTRL 121.

次に、APP201aは、Alt-SIM202の起動を確認して、Alt-SIM202にDRAM118のアクセス権を渡す(ステップS203)。以降、Alt-SIM202は、modules120と同等の処理を実行できる状態になる。 Next, the APP 201a confirms the activation of the Alt-SIM 202 and gives the Alt-SIM 202 access rights to the DRAM 118 (Step S203). Thereafter, the Alt-SIM 202 is in a state where it can execute the same processing as the modules 120.

次に、APP201aは、FPGA Driver204経由でN-SW113及びS-SW112をバイパスモードに切り替える(ステップS204)。 Next, the APP 201a switches the N-SW 113 and the S-SW 112 to bypass mode via the FPGA Driver 204 (step S204).

次に、APP201aは、NIC Driver203から受信したパケットをAlt-SIM202を用いてパケット処理するように動作を切り変える(ステップS205)。具体的には、NIC Driver203から受信したパケットをAlt-SIM202に渡し、Alt-SIM202から出力されたパケットをN-SW113側に送る処理を行う。 Next, the APP 201a switches its operation to process the packet received from the NIC Driver 203 using the Alt-SIM 202 (step S205). Specifically, a process is performed in which the packet received from the NIC Driver 203 is passed to the Alt-SIM 202, and the packet output from the Alt-SIM 202 is sent to the N-SW 113 side.

次に、APP201aは、FPGA Driver204に対し、FPGA111の更新を指示する(ステップS206)。以降、FPGA111側で回路情報の更新が行われる。FPGA111側における回路情報の更新は、第1の実施形態と同様であるため、説明を省略する。 Next, the APP 201a instructs the FPGA Driver 204 to update the FPGA 111 (step S206). Thereafter, circuit information is updated on the FPGA 111 side. Updating of circuit information on the FPGA 111 side is the same as in the first embodiment, and therefore a description thereof will be omitted.

APP201aは、前記FPGA111の起動完了通知を受け取ると(ステップS208)、DRAM118のアクセス主体を、Alt-SIM202からFPGA111に戻す(ステップS209)。これにより、以降、FPGA111はDRAM118を参照できるようになる。 When the APP 201a receives the activation completion notification of the FPGA 111 (step S208), the APP 201a returns the access subject of the DRAM 118 from the Alt-SIM 202 to the FPGA 111 (step S209). This allows the FPGA 111 to refer to the DRAM 118 from now on.

その後、APP201aは、FPGA Driver204に対し、S-SW112及びN-SW113をFPGAモードに切り替えるよう指示する(ステップS210)。 After that, the APP 201a instructs the FPGA Driver 204 to switch the S-SW 112 and N-SW 113 to the FPGA mode (step S210).

最後に、APP201aは、Alt-SIM202を停止する(ステップS211)。 Finally, the APP 201a stops the Alt-SIM 202 (step S211).

以上、説明したように、第2の実施形態でも、FPGA111の回路情報の更新中もS-SW112、N-SW113にパケットの転送を継続させ、代替モジュールにてパケットの処理を行わせ、サービスを継続することができる。具体的には、上記図6に示したFPGA111更新時においても、代替モジュールとして、Alt-SIM202が処理を続けることで、サービスの完全停止を防ぐことができる。さらに、第1の実施形態との対比においても、メモリ同期のための例外パケットの処理を省略できるという利点がある。 As explained above, even in the second embodiment, the S-SW 112 and N-SW 113 continue to transfer packets even while the circuit information of the FPGA 111 is being updated, and the alternative module processes the packets, thereby providing services. Can be continued. Specifically, even when the FPGA 111 shown in FIG. 6 is updated, the Alt-SIM 202 continues processing as an alternative module, thereby preventing the service from completely stopping. Furthermore, in comparison with the first embodiment, there is an advantage that processing of exception packets for memory synchronization can be omitted.

以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。 Although each embodiment of the present invention has been described above, the present invention is not limited to the above-described embodiments, and may be further modified, replaced, or adjusted without departing from the basic technical idea of the present invention. can be added. For example, the network configuration, the configuration of each element, and the form of message expression shown in each drawing are examples to help understand the present invention, and the present invention is not limited to the configuration shown in these drawings.

例えば、本発明は、NICチップの機能もFPGAで実現したタイプのSNICにも適用可能である。この場合、S-SW112a及びN-SW113aは、図9に示すように、FPGA111内の書き換え可能領域(Writable FPGA)116の入出力端に配置されることになる(第3の実施形態)。 For example, the present invention is also applicable to a type of SNIC in which the functions of the NIC chip are also realized by FPGA. In this case, the S-SW 112a and the N-SW 113a are arranged at the input/output end of the rewritable area (Writable FPGA) 116 in the FPGA 111, as shown in FIG. 9 (third embodiment).

また、上記した各実施形態のFPGA111に実装する機能は、通信の暗号化や、パケットのオーダリング等の通信処理に限られない。例えば、下記のような、より上位レイヤの処理をFPGA111に担わせることもできる。 Further, the functions implemented in the FPGA 111 of each embodiment described above are not limited to communication processing such as communication encryption and packet ordering. For example, the FPGA 111 may be responsible for higher layer processing as described below.

(1)Webサービス
本発明は、例えば、動的なWebコンテンツをFPGA111上の回路で生成し、静的なコンテンツをIAサーバ200側のAPP201で応答する形態のWebサービスを実現するSNICにも適用可能である。
(1) Web service The present invention is also applicable to, for example, a SNIC that realizes a Web service in which dynamic Web content is generated by a circuit on the FPGA 111 and static content is responded to by the APP 201 on the IA server 200 side. It is possible.

一般的に動的Webコンテンツ作成の方がCPUのリソースを使用するため、FPGA111に動的なWebページを生成する回路を実装することで、レスポンスを早くすることが可能になり、ユーザエクスペリエンス向上を期待できる。
例えば、動的Webページ作成は、外部のDB(データベース)にアクセスしてユーザ登録情報(購入履歴など)を取得したり、外部サービスのAPI(Application Programming Interface)を呼び出すことが行われる。このように動的なWebページの生成には、ネットワークを経由して他サービスを介することが多い。SNIC内のFPGA111で、こうした機能を実装することで、さらなる性能向上を期待することができる。
Generally, dynamic web content creation uses more CPU resources, so by implementing a circuit that generates dynamic web pages on the FPGA 111, it is possible to speed up the response and improve the user experience. You can expect it.
For example, dynamic web page creation is performed by accessing an external DB (database) to obtain user registration information (purchase history, etc.) or by calling an API (Application Programming Interface) of an external service. In this way, dynamic Web page generation often involves using other services via a network. By implementing these functions in the FPGA 111 in the SNIC, further performance improvement can be expected.

このとき、WebサービスのセッションはSSL/TLS等のセキュリティレイヤのコンテキスト情報だけではなく、ユーザセッションのコンテキストも管理している(例えば、ブラウザの戻るボタンを押しても、そのユーザセッションとして、ありえない画面遷移のため、Webサービスが以前と同じWebページを生成できないことがある)。なお、SSL、TLSは、それぞれSecure Sockets Layer、Transport Layer Securityの略である。 At this time, the web service session manages not only the context information of the security layer such as SSL/TLS, but also the context of the user session (for example, even if you press the back button of the browser, the screen transition that is impossible for that user session) Therefore, the web service may not be able to generate the same web page as before). Note that SSL and TLS are abbreviations for Secure Sockets Layer and Transport Layer Security, respectively.

本発明のSNICの場合、これらのコンテキスト情報は、SNIC100内のDRAM118上で保持される。このコンテキスト情報を、代替動的Webページ生成を行う代替モジュール(上記Alt-SIM202相当)と同期するように構成することで、FPGA111内の回路更新時も、ユーザセッション断を避けることができることになる。また、これにより、ユーザとしても、Webサービスへ再ログインする煩わしさが無くなるという利点がある。 For the SNIC of the present invention, this context information is maintained on DRAM 118 within SNIC 100. By configuring this context information to be synchronized with an alternative module (equivalent to the above Alt-SIM 202) that generates an alternative dynamic web page, it is possible to avoid user session interruption even when updating the circuit within the FPGA 111. . This also has the advantage that the user does not have to worry about logging into the Web service again.

(2)画像認識アプリケーション
運転支援サービスとして、車載のカメラで撮影した動画をモバイルエッジのデータセンターで解析処理して、危険物を認識し、近傍の自動車に通知するサービスが想定される。本発明は、このようなサービスを実現するSNICにも適用可能である。
(2) Image recognition application As a driving support service, it is envisaged that a service will be provided that analyzes and processes videos taken with an in-vehicle camera at a mobile edge data center, recognizes dangerous objects, and notifies nearby vehicles. The present invention is also applicable to SNICs that implement such services.

この時、画像の解析処理をFPGA111で実装することで性能(例えば、認識件数/秒)を向上することができる。この画像認識エンジンを向上するには日々アップデートが必要になるが、本発明を適用することで、サービスを止めずに、画像認識エンジンの更新を行うことが可能となる。なお、その際に、サービスの特性を考慮して、画像認識エンジンの更新タイミングを決定することも好ましい。例えば、自動車の場合、夜間のユーザ数(自動車数)が少ないという特性がある。これを利用して、性能の縮退が許容される夜間に、サービス断を避けつつ解析エンジンを更新することができる。 At this time, by implementing image analysis processing in the FPGA 111, performance (for example, number of recognition items/second) can be improved. Improving this image recognition engine requires daily updates, but by applying the present invention, it becomes possible to update the image recognition engine without stopping the service. Note that, at this time, it is also preferable to decide the update timing of the image recognition engine, taking into consideration the characteristics of the service. For example, in the case of cars, there is a characteristic that the number of users (number of cars) is small at night. Using this, it is possible to update the analysis engine at night, when performance degradation is acceptable, while avoiding service interruptions.

また、上記した第1~第3の実施形態のIAサーバは、図10のCPU(Central Processing Unit)9010、通信インタフェース9020、メモリ9030、補助記憶装置9040を備える構成に例示される。 Further, the IA server of the first to third embodiments described above is exemplified in a configuration including a CPU (Central Processing Unit) 9010, a communication interface 9020, a memory 9030, and an auxiliary storage device 9040 in FIG.

最後に、本発明の好ましい形態を要約する。
[第1の形態]
(上記第1の視点によるネットワークインタフェースカード参照)
[第2の形態]
上記したネットワークインタフェースカードの1対のスイッチは、
前記第2のモードにおいて、前記プログラム可能論理回路に、前記コンピュータ側とのメモリ同期用のパケットを送るよう動作する構成を採ることができる。
[第3の形態]
上記したネットワークインタフェースカードの1対のスイッチは、前記プログラム可能論理回路内部の可変領域の入力端と、出力端にそれぞれ配置されている構成を採ることができる。
[第4の形態]
上記したネットワークインタフェースカードは、さらに、
前記アプリケーションプログラム側から、プログラム可能論理回路が一時的に情報を記憶するために用いるメモリへのアクセスを許容するメモリ制御部を備える構成を採ることができる。
[第5の形態]
上記したネットワークインタフェースカードの前記プログラム可能論理回路は、前記メモリ制御部から前記メモリの情報を引き継ぐことで、前記回路情報の書き換え後、前記コンピュータで実施させていた処理を引き継ぎ可能に構成されていることが好ましい。
[第6の形態]
(上記第2の視点によるコンピュータ参照)
[第7の形態]
(上記第3の視点による回路情報の書き換え方法参照)
[第8の形態]
(上記第4の視点によるプログラム参照)
なお、上記第6~第8の形態は、第1の形態と同様に、第2~第5の形態に展開することが可能である。
Finally, preferred embodiments of the present invention will be summarized.
[First form]
(Refer to the network interface card from the first perspective above)
[Second form]
The pair of switches on the network interface card described above are
In the second mode, a configuration may be adopted that operates to send a packet for memory synchronization with the computer side to the programmable logic circuit.
[Third form]
The pair of switches of the network interface card described above may be arranged at the input end and the output end of the variable area inside the programmable logic circuit, respectively.
[Fourth form]
The above-mentioned network interface card further includes:
The application program may include a memory control unit that allows the programmable logic circuit to access the memory used to temporarily store information.
[Fifth form]
The programmable logic circuit of the network interface card described above is configured to be able to take over the processing performed by the computer after the circuit information is rewritten by taking over the information in the memory from the memory control unit. It is preferable.
[Sixth form]
(Refer to the computer from the second viewpoint above)
[Seventh form]
(Refer to the method for rewriting circuit information from the third viewpoint above)
[Eighth form]
(See the program from the fourth perspective above)
Note that the sixth to eighth forms described above can be developed into second to fifth forms, similar to the first form.

なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択(部分的削除を含む)が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。さらに、上記引用した文献の各開示事項は、必要に応じ、本発明の趣旨に則り、本発明の開示の一部として、その一部又は全部を、本書の記載事項と組み合わせて用いることも、本願の開示事項に含まれるものと、みなされる。 In addition, each disclosure of the above-mentioned patent documents is incorporated into this book by reference. Within the scope of the entire disclosure of the present invention (including the claims), changes and adjustments to the embodiments and examples are possible based on the basic technical idea thereof. In addition, various combinations or selections (parts) of various disclosed elements (including each element of each claim, each element of each embodiment or example, each element of each drawing, etc.) within the framework of the disclosure of the present invention are also available. (including deletion) is possible. That is, it goes without saying that the present invention includes the entire disclosure including the claims and various modifications and modifications that a person skilled in the art would be able to make in accordance with the technical idea. In particular, numerical ranges stated herein should be construed as specifically stating any numerical value or subrange within the range, even if not otherwise stated. Furthermore, each of the disclosures in the documents cited above may be used, in part or in whole, in combination with the statements in this book as part of the disclosure of the present invention, if necessary, in accordance with the spirit of the present invention. It is deemed to be included in the disclosure of this application.

10 ネットワークインタフェースカード
11 プログラム可能論理回路
12、13 スイッチ
14 コンピュータ側インタフェース(IF)
15 スイッチ制御回路
20 コンピュータ
100、100a、100b SNIC
111 FPGA
112、112a S-SW
113、113a N-SW
114 Ether Network Controller
115、115a PCIE Controller
116 書き換え可能な領域(Writable FPGA)
117 QSFP
118 DRAM
119 FLASH
120 modules
121 D-CTRL
200 IAサーバ
201、201a APP
202 Alt-SIM
203 NIC Driver
204 FPGA Driver
205 CPU/RAM
210 プログラム群(APL/OS)
9000 コンピュータ
9010 CPU
9020 通信インタフェース
9030 メモリ
9040 補助記憶装置
10 Network interface card 11 Programmable logic circuit 12, 13 Switch 14 Computer side interface (IF)
15 Switch control circuit 20 Computer 100, 100a, 100b SNIC
111 FPGA
112, 112a S-SW
113, 113a N-SW
114 Ether Network Controller
115, 115a PCIE Controller
116 Writable area (Writable FPGA)
117 QSFP
118 DRAM
119 FLASH
120 modules
121 D-CTRL
200 IA server 201, 201a APP
202 Alt-SIM
203 NIC Driver
204 FPGA Driver
205 CPU/RAM
210 Program group (APL/OS)
9000 Computer 9010 CPU
9020 Communication interface 9030 Memory 9040 Auxiliary storage device

Claims (9)

記録された回路情報に従って、入力されたパケットの処理を行うプログラム可能論理回路と、
前記プログラム可能論理回路の入力端と、出力端にそれぞれ配置され、前記プログラム可能論理回路にパケットを送る第1のモードと、前記プログラム可能論理回路を経由せずにバイパスする第2のモードとを切り替え可能な1対のスイッチと、
前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを実行可能なプロセッサが搭載されたコンピュータに、前記パケットを送信するコンピュータ側インタフェースと、
前記プログラム可能論理回路の前記回路情報の書き換えの際に、前記1対のスイッチを第2のモードに切り替えるスイッチ制御回路と、を備え、
前記回路情報の書き換え時に、前記プログラム可能論理回路に代わって、前記コンピュータによりパケットの処理を実行可能に構成されているネットワークインタフェースカード。
a programmable logic circuit that processes input packets according to recorded circuit information;
A first mode that is arranged at an input end and an output end of the programmable logic circuit and sends a packet to the programmable logic circuit, and a second mode that bypasses the programmable logic circuit without going through the programmable logic circuit. A pair of switchable switches,
a computer-side interface that transmits the packet to a computer equipped with a processor capable of executing an application program capable of processing the packet in place of the programmable logic circuit;
a switch control circuit that switches the pair of switches to a second mode when rewriting the circuit information of the programmable logic circuit;
A network interface card configured to allow the computer to process packets in place of the programmable logic circuit when the circuit information is rewritten.
前記1対のスイッチは、
前記第2のモードにおいて、前記プログラム可能論理回路に、前記コンピュータ側とのメモリ同期用のパケットを送るよう動作する請求項1のネットワークインタフェースカード。
The pair of switches are:
2. The network interface card of claim 1, operative in said second mode to send a packet to said programmable logic circuit for memory synchronization with said computer side.
前記1対のスイッチが、前記プログラム可能論理回路内部の可変領域の入力端と、出力端にそれぞれ配置されている請求項1又は2のネットワークインタフェースカード。 3. The network interface card according to claim 1, wherein said pair of switches are arranged at an input end and an output end of a variable area inside said programmable logic circuit, respectively. さらに、前記アプリケーションプログラム側から、プログラム可能論理回路が一時的に情報を記憶するために用いるメモリへのアクセスを許容するメモリ制御部を備える請求項1のネットワークインタフェースカード。 2. The network interface card according to claim 1, further comprising a memory control unit that allows access from the application program side to a memory used by the programmable logic circuit to temporarily store information. 前記プログラム可能論理回路は、前記メモリ制御部から前記メモリの情報を引き継ぐことで、前記回路情報の書き換え後、前記コンピュータで実施させていた処理を引き継ぎ可能に構成されている請求項4のネットワークインタフェースカード。 5. The network interface according to claim 4, wherein the programmable logic circuit is configured to be able to take over the processing performed by the computer after rewriting the circuit information by taking over the information of the memory from the memory control unit. card. 記録された回路情報に従って入力されたパケットの処理を行うプログラム可能論理回路と、
前記プログラム可能論理回路の入力端と、出力端にそれぞれ配置され、前記プログラム可能論理回路にパケットを送る第1のモードと、前記プログラム可能論理回路を経由せずにバイパスする第2のモードとを切り替え可能な1対のスイッチと、
接続されたコンピュータに、前記パケットを送信するコンピュータ側インタフェースと、
前記プログラム可能論理回路の前記回路情報の書き換えの際に、前記1対のスイッチを第2のモードに切り替えるスイッチ制御回路と、を備え、
前記回路情報の書き換え時に、前記プログラム可能論理回路に代わって、前記コンピュータによりパケットの処理を実行可能に構成されているネットワークインタフェースカードを搭載したコンピュータ。
a programmable logic circuit that processes input packets according to recorded circuit information;
A first mode that is arranged at an input end and an output end of the programmable logic circuit and sends a packet to the programmable logic circuit, and a second mode that bypasses the programmable logic circuit without going through the programmable logic circuit. A pair of switchable switches,
a computer-side interface that transmits the packet to a connected computer;
a switch control circuit that switches the pair of switches to a second mode when rewriting the circuit information of the programmable logic circuit;
A computer equipped with a network interface card configured to enable the computer to process packets in place of the programmable logic circuit when rewriting the circuit information.
前記第2のモードにおいて、前記プログラム可能論理回路に、メモリ同期用のパケットを送るよう動作する請求項6のコンピュータ。 7. The computer of claim 6, operative to send memory synchronization packets to the programmable logic circuit in the second mode. 記録された回路情報に従って入力されたパケットの処理を行うプログラム可能論理回路と、
前記プログラム可能論理回路の入力端と、出力端にそれぞれ配置され、前記プログラム可能論理回路にパケットを送る第1のモードと、前記プログラム可能論理回路を経由せずにバイパスする第2のモードとを切り替え可能な1対のスイッチと、
前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを実行可能なプロセッサが搭載されたコンピュータに、前記パケットを送信するコンピュータ側インタフェースと、
前記プログラム可能論理回路の前記回路情報の書き換えの際に、前記1対のスイッチを第2のモードに切り替えるスイッチ制御回路と、を備えたネットワークインタフェースカードの前記回路情報の書き換え方法であって、
前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを起動し、
前記1対のスイッチを、前記第1のモードから前記第2のモードに切り替え、
前記回路情報を書き換えた後に、前記1対のスイッチを、前記第2のモードから前記第1のモードに切り替える、
回路情報の書き換え方法。
a programmable logic circuit that processes input packets according to recorded circuit information;
A first mode that is arranged at an input end and an output end of the programmable logic circuit and sends a packet to the programmable logic circuit, and a second mode that bypasses the programmable logic circuit without going through the programmable logic circuit. A pair of switchable switches,
a computer-side interface that transmits the packet to a computer equipped with a processor capable of executing an application program capable of processing the packet in place of the programmable logic circuit;
A method for rewriting the circuit information of a network interface card, comprising: a switch control circuit that switches the pair of switches to a second mode when rewriting the circuit information of the programmable logic circuit;
activating an application program capable of processing packets in place of the programmable logic circuit;
switching the pair of switches from the first mode to the second mode;
after rewriting the circuit information, switching the pair of switches from the second mode to the first mode;
How to rewrite circuit information.
記録された回路情報に従って入力されたパケットの処理を行うプログラム可能論理回路と、
前記プログラム可能論理回路の入力端と、出力端にそれぞれ配置され、前記プログラム可能論理回路にパケットを送る第1のモードと、前記プログラム可能論理回路を経由せずにバイパスする第2のモードとを切り替え可能な1対のスイッチと、
前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを実行可能なプロセッサが搭載されたコンピュータに、前記パケットを送信するコンピュータ側インタフェースと、
前記プログラム可能論理回路の前記回路情報の書き換えの際に、前記1対のスイッチを第2のモードに切り替えるスイッチ制御回路と、を備えたネットワークインタフェースカードの前記回路情報の書き換えプログラムであって、
前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを起動する処理と、
前記1対のスイッチを、前記第1のモードから前記第2のモードに切り替える処理と、
前記回路情報を書き換えた後に、前記1対のスイッチを、前記第2のモードから前記第1のモードに切り替える処理と、
を前記コンピュータに実行させるプログラム。
a programmable logic circuit that processes input packets according to recorded circuit information;
A first mode that is arranged at an input end and an output end of the programmable logic circuit and sends a packet to the programmable logic circuit, and a second mode that bypasses the programmable logic circuit without going through the programmable logic circuit. A pair of switchable switches,
a computer-side interface that transmits the packet to a computer equipped with a processor capable of executing an application program capable of processing the packet in place of the programmable logic circuit;
A program for rewriting the circuit information of a network interface card, comprising: a switch control circuit that switches the pair of switches to a second mode when rewriting the circuit information of the programmable logic circuit;
activating an application program capable of processing packets in place of the programmable logic circuit;
a process of switching the pair of switches from the first mode to the second mode;
after rewriting the circuit information, switching the pair of switches from the second mode to the first mode;
A program that causes the computer to execute.
JP2020560100A 2018-12-10 2019-12-09 Network interface card, computer, circuit information rewriting method and program Active JP7439767B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018231098 2018-12-10
JP2018231098 2018-12-10
PCT/JP2019/048118 WO2020122024A1 (en) 2018-12-10 2019-12-09 Network interface card, computer, circuit information rewriting method and program

Publications (2)

Publication Number Publication Date
JPWO2020122024A1 JPWO2020122024A1 (en) 2021-10-28
JP7439767B2 true JP7439767B2 (en) 2024-02-28

Family

ID=71076450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020560100A Active JP7439767B2 (en) 2018-12-10 2019-12-09 Network interface card, computer, circuit information rewriting method and program

Country Status (2)

Country Link
JP (1) JP7439767B2 (en)
WO (1) WO2020122024A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022166934A (en) 2021-04-22 2022-11-04 富士通株式会社 Information processing device, overload control program, and overload control method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010166488A (en) 2009-01-19 2010-07-29 Alaxala Networks Corp Network relaying apparatus
JP2012230529A (en) 2011-04-26 2012-11-22 Mitsubishi Electric Corp Remote maintenance system of fpga loaded device
US9698793B1 (en) 2016-04-30 2017-07-04 Arista Networks, Inc. Live system upgrade
JP2017139643A (en) 2016-02-04 2017-08-10 株式会社日立製作所 Optical access network system, station side device, and control program therefor
WO2017170311A1 (en) 2016-03-31 2017-10-05 日本電気株式会社 Control method and control apparatus for network system, and server

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7746901B2 (en) * 2006-12-14 2010-06-29 Oracle America, Inc. Method and system for offloaded transport layer protocol switching
US9565207B1 (en) * 2009-09-04 2017-02-07 Amazon Technologies, Inc. Firmware updates from an external channel
US9846576B2 (en) * 2014-12-27 2017-12-19 Intel Corporation Technologies for reprogramming network interface cards over a network
US20160266894A1 (en) * 2015-03-11 2016-09-15 Cavium, Inc. Systems and methods for live upgrade and update of firmware on an embedded networking device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010166488A (en) 2009-01-19 2010-07-29 Alaxala Networks Corp Network relaying apparatus
JP2012230529A (en) 2011-04-26 2012-11-22 Mitsubishi Electric Corp Remote maintenance system of fpga loaded device
JP2017139643A (en) 2016-02-04 2017-08-10 株式会社日立製作所 Optical access network system, station side device, and control program therefor
WO2017170311A1 (en) 2016-03-31 2017-10-05 日本電気株式会社 Control method and control apparatus for network system, and server
US9698793B1 (en) 2016-04-30 2017-07-04 Arista Networks, Inc. Live system upgrade

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Daniel Firestone, et al.,Azure Accelerated Networking: SmartNICs in the Public Cloud,In the Proceedings of the 15th USENIX Symposium on Networked Systems Design and Implementation(NSDI),2018年04月09日,pp.51-64,[検索日 2019.12.18],インターネット:<https://www.usenix.org/system/files/conference/nsdi18/nsdi18-firestone.pdf>

Also Published As

Publication number Publication date
WO2020122024A1 (en) 2020-06-18
JPWO2020122024A1 (en) 2021-10-28

Similar Documents

Publication Publication Date Title
US10700979B2 (en) Load balancing for a virtual networking system
WO2022105884A1 (en) Data transmission method and apparatus, network device, and storage medium
US20190306087A1 (en) Methods and apparatus for dynamic packet pool configuration in networking stack infrastructures
US10084647B2 (en) Data forwarding to server via virtual network card or to external network via network interface, based on fusion descriptor
EP3471366A1 (en) Container deployment method, communication method between services and related devices
US8743894B2 (en) Bridge port between hardware LAN and virtual switch
CN109861839B (en) Method for upgrading virtual switch without service interruption and related equipment
US8417848B2 (en) Method and apparatus for implementing multiple service processing functions
US9864606B2 (en) Methods for configurable hardware logic device reloading and devices thereof
WO2015073190A1 (en) Shortening of service paths in service chains in a communications network
WO2015058699A1 (en) Data forwarding
US9515963B2 (en) Universal network interface controller
JP6345604B2 (en) COMMUNICATION DEVICE, EXTENDED FUNCTION MOVE METHOD, AND COMMUNICATION SYSTEM
CN111371694B (en) Shunting method, device and system, processing equipment and storage medium
US9699118B2 (en) System for flexible dynamic reassignment of throughput
JP7439767B2 (en) Network interface card, computer, circuit information rewriting method and program
EP2620876B1 (en) Method and apparatus for data processing, pci-e bus system and server
US20190028392A1 (en) Systems and methods for enhanced autonegotiation
US9558149B2 (en) Dual system
CN103907094A (en) Serialization of access to data in multi-mainframe computing environments
CN108886493B (en) Virtual exchange model based on topological structure and provided with pluggable flow management protocol
CN111800340B (en) Data packet forwarding method and device
WO2014071637A1 (en) Method and device for performing network configuration on virtual machine
KR20170057770A (en) Method for controlling transsion of packet in virtual switch
JP2020198007A (en) Information processing device, information processing system and information processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231010

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: 20240116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240129

R151 Written notification of patent or utility model registration

Ref document number: 7439767

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151