Skip to content
Tom Tzook edited this page Mar 31, 2023 · 3 revisions

OBject StoRage (or OBSR) is a distributed, hierarchical, object storage. Each Object (i.e. StoredObject) is a data structure, composed of typed fields called Entries (i.e. StoredEntry) and child Objects. The Object Storage is composed of a root Object. The rest of the Objects are children of the root Object.

OBSR connected processes, called nodes, each hold a copy of the stored data, and report to each other on any changes. One node is the primary node, i.e. it serves as both a storage (like the other nodes) and a broker, for distributing information on changes between all the nodes. Non-primary nodes are referred to as secondary nodes.

The OBSR protocol is based on FlashLib's messaging protocol with a TCP backend. The primary node is basically the server and secondary nodes are clients.