[go: up one dir, main page]

KR102128832B1 - Network interface apparatus and data processing method for network interface apparauts thereof - Google Patents

Network interface apparatus and data processing method for network interface apparauts thereof Download PDF

Info

Publication number
KR102128832B1
KR102128832B1 KR1020180110252A KR20180110252A KR102128832B1 KR 102128832 B1 KR102128832 B1 KR 102128832B1 KR 1020180110252 A KR1020180110252 A KR 1020180110252A KR 20180110252 A KR20180110252 A KR 20180110252A KR 102128832 B1 KR102128832 B1 KR 102128832B1
Authority
KR
South Korea
Prior art keywords
data
network interface
processing method
storage
integrated circuit
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
KR1020180110252A
Other languages
Korean (ko)
Other versions
KR20190116034A (en
Inventor
윤흥수
박영훈
김선일
Original Assignee
윤흥수
박영훈
김선일
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 윤흥수, 박영훈, 김선일 filed Critical 윤흥수
Publication of KR20190116034A publication Critical patent/KR20190116034A/en
Application granted granted Critical
Publication of KR102128832B1 publication Critical patent/KR102128832B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

네트워크 인터페이스 장치 및 그 네트워크 인터페이스 장치를 이용한 데이터 처리 방법이 제공 된다. 네트워크 인터페이스 카드는, 외부 네트워크로부터 외부 통신 포트를 통해 노드 데이터를 수신하는 네트워크 인터페이스부, 컴퓨팅 장치의 버스와 연결되는 버스 연결부 및 스토리지와 연결되는 스토리지 연결부를 포함하는 기판; 상기 기판에 실장되며, 상기 스토리지 연결부를 통해 상기 스토리지와 연결되며, 상기 스토리지를 제어하는 스토리지 제어기; 및 상기 기판에 실장되며, 상기 네트워크 인터페이스부로부터 상기 노드 데이터를 전달 받아 처리 방식을 결정하고, 결정된 처리 방식이 자체 처리 방식인 경우 상기 노드 데이터에 상응하는 함수를 처리하며 상기 스토리지 제어기를 통해 상기 스토리지에 대해 데이터 처리 작업을 수행하고, 결정된 처리 방식이 중앙 처리 방식인 경우 상기 버스를 통해 중앙 처리 장치에 제어 데이터를 전송하는 용도 지향 집적 회로를 포함할 수 있다.A network interface device and a data processing method using the network interface device are provided. The network interface card includes: a substrate including a network interface unit receiving node data from an external network through an external communication port, a bus connection unit connected to a bus of a computing device, and a storage connection unit connected to storage; A storage controller mounted on the substrate, connected to the storage through the storage connection, and controlling the storage; And mounted on the substrate, receives the node data from the network interface unit, determines a processing method, and if the determined processing method is a self-processing method, processes a function corresponding to the node data and stores the storage through the storage controller. It may include a purpose-oriented integrated circuit for performing a data processing operation for the, and transmits control data to the central processing unit through the bus when the determined processing method is the central processing method.

Description

네트워크 인터페이스 장치 및 그 네트워크 인터페이스 장치의 데이터 처리 방법{NETWORK INTERFACE APPARATUS AND DATA PROCESSING METHOD FOR NETWORK INTERFACE APPARAUTS THEREOF}A network interface device and a data processing method of the network interface device {NETWORK INTERFACE APPARATUS AND DATA PROCESSING METHOD FOR NETWORK INTERFACE APPARAUTS THEREOF}

본 발명은 네트워크 인터페이스 장치 및 그 네트워크 인터페이스 장치를 이용한 데이터 처리 방법에 관한 것으로, 보다 자세하게는, 특정 목적에 따라 데이터를 송수신할 수 있도록 하는 네트워크 인터페이스 장치와 그 네트워크 인터페이스 장치가 데이터를 처리하는 방법에 관한 것이다.The present invention relates to a network interface device and a data processing method using the network interface device, and more specifically, to a network interface device that enables data to be transmitted and received according to a specific purpose, and a method for processing the data by the network interface device. It is about.

이 부분에 기술된 내용은 본 실시 예에 대한 배경 정보를 제공하는 것이며, 이 부분에 기재된 것만으로 종래의 기술에 속하는 것은 아니다.The contents described in this section provide background information for the present embodiment, and are not included in the prior art by merely describing this section.

서버, PC 등의 컴퓨팅 장치는 CPU, 메모리, 네트워크, 저장 매체(스토리지) 등의 자원을 이용하여 데이터를 처리하고, 저장하며, 외부와 데이터를 송수신할 수 있다. 컴퓨팅 장치가 데이터를 송신 또는 수신하기 위해서는 네트워크 인터페이스 카드(Network Interface Card; NIC)가 이용될 수 있다. 네트워크 인터페이스가 수신한 데이터는 시스템 버스를 이용해 CPU로 전달되고, CPU는 수신된 데이터를 처리하여 데이터 케이블 등을 통해 스토리지에 저장할 수 있다. 또는 스토리지에 저장된 데이터에 대해 CPU가 암호화 등의 데이터 처리를 수행하고, 처리된 데이터를 시스템 버스를 통해 네트워크 인터페이스 카드로 전달하여 외부로 전송할 수 있다.Computing devices such as servers and PCs can process, store, and transmit and receive data to and from the outside using resources such as a CPU, memory, network, and storage medium (storage). A network interface card (NIC) may be used for the computing device to transmit or receive data. Data received by the network interface is transferred to the CPU using the system bus, and the CPU can process the received data and store it in storage through a data cable or the like. Alternatively, the CPU may perform data processing such as encryption on the data stored in the storage, and transmit the processed data to the network interface card through the system bus and transmit the data to the outside.

또한, 블록 체인(Block Chain) 기술을 이용한 분산 장부 관리 시스템이 여러 분야에서 활용되고 있다. 블록 체인 기술은 블록에 일정 시간 동안 확정된 거래 내역을 기록하고, 각 블록이 네트워크에 있는 모든 참여자에게 전송하며, 승인된 블록이 기존의 블록 체인에 연결되면서 거래가 이루어지도록 하는 기술이다. 블록 체인을 기술을 이용한 분산 장부 관리 시스템의 각 노드를 구성하는 컴퓨팅 장치들은 누구나 열람할 수 있는 장부에 거래 데이터를 기록하고, 각 컴퓨팅 장치들이 주기적으로 기록을 검증하여 해킹을 방지할 수 있다.In addition, distributed ledger management systems using block chain technology have been utilized in various fields. Blockchain technology is a technology that records the confirmed transaction details in a block for a certain period of time, transmits each block to all participants in the network, and allows the approved block to be connected to the existing blockchain to make a transaction. Computing devices constituting each node of the distributed ledger management system using blockchain technology record transaction data in a book that anyone can view, and each computing device periodically verifies records to prevent hacking.

따라서, 블록 체인 기술을 이용한 분산 장부 관리 시스템은 노드를 구성하는 컴퓨팅 장치에 거래 데이터를 포함하는 블록을 전달하고, 각 컴퓨팅 장치가 거래 데이터를 장부에 기록한 결과를 회신 받는 과정이 필요하다. 그러나 각 노드에 거래 데이터를 전달하여 처리하고 모든 장부에 거래 데이터가 반영되기까지 지연이 발생한다. 이로 인해 분산 장부 관리 시스템이 처리할 수 있는 시간당 트랜잭션(transaction per second; tps)이 저하되는 문제점이 있다.Therefore, a distributed ledger management system using a block chain technology needs to transmit a block including transaction data to a computing device constituting a node, and receive a result of each computing device replying a result of recording transaction data in a ledger. However, there is a delay until transaction data is delivered to each node for processing and the transaction data is reflected in all books. Due to this, there is a problem that a transaction per second (tps) that can be processed by the distributed ledger management system is deteriorated.

해결하고자 하는 기술적 과제는, 특정 용도로 사용되는 네트워크 인터페이스 장치, 그 네트워크 인터페이스 장치를 이용한 데이터 처리 방법 및 컴퓨팅 장치를 제공하는 것이다.The technical problem to be solved is to provide a network interface device used for a specific purpose, a data processing method using the network interface device, and a computing device.

해결하고자 하는 다른 기술적 과제는, 데이터 송수신을 위한 암호화 및 복호화 프로세싱 성능을 높일 수 있는 네트워크 인터페이스 장치 및 그 제어 방법을 제공하는 것이다.Another technical problem to be solved is to provide a network interface device and a control method for improving encryption and decryption processing performance for data transmission and reception.

해결하고자 하는 또 다른 기술적 과제는, 수신 또는 송신되는 저장매체에 대한 입출력 속도를 향상시킬 수 있는 네트워크 인터페이스 장치 및 그 제어 방법을 제공하는 것이다.Another technical problem to be solved is to provide a network interface device and a control method for improving the input/output speed of a storage medium that is received or transmitted.

해결하고자 하는 또 다른 기술적 과제는, 높은 tps를 가지는 블록체인 노드를 구성할 수 있는 컴퓨팅 장치를 제공하는 것이다.Another technical problem to be solved is to provide a computing device capable of constructing a blockchain node having a high tps.

기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.The technical problems are not limited to the technical problems mentioned above, and other technical problems that are not mentioned will be clearly understood by those skilled in the art from the following description.

기술적 과제를 해결하기 위한, 몇몇 실시예에 따른 네트워크 인터페이스 장치는, 외부 장치로부터 데이터를 수신하는 외부 통신 포트; 상기 외부 통신 포트로부터 수신된 데이터를 복호화하며, 상기 네트워크 인터페이스 장치에 임베드된 특정 용도 지향 집적 회로(Application Specific Integrated Circuit); 및 스토리지에 연결되어 상기 특정 용도 지향 집적 회로에 의해 복호화된 데이터를 상기 스토리지에 저장하는 I/O 포트;를 포함할 수 있다.In order to solve the technical problem, a network interface device according to some embodiments includes an external communication port for receiving data from an external device; Decoding a data received from the external communication port, and an application specific integrated circuit embedded in the network interface device; And an I/O port connected to storage and storing data decrypted by the specific purpose-oriented integrated circuit in the storage.

기술적 과제를 해결하기 위한, 몇몇 실시 예에 따른 네트워크 인터페이스 카드는, 외부 네트워크로부터 외부 통신 포트를 통해 노드 데이터를 수신하는 네트워크 인터페이스부, 컴퓨팅 장치의 버스와 연결되는 버스 연결부 및 스토리지와 연결되는 스토리지 연결부를 포함하는 기판; 상기 기판에 실장되며, 상기 스토리지 연결부를 통해 상기 스토리지와 연결되며, 상기 스토리지를 제어하는 스토리지 제어기; 및 상기 기판에 실장되며, 상기 네트워크 인터페이스부로부터 상기 노드 데이터를 전달 받아 처리 방식을 결정하고, 결정된 처리 방식이 자체 처리 방식인 경우 상기 노드 데이터에 상응하는 함수를 처리하며 상기 스토리지 제어기를 통해 상기 스토리지에 대해 데이터 처리 작업을 수행하고, 결정된 처리 방식이 중앙 처리 방식인 경우 상기 버스를 통해 중앙 처리 장치에 제어 데이터를 전송하는 용도 지향 집적 회로를 포함할 수 있다.In order to solve the technical problem, the network interface card according to some embodiments includes a network interface unit that receives node data from an external network through an external communication port, a bus connection unit connected to a bus of a computing device, and a storage connection unit connected to storage. A substrate comprising a; A storage controller mounted on the substrate, connected to the storage through the storage connection, and controlling the storage; And mounted on the substrate, receives the node data from the network interface unit, determines a processing method, and if the determined processing method is a self-processing method, processes a function corresponding to the node data and stores the storage through the storage controller. It may include a purpose-oriented integrated circuit for performing a data processing operation for the, and transmits control data to the central processing unit through the bus when the determined processing method is the central processing method.

또한, 다른 몇몇 실시 예에 따르면, 상기 용도 지향 집적 회로는, 상기 노드 데이터로부터 헤더 데이터를 구분하고, 상기 구분된 헤더 데이터를 이용하여 상기 처리 방식을 결정할 수 있다.In addition, according to some other embodiments, the purpose-oriented integrated circuit may classify header data from the node data and determine the processing method using the divided header data.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 용도 지향 집적 회로는 상기 헤더 데이터가 미리 정해진 함수를 호출하는 경우 상기 처리 방식을 자체 처리 방식으로 결정할 수 있다.Further, according to another exemplary embodiment, the purpose-oriented integrated circuit may determine the processing method as its own processing method when the header data calls a predetermined function.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 미리 정해진 함수는 블록체인의 노드가 데이터를 처리하기 위한 통신 계층의 커널(kernel) 명령어를 포함할 수 있다.Further, according to some other embodiments, the predetermined function may include a kernel command of a communication layer for processing data by a node of the blockchain.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 용도 지향 집적 회로는 상기 노드 데이터에서 개별 거래 데이터 및 기타 거래 데이터를 분류하고, 상기 개별 거래 데이터 및 기타 거래 데이터를 상기 버스를 통하지 않고 상기 스토리지 제어기를 통해 상기 스토리지에 저장할 수 있다.Further, according to some other embodiments, the purpose-oriented integrated circuit classifies individual transaction data and other transaction data from the node data, and passes the individual transaction data and other transaction data through the storage controller without going through the bus. It can be stored in the storage.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 네트워크 인터페이스 카드는 상기 노드 데이터를 복호화하는 블록체인 데이터 처리용 집적 회로를 더 포함할 수 있다.In addition, according to some other embodiments, the network interface card may further include an integrated circuit for processing blockchain data that decrypts the node data.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 네트워크 인터페이스 카드는 상기 수신된 노드 데이터를 복호화하거나 전송할 데이터를 암호화하기 위한 키를 제공하는 키 관리 모듈을 더 포함할 수 있다.In addition, according to some other embodiments, the network interface card may further include a key management module that provides a key for decrypting the received node data or encrypting data to be transmitted.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 키 관리 모듈은 물리적 복제불가 기능(Physically Unclonable Function) 기반의 하드웨어 칩을 포함할 수 있다.In addition, according to another exemplary embodiment, the key management module may include a hardware chip based on a physically unclonable function.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 용도 지향 집적 회로는 상기 결정된 처리 방식이 자체 처리 방식인 경우 상기 하드웨어 칩으로부터 키(key)를 획득하고, 상기 획득된 키를 이용하여 상기 노드 데이터를 복호화할 수 있다.In addition, according to another exemplary embodiment, the purpose-oriented integrated circuit acquires a key from the hardware chip when the determined processing method is a self-processing method, and decrypts the node data using the obtained key can do.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 용도 지향 집적 회로는 상기 데이터 처리 작업을 완료한 이후 상기 데이터 처리 작업에 대한 메타데이터를 생성하고, 생성된 메타데이터를 상기 버스를 통해 상기 컴퓨팅 장치의 메모리에 로드시킬 수 있다.Further, according to another exemplary embodiment, the purpose-oriented integrated circuit generates metadata for the data processing task after completing the data processing task, and generates the metadata of the computing device through the bus. Can be loaded on.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 메타데이터는 상기 데이터 처리 작업에 의해 상기 스토리지에 저장된 데이터의 위치 정보와 변경된 데이터에 대한 정보를 포함할 수 있다.In addition, according to some other embodiments, the metadata may include information about location information and changed data of data stored in the storage by the data processing operation.

기술적 과제를 해결하기 위한, 몇몇 실시예에 따른 용도 지향 집적 회로는, 노드 데이터가 수신되면 상기 노드 데이터를 헤더 데이터, 개별 거래 데이터 및 기타 거래 데이터로 분류하는 동작; 상기 헤더 데이터에 기초하여 처리 방식을 결정하는 동작; 및 상기 처리 방식이 자체 처리 방식인 경우 상기 노드 데이터에 상응하는 함수를 처리하며 상기 스토리지 제어기를 통해 상기 스토리지에 대해 데이터 처리 작업을 수행하는 동작;을 수행하도록 하는 인스트럭션들을 실행할 수 있다.In order to solve the technical problem, a purpose-oriented integrated circuit according to some embodiments includes: when node data is received, classifying the node data into header data, individual transaction data, and other transaction data; Determining a processing method based on the header data; And an operation of processing a function corresponding to the node data and performing a data processing operation on the storage through the storage controller when the processing method is a self-processing method.

또한, 다른 몇몇 실시 예에 따르면, 상기 처리 방식을 결정하는 동작은 상기 헤더 데이터가 미리 정해진 함수를 호출하는 경우 상기 처리 방식을 자체 처리 방식으로 결정하는 동작을 포함할 수 있다.Further, according to some other embodiments, the operation of determining the processing method may include an operation of determining the processing method by itself when the header data calls a predetermined function.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 미리 정해진 함수는 블록체인의 노드가 데이터를 처리하기 위한 통신 계층의 커널 명령어를 포함할 수 있다.Further, according to some other embodiments, the predetermined function may include kernel commands of a communication layer for processing data by a node of the blockchain.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 용도 지향 집적 회로는 상기 노드 데이터를 복호화하는 블록체인 데이터 처리용 집적 회로를 포함할 수 있다.Further, according to some other embodiments, the purpose-oriented integrated circuit may include an integrated circuit for processing blockchain data that decrypts the node data.

기술적 과제를 해결하기 위한, 몇몇 실시예에 따라 분산 장부 관리 시스템의 노드를 구성하는 컴퓨팅 장치는, 데이터의 통신 경로를 제공하는 버스; 상기 버스에 연결되는 중앙 처리부; 데이터를 비일시적으로 저장하는 스토리지; 및 노드 데이터가 수신될 경우 처리 방식을 결정하고, 결정된 처리 방식이 자체 처리 방식인 경우 상기 버스를 통하지 않고 상기 스토리지에 대해 데이터 처리 작업을 수행하는 네트워크 인터페이스 카드;를 포함할 수 있다.In order to solve the technical problem, according to some embodiments, a computing device constituting a node of a distributed ledger management system includes: a bus that provides a communication path for data; A central processing unit connected to the bus; Storage for temporarily storing data; And a network interface card that determines a processing method when node data is received, and performs a data processing operation on the storage without going through the bus when the determined processing method is a self-processing method.

또한, 다른 몇몇 실시 예에 따르면, 상기 블록체인 노드 컴퓨팅 장치는, 상기 버스에 연결된 메모리를 더 포함하고, 상기 네트워크 인터페이스 카드는, 상기 데이터 처리 작업을 수행한 이후 데이터 처리 작업에 대한 메타데이터를 생성하고, 생성된 메타데이터를 상기 컴퓨팅 장치의 메모리에 로드하며, 상기 메모리는, 상기 중앙 처리부의 요청에 따라 상기 메타데이터를 상기 중앙 처리부로 제공할 수 있다.In addition, according to some other embodiments, the blockchain node computing device further includes a memory connected to the bus, and the network interface card generates metadata for a data processing operation after performing the data processing operation. Then, the generated metadata is loaded into the memory of the computing device, and the memory may provide the metadata to the central processing unit at the request of the central processing unit.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 네트워크 인터페이스 카드는, 상기 수신된 노드 데이터를 처리하기 위한 용도 지향 집적 회로를 포함할 수 있다.Further, according to some other embodiments, the network interface card may include a purpose-oriented integrated circuit for processing the received node data.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 스토리지는, 블록체인 시스템의 노드에 저장되는 장부를 저장하고, 상기 네트워크 인터페이스 카드는, 상기 노드 데이터가 상기 장부와 관련된 데이터인 경우 상기 중앙 처리부에 인터럽트를 발생시키기 않고 상기 노드 데이터에 따라 상기 장부를 변경할 수 있다.In addition, according to some other embodiments, the storage stores a book stored in a node of the blockchain system, and the network interface card interrupts the central processing unit when the node data is data related to the book. The ledger can be changed according to the node data without generating it.

기술적 과제를 해결하기 위한, 몇몇 실시예에 따라 컴퓨팅 장치가 수행하는 데이터 처리 방법은, 데이터를 수신하는 단계; 상기 수신된 데이터를 헤더 데이터, 개별 거래 데이터 및 기타 거래 데이터로 구분하고, 상기 헤더 데이터에 포함된 함수를 호출하여 상기 데이터의 종류를 구분하는 단계; 및 상기 컴퓨팅 장치의 중앙 처리 장치에 대한 인터럽트를 발생시키지 않고, 상기 개별 거래 데이터 및 상기 기타 거래 데이터를 상기 구분된 종류에 따라 지정된 스토리지의 저장 위치에 저장하는 단계;를 포함할 수 있다.In order to solve the technical problem, according to some embodiments, a data processing method performed by a computing device includes: receiving data; Classifying the received data into header data, individual transaction data and other transaction data, and classifying the type of the data by calling a function included in the header data; And without generating an interrupt to the central processing unit of the computing device, storing the individual transaction data and the other transaction data in a storage location of a designated storage according to the distinguished type.

또한, 다른 몇몇 실시 예에 따르면, 상기 구분하는 단계는, 상기 헤더 데이터를 저장하고 작업 증명을 완료하는 과정에서 변경되는 정보를 구분하는 단계를 포함하고, 상기 저장하는 단계는, 상기 개별 거래 데이터 중 변경되는 정보에 대응되는 데이터를 용도 지향 집적 회로를 이용하여 처리하는 단계, 및 상기 개별 거래 데이터 중 상기 용도 지향 집적 회로를 이용하여 처리된 결과 데이터, 상기 개별 거래 데이터 중 변경되지 않는 정보 및 기타 거래 데이터를 저장하는 단계를 포함할 수 있다.In addition, according to some other embodiments, the step of separating includes the step of separating information changed in the process of storing the header data and completing the proof of work, and the step of storing is among the individual transaction data. Processing data corresponding to the changed information using a purpose-oriented integrated circuit, and result data processed using the purpose-oriented integrated circuit among the individual transaction data, unchanged information and other transactions among the individual transaction data And storing the data.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 처리하는 단계는, 물리적 복제불가 기능(Physically Unclonable Function) 기반의 하드웨어 칩으로부터 데이터 복호화를 위한 키를 획득하는 단계, 및 상기 키에 기초하여 상기 변경되는 정보에 대응되는 데이터를 복호화하는 단계를 포함할 수 있다.In addition, according to another exemplary embodiment, the processing may include obtaining a key for decrypting data from a hardware chip based on a physically unclonable function, and the changed information based on the key It may include the step of decoding the data corresponding to.

또한, 또 다른 몇몇 실시 예에 따르면, 상기 스토리지에 상기 개별 거래 데이터 및 상기 기타 거래 데이터를 저장한 결과에 대한 메타 데이터를 생성하는 단계; 및 상기 메타 데이터를 상기 컴퓨팅 장치의 메모리에 로드하는 단계;를 포함할 수 있다.In addition, according to some other embodiments, generating metadata for a result of storing the individual transaction data and the other transaction data in the storage; And loading the metadata into the memory of the computing device.

도 1은 분산 장부 관리 시스템의 특징을 설명하기 위한 도면이다.
도 2는 몇몇 실시 예에 따른 컴퓨팅 장치에 구비되는 네트워크 인터페이스 장치의 구조를 설명하기 위한 도면이다.
도 3은 몇몇 실시 예에 따라 컴퓨팅 장치가 수신된 데이터를 저장하는 프로세스를 도시한 도면이다.
도 4는 몇몇 실시 예에 따라 컴퓨팅 장치가 변경된 데이터를 다른 노드에 전송하는 프로세스를 도시한 도면이다.
도 5는 컴퓨팅 장치의 구조를 설명하기 위한 도면이다.
도 6은 몇몇 실시 예에 따른 컴퓨팅 장치 및 네트워크 인터페이스 장치의 구조를 설명하기 위한 도면이다.
도 7은 몇몇 실시 예에 따른 네트워크 인터페이스 장치에 의해 구성되는 계층 구조를 설명하기 위한 도면이다.
도 8은 몇몇 실시 예에 따라 데이터를 처리하는 프로세스를 도시한 순서도이다.
도 9는 다른 몇몇 실시 예에 따라 블록체인 데이터 처리용 집적 회로를 포함하는 네트워크 인터페이스 장치의 구조를 설명하기 위한 도면이다.
도 10은 또 다른 몇몇 실시 예에 따라 키 관리 모듈을 포함하는 네트워크 인터페이스 장치의 구조를 설명하기 위한 도면이다.
도 11은 중앙 처리 장치를 통해 데이터를 처리하는 프로세스를 설명하기 위한 도면이다.
도 12는 몇몇 실시 예에 따른 네트워크 인터페이스 장치를 이용하여 데이터를 처리하는 프로세스를 도시한 순서도이다.
도 13은 몇몇 실시 예에 따라 구분되는 데이터를 설명하기 위한 개념도이다.
1 is a view for explaining the characteristics of a distributed ledger management system.
2 is a diagram illustrating a structure of a network interface device provided in a computing device according to some embodiments.
3 is a diagram illustrating a process in which a computing device stores received data according to some embodiments.
4 is a diagram illustrating a process in which a computing device transmits changed data to another node according to some embodiments.
5 is a diagram for explaining the structure of a computing device.
6 is a diagram for describing structures of a computing device and a network interface device according to some embodiments.
7 is a diagram illustrating a hierarchical structure configured by a network interface device according to some embodiments.
8 is a flowchart illustrating a process for processing data according to some embodiments.
9 is a diagram for explaining a structure of a network interface device including an integrated circuit for processing blockchain data according to some other embodiments.
10 is a diagram for explaining the structure of a network interface device including a key management module according to some other embodiments.
11 is a view for explaining a process for processing data through a central processing unit.
12 is a flowchart illustrating a process of processing data using a network interface device according to some embodiments.
13 is a conceptual diagram illustrating data classified according to some embodiments.

이하, 첨부된 도면을 참조하여 바람직한 실시예들을 상세히 설명한다. 실시예들에 따른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 알려주기 위해 제공되는 것이다.Hereinafter, preferred embodiments will be described in detail with reference to the accompanying drawings. Advantages and features according to embodiments, and methods for achieving them will be clarified through embodiments described below in detail with reference to the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only these embodiments are provided to inform a person of ordinary skill in the art to the scope of the invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 그 범주를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used as meanings commonly understood by those skilled in the art. In addition, terms defined in the commonly used dictionary are not ideally or excessively interpreted unless specifically defined. The terminology used herein is for describing the embodiments and is not intended to limit the scope. In the present specification, the singular form also includes the plural form unless otherwise specified in the phrase.

이하, 도면들을 참조하여 본 발명의 몇몇 실시예들을 설명한다.Hereinafter, some embodiments of the present invention will be described with reference to the drawings.

도 1은 분산 장부 관리 시스템의 특징을 설명하기 위한 도면이다.1 is a view for explaining the characteristics of a distributed ledger management system.

분산 장부 관리 시스템은 특정 관리자나 주인이 데이터를 관리하는 중앙 집중형 시스템과 달리, 분산 장부(Distributed Ledger)가 피어 투 피어(peer to peer; P2P) 네트워크를 통해 복수의 노드에 분산되어 관리된다. 여기서, 분산 장부가 분산되어 관리되는 노드들은 서버나 PC 등의 컴퓨팅 장치로 구성될 수 있다.Unlike a centralized system in which a specific manager or owner manages data, the distributed ledger management system is distributed and managed by a distributed ledger to a plurality of nodes through a peer to peer (P2P) network. Here, the distributed ledger distributed nodes may be configured as a computing device such as a server or a PC.

분산 장부 관리 시스템의 한 노드를 구성하는 컴퓨팅 장치(100)에 트랜잭션(Transaction)이 발생하는 경우, 컴퓨팅 장치(100)는 그 컴퓨팅 장치(100)가 관리하는 분산 장부에 발생한 트랜잭션을 기록한다. 트랜잭션이 기록되어 분산 장부에 변동이 발생하면, 컴퓨팅 장치(100)는 그 트랜잭션이 다른 노드들에서 관리되는 분산 장부에도 기록되도록 하기 위해 데이터를 다른 노드들을 구성하는 컴퓨팅 장치들(101)에도 전송할 필요가 있다. 또한, 분산 장부 관리 시스템은 컴퓨팅 장치(100)와 컴퓨팅 장치들(101)의 변경된 분산 장부에 대한 검증(Validation) 과정을 수행하여야 한다.When a transaction occurs in the computing device 100 constituting a node of the distributed ledger management system, the computing device 100 records the transaction that occurred in the distributed ledger managed by the computing device 100. When a transaction is recorded and changes occur in the distributed ledger, the computing device 100 needs to transmit data to the computing devices 101 constituting other nodes so that the transaction is recorded in the distributed ledger managed by other nodes. There is. In addition, the distributed ledger management system must perform a verification process for the changed distributed ledger of the computing device 100 and the computing devices 101.

따라서, 분산 장부 관리 시스템에서는 트랜잭션이 발생할 때마다 많은 트래픽이 발생하므로, 컴퓨팅 장치(100)와 컴퓨팅 장치들(101)의 네트워크 인터페이스 장치는 높은 지원 트래픽 용량을 가질 필요가 있다.Therefore, in the distributed ledger management system, since a lot of traffic is generated each time a transaction occurs, the computing device 100 and the network interface device of the computing devices 101 need to have a high support traffic capacity.

또한, 데이터를 송수신할 때 암호화된 데이터를 송수신하도록 하기 위해서는 데이터를 수신할 때마다 수신된 데이터의 복호화 프로세스가 수행되어야 하고, 데이터를 송신할 때마다 데이터를 암호화하는 암호화 프로세스가 수행되어야 한다. 데이터를 수신할 경우, 네트워크 인터페이스 장치는 외부로부터 수신된 데이터를 CPU로 전달하여 복호화하고, CPU에 의해 복호화된 데이터는 스토리지에 저장될 수 있다. 데이터를 전송할 경우, CPU가 전송할 데이터를 읽어들여 암호화 프로세스를 수행한 후, 암호화된 데이터를 네트워크 인터페이스 장치로 전달하여 외부로 전송할 수 있다. 그러나, 이 경우 CPU와 네트워크 인터페이스 장치 사이를 연결하는 시스템 버스의 전송 속도의 제한, 트랜잭션의 증가에 따른 CPU의 부하 증대 등의 문제로 트랜잭션 처리 성능에 한계가 발생한다.In addition, in order to transmit and receive encrypted data when transmitting and receiving data, a decryption process of the received data must be performed each time data is received, and an encryption process of encrypting data must be performed each time data is transmitted. When receiving data, the network interface device transmits and decrypts data received from the outside to the CPU, and the data decrypted by the CPU can be stored in the storage. When transmitting data, the CPU reads the data to be transmitted, performs an encryption process, and then transmits the encrypted data to a network interface device and transmits it to the outside. However, in this case, there are limitations in transaction processing performance due to problems such as a limitation in the transmission speed of the system bus connecting the CPU and the network interface device, and an increase in the load of the CPU due to the increase in transactions.

또한, 트랜잭션의 빠른 처리를 위해서는 스토리지에 대한 입출력 속도의 향상 또한 필요하다.In addition, in order to process transactions quickly, it is also necessary to improve the input/output speed to the storage.

도 2는 몇몇 실시 예에 따른 컴퓨팅 장치에 구비되는 네트워크 인터페이스 장치의 구조를 설명하기 위한 도면이다.2 is a diagram illustrating a structure of a network interface device provided in a computing device according to some embodiments.

몇몇 실시 예에 따라 컴퓨팅 장치(100)에 구비된 네트워크 인터페이스 장치(200)는 외부 통신 포트(210), 특정 용도 지향 집적 회로(202) 및 I/O 포트(203)를 포함할 수 있다. 몇몇 실시 예에 따르면, 네트워크 인터페이스 장치(200)는 네트워크 인터페이스 카드(Network Interface Card; NIC)의 형태일 수 있다. 여기서, 몇몇 실시 예에 따른 네트워크 인터페이스 장치(200)는 트래픽 용량을 확보하기 위해 광 케이블 통신을 지원할 수 있다.According to some embodiments, the network interface device 200 provided in the computing device 100 may include an external communication port 210, a specific purpose-oriented integrated circuit 202 and an I/O port 203. According to some embodiments, the network interface device 200 may be in the form of a network interface card (NIC). Here, the network interface device 200 according to some embodiments may support optical cable communication to secure traffic capacity.

외부 통신 포트(210)는 네트워크(10)를 통해 외부 장치로부터 데이터를 수신하거나, 외부 장치로 데이터를 전송할 수 있다. The external communication port 210 may receive data from the external device through the network 10 or transmit data to the external device.

외부 통신 포트(210)는 외부 장치로부터 네트워크(10)를 통해 데이터(예를 들어, 트랜잭션 또는 분산 장부에 대한 데이터)가 수신된 경우, 수신된 데이터를 네트워크 인터페이스 장치(200)에 임베드된(embed) 특정 용도 지향 집적 회로(Application Specific Integrated Circuit; ASIC)(202)으로 전달하도록 구성될 수 있다. 몇몇 실시 예에 따른 특정 용도 지향 집적 회로(202)는 데이터가 수신된 경우 수신된 데이터를 복호화하도록 구성된 것일 수 있다. 데이터를 복호화한 특정 용도 지향 집적 회로(202)는 스토리지(210)와 연결된 I/O 포트(203)를 통해 복호화된 데이터를 스토리지(210)에 저장할 수 있다. 스토리지(210)는 반드시 컴퓨팅 장치(100)에 내장되어야 하는 것은 아니며, 컴퓨팅 장치(100)의 외부에 연결될 수도 있다.The external communication port 210 embeds the received data into the network interface device 200 when data (eg, data for a transaction or distributed ledger) is received from the external device through the network 10. ) Can be configured to deliver to an Application Specific Integrated Circuit (ASIC) 202. The specific use-oriented integrated circuit 202 according to some embodiments may be configured to decrypt the received data when the data is received. The specific purpose-oriented integrated circuit 202 that decrypts the data may store the decrypted data in the storage 210 through the I/O port 203 connected to the storage 210. The storage 210 is not necessarily embedded in the computing device 100, and may be connected to the outside of the computing device 100.

