Polytope Codes in Networks, Storage, and Multiple Descriptions - - PowerPoint PPT Presentation

polytope codes in networks storage and multiple
SMART_READER_LITE
LIVE PREVIEW

Polytope Codes in Networks, Storage, and Multiple Descriptions - - PowerPoint PPT Presentation

Polytope Codes in Networks, Storage, and Multiple Descriptions Oliver Kosut Joint work with Lang Tong, David Tse, Aaron Wagner, and Xiaoqing Fan April 1, 2015 Networks with Active Adversaries Distributed system in the presence of active


slide-1
SLIDE 1

Polytope Codes in Networks, Storage, and Multiple Descriptions

Oliver Kosut

Joint work with Lang Tong, David Tse, Aaron Wagner, and Xiaoqing Fan

April 1, 2015

slide-2
SLIDE 2

Networks with Active Adversaries

Distributed system in the presence of active omniscient adversaries

slide-3
SLIDE 3

Networks with Active Adversaries

Distributed system in the presence of active omniscient adversaries Applications: Man-in-the-middle attacks Wireless jamming attacks Distributed storage systems

slide-4
SLIDE 4

Polytope Codes

A new-ish coding paradigm using: linear constructions on the integers covariance matrices as checksums

slide-5
SLIDE 5

Polytope Codes

A new-ish coding paradigm using: linear constructions on the integers covariance matrices as checksums Advantages: Partial decoding Distributed detection and correction of adversarial errors

slide-6
SLIDE 6

Classical Coding Formulation

Xi in finite field F Adversary may replace any z packets (min. distance d ≥ 2z + 1) Decoder must output all packets without error Fundamental limit: Singleton bound k ≤ n − 2z where k is dimension of message — achievable by MDS codes

slide-7
SLIDE 7

Classical setting Must decode all information Network setting Partial information may do — any partial information

slide-8
SLIDE 8

Classical setting Must decode all information Network setting Partial information may do — any partial information

slide-9
SLIDE 9

Motivating Toy Problem

M ∈ {1,2,. . . ,2qR} Xi ∈ {1,2,. . . ,2q} M must be recoverable from any two of X1,X2,X3 Adversary may replace one of the three packets Decoder must output one packet without error

slide-10
SLIDE 10

Finite Field Constructions

(3,1) MDS code: Let M ∈ F Achieves R = 1

slide-11
SLIDE 11

Finite Field Constructions

(3,2) MDS code: Let M = (x,y), x,y ∈ F

slide-12
SLIDE 12

Finite Field Constructions

(3,2) MDS code: Let M = (x,y), x,y ∈ F If adversary alters one of the packets, decoder cannot tell which

slide-13
SLIDE 13

Finite Field Constructions

(3,2) MDS code: Let M = (x,y), x,y ∈ F If adversary alters one of the packets, decoder cannot tell which Finite field code cannot do better than R = 1

slide-14
SLIDE 14

What would it take to achieve R = 2?

slide-15
SLIDE 15

What would it take to achieve R = 2?

H (Xi,X j) = H (M) = 2q

slide-16
SLIDE 16

What would it take to achieve R = 2?

H (Xi,X j) = H (M) = 2q Thus I (Xi;X j) = 0

slide-17
SLIDE 17

What would it take to achieve R = 2?

H (Xi,X j) = H (M) = 2q Thus I (Xi;X j) = 0 But if the packets are pairwise independent, then adversary may replace X3 with an independent copy, yielding distribution p(x1) p(x2) p(x3) Decoder cannot tell which is correct

slide-18
SLIDE 18

What would it take to achieve R = 2?

H (Xi,X j) = H (M) =

  • 2q (2 − ϵ)q

Thus I (Xi;X j) = ✁ 0 ϵq But if the packets are pairwise independent, then adversary may replace X3 with an independent copy, yielding distribution p(x1) p(x2) p(x3) Decoder cannot tell which is correct

slide-19
SLIDE 19

A Polytope Code Construction

Let M = (x N,yN ) where x N,yN ∈ {1,2,3,. . . ,2k}N

slide-20
SLIDE 20

A Polytope Code Construction

Let M = (x N,yN ) where x N,yN ∈ {1,2,3,. . . ,2k}N Let zN = x N + yN [x N,yN,zN sit in a polytope]

