Infinit

Roadmap

Follow our development and see which features are coming next for the Infinit File System.



Byzantine fault tolerance

Allow for the creation of untrustworthy networks (in which data is stored on storage resources that users may not trust) while ensuring reliability and security.


Locking

Allow applications to lock file system objects to prevent other user/applications to use them.


Garbage collecting

Operations in a decentralized file system may lead to unreferenced blocks consuming storage capacity, also known as orphan blocks. Such blocks should be deleted from time to time through a garbage collecting mechanism.


Storage reliability level

Allow the administrator to define the reliability of storage resources/providers. For instance, S3 already replicates data internally while a standalone server does not.


Erasure coding

Provide erasure coding as an alternative to bare replication to halve the storage capacity required to ensure data durability.


LDAP

Integrate with LDAP to retrieve the users, groups and permissions in an existing organization.


Heterogeneous storage contributions

Balance the data while taking into account that some storage resources have more capacity than others.

Mar
2016

Manual local caching

Allow the end-user to specify which hierarchies of files and directories to keep local at any time for offline access.


Windows native file system integration

Provide a native interface for Windows operating systems to mount Infinit file systems.

Feb
2016

Backblaze B2 storage resource

Allow Backblaze B2 service to be used as a block storage resource.


Google Cloud Storage storage resource

Allow Google Cloud Storage to be used as a block storage resource.


Erasure coding

Provide erasure coding as an alternative to bare replication to halve the storage capacity required to ensure data durability.


AWS S3 storage resource

PAllow AWS S3 to be used as a block storage resource.


Scale up/down

Allow to attach additional/detach storage resources and/or increase/decrease the storage capacity contributions from a device to an existing network, without incurring any interruption of service.


Windows SMB/NFS integrations

Provide an NFS/SMB integration server to easily integrate in existing production environments.

Jan
2016

Storage contribution limit

Allow one to specify the storage capacity to allocate when creating a storage.


Versioning

Allow users to explore and roll-back to a previous version of a file.


Group-based access control

Allow users to organize themselves into groups and control access to files/directories to those groups.


Fine-grained passports

Allow the administrator to issue passport for a user to act either as a client and/or server (preventing a user from attaching additional storage resources) but also to control whether a user can put and/or get blocks in the network.


Storage load network-wide balancing

Support distributing the blocks across several storage nodes that contribute storage capacity through one or more storage resources.


Dynamic rebalancing

Dynamically rebalancing some blocks to another nodes following the fault of a storage node in order to maintain the replication factor defined by the network administrator.

Dec
2015

NAT traversal

Improve the probability of connection by relying on NAT traversal if directly connection and uPnP failed.


UPnP

Offer nodes to configure, if available, their router to open a port to connect to other nodes in peer-to-peer.


Fault tolerance

Detect failures (crash, disconnection etc.) and rely on the other replicas for the service to operate as usual without the users noticing something went wrong.


Multi-device user

Provide users ways to transfer their user identities to another device.

Nov
2015

Paxos consensus

Introduce Paxos to reach consensus among the storage nodes responsible for the replicas of a specific piece of data.


Replication

Define the replication factor for every block of every file system object (file, directory etc.) to be stored multiple times to ensure the durability and availability of the data.


Caching

Introduce a caching mechanism to speed up operations.


Asynchronous operations

Support operations being performed asynchronously meaning that system calls return once the operation is committed in the journal with the data modifications being later published throughout the storage network.

Oct
2015

uTP

Support for high-throughput data transmission through UDP-based network protocols.


Import SSH RSA key

Allow users to import their existing SSH RSA key to work with Infinit.


Dropbox storage resource

Allow Dropbox to be used as a block storage resource.


Google Drive storage resource

Allow Google Drive to be used as a block storage resource.


Cloud storage services management

Offer an easy way to manage credentials to cloud storage services, possibly by relying on the Infinit Hub.


Hub

Introduce the Hub to ease the process of connecting cloud storage services, share networks/volumes/etc. with friends etc.


Passport

Allow the network administrator to authorize other users to connect and possibly contribute additional storage capacity.


Access control list

Allow users to control the permissions on their file system objects: files, directories etc.

Sept
2015

Kelips overlay network

Introduce the Kelips gossip-based overlay network.


OS X native file system integration

Support for a native integration through the FUSE kernel module on OS X.

Aug
2015

Command-line tools

Provide basic command-line tools to create users, storages, networks and volumes.


Linux native file system integration

Support for a native integration through the FUSE Linux kernel module.


Multiple storage resources per server

Allow nodes to attach several storage nodes and distribute blocks among those storages.


Block encryption

Encrypt the data blocks with a key unique to the block.


File system logic

Represent files into a collection of mutable and immutable blocks.


Local storage resource

Allow a local file system to act as a storage resource by storing blocks of encrypted data as local files.