US 12,225,050 B2
Distribution and management of services in virtual environments
Hari R. Pulapaka, Redmond, WA (US); Margarit Simeonov Chenchev, Sammamish, WA (US); Benjamin M. Schultz, Bellevue, WA (US); Jonathan David Wiswall, Woodinville, WA (US); Frederick Justus Smith, Redmond, WA (US); John A. Starks, Seattle, WA (US); Richard O. Wolcott, Redmond, WA (US); and Michael Bishop Ebersol, Woodinville, WA (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Mar. 28, 2022, as Appl. No. 17/706,567.
Application 17/706,567 is a continuation of application No. 16/277,575, filed on Feb. 15, 2019, granted, now 11,290,488.
Application 16/277,575 is a continuation of application No. 15/460,599, filed on Mar. 16, 2017, granted, now 10,333,985.
Claims priority of provisional application 62/444,209, filed on Jan. 9, 2017.
Prior Publication US 2022/0224726 A1, Jul. 14, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 9/40 (2022.01); G06F 9/455 (2018.01); G06F 9/50 (2006.01); G06F 9/54 (2006.01); G06F 21/53 (2013.01); H04L 41/5009 (2022.01); H04L 41/5025 (2022.01)
CPC H04L 63/20 (2013.01) [G06F 9/455 (2013.01); G06F 9/45558 (2013.01); G06F 9/5077 (2013.01); G06F 9/547 (2013.01); G06F 21/53 (2013.01); H04L 41/5009 (2013.01); H04L 41/5025 (2013.01); H04L 63/10 (2013.01); G06F 2009/45587 (2013.01); H04L 63/0272 (2013.01); H04L 63/0281 (2013.01); H04L 63/08 (2013.01)] 20 Claims
OG exemplary drawing
 
1. One or more computing devices, in aggregate comprising:
processing hardware; and
storage hardware storing instructions configured to cause the processing hardware to perform steps comprising:
execute a host runtime environment provided by an operating system of the one or more computing devices;
execute a service within a first runtime environment, the first runtime environment either being the host runtime environment or being hosted by the host runtime environment;
execute a client stub of the service within a second runtime environment, the second runtime environment being a separate, isolated execution environment from the first runtime environment, the second runtime environment being hosted by the host runtime environment;
establish inter-process communication (IPC) between the client stub executing within the second runtime environment and the service executing within the first runtime environment based on provided communication parameters; and
responsive to a request to access the service from an application executing on the host runtime environment, executing a virtual version of the application within the second runtime environment, the virtual version of the application directing the request to the client stub.