slide-21
SLIDE 21

A Polytope Code Construction

Let M = (x N,yN ) where x N,yN ∈ {1,2,3,. . . ,2k}N Let zN = x N + yN [x N,yN,zN sit in a polytope] Construct the covariance Σ⋆ =       x N yN zN             x N yN zN      

T

=       x N,x N x N,yN x N,zN x N,yN yN,yN yN,zN x N,zN yN,zN zN,zN      

slide-22
SLIDE 22

A Polytope Code Construction

Let M = (x N,yN ) where x N,yN ∈ {1,2,3,. . . ,2k}N Let zN = x N + yN [x N,yN,zN sit in a polytope] Construct the covariance Σ⋆ =       x N yN zN             x N yN zN      

T

=       x N,x N x N,yN x N,zN x N,yN yN,yN yN,zN x N,zN yN,zN zN,zN       Σ⋆ takes infinitesimal rate compared to x N for large N

slide-23
SLIDE 23

A Polytope Code Construction

Let M = (x N,yN ) where x N,yN ∈ {1,2,3,. . . ,2k}N Let zN = x N + yN [x N,yN,zN sit in a polytope] Construct the covariance Σ⋆ =       x N yN zN             x N yN zN      

T

=       x N,x N x N,yN x N,zN x N,yN yN,yN yN,zN x N,zN yN,zN zN,zN       Σ⋆ takes infinitesimal rate compared to x N for large N

slide-24
SLIDE 24

MDS structure

slide-25
SLIDE 25

MDS structure

x N,yN ∈ {1,2,. . . ,2k}N: Number of bits = kN

slide-26
SLIDE 26

MDS structure

x N,yN ∈ {1,2,. . . ,2k}N: Number of bits = kN zN ∈ {1,2,. . . ,2k+1}N: Number of bits = (k + 1)N ≈ kN for large k

slide-27
SLIDE 27

MDS structure

x N,yN ∈ {1,2,. . . ,2k}N: Number of bits = kN zN ∈ {1,2,. . . ,2k+1}N: Number of bits = (k + 1)N ≈ kN for large k Thus x N,yN,zN are nearly pairwise independent

slide-28
SLIDE 28

MDS structure

x N,yN ∈ {1,2,. . . ,2k}N: Number of bits = kN zN ∈ {1,2,. . . ,2k+1}N: Number of bits = (k + 1)N ≈ kN for large k Thus x N,yN,zN are nearly pairwise independent (x N,yN,zN ) form a (3,2) MDS polytope code

slide-29
SLIDE 29

Decoding

slide-30
SLIDE 30

Decoding

Recover the should-be covariance Σ⋆ using majority rule

slide-31
SLIDE 31

Decoding

Recover the should-be covariance Σ⋆ using majority rule Given x N,yN,zN form the actually-is covariance Σ =       x N,x N x N,yN x N,zN x N,yN yN,yN yN,zN x N,zN yN,zN zN,zN      

slide-32
SLIDE 32

Decoding

Recover the should-be covariance Σ⋆ using majority rule Given x N,yN,zN form the actually-is covariance Σ =       x N,x N x N,yN x N,zN x N,yN yN,yN yN,zN x N,zN yN,zN zN,zN       By comparing Σ⋆ with Σ, the decoder can always find a trustworthy packet

slide-33
SLIDE 33

Decoding

Suppose Σ Σ⋆:

slide-34
SLIDE 34

Decoding

Suppose Σ Σ⋆: If Σxx Σ⋆

xx, then x N is corrupted — yN and zN are safe

slide-35
SLIDE 35

Decoding

Suppose Σ Σ⋆: If Σxx Σ⋆

xx, then x N is corrupted — yN and zN are safe

If Σxy Σ⋆

xy, then either x N or yN is corrupted — zN is safe

slide-36
SLIDE 36

Decoding

Suppose Σ Σ⋆: If Σxx Σ⋆

xx, then x N is corrupted — yN and zN are safe

If Σxy Σ⋆

xy, then either x N or yN is corrupted — zN is safe

Can always identify one safe packet

slide-37
SLIDE 37

Decoding

Suppose Σ = Σ⋆:

slide-38
SLIDE 38

Decoding

