IP Library Granted Patent US 10,601,896
Granted Patent B2
US 10,601,896 · App. 15/153,596 · Granted Mar 24, 2020

Concurrent access to a user profile in a layering system

Inventors: Puneet Kaushik (Fremont, CA); Rushikesh Patil (Sunnyvale, CA)
Assignee: Wyse Technology L.L.C.
H04L67/06G06F16/10H04L67/2842H04L67/306
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 10,601,896
App. No.
15/153,596
Granted
Mar 24, 2020
Kind
B2
Abstract

Concurrent access to a user profile in a layering system is provided. When a user logs into a computing device, the server can locate a corresponding user profile to identify which layers should be provided to the user. Rather than sending these layers to the computing device for mounting, the server can mount the layers on the server. Therefore, if a user logs into multiple computing devices, the layering file system and registry filter drivers on those devices can route file system and registry requests to the server where the layers are mounted. Since the layers are mounted to a single device, concurrent access can be provided without the concern of data conflicts.

Claims (66)

1. A method, implemented by a server, for allowing a user profile to be concurrently accessed in a layering system, the method comprising:

in response to detecting that a user has accessed a first client device, identifying, by a server, a user profile associated with the user;

accessing the user profile to identify one or more layers that the user should be granted access to;

for each of the one or more layers, mounting the layer on the server;

providing information defining how each of the one or more layers was mounted to layering drivers on the first client device to enable the layering drivers to cause contents of the one or more layers to appear as if they were stored on a partition mounted on the first client device;

receiving, from the layering drivers on the first client device, requests to access contents of the one or more layers;

employing the file system of the server to complete the requests;

returning results of the requests to the layering drivers on the first client device;

in response to detecting that the user has accessed a second client device, providing the information defining how each of the one or more layers was mounted to layering drivers on the second client device to enable the layering drivers on the second client device to cause the contents of the one or more layers to appear as if they were stored on a partition on the second client device;

receiving, from the layering drivers on the second client device, additional requests to access contents of the one or more layers;

employing the file system of the server to complete the additional requests; and

returning results of the additional requests to the layering drivers on the second client device.

2. The method of claim 1 , wherein the information defining how each of the one or more layers was mounted includes, for each layer, one or more of:

a drive letter assigned to the layer;

a file system path to the layer; or

a location in the server's registry where a registry hive stored on the layer was loaded.

3. The method of claim 1 , wherein the additional requests include a request to open a file that is currently opened on the first client device, the method further comprising:

notifying a first device view on the first client device and a second device view on the second client device that the file is being concurrently accessed.

4. The method of claim 3 , further comprising:

detecting that the first client device has closed the file; and

notifying the second device view that the file is not opened by any other client device.

5. The method of claim 4 , wherein detecting that the first client device has closed the file includes detecting that the first client device did not modify the file; and

wherein notifying the second device view includes notifying the second device view that the file was not modified by another client device.

6. The method of claim 4 , wherein detecting that the first client device has closed the file includes detecting that the first client device modified the file, the method further comprising:

detecting that the second client device has also modified the file;

applying a policy to identify whether the modifications to the file made by the first or second client device should be persisted to the layer; and

persisting the identified modifications to the layer.

7. The method of claim 6 , further comprising:

creating a separate file on the layer that includes the modifications that were not identified to be persisted to the layer.

8. The method of claim 7 , wherein the separate file includes a timestamp identifying when the modifications were made.

9. The method of claim 1 , wherein the information defining how each of the one or more layers was mounted comprises a drive letter of or a file system path to each mounted layer.

10. A method, implemented by a first client device and a second client device, for allowing a user profile to be concurrently accessed in a layering system, the method comprising:

by the first client device:

receiving, from a server on which a layer is mounted, information defining how the layer was mounted on the server;

employing, by layering drivers on the first client device, the information to present contents of the layer as if the contents were stored on a first partition mounted on the first client device;

in response to receiving a first request that is directed to the first partition, determining that the first request targets content on the layer;

modifying the first request to direct the first request to the layer; and

sending the modified first request to a proxy on the server; by the second client device:

receiving, from the server on which the layer is mounted, the information defining how the layer was mounted on the server;

employing, by layering drivers on the second client device, the information to present the contents of the layer as if the contents were stored on a second partition mounted on the second client device;

in response to receiving a second request that is directed to the second partition, determining that the second request targets content on the layer;

modifying the second request to direct the second request to the layer; and

sending the modified second request to the proxy on the server.

11. The method of claim 10 , further comprising:

receiving, at the first client device, a response to the modified first request that indicates that the targeted content is being concurrently accessed by the second client device; and

caching a copy of the content in a device view.

12. The method of claim 11 , further comprising:

receiving, at the first client device, a subsequent request to access the content; and

accessing the copy cached in the device view to complete the subsequent request.

13. The method of claim 11 , further comprising:

receiving a notification indicating that the content is no longer being concurrently accessed; and

removing the cached copy from the device view.

14. The method of claim 13 , wherein the cached copy was modified by the first client device, the method further comprising:

sending the modified copy to the server for storage on the layer.

15. The method of claim 14 , further comprising:

including a timestamp with the modified copy identifying when the copy was modified.

16. The method of claim 10 , wherein the information defining how the layer was mounted on the server includes one or more of:

a drive letter assigned to the layer;

a file system path to the layer; or

a location in the server's registry where a registry hive stored on the layer was loaded.

17. A layering system comprising:

a server that stores a number of layers that each contain user data and user profiles that each define a layer that should be mounted to the server when a corresponding user logs into a client device, the server also including a proxy for communicating file system or registry requests with client devices; and

multiple client devices that each include layering drivers that are configured to cause contents of a layer mounted to the server to appear as if the contents were stored on a partition mounted on the client device, wherein the layering drivers on both the first and second client devices are configured to concurrently redirect requests to access the contents of the layer to the proxy on the server.

18. The layering system of claim 17 , wherein each client device also includes a device view which is configured to cache a copy of a file obtained from the layer mounted on the server when the file is being concurrently accessed by the multiple client devices, the device view also being configured to complete requests to access the file that are received while the file is being concurrently accessed by employing the copy that is cached in the device view.

19. The layering system of claim 18 , wherein the device view is configured to send the cached copy of the file to the server for storage on the layer after the file is no longer being concurrently accessed.

20. The method of claim 1 , wherein each of the one or more layers is a virtual hard disk (VHD).

Assignments (16)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
MERGER Recorded May 9, 2022
From: WYSE TECHNOLOGY L.L.C.
To: DELL MARKETING CORPORATION
Reel/Frame 059912/0109 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF SEC. INT. IN PATENTS (NOTES) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040026/0710 →
RELEASE OF SEC. INT. IN PATENTS (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040027/0329 →
RELEASE OF SEC. INT. IN PATENTS (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040013/0733 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Aug 10, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 039644/0084 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Aug 10, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 039719/0889 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Aug 10, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 039643/0953 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2016
From: KAUSHIK, PUNEET; PATIL, RUSHIKESH
To: WYSE TECHNOLOGY L.L.C.
Reel/Frame 038581/0844 →
Continuity (1)
Related Publication 20170331878A1 · Nov 16, 2017