Methods, apparatuses and systems directed to a distributed data repository
system including a plurality of symmetric data repository nodes. In certain embodiments of the present invention, the distributed data repository
system is message-centric operative to store message payloads transmitted from
client nodes. In certain embodiments, the distributed data repository
system is BLOB-centric, maintaining binary
data objects and indexes of attribute values that map to the binary
data objects. Of course, the present invention can be utilized to store a great variety of
digital data contained in message payloads. According to certain embodiments of the present invention, the attribute indexes are fully replicated across all data repository nodes, while the message payloads (e.g.,
data objects or other content) are exchanged across data repository nodes as needed to fulfill
client queries. In this manner, each data repository node in the distributed system can fulfill any
client request, while reducing the storage and memory requirements for each data repository node. The reduced storage and computational requirements enable each distributed data repository node to be hosted by an inexpensive hardware platform and, therefore, allow for the deployment of large numbers of distributed data repository nodes to achieve a distributed data repository system featuring
high availability and reliability. In certain embodiments, each distributed data repository node is further equipped to act as an
instant messaging (or other one-way messaging)
server to allow client nodes to establish
instant messaging connections with the data repository nodes in the distributed system.