Suppose Σ = Σ⋆: All quadratic functions of x N,yN,zN must be uncorrupted

slide-39
SLIDE 39

Decoding

Suppose Σ = Σ⋆: All quadratic functions of x N,yN,zN must be uncorrupted

  • x N + yN − zN
  • 2 = 0

=⇒ x N + yN − zN = 0

slide-40
SLIDE 40

Decoding

Suppose Σ = Σ⋆: All quadratic functions of x N,yN,zN must be uncorrupted

  • x N + yN − zN
  • 2 = 0

=⇒ x N + yN − zN = 0 Therefore all packets are trustworthy

slide-41
SLIDE 41

Outline Polytope codes in general Polytope codes in network coding Polytope codes in distributed storage systems Polytope codes in multiple descriptions

slide-42
SLIDE 42

Outline Polytope codes in general Polytope codes in network coding Polytope codes in distributed storage systems Polytope codes in multiple descriptions

slide-43
SLIDE 43

Generic polytope code constructions

Message m ∈ {1,2,. . . ,2k}R × N

slide-44
SLIDE 44

Generic polytope code constructions

Message m ∈ {1,2,. . . ,2k}R × N Calculate covariance Σ⋆ = mmT — included in all packets

slide-45
SLIDE 45

Generic polytope code constructions

Message m ∈ {1,2,. . . ,2k}R × N Calculate covariance Σ⋆ = mmT — included in all packets Packet data is in the form x N = aTm for integer vector a ∈ ZR

slide-46
SLIDE 46

Generic polytope code constructions

Message m ∈ {1,2,. . . ,2k}R × N Calculate covariance Σ⋆ = mmT — included in all packets Packet data is in the form x N = aTm for integer vector a ∈ ZR xi =

  • j

ajmji ≤

  • j

aj2k ≤ 2k+∆ for sufficiently large k — requires (k + ∆)N bits to store

slide-47
SLIDE 47

Generic polytope code constructions

Message m ∈ {1,2,. . . ,2k}R × N Calculate covariance Σ⋆ = mmT — included in all packets Packet data is in the form x N = aTm for integer vector a ∈ ZR xi =

  • j

ajmji ≤

  • j

aj2k ≤ 2k+∆ for sufficiently large k — requires (k + ∆)N bits to store These constructions can mimic most finite field linear codes

slide-48
SLIDE 48

Main property

Given some subset of packets yN =           x N

1

x N

2

. . . x N

p

          = Am

slide-49
SLIDE 49

Main property

Given some subset of packets yN =           x N

1

x N

2

. . . x N

p

          = Am Form Σy = (yN ) (yN )T

slide-50
SLIDE 50

Main property

Given some subset of packets yN =           x N

1

x N

2

. . . x N

p

          = Am Form Σy = (yN ) (yN )T Without corruption, Σy = AΣ⋆AT

slide-51
SLIDE 51

Main property

Given some subset of packets yN =           x N

1

x N

2

. . . x N

p

          = Am Form Σy = (yN ) (yN )T Without corruption, Σy = AΣ⋆AT If Σ AT Σ⋆A, then corrupted packets may be localized

slide-52
SLIDE 52

Main property

Given some subset of packets yN =           x N

1

x N

2

. . . x N

p

          = Am Form Σy = (yN ) (yN )T Without corruption, Σy = AΣ⋆AT If Σ AT Σ⋆A, then corrupted packets may be localized If Σ = AT Σ⋆A, then all quadratic functions are uncorrupted: For C satisfying CA = 0, CyN 2 = 0, so CyN = 0, i.e. all linear constraints match

slide-53
SLIDE 53

Outline Polytope codes in general Polytope codes in network coding Polytope codes in distributed storage systems Polytope codes in multiple descriptions

slide-54
SLIDE 54

Network Error Correction

Directed graph of rate-limited noise-free channels Omniscient adversary can control some subset of the network Possible adversary control models:

Any z edges Any z nodes Any z edges/nodes from a specific area

slide-55
SLIDE 55

Network Error Correction

Directed graph of rate-limited noise-free channels Omniscient adversary can control some subset of the network Possible adversary control models:

Any z edges Any z nodes Any z edges/nodes from a specific area

slide-56
SLIDE 56

Theorem (Cai-Yeung (2006))

