SlideShare a Scribd company logo
Rateless Codes and Big Downloads
 Petar Maymounkov and David Mazi` res
                                e
      




              £




                            ©¨

                                 


                                          



                                               


                                                        



                                                                    
      ¡
         ¡




                       ¦§




                                      ¦

                                          

                                               


                                                    


                                                              


                                                                    ¨§
                                                                        
              ¤
                  ¤¥




                                                                            ¤
          ¢




                    –
    NYU Department of Computer Science
Motivation
    Downloading big files in p2p systems (e.g. movies)
 




    Problem truncated downloads
 




     - Transfer time of file           average uptime



                              ¡




                                  ¡
     - Many more nodes with partial downloads than with complete
       file
     - Partial downloads tend to have overlapping information
     - Suboptimal reconciliation protocols waste bandwidth

    Objectives
 




     - Better bandwidth utilization = low overhead when reconciling
     - High file availability (when source nodes leave network)

    Key idea: Rateless codes
 
Rateless codes

            File       blocks




                    
Encoding                         Infinite encoding



                   Lossy channel


                          Received                       blocks


                                      ¢ £¡



                                                 ¥
                                                      
                                             ¤

                                                 ¦
Decoding
            Recovered           blocks w.h.p.
                            
Efficient rateless codes
    Public:
 




     - LT codes [Luby]
     - Online codes [Maymounkov]

                                    Online                          LT
           Encoding time/block




                                             ¢ £¡




                                                                ¥ £¡
                                                                    ¦
                                                                  ¨ ©§
                                          




                                                             
                                                    ¤




                                                                              ¤
              Blocks to decode


                                   ¢ ¡



                                                ¨


                                                        ¨




                                                                         ¨
                                                                 
                                         




                                                            



                                                                        ¡
                                                    ¤




                                                                                  ¤
                 Decoding




                                                                    ¥
                                         ¨




                                                            ¨


                                                                    ¦
                                                                        ¨ §
                                      




                                                             
                                             ¡
                                                    ¤




                                                                ¡




                                                                              ¤
    Proprietary
 




     - Raptor codes [Shokrollahi, Digital Fountain]
Design of on-line codes

             Original message blocks ( )




                                                   £
  OUTER
              Auxiliary blocks (    )




                                   ¡




                                           ¢




                                               £
                                




                                        
                    Composite Message
  INNER

                                                       Check blocks

              Lossy channel
                            Received check blocks




                                                               ¢




                                                                       ¦




                                                                               £
                                                                   ¥
                                                           ¤




                                                                           §
INNER
    ¨




        ©




                 Partially-recovered composite
                 message blocks
OUTER
    ¨




        ©




              Recovered original message
Auxiliary blocks

     Auxiliary blocks




                                                                                             §
                                                                             ¦




                                                                                                  




                                                                                                              




                                                                                                                          




                                                                                                                                          
                                                                                                         ¨




                                                                                                                     ¨




                                                                                                                                     ¨
                                                                                         ¥




                                                                                                         ¥




                                                                                                                 ¤




                                                                                                                                             ¢
                                                                                                                                 £
     ¦




                         ¦




                                                     ¦
                                         ¦
             ¥




                             ¤




                                                             ¢
                                             £




                                                                                             §
                                                                             ¦




                                                                                                  




                                                                                                              




                                                                                                                          




                                                                                                                                          
                                                                                                         ¨




                                                                                                                     ¨




                                                                                                                                     ¨
                                                                                     ¤




                                                                                                         ¥




                                                                                                                             ¢
                                                                                                                 £




                                                                                                                                                 ¡
                                                                                             §
                                                                             ¦




                                                                                                  




                                                                                                              
                                                                                                         ¨
                                                                                                     ¤
                                                                                     £




                                                                                                                 ¡
                                                                                             §
                                                                             ¦




                                                                                                  




                                                                                                              




                                                                                                                          




                                                                                                                                          




                                                                                                                                                          
                                                                                                         ¨




                                                                                                                     ¨




                                                                                                                                     ¨




                                                                                                                                                     ¨
                                                                                 ¢




                                                                                                         ¥




                                                                                                                 ¤




                                                                                                                                             ¢
                                                                                                                                 £




                                                                                                                                                             ¡
                                                                      
                                      




                                                          
          




                      




                                                                         ¡
                                                                 ¢
                 ¥




                                 ¤




                                                 £




    Original message
         blocks

    Each message block is reflected in 3 random
 




    auxiliary blocks
Check blocks




                                                                                  
         




                                              




                                                                                     ¡
                ¥




                                                 ¢




                                                                                                        £
                                                                                            ¢




                                                                                                            ¤




                                                                                                                        ¤
                                                                                                                ¥
                                                                                                    ¥




                                                                                                                    ¥




                                                                                                                            ¢
                                                                                                        £
                                                                                            ¢




                                                                                                            ¤




                                                                                                                        ¤




                                                                                                                                    ¦
                                                                                                                ¥




                                                                                                                            ¥
                                                                                                ¢




                                                                                                                ¤




                                                                                                                                        ¥
                                                                                                                                £
                                                                       ¦
                                                           




                                                                                 ¦
                                 




                                              
     




                     




                                                                           ¥




                                                                                     ¤
                                                              ¡
                                                     ¢
            ¥




                        ¤




                                    £




                                                                                                        £
                                                                                            ¢




                                                                                                            ¤
                                                                                             ¡




                                                                                                                ¡
                    Composite Message

    Each check block generated independently
 




    To generate check block with ID :
 




                                                                                                            §
        - Seed pseudo-random generator with

                                                                                                            ¨
        - Choose                                              from a special distribution
                                        ©


                                                     ¡
                                                     
                                                          
                                             §


                                                          ¤




        - Set                   to XOR of                                            random composite message blocks
                        




                                                                  ©


                                                                            ¡
                            




                                                                                 
                                                                       §


                                                                                 ¤
Decoding algorithm

        




                                                




                                                                                                         




                                                                                                                                              
                            




                                                                                             
               ¥




                                                       £




                                                                                                            £




                                                                                                                                                 £
                                   ¤




                                                                                                ¤
     1.                                                                            2.
                                                                   ¦




                                                                                                                    ¦




                                                                                                                                                         ¦
                                                                                                                            3.
                                                                           ¥




                                                                                                                        ¥




                                                                                                                                                             ¥
                            




                                                




                                                                                             




                                                                                                         




                                                                                                                                      




                                                                                                                                              
        




                                                                                     




                                                                                                                              
                                       ¤




                                                                                                    ¤




                                                                                                                                         ¤
                                                           £




                                                                                                                £




                                                                                                                                                     £
                   ¥




                                                                                        ¥




                                                                                                                                 ¥
                                                                       ¦




     4.                                                                            5.
                                                                               ¥
                                




                                                    




                                                                                             




                                                                                                         
            




                                                                                     
                                           ¤




                                                                                                    ¤
                                                               £




                                                                                                                £
                       ¥




                                                                                        ¥




    Repeat until entire original message recovered:
 




    1. Find a check (auxiliary) block, s.t. all incorporated blocks are
       known, except for one
    2. Solve for it
Main idea
    Every transmitted block ID from source nodes is unique
 




     - Sufficient information to recover the file accumulates quickly in the
       network
     - High file availability

    Exploit large check block ID space
 




     - Observation: Nodes download many blocks from each other before
       aborting connections
     - Transmit data only in the form of check block streams
     - Each stream concisely described by its ID :

                                                                                                      
                                             ¥




                                                             ¤




                                                                                             ¢
                       ¡




                                     ¡




                                                     ¡




                                                                     ¡




                                                                                     ¡




                                                                                                     ¡
                           ¤¥£




                                                                             £




                                                                                                             ¡
                             ¢




                                         ¢




                                                         ¢




                                                                         ¢




                                                                                         ¢




                                                                                                         ¢
                                 ¦



                                         £

                                                 ¦



                                                         £

                                                                 ¦



                                                                         £

                                                                                 ¦



                                                                                         £

                                                                                                 ¦



                                                                                                         £

                                                                                                                 ¦
#
                                                                                                          
                                                                                                               
                                                                                                                       
                                                                                                               
                                                                                                                ¢
                                                                                                               ¡
                                                                                                              
                                                                                                               ¦
                                                                                                        
                                                             !
                                                                         
Download state information




                                                                 
                                                                  ¢
                                                                                   
                                                                 ¡
                                                                                   
                                                                 ¦                              
                             pairs




                                                                                           
                                                                                             ¢
                                                                                        ¡
                                                                                       
                                                                                        ¦
                                               ¡                                    
                                               ©
                                               
                                          ¡¢
                                      ¨¥
                                                   §
                                      ¦
                                          ¤¥
                                      £
                                          ¡¢
                                                                             !                                          

                             Table of
                                   
Downloading from a source node
             Node                                       Source node
                    ¢




                                                                       
                                                         
        ¢




                                   §
                        ¤ ¥£




                                   ¨©

                                        
                                             
                                               ©

                                                   ¤



                                                               
                               ¦




                                                               
        ¡




                                                                    
                                                                    
                                                                        
    Source nodes can generate blocks from any stream
 
Downloading from a partial-knowledge




                                           
                                       Node




                                              ¢   ¡       
               node



                                                                                                                                      
                                                                            £                                                ¢
                                                                                                                
                                                                        ¤                ¤                                      ¡
                                                                        ©                     ©                          ©
                                                                                                                      
                                                                                                                       
                                          ¢
                                                                   ¨©                             ¨©                     ¨©
                                       Node
                                                               §                          §                          §
                                                                                ¦                          ¦                      ¦
                                                                   ¤ ¥£                   ¤ ¥£                                        ¡£
                                              ¢   ¡
Conclusion
    Higher availability
 




     - Only way for a knowledge overlap is, if blocks with same IDs
       earlier came from the same non-source node
     - Unavoidable! Optimal?

    Simple reconciliation
 




     - Message cost = state table size
        # of pairs in table        # of streams within life-cycle of a download
                               




                                   # of truncated downloads within life-cycle
                               




     - Number can be bound

More Related Content

Similar to 2009 rateless codes-and-big-downloads

Apêndice b.planilha.ne10
Apêndice b.planilha.ne10Apêndice b.planilha.ne10
Apêndice b.planilha.ne10
Carly Falcão
 
三角關係
三角關係三角關係
三角關係
HC Wong
 
06 arnaut daniel lo ferme voler
06 arnaut daniel lo ferme voler06 arnaut daniel lo ferme voler
06 arnaut daniel lo ferme voler
alexner
 
How to sell_house_for_top_dollar
How to sell_house_for_top_dollarHow to sell_house_for_top_dollar
How to sell_house_for_top_dollar
Kenny Truong
 
Visual Studio 2008 Ready Day | Visual Studio Team System 2008 で実践する業界プラクティスを用...
Visual Studio 2008 Ready Day | Visual Studio Team System 2008 で実践する業界プラクティスを用...Visual Studio 2008 Ready Day | Visual Studio Team System 2008 で実践する業界プラクティスを用...
Visual Studio 2008 Ready Day | Visual Studio Team System 2008 で実践する業界プラクティスを用...
智治 長沢
 
Js Portfolio 2009
Js Portfolio 2009Js Portfolio 2009
Js Portfolio 2009
Jerry Stenback
 
Intro Allagile Software Dev
Intro Allagile Software DevIntro Allagile Software Dev
Intro Allagile Software Dev
federicobotti
 
Presentacion "Jet Reconstruction" IFAE, Barcelona, 2003, Thursday meetings
Presentacion "Jet Reconstruction" IFAE, Barcelona, 2003, Thursday meetingsPresentacion "Jet Reconstruction" IFAE, Barcelona, 2003, Thursday meetings
Presentacion "Jet Reconstruction" IFAE, Barcelona, 2003, Thursday meetings
CARMEN IGLESIAS
 
Avery Newman Portfolio 2022
Avery Newman Portfolio 2022Avery Newman Portfolio 2022
Avery Newman Portfolio 2022
AveryNewman1
 

Similar to 2009 rateless codes-and-big-downloads (9)

Apêndice b.planilha.ne10
Apêndice b.planilha.ne10Apêndice b.planilha.ne10
Apêndice b.planilha.ne10
 
三角關係
三角關係三角關係
三角關係
 
06 arnaut daniel lo ferme voler
06 arnaut daniel lo ferme voler06 arnaut daniel lo ferme voler
06 arnaut daniel lo ferme voler
 
How to sell_house_for_top_dollar
How to sell_house_for_top_dollarHow to sell_house_for_top_dollar
How to sell_house_for_top_dollar
 
Visual Studio 2008 Ready Day | Visual Studio Team System 2008 で実践する業界プラクティスを用...
Visual Studio 2008 Ready Day | Visual Studio Team System 2008 で実践する業界プラクティスを用...Visual Studio 2008 Ready Day | Visual Studio Team System 2008 で実践する業界プラクティスを用...
Visual Studio 2008 Ready Day | Visual Studio Team System 2008 で実践する業界プラクティスを用...
 
Js Portfolio 2009
Js Portfolio 2009Js Portfolio 2009
Js Portfolio 2009
 
Intro Allagile Software Dev
Intro Allagile Software DevIntro Allagile Software Dev
Intro Allagile Software Dev
 
Presentacion "Jet Reconstruction" IFAE, Barcelona, 2003, Thursday meetings
Presentacion "Jet Reconstruction" IFAE, Barcelona, 2003, Thursday meetingsPresentacion "Jet Reconstruction" IFAE, Barcelona, 2003, Thursday meetings
Presentacion "Jet Reconstruction" IFAE, Barcelona, 2003, Thursday meetings
 
Avery Newman Portfolio 2022
Avery Newman Portfolio 2022Avery Newman Portfolio 2022
Avery Newman Portfolio 2022
 

More from George Ang

Wrapper induction construct wrappers automatically to extract information f...
Wrapper induction   construct wrappers automatically to extract information f...Wrapper induction   construct wrappers automatically to extract information f...
Wrapper induction construct wrappers automatically to extract information f...
George Ang
 
Opinion mining and summarization
Opinion mining and summarizationOpinion mining and summarization
Opinion mining and summarization
George Ang
 
Huffman coding
Huffman codingHuffman coding
Huffman coding
George Ang
 
Do not crawl in the dust 
different ur ls similar text
Do not crawl in the dust 
different ur ls similar textDo not crawl in the dust 
different ur ls similar text
Do not crawl in the dust 
different ur ls similar text
George Ang
 
大规模数据处理的那些事儿
大规模数据处理的那些事儿大规模数据处理的那些事儿
大规模数据处理的那些事儿George Ang
 
腾讯大讲堂02 休闲游戏发展的文化趋势
腾讯大讲堂02 休闲游戏发展的文化趋势腾讯大讲堂02 休闲游戏发展的文化趋势
腾讯大讲堂02 休闲游戏发展的文化趋势George Ang
 
腾讯大讲堂03 qq邮箱成长历程
腾讯大讲堂03 qq邮箱成长历程腾讯大讲堂03 qq邮箱成长历程
腾讯大讲堂03 qq邮箱成长历程George Ang
 
腾讯大讲堂04 im qq
腾讯大讲堂04 im qq腾讯大讲堂04 im qq
腾讯大讲堂04 im qqGeorge Ang
 
腾讯大讲堂05 面向对象应对之道
腾讯大讲堂05 面向对象应对之道腾讯大讲堂05 面向对象应对之道
腾讯大讲堂05 面向对象应对之道George Ang
 
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化George Ang
 
腾讯大讲堂07 qq空间
腾讯大讲堂07 qq空间腾讯大讲堂07 qq空间
腾讯大讲堂07 qq空间George Ang
 
腾讯大讲堂08 可扩展web架构探讨
腾讯大讲堂08 可扩展web架构探讨腾讯大讲堂08 可扩展web架构探讨
腾讯大讲堂08 可扩展web架构探讨George Ang
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
George Ang
 
腾讯大讲堂01 移动qq产品发展历程
腾讯大讲堂01 移动qq产品发展历程腾讯大讲堂01 移动qq产品发展历程
腾讯大讲堂01 移动qq产品发展历程George Ang
 
腾讯大讲堂10 customer engagement
腾讯大讲堂10 customer engagement腾讯大讲堂10 customer engagement
腾讯大讲堂10 customer engagementGeorge Ang
 
腾讯大讲堂11 拍拍ce工作经验分享
腾讯大讲堂11 拍拍ce工作经验分享腾讯大讲堂11 拍拍ce工作经验分享
腾讯大讲堂11 拍拍ce工作经验分享George Ang
 
腾讯大讲堂14 qq直播(qq live) 介绍
腾讯大讲堂14 qq直播(qq live) 介绍腾讯大讲堂14 qq直播(qq live) 介绍
腾讯大讲堂14 qq直播(qq live) 介绍George Ang
 
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍George Ang
 
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍George Ang
 
腾讯大讲堂16 产品经理工作心得分享
腾讯大讲堂16 产品经理工作心得分享腾讯大讲堂16 产品经理工作心得分享
腾讯大讲堂16 产品经理工作心得分享George Ang
 

More from George Ang (20)

Wrapper induction construct wrappers automatically to extract information f...
Wrapper induction   construct wrappers automatically to extract information f...Wrapper induction   construct wrappers automatically to extract information f...
Wrapper induction construct wrappers automatically to extract information f...
 
Opinion mining and summarization
Opinion mining and summarizationOpinion mining and summarization
Opinion mining and summarization
 
Huffman coding
Huffman codingHuffman coding
Huffman coding
 
Do not crawl in the dust 
different ur ls similar text
Do not crawl in the dust 
different ur ls similar textDo not crawl in the dust 
different ur ls similar text
Do not crawl in the dust 
different ur ls similar text
 
大规模数据处理的那些事儿
大规模数据处理的那些事儿大规模数据处理的那些事儿
大规模数据处理的那些事儿
 
腾讯大讲堂02 休闲游戏发展的文化趋势
腾讯大讲堂02 休闲游戏发展的文化趋势腾讯大讲堂02 休闲游戏发展的文化趋势
腾讯大讲堂02 休闲游戏发展的文化趋势
 
腾讯大讲堂03 qq邮箱成长历程
腾讯大讲堂03 qq邮箱成长历程腾讯大讲堂03 qq邮箱成长历程
腾讯大讲堂03 qq邮箱成长历程
 
腾讯大讲堂04 im qq
腾讯大讲堂04 im qq腾讯大讲堂04 im qq
腾讯大讲堂04 im qq
 
腾讯大讲堂05 面向对象应对之道
腾讯大讲堂05 面向对象应对之道腾讯大讲堂05 面向对象应对之道
腾讯大讲堂05 面向对象应对之道
 
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
 
腾讯大讲堂07 qq空间
腾讯大讲堂07 qq空间腾讯大讲堂07 qq空间
腾讯大讲堂07 qq空间
 
腾讯大讲堂08 可扩展web架构探讨
腾讯大讲堂08 可扩展web架构探讨腾讯大讲堂08 可扩展web架构探讨
腾讯大讲堂08 可扩展web架构探讨
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
 
腾讯大讲堂01 移动qq产品发展历程
腾讯大讲堂01 移动qq产品发展历程腾讯大讲堂01 移动qq产品发展历程
腾讯大讲堂01 移动qq产品发展历程
 
腾讯大讲堂10 customer engagement
腾讯大讲堂10 customer engagement腾讯大讲堂10 customer engagement
腾讯大讲堂10 customer engagement
 
腾讯大讲堂11 拍拍ce工作经验分享
腾讯大讲堂11 拍拍ce工作经验分享腾讯大讲堂11 拍拍ce工作经验分享
腾讯大讲堂11 拍拍ce工作经验分享
 
腾讯大讲堂14 qq直播(qq live) 介绍
腾讯大讲堂14 qq直播(qq live) 介绍腾讯大讲堂14 qq直播(qq live) 介绍
腾讯大讲堂14 qq直播(qq live) 介绍
 
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
 
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
 
腾讯大讲堂16 产品经理工作心得分享
腾讯大讲堂16 产品经理工作心得分享腾讯大讲堂16 产品经理工作心得分享
腾讯大讲堂16 产品经理工作心得分享
 

2009 rateless codes-and-big-downloads

  • 1. Rateless Codes and Big Downloads Petar Maymounkov and David Mazi` res e   £ ©¨ ¡ ¡ ¦§ ¦ ¨§ ¤ ¤¥ ¤ ¢ – NYU Department of Computer Science
  • 2. Motivation Downloading big files in p2p systems (e.g. movies)   Problem truncated downloads   - Transfer time of file average uptime ¡ ¡ - Many more nodes with partial downloads than with complete file - Partial downloads tend to have overlapping information - Suboptimal reconciliation protocols waste bandwidth Objectives   - Better bandwidth utilization = low overhead when reconciling - High file availability (when source nodes leave network) Key idea: Rateless codes  
  • 3. Rateless codes File blocks   Encoding Infinite encoding Lossy channel Received blocks ¢ £¡ ¥   ¤ ¦ Decoding Recovered blocks w.h.p.  
  • 4. Efficient rateless codes Public:   - LT codes [Luby] - Online codes [Maymounkov] Online LT Encoding time/block ¢ £¡ ¥ £¡ ¦ ¨ ©§     ¤ ¤ Blocks to decode ¢ ¡ ¨ ¨ ¨   ¡ ¤ ¤ Decoding ¥ ¨ ¨ ¦ ¨ §     ¡ ¤ ¡ ¤ Proprietary   - Raptor codes [Shokrollahi, Digital Fountain]
  • 5. Design of on-line codes Original message blocks ( ) £ OUTER Auxiliary blocks ( ) ¡ ¢ £     Composite Message INNER Check blocks Lossy channel Received check blocks ¢ ¦ £ ¥ ¤ § INNER ¨ © Partially-recovered composite message blocks OUTER ¨ © Recovered original message
  • 6. Auxiliary blocks Auxiliary blocks § ¦         ¨ ¨ ¨ ¥ ¥ ¤ ¢ £ ¦ ¦ ¦ ¦ ¥ ¤ ¢ £ § ¦         ¨ ¨ ¨ ¤ ¥ ¢ £ ¡ § ¦     ¨ ¤ £ ¡ § ¦           ¨ ¨ ¨ ¨ ¢ ¥ ¤ ¢ £ ¡           ¡ ¢ ¥ ¤ £ Original message blocks Each message block is reflected in 3 random   auxiliary blocks
  • 7. Check blocks       ¡ ¥ ¢ £ ¢ ¤ ¤ ¥ ¥ ¥ ¢ £ ¢ ¤ ¤ ¦ ¥ ¥ ¢ ¤ ¥ £ ¦   ¦         ¥ ¤ ¡ ¢ ¥ ¤ £ £ ¢ ¤ ¡ ¡ Composite Message Each check block generated independently   To generate check block with ID :   § - Seed pseudo-random generator with ¨ - Choose from a special distribution © ¡ § ¤ - Set to XOR of random composite message blocks © ¡ § ¤
  • 8. Decoding algorithm             ¥ £ £ £ ¤ ¤ 1. 2. ¦ ¦ ¦ 3. ¥ ¥ ¥                   ¤ ¤ ¤ £ £ £ ¥ ¥ ¥ ¦ 4. 5. ¥             ¤ ¤ £ £ ¥ ¥ Repeat until entire original message recovered:   1. Find a check (auxiliary) block, s.t. all incorporated blocks are known, except for one 2. Solve for it
  • 9. Main idea Every transmitted block ID from source nodes is unique   - Sufficient information to recover the file accumulates quickly in the network - High file availability Exploit large check block ID space   - Observation: Nodes download many blocks from each other before aborting connections - Transmit data only in the form of check block streams - Each stream concisely described by its ID :   ¥ ¤ ¢ ¡ ¡ ¡ ¡ ¡ ¡ ¤¥£ £ ¡ ¢ ¢ ¢ ¢ ¢ ¢ ¦ £ ¦ £ ¦ £ ¦ £ ¦ £ ¦
  • 10. # ¢ ¡ ¦ ! Download state information ¢ ¡ ¦ pairs ¢ ¡ ¦ ¡ © ¡¢ ¨¥ § ¦ ¤¥ £ ¡¢   ! Table of  
  • 11. Downloading from a source node Node Source node ¢ ¢ § ¤ ¥£ ¨© © ¤ ¦ ¡       Source nodes can generate blocks from any stream  
  • 12. Downloading from a partial-knowledge   Node ¢ ¡   node £ ¢ ¤ ¤ ¡ © © © ¢ ¨© ¨© ¨© Node § § § ¦ ¦ ¦ ¤ ¥£ ¤ ¥£ ¡£ ¢ ¡
  • 13. Conclusion Higher availability   - Only way for a knowledge overlap is, if blocks with same IDs earlier came from the same non-source node - Unavoidable! Optimal? Simple reconciliation   - Message cost = state table size # of pairs in table # of streams within life-cycle of a download   # of truncated downloads within life-cycle   - Number can be bound