또는, 스토리지(210)에 저장된 데이터에 변경된 데이터가 발생하는 경우, 예를 들면 발생된 트랜잭션이 분산 장부에 기록된 경우, 특정 용도 지향 집적 회로(202)는 변경된 정보에 대한 데이터를 암호화할 수 있다. 예를 들어, 트랜잭션에 대한 데이터 내지 변경된 분산 장부에 대한 데이터를 암호화할 수 있다. 특정 용도 지향 집적 회로(202)는 암호화된 데이터를 외부 통신 포트(201)를 통해 네트워크(10)로 전송할 수 있다.Alternatively, when changed data occurs in the data stored in the storage 210, for example, when the generated transaction is recorded in the distributed ledger, the specific purpose-oriented integrated circuit 202 may encrypt data for the changed information. . For example, data for a transaction or data for a changed distributed ledger can be encrypted. The application-specific integrated circuit 202 can transmit encrypted data to the network 10 through the external communication port 201.

따라서, 네트워크 인터페이스 장치(200)는 별도의 시스템 버스를 거치지 않고 스토리지(210)에 수신된 데이터를 기록하거나 스토리지(210)로부터 데이터를 암호화하여 전송할 수 있다. 몇몇 실시 예에 따르면, I/O 포트(203)는 스토리지에 대한 입출력 속도를 향상시키기 위해 더블러를 이용하여 스토리지(210)와 연결될 수 있다.Accordingly, the network interface device 200 may record the data received in the storage 210 without going through a separate system bus or encrypt and transmit the data from the storage 210. According to some embodiments, the I/O port 203 may be connected to the storage 210 using a doubler to improve the input/output speed to the storage.

