IP Library Granted Patent US 9,392,078
Granted Patent B2
US 9,392,078 · App. 11/689,177 · Granted Jul 12, 2016

Remote network access via virtual machine

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 9,392,078
App. No.
11/689,177
Granted
Jul 12, 2016
Kind
B2
Abstract

A virtual machine project manager creates a generic, i.e., not user-specific, virtual machine image file. Copies of this image file may be distributed to one or more users, each of whom may then use an automated procedure to generate a user-specific virtual machine image file and, thus, a user-specific virtual machine on his/her remote host computer. The generic virtual machine image file may be distributed on computer-readable media, such as a DVD disks, or the file may be stored on a server and downloaded (such as via the Internet) by the users. Each user also receives or downloads a token, which contains a small amount of user-specific information that is used by the automated procedure to provision the generic virtual machine image file for the particular user. A virtual machine accesses a security token connected to a host computer to automatically authenticate or re-authenticate a user, such as when a virtual private network connection is restarted. Substantially identical session identifiers are used by a host computer and a virtual machine, or by two or more virtual machines and, when communicating with an integrated access server. A file server stores virtual machine images that are accessed by a plurality of host computers.

Claims (98)

1. A method for configuring a virtual machine on a host computer, comprising:

executing the virtual machine on the host computer by a host operating system;

sending, by the host operating system, information to an operating system of the virtual machine, the information comprising an attribute of the host operating system or an attribute of the host computer;

creating, by the operating system of the virtual machine, a system initialization file for the operating system of the virtual machine, the system preparation file based on the information;

storing, by the operating system of the virtual machine, the system initialization file in a file system of the operating system of the virtual machine;

starting the operating system of the virtual machine based on the system initialization file;

associating an image file of the virtual machine with a user;

authorizing, at the operating system of the virtual machine, the user with login credentials received from the host operating system as a result of starting the operation system of the virtual machine; and

logging into a user account of the user on the operating system of the virtual machine, based on the login credentials.

2. The method of claim 1 , further comprising:

restarting the virtual machine; and

processing, by the operating system of the virtual machine, the system initialization file as a result of restarting the virtual machine.

3. The method of claim 2 , further comprising:

connecting to a virtual private network (VPN) based on the login credentials, as a result of logging into the user account.

4. The method of claim 3 , further comprising:

receiving, by the operating system of the virtual machine, the login credentials from the host operating system; and

joining a domain of the VPN based on the login credentials.

5. The method of claim 4 , further comprising:

storing the login credentials in the file system.

6. The method of claim 5 , further comprising:

restarting the virtual machine; and

upon restarting the virtual machine, joining the domain by the operating system of the virtual machine with the stored login credentials.

7. The method of claim 1 , wherein the information comprises:

a naming pattern of the host computer, a time zone where the host computer is located, a screen resolution of a display device attached to the host computer, a color depth of the display device, data determined from predefined rules, or a key for decrypting an encrypted image file of the virtual machine.

8. The method of claim 7 , wherein the data determined from predefined rules comprises a memory size of the virtual machine.

9. The method of claim 1 , wherein executing the virtual machine on the host computer by the host operating system includes:

extracting the virtual machine from an image file, the image file comprising instructions and data for establishing a virtual private network (VPN) connection between the virtual machine and a computer environment; and

further comprising:

connecting to a virtual private network (VPN) based on the instructions and data based on logging into a user account of the operating system of the virtual machine.

10. The method of claim 1 , further comprising:

receiving, by the host computer, input indicative of powering down the virtual machine; and

in response to receiving the input, logging out of the operating system of the virtual machine instead of powering down.

11. A system, comprising:

a computing device; and

a memory communicatively coupled to the computing device bearing computer-executable instructions that, when executed on the computing device, cause the computing device to perform operations comprising:

executing the virtual machine on the computing device by a host operating system;

sending, by the host operating system, information to a operating system of the virtual machine, the information comprising an attribute of the host operating system or an attribute of a host computer;

creating, by the operating system of the virtual machine, a system initialization file for the guest operating system, of the virtual machine the system initialization file based on the information;

storing, by the operating system of the virtual machine, the system initialization file in a file system of the operating system of the virtual machine;

starting the operating system of the virtual machine of the virtual machine based on the system initialization file;

associating an image file of the virtual machine with a user;

authorizing, at the operating system of the virtual machine, the user with login credentials received from the host operating system as a result of starting the operation system; and

logging into a user account of the user on the operating system of the virtual machine, based on the login credentials.

12. The system of claim 11 , further bearing computer-executable instructions that, when executed on the computing device, cause the computing device to perform operations comprising:

restarting the virtual machine; and

processing, by the operating system of the virtual machine, the system initialization file as a result of restarting the virtual machine.

13. The system of claim 12 , further bearing computer-executable instructions that, when executed on the computing device, cause the computing device to perform operations comprising:

connecting to a virtual private network (VPN) based on the login credentials, as a result of logging into the user account.

14. The system of claim 13 , further bearing computer-executable instructions that, when executed on the computing device, cause the computing device to perform operations comprising:

