-
Notifications
You must be signed in to change notification settings - Fork 1
Home
irqlevel edited this page Nov 12, 2014
·
2 revisions
- распределенность - система состоит из неограниченного числа компьютеров связанных по сети в виде графа - сети малого мира.
- децентрализация - ни один из компьютеров сети не имеет преимущества и не хранит метаинформацию о всей системе. каждый компьютер хранит только часть информации о соседях и соседних объектах.
- поддержка следующего API: К любому компьютеру сети можно подключиться и выполнить следующие операции: obj_id = put_object(object_data), del_object(obj_id), object_data = get_object(obj_id).
- гибкая репликация. репликация объектов будет осуществляться с помощью алгоритма (n,k) схемы. каждый объект будет распилен на n кусков и распределен по системе серверов. из любых k кусков данного обьекта можно будет собрать оригинальный объект.
- гибкая топология сети - компьютеры добавляются и удаляются, соседи меняются - но сеть работает.
- отказоустойчивость - достигается 0,1,3 пунктами.
- быстрый поиск и извлечения объекта по его id с любого компьютера сети.
- в ядре linux в виде kernel module(KM)
- KM будет являться сетевым клиентом(в том смысле что он будет обращаться к другим компьютерам сети) и сервером одновременно(для приема соседей, поисковых запросов и размещения кусков объектов).
- KM будет осуществлять хранения кусков обьектов в заданных пользователем девайсах. реализуя над девайсом - что-то вроде файловой системы, но это не совсем так. на девайсе будут в прямом виде лежать куски объектов.
- каждый компьютер сети ставит себе KM, настраивает девайсы(для хранения кусков объектов) и подключается к остальным компьютерам сети.
- клиенты могут подключиться к любому компьютеру сети и воспользоваться API (смотри пункт 2 из "особенности).