For a single multicast, and an adversary that controls any z unit-capacity edges: C = min-cut − 2z

slide-57
SLIDE 57

Theorem (Cai-Yeung (2006))

For a single multicast, and an adversary that controls any z unit-capacity edges: C = min-cut − 2z Converse via network version of the Singleton bound Achievability via network version of (linear) MDS codes

slide-58
SLIDE 58

Theorem (Cai-Yeung (2006))

For a single multicast, and an adversary that controls any z unit-capacity edges: C = min-cut − 2z Converse via network version of the Singleton bound Achievability via network version of (linear) MDS codes Can be viewed as a separation theorem:

Add redundancy Linear Coding Error Correction

Source: Network: Destination:

slide-59
SLIDE 59

Theorem (Cai-Yeung (2006))

For a single multicast, and an adversary that controls any z unit-capacity edges: C = min-cut − 2z Converse via network version of the Singleton bound Achievability via network version of (linear) MDS codes Can be viewed as a separation theorem:

Add redundancy Linear Coding Error Correction

Source: Network: Destination:

Polytope codes allow error detection/correction inside the network

slide-60
SLIDE 60

The Caterpillar Network

1 2 3 4 5 6 S D

Single unicast from S to D All links have unit capacity Adversary may control any one of the red edges Simple upper bound: C ≤ 2

slide-61
SLIDE 61

Polytope Code Achievability

Let message m = (x N,yN ), where x N,yN ∈ {1,. . . ,2k}N

1 2 3 4 5 6 S D

slide-62
SLIDE 62

Polytope Code Achievability

Let message m = (x N,yN ), where x N,yN ∈ {1,. . . ,2k}N zN = x N + yN w N = x N + 2yN Σ⋆ = mmT

1 2 3 4 5 6 S D

slide-63
SLIDE 63

Polytope Code Achievability

Let message m = (x N,yN ), where x N,yN ∈ {1,. . . ,2k}N zN = x N + yN w N = x N + 2yN Σ⋆ = mmT (x N,yN,zN,w N ) form a (4,2) MDS polytope code

1 2 3 4 5 6 S D

slide-64
SLIDE 64

Polytope Code Achievability

Let message m = (x N,yN ), where x N,yN ∈ {1,. . . ,2k}N zN = x N + yN w N = x N + 2yN Σ⋆ = mmT (x N,yN,zN,w N ) form a (4,2) MDS polytope code

1 2 3 4 5 6 S D

slide-65
SLIDE 65

Polytope Code Achievability

Let message m = (x N,yN ), where x N,yN ∈ {1,. . . ,2k}N zN = x N + yN w N = x N + 2yN Σ⋆ = mmT (x N,yN,zN,w N ) form a (4,2) MDS polytope code

1 2 3 4 5 6 S D

At node 5, determine one uncorrupted packet

slide-66
SLIDE 66

Polytope Code Achievability

Let message m = (x N,yN ), where x N,yN ∈ {1,. . . ,2k}N zN = x N + yN w N = x N + 2yN Σ⋆ = mmT (x N,yN,zN,w N ) form a (4,2) MDS polytope code

1 2 3 4 5 6 S D

At node 5, determine one uncorrupted packet At node 6, decode the message and transmit a different uncorrupted packet

slide-67
SLIDE 67

Polytope Code Achievability

Let message m = (x N,yN ), where x N,yN ∈ {1,. . . ,2k}N zN = x N + yN w N = x N + 2yN Σ⋆ = mmT (x N,yN,zN,w N ) form a (4,2) MDS polytope code

1 2 3 4 5 6 S D

At node 5, determine one uncorrupted packet At node 6, decode the message and transmit a different uncorrupted packet No finite field linear code achieves this rate

slide-68
SLIDE 68

Cockroach Network

1 2 3 4 5 S D

One node is controlled by the adversary — controls all outgoing messages

slide-69
SLIDE 69

Cockroach Network

1 2 3 4 5 S D

One node is controlled by the adversary — controls all outgoing messages Let (x N,yN,zN,w N,v N,u N ) be a (6,2) MDS polytope code

slide-70
SLIDE 70

Cockroach Network

1 2 3 4 5 S D

One node is controlled by the adversary — controls all outgoing messages Let (x N,yN,zN,w N,v N,u N ) be a (6,2) MDS polytope code Σ⋆ included in all packets

