Надлишковий код (англ. Erasure code) — в теорії кодування завадостійкий код, здатний відновити цілі пакети даних у разі їх втрати. Такий код дозволяє боротися з витоками даних під час передачі каналами зв'язку або роботі з пам'яттю. Зазвичай він використовується, коли точна позиція втрачених даних відома апріорі.
Принцип роботи
Надлишковий код перетворює повідомлення з символів у довше повідомлення (кодове слово) з символів так, що вихідне повідомлення може бути відновлено за будь-якими символами. Такий код називається кодом, вираз — кодовою часткою, вираз — ефективністю прийому.
Надлишковий код зазвичай використовується на верхніх рівнях стека протоколів каналів передачі та зберігання інформації.
Оптимальний надлишковий код
Оптимальний надлишковий код відрізняється тим, що будь-яких з символів кодового слова достатньо для відновлення вихідного повідомлення, тобто вони мають оптимальну ефективність прийому.
Перевірка парності
Розглянемо випадок, коли . За допомогою набору з значень обчислюється контрольна сума та додається до вихідних значеннь:
- .
Тепер у набір з значень включено контрольну суму. У разі втрати одного із значень , його можна буде з легкістю відновити за допомогою підсумовування:
- .
Більш складні комбінації шуканих і отримуваних значень є [en].
Лінійний код
Важливим підкласом надлишкового коду є лінійний код. Його назва пов'язана з тим, що він може бути проаналізований за допомогою лінійної алгебри. Нехай — вихідні дані, — матриця розміру тоді закодовані дані — коди можуть бути представлені як . Припустимо, що приймач отримав компонент вектора , тоді вихідні дані можуть бути відновлені за допомогою рівнянь, пов'язаних із відомими компонентами вектора . Нехай матриця розміру відповідає цій системі рівнянь. Відновлення можливе, якщо всі ці рівняння лінійно незалежні і в загальному випадку це означає, що будь-яка матриця розміру оборотна. Матриця називається генеруючою матрицею коду, тому що будь-який допустимий може бути отриманий як лінійна комбінація стовпців матриці . Оскільки її ранг дорівнює , то будь-яка підмножина з закодованих елементів має містити інформацію про всі вихідних даних. Для отримання вихідних даних необхідно вирішити лінійну систему: , де — підмножина з елементів вектора , доступних на приймачі.
Поліноміальна передискретизація
Приклад: Несправна електронна пошта (англ. Faulty e-mail)
У випадку, коли надлишкові символи можуть бути створені як проміжні точки на відрізку, що з'єднує два вихідні символи. Це показано на простому прикладі, який називається несправною електронною поштою:
Аліса хоче надіслати свій телефонний номер (555629) Бобу, використовуючи несправну електронну пошту. Цей вид пошти працює так само, як звичайна електронна пошта, за таким винятком:
- Близько половини всіх повідомлень губляться.
- Повідомлення довші за 5 символів заборонені.
- Це дуже дорого.
Замість того, щоб запитати у Боба підтвердження повідомлення, яке вона надіслала, Аліса вигадує таку схему:
- Вона розбиває свій телефонний номер на дві частини і надсилає 2 повідомлення Бобу — «A = 555» і «B = 629»
- Вона будує лінійну функцію , у цьому прикладі . Таким чином і .
- Вона вважає значення і , а потім відправляє три надлишкові повідомлення: «C=703», «D=777» і «E=851».
Боб знає, що вираз для наступне , де і — дві частини телефонного номера. Тепер припустимо, що Боб отримує «D = 777» і «E = 851».
Боб може відновити телефонний номер Аліси за допомогою і , використовуючи значення і , які він отримав. Більш того, він може це зробити, використовуючи два будь-які отримані повідомлення. Отже, у цьому прикладі кодова частка дорівнює 40 %. Зауважимо, що Аліса не може закодувати свій номер телефону лише в одному повідомленні такої пошти, оскільки він складається з 6 символів, а максимальна довжина одного повідомлення — 5 символів. Якби вона відправляла свій номер телефону частинами, запитуючи підтвердження кожної частини від Боба, то було б відправлено мінімум 4 повідомлення (два від Аліси і два підтвердження від Боба).
Загальний випадок
Наведена вище лінійна конструкція може бути узагальнена до поліноміальної інтерполяції. У такому разі крапки тепер обчислюються над кінцевим полем , де — число біт у символі. Відправник нумерує символи даних від до і посилає їх. Потім він будує, наприклад, інтерполяційний многочлен Лагранжа степеня , так що дорівнює -ому символу даних. Потім він відправляє . За допомогою поліноміальної інтерполяції одержувач зможе відновити втрачені дані у разі, якщо він успішно прийняв символів.
Реалізація у реальному світі
Цей процес реалізований у Коді Ріда — Соломона з кодовими словами, сконструйованими над кінцевим полем при використанні визначника Вандермонда.
Майже оптимальний надлишковий код
Майже оптимальний надлишковий код вимагає символів, щоб відновити повідомлення (де ). Величина може бути зменшена за рахунок додаткового часу роботи процесора. При використанні таких кодів необхідно вирішити, що краще: складність обчислень або можливість корекції повідомлень. У 2004 році існував тільки один майже оптимальний надлишковий код з лінійним часом кодування та декодування — [en].
Застосування
Надлишкові коди застосовуються в:
- [en] (наприклад, у групі з надійного мультимовлення IETF)
- 3GPP (MBMS та eMBMS ([en])
- однорангові мережі, наприклад, для вирішення проблеми передачі останнього блоку даних
- Розподільні сховища.
Приклади
Тут наведено деякі приклади різних кодів.
- Майже оптимальні надлишкові коди
- Оптимальні надлишкові коди
Примітки
- Шинкаренко К.В., Кориков A.M. Помехоустойчивое кодирование мультимедиа данных в компьютерных сетях // Известия Томского политехнического университета [Известия ТПУ] : журнал. — 2008. — Т. 313, № 5, Число 29 (сентябрь). — С. 37—41. — ISSN 1684-8519. з джерела 31 січня 2022. Процитовано 31 січня 2022.
- Шинкаренко Константин Всеволодович, Кориков Анатолий Михайлович. Исследование эффективности помехоустойчивых кодов Лаби // Доклады Томского государственного университета систем управления и радиоэлектроники : журнал. — 2009. — 16 июня. — С. 185-192. з джерела 11 грудня 2019. Процитовано 31 січня 2022.
- Katina Kralevska. Applied Erasure Coding in Networks and Distributed Storage // ResearchGate : thesis for the degree of Philosophiae Doctor. — 2018. — Март. — P. 7. з джерела 31 січня 2022. Процитовано 31 січня 2022.
- J.S. Plank ; A.L. Buchsbaum ; R.L. Collins ; M.G. Thomason. Small parity-check erasure codes - exploration and observations // 2005 International Conference on Dependable Systems and Networks (DSN'05) : conference. — 2005. — . — Июль. — P. 2. — ISSN 1530-0889. з джерела 31 січня 2022. Процитовано 31 січня 2022.
- Dave K. Kythe, Prem K. Kythe. Algebraic and Stochastic Coding Theory. — 1-е изд. — CRC Press, 2012. — С. 377—378. — .
- Alexandros G. Dimakis, P. Brighten Godfrey, Martin J. Wainwright and Kannan Ramchandran. Network Coding for Distributed Storage Systems // IEEE Transactions on Information Theory : journal. — 2007. — Vol. 56, no. 9, (Август). — P. 4539—4551. — ISSN 0018-9448. — DOI: . з джерела 31 січня 2022. Процитовано 31 січня 2022.
- N. Alon ; J. Edmonds ; M. Luby. Linear time erasure codes with nearly optimal recovery // Proceedings of IEEE 36th Annual Foundations of Computer Science : symposium. — 1995. — . — Октябрь. — P. 1. — ISSN 0272-5428. — DOI: . з джерела 31 січня 2022. Процитовано 31 січня 2022.
- Petar Maymounkov, David Mazi`eres. Rateless Codes And Big Downloads // 2nd International Workshop on Peer-to-Peer Systems : conference. — 2004. — Vol. 2735 (Август). — P. 2. — DOI: . з джерела 31 січня 2022. Процитовано 31 січня 2022.
- Luigi Rizzo. Effective Erasure Codes for Reliable Computer Communication Protocols // ACM SIGCOMM Computer Communication Review : newsletter. — 1997. — Vol. 27, no. 2 (Апрель). — P. 24—36. — DOI: . з джерела 13 березня 2022. Процитовано 31 січня 2022.
- Hamid Jafarkhani, Mahdi Hajiaghayi (22.10.2015). (PDF). COST-EFFICIENT REPAIR FOR STORAGE SYSTEMS USING PROGRESSIVE ENGAGEMENT. The Regents of the University of California,Oakland,CA (US). с. 1. Архів оригіналу (PDF) за 4 травня 2022. Процитовано 31 січня 2022.
- Dave K.Kythe, Prem K. Kythe. Algebraic and Stochastic Coding Theory. — 1-е изд. — CRC Press,, 2012. — С. 380—381. — .
Література
- Dave K. Kythe, Prem K. Kythe. Algebraic and Stochastic Coding Theory. — 1-е изд. — CRC Press, 2012. — С. 375—395. — .
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Nadlishkovij kod angl Erasure code v teoriyi koduvannya zavadostijkij kod zdatnij vidnoviti cili paketi danih u razi yih vtrati Takij kod dozvolyaye borotisya z vitokami danih pid chas peredachi kanalami zv yazku abo roboti z pam yattyu Zazvichaj vin vikoristovuyetsya koli tochna poziciya vtrachenih danih vidoma apriori Grafichne predstavlennya procesiv koduvannya ta dekoduvannyaPrincip robotiNadlishkovij kod peretvoryuye povidomlennya z k displaystyle k simvoliv u dovshe povidomlennya kodove slovo z n displaystyle n simvoliv tak sho vihidne povidomlennya mozhe buti vidnovleno za k displaystyle k bud yakimi simvolami Takij kod nazivayetsya n k displaystyle n k kodom viraz r k n displaystyle r k n kodovoyu chastkoyu viraz k k displaystyle k k efektivnistyu prijomu Nadlishkovij kod zazvichaj vikoristovuyetsya na verhnih rivnyah steka protokoliv kanaliv peredachi ta zberigannya informaciyi Optimalnij nadlishkovij kodOptimalnij nadlishkovij kod vidriznyayetsya tim sho bud yakih k displaystyle k z n displaystyle n simvoliv kodovogo slova dostatno dlya vidnovlennya vihidnogo povidomlennya tobto voni mayut optimalnu efektivnist prijomu Perevirka parnosti Rozglyanemo vipadok koli n k 1 displaystyle n k 1 Za dopomogoyu naboru z k displaystyle k znachen v i 1 i k displaystyle v i 1 leq i leq k obchislyuyetsya kontrolna suma ta dodayetsya do k displaystyle k vihidnih znachenn v k 1 i 1 k v i displaystyle v k 1 sum i 1 k v i Teper u nabir v i 1 i k 1 displaystyle v i 1 leq i leq k 1 z k 1 displaystyle k 1 znachen vklyucheno kontrolnu sumu U razi vtrati odnogo iz znachen v e displaystyle v e jogo mozhna bude z legkistyu vidnoviti za dopomogoyu pidsumovuvannya v e i 1 i e k 1 v i displaystyle v e sum i 1 i neq e k 1 v i Bilsh skladni kombinaciyi shukanih i otrimuvanih znachen ye en Linijnij kod Vazhlivim pidklasom nadlishkovogo kodu ye linijnij kod Jogo nazva pov yazana z tim sho vin mozhe buti proanalizovanij za dopomogoyu linijnoyi algebri Nehaj x x 0 x k 1 displaystyle x x 0 dots x k 1 vihidni dani G displaystyle G matricya rozmiru n k displaystyle n times k todi zakodovani dani n k displaystyle n k kodi mozhut buti predstavleni yak y G x displaystyle vec y G vec x Pripustimo sho prijmach otrimav k displaystyle k komponent vektora y displaystyle vec y todi vihidni dani mozhut buti vidnovleni za dopomogoyu k displaystyle k rivnyan pov yazanih iz vidomimi komponentami vektora y displaystyle vec y Nehaj matricya G displaystyle G rozmiru k k displaystyle k times k vidpovidaye cij sistemi rivnyan Vidnovlennya mozhlive yaksho vsi ci rivnyannya linijno nezalezhni i v zagalnomu vipadku ce oznachaye sho bud yaka matricya rozmiru k k displaystyle k times k oborotna Matricya G displaystyle G nazivayetsya generuyuchoyu matriceyu kodu tomu sho bud yakij dopustimij y displaystyle vec y mozhe buti otrimanij yak linijna kombinaciya stovpciv matrici G displaystyle G Oskilki yiyi rang dorivnyuye k displaystyle k to bud yaka pidmnozhina z k displaystyle k zakodovanih elementiv maye mistiti informaciyu pro vsi k displaystyle k vihidnih danih Dlya otrimannya vihidnih danih neobhidno virishiti linijnu sistemu y G x displaystyle vec y G vec x de y displaystyle vec y pidmnozhina z k displaystyle k elementiv vektora y displaystyle vec y dostupnih na prijmachi Polinomialna perediskretizaciya Priklad Nespravna elektronna poshta angl Faulty e mail U vipadku koli k 2 displaystyle k 2 nadlishkovi simvoli mozhut buti stvoreni yak promizhni tochki na vidrizku sho z yednuye dva vihidni simvoli Ce pokazano na prostomu prikladi yakij nazivayetsya nespravnoyu elektronnoyu poshtoyu Alisa porahuvala znachennya f 1 displaystyle f 1 i f 2 displaystyle f 2 Alisa hoche nadislati svij telefonnij nomer 555629 Bobu vikoristovuyuchi nespravnu elektronnu poshtu Cej vid poshti pracyuye tak samo yak zvichajna elektronna poshta za takim vinyatkom Blizko polovini vsih povidomlen gublyatsya Povidomlennya dovshi za 5 simvoliv zaboroneni Ce duzhe dorogo Zamist togo shob zapitati u Boba pidtverdzhennya povidomlennya yake vona nadislala Alisa vigaduye taku shemu Vona rozbivaye svij telefonnij nomer na dvi chastini a 555 b 629 displaystyle a 555 b 629 i nadsilaye 2 povidomlennya Bobu A 555 i B 629 Vona buduye linijnu funkciyu f i a b a i 1 displaystyle f i a b a i 1 u comu prikladi f i 555 74 i 1 displaystyle f i 555 74 i 1 Takim chinom f 1 555 displaystyle f 1 555 i f 2 629 displaystyle f 2 629 Vona vvazhaye znachennya f 3 703 f 4 777 displaystyle f 3 703 f 4 777 i f 5 851 displaystyle f 5 851 a potim vidpravlyaye tri nadlishkovi povidomlennya C 703 D 777 i E 851 Bob znaye sho viraz dlya f k displaystyle f k nastupne f i a b a i 1 displaystyle f i a b a i 1 de a displaystyle a i b displaystyle b dvi chastini telefonnogo nomera Teper pripustimo sho Bob otrimuye D 777 i E 851 Bob otrimuye dva povidomlennya z f 4 displaystyle f 4 i f 5 displaystyle f 5 Bob mozhe vidnoviti telefonnij nomer Alisi za dopomogoyu a displaystyle a i b displaystyle b vikoristovuyuchi znachennya f 4 displaystyle f 4 i f 5 displaystyle f 5 yaki vin otrimav Bilsh togo vin mozhe ce zrobiti vikoristovuyuchi dva bud yaki otrimani povidomlennya Otzhe u comu prikladi kodova chastka dorivnyuye 40 Zauvazhimo sho Alisa ne mozhe zakoduvati svij nomer telefonu lishe v odnomu povidomlenni takoyi poshti oskilki vin skladayetsya z 6 simvoliv a maksimalna dovzhina odnogo povidomlennya 5 simvoliv Yakbi vona vidpravlyala svij nomer telefonu chastinami zapituyuchi pidtverdzhennya kozhnoyi chastini vid Boba to bulo b vidpravleno minimum 4 povidomlennya dva vid Alisi i dva pidtverdzhennya vid Boba Zagalnij vipadok Navedena vishe linijna konstrukciya mozhe buti uzagalnena do polinomialnoyi interpolyaciyi U takomu razi krapki teper obchislyuyutsya nad kincevim polem F 2 m displaystyle mathbb F 2 m de m displaystyle m chislo bit u simvoli Vidpravnik numeruye simvoli danih vid 0 displaystyle 0 do k 1 displaystyle k 1 i posilaye yih Potim vin buduye napriklad interpolyacijnij mnogochlen Lagranzha p x displaystyle p x stepenya k displaystyle k tak sho p i displaystyle p i dorivnyuye i displaystyle i omu simvolu danih Potim vin vidpravlyaye p k p n 1 displaystyle p k ldots p n 1 Za dopomogoyu polinomialnoyi interpolyaciyi oderzhuvach zmozhe vidnoviti vtracheni dani u razi yaksho vin uspishno prijnyav k displaystyle k simvoliv Realizaciya u realnomu sviti Cej proces realizovanij u Kodi Rida Solomona z kodovimi slovami skonstrujovanimi nad kincevim polem pri vikoristanni viznachnika Vandermonda Majzhe optimalnij nadlishkovij kodMajzhe optimalnij nadlishkovij kod vimagaye 1 e k displaystyle 1 varepsilon k simvoliv shob vidnoviti povidomlennya de e gt 0 displaystyle varepsilon gt 0 Velichina e displaystyle varepsilon mozhe buti zmenshena za rahunok dodatkovogo chasu roboti procesora Pri vikoristanni takih kodiv neobhidno virishiti sho krashe skladnist obchislen abo mozhlivist korekciyi povidomlen U 2004 roci isnuvav tilki odin majzhe optimalnij nadlishkovij kod z linijnim chasom koduvannya ta dekoduvannya en ZastosuvannyaNadlishkovi kodi zastosovuyutsya v en napriklad u grupi z nadijnogo multimovlennya IETF 3GPP MBMS ta eMBMS en odnorangovi merezhi napriklad dlya virishennya problemi peredachi ostannogo bloku danih Rozpodilni shovisha PrikladiTut navedeno deyaki prikladi riznih kodiv Majzhe optimalni nadlishkovi kodi Kod iz maloyu shilnistyu perevirok na parnist Optimalni nadlishkovi kodi Bit parnosti Kod Rida SolomonaPrimitkiShinkarenko K V Korikov A M Pomehoustojchivoe kodirovanie multimedia dannyh v kompyuternyh setyah Izvestiya Tomskogo politehnicheskogo universiteta Izvestiya TPU zhurnal 2008 T 313 5 Chislo 29 sentyabr S 37 41 ISSN 1684 8519 z dzherela 31 sichnya 2022 Procitovano 31 sichnya 2022 Shinkarenko Konstantin Vsevolodovich Korikov Anatolij Mihajlovich Issledovanie effektivnosti pomehoustojchivyh kodov Labi Doklady Tomskogo gosudarstvennogo universiteta sistem upravleniya i radioelektroniki zhurnal 2009 16 iyunya S 185 192 z dzherela 11 grudnya 2019 Procitovano 31 sichnya 2022 Katina Kralevska Applied Erasure Coding in Networks and Distributed Storage ResearchGate thesis for the degree of Philosophiae Doctor 2018 Mart P 7 z dzherela 31 sichnya 2022 Procitovano 31 sichnya 2022 J S Plank A L Buchsbaum R L Collins M G Thomason Small parity check erasure codes exploration and observations 2005 International Conference on Dependable Systems and Networks DSN 05 conference 2005 Iyul P 2 ISSN 1530 0889 z dzherela 31 sichnya 2022 Procitovano 31 sichnya 2022 Dave K Kythe Prem K Kythe Algebraic and Stochastic Coding Theory 1 e izd CRC Press 2012 S 377 378 ISBN 978 1439881811 Alexandros G Dimakis P Brighten Godfrey Martin J Wainwright and Kannan Ramchandran Network Coding for Distributed Storage Systems IEEE Transactions on Information Theory journal 2007 Vol 56 no 9 Avgust P 4539 4551 ISSN 0018 9448 DOI 10 1109 TIT 2010 2054295 z dzherela 31 sichnya 2022 Procitovano 31 sichnya 2022 N Alon J Edmonds M Luby Linear time erasure codes with nearly optimal recovery Proceedings of IEEE 36th Annual Foundations of Computer Science symposium 1995 Oktyabr P 1 ISSN 0272 5428 DOI 10 1109 SFCS 1995 492581 z dzherela 31 sichnya 2022 Procitovano 31 sichnya 2022 Petar Maymounkov David Mazi eres Rateless Codes And Big Downloads 2nd International Workshop on Peer to Peer Systems conference 2004 Vol 2735 Avgust P 2 DOI 10 1007 978 3 540 45172 3 23 z dzherela 31 sichnya 2022 Procitovano 31 sichnya 2022 Luigi Rizzo Effective Erasure Codes for Reliable Computer Communication Protocols ACM SIGCOMM Computer Communication Review newsletter 1997 Vol 27 no 2 Aprel P 24 36 DOI 10 1145 263876 263881 z dzherela 13 bereznya 2022 Procitovano 31 sichnya 2022 Hamid Jafarkhani Mahdi Hajiaghayi 22 10 2015 PDF COST EFFICIENT REPAIR FOR STORAGE SYSTEMS USING PROGRESSIVE ENGAGEMENT The Regents of the University of California Oakland CA US s 1 Arhiv originalu PDF za 4 travnya 2022 Procitovano 31 sichnya 2022 Dave K Kythe Prem K Kythe Algebraic and Stochastic Coding Theory 1 e izd CRC Press 2012 S 380 381 ISBN 978 1439881811 LiteraturaDave K Kythe Prem K Kythe Algebraic and Stochastic Coding Theory 1 e izd CRC Press 2012 S 375 395 ISBN 978 1439881811