Uno Replication Strategy Validation Source Code README Sept. 30, 2013 ----------------------------------- Directory Structure - / - replica/ - __init__.py - replica.py - replica_plot.m - test.py - ts_kde.py - ts_kde_plot.m The test.py is the main function to start the validation process. ----------------------------------- Python Source Code Files As is seen, there are 4 Python files. The test.py is the main entrance of the replication validation program. And the replica.py is the Python file contains all the necessary classes to load data and validate. Inside the replica.py file, there are several key classes which is important: * PhysicalDevice. This class is an abstraction of the phone status provider and app usage provider. The replication provider and simulator treat this class as an device instance. * PhoneStatusProvider. The provider load the raw traces of the phone status and fill in the time slot statistics based on the system's parameters. * AppUsageProvider. The app usage provider is similar to the phone status provider. It records each app and its corresponding data's access pattern, then it calculate each data's required number of replicas to guarantee the availability. * ReplicationProvider. The replication provider actually takes the phone status provider and app usage provider as input, then runs the replication algorithm in each time slot. Finally, the data will be replicated and marked by each device. When a new access request comes, the device will pick up the available device to respond. * Simulator. It is the driver class that locates the data set files and create instances for physical device and providers. ----------------------------------- Usage: To use the validation package, simply go the replica/ directory and run the test.py file with the following command: $ python test.py