IP Library › Granted Patent US 12,032,983
Granted Patent B2
US 12,032,983 · App. 17/129,762 · Granted Jul 9, 2024

Method of accessing device in virtual environment

Inventor: Shuichi Ogawa (Kariya, JP)
Assignee: DENSO CORPORATION
G06F9/45558G06F9/4881G06F9/5066G06F2009/4557G06F2009/45579
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,032,983
App. No.
17/129,762
Granted
Jul 9, 2024
Kind
B2
Abstract

The access method includes: implementing a resident virtual CPU to which a physical CPU is always assigned and a non-resident virtual CPU to which a physical CPU is not always assigned, on the virtual machine in the virtual environment; and taking over the process of accessing the virtual device by the non-resident virtual CPU when accessing from the resident virtual CPU to the virtual device corresponding to the occupancy type physical device.

Claims (48)

1. An access method for accessing physical device by a resident virtual CPU using a virtual device in a virtual environment, wherein:

the virtual environment operating on hardware having at least a physical CPU and the physical device, wherein the virtual environment comprises a hypervisor, and at least one virtual machine that operates on the hypervisor, wherein the virtual machine, has the resident virtual CPU and a non-resident virtual CPU that virtualizes the physical CPU using the virtual device that virtualizes the physical device, and

the physical device is an occupancy type physical device that is not interruptible during exclusive servicing of requests from the resident or the non-resident virtual CPU,

the access method comprising:

allocating the physical CPU to the resident virtual CPU to execute a task, wherein the allocating includes:

indicating in a mask of the resident virtual CPU, the allocation of the physical CPU;

indicating in a mask of the non-resident virtual CPU, no allocation of the physical CPU; and

in response to receiving a task request from executing task, processing the received task request comprises:

determining whether the task request is a task request to the physical device;

responsive to determining the task request is to the physical device:

changing the indication in the mask of the resident virtual CPU to have no allocation of the physical CPU;

changing the indication in the mask of the non-resident virtual CPU to have an allocation of the physical CPU;

subsequent to the change in indications, reassigning execution of the task to the non-resident virtual CPU;

processing, by the non-resident virtual CPU, the determined task request by communicating with the virtual device virtualizing the physical device;

subsequent to the allocating and in response to the non-resident virtual CPU being in a standby state for processing the determined task request:

changing the indication in the mask of the non-resident virtual CPU to have no allocation of the physical CPU

changing the indication of the mask of the resident virtual CPU to have an allocation of the physical CPU; and

subsequent to the change in indications, executing another task at the resident virtual CPU; and

while executing another task on the resident virtual CPU, waiting on the status of the determined task request by the non-resident virtual CPU.

2. The access method according to claim 1 , wherein:

the virtual device is an occupancy type virtual device,

the access method further comprising:

implementing a virtual driver on the virtual machine, the virtual driver being a driver software for accessing the occupancy type virtual device and including a system call unit and an interruption handler, each of which includes an access portion for accessing the virtual device; and

processing, by the non-resident virtual CPU, the determined task request further comprising: executing the access portion of the system call unit or the interruption handler by the non-resident virtual CPU to access the virtual device, wherein:

when the system call unit waits for a change in a state of the virtual device, the access portion of the interruption handler accesses the virtual device.

3. The access method according to claim 1 , wherein:

the virtual device is an occupancy type virtual device,

the access method further comprising:

implementing a virtual driver on the virtual machine, the virtual driver being a driver software for accessing the occupancy type virtual device and including a system call unit and an interruption handler, and being capable of calling an access portion for processing the access to the virtual device executed by the system call unit as a dedicated task; and

processing, by the non-resident virtual CPU, the determined task request further comprising: executing the dedicated task by the non-resident virtual CPU, wherein:

the dedicated task is executable with separating a start of the processing of the access by the access portion of the system call unit and a completion of the processing of the access by the access portion of the system call unit.

4. The access method according to claim 1 , further comprising:

arranging another task as a scheduling target together with the virtual machine in a hypervisor scheduler on the hypervisor, the task configured to be directly accessible to the occupancy type physical device;

processing, by the non-resident virtual CPU, the determined task request further comprising: executing a dedicated task by the non-resident virtual CPU when accessing the virtual device corresponding to the occupancy type physical device from the resident virtual CPU; and

when an access request is made from the non-resident virtual CPU which executes the dedicated task, accessing the occupancy type physical device by the another task arranged on the hypervisor, wherein:

dedicated task is executable with separating a start of the processing of the access by the access portion of the system call unit and a completion of the processing of the access by the access portion of the system call unit.

5. The access method according to claim 1 , further comprising:

setting a maximum waiting time required to access the occupancy type physical device the maximum waiting time is a maximum time measured by a preliminary test as the maximum time from when the virtual CPU requests the access to when the occupancy type physical device returns a response to the virtual CPU;

processing, by the non-resident virtual CPU, the determined task request further comprising: when the maximum waiting time is shorter than a predetermined specific time, taking over the process for accessing by the resident virtual CPU.

6. The access method according to claim 1 , wherein:

the physical CPU includes a plurality of physical CPUs; and

the at least one virtual machine includes a plurality of virtual machines, the access method further comprising:

operating the plurality of virtual machines on the hypervisor; and

allocating the plurality of physical CPUs to the plurality of virtual machines without being duplicated.

7. The access method according to claim 1 , wherein:

the physical device includes a plurality of physical devices; and

the at least one virtual machine includes a plurality of virtual machines, the access method further comprising:

implementing a same numerical number of non-resident virtual CPUs in each of the plurality of virtual machines as a numerical number of occupancy type physical devices in the plurality of physical devices included in the hardware on the respective virtual machine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2020
From: OGAWA, SHUICHI
To: DENSO CORPORATION
Reel/Frame 054715/0801 →
Priority Claims (1)
JP 2018-126799 · Jul 3, 2018 · national
Continuity (2)
Continuation PCTJP2019021077 · May 28, 2019
Related Publication 20210149705A1 · May 20, 2021