도 3은 몇몇 실시 예에 따라 컴퓨팅 장치가 수신된 데이터를 저장하는 프로세스를 도시한 도면이다.3 is a diagram illustrating a process in which a computing device stores received data according to some embodiments.

먼저, 단계 S310에서, 몇몇 실시 예에 따른 컴퓨팅 장치(100)에 구비된 네트워크 인터페이스 장치(200)가 외부 장치로부터 데이터를 수신한 경우, 네트워크 인터페이스 장치(200)는 수신된 데이터를 네트워크 인터페이스 장치(200)에 임베드된 특정 용도 지향 집적 회로(202)에 전달할 수 있다. First, in step S310, when the network interface device 200 provided in the computing device 100 according to some embodiments receives data from an external device, the network interface device 200 receives the received data from the network interface device ( 200) embedded in a specific use oriented integrated circuit 202.

이후 단계 S320에서, 컴퓨팅 장치(100)는 특정 용도 지향 집적 회로(202)를 이용하여 수신된 데이터를 복호화할 수 있다. 컴퓨팅 장치(100)는 그 네트워크 인터페이스 장치(200)에 임베드된 특정 용도 지향 집적 회로(202)를 이용하여 수신된 데이터를 복호화함으로써, 별도의 시스템 버스를 통하지 않고 CPU의 부하 증가를 최소화하면서도 보다 빠르게 복호화 프로세스를 수행할 수 있다.Thereafter, in step S320, the computing device 100 may decrypt the received data using the specific purpose-oriented integrated circuit 202. The computing device 100 decodes the received data using the specific purpose-oriented integrated circuit 202 embedded in the network interface device 200, thereby minimizing the increase in CPU load without going through a separate system bus and more quickly. The decoding process can be performed.

