IP Library Patent Application 16940780
Patent Application
App. No. 16/940,780

Method for Accessing Remote Acceleration Device by Virtual Machine, and System

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 None
App. No.
16/940,780
Abstract

When a virtual machine accesses a resource rented by the virtual machine from a remote acceleration system, the virtual machine does not communicate with the remote acceleration system by using a network, but converts a processing command and an identifier of the acceleration resource in a resource invocation instruction into an access request for a virtual device file on the virtual machine, and then sends the access request to an access agent module on a physical host. The access agent module on the physical host sends information about the to-be-accessed remote acceleration resource to the remote acceleration system.

Claims (66)

1 . A method comprising:

obtaining, by a virtual machine, a resource invocation instruction for a remote acceleration device;

converting, by the virtual machine, the resource invocation instruction into an access request for a virtual device file on the virtual machine;

transmitting, by the virtual machine, the access request;

receiving, by an access agent module from the virtual machine, the access request; and

sending, by the access agent module to the remote acceleration device, the access request.

2 . The method of claim 1 , wherein before obtaining the resource invocation instruction, the method further comprises:

sending, by the virtual machine, a resource configuration request for the remote acceleration device;

obtaining, by the access agent module in response to the resource configuration request, a response message comprising information about the remote acceleration device allocated by a remote acceleration system, wherein the information comprises an identifier of the remote acceleration device and network connection information of the remote acceleration device;

determining, by the virtual machine, whether the remote acceleration device has been allocated to the virtual machine; and

creating, by the virtual machine, the virtual device file when the remote acceleration device has been allocated to the virtual machine, wherein the virtual device file corresponds to the remote acceleration device.

3 . The method of claim 2 , further comprising:

periodically initiating, by the virtual machine, a query to the access agent module; and

further determining, by the virtual machine based on the query, whether the remote acceleration device has been allocated to the virtual machine.

4 . The method of claim 2 , further comprising notifying, by the access agent module after obtaining the response message, the virtual machine that the remote acceleration device has been allocated.

5 . The method of claim 2 , further comprising:

sending, by the virtual machine, to the access agent module, and before obtaining the resource invocation instruction, a channel establishment instruction; and

establishing, by the access agent module, after receiving the channel establishment instruction, and based on the network connection information, a communication connection between the access agent module and the remote acceleration device.

6 . The method of claim 1 , wherein before obtaining the resource invocation instruction, the method further comprises establishing, by the virtual machine, a communication connection to the access agent module.

7 . The method of claim 6 , further comprising:

obtaining, by the virtual machine, a part of a storage space on a physical host to share with the access agent module;

writing, by the virtual machine, the access request into the storage space; and

reading, by the access agent module, the access request from the storage space.

8 . A computer system comprising:

a virtual machine configured to:

obtain a resource invocation instruction for a remote acceleration device,

convert the resource invocation instruction into an access request for a virtual device file on the virtual machine, and

transmit the access request; and

an access agent module configured to:

receive the access request from the virtual machine, and

send, to the remote acceleration device, the access request.

9 . The computer system of claim 8 , wherein before obtaining the resource invocation instruction, the virtual machine is further configured to send a resource configuration request for the remote acceleration device, wherein the access agent module is further configured to obtain, in response to the resource configuration request, a response message comprising information about the remote acceleration device allocated by a remote acceleration system, wherein the information comprises an identifier of the remote acceleration device and network connection information of the remote acceleration device, and wherein the virtual machine is further configured to:

determine whether the remote acceleration device has been allocated to the virtual machine; and

create the virtual device file if the remote acceleration device has been allocated to the virtual machine, wherein the virtual device file corresponds to the remote acceleration device.

10 . The computer system of claim 9 , wherein the virtual machine is further configured to:

periodically initiate a query to the access agent module; and

further determine, based on the query, whether the remote acceleration device has been allocated to the virtual machine.

11 . The computer system of claim 9 , wherein the access agent module is further configured to notify, after obtaining the response message, the virtual machine that the remote acceleration device has been allocated.

12 . The computer system of claim 9 , wherein the virtual machine is further configured to send, to the access agent module before obtaining the resource invocation instruction, a channel establishment instruction, and wherein the access agent module is further configured to establish, after receiving the channel establishment instruction and based on the network connection information, a communication connection between the access agent module and the remote acceleration device.

13 . The computer system of claim 8 , wherein before obtaining the resource invocation instruction, the virtual machine is further configured to establish a communication connection between the virtual machine and the access agent module.

14 . The computer system of claim 13 , wherein the virtual machine is further configured to:

obtain a part of a storage space on a physical host to share with the access agent module; and

write the access request into the storage space,

wherein the access agent module is further configured to read the access request from the storage space.

15 . A computer program product comprising instructions for storage on a non-transitory medium and that, when executed by a processor, cause a computer system to:

obtain, by a virtual machine, a resource invocation instruction for a remote acceleration device;

convert, by the virtual machine the resource invocation instruction into an access request for a virtual device file on the virtual machine;

transmit, by the virtual machine, the access request;

receive, by an access agent module from the virtual machine, the access request; and

send, by the access agent module to the remote acceleration device, the access request.

16 . The computer program product of claim 15 , wherein before obtaining the resource invocation instruction, the instructions further cause the computer system to:

send, by the virtual machine, a resource configuration request for the remote acceleration device;

obtain, by the access agent module in response to the resource configuration request, a response message comprising information about the remote acceleration device allocated by a remote acceleration system, wherein the information comprises an identifier of the remote acceleration device and network connection information of the remote acceleration device;

determine, by the virtual machine, whether the remote acceleration device has been allocated to the virtual machine; and

create, by the virtual machine, the virtual device file when the remote acceleration device has been allocated to the virtual machine, wherein the virtual device file corresponds to the remote acceleration device.

17 . The computer program product of claim 16 , wherein the instructions further cause the computer system to:

periodically initiate, by the virtual machine, a query to the access agent module; and

further determine, by the virtual machine based on the query, whether the remote acceleration device has been allocated to the virtual machine or notify, by the access agent module after obtaining the response message, the virtual machine that the remote acceleration device has been allocated.

18 . The computer program product of claim 16 , wherein the instructions further cause the computer system to:

send, by the virtual machine, to the access agent module, and before obtaining the resource invocation instruction, a channel establishment instruction; and

establish, by the access agent module, after receiving the channel establishment instruction, and based on the network connection information, a communication connection between the access agent module and the remote acceleration device.

19 . The computer program product of claim 15 , wherein before obtaining the resource invocation instruction, the instructions further cause the computer system to establish, by the virtual machine, a communication connection to the access agent module.

20 . The computer program product of claim 19 , wherein the instructions further cause the computer system to:

obtain, by the virtual machine, a part of a storage space on a physical host to share with the access agent module;

write, by the virtual machine, the access request into the storage space; and

read, by the access agent module, the access request from the storage space.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2022
From: HUAWEI TECHNOLOGIES CO., LTD.
To: XFUSION DIGITAL TECHNOLOGIES CO., LTD.
Reel/Frame 058682/0312 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2020
From: SU, DEXIAN
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 053329/0067 →