slide-71
SLIDE 71

Cockroach Network

1 2 3 4 5 S D

One node is controlled by the adversary — controls all outgoing messages Let (x N,yN,zN,w N,v N,u N ) be a (6,2) MDS polytope code Σ⋆ included in all packets Nodes 4 and 5 compare covariance of incoming pair of packets — transmit outcome of comparison

slide-72
SLIDE 72

A Class of Networks Solved by Polytope Codes

Theorem (Kosut-Tong-Tse (2014))

Polytope codes achieve the cut-set bound if Network is planar 1 adversary node No node has more than 2 unit-capacity output edges No node has more outputs than inputs

slide-73
SLIDE 73

A Class of Networks Solved by Polytope Codes

Theorem (Kosut-Tong-Tse (2014))

Polytope codes achieve the cut-set bound if Network is planar 1 adversary node No node has more than 2 unit-capacity output edges No node has more outputs than inputs Examples:

1 2 3 4 5 S D

slide-74
SLIDE 74

Outline Polytope codes in general Polytope codes in network coding Polytope codes in distributed storage systems Polytope codes in multiple descriptions

slide-75
SLIDE 75

Distributed Storage Systems

slide-76
SLIDE 76

Distributed Storage Systems

slide-77
SLIDE 77

Distributed Storage Systems

slide-78
SLIDE 78

Distributed Storage Systems

slide-79
SLIDE 79

Distributed Storage Systems

Single adversarial node may transmit many times

slide-80
SLIDE 80

Distributed Storage Systems

Single adversarial node may transmit many times Naturally suited to the node-based adversary model

slide-81
SLIDE 81

Distributed Storage Systems

Single adversarial node may transmit many times Naturally suited to the node-based adversary model Functional repair rather than exact repair

slide-82
SLIDE 82

Parameters

α: Storage capacity of single node β: Download bandwidth when forming new node n: Number of active storage nodes k: Number of nodes contacted by data collector (DC) to recover file d: Number of nodes contacted to construct new node z: Number of (simultaneous) adversarial nodes

slide-83
SLIDE 83

Existing Bounds

Pawar-El Rouayheb-Ramchandran (2011): Storage capacity is upper bounded by C ≤

k −2z−1

  • i=0

min{(d − 2z − i)β, α} Identical to bound without adversaries where k → k − 2z and d → d − 2z Rashmi et al (2012): The Minimum Storage Regeneration (MSR) and Minimum Bandwidth Regeneration (MBR) points are achievable with exact repair

slide-84
SLIDE 84

Existing Bounds, Ctd.

Parameters: n = 8, k = d = 7, z = 1

. 1 . 1 5 . 2 . 2 . 2 2 . 2 4 . 2 6 . 2 8 . 3 . 3 2 . 3 4 . 3 6 . 3 8

Outer bound MBR point Achievable by Rashmi et al Polytope code achievable point MSR point

slide-85
SLIDE 85

Structure of Polytope Code for DSS

Initial file to store m ∈ {1,2,. . . ,2k}R × N

slide-86
SLIDE 86

Structure of Polytope Code for DSS

Initial file to store m ∈ {1,2,. . . ,2k}R × N Covariance Σ⋆ = mmT

slide-87
SLIDE 87

Structure of Polytope Code for DSS

Initial file to store m ∈ {1,2,. . . ,2k}R × N Covariance Σ⋆ = mmT All packets are of the form (Σ⋆,A,x N ) where initially x N = Am

slide-88
SLIDE 88

Structure of Polytope Code for DSS

Initial file to store m ∈ {1,2,. . . ,2k}R × N Covariance Σ⋆ = mmT All packets are of the form (Σ⋆,A,x N ) where initially x N = Am For storage packet x N ∈ {1,2,. . . ,2k}α × N For transmission packet x N ∈ {1,2,. . . ,2k}β × N

slide-89
SLIDE 89

Messages for new node

Choose linear transformation B ∈ Zβ ×α

slide-90
SLIDE 90

New Node Construction

Given (Σ⋆,Ai,yN

i ) for i = 1,2,. . . ,d

slide-91
SLIDE 91

New Node Construction

