REMOTELY PERFORMING DATA ANALYSIS USING A VIRTUAL DESKTOP
Some embodiments provide a novel method for remotely performing data analysis on a set of data collected using a first device operating in a vehicle at a first location. At a remote second device used by a remote user at a remote second location, the method accesses, over a network, a first VM executing on the first device allowing remote use of a second VM executing on the first device to produce analysis results of data that is collected and stored at the vehicle. The method uses the first VM (1) to direct the second VM to analyze the set of data to produce a set of analysis results, (2) to generate a rendered image that shows the set of analysis results, and (3) to forward the rendered image through the network to the remote second device for the remote user to view the set of analysis results.
1 . A method for remotely performing data analysis on a set of data collected using a first device operating in a vehicle at a first location, the method comprising:
at a remote second device used by a remote user at a remote second location:
accessing, over a network, a first VM executing on the first device, the first VM allowing remote use of a second VM executing on the first device to produce analysis results of data that is collected and stored at the vehicle; and
using the first VM (i) to direct the second VM to analyze the set of data to produce a set of analysis results, (ii) to generate a rendered image that shows the set of analysis results, and (iii) to forward the rendered image through the network to the remote second device for the remote user to view the set of analysis results.
2 . The method of claim 1 , wherein the first VM is a virtual desktop VM executing on the first device.
3 . The method of claim 2 , wherein the second VM is a data collection and analysis VM executing on the first device that is able to be accessed by remote devices, including the remote second device, through the virtual desktop VM.
4 . The method of claim 3 , wherein:
the rendered image is a first rendered image,
the virtual desktop VM provides a second rendered image of a user interface (UI) of the first device, and
using the virtual desktop VM to direct the data collection and analysis VM comprises interacting with the second rendered image in order to direct the data collection and analysis VM to produce the set of analysis results.
5 . The method of claim 4 , wherein the UI of the first device is a first UI, and the second rendered image includes the set of data to view on a second UI the remote second device.
6 . The method of claim 4 further comprising using the virtual desktop VM to direct the data collection and analysis VM to store the set of analysis results at the vehicle.
7 . The method of claim 1 , wherein the first VM executes a micro-broker module that is configured to facilitate interaction between the remote user and the first VM.
8 . The method of claim 7 further comprising, before accessing the first VM:
sending, to the micro-broker module, a first data message requesting access to the first VM; and
receiving, from the micro-broker module, a second data message allowing access to the first VM.
9 . The method of claim 8 , wherein the micro-broker module allows access to the first VM based on a set of user authentication credentials associated with the remote user.
10 . The method of claim 9 , wherein the set of user authentication credentials comprises a username and a password associated with the remote user.
11 . The method of claim 10 , wherein the micro-broker module allows access to the first VM also based on a set of device authentication credentials associated with the remote second device.
12 . The method of claim 11 , wherein the set of device authentication credentials comprises at least one of a Media Access Control (MAC) address and an Internet Protocol (IP) address of the remote second device.
13 . The method of claim 1 , wherein the first device executes a connection broker module that is configured to facilitate interaction between the remote user and the first VM.
14 . The method of claim 1 , wherein the network is a software-defined wide area network (SD-WAN), and accessing the first VM over the network comprises accessing the first VM using a set of one or more wireless network links associated with an edge router in the vehicle that connects the vehicle to the SD-WAN.
15 . The method of claim 14 , wherein the set of wireless network links comprises at least two wireless network links provided by at least two different service providers.
16 . The method of claim 14 , wherein the edge router is one of (i) an edge router appliance, (ii) an edge router that executes on a computer that operates in the vehicle, or (iii) an edge router that executes on a machine that executes on the computer.
17 . The method of claim 1 , wherein the data, including the set of data, is stored on a set of data storages of the first device.
18 . The method of claim 1 , wherein the data, including the set of data, is stored on a particular storage device connected to the first device.
19 . The method of claim 18 , wherein the particular storage device is a secure solid-state drive (SSD).
20 . A non-transitory machine readable medium storing a program for execution by at least one processing unit for remotely performing data analysis on a set of data collected using a first device operating in a vehicle at a first location, the program comprising sets of instructions for:
at a remote second device used by a remote user at a remote second location:
accessing, over a network, a first VM executing on the first device, the first VM allowing remote use of a second VM executing on the first device to produce analysis results of data that is collected and stored at the vehicle; and
using the first VM (i) to direct the second VM to analyze the set of data to produce a set of analysis results, (ii) to generate a rendered image that shows the set of analysis results, and (iii) to forward the rendered image through the network to the remote second device for the remote user to view the set of analysis results.