IP Library Granted Patent US 12,476,921
Granted Patent B2
US 12,476,921 · App. 18/264,991 · Granted Nov 18, 2025

Server delay control device, server delay control method, and program

Inventors: Kei Fujimoto (Musashino, JP); Masashi Kaneko (Musashino, JP)
Assignee: NTT, Inc.
H04L47/568H04L43/103
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,476,921
App. No.
18/264,991
Granted
Nov 18, 2025
Kind
B2
Abstract

Provided is a server delay control device for a server in which an OS having a kernel is deployed. The OS includes: a ring buffer managed by the kernel; and a poll list in which information on a net device of a hardware interrupt from an NIC is registered. The server delay control device is deployed in the server and configured to receive a timer interrupt at predetermined specified intervals and monitors a packet arrival and includes: a packet arrival monitoring part configured to check the presence or absence of a packet in the poll list upon being triggered by the timer interrupt to monitor the poll list; and a packet dequeuer configured to, when a packet has arrived, reference the packet held in the ring buffer, and perform dequeuing to remove the corresponding queue entry from the ring buffer.

Claims (31)

1 . A server delay control device for performing, on a server, packet transfer from an interface part of a computer comprising one or more hardware processors, the server comprising an OS and implemented using one or more of the one or more hardware processors, the OS comprising: a kernel in which the server delay control device is deployed; a ring buffer managed by the kernel, in a memory space in which the server deploys the OS; and a poll list in which information on a net device is registered, the information on the net device being indicative of which device a hardware interrupt from an interface part comes from, the server delay control device implemented using one or more of the one or more hardware processors, configured to receive a timer interrupt at predetermined specified intervals, and comprising:

a packet arrival monitoring part configured to configure the timer interrupt as a hardware interrupt and check the presence or absence of a packet in the poll list upon being triggered by the timer interrupt to monitor the poll list; and

a packet dequeuer configured to, when a packet has arrived, reference the packet held in the ring buffer, and perform dequeuing to remove a corresponding queue entry from the ring buffer.

2 . The server delay control device according to claim 1 ,

wherein the server comprises a virtual machine and the OS is a Guest OS configured to operate in the virtual machine.

3 . The server delay control device according to claim 1 ,

wherein the OS is a Host OS on which a virtual machine and an external process formed outside the virtual machine can operate.

4 . The server delay control device according to claim 1 ,

wherein the interface part is configured to raise a hardware interrupt to an interrupt handler and register a device in the poll list without scheduling a software interrupt.

5 . The server delay control device according to claim 2 ,

wherein the interface part is configured to raise a hardware interrupt to an interrupt handler and register a device in the poll list without scheduling a software interrupt.

6 . The server delay control device according to claim 3 ,

wherein the interface part is configured to raise a hardware interrupt to an interrupt handler and register a device in the poll list without scheduling a software interrupt.

7 . The server delay control device according to claim 1 ,

wherein the packet dequeuer is configured to, in a context of the timer interrupt, when at least one packet including the packet has arrived, reference the at least one packet held in the ring buffer, and perform dequeuing to remove corresponding at least one queue entry from the ring buffer, during a period set in advance by a maintenance operator.

8 . The server delay control device according to claim 2 ,

wherein the packet dequeuer is configured to, in a context of the timer interrupt, when at least one packet including the packet has arrived, reference the at least one packet held in the ring buffer, and perform dequeuing to remove corresponding at least one queue entry from the ring buffer, during a period set in advance by a maintenance operator.

9 . The server delay control device according to claim 3 ,

wherein the packet dequeuer is configured to, in a context of the timer interrupt, when at least one packet including the packet has arrived, reference the at least one packet held in the ring buffer, and perform dequeuing to remove corresponding at least one queue entry from the ring buffer, during a period set in advance by a maintenance operator.

10 . The server delay control device according to claim 1 ,

wherein the kernel further comprises a patch that is capable of changing a processing operation of the kernel while running the kernel in a state of having been started.

11 . The server delay control device according to claim 2 ,

wherein the kernel further comprises a patch that is capable of changing a processing operation of the kernel while running the kernel in a state of having been started.

12 . The server delay control device according to claim 3 ,

wherein the kernel further comprises a patch that is capable of changing a processing operation of the kernel while running the kernel in a state of having been started.

13 . A server delay control method of a server delay control device for performing, on a server, packet transfer from an interface part of a computer comprising one or more hardware processors, the server comprising an OS and implemented using one or more of the one or more hardware processors, the OS comprising: a kernel in which the server delay control device is deployed; a ring buffer managed by the kernel, in a memory space in which the server deploys the OS; and a poll list in which information on a net device is registered, the information on the net device being indicative of which device a hardware interrupt from an interface part comes from, the server delay control device implemented using one or more of the one or more hardware processors and configured to receive a timer interrupt at predetermined specified intervals, the server delay control method comprising steps of:

configuring, by the server delay control device, the timer interrupt as a hardware interrupt and checking, by the server delay control device, the presence or absence of a packet in the poll list upon being triggered by the timer interrupt to monitor the poll list; and

when a packet has arrived, referencing, by the server delay control device, the packet held in the ring buffer, and performing, by the server delay control device, dequeuing to remove a corresponding queue entry from the ring buffer.

14 . A non-transitory computer-readable medium storing a computer program for a server delay control device for performing, on a server, packet transfer from an interface part of a computer comprising one or more hardware processors, the server comprising an OS and implemented using one or more of the one or more hardware processors, the OS comprising: a kernel in which the server delay control device is deployed; a ring buffer managed by the kernel, in a memory space in which the server deploys the OS; and a poll list in which information on a net device is registered, the information on the net device being indicative of which device a hardware interrupt from an interface part comes from, the server delay control device implemented using one or more of the one or more hardware processors and configured to receive a timer interrupt at predetermined specified intervals, the computer program causing the server delay control device to execute steps comprising:

configuring, by the server delay control device, the timer interrupt as a hardware interrupt and checking, by the server delay control device, the presence or absence of a packet in the poll list upon being triggered by the timer interrupt to monitor the poll list; and

when a packet has arrived, referencing, by the server delay control device, the packet held in the ring buffer, and performing, by the server delay control device, dequeuing to remove a corresponding queue entry from the ring buffer.

Assignments (2)
CHANGE OF NAME Recorded Aug 14, 2025
From: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
To: NTT, INC.
Reel/Frame 072471/0579 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2023
From: FUJIMOTO, KEI; KANEKO, MASASHI
To: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
Reel/Frame 064552/0774 →
Continuity (1)
Related Publication 20240129255A1 · Apr 18, 2024
References Cited (8)
US 20050055399A1 · Savchuk · 2005 [cited by examiner]
US 20150049769A1 · Tamir · 2015 [cited by examiner]
US 20210209047A1 · Kim · 2021 [cited by examiner]
US 20220019362A1 · Badiger · 2022 [cited by examiner]
JP 2015197874 · 2015 [cited by applicant]
JP 2018032156 · 2018 [cited by applicant]
Git.dpdk.org [online], “Soft Patch Panel—DPDK resources management framework,” Jul. 2016, retrieved on Jul. 18, 2023, retrieved from URL <http://dpdk.org/browse/apps/spp/>, 229 pages. [cited by applicant]
LWN.net [online], “New API,” Feb. 2002, retrieved on Jul. 18, 2023, retrieved from URL <http://lwn.net/2002/0321/a/napi-howto.php3>, 10 pages. [cited by applicant]