Compressibilité des liens

Les expériences autour de nebule se font aujourd’hui via des échanges en html. Il pourront se faire plus tard via tout protocole d’échange. indépendamment du stockage des liens, il sera utile de les compresser lors de leur transmission pour gagner de la bande passante réseau.

Prenons un exemple.
– Lien 1 :
signature=92fa4b029cded82fe18dd18a052e40152732cd69fcee8524ba5251b4dc3b37290a580f61bfbee54058b9e49374181a84bf20489fdba92f05df8552d1723f406278297e55ccabe11ef7812e1994d4c47157037fa40aa7a0289f07a4eb497cc91717020607622e7482492d5e8e25cb961ec3bb3c5fbcf0240c3f0bf90618785ef5edecc4653262e1ff1d75fb1156edf8dbd3d3339e9b325d7231f860a9420eeba33635831d136ad884f83942951dcd964f2561849f8ddd3046d26ecd36f053c75379495a398547788fd7e72975b44970942b0d4897484b88aa04d5aac7d99dbac2279b7ce29c0e62da6b05c7bb60890562885bf7ed7ef09201ddf643b8684a97b2:sha256
signataire=975571a8a470a6d975662e284f5ef1bd0396c06b31a2207b81bef2e24c5bf0c5
date=20121019201038
action=L
objet source=975571a8a470a6d975662e284f5ef1bd0396c06b31a2207b81bef2e24c5bf0c5
objet destination=970bdb5df1e795929c71503d578b1b6bed601bb65ed7b8e4ae77dd85125d7864
objet meta=93d4a5f3ef1fc5c89df3c986ca74187561666e3341c73ceb57f5a09822e96570
– Lien 2 :
signature=035525a442ed804c7362ce1c79bf4a18e246bd21b862c9de099c79919f828a4f53936f0aa833b119cde603520b662bc500e5d753344365784a13592f8843fea1d0dedccb6c901219c6a1f89babb1d046fecc1533043e4be38fc39aca64e9ef67e13089333ed6d913ce8c476b56e8f15a78db9b01abb83516fa07b868c86bbcf7fbdff5d28c0a5e5527cf529d24da5d4706d9d67d116929f896f1e11016683ded187b6569f62ee7fc8738923d708866eb6a8e638a0789a6a7c04a6f50907be400237fe65042f659c27f2b670c40df0f7482ee5f9b77ec94fd1a3ffc46f6bc7d85bd66fdead9995e567786f59a362b27355781cb2fa4103941c38f718a70417c54:sha256
signataire=975571a8a470a6d975662e284f5ef1bd0396c06b31a2207b81bef2e24c5bf0c5
date=20121019201039
action=L
objet source=975571a8a470a6d975662e284f5ef1bd0396c06b31a2207b81bef2e24c5bf0c5
objet destination=7c512aaa1c5e3837fe2667afe1146261ef8b9eb355f8078e72900f845ada93fe
objet meta=a6b4edb371e864e4d17754188166f981f9a9a78e11273c7d8c87b4363c20af9d
– Lien 3 :
signature=86a91fc5f18e23c7ebc7a639f939c6247585ee8576add5982a2b9a484868024c9c58e2d537d243be670b1e13000f3f45152d7282773049ae7eb66025ded1127167ca5e302495ccb11c5f7b36db60ff1c94edb8ee1a500446da7a1619c44978f4aefc5ecf89626fe1e5689dcf0ef77a70e2c8b2e71e14e57921b7876ee069c3ef5fc974d90bf8afcecc92f54820b40c57e59010bf307456f6359e16eddee9c67d7ac3ec4da3fbc57996bb88222575c4beb5e75025c8c3d5c3f2a921e9e5e27496fa7268083ee62f24121823b5343b4bb0e3160bb208344e6df3a26701a8961595a4face4a4fa68e90e62cd99aa9f5d946c4a6f4975276790b844946fd2901ffc2:sha256
signataire=975571a8a470a6d975662e284f5ef1bd0396c06b31a2207b81bef2e24c5bf0c5
date=20121019201039
action=F
objet source=6a4b7f1100b87044b21f0300eb5c8b627e440e6c239b7dc64767dc16fab38719
objet destination=975571a8a470a6d975662e284f5ef1bd0396c06b31a2207b81bef2e24c5bf0c5
objet meta=
– Lien 4 :
signature=afc9236e7bab854a473f8079a4151aa185a22c27f53e746cad0af38c83b24b1e03ff2809c435933d67008df5220a693b3c61b07ca6699019d5e9e698ac22aaa90c0daf9a0ef07761d0898a8ee6557ec64d3e9d4d2ccbf66c9bdac9f8881243fa4643ce4dcd3fb043bff82e16a4e2cc17ba333c896903e8efdc8720adceda6801738b9674f8b0c60412953707656a6ce032b41c25258cddcc49182c6952f49a1d0ff6123bd3a950e20c64ff446ea53f43e28e0919e0590bf0b14163ef718f84b743d73cf2c21600dfc216c517409510b01863df12078082a613944139610ff2f7914d988d907b223ca7c41c28b4e7c68d2bd0aefc0a51c4420052a8bf5f687680:sha256
signataire=975571a8a470a6d975662e284f5ef1bd0396c06b31a2207b81bef2e24c5bf0c5
date=20121019201040
action=L
objet source=975571a8a470a6d975662e284f5ef1bd0396c06b31a2207b81bef2e24c5bf0c5
objet destination=23297ddeeaaa2f42728eb1ddc6a88d1406bcff6f885de529e0d132418d0a5fb1
objet meta=

On remarque que, à part la date et l’action, les autres champs du lien sont représentés par des données à caractère pseudo-aléatoire. En physique, on dirait que c’est du bruit blanc, sans dominante d’une valeur sur une autre. Le tout est parfaitement imprévisible donc au premier abord impossible à compresser.

La date semble peu varier l’un lien à l’autre, on peu déjà gagner un peu là-dessus, un peu plus de 1,5%.

On peut quand même voir que certains autres champs se répètent d’un lien à l’autre, comme le signataire par exemple. Ce même signataire apparaît parfois dans les champs source ou destination. Compresser un seul lien ne sert pas à grand chose, mais à partir de 2 liens, le gain n’est plus négligeable. Ainsi, le champs d’une entité représente 8%, soit 8% de gain de compression directe. Le double si l’entité apparaît en source ou destination.

On gagne donc automatiquement au minimum 9,5% de gain de compression lorsque l’on transmet les liens d’un objet. Un essai pratique à montré un gain de compression de 44% sur les liens d’une entité et de 38% sur un les liens d’autres objets.

Laisser un commentaire