이후, 컴퓨팅 장치(100)의 네트워크 인터페이스 장치(200)는 단계 S330에서 복호화된 데이터를 네트워크 인터페이스 장치(200)에 연결된 스토리지(210)에 저장할 수 있다.Thereafter, the network interface device 200 of the computing device 100 may store the data decrypted in step S330 in the storage 210 connected to the network interface device 200.

도 4는 몇몇 실시 예에 따라 컴퓨팅 장치가 변경된 데이터를 다른 노드에 전송하는 프로세스를 도시한 도면이다. 4 is a diagram illustrating a process in which a computing device transmits changed data to another node according to some embodiments.

먼저, 단계 S410에서 컴퓨팅 장치(100)는 스토리지(210) 내에 변경된 데이터가 발생하였는지 여부를 판단할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 스토리지(210) 내에 저장된 분산 원장에 새롭게 발생한 트랜잭션이 기록되었는지 여부를 판단할 수 있다.First, in step S410, the computing device 100 may determine whether changed data has occurred in the storage 210. For example, the computing device 100 may determine whether a newly generated transaction is recorded in the distributed ledger stored in the storage 210.

스토리지(210) 내에 변경된 데이터가 발생한 경우, 컴퓨팅 장치(100)는 단계 S420에서 변경된 데이터 또는 변경된 데이터에 관련된 데이터를 특정 용도 지향 집적 회로(202)를 이용하여 암호화할 수 있다. 컴퓨팅 장치(100)는 네트워크 인터페이스 장치(200)에 임베드된 특정 용도 지향 집적 회로(202)를 이용하여 변경된 데이터를 암호화함으로써, 별도의 시스템 버스를 통하지 않고 CPU의 부하 증가를 최소화하면서도 보다 빠르게 암호화 프로세스를 수행할 수 있다.When the changed data occurs in the storage 210, the computing device 100 may encrypt the changed data or data related to the changed data in step S420 using the specific purpose-oriented integrated circuit 202. The computing device 100 encrypts the changed data by using a specific purpose-oriented integrated circuit 202 embedded in the network interface device 200, thereby minimizing the increase in CPU load without going through a separate system bus and encrypting the data more quickly. You can do

이후, 컴퓨팅 장치(100)의 네트워크 인터페이스 장치(200)는 단계 S430에서 암호화된 데이터를 다른 노드로 전송할 수 있다.Thereafter, the network interface device 200 of the computing device 100 may transmit the encrypted data to another node in step S430.

도 5는 컴퓨팅 장치의 구조를 설명하기 위한 도면이다.5 is a diagram for explaining the structure of a computing device.

컴퓨팅 장치는 네트워크 인터페이스 카드(510), 버스(520), 중앙 처리 장치(530), 메모리(540), 스토리지 제어기(550) 및 스토리지(210)를 포함할 수 있다. 도 5는 메모리(540)의 예시로 RAM이 도시되어 있다.The computing device may include a network interface card 510, a bus 520, a central processing unit 530, a memory 540, a storage controller 550 and storage 210. 5 illustrates RAM as an example of the memory 540.

네트워크 인터페이스 카드(510), 중앙 처리 장치(530), 메모리(540) 및 스토리지 제어기(550)는 마더보드에 구비된 슬롯(slot)에 장착되어 버스(520)에 연결될 수 있다. 버스(520)는 버스(520)에 연결된 각 구성요소들 간에 데이터를 송수신하는 경로를 제공한다.The network interface card 510, the central processing unit 530, the memory 540 and the storage controller 550 may be mounted in a slot provided on the motherboard and connected to the bus 520. The bus 520 provides a path for transmitting and receiving data between components connected to the bus 520.

네트워크 인터페이스 카드(510)는 네트워크(10)로부터 데이터를 수신하면, 버스(520)를 통해서 수신된 데이터에 대한 제어 데이터를 중앙 처리 장치(530)로 전달할 수 있다. 여기서, 수신된 데이터는 메모리(540)에 로드될 수도 있다.When receiving data from the network 10, the network interface card 510 may transmit control data for the data received through the bus 520 to the central processing unit 530. Here, the received data may be loaded into the memory 540.

중앙 처리 장치(530)는 제어 데이터에 따라 수신된 데이터를 처리하기 위해 인터럽트 신호를 수신할 수 있다. 인터럽트 신호를 수신한 중앙 처리 장치(530)는 기존에 수행 중이던 작업을 중지하고 제어 데이터에 따라 수신된 데이터를 처리할 수 있다. 중앙 처리 장치(530)는 처리된 데이터를 스토리지 제어기(550)를 통해서 스토리지(210)에 저장할 수 있다. 여기서, 스토리지(210)는 SSD(Solid State Disk), HDD(Hard Disk Driver)나 플래시 메모리와 같은 저장 매체를 포함할 수 있다.The central processing unit 530 may receive an interrupt signal to process the received data according to the control data. The central processing unit 530 that has received the interrupt signal may stop an existing operation and process the received data according to the control data. The central processing unit 530 may store the processed data in the storage 210 through the storage controller 550. Here, the storage 210 may include a storage medium such as a solid state disk (SSD), a hard disk driver (HDD), or a flash memory.

여기서, 중앙 처리 장치(530)가 수신된 데이터를 처리하기 위해 인터럽트를 발생시키고 기준에 수행 중이던 작업을 중지해야 하므로 다수의 트랜잭션이 발생하게 되면 중앙 처리 장치(530)에 과도한 부하가 발생하거나 중앙 처리 장치(530)가 작업을 수행하기 위한 성능의 저하가 발생할 수 있다.Here, the central processing unit 530 must generate an interrupt to process the received data and stop the work that was being performed on the basis, so if a large number of transactions occur, the central processing unit 530 generates excessive load or central processing Degradation of performance for the device 530 to perform a task may occur.

또한, 통신 장치의 발달로 네트워크 인터페이스 카드(510)는 네트워크(10)로부터 대량의 데이터를 수신할 수 있다. 예를 들어, 200 Gbps의 속도로 데이터를 수신할 수 있는 네트워크 인터페이스 카드(510)가 사용될 수 있다. 그러나, 버스(520)의 경우 네트워크 인터페이스 카드(510)에 의해 수신되는 데이터를 모두 수용할 수 있는 정도의 대역폭을 구비하지 못할 수 있다. 예를 들어, PCIe(Peripheral Component Interconnect express) 버스의 경우 128 Gbps의 대역폭을 제공할 수 있다. 따라서, 네트워크 인터페이스 카드(510)가 데이터를 수신하는 대역폭에 비해 버스(520)가 수용할 수 있는 대역폭이 작기 때문에 병목 현상이 발생할 수 있다.In addition, with the development of communication devices, the network interface card 510 can receive a large amount of data from the network 10. For example, a network interface card 510 that can receive data at a rate of 200 Gbps may be used. However, the bus 520 may not have a bandwidth sufficient to accommodate all data received by the network interface card 510. For example, a PCIe (Peripheral Component Interconnect express) bus can provide a bandwidth of 128 Gbps. Accordingly, a bottleneck may occur because the bandwidth that the bus 520 can accommodate is smaller than the bandwidth at which the network interface card 510 receives data.

따라서, 버스의 대역폭 저하로 인해 발생하는 병목현상을 저감하고, 중앙 처리 장치(530)가 데이터를 처리함으로 인해 발생하는 지연 요소를 해결하기 위한 방법이 필요하다.Accordingly, there is a need for a method for reducing the bottleneck caused by a decrease in the bandwidth of the bus and for solving the delay caused by the central processing unit 530 processing the data.

도 6은 몇몇 실시 예에 따른 컴퓨팅 장치 및 네트워크 인터페이스 장치의 구조를 설명하기 위한 도면이다.6 is a diagram for describing structures of a computing device and a network interface device according to some embodiments.

몇몇 실시 예에 따른 컴퓨팅 장치(100)는 네트워크 인터페이스 장치(200), 버스(520), 중앙 처리 장치(530), 메모리(540) 및 스토리지(210)를 포함할 수 있다.The computing device 100 according to some embodiments may include a network interface device 200, a bus 520, a central processing unit 530, a memory 540, and storage 210.

몇몇 실시 예에 따른 네트워크 인터페이스 장치(200)는 기판에 네트워크 인터페이스부(Network Interface Unit; NIU)(220), 특정 용도 지향 집적 회로(202) 및 스토리지 제어기(230)가 실장된 네트워크 인터페이스 카드일 수 있다. 여기서, 네트워크 인터페이스 장치(200)의 기판은 데이터를 외부의 네트워크(10)로부터 데이터를 수신하기 위한 외부 통신 포트와, 버스(520)와 연결되기 위한 버스 연결부 및 스토리지(210)와 연결하기 위한 스토리지 연결부를 포함할 수 있다.The network interface device 200 according to some embodiments may be a network interface card in which a network interface unit (NIU) 220, a specific purpose-oriented integrated circuit 202, and a storage controller 230 are mounted on a board. have. Here, the substrate of the network interface device 200 is an external communication port for receiving data from the external network 10, a bus connection unit for connecting to the bus 520, and storage for connecting to the storage 210 It may include a connection.

네트워크 인터페이스부(220)는 외부의 네트워크(10)로부터 외부 통신 포트를 통해서 데이터를 수신할 수 있다. 예를 들어, 네트워크 인터페이스부(220)는 분산 장부 관리 시스템의 노드에게 전달되는 노드 데이터를 수신할 수 있다.The network interface unit 220 may receive data from the external network 10 through an external communication port. For example, the network interface unit 220 may receive node data delivered to a node of the distributed ledger management system.

네트워크 인터페이스부(220)를 통해 수신된 데이터에 대한 특정 용도 지향 집적 회로(202)의 처리 방식을 결정할 수 있다. 여기서, 수신된 데이터가 특정 용도 지향 집적 회로(202)가 수행하는 특정 목적을 위한 데이터인 경우 자체 처리 방식이 선택될 수 있다. 예를 들어, 수신된 데이터가 분산 장부 관리 시스템의 노드에 저장된 장부를 변경하기 위한 노드 데이터인 경우 수신된 데이터를 특정 용도 지향 집적 회로(202)가 자체적으로 처리하는 방식이 선택될 수 있다. 반대로, 수신된 데이터가 일반적인 데이터인 경우에는 중앙 처리 장치(530)에 제어 데이터를 전달하고, 중앙 처리 장치(530)에 의해 데이터를 처리하는 중앙 처리 방식이 선택될 수 있다.The processing method of the specific-purpose integrated circuit 202 for data received through the network interface unit 220 may be determined. Here, when the received data is data for a specific purpose performed by the specific purpose-oriented integrated circuit 202, a self-processing method may be selected. For example, when the received data is node data for changing the ledger stored in a node of the distributed ledger management system, a method in which the specific purpose-oriented integrated circuit 202 processes the received data itself may be selected. Conversely, when the received data is general data, a central processing method of transmitting control data to the central processing unit 530 and processing the data by the central processing unit 530 may be selected.

