IP Library Granted Patent US 9,965,622
Granted Patent B2
US 9,965,622 · App. 14/721,328 · Granted May 8, 2018

Systems and methods for RADE service isolation

Inventors: Vikramjeet Sandhu (Bangalore, IN); Joseph Nord (Lighthouse, FL)
Assignee: Citrix Systems, Inc.
G06F21/53G06F8/61G06F9/455G06F9/542G06F21/105H04L63/102G06F2009/45587G06F2221/033G06F2221/2145H04L63/08
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,965,622
App. No.
14/721,328
Granted
May 8, 2018
Kind
B2
Abstract

The present invention is directed towards systems and methods of streaming an application from a remote location to a local machine system, and using local machine system resources in executing that application. In various embodiments, services needed by a streamed application may be started with high local system privileges in their own isolation environment. These service may be started, stopped, and otherwise managed by a Service Control Manager. In order for an application to both access services that operate at high local system privileges and the network so that it can access remotely stored, streaming, information; a streaming application may rely on privileges of the user when accessing network information rather than the higher privileges of the services running in isolation.

Claims (36)

1. A method, comprising:

creating, by a local machine comprising at least one processor, a first isolation environment with permissions at a first security privilege level;

starting a service in the first isolation environment;

receiving, by the local machine, a request to execute an application;

determining that the application requires use of the service and that the application is isolated from the service;

creating, by the local machine responsive to determining that the application requires the use of the service and that the application is isolated from the service, a second isolation environment with permissions at a second security privilege level different from the permissions at the first security privilege level;

starting the application in the second isolation environment;

intercepting a service call for the use of the service from the application; and

routing the intercepted service call to the service in the first isolation environment.

2. The method of claim 1 , wherein starting the service is responsive to a determination that the application requires use of the service.

3. The method of claim 1 , comprising executing, by the local machine, a Service Control Manager (“SCM”) to control the service in the first isolation environment.

4. The method of claim 3 , comprising controlling, by the SCM, the service by one or more of: initiating the service, starting the service, pausing the service, stopping the service, or deleting the service.

5. The method of claim 3 , comprising determining, by the SCM, whether the application needs access to the service.

6. The method of claim 5 , comprising starting, by the SCM, the service in the first isolation environment responsive to determining that the application needs access to the service.

7. The method of claim 1 , comprising creating the first isolation environment based on a determination by a Service Control Manager (“SCM”) executing on the local machine that the service needs to be isolated.

8. The method of claim 1 , wherein intercepting the service call comprises hooking the service call.

9. The method of claim 8 , comprising executing, by the local machine, a Service Control Manager (“SCM”) to hook the service call and to route the hooked service call to the service in the first isolation environment.

10. The method of claim 1 , wherein intercepting the service call comprises intercepting a call to a service application program interface (“API”) call.

11. A system, comprising memory storing computer-executable instructions and at least one processor configured to execute the computer-executable instructions, wherein the instructions, when executed, cause the at least one processor to:

create a first isolation environment with permissions at a first security privilege level;

start a service in the first isolation environment;

receive a request to execute an application;

determine that the application requires use of the service and that the application is isolated from the service;

create, responsive to the determination that the application requires the use of the service and that the application is isolated from the service, a second isolation environment with permissions at a second security privilege level different than the permissions at the first security privilege level;

start the application in the second isolation environment;

intercept a service call for the use of the service from the application; and

route the intercepted service call to the service in the first isolation environment.

12. The system of claim 11 , wherein the instructions cause the at least one processor to start the service responsive to a determination that the application requires use of the service.

13. The system of claim 11 , wherein the instructions, when executed, further cause the at least one processor to execute a Service Control Manager (“SCM”), wherein the SCM controls the service in the first isolation environment.

14. The system of claim 13 , wherein the SCM controls the service by one or more of: initiating the service, starting the service, pausing the service, stopping the service, or deleting the service.

15. The system of claim 13 , wherein the SCM determines whether the application needs access to the service.

16. The system of claim 15 , wherein the SCM starts the service in the first isolation environment responsive to determining that the application needs access to the service.

17. The system of claim 11 , wherein the instructions, when executed, further cause the at least one processor to create the first isolation environment based on a determination by a locally-executing Service Control Manager (“SCM”) that the service needs to be isolated.

18. The system of claim 11 , wherein intercepting the service call comprises hooking the service call.

19. The system of claim 18 , wherein the instructions, when executed, further cause the at least one processor to execute a Service Control Manager (“SCM”), wherein the SCM hooks the service call and routes the hooked service call to the service in the first isolation environment.

20. The system of claim 11 , wherein intercepting the service call comprises intercepting a call to a service application program interface (“API”) call.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2015
From: SANDHU, VIKRAMJEET; NORD, JOSEPH
To: CITRIX SYSTEMS, INC
Reel/Frame 035767/0852 →
Continuity (3)
Continuation 12967020 · Dec 13, 2010
Provisional Application 61286334 · Dec 14, 2009
Related Publication 20150254455A1 · Sep 10, 2015