Given (Σ⋆,Ai,yN

i ) for i = 1,2,. . . ,d

Recover Σ⋆ using majority rule

slide-92
SLIDE 92

New Node Construction

Given (Σ⋆,Ai,yN

i ) for i = 1,2,. . . ,d

Recover Σ⋆ using majority rule Form A =           A1 A2 . . . Ad           and yN =           yN

1

yN

2

. . . yN

d

         

slide-93
SLIDE 93

New Node Construction

Given (Σ⋆,Ai,yN

i ) for i = 1,2,. . . ,d

Recover Σ⋆ using majority rule Form A =           A1 A2 . . . Ad           and yN =           yN

1

yN

2

. . . yN

d

          Compare AΣ⋆AT to Σy = (yN ) (yN )T

slide-94
SLIDE 94

New Node Construction

Given (Σ⋆,Ai,yN

i ) for i = 1,2,. . . ,d

Recover Σ⋆ using majority rule Form A =           A1 A2 . . . Ad           and yN =           yN

1

yN

2

. . . yN

d

          Compare AΣ⋆AT to Σy = (yN ) (yN )T Form syndrome graph on the vertex set {1,2,. . . ,d} with edge (i,j) if Ai Aj

  • Σ⋆

Ai Aj T = yN

i

yN

j

yN

i

yN

j

T

slide-95
SLIDE 95

New Node Construction

Given (Σ⋆,Ai,yN

i ) for i = 1,2,. . . ,d

Recover Σ⋆ using majority rule Form A =           A1 A2 . . . Ad           and yN =           yN

1

yN

2

. . . yN

d

          Compare AΣ⋆AT to Σy = (yN ) (yN )T Form syndrome graph on the vertex set {1,2,. . . ,d} with edge (i,j) if Ai Aj

  • Σ⋆

Ai Aj T = yN

i

yN

j

yN

i

yN

j

T Goal: Find trustworthy packets from which to form stored data

slide-96
SLIDE 96

Syndrome Graphs

The honest nodes form a clique of size d − z

slide-97
SLIDE 97

Syndrome Graphs

The honest nodes form a clique of size d − z Example: d = 4 and z = 1:

1 3 1 2 4

slide-98
SLIDE 98

Syndrome Graphs

The honest nodes form a clique of size d − z Example: d = 4 and z = 1:

1 3 1 2 4

Use packets 1 and 2 to form stored data This is the typical case where d − 2z trustworthy packets can be identified

slide-99
SLIDE 99

Syndrome Graphs

The honest nodes form a clique of size d − z Example: d = 4 and z = 1:

1 3 1 2 4

slide-100
SLIDE 100

Syndrome Graphs

The honest nodes form a clique of size d − z Example: d = 4 and z = 1:

1 3 1 2 4

Use all packets to form stored data Linear constraints (because covariances match) mean the adversary data is uncorrupted

slide-101
SLIDE 101

Syndrome Graphs

The honest nodes form a clique of size d − z Example: d = 10 and z = 4 Call honest nodes 1,2,3,4,5,6 and adversary nodes A,B,C,D Three cliques of size 6: 123456 456ABC 234BCD 1 23 4 BC D 56 A

slide-102
SLIDE 102

Syndrome Graphs

The honest nodes form a clique of size d − z Example: d = 10 and z = 4 Call honest nodes 1,2,3,4,5,6 and adversary nodes A,B,C,D Three cliques of size 6: 123456 456ABC 234BCD 1 23 4 BC D 56 A Use packet 4 to form stored data Less than d − 2z trustworthy packets!

slide-103
SLIDE 103

Algorithm to find trustworthy packets

1 Discard all packets not in a clique of size d − z 2 Pick packets i where edge (i,j) is in the syndrome graph for all

remaining packets j

slide-104
SLIDE 104

Algorithm to find trustworthy packets

1 Discard all packets not in a clique of size d − z 2 Pick packets i where edge (i,j) is in the syndrome graph for all

remaining packets j Any chosen adversarial packet must match covariances with all d − z honest nodes

slide-105
SLIDE 105

Algorithm to find trustworthy packets

1 Discard all packets not in a clique of size d − z 2 Pick packets i where edge (i,j) is in the syndrome graph for all

