An Untold Story of Redundant Clouds: Making Your Service Deployment Truly Reliable
Ennan Zhai1, Ruichuan Chen2, David Isaac Wolinsky1, Bryan Ford1
1Yale University & 2Bell Labs
An Untold Story of Redundant Clouds: Making Your Service Deployment - - PowerPoint PPT Presentation
An Untold Story of Redundant Clouds: Making Your Service Deployment Truly Reliable Ennan Zhai 1 , Ruichuan Chen 2 , David Isaac Wolinsky 1 , Bryan Ford 1 1 Yale University & 2 Bell Labs Road-Map Motivations Goal & Insight iRec
Ennan Zhai1, Ruichuan Chen2, David Isaac Wolinsky1, Bryan Ford1
1Yale University & 2Bell Labs
EC2 availability zone EC2 availability zone EC2 availability zone
Netflix Application Service
iCloud Application Service
Amazon EC2 Service Microsoft Azure Service
Email App
Cloud Provider A Cloud Provider B
Email App
Cloud Provider A Cloud Provider B
Third-party infrastructure components
Email App
Cloud Provider A Cloud Provider B
ISP B ISP A ISP C
Third-party infrastructure components
Email App
Cloud Provider A Cloud Provider B
ISP B ISP A ISP C Power Source
Third-party infrastructure components
Email App
Cloud Provider A Cloud Provider B
ISP B ISP A ISP C Power Source
Third-party infrastructure components
Email App
Cloud Provider A Cloud Provider B
ISP B ISP A ISP C Power Source
Third-party infrastructure components
services when deploying applications
App Provider
Cloud A Cloud B Cloud C
App Provider
Select two clouds for redundancy
Cloud A Cloud B Cloud C
App Provider
Cloud A Cloud B Cloud C
A and B ?
App Provider
Cloud A Cloud B Cloud C
B and C ?
App Provider
Cloud A Cloud C
A and C ?
Cloud B
App Provider Recommender
Cloud A Cloud B Cloud C
Select two clouds for redundancy: A&B? B&C?
App Provider Recommender
Cloud A Cloud B Cloud C
Cloud A Cloud B Cloud C App Provider Recommender
Assessing independence by the # of
Cloud A Cloud B Cloud C App Provider Recommender
App Provider Recommender
Cloud A Cloud B Cloud C
ISP A Power B Power A
App Provider Recommender
Cloud A Cloud B Cloud C
ISP A Power B Power A ISP A Power A Power B
App Provider Recommender
Cloud A Cloud B Cloud C
ISP A Power B Power A ISP A Power A Power B
App Provider Recommender
Cloud A Cloud B Cloud C
ISP A Power A Power B ISP A Power B ISP B Power A
App Provider Recommender
Cloud A Cloud B Cloud C
ISP A Power A Power B ISP A Power B ISP B Power A ISP B Power A Power B
App Provider Recommender
Cloud A Cloud B Cloud C
ISP A Power A Power B ISP A Power B ISP B Power A ISP B Power A Power B
App Provider Recommender
Cloud A Cloud B Cloud C
ISP A Power A Power B ISP B Power A Power B ISP A Power B ISP B Power C Power A
App Provider Recommender
Cloud A Cloud B Cloud C
ISP A Power A Power B ISP B Power A Power B ISP A Power B ISP B Power C Power A ISP B Power C
App Provider Recommender
Cloud A Cloud B Cloud C
ISP A Power A Power B ISP B Power A Power B ISP A Power B ISP B Power C Power A ISP B Power C
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
App Provider Recommender
Cloud A Cloud B Cloud C
ISP A Power A Power B ISP B Power A Power B ISP A Power B ISP B Power C Power A ISP B Power C
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
App Provider Recommender
Cloud A Cloud B Cloud C
ISP A Power A Power B ISP B Power A Power B ISP A Power B ISP B Power C Power A ISP B Power C
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
=2
App Provider Recommender
Cloud A Cloud B Cloud C
ISP A Power A Power B ISP B Power A Power B ISP A Power B ISP B Power C Power A ISP B Power C
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
=2
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
App Provider Recommender
Cloud A Cloud B Cloud C
ISP A Power A Power B ISP B Power A Power B ISP A Power B ISP B Power C Power A ISP B Power C
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
App Provider Recommender
Cloud A Cloud B Cloud C
ISP A Power A Power B ISP B Power A Power B ISP A Power B ISP B Power C Power A ISP B Power C
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
=1
App Provider Recommender
Cloud A Cloud B Cloud C
ISP A Power A Power B ISP B Power A Power B ISP A Power B ISP B Power C Power A ISP B Power C
=1
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
App Provider Recommender
Cloud A Cloud B Cloud C
ISP A Power A Power B ISP A Power B ISP B Power C Power A ISP B Power C
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
App Provider Recommender
Cloud A Cloud B Cloud C
ISP A Power A Power B ISP A Power B ISP B Power C Power A ISP B Power C
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
=0
App Provider Recommender
Cloud A Cloud B Cloud C
ISP A Power A Power B ISP A Power B ISP B Power C Power A ISP B Power C
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
=0
App Provider Recommender
Cloud A Cloud B Cloud C
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
Cloud A Cloud B Cloud C App Provider Recommender
| |
Deployment
Ranking List
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
Cloud Provider1 Cloud Provider2 Cloud Provider3 Recommender App Provider
Cloud Provider1 Cloud Provider2 Cloud Provider3 Recommender App Provider
Cloud Provider1 Cloud Provider2 Cloud Provider3 Trusted Third Party App Provider
Cloud Provider1 Cloud Provider2 Cloud Provider3 Trusted Third Party App Provider
Cloud Provider1 Cloud Provider2 Cloud Provider3
Secure Multiparty Computation
App Provider
[Xiao et al, CCSW’13]
Cloud Provider1 Cloud Provider2 Cloud Provider3 SMPC App Provider
[Xiao et al, CCSW’13]
[Freedman et al, EuroCrypt’04].
elements without learning other information.
[Freedman et al, EuroCrypt’04].
elements without learning other information.
11 3 10 1 5 20 3 7 3
PSI-CA
11 3 10 1 5 20 3 7 3
PSI-CA
[Freedman et al, EuroCrypt’04].
elements without learning other information.
11 3 10 1 5 20 3 7 3
PSI-CA
One overlapping element
One overlapping element One overlapping element
[Freedman et al, EuroCrypt’04].
elements without learning other information.
11 3 10 1 5 20 3 7 3
PSI-CA
But I do not know which element is overlapping
But I do not know which element is overlapping But I do not know which element is overlapping
[Freedman et al, EuroCrypt’04].
elements without learning other information.
1 4 6 2
compute |A B|.
homomorphic encryptions of the coefficients to Bob.
Data Set A Data Set B
Alice Bob
1 4 6 2
compute |A B|.
homomorphic encryptions of the coefficients to Bob.
Data Set A Data Set B
Alice Bob
P = (X-12)(X-5)(X-4) = x3-21x2+128X-240
1 4 6 2
compute |A B|.
homomorphic encryptions of the coefficients to Bob.
Data Set A Data Set B
Alice Bob
P = (X-12)(X-5)(X-4) = x3-21x2+128X-240 {E(1), E(-21), E(128), E(-240)}
1 4 6 2
compute |A B|.
homomorphic encryptions of the coefficients to Bob.
Data Set A Data Set B
Alice Bob
P = (X-12)(X-5)(X-4) = x3-21x2+128X-240 {E(P(1)), E(P(4)), E(P(6)), E(P(2))} {E(1), E(-21), E(128), E(-240)}
1 4 6 2
compute |A B|.
homomorphic encryptions of the coefficients to Bob.
Data Set A Data Set B
Alice Bob
P = (X-12)(X-5)(X-4) = x3-21x2+128X-240 {E(P(1)), E(P(4)), E(P(6)), E(P(2))} {E(1), E(-21), E(128), E(-240)}
1 4 6 2
compute |A B|.
homomorphic encryptions of the coefficients to Bob.
Data Set A Data Set B
Alice Bob
P = (X-12)(X-5)(X-4) = x3-21x2+128X-240 {E(P(1)), E(P(4)), E(P(6)), E(P(2))} {E(1), E(-21), E(128), E(-240)}
1 4 6 2
compute |A B|.
homomorphic encryptions of the coefficients to Bob.
Data Set A Data Set B
Alice Bob
P = (X-12)(X-5)(X-4) = x3-21x2+128X-240 {E(-132), E(0), E(-12), E(-60)} {E(1), E(-21), E(128), E(-240)}
1 4 6 2
compute |A B|.
homomorphic encryptions of the coefficients to Bob.
Data Set A Data Set B
Alice Bob
P = (X-12)(X-5)(X-4) = x3-21x2+128X-240 {E(-132), E(0), E(-12), E(-60)} {E(1), E(-21), E(128), E(-240)}
compute |A B|.
homomorphic encryptions of the coefficients to Bob.
Data Set A
Alice
P = (X-12)(X-5)(X-4) = x3-21x2+128X-240 {-132, 0, -12, -60}
compute |A B|.
homomorphic encryptions of the coefficients to Bob.
Data Set A
Alice
P = (X-12)(X-5)(X-4) = x3-21x2+128X-240 {-132, 0, -12, -60}
Result is: 1
11 3 10 1 5 20 3 7 3
PSI-CA
One overlapping element
One overlapping element One overlapping element
Cloud A Cloud B Cloud C App Provider iRec
ISP A Power B ISP B Power C Power A
Cloud A Cloud B Cloud C App Provider iRec
ISP A Power B ISP B Power C Power A Select two clouds for redundancy: A&B? B&C?
Cloud A Cloud B Cloud C App Provider iRec
ISP A Power B ISP B Power C Power A
Cloud A Cloud B Cloud C App Provider iRec
ISP A Power B ISP B Power C Power A
App Provider Cloud A Cloud B Cloud C
ISP A Power B ISP B Power C Power A
iRec
ISP A Power A Power B ISP B Power A Power B ISP B Power C
App Provider Cloud A Cloud B Cloud C
ISP A Power B ISP B Power C Power A
iRec
PSI-CA PSI-CA
ISP A Power A Power B ISP B Power A Power B ISP B Power C
Cloud A Cloud B Cloud C App Provider iRec
ISP A Power B ISP B Power C Power A
App Provider Recommender
Cloud A Cloud B Cloud C
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
ISP A Power B ISP B Power C Power A
Cloud A Cloud B Cloud C App Provider Recommender
| |
Deployment
Ranking List
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
ISP A Power B ISP B Power C Power A
roles in the clouds
than ISPs
roles in the clouds
than ISPs
PSI-CA in Step2
roles in the clouds
than ISPs
PSI-CA in Step3
roles in the clouds
than ISPs
App Provider Cloud A Cloud B Cloud C
ISP A Power B ISP B Power C Power A
iRec
PSI-CA PSI-CA
ISP A Power A Power B ISP B Power A Power B ISP B Power C
Cloud A Cloud B
ISP A Power B ISP B Power A
PSI-CA
ISP A Power A Power B ISP B Power A Power B
Cloud A Cloud B
ISP A Power B ISP B Power A
Cloud A Cloud B
ISP A Power B ISP B Power A ISP A Power A Power B ISP B Power A Power B
Cloud A Cloud B
ISP A Power B ISP B Power A
ISP A 1 Power A 2 Power B 2 ISP B 1 Power A 2 Power B 2
Cloud A Cloud B
ISP A Power B ISP B Power A
ISP A 1 Power A 2 Power B 2 ISP B 1 Power A 2 Power B 2
Weights
Cloud A Cloud B
ISP A Power B ISP B Power A
ISP A Power A Power A Power B Power B ISP B Power A Power A Power B Power B
ISP A 1 Power A 2 Power B 2 ISP B 1 Power A 2 Power B 2 DSI DSI
Cloud A Cloud B
ISP A Power B ISP B Power A
ISP A Power A Power A Power B Power B ISP B Power A Power A Power B Power B
ISP A 1 Power A 2 Power B 2 ISP B 1 Power A 2 Power B 2 DSI DSI
Cloud A Cloud B
ISP A Power B ISP B Power A
PSI-CA
ISP A Power A Power A Power B Power B ISP B Power A Power A Power B Power B
DSI DSI
Cloud A Cloud B
ISP A Power B ISP B Power A
PSI-CA
ISP A Power A Power A Power B Power B ISP B Power A Power A Power B Power B
DSI DSI
Cloud A Cloud B Cloud C App Provider iRec
ISP A Power B ISP B Power C Power A Select two clouds for redundancy: A&B? B&C?
Cloud A Cloud B Cloud C App Provider iRec
ISP A Power B ISP B Power C Power A
Cloud A Cloud B Cloud C App Provider iRec
ISP A Power B ISP B Power C Power A
Weights Weights Weights
App Provider Cloud A Cloud B Cloud C
ISP A Power B ISP B Power C Power A
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
ISP A 3 Power A 1 Power B 1 ISP B 3 Power A 1 Power B 1 ISP B 3 Power C 1
iRec
App Provider Cloud A Cloud B Cloud C
ISP A Power B ISP B Power C Power A
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
ISP A 3 Power A 1 Power B 1 ISP B 3 Power A 1 Power B 1 ISP B 3 Power C 1
ISP A ISP A ISP A Power A Power B ISP B ISP B ISP B Power A Power B ISP B ISP B ISP B Power C
iRec
App Provider Cloud A Cloud B Cloud C
ISP A Power B ISP B Power C Power A
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
ISP A ISP A ISP A Power A Power B ISP B ISP B ISP B Power A Power B ISP B ISP B ISP B Power C
iRec
App Provider Cloud A Cloud B Cloud C
ISP A Power B ISP B Power C Power A
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
ISP A ISP A ISP A Power A Power B ISP B ISP B ISP B Power C
PSI-CA
iRec
App Provider Cloud A Cloud B Cloud C
ISP A Power B ISP B Power C Power A
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
ISP A ISP A ISP A Power A Power B ISP B ISP B ISP B Power C
PSI-CA
iRec
App Provider Cloud A Cloud B Cloud C
ISP A Power B ISP B Power C Power A
Cloud A, C 0 Cloud B, C 1 Cloud A, B 2
Deployment | |
ISP A ISP A ISP A Power A Power B ISP B ISP B ISP B Power A Power B ISP B ISP B ISP B Power C
PSI-CA
iRec
App Provider Cloud A Cloud B Cloud C
ISP A Power B ISP B Power C Power A
Cloud A, C 0 Cloud B, C 3 Cloud A, B 2
Deployment | |
ISP A ISP A ISP A Power A Power B ISP B ISP B ISP B Power A Power B ISP B ISP B ISP B Power C
PSI-CA
iRec
App Provider Cloud A Cloud B Cloud C
ISP A Power B ISP B Power C Power A
Cloud A, C 0 Cloud B, C 3 Cloud A, B 2
Deployment | |
ISP A ISP A ISP A Power A Power B ISP B ISP B ISP B Power A Power B ISP B ISP B ISP B Power C
PSI-CA
iRec
App Provider Cloud A Cloud B Cloud C
ISP A Power B ISP B Power C Power A
Cloud A, C 0 Cloud B, C 3 Cloud A, B 2
Deployment | |
ISP A ISP A ISP A Power A Power B ISP B ISP B ISP B Power A Power B ISP B ISP B ISP B Power C
PSI-CA
iRec
App Provider Cloud A Cloud B Cloud C
Cloud A, C 0 Cloud B, C 3 Cloud A, B 2
Deployment | |
iRec
App Provider Cloud A Cloud B Cloud C
Cloud A, C 0 Cloud B, C 3 Cloud A, B 2
Deployment | |
iRec
App Provider Cloud A Cloud B Cloud C
Cloud A, C 0 Cloud A, B 2 Cloud B, C 3
Deployment | |
iRec
Cloud A Cloud B Cloud C App Provider
| |
Deployment
Ranking List
Cloud A, C 0 Cloud A, B 2 Cloud B, C 3
Deployment | |
iRec
App Provider
| |
Deployment
Ranking List
| |
Deployment
Ranking list with W-PSI-CA Ranking list with PSI-CA iRec
dependency datasets?
dependency datasets?
dependency datasets?
dependency datasets?