I am exploring IPFS for uses in sharing/publishing scientific data at the DAG level (i.e. linked data structures, not files). I wonder if there is any add-on software layer to help with the management of pinning in such a context.
Imagine I have a few applications that process the same kind of data. They can run on a server, as desktop, or a mobile device. To access IPFS, each application uses an IPFS node running on that device (which I think is the only way to use IPFS at the moment).
From the applications’ point of view, the two main types of actions are “get published data for local use” and “publish my own data”. For an application running on a permanently running server, the first requires no specific action, and the second is just pinning. Fine. But when the application runs on a desktop or even mobile device, the first action could require “pin locally to make the data available offline”, whereas the second means “pin on a server/pinning service and stay online long enough to ensure that the server has retrieved the data”.
I wouldn’t even know how to implement the last part, but my main question is how I would go about implementing such management strategies separately from the application logic. IPFS by itself only supports pinning to the local node, unless I have missed something. But perhaps there is some layer on top of IPFS that helps with the rest?