From d98d12c4fab13ba1c3b1f2127debd75de06e2424 Mon Sep 17 00:00:00 2001
From: Siddharth Ravikumar <sravik@bgsu.edu>
Date: Sat, 27 Feb 2016 23:24:29 -0500
Subject: Drafted Chapter 1.

---
 report/chapters/1-intr.tex | 47 +++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 42 insertions(+), 5 deletions(-)

(limited to 'report/chapters/1-intr.tex')

diff --git a/report/chapters/1-intr.tex b/report/chapters/1-intr.tex
index 99a8ce3..74f4137 100644
--- 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}
-- 
cgit v1.2.3

