# US 12,112,185 B2 · Communication apparatus, communication system, notification method, and computer program product

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,112,185 B2
- Document ID: US12112185B2
- Status: Granted
- Kind: B2
- Application number: 17/412,701
- Filed: 2021-08-26
- Published: 2022-07-28
- Granted: 2024-10-08
- Earliest claimed: 2021-01-22
- Assignees: Kabushiki Kaisha Toshiba
- Applicants: Kabushiki Kaisha Toshiba
- Inventors: Yuta Kobayashi; Takahiro Yamaura
- Web page: https://patentgrep.com/patent/US12112185B2

## CPC

- G06F 9/4555: {Para-virtualisation, i.e. guest operating system has to be modified}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/4887: {involving deadlines, e.g. rate based, periodic}
- G06F 2009/45579: {I/O management, e.g. providing access to device drivers or storage}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

According to an embodiment, a communication apparatus includes a task and a notification unit. The task stores, in a storage unit, notification information to be notified to a virtual machine as a notification destination via a virtual machine monitor after execution of predetermined processing. The notification unit collectively notifies the virtual machine monitor of a plurality of pieces of notification information stored in the storage unit.

## Claims

### Claim 1

A communication apparatus comprising:
a memory; and
one or more processors coupled to the memory and configured to:
execute a task to notify notification information to a virtual machine as a notification destination via a virtual machine monitor or to store the notification information in the memory after execution of predetermined processing, and
collectively notify the virtual machine monitor of a plurality of notification information pieces, the plurality of notification information pieces having corresponding individual notification information and being stored in the memory, wherein
the one or more processors are further configured to:
estimate a number of notification information pieces generated within a predetermined period based on a number of virtual machines, and
request the task to notify the virtual machine of the notification information via the virtual machine monitor after the execution of the predetermined processing based on the number of notification information pieces being equal to or less than a threshold value, and request the task to store the notification information in the memory after the execution of the predetermined processing based on the number of notification information pieces being larger than the threshold value.

### Claim 2 (depends on 1)

The apparatus according to claim 1, wherein
the one or more processors collectively notify the virtual machine monitor of the plurality of notification information pieces by using one hypercall.

### Claim 3 (depends on 1)

The apparatus according to claim 1, wherein
the task includes a plurality of tasks,
the plurality of tasks are periodically executed based on first schedule information indicating an execution order of the plurality of tasks, and
the one or more processors collectively notify the virtual machine monitor of the plurality of notification information pieces stored in the memory by the plurality of tasks executed within one computer execution cycle of the first schedule information.

### Claim 4 (depends on 1)

The apparatus according to claim 1, wherein
the one or more processors collectively notify the virtual machine monitor of the plurality of notification information pieces stored in the memory based on the number of notification information pieces being larger than the threshold value.

### Claim 5 (depends on 4)

The apparatus according to claim 4, wherein
the virtual machine includes a plurality of virtual machines, and a number of virtual machines operating in the communication apparatus varies.

### Claim 6 (depends on 1)

The apparatus according to claim 1, comprising:
an input processing task that executes read processing for a frame transferred from the virtual machine as a transfer source; and
an output processing task that executes write processing for a frame to be transferred to the virtual machine as a transfer destination, wherein
the input processing task stores a read completion notification as the notification information in the memory after execution of the read processing, and
the output processing task stores a write completion notification as the notification information in the memory after execution of the write processing.

### Claim 7 (depends on 6)

The apparatus according to claim 6, wherein
the memory further stores a notification control method for the notification information for each virtual machine,
after executing the read processing, the input processing task stores the read completion notification in the memory based on the notification control method corresponding to an interrupt, and does not store the read completion notification in the memory based on the notification control method corresponding to polling, and
after executing the write processing, the output processing task stores the write completion notification in the memory based on the notification control method corresponding to the interrupt, and does not store the write completion notification in the memory based on the notification control method corresponding to the polling.

### Claim 8 (depends on 6)

The apparatus according to claim 6, wherein
the input processing task executes the read processing, based on second schedule information defined by IEEE 802.1Qbv, and
the output processing task executes the write processing, based on the second schedule information.

### Claim 9

A communication system comprising:
a communication apparatus; and
one or more control target devices controlled by one or more virtual machines operating in the communication apparatus, wherein
the communication apparatus includes:
a memory, and
one or more processors coupled to the memory and configured to:
execute a task to notify notification information to the virtual machine as a notification destination via a virtual machine monitor or to store the notification information in the memory after execution of predetermined processing, and
collectively notify the virtual machine monitor of a plurality of notification information pieces, the plurality of notification information pieces having corresponding individual notification information and being stored in the memory, wherein
the one or more processors are further configured to:
estimate a number of notification information pieces generated within a predetermined period based on a number of virtual machines, and
request the task to notify the virtual machine of the notification information via the virtual machine monitor after the execution of the predetermined processing based on the number of notification information pieces being equal to or less than a threshold value, and request the task to store the notification information in the memory after the execution of the predetermined processing based on the number of notification information pieces being larger than the threshold value.

### Claim 10

A notification method comprising:
executing a task to notify notification information to a virtual machine as a notification destination via a virtual machine monitor or to store the notification information in a memory after execution of predetermined processing; and
collectively notifying the virtual machine monitor of a plurality of notification information pieces, the plurality of notification information pieces having corresponding individual notification information and being stored in the memory, wherein
the method further comprises:
estimating a number of notification information pieces generated within a predetermined period based on a number of virtual machines; and
requesting the task to notify the virtual machine of the notification information via the virtual machine monitor after the execution of the predetermined processing based on the number of notification information pieces being equal to or less than a threshold value, and requesting the task to store the notification information in the memory after the execution of the predetermined processing based on the number of notification information pieces being larger than the threshold value.

### Claim 11

A computer program product comprising a non-transitory computer-readable medium including programmed instructions stored thereon, wherein the instructions, when executed by a computer, cause the computer to perform:
executing a task to notify notification information to a virtual machine as a notification destination via a virtual machine monitor or to store the notification information in a memory after execution of predetermined processing; and
collectively notifying the virtual machine monitor of a plurality of notification information pieces, the plurality of notification information pieces having corresponding individual notification information and being stored in the memory, wherein
the instructions cause the computer to further perform:
estimating a number of notification information pieces generated within a predetermined period based on a number of virtual machines; and
requesting the task to notify the virtual machine of the notification information via the virtual machine monitor after the execution of the predetermined processing based on the number of notification information pieces being equal to or less than a threshold value, and requesting the task to store the notification information in the memory after the execution of the predetermined processing based on the number of notification information pieces being larger than the threshold value.