여기서, 네트워크(10)를 통해 수신하는 데이터의 헤더 데이터는 데이터의 처리 방식을 결정하기 위한 정보를 포함할 수 있다. 예를 들어, 헤더 데이터는 프로토콜 정의를 포함하고, 네트워크 인터페이스 장치(200)는 프로토콜 정의에 따라 실행되는 기능에 따라서 수신된 데이터가 특정 용도 지향 집적 회로(202)가 수행하는 특정 목적을 위한 데이터인지 여부를 판단할 수 있다. 이 경우, 용도 지향 집적 회로(202)는 수신된 데이터로부터 헤더 데이터를 구분하고, 헤더 데이터를 이용하여 수신된 데이터의 처리 방식을 결정할 수 있다. 예를 들어, 헤더 데이터가 수신된 데이터를 처리하기 위한 통신 계층의 커널(kernel) 명령어를 포함하는 함수를 포출하는 경우 용도 지향 집적 회로(202)는 수신된 데이터의 처리 방식을 자체 처리 방식으로 결정할 수 있다.Here, the header data of the data received through the network 10 may include information for determining a data processing method. For example, the header data includes a protocol definition, and the network interface device 200 determines whether the received data is data for a specific purpose performed by the specific purpose-oriented integrated circuit 202 according to a function executed according to the protocol definition. Can determine whether In this case, the purpose-oriented integrated circuit 202 may distinguish header data from the received data, and determine the processing method of the received data using the header data. For example, when the header data exports a function including a kernel instruction of a communication layer for processing the received data, the purpose-oriented integrated circuit 202 uses the processing method of the received data in its own processing method. Can decide.

네트워크 인터페이스 장치(200)는 자체 처리 방식에 의해 수신된 데이터를 처리하는 경우 버스(520)를 통하지 않고 스토리지(210)에 대한 데이터 처리 작업을 수행할 수 있다. 예를 들어, 네트워크 인터페이스부(220)를 통해 수신된 데이터 내지 용도 지향 집적 회로(202)에 의해 처리된 데이터를 스토리지 제어기(230)를 이용하여 버스(520)를 통하지 않고 스토리지(210)에 저장할 수 있다.When processing data received by the self-processing method, the network interface device 200 may perform a data processing operation on the storage 210 without going through the bus 520. For example, data received through the network interface unit 220 or data processed by the purpose-oriented integrated circuit 202 may be stored in the storage 210 without going through the bus 520 using the storage controller 230. Can.

특정 용도 지향 집적 회로(202)는 자체 처리 방식에 기초하여 스토리지(210)에 대한 데이터 처리를 수행한 경우, 수행한 데이터 처리 작업에 대한 메타 데이터를 생성할 수 있다. 특정 용도 지향 집적 회로(202)는 생성된 메타 데이터를 메모리(540)에 로드(load)시킬 수 있다. 메타 데이터는, 예를 들어, 어떤 데이터가 저장되었는지에 대한 정보인 데이터 식별 정보와 데이터가 어느 스토리지(210)의 어느 위치에 저장되었는지에 대한 정보인 저장 위치 정보를 포함할 수 있다.When the data processing for the storage 210 is performed based on the self-processing method, the specific purpose-oriented integrated circuit 202 may generate metadata about the data processing operation performed. The application-specific integrated circuit 202 may load the generated metadata into the memory 540. The meta data may include, for example, data identification information that is information about what data is stored and storage location information that is information about which location of the storage 210 the data is stored in.

중앙 처리 장치(530)는 자체 처리 방식에 기초하여 처리된 데이터에 대한 요청이 있는 경우, 메모리(540)에 로드된 메타 데이터를 이용하여 저장된 데이터에 액세스할 수 있다.The central processing unit 530 may access stored data using metadata loaded in the memory 540 when a request is made for data processed based on its own processing method.

따라서, 본 실시 예에 따른 네트워크 인터페이스 장치를 구비한 컴퓨팅 장치를 이용할 경우, 분산 장부 관리 시스템의 노드 데이터와 같이 특정 목적을 위한 데이터를 처리할 경우 중앙 처리 장치에 대한 인터럽트를 발생시킬 필요가 없어 중앙 처리 장치의 성능을 향상시킬 수 있고, 데이터의 처리 속도를 증가시킬 수 있다. 또한, 수신된 데이터를 버스를 통해 전송할 필요가 없으므로 버스의 대역폭 저하로 인한 병목 현상이 발생하는 것을 방지할 수 있다.Therefore, when using the computing device with the network interface device according to the present embodiment, when processing data for a specific purpose, such as node data of a distributed ledger management system, there is no need to generate an interrupt for the central processing unit. The performance of the processing device can be improved, and the processing speed of data can be increased. In addition, since there is no need to transmit the received data through the bus, it is possible to prevent a bottleneck due to a decrease in bandwidth of the bus.

도 7은 몇몇 실시 예에 따른 네트워크 인터페이스 장치에 의해 구성되는 계층 구조를 설명하기 위한 도면이다. 네트워크 인터페이스 장치(200)를 포함하여 구성되는 계층 구조는 통신 계층(Communication Layer)(710), 하드웨어 추상화 계층(Hardware Abstraction Layer; HAL)(720) 및 물리 계층(Physical Layer)(730)을 포함할 수 있다. 다만, 도 7에 도시된 계층 구조는 네트워크 인터페이스 장치(200)의 동작을 설명하기 위한 것이며, 실시 예에 따라 구현된 계층 구조는 도 7에 도시되지 않은 다른 계층을 더 포함할 수도 있다.7 is a diagram illustrating a hierarchical structure configured by a network interface device according to some embodiments. The hierarchical structure including the network interface device 200 may include a communication layer 710, a hardware abstraction layer (HAL) 720, and a physical layer 730. Can. However, the hierarchical structure illustrated in FIG. 7 is for describing the operation of the network interface device 200, and the hierarchical structure implemented according to an embodiment may further include other layers not illustrated in FIG. 7.

수신된 데이터에 대해 하드웨어의 기능을 수행하기 위해, 통신 계층(710), 하드웨어 추상화 계층(720) 및 물리 계층(730)을 경유하는 경로(71)를 통해서 하드웨어의 기능을 제어할 수 있다.In order to perform hardware functions on the received data, hardware functions may be controlled through a path 71 through the communication layer 710, the hardware abstraction layer 720, and the physical layer 730.

이에 대비하여, 몇몇 실시 예에 따르면, 수신된 데이터가 통신 계층(710)의 커널(kernel) 명령어를 이용하는 경우, 물리 계층(730)을 경유하지 않고 직접 스토리지(210)에 수신된 데이터 또는 수신된 데이터를 처리한 결과를 쓰거나, 스토리지(210)로부터 데이터를 독출할 수 있다. 이후, 스토리지(210)에 대해 수행된 작업에 대한 결과 데이터가 통신 계층(710), 하드웨어 추상화 계층(720) 및 물리 계층(730)을 거치는 경로(73)를 통해서 메모리(540)에 로드될 수 있다.In contrast, according to some embodiments, when the received data uses a kernel command of the communication layer 710, data received or received directly to the storage 210 without going through the physical layer 730 The result of processing the data may be written, or data may be read from the storage 210. Thereafter, the result data for the operation performed on the storage 210 may be loaded into the memory 540 through the path 73 through the communication layer 710, the hardware abstraction layer 720, and the physical layer 730. have.

도 8은 몇몇 실시 예에 따라 컴퓨팅 장치가 데이터를 처리하는 프로세스를 도시한 순서도이다.8 is a flowchart illustrating a process in which a computing device processes data according to some embodiments.

먼저, 단계 S810에서 컴퓨팅 장치는 네트워크 인터페이스 장치를 통해서 데이터를 수신할 수 있다. 여기서, 수신된 데이터는 데이터 송수신을 위해 사용되는 프로그램에서 정해진 방식에 따라 데이터를 처리하기 위한 방식을 결정할 수 있는 정보를 포함할 수 있다.First, in step S810, the computing device may receive data through the network interface device. Here, the received data may include information capable of determining a method for processing data according to a predetermined method in a program used for data transmission and reception.

몇몇 실시 예에 따르면, 수신된 데이터가 분산 장부 관리 시스템의 노드 데이터인 경우, 노드 데이터는 헤더 데이터, 개별 거래 데이터 및 기타 거래 데이터를 포함할 수 있다. 여기서, 헤더 데이터는 데이터와 관련된 프로토콜이나 암호화 등과 관련된 정보를 포함할 수 있다. 개별 거래 데이터는 트랜잭션에 대한 정보를 포함할 수 있다. 또한, 기타 거래 데이터는 개별 거래 데이터의 진위 여부를 입증하기 위한 데이터를 포함할 수 있다. 몇몇 실시 예에 따르면 노드 데이터를 발생시키는 장치는 프로그램에서 설정된 대로 헤더 데이터 내에 노드 데이터를 수신한 컴퓨팅 장치가 노드 데이터의 처리 방식을 결정할 수 있는 정보를 포함시킬 수 있다. 여기서, 몇몇 실시 예에 따르면, 노드 데이터를 발생시키는 장치는 헤더 데이터가 통신 계층의 커널 명령어를 포함하도록 노드 데이터를 구성할 수 있다.According to some embodiments, when the received data is node data of a distributed ledger management system, the node data may include header data, individual transaction data, and other transaction data. Here, the header data may include information related to a protocol or encryption related to the data. Individual transaction data may include information about the transaction. In addition, other transaction data may include data for verifying the authenticity of individual transaction data. According to some embodiments, a device that generates node data may include information that enables a computing device that has received the node data to determine how to process the node data in header data as set in the program. Here, according to some embodiments, a device generating node data may configure node data such that header data includes kernel commands of a communication layer.

이후, 단계 S820에서 컴퓨팅 장치는 수신된 데이터를 자체 처리 방식으로 처리할 것인지 여부를 판단할 수 있다. 여기서, 자체 처리 방식은 수신된 데이터에 대한 인터럽트 신호를 중앙 처리 장치에게 발생시키지 않고 네트워크 인터페이스 장치가 자체적으로 처리하는 것을 의미한다.Thereafter, in step S820, the computing device may determine whether to process the received data in its own processing method. Here, the self-processing method means that the network interface device processes itself without generating an interrupt signal for the received data to the central processing device.

몇몇 실시 예에 따르면, 단계 S820에서 컴퓨팅 장치는 수신된 데이터로부터 헤더 데이터를 구분하고, 구분된 헤더 데이터를 이용하여 수신된 데이터의 처리 방식을 결정할 수 있다. 예를 들어, 컴퓨팅 장치는 헤더 데이터가 미리 정해진 함수를 호출하도록 구성되어 있는 경우 수신된 데이터의 처리 방식을 자체 처리 방식으로 결정할 수 있다. 여기서, 미리 정해진 함수는 블록체인의 노드가 데이터를 처리하기 위한 통신 계층의 커널 명령어를 포함할 수 있다.According to some embodiments, in step S820, the computing device may classify the header data from the received data, and determine the processing method of the received data using the separated header data. For example, when the header data is configured to call a predetermined function, the computing device may determine a processing method of the received data as its own processing method. Here, the predetermined function may include a kernel command of a communication layer for a node of the blockchain to process data.

수신된 데이터에 대한 응답으로 컴퓨팅 장치에서 실행되는 응용 프로그램이 상기의 미리 정해진 함수를 호출하여 수신된 데이터를 종류별로 구분하고, 구분된 데이터를 지정된 프로세스나 스토리지의 저장 위치로 전달할 수 있다. 또한, 호출된 함수는 의해 구분된 데이터를 지정된 프로세스로 전달하여 처리된 결과나 스토리지의 저장 위치로 전달된 결과를 메타 데이터로 생성하여 프로세스에 리턴(return)하는 동작을 수행하기 위한 것일 수 있다.In response to the received data, an application program running on the computing device may call the predetermined function to classify the received data by type, and transfer the divided data to a storage location of a designated process or storage. In addition, the called function may be for performing an operation of returning to the process by generating the processed result or the result delivered to the storage location of the storage as meta data by passing the data separated by the specified process.

