Swift recommends storing the large object segments in a separate container . I propose changing jclouds to do the same. The Swift convention – in their python library – is to create a "<container>_segments" container for the segments.
We need to consider ways to reduce the number of HEAD requests jclouds would make for container existence. One possible way could be to assume the container exists for the segments and create it if the PUT requests return 404. I will need to look through the existing MPU abstraction to figure out the other caveats to work out in this improvement.