receiving, by the operating system of the virtual machine, the login credentials from the host operating system; and

joining a domain of the VPN based on the login credentials.

15. The system of claim 14 , further bearing computer-executable instructions that, when executed on the computing device, cause the computing device to perform operations comprising:

storing the login credentials in the file system.

16. The system of claim 15 , further bearing computer-executable instructions that, when executed on the computing device, cause the computing device to perform operations comprising:

restarting the virtual machine; and

upon restarting the virtual machine, joining the domain by the operating system of the virtual machine with the stored login credentials.

17. The system of claim 11 , wherein the information comprises:

a naming pattern of the host computer, a time zone where the host computer is located, a screen resolution of a display device attached to the host computer, a color depth of the display device, data determined from predefined rules, or a key for decrypting an encrypted image file of the virtual machine.

18. The system of claim 17 , wherein the data determined from predefined rules comprises a memory size of the virtual machine.

19. The system of claim 11 , wherein executing the virtual machine on the host computer by the host operating system includes:

extracting the virtual machine from an image file, the image file comprising instructions and data for establishing a virtual private network (VPN) connection between the virtual machine and a computer environment; and

further bearing computer-executable instructions that, when executed on the computing device, cause the computing device to perform operations comprising:

connecting to a virtual private network (VPN) based on the instructions and data based on logging into a user account of the operating system of the virtual machine.

20. The system of claim 11 , further bearing computer-executable instructions that, when executed on the computing device, cause the computing device to perform operations comprising:

receiving, by the host computer, input indicative of closing a user interface window of the virtual machine; and

in response to receiving the input, logging out of the operating system of the virtual machine.

21. A storage device bearing computer-readable instructions that, when executed on a computing device, cause the computing device to perform operations comprising:

executing the virtual machine on the computing device by a host operating system;

sending, by the host operating system, information to a operating system of the virtual machine, the information comprising an attribute of the host operating system or an attribute of the computing device;

creating, by the operating system of the virtual machine, a system initialization file for the operating system of the virtual machine, the system initialization file based on the information;

storing, by the operating system of the virtual machine, the system initialization file in a file system of the operating system of the virtual machine;

starting the operating system of the virtual machine based on the system initialization file;

associating an image file of the virtual machine with a user;

authorizing, at the operating system of the virtual machine, the user with login credentials received from the host operating system as a result of starting the operation system of the virtual machine; and

logging into a user account of the user on the operating system of the virtual machine, based on the login credentials.

22. The storage device of claim 21 , further bearing computer-executable instructions that, when executed on the computing device, cause the computing device to perform operations comprising:

restarting the virtual machine; and

processing, by the operating system of the virtual machine, the system initialization file as a result of restarting the virtual machine.

23. The storage device of claim 22 , further bearing computer-executable instructions that, when executed on the computing device, cause the computing device to perform operations comprising:

connecting to a virtual private network (VPN) based on the login credentials, as a result of logging into the user account.

24. The storage device of claim 23 , further bearing computer-executable instructions that, when executed on the computing device, cause the computing device to perform operations comprising:

receiving, by the operating system of the virtual machine, login credentials from the host operating system; and

joining a domain of the VPN based on the login credentials.

25. The storage device of claim 24 , further bearing computer-executable instructions that, when executed on the computing device, cause the computing device to perform operations comprising:

storing the login credentials in the file system.

26. The storage device of claim 25 , further bearing computer-executable instructions that, when executed on the computing device, cause the computing device to perform operations comprising:

restarting the virtual machine; and

upon restarting the virtual machine, joining the domain by the operating system of the virtual machine with the stored login credentials.

27. The storage device of claim 21 , wherein the information comprises:

a naming pattern of the computing device, a time zone where the computing device is located, a screen resolution of a display device attached to the computing device, a color depth of the display device, data determined from predefined rules, or a key for decrypting an encrypted image file of the virtual machine.

28. The storage device of claim 27 , wherein the data determined from predefined rules comprises a memory size of the virtual machine.

29. The storage device of claim 21 , wherein executing the virtual machine on the computing device by the host operating system includes:

extracting the virtual machine from an image file, the image file comprising instructions and data for establishing a virtual private network (VPN) connection between the virtual machine and a computer environment; and

further bearing computer-executable instructions that, when executed on the computing device, cause the computing device to perform operations comprising:

connecting to a virtual private network (VPN) based on the instructions and data based on logging into a user account of the operating system of the virtual machine.

30. The storage device of claim 21 , further bearing computer-executable instructions that, when executed on the computing device, cause the computing device to perform operations comprising:

receiving, by the computing device, input indicative of closing a user interface window of the virtual machine; and

in response to receiving the input, logging out of the operating system of the virtual machine.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
MERGER Recorded Jun 17, 2014
From: SENTILLION, INC.
To: MICROSOFT CORPORATION
Reel/Frame 033117/0870 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2007
From: SELIGER, ROB; HARTZ, GEORGE; FONTANA, ERIC; FUSARI, DAVID
To: SENTILLION, INC.
Reel/Frame 019423/0495 →