수신된 데이터를 자체 처리 방식에 따라 처리하는 것으로 결정된 경우, 단계 S831에서 컴퓨팅 장치는 수신된 데이터를 구분할 수 있다. 몇몇 실시 예에 따르면, 수신된 데이터가 노드 데이터인 경우, 컴퓨팅 장치는 노드에 기록된 장부에 대하여 변경이 발생하는 정보와 변경되지 않는 정보를 구분할 수 있다.If it is determined to process the received data according to its own processing method, in step S831, the computing device may classify the received data. According to some embodiments, when the received data is node data, the computing device may discriminate information that does not change and information that changes with respect to the ledger recorded in the node.

이후, 단계 S832에서 컴퓨팅 장치는 변경이 발생하는 정보에 포함되는 데이터를 네트워크 인터페이스 장치의 용도 지향 집적 회로를 이용하여 처리할 수 있다. 또한, 단계 S833에서 컴퓨팅 장치는 용도 지향 집적 회로를 이용하여 처리된 결과 값을 지정된 스토리지 상의 저장 위치에 저장할 수 있다. 또한, 단계 S833에서 수신된 데이터 중 변경되지 않는 정보는 추가적인 처리 없이 스토리지에 저장할 수 있다.Thereafter, in step S832, the computing device may process data included in the information in which the change occurs using the purpose-oriented integrated circuit of the network interface device. Further, in step S833, the computing device may store the result value processed using the purpose-oriented integrated circuit in a storage location on the designated storage. In addition, among the data received in step S833, information that does not change can be stored in the storage without additional processing.

수신된 데이터가 개별 거래 데이터와 기타 거래 데이터를 포함하는 경우, 컴퓨팅 장치는 단계 S831에서 수신된 데이터로부터 개별 거래 데이터와 기타 거래 데이터를 구분할 수 있다. 이후, 컴퓨팅 장치는 기타 거래 데이터를 스토리지 상의 지정된 위치에 저장할 수 있다. 기타 거래 데이터는 거래를 입증하기 위한 전자 문서 등이므로 별도의 변경이 발생하지 않으므로, 컴퓨팅 장치는 별도의 데이터 처리 없이 스토리지에 저장할 수 있다. 또한, 컴퓨팅 장치는 개별 거래 데이터 중 변경이 발생하지 않는 부분도 별도의 처리 없이 스토리지에 저장할 수 있다. 여기서, 컴퓨팅 장치는 데이터에 포함된 헤더 데이터를 이용하여 데이터를 저장할 위치를 결정할 수 있다.When the received data includes individual transaction data and other transaction data, the computing device may distinguish individual transaction data from other transaction data from the data received in step S831. Thereafter, the computing device may store other transaction data in a designated location on the storage. Since the other transaction data is an electronic document for verifying the transaction, etc., no separate change occurs, so the computing device can be stored in the storage without any separate data processing. In addition, the computing device may store a portion of the individual transaction data that does not change in storage without additional processing. Here, the computing device may determine a location to store the data using header data included in the data.

이후, 단계 S834에서, 컴퓨팅 장치는 데이터의 처리 결과에 대한 메타 데이터를 생성할 수 있다. 몇몇 실시 예에 따르면, 메타 데이터는 데이터를 처리한 결과 스토리지에 저장된 데이터의 위치 정보와 변경된 데이터에 대한 정보를 포함할 수 있다.Thereafter, in step S834, the computing device may generate metadata about the result of processing the data. According to some embodiments, meta data may include location information of data stored in storage as a result of processing the data and information about changed data.

생성된 메타 데이터는 컴퓨팅 장치의 메모리에 로드되고, 중앙 처리 장치의 요청에 따라 중앙 처리 장치에 제공될 수 있다. 따라서, 단계 S831 내지 단계 S834를 통해 처리되는 데이터가 수신된 경우 중앙 처리 장치가 수행하는 프로세스는 중지되지 않고 계속해서 진행될 수 있다.The generated metadata is loaded into the memory of the computing device, and may be provided to the central processing device at the request of the central processing device. Therefore, when data processed through steps S831 to S834 is received, the process performed by the central processing unit may continue without being stopped.

단계 S820에서 컴퓨팅 장치가 수신된 데이터에 대한 처리 방식을 자체 처리 방식이 아닌 중앙 처리 방식으로 결정한 경우, 컴퓨팅 장치는 단계 S841에서 수신된 데이터에 대한 제어 데이터를 중앙 처리 장치로 전달할 수 있다.If the processing method for the data received by the computing device in step S820 is determined as a central processing method rather than a self-processing method, the computing device may transmit control data for the data received in step S841 to the central processing device.

또한, 단계 S842에서 컴퓨팅 장치는 중앙 처리 장치가 수신된 데이터를 처리하기 위해 중앙 처리 장치의 프로세스에 인터럽트를 발생시킬 수 있다.In addition, in step S842, the computing device may generate an interrupt in the process of the central processing unit in order for the central processing unit to process the received data.

이후, 단계 S843에서 중앙 처리 장치는 기존에 실행 중이던 프로세스를 중지하고 수신된 데이터를 처리할 수 있다.Thereafter, in step S843, the central processing unit may stop the existing running process and process the received data.

도 9는 다른 몇몇 실시 예에 따라 블록체인 데이터 처리용 집적 회로를 포함하는 네트워크 인터페이스 장치의 구조를 설명하기 위한 도면이다. 특히, 도 9는 수신된 데이터가 블록 체인 데이터인 경우 데이터를 처리하기 위한 네트워크 인터페이스 장치에 관한 것이다.9 is a diagram for explaining the structure of a network interface device including an integrated circuit for processing blockchain data according to some other embodiments. In particular, FIG. 9 relates to a network interface device for processing data when the received data is blockchain data.

본 실시 예에 따른 네트워크 인터페이스 장치는 네트워크 인터페이스부(220), 특정 용도 지향 집적 회로(202), 스토리지 제어기(230) 및 블록체인 데이터 처리용 집적 회로(910)를 포함할 수 있다.The network interface device according to the present embodiment may include a network interface unit 220, a specific purpose-oriented integrated circuit 202, a storage controller 230, and an integrated circuit 910 for blockchain data processing.

본 실시 예에 따른 네트워크 인터페이스 장치는 커널 형태의 통신 계층(900)을 형성할 수 있다. 수신된 데이터가 통신 계층(900)의 커널 명령어를 사용할 경우 수신된 데이터로부터 확인된 데이터가 변경되는 작업 중 블록체인 데이터 처리가 필요한 경우 블록체인 데이터 처리용 집적 회로(910)를 이용하여 데이터를 처리할 수 있다. 블록체인 데이터를 처리하기 위한 통신 계층(900)은 블록 체인 노드 데이터 통신 계층(Block chain Node data Communication Layer; BNCL)로 언급될 수 있다.The network interface device according to the present embodiment may form a kernel-type communication layer 900. When the received data uses the kernel command of the communication layer 900, when the data identified from the received data is changed, when processing the blockchain data is required, the data is processed using the integrated circuit 910 for blockchain data processing. can do. The communication layer 900 for processing blockchain data may be referred to as a block chain node data communication layer (BNCL).

여기서, 예를 들어, 블록체인 데이터 처리용 집적 회로(910)는 하이퍼렛저(Hyperledger ™) 기반의 데이터 처리를 수행하기 위한 특정 용도 지향 집적 회로일 수 있다. 실시 예에 따라서, 블록체인 데이터 처리용 집적 회로(910)는 블록체인 기반의 분산 장부 관리 시스템에서 송수신되는 노드 데이터의 암복호화를 수행할 수도 있다.Here, for example, the integrated circuit 910 for blockchain data processing may be a specific purpose-oriented integrated circuit for performing data processing based on Hyperledger™. According to an embodiment, the integrated circuit 910 for blockchain data processing may perform encryption/decryption of node data transmitted and received in a blockchain-based distributed ledger management system.

용도 지향 집적 회로(202) 및 블록체인 데이터 처리용 집적 회로(910)가 반드시 물리적으로 구분된 구성요소일 필요는 없다. 실시 예에 따라서, 용도 지향 집적 회로(202) 및 블록체인 데이터 처리용 집적 회로(910)는 물리적으로 하나의 칩 내에 구성될 수도 있다.The purpose-oriented integrated circuit 202 and the integrated circuit 910 for blockchain data processing are not necessarily physically separated components. Depending on the embodiment, the application-oriented integrated circuit 202 and the integrated circuit 910 for blockchain data processing may be physically configured in one chip.

스토리지 제어기(230)는 하나 이상의 스토리지(210)에 용도 지향 집적 회로(202) 및 블록체인 데이터 처리용 집적 회로(910)가 처리한 데이터를 저장할 수 있다. 스토리지 제어기(230)는 복수의 스토리지(210)에 연결되어 허브(Hub) 기능을 제공할 수도 있다.The storage controller 230 may store data processed by the application-oriented integrated circuit 202 and the integrated circuit 910 for processing blockchain data in one or more storages 210. The storage controller 230 may be connected to a plurality of storages 210 to provide a hub function.

본 실시 예에 따른 네트워크 인터페이스 장치는 블록체인 데이터를 처리하기 위한 장치로 이용될 수 있다. 본 명세서에서, 블록체인 데이터를 처리하기 위한 장치는 블록 체인 처리 장치(Block-chain Processing Unit; BPU)로 언급될 수 있다.The network interface device according to the present embodiment may be used as a device for processing blockchain data. In this specification, an apparatus for processing blockchain data may be referred to as a block-chain processing unit (BPU).

도 10은 또 다른 몇몇 실시 예에 따라 키 관리 모듈을 포함하는 네트워크 인터페이스 장치의 구조를 설명하기 위한 도면이다.10 is a diagram for explaining the structure of a network interface device including a key management module according to some other embodiments.

본 실시 예에 따른 네트워크 인터페이스 장치(200)는 네트워크 인터페이스부(220), 특정 용도 지향 집적 회로(202), 스토리지 제어기(230) 및 키 관리 모듈(1000)을 포함할 수 있다.The network interface device 200 according to the present embodiment may include a network interface unit 220, a specific purpose-oriented integrated circuit 202, a storage controller 230, and a key management module 1000.

키 관리 모듈(1000)은 네트워크 인터페이스부(220)를 통해 수신된 데이터를 특정 용도 지향 집적 회로(202)가 복호화하거나, 전송할 데이터를 암호화하기 위한 키(Key)를 제공할 수 있다.The key management module 1000 may provide a key for encrypting data to be transmitted or decrypted by the specific purpose-oriented integrated circuit 202 by receiving the data received through the network interface unit 220.

몇몇 실시 예에 따르면, 키 관리 모듈(1000)은 물리적 복제불가 기능(Physically Unclonable Function; PUF) 기반의 하드웨어 칩을 포함할 수 있다. PUF는 하드웨어 특성을 이용하여 임의의 고유값을 출력하는 기능을 의미한다. 키 관리 모듈(1000)은 PUF를 통해 생성된 고유값을 암호키로 제공할 수 있다.According to some embodiments, the key management module 1000 may include a hardware chip based on a Physically Unclonable Function (PUF). PUF means a function of outputting an arbitrary eigenvalue using hardware characteristics. The key management module 1000 may provide the unique value generated through the PUF as an encryption key.

네트워크 인터페이스부(220)를 통해서 수신된 데이터를 자체 처리 방식으로 처리할 경우, 키 관리 모듈(1000)은 PUF 기반의 하드웨어 칩으로부터 특정 용도 지향 집적 회로(202)에 암호키를 제공할 수 있다. 암호키를 획득한 특정 용도 지향 집적 회로(202)는 획득된 키를 이용하여 수신된 데이터를 복호화할 수 있다.When processing data received through the network interface unit 220 in a self-processing manner, the key management module 1000 may provide an encryption key to the specific purpose-oriented integrated circuit 202 from a PUF-based hardware chip. The specific purpose-oriented integrated circuit 202 that has obtained the encryption key can decrypt the received data using the obtained key.

