IP Library Granted Patent US 12,500,847
Granted Patent B2
US 12,500,847 · App. 18/572,295 · Granted Dec 16, 2025

Arithmetic processing offload system, client, server, and arithmetic processing offload method

Inventors: Shogo Saito (Musashino, JP); Kei Fujimoto (Musashino, JP); Tetsuro Nakamura (Musashino, JP)
Assignee: NTT, Inc.
H04L47/43H04L47/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,500,847
App. No.
18/572,295
Granted
Dec 16, 2025
Kind
B2
Abstract

An operation system of a client includes: an L3/L4 protocol and ACC function and argument data packetizing unit that serializes a function name and argument input from an application side according to a format of a predetermined protocol and packetizes the function name/argument as a payload; and an L3/L4 protocol and ACC function and return value data parsing unit that deserializes packet data input from a server side according to a format of a predetermined protocol and acquires a function name/execution result.

Claims (36)

1 . An arithmetic processing offload system comprising a client device and a server connected to the client device via a network, the client device offloading specific processing of an application to an accelerator disposed in the server to perform arithmetic processing,

wherein the client device comprises one or more processors and is installed with a first operating system (OS), wherein the first OS causes the one or more processors of the client device to perform a first set of operations comprising:

serializing a first input that comprises (i) a function name of a function for performing the arithmetic processing on one or more input arguments and (ii) values of the one more input arguments from the application according to a format of a predetermined protocol and packetizing the serialized first input as a single payload of a first packet, wherein the single payload comprises data specifying (i) the function name and (ii) at least a portion of the values of the one or more input arguments;

transmitting the first packet comprising the single payload to the server;

receiving a second packet comprising data specifying arithmetic processing result of the function from the server; and

deserializing the second packet according to a format of a predetermined protocol to obtain the function name and the arithmetic processing result of the function; and

wherein the server comprises one or more processors and is installed with a second OS that causes the one or more processors of the server to perform a second set of operations comprising:

deserializing the single payload of the first packet received from the client device according to a format of a predetermined protocol to obtain (i) the function name of the function for performing the arithmetic processing on the one or more input arguments and (ii) the at least a portions of the values of the one more input arguments from the application;

performing, using the accelerator, the arithmetic processing of the function based on the values of the one more input arguments;

serializing a second input from the accelerator that comprises (i) the function name of the function and (ii) arithmetic processing result of the function according to a format of a predetermined protocol and packetizing the serialized second input as a single payload of the second packet, wherein the single payload of the second packet comprises data specifying (i) the function name and (ii) the arithmetic processing result; and

transmitting the second packet of the second packet comprising the single payload to the client device.

2 . The arithmetic processing offload system according to claim 1 ,

wherein the first set of operations further comprise:

exchanging data with an accelerator function/argument data packetizing unit, an accelerator function/return value data parsing unit, and a network interface card (NIC) driver unit without passing through a predetermined protocol stack, the NIC driver unit pruning data from an NIC.

3 . The arithmetic processing offload system according to claim 1 ,

wherein the second set of operations further comprise:

exchanging data with an accelerator function/argument data parsing unit, an accelerator function/return value data packetizing unit, and an NIC driver unit without passing through a predetermined protocol stack, the NIC driver unit pruning data from an NIC.

4 . A client device of an arithmetic processing offload system including the client device and a server connected to the client device via a network, the client offloading specific processing of an application to an accelerator disposed in the server to perform arithmetic processing,

wherein the client device comprises one or more processors and is installed with an operating system (OS) that causes the one or more processors of the client device to perform operations comprising:

serializing an input that comprises (i) a function name of a function for performing the arithmetic processing on one or more input arguments and (ii) values of the one more input arguments from the application according to a format of a predetermined protocol and packetizing the serialized input as a single payload of a first packet, wherein the single payload comprises data specifying (i) the function name and (ii) at least a portion of the values of the one or more input arguments;

transmitting the first packet comprising the single payload to the server;

receiving a second packet comprising data specifying arithmetic processing result of the function from the server; and

deserializing the second packet according to a format of a predetermined protocol to obtain the function name and the arithmetic processing result of the function.

5 . The client device of claim 4 , wherein the serializing comprises converting the function name and the values for the one or more arguments into a byte stream.

6 . The client device of claim 4 , wherein the predetermined protocol specifies a format for arranging the function name and values of the one or more arguments within the serialized input.

7 . The client device of claim 4 , wherein the predetermined protocol specifies one or more control bits for managing data size.

8 . The client device of claim 7 , wherein the control bits further indicate when an argument has been divided into multiple packets for transmission.

9 . The client device of claim 4 , wherein the packetizing further comprises:

including an identifier that uniquely identifies the accelerator in the first packet.

10 . The client device of claim 4 , wherein the serializing comprises representing the function name as a function identifier.

11 . A server of an arithmetic processing offload system including a client device and a server connected to the client device via a network, the client device offloading specific processing of an application to an accelerator disposed in the server to perform arithmetic processing,

wherein the server comprises one or more processors and is installed with an operating system (OS) that causes the one or more processors of the server to perform operations comprising:

deserializing a single payload of a first packet received from the client device according to a format of a predetermined protocol to obtain (i) a function name of a function for performing the arithmetic processing on one or more input arguments and (ii) values of the one more input arguments from the application;

performing, using the accelerator, the arithmetic processing of the function based on the values of the one more input arguments;

serializing an input from the accelerator that comprises (i) the function name of the function and (ii) arithmetic processing result of the function according to a format of a predetermined protocol and packetizing the serialized input as a single payload of a second packet, wherein the single payload of the second packet comprises data specifying (i) the function name and (ii) the arithmetic processing result; and

transmitting the second packet comprising the single payload of the second packet to the client device.

Assignments (3)
CHANGE OF NAME Recorded Aug 14, 2025
From: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
To: NTT, INC.
Reel/Frame 072460/0605 →
CHANGE OF NAME Recorded Aug 14, 2025
From: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
To: NTT, INC.
Reel/Frame 073460/0980 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2024
From: SAITO, SHOGO; FUJIMOTO, KEI; NAKAMURA, TETSURO
To: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
Reel/Frame 066200/0523 →
Continuity (1)
Related Publication 20240291767A1 · Aug 29, 2024
References Cited (5)
US 20130247003A1 · Seth · 2013 [cited by examiner]
US 20200394060A1 · Chandrappa · 2020 [cited by examiner]
US 20210263779A1 · Haghighat · 2021 [cited by examiner]
US 20220156287A1 · Zhang · 2022 [cited by examiner]
[No Author Listed], “rCUDA v20.07alpha User's Guide,” remote CUDA, Jul. 2020, 32 pages. [cited by applicant]