Check out the new USENIX Web site. next up previous
Next: Conceptual framework Up: Bundling: a hybrid approach Previous: Bundling: a hybrid approach

Dividing a collection of files into bundles

The main problem in applying bundling to network class loading is determining how to divide the collection of files needed by applications into bundles. In order to ensure that the client generally receives only files it needs, we must only put two files in the same bundle if those files are always (or almost always) needed together in the same program execution. Furthermore, the files in the bundle should always (or almost always) be ordered in the same order that they will be requested by the client. When these two properties hold, bundling has all of the desirable properties of on-demand class loading, with the additional benefits of compression and pre-sending.

Clearly, to achieve a good division of files into bundles, we need to have knowledge of a typical program's class and resource loading behavior at runtime. We chose to use class loading profiles as the source of information about program behavior. Class loading profiles record the order and time at which each class or resource was loaded during execution.



David Hovemeyer
Tue Feb 27 18:43:09 EST 2001