IP Library Granted Patent US 9,009,385
Granted Patent B1
US 9,009,385 · App. 13/174,177 · Granted Apr 14, 2015

Co-residency detection in a cloud-based system

Inventors: Ari Juels (Brookline, MA); Alina M. Oprea (Arlington, MA); Michael Kendrick Reiter (Chapel Hill, NC); Yinqian Zhang (Chapel Hill, NC)
Assignee: EMC Corporation
G06F3/0622G06F13/1663G06F12/14
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,009,385
App. No.
13/174,177
Filed
Jun 30, 2011
Granted
Apr 14, 2015
Kind
B1
Art Unit
2131
USPC
711/6
Abstract

At least one virtual machine implemented on a given physical machine in an information processing system is able to detect the presence of one or more other virtual machines that are also co-resident on that same physical machine. More particularly, at least one virtual machine is configured to avoid usage of a selected portion of a memory resource of the physical machine for a period of time, and to monitor the selected portion of the memory resource for activity during the period of time. Detection of a sufficient level of such activity indicates that the physical machine is also being shared by at least one other virtual machine. The memory resource of the physical machine may comprise, for example, a cache memory, and the selected portion of the memory resource may comprise one or more randomly selected sets of the cache memory.

Claims (38)

1. A method comprising:

configuring at least one virtual machine implemented on a physical machine to avoid usage of a selected portion of a memory resource of the physical machine for a period of time;

monitoring the selected portion of the memory resource for activity during the period of time; and

if a sufficient level of said activity is detected, generating an indication that the physical machine is also being shared by at least one other virtual machine.

2. The method of claim 1 wherein configuring the at least one virtual machine implemented on the physical machine to avoid usage of the selected portion of the memory resource of the physical machine comprises coordinating avoidance of the selected portion of the memory resource of the physical machine for the period of time by a plurality of virtual machines implemented on the physical machine.

3. The method of claim 2 wherein coordinating avoidance by the plurality of virtual machines further comprises randomly selecting a plurality of sets of a cache memory of the physical machine for a given detection period and coordinating avoidance of the plurality of sets for the detection period.

4. The method of claim 3 wherein coordinating avoidance by the plurality of virtual machines further comprises:

priming the plurality of sets of the cache memory by moving data from a main memory into the plurality of sets; and

suspending further usage of the plurality of sets by each of the plurality of virtual machines for a designated waiting interval.

5. The method of claim 4 wherein monitoring the selected portion of the memory resource for activity further comprises probing the plurality of sets after the designated waiting interval of suspended usage to determine a manner in which data contents of the plurality of sets have been altered during that interval.

6. The method of claim 5 wherein the priming, suspending and probing are repeated for each of a plurality of trials within the detection period, using the plurality of sets.

7. The method of claim 6 wherein results of said probing over multiple ones of the trials are processed to determine a classification result for the detection period indicating whether or not a level of detected activity is sufficient to indicate that the physical machine is also being shared by said at least one other virtual machine.

8. The method of claim 5 wherein probing the plurality of sets further comprises averaging cache access timing measurements over the sets.

9. The method of claim 2 wherein the coordinating and monitoring are implemented collectively by the plurality of virtual machines without requiring any separate control of an associated hypervisor.

10. The method of claim 2 wherein the plurality of virtual machines are associated with a given tenant of a cloud service provider and said at least one other virtual machine determined to be sharing the physical machine based on the detected activity is not associated with the given tenant of the cloud service provider but is instead associated with a different tenant of the cloud service provider.

11. The method of claim 1 wherein the memory resource of the physical machine comprises a cache memory.

12. The method of claim 11 wherein the cache memory comprises an L2 cache memory.

13. The method of claim 11 wherein the selected portion of the memory resource of the physical machine comprises one or more sets of the cache memory.

14. The method of claim 1 wherein the selected portion of the memory resource of the physical machine comprises a randomly selected portion of the memory resource.

15. The method of claim 1 wherein the indication is made accessible to a tenant of a cloud service provider for use in verifying exclusive use of the physical machine by the tenant.

16. The method of claim 1 further comprising:

determining an average probe timing for the period of time;

if the average is less than a specified threshold, generating a foe-absent indication; and

if the average is at or above the specified threshold, generating a foe-present indication.

17. The method of claim 1 wherein the indication comprises a classification result.

18. The method of claim 17 wherein the classification result is determined using a plurality of thresholds, and wherein each threshold is associated with a different distribution model.

19. A computer program product comprising a non-transitory processor-readable storage medium having encoded therein executable code of one or more software programs, wherein the one or more software programs when executed by a processing platform comprising the physical machine causes the processing platform to perform the method of claim 1 .

20. An apparatus comprising:

a physical machine; and

at least one virtual machine implemented on the physical machine;

wherein the at least one virtual machine is configured:

to avoid usage of a selected portion of a memory resource of the physical machine for a period of time;

to monitor the selected portion of the memory resource for activity during the period of time; and

if a sufficient level of said activity is detected, to generate an indication that the physical machine is also being shared by at least one other virtual machine.

21. The apparatus of claim 20 wherein a plurality of virtual machines implemented on the physical machine are configured to coordinate avoidance of the selected portion of the memory resource of the physical machine for the period of time.

22. The apparatus of claim 21 wherein the plurality of virtual machines are configured to coordinate avoidance of the selected portion of the memory resource of the physical machine for the period of time by coordinating avoidance of randomly selected sets of a cache memory of the physical machine for a given detection period.

23. The apparatus of claim 22 wherein the virtual machine configured to monitor the selected portion of the memory resource for activity is further configured to probe the randomly selected sets after a designated waiting interval of suspended usage to determine a manner in which data contents of the randomly selected sets have been altered during the designated waiting interval.

24. The apparatus of claim 23 wherein probing the randomly selected sets further comprises averaging cache access timing measurements over the randomly selected sets.

Assignments (13)
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/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 →
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 →
CONFIRMATORY LICENSE Recorded Sep 25, 2015
From: UNIVERSITY OF NORTH CAROLINA, CHAPEL HILL
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 036689/0534 →
CONFIRMATORY LICENSE Recorded Apr 27, 2015
From: UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 035506/0707 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2012
From: REITER, MICHAEL KENDRICK; ZHANG, YINQIAN
To: UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL
Reel/Frame 027870/0388 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2011
From: JUELS, ARI; OPREA, ALINA M.
To: EMC CORPORATION
Reel/Frame 027065/0257 →