% public domain. no rights reserved. see % https://creativecommons.org/publicdomain/zero/1.0/ \section{proposed solution} \begin{frame}[fragile] \frametitle{combox} {\tiny \begin{semiverbatim} +------------------+ | | | | | | +------------------+ combox directory computer i \end{semiverbatim} } \end{frame} \begin{frame}[fragile] \frametitle{combox} {\tiny \begin{semiverbatim} node directory 0 (dropbox) +-------------------+ | | | | | | +-------------------+ +------------------+ | | | | | | +------------------+ combox directory +-------------------+ | | | | | | +-------------------+ node directory 1 (google drive) computer i \end{semiverbatim} } \end{frame} \begin{frame}[fragile] \frametitle{combox} {\tiny \begin{semiverbatim} node directory 0 (dropbox) +-------------------+ | | | | | | +-------------------+ +------------------+ | | | humans.txt | | | +------------------+ combox directory +-------------------+ | | | | | | +-------------------+ node directory 1 (google drive) computer i \end{semiverbatim} } \end{frame} \begin{frame}[fragile] \frametitle{combox} {\tiny \begin{semiverbatim} node directory 0 (dropbox) +-------------------+ | | (---->| humans.txt.shard0 | | | | | +-------------------+ | | +------------------+ | | | humans.txt | | | +------------------+ | combox directory | | | +-------------------+ | | | (---->| humans.txt.shard1 | | | +-------------------+ node directory 1 (google drive) computer i \end{semiverbatim} } \end{frame} \begin{frame}[fragile] \frametitle{combox} {\tiny \begin{semiverbatim} node directory 0 Internet (dropbox) @-------@ +-------------------+ | | | | | +---+ | (---->| humans.txt.shard0 | | | D | | | | | | +---+ | | +-------------------+ | | | | | | | | +------------------+ | | | | | | | humans.txt | | | | | | | +------------------+ | | | combox directory | | | | | | | | | +-------------------+ | | | | | | +---+ | (---->| humans.txt.shard1 | | | G | | | | | +---+ | +-------------------+ | | node directory 1 @-------@ (google drive) computer i \end{semiverbatim} } \end{frame} \begin{frame}[fragile] \frametitle{combox} {\tiny \begin{semiverbatim} node directory 0 Internet (dropbox) @-------@ +-------------------+ | | | | + + | +---+ | (---->| humans.txt.shard0 | - + D + ---> | D | | | | | + + | +---+ | | +-------------------+ | | | | | | | | +------------------+ | | | | | | | humans.txt | | | | | | | +------------------+ | | | combox directory | | | | | | | | | +-------------------+ | | | | | + + | +---+ | (---->| humans.txt.shard1 | - + G + ---> | G | | | | + + | +---+ | +-------------------+ | | node directory 1 @-------@ (google drive) computer i \end{semiverbatim} } \end{frame} \begin{frame}[fragile] \frametitle{combox} {\tiny \begin{semiverbatim} node directory 0 Internet (dropbox) @-------@ +-------------------+ | | | | + + | +---+ | (---->| humans.txt.shard0 | - + D + ---> | D | | | | | + + | +---+ | | +-------------------+ | | | | | | | | +------------------+ | | | | | | | humans.txt | | | | | | | +------------------+ | | | combox directory | | | | | | | | | +-------------------+ | | | | | + + | +---+ | (---->| humans.txt.shard1 | - + G + ---> | G | | | | + + | +---+ | +-------------------+ | | node directory 1 @-------@ (google drive) computer i computer ii \end{semiverbatim} } \end{frame} \begin{frame}[fragile] \frametitle{combox} {\tiny \begin{semiverbatim} node directory 0 Internet node directory 0 (dropbox) @-------@ (dropbox) +-------------------+ | | +-------------------+ | | + + | +---+ | | | (---->| humans.txt.shard0 | - + D + ---> | D | | | | | | | + + | +---+ | | | | +-------------------+ | | +-------------------+ | | | | | | +------------------+ | | +-----------------+ | | | | | | | humans.txt | | | | | | | | | | | +------------------+ | | +-----------------+ | combox directory | | combox directory | | | | | | | +-------------------+ | | +-------------------+ | | | + + | +---+ | | | (---->| humans.txt.shard1 | - + G + ---> | G | | | | | | + + | +---+ | | | +-------------------+ | | +-------------------+ node directory 1 @-------@ node directory 1 (google drive) (google drive) computer i computer ii \end{semiverbatim} } \end{frame} \begin{frame}[fragile] \frametitle{combox} {\tiny \begin{semiverbatim} node directory 0 Internet node directory 0 (dropbox) @-------@ (dropbox) +-------------------+ | | +-------------------+ | | + + | +---+ | + + | | (---->| humans.txt.shard0 | - + D + ---> | D | |--> + D + - | | | | | + + | +---+ | + + | | | +-------------------+ | | +-------------------+ | | | | | | +------------------+ | | +-----------------+ | | | | | | | humans.txt | | | | | | | | | | | +------------------+ | | +-----------------+ | combox directory | | combox directory | | | | | | | +-------------------+ | | +-------------------+ | | | + + | +---+ | + + | | (---->| humans.txt.shard1 | - + G + ---> | G | |---> + G + - | | | | + + | +---+ | + + | | +-------------------+ | | +-------------------+ node directory 1 @-------@ node directory 1 (google drive) (google drive) computer i computer ii \end{semiverbatim} } \end{frame} \begin{frame}[fragile] \frametitle{combox} {\tiny \begin{semiverbatim} node directory 0 Internet node directory 0 (dropbox) @-------@ (dropbox) +-------------------+ | | +-------------------+ | | + + | +---+ | + + | | (---->| humans.txt.shard0 | - + D + ---> | D | |--> + D + - | humans.txt.shard0 | | | | + + | +---+ | + + | | | +-------------------+ | | +-------------------+ | | | | | | +------------------+ | | +-----------------+ | | | | | | | humans.txt | | | | | | | | | | | +------------------+ | | +-----------------+ | combox directory | | combox directory | | | | | | | +-------------------+ | | +-------------------+ | | | + + | +---+ | + + | | (---->| humans.txt.shard1 | - + G + ---> | G | |---> + G + - | | | | + + | +---+ | + + | | +-------------------+ | | +-------------------+ node directory 1 @-------@ node directory 1 (google drive) (google drive) computer i computer ii \end{semiverbatim} } \end{frame} \begin{frame}[fragile] \frametitle{combox} {\tiny \begin{semiverbatim} node directory 0 Internet node directory 0 (dropbox) @-------@ (dropbox) +-------------------+ | | +-------------------+ | | + + | +---+ | + + | | (---->| humans.txt.shard0 | - + D + ---> | D | |--> + D + - | humans.txt.shard0 | | | | + + | +---+ | + + | | | +-------------------+ | | +-------------------+ | | | | | | +------------------+ | | +-----------------+ | | | | | | | humans.txt | | | | | | | | | | | +------------------+ | | +-----------------+ | combox directory | | combox directory | | | | | | | +-------------------+ | | +-------------------+ | | | + + | +---+ | + + | | (---->| humans.txt.shard1 | - + G + ---> | G | |---> + G + - | humans.txt.shard1 | | | + + | +---+ | + + | | +-------------------+ | | +-------------------+ node directory 1 @-------@ node directory 1 (google drive) (google drive) computer i computer ii \end{semiverbatim} } \end{frame} \begin{frame}[fragile] \frametitle{combox} {\tiny \begin{semiverbatim} node directory 0 Internet node directory 0 (dropbox) @-------@ (dropbox) +-------------------+ | | +-------------------+ | | + + | +---+ | + + | | (---->| humans.txt.shard0 | - + D + ---> | D | |--> + D + - | humans.txt.shard0 |-------) | | | + + | +---+ | + + | | | | +-------------------+ | | +-------------------+ | | | | | | | | v +------------------+ | | +-----------------+ | | | | | | | humans.txt | | | | humans.txt | | | | | | | +------------------+ | | +-----------------+ | combox directory | | combox directory ^ | | | | | | | | | +-------------------+ | | +-------------------+ | | | | + + | +---+ | + + | | | (---->| humans.txt.shard1 | - + G + ---> | G | |---> + G + - | humans.txt.shard1 |------) | | + + | +---+ | + + | | +-------------------+ | | +-------------------+ node directory 1 @-------@ node directory 1 (google drive) (google drive) computer i computer ii \end{semiverbatim} } \end{frame} \begin{frame} \frametitle{Vollmar's Combo-Box} \begin{itemize} \item<1-> C\# \item<2-> SQL for tracking files \item<3-> Microsoft Windows program \end{itemize} \end{frame} \begin{frame} \frametitle{combox} \begin{itemize} \item<1-> python \item<2-> key-value data store for tracking files \item<3-> python package, runs on GNU/Linux and OS X \end{itemize} \end{frame}