The common usage of the library via SurpriseServer will look as follows: The client asks for the information about resources; SurpriseServer responses with information about computer hard drives and their partition structure. For some of the partitions may be aksed information about their root-subdirectories. Then the client modifies the partition structure and commits the changes; SurpriseServer responses with list of errors if some occured (encountered conflits, amount of data is too large to fit to a small partition etc.). If none occured the client can confirm the changes and SurpriseServer modifies the partition strcuture. The client can at any time close the communication with SurpriseServer. The commit-phase is not obligatory but it is very recommended.