combox-paper

notes and other things concerning combox
git clone git://git.ricketyspace.net/combox-paper.git
Log | Files | Refs

commit d98d12c4fab13ba1c3b1f2127debd75de06e2424
parent aff1e3eaef1bb1755f5bc178c5f0e293c7181d23
Author: Siddharth Ravikumar <sravik@bgsu.edu>
Date:   Sat, 27 Feb 2016 23:24:29 -0500

Drafted Chapter 1.

Diffstat:
report/bib/combox.bib | 17+++++++++++------
report/chapters/1-intr.tex | 47++++++++++++++++++++++++++++++++++++++++++-----
report/combox-report.pdf | 0
3 files changed, 53 insertions(+), 11 deletions(-)

diff --git a/report/bib/combox.bib b/report/bib/combox.bib @@ -28,10 +28,15 @@ title = "systemd - System and Service Manager", url = "https://www.freedesktop.org/wiki/Software/systemd/" } +@misc{nonfree-installshield, +title = "InstallShield - proprietary tool for creating package installers for Windows.", +url = "http://www.installshield.com/" +} + %3 @article{yeo, -title = "Leveraging client-side storage techniques for enhanced use of multiple consumer cloud storage services on resource-constrained mobile devices ", -journal = "Journal of Network and Computer Applications ", +title = "Leveraging client-side storage techniques for enhanced use of multiple consumer cloud storage services on resource-constrained mobile devices", +journal = "Journal of Network and Computer Applications", volume = "43", number = "", pages = "142 - 156", @@ -48,8 +53,8 @@ keywords = "Storage techniques " } @article{yang, -title = "User continuance intention to use cloud storage service ", -journal = "Computers in Human Behavior ", +title = "User continuance intention to use cloud storage service", +journal = "Computers in Human Behavior", volume = "52", pages = "219 - 232", year = "2015", @@ -64,8 +69,8 @@ keywords = "Privacy risk " } @article{skycds, -title = "SkyCDS: A resilient content delivery service based on diversified cloud storage ", -journal = "Simulation Modelling Practice and Theory ", +title = "SkyCDS: A resilient content delivery service based on diversified cloud storage", +journal = "Simulation Modelling Practice and Theory", volume = "54", number = "", pages = "64 - 85", diff --git a/report/chapters/1-intr.tex b/report/chapters/1-intr.tex @@ -17,7 +17,7 @@ information about users or information stored/created by users to parties if we determine that such disclosure is reasonably necessary to (a) comply with the law; (b) protect any person from death or serious bodily injury; (c) prevent fraud or abuse of Dropbox or our - users; or (d) protect Dropbox's property rights. -- Dropox Privacy + users; or (d) protect Dropbox's property rights. -- Dropbox Privacy Policy\cite{website:dropbox-privacy} \end{quote} @@ -40,7 +40,7 @@ splits them into N shards, encrypts each of the N shards and spreads the shards to N node directories. A ``node directory'' is the directory of the file storage provider (Dropbox directory is a node directory). Figure \ref{fig:1-combox-overview-0}, illustrates how a file -called \verb+strunk-white.pdf+ is split, encrypted and spreaded across +called \verb+strunk-white.pdf+ is split, encrypted and spread across N node directories; shards \verb+strunk-white.pdf.shard0+ to \verb+strunk-white.pdf.shardN+ are encrypted. @@ -127,7 +127,7 @@ Dropbox. \section{How is combox different from Combo-Box?}\label{1-sec-cb-diff} -Combo-Box by Wesley Vollmar\cite{vollman-combo-box} was the first +Combo-Box by Wesley Vollmar\cite{vollmar-combo-box} was the first implementation of the idea storing encrypted shards of a file on the computers different of different file storage providers. Differences between Vollmar's Combo-Box and combox are enumerated below: @@ -144,8 +144,45 @@ between Vollmar's Combo-Box and combox are enumerated below: mostly a commandline program; combox's configuration wizard has a graphical interface and the wizard has a commandline interface for users who just like to do everything from the commandline. -\item[License] combox is licensed under the GNU General Public License - version 3 or later. +\item[Database] Combo-Box uses a SQL traditional database with two + tables to keep track of files' shards, files' hash, files' last + ``sync time'' and for ``security and stability'' uses stored + procedures that retrieve/store information in the + database\cite{vollmar-combo-box}. + + combox on the other hand uses a no SQL key-value data store to track + the files stored in the combox directory using the pickleDB + library\cite{pylib:pickledb}. The key-value data store is a JSON + file and all access to this data store is done through an instance + of \verb+combox.silo.ComboxSilo+ which enforces synchronization + through a lock (\verb+threading.Lock+). In the data store, combox + keeps track of the hashes of all the files stored in the combox + directory; the data store also contains dictionaries that track + number of shards which have been create/moved/modified/deleted on + another computer. + +\item[Installation] Combo-Box uses the proprietary + InstallShield\cite{nonfree-installshield} to install the program, + setup shortcuts and registry settings\cite{vollmar-combo-box}. + + combox is a python package, it either be installed through python's + package manager (\verb+pip+\cite{py:pip}) with + \verb+pip install combox+ or it can be installed from the source + with the standard $python setup.py install$. + +\item[Configuration] Combo-Box saves its configuration inside the + Combo-Box directory and this configuration is shared by all + computers on which the user chooses to run Combo-Box, by virtue of + this the file providers' directories must be in the same locations + on all the computers. + + combox stores its configuration at + \verb+$HOME/.combox/config.yaml+; the configuration file is not + shared on computers on which the user runs combox and therefore is + independent; this makes it possible to keep the combox directory and + the directories of the file storage providers' (node directories) in + different location on each computer. The configuration file is a + YAML file and can be directly edited by the user if she wishes to. \end{description} \section{Using combox}\label{1-sec-using-cb} diff --git a/report/combox-report.pdf b/report/combox-report.pdf Binary files differ.