Object PATCH for efficient Swift based Cloud-Sync services

Asked by Ben Lapid

Hello everyone,

I'm taking a seminar in advanced storage systems and my assignment was to experiment with new functions for Swift.
My idea was to allow Swift to host efficient cloud-sync services (similar to Dropbox and others). Currently, an attempt to implement such services will result in a waste of bandwidth when objects are changed. This happens because on each change, the entire object has to be re-uploaded. Therefore, implementing a "PATCH" method for objects, allows us to send only the change and not the entire file, saving precious bandwidth.
I have also implemented a basic client based on FUSE. Combining the two, one can "mount" a Swift container onto the filesystem and any user-land application can work with those objects as if they were normal files.

I have implemented the necessary methods, and the result seems to work well. I was wondering if the community is interested in this function, if so I can describe my design and changes and create a pull request.

In addition, a friend that is taking the seminar with me is implementing a method that allows objects to be downloaded via BitTorrent (similiar to S3 functionality). If that's something that the community is interested in, he will be glad to elaborate further.

Question information

Language:
English Edit question
Status:
Solved
For:
OpenStack Object Storage (swift) Edit question
Assignee:
No assignee Edit question
Solved by:
John Dickinson
Solved:
Last query:
Last reply:
Revision history for this message
Best John Dickinson (notmyname) said :
#1

Sure! We'd be happy to see your PATCH support. The process for getting a patch submitted for review is described in https://wiki.openstack.org/wiki/GerritWorkflow.

Revision history for this message
Ben Lapid (ben-lapid) said :
#2

Thanks John Dickinson, that solved my question.