remaining packets j Any chosen adversarial packet must match covariances with all d − z honest nodes If R ≤ (d − z)β, then linear constraints ensure all stored data is uncorrupted

slide-106
SLIDE 106

Algorithm to find trustworthy packets

1 Discard all packets not in a clique of size d − z 2 Pick packets i where edge (i,j) is in the syndrome graph for all

remaining packets j Any chosen adversarial packet must match covariances with all d − z honest nodes If R ≤ (d − z)β, then linear constraints ensure all stored data is uncorrupted This procedure always finds at least d − vz packets where

vz = (⌊ z

2⌋ + 1)(⌈ z 2⌉ + 1)

z 1 2 3 4 5 6 vz 2 4 6 9 12 16 Note vz = 2z only for z ≤ 3

slide-107
SLIDE 107

Resulting Achievability Bound

Theorem (Kosut (2013))

There exists a distributed storage code achieving rate min   

k −vz −1

  • i=0

min{(d − vz − i)β,α}, (d − z)β, (k − z)α   . where vz = (⌊ z

2⌋ + 1)(⌈ z 2⌉ + 1).

slide-108
SLIDE 108

Achievability Plot

Parameters: n = 8, k = d = 7, z = 1

. 1 . 1 5 . 2 . 2 . 2 2 . 2 4 . 2 6 . 2 8 . 3 . 3 2 . 3 4 . 3 6 . 3 8

Outer bound MBR point Achievable by Rashmi et al Polytope code achievable point MSR point

slide-109
SLIDE 109

Outline Polytope codes in general Polytope codes in network coding Polytope codes in distributed storage systems Polytope codes in multiple descriptions

slide-110
SLIDE 110

Adversarial Multiple Descriptions

Problem formulated in Fan-Wagner-Ahmed (2013) Construct a single code that fails gracefully — fewer adversarial packets gives smaller distortion

slide-111
SLIDE 111

Adversarial Multiple Descriptions

Problem formulated in Fan-Wagner-Ahmed (2013) Construct a single code that fails gracefully — fewer adversarial packets gives smaller distortion V n ∈ {0,1}n Ci ∈ {1,2,. . . ,2nR} Adversary controls z packets Distortion: D =

n

  • i=1

d(Xi, ˆ Xi) where d is the erasure distortion

slide-112
SLIDE 112

3-Description Example

R = 1/2 Write V n = (x N,yN ) where x N,yN ∈ {1,2,. . . ,2k}N zN = x N + yN If z = 0, then entire source sequence can be decoded, so D = 0 If z = 1, then one trustworthy packet (half the message) can be identified, so D = 1/2

slide-113
SLIDE 113

3-Description Example

R = 1/2 Write V n = (x N,yN ) where x N,yN ∈ {1,2,. . . ,2k}N zN = x N + yN If z = 0, then entire source sequence can be decoded, so D = 0 If z = 1, then one trustworthy packet (half the message) can be identified, so ✘✘✘

D = 1/2 Problem: zN is not a systematic part of source V n

slide-114
SLIDE 114

3-Description Example

V n = (V n/3

1

,V n/3

2

,V n/3

3

), and write V n/3

i

= (x N

i ,yN i )

slide-115
SLIDE 115

3-Description Example

V n = (V n/3

1

,V n/3

2

,V n/3

3

), and write V n/3

i

= (x N

i ,yN i )

zN

i = x N i + yN i for i = 1,2,3

slide-116
SLIDE 116

3-Description Example

V n = (V n/3

1

,V n/3

2

,V n/3

3

), and write V n/3

i

= (x N

i ,yN i )

zN

i = x N i + yN i for i = 1,2,3

slide-117
SLIDE 117

3-Description Example

V n = (V n/3

1

,V n/3

2

,V n/3

3

), and write V n/3

i

= (x N

i ,yN i )

zN

i = x N i + yN i for i = 1,2,3

Decoder can always identify one trustworthy packet, containing two systematic parts of V n Thus D = 2/3

slide-118
SLIDE 118

Conclusions

Polytope codes operate on the integers and can mimic most finite field codes Covariances are used as checksums, allowing for:

Partial decoding Distributed error detection/correction

Polytope codes outperform finite field codes, but many achievable results have no matching converse — seems to be very hard to find the best polytope code All results for omniscient adversary — weaker adversary models require different techniques