도 11은 중앙 처리 장치를 통해 데이터를 처리하는 프로세스를 설명하기 위한 도면이다.11 is a view for explaining a process for processing data through a central processing unit.

먼저, 단계 S1110에서 네트워크 인터페이스 장치(200)가 데이터를 수신한 경우, 네트워크 인터페이스 장치(200)는 수신된 데이터의 처리 방식을 결정할 수 있다. 결정된 처리 방식이 중앙 처리 방식인 경우, 네트워크 인터페이스 장치(200)는 버스를 통해 중앙 처리 장치(530)에 제어 데이터를 전달할 수 있다(S1120).First, when the network interface device 200 receives data in step S1110, the network interface device 200 may determine a processing method of the received data. When the determined processing method is the central processing method, the network interface device 200 may transmit control data to the central processing device 530 through a bus (S1120).

이후, 단계 S1130에서 중앙 처리 장치(530)는 인터럽트 핸들러로부터 인터럽트 신호를 받아 중앙 처리 장치(530)에서 수행 중인 프로세스에 대하여 인터럽트를 발생시킬 수 있다. 이후, 중앙 처리 장치(530)가 제어 데이터를 네트워크 인터페이스 장치(200)로 전달하면, 네트워크 인터페이스 장치는 메모리(540)에 수신된 데이터를 로드시킬 수 있다.Thereafter, in step S1130, the central processing unit 530 may receive an interrupt signal from the interrupt handler and generate an interrupt for the process being executed in the central processing unit 530. Thereafter, when the central processing unit 530 transfers the control data to the network interface device 200, the network interface device may load the received data into the memory 540.

이후, 단계 S1140에서 중앙 처리 장치(530)는 기존에 수행 중이던 프로세스를 중지하고 제어 데이터에 따라서 수신된 데이터를 처리할 수 있다. 이후, 단계 S1150에서 중앙 처리 장치(530)는 처리된 데이터를 스토리지(210)에 저장할 수 있다.Thereafter, in step S1140, the central processing unit 530 may stop the existing process and process the received data according to the control data. Thereafter, in step S1150, the central processing unit 530 may store the processed data in the storage 210.

도 12는 몇몇 실시 예에 따른 네트워크 인터페이스 장치를 이용하여 데이터를 처리하는 프로세스를 도시한 순서도이다.12 is a flowchart illustrating a process of processing data using a network interface device according to some embodiments.

단계 S1210에서 네트워크 인터페이스 장치(200)의 네트워크 인터페이스부(220)가 데이터를 수신한 경우, 네트워크 인터페이스 장치(200)는 수신된 데이터의 처리 방식을 결정할 수 있다. 결정된 처리 방식이 자체 처리 방식인 경우, 네트워크 인터페이스 장치(200)는 특정 용도 지향 집적 회로(530)에 수신된 데이터를 전달할 수 있다.In step S1210, when the network interface unit 220 of the network interface device 200 receives the data, the network interface device 200 may determine a processing method of the received data. When the determined processing method is a self-processing method, the network interface device 200 may transmit the received data to the specific purpose-oriented integrated circuit 530.

단계 S1230에서, 특정 용도 지향 집적 회로(530)는 수신된 데이터에 대하여 미리 지정된 함수를 호출하여 수신된 데이터를 종류별로 구분할 수 있다. 예를 들어, 특정 용도 지향 집적 회로(530)는 수신된 데이터를 헤더 데이터, 개별 거래 데이터 및 기타 거래 데이터로 구분할 수 있다.In step S1230, the specific purpose-oriented integrated circuit 530 may classify the received data by type by calling a predetermined function with respect to the received data. For example, the specific purpose-oriented integrated circuit 530 may divide the received data into header data, individual transaction data, and other transaction data.

이후, 단계 S1240에서, 특정 용도 지향 집적 회로(530)는 헤더 값이 저장되고 작업 증명(Proof of work)을 완료하는 과정에서 발생하는 변화 정보를 구분하고, 변경되는 정보에 대응하는 데이터를 처리할 수 있다.Thereafter, in step S1240, the specific purpose-oriented integrated circuit 530 stores the header value and classifies change information generated in the process of completing the proof of work, and processes data corresponding to the changed information. Can.

이후, 단계 S1250에서, 특정 용도 지향 집적 회로(530)는 단계 S1240에서 수행된 데이터 처리의 결과를 스토리지(210)에 저장할 수 있다. 또한, 특정 용도 지향 집적 회로(530)는 처리된 데이터를 메모리에 로드시킬 수 있다. 단계 S1260에서, 특정 용도 지향 집적 회로(530)는 수신된 데이터를 처리하고 스토리지(210)에 저장하는 데이터 처리 작업에 대한 메타 데이터를 생성할 수 있다. 이후, 단계 S1270에서, 생성된 메타 데이터가 메모리(540)에 로드될 수 있다.Thereafter, in step S1250, the specific use-oriented integrated circuit 530 may store the result of data processing performed in step S1240 in the storage 210. In addition, the specific use-oriented integrated circuit 530 may load the processed data into memory. In step S1260, the specific use-oriented integrated circuit 530 may generate metadata for a data processing operation that processes the received data and stores it in the storage 210. Thereafter, in step S1270, the generated meta data may be loaded into the memory 540.

이후, 중앙 처리 장치(530)는 프로세스를 수행하는 과정에서 스토리지(210)에 저장된 데이터가 요구되는 경우, 중앙 처리 장치(530)는 단계 S1280에서 메모리(540)에 로드된 메타 데이터를 판독할 수 있다. 이후, 단계 S1290에서 중앙 처리 장치(530)는 획득한 메타 데이터를 이용하여 스토리지(210)로부터 저장된 데이터를 획득할 수 있다.Thereafter, when the data stored in the storage 210 is required in the process of performing the process, the central processing unit 530 may read the metadata loaded in the memory 540 in step S1280. have. Thereafter, in step S1290, the central processing unit 530 may acquire data stored from the storage 210 using the acquired meta data.

도 13은 몇몇 실시 예에 따라 구분되는 데이터를 설명하기 위한 개념도이다.13 is a conceptual diagram illustrating data classified according to some embodiments.

몇몇 실시 예에 따른 분산 장부 관리 시스템은 노드에 전송하는 노드 데이터를 구성할 때, 도 13에 도시된 바와 같이 헤더 데이터(1300), 개별 거래 데이터(1310) 및 기타 거래 데이터(1320)를 포함하도록 노드 데이터를 구성할 수 있다.The distributed ledger management system according to some embodiments may include header data 1300, individual transaction data 1310, and other transaction data 1320 when configuring node data to be transmitted to the node. Node data can be configured.

헤더 데이터(1310)는 노드 데이터를 수신한 노드가 수신된 데이터가 노드 데이터임을 판단할 수 있는 정보를 포함할 수 있다. 예를 들면, 데이터를 수신한 노드를 구성하는 컴퓨팅 장치는 수신된 데이터의 헤더 데이터(1300)에 포함된 프로토콜에 관한 정보에 기초하여 수신된 데이터가 분산 장부 관리 시스템의 노드 데이터인지 여부를 판단하고, 판단 결과에 따라 데이터의 처리 방식을 결정할 수 있다.The header data 1310 may include information that the node that has received the node data can determine that the received data is node data. For example, the computing device constituting the node that has received the data determines whether the received data is the node data of the distributed ledger management system based on the information about the protocol included in the header data 1300 of the received data. , The data processing method may be determined according to the determination result.

개별 거래 데이터(1310)는 트랜잭션에 의해 분산 장부 관리 시스템 내에서 변경이 발생하는 부분에 관한 변경 정보(1311)에 해당하는 부분을 포함할 수 있다. 노드 데이터를 수신한 네트워크 인터페이스 장치(200)는 개별 거래 데이터 중에서 변경 정보(1311)에 해당하는 정보는 데이터 처리 후 스토리지(210)에 저장할 수 있다.The individual transaction data 1310 may include a portion corresponding to the change information 1311 regarding the portion where the change occurs in the distributed ledger management system by the transaction. The network interface device 200 receiving the node data may store information corresponding to the change information 1311 among the individual transaction data after processing the data in the storage 210.

도 13에 도시된 바와 같이 구성된 데이터 내에서 각 데이터들의 용량은 기타 거래 데이터(1320)가 가장 큰 용량을 차지하고, 개별 거래 데이터(1310)가 그 다음으로 일정 용량을 차지한다. 헤더 데이터(1300)는 데이터 내에서 가장 작은 용량을 가진다. 따라서, 기타 거래 데이터를 네트워크 인터페이스 장치가 스토리지에 바로 저장하는 몇몇 실시 예에 따르면, 데이터의 처리에 소요되는 시간을 크게 줄일 수 있다As illustrated in FIG. 13, the capacity of each data in the configured data is the largest amount of other transaction data 1320, and the individual amount of transaction data 1310 is the next. The header data 1300 has the smallest capacity in the data. Accordingly, according to some embodiments in which the network interface device directly stores other transaction data in storage, the time required for processing the data can be greatly reduced.

지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치를 모두 포함한다.The methods according to the embodiments of the present invention described so far can be performed by executing a computer program embodied in computer readable code. The computer program may be transmitted from a first computing device to a second computing device through a network such as the Internet and installed in the second computing device, and thus used in the second computing device. The first computing device and the second computing device include both server devices, physical servers belonging to a server pool for cloud services, and fixed computing devices such as desktop PCs.

상기 컴퓨터프로그램은 DVD-ROM, 플래시 메모리 장치 등의 기록매체에 저장된 것일 수도 있다.The computer program may be stored in a recording medium such as a DVD-ROM or flash memory device.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described with reference to the accompanying drawings, a person skilled in the art to which the present invention pertains may be implemented in other specific forms without changing the technical spirit or essential features of the present invention. Can understand. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

Claims (23)

외부 네트워크로부터 외부 통신 포트를 통해 노드 데이터를 수신하는 네트워크 인터페이스부, 컴퓨팅 장치의 버스와 연결되는 버스 연결부 및 스토리지와 연결되는 스토리지 연결부를 포함하는 기판;
상기 기판에 실장되며, 상기 스토리지 연결부를 통해 상기 스토리지와 연결되며, 상기 스토리지를 제어하는 스토리지 제어기; 및
상기 기판에 실장되고 미리 결정된 목적을 위한 데이터를 처리하는 용도 지향 집적 회로를 포함하고,
상기 용도 지향 집적 회로는,
상기 노드 데이터가 상기 미리 결정된 목적을 위한 데이터인지 여부에 따라 상기 노드 데이터를 처리할 주체를 정하기 위한 처리 방식을 결정하고,
상기 결정된 처리 방식이 중앙 처리 방식인 경우 상기 노드 데이터는 상기 컴퓨팅 장치의 버스와 연결된 중앙 처리 장치에 의해 처리되고,
상기 결정된 처리 방식이 자체 처리 방식인 경우 상기 노드 데이터는 상기 용도 지향 집적 회로에 의해 처리되고,
상기 중앙 처리 장치에 의해 또는 상기 용도 지향 집적 회로에 의해 처리된 상기 노드 데이터는 상기 스토리지에 저장되는,
네트워크 인터페이스 카드.
A substrate including a network interface unit receiving node data from an external network through an external communication port, a bus connection unit connected to a bus of a computing device, and a storage connection unit connected to storage;
A storage controller mounted on the substrate, connected to the storage through the storage connection, and controlling the storage; And
A use-oriented integrated circuit mounted on the substrate and processing data for a predetermined purpose,
The purpose-oriented integrated circuit,
The processing method for determining the subject to process the node data is determined according to whether the node data is data for the predetermined purpose,
When the determined processing method is a central processing method, the node data is processed by a central processing device connected to the bus of the computing device,
When the determined processing method is a self-processing method, the node data is processed by the purpose-oriented integrated circuit,
The node data processed by the central processing unit or by the purpose-oriented integrated circuit is stored in the storage,
Network interface card.
제1항에 있어서,
상기 용도 지향 집적 회로는,
상기 노드 데이터로부터 헤더 데이터를 구분하고, 상기 구분된 헤더 데이터를 이용하여 상기 처리 방식을 결정하는,
네트워크 인터페이스 카드.
According to claim 1,
The purpose-oriented integrated circuit,
Classifying header data from the node data, and determining the processing method using the divided header data,
Network interface card.
제2항에 있어서,
상기 용도 지향 집적 회로는,
상기 헤더 데이터가 미리 정해진 함수를 호출하는 경우 상기 처리 방식을 자체 처리 방식으로 결정하는,
네트워크 인터페이스 카드.
According to claim 2,
The purpose-oriented integrated circuit,
When the header data calls a predetermined function, the processing method is determined by its own processing method.
Network interface card.
제3항에 있어서,
상기 미리 정해진 함수는,
블록체인의 노드가 데이터를 처리하기 위한 통신 계층의 커널(kernel) 명령어를 포함하는,
네트워크 인터페이스 카드.
According to claim 3,
The predetermined function,
Blockchain nodes contain kernel commands in the communication layer to process data,
Network interface card.
제2항에 있어서,
상기 용도 지향 집적 회로는,
상기 노드 데이터에서 개별 거래 데이터 및 기타 거래 데이터를 분류하고, 상기 개별 거래 데이터 및 기타 거래 데이터를 상기 버스를 통하지 않고 상기 스토리지 제어기를 통해 상기 스토리지에 저장하는,
네트워크 인터페이스 카드.
According to claim 2,
The purpose-oriented integrated circuit,
Classifying individual transaction data and other transaction data from the node data, and storing the individual transaction data and other transaction data in the storage through the storage controller without going through the bus,
Network interface card.
제1항에 있어서,
상기 네트워크 인터페이스 카드는,
상기 노드 데이터를 복호화하는 블록체인 데이터 처리용 집적 회로를 더 포함하는,
네트워크 인터페이스 카드.
According to claim 1,
The network interface card,
Further comprising an integrated circuit for processing the blockchain data to decrypt the node data,
Network interface card.
제1항에 있어서,
상기 네트워크 인터페이스 카드는,
상기 수신된 노드 데이터를 복호화하거나 전송할 데이터를 암호화하기 위한 키를 제공하는 키 관리 모듈을 더 포함하는,
네트워크 인터페이스 카드.
According to claim 1,
The network interface card,
Further comprising a key management module for providing a key for decrypting the received node data or encrypting the data to be transmitted,
Network interface card.
제7항에 있어서,
상기 키 관리 모듈은,
물리적 복제불가 기능(Physically Unclonable Function) 기반의 하드웨어 칩을 포함하는,
네트워크 인터페이스 카드.
The method of claim 7,
The key management module,
Including a hardware chip based on a Physically Unclonable Function,
Network interface card.
제8항에 있어서,
상기 용도 지향 집적 회로는,
상기 결정된 처리 방식이 자체 처리 방식인 경우 상기 하드웨어 칩으로부터 키(key)를 획득하고, 상기 획득된 키를 이용하여 상기 노드 데이터를 복호화하는,
네트워크 인터페이스 카드.
The method of claim 8,
The purpose-oriented integrated circuit,
When the determined processing method is a self-processing method, a key is obtained from the hardware chip, and the node data is decrypted using the obtained key.
Network interface card.
제1항에 있어서,
상기 용도 지향 집적 회로는,
상기 데이터 처리 작업을 완료한 이후 상기 데이터 처리 작업에 대한 메타데이터를 생성하고, 생성된 메타데이터를 상기 버스를 통해 상기 컴퓨팅 장치의 메모리에 로드시키는,
네트워크 인터페이스 카드.
According to claim 1,
The purpose-oriented integrated circuit,
Generating metadata for the data processing task after completing the data processing task, and loading the generated metadata into the memory of the computing device through the bus;
Network interface card.
제10항에 있어서,
상기 메타데이터는,
상기 데이터 처리 작업에 의해 상기 스토리지에 저장된 데이터의 위치 정보와 변경된 데이터에 대한 정보를 포함하는,
네트워크 인터페이스 카드.
The method of claim 10,
The metadata,
The location information of the data stored in the storage by the data processing operation and information about the changed data,
Network interface card.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 컴퓨팅 장치가 수행하는 데이터 처리 방법에 있어서,
데이터를 수신하는 단계;
상기 수신된 데이터를 헤더 데이터, 개별 거래 데이터 및 기타 거래 데이터로 구분하고, 상기 헤더 데이터에 포함된 함수를 호출하여 상기 데이터의 종류를 구분하는 단계; 및
상기 컴퓨팅 장치의 중앙 처리 장치에 대한 인터럽트를 발생시키지 않고, 상기 개별 거래 데이터 및 상기 기타 거래 데이터를 상기 구분된 종류에 따라 지정된 스토리지의 저장 위치에 저장하는 단계;를 포함하고,
상기 저장하는 단계는,
상기 개별 거래 데이터 중 변경되는 정보에 대응되는 데이터를 용도 지향 집적 회로를 이용하여 처리하는 단계를 포함하고,
상기 용도 지향 집적 회로는,
상기 수신된 데이터가 미리 결정된 목적을 위한 데이터인지 여부에 따라 상기 수신된 데이터를 처리할 주체를 정하기 위한 처리 방식을 결정하고,
상기 결정된 처리 방식이 중앙 처리 방식인 경우 상기 수신된 데이터는 상기 컴퓨팅 장치의 버스와 연결된 중앙 처리 장치에 의해 처리되고,
상기 결정된 처리 방식이 자체 처리 방식인 경우 상기 수신된 데이터는 상기 용도 지향 집적 회로에 의해 처리되고,
상기 중앙 처리 장치에 의해 또는 상기 용도 지향 집적 회로에 의해 처리된 상기 수신된 데이터는 상기 스토리지에 저장되는,
데이터 처리 방법.
In the data processing method performed by the computing device,
Receiving data;
Classifying the received data into header data, individual transaction data, and other transaction data, and classifying the type of the data by calling a function included in the header data; And
Including the interrupt to the central processing unit of the computing device, storing the individual transaction data and the other transaction data in a storage location of a designated storage according to the distinguished type;
The storing step,
And processing data corresponding to the changed information among the individual transaction data using a purpose-oriented integrated circuit,
The purpose-oriented integrated circuit,
Determine a processing method for determining a subject to process the received data according to whether the received data is data for a predetermined purpose,
When the determined processing method is a central processing method, the received data is processed by a central processing device connected to the bus of the computing device,
When the determined processing method is a self-processing method, the received data is processed by the purpose-oriented integrated circuit,
The received data processed by the central processing unit or by the purpose-oriented integrated circuit is stored in the storage,
Data processing method.
제20항에 있어서,
상기 구분하는 단계는,
상기 헤더 데이터를 저장하고 작업 증명을 완료하는 과정에서 변경되는 정보를 구분하는 단계를 포함하고,
상기 저장하는 단계는,
상기 개별 거래 데이터 중 상기 용도 지향 집적 회로를 이용하여 처리된 결과 데이터, 상기 개별 거래 데이터 중 변경되지 않는 정보 및 기타 거래 데이터를 저장하는 단계를 더 포함하는,
데이터 처리 방법.
The method of claim 20,
The step of distinguishing,
The step of storing the header data and distinguishing information that is changed in the process of completing the proof of work,
The storing step,
The method further includes storing result data processed using the purpose-oriented integrated circuit among the individual transaction data, unchanged information and other transaction data among the individual transaction data,
Data processing method.
제21항에 있어서,
상기 처리하는 단계는,
물리적 복제불가 기능(Physically Unclonable Function) 기반의 하드웨어 칩으로부터 데이터 복호화를 위한 키를 획득하는 단계, 및
상기 키에 기초하여 상기 변경되는 정보에 대응되는 데이터를 복호화하는 단계를 포함하는,
데이터 처리 방법.
The method of claim 21,
The processing step,
Obtaining a key for decrypting data from a hardware chip based on a physically unclonable function, and
And decoding data corresponding to the changed information based on the key.
Data processing method.
제22항에 있어서,
상기 스토리지에 상기 개별 거래 데이터 및 상기 기타 거래 데이터를 저장한 결과에 대한 메타 데이터를 생성하는 단계; 및
상기 메타 데이터를 상기 컴퓨팅 장치의 메모리에 로드하는 단계;를 포함하는,
데이터 처리 방법.
The method of claim 22,
Generating metadata about a result of storing the individual transaction data and the other transaction data in the storage; And
Including; loading the metadata in the memory of the computing device;
Data processing method.
KR1020180110252A 2018-04-04 2018-09-14 Network interface apparatus and data processing method for network interface apparauts thereof Expired - Fee Related KR102128832B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180039328 2018-04-04
KR20180039328 2018-04-04

Publications (2)

Publication Number Publication Date
KR20190116034A KR20190116034A (en) 2019-10-14
KR102128832B1 true KR102128832B1 (en) 2020-07-01

Family

ID=68171239

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180110252A Expired - Fee Related KR102128832B1 (en) 2018-04-04 2018-09-14 Network interface apparatus and data processing method for network interface apparauts thereof

Country Status (1)

Country Link
KR (1) KR102128832B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113791754B (en) * 2021-09-10 2025-03-21 中科寒武纪科技股份有限公司 Computing circuits, chips and boards
CN116165953B (en) * 2023-03-05 2023-12-22 上海医鸽智能科技有限公司 Intelligent control system based on multi-source data fusion

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7685434B2 (en) * 2004-03-02 2010-03-23 Advanced Micro Devices, Inc. Two parallel engines for high speed transmit IPsec processing
KR100871731B1 (en) * 2007-05-22 2008-12-05 (주) 시스메이트 A network interface card and a traffic division processing method performed in the card, a multi-processing system including the network interface card
KR100892166B1 (en) * 2007-07-10 2009-04-10 (주) 시스메이트 Network interface device with improved packet transmission and reception and network device including the same
KR20160138448A (en) * 2014-03-08 2016-12-05 다이아만티 인코포레이티드 Methods and systems for converged networking and storage

Also Published As

Publication number Publication date
KR20190116034A (en) 2019-10-14

Similar Documents

Publication Publication Date Title
US7444459B2 (en) Methods and systems for load balancing of virtual machines in clustered processors using storage related load information
US11657171B2 (en) Large network attached storage encryption
CN113726875B (en) Transaction processing method and device based on blockchain all-in-one machine
CN111541724B (en) Block chain all-in-one machine and automatic node adding method and device thereof
CN113971289A (en) Trusted startup method and device for blockchain integrated machine
US10530752B2 (en) Efficient device provision
CN113438219B (en) Playback transaction identification method and device based on blockchain all-in-one machine
JP6766895B2 (en) How to communicate securely and industrial computing equipment
US20180285219A1 (en) Adaptive data recovery for clustered data devices
US20180288049A1 (en) Data access interface for clustered devices
US11861406B2 (en) Dynamic microservices allocation mechanism
KR102128832B1 (en) Network interface apparatus and data processing method for network interface apparauts thereof
US10594703B2 (en) Taint mechanism for messaging system
JP6475910B2 (en) Time-locked networks and nodes for the exchange of sensitive data packets
US9288116B2 (en) System and method for NAS server test load generation
CN111600755B (en) Internet access behavior management system and method
US10348705B1 (en) Autonomous communication protocol for large network attached storage
WO2021057273A1 (en) Method and apparatus for realizing efficient contract calling on fpga
US11070654B2 (en) Sockets for shared link applications
CN114003342A (en) Distributed storage method and device, electronic equipment and storage medium
US20220050932A1 (en) Authentication Using Pairwise Secrets Constructed from Partial Secrets
CN113254201A (en) Supercomputing cloud computing platformization management method and management platform
Sehgal et al. Foundations of cloud computing and information security
US11500855B2 (en) Establishing transaction metadata
US20240236056A1 (en) Authenticating work order requests in a multiple node environment

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20180914

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20191211

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20200608

N231 Notification of change of applicant
PN2301 Change of applicant

Patent event date: 20200623

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20200625

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20200626

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20240406