Remote Backup is a server/client application which provides the ability to maintain a copy of local folders on a remote server efficiently. The server application runs on a remote computer the utilizes TCP/IP to listen onto an open port awaiting client requests. The client is a GUI based application which connects to the server maintain a duplicate copy of the local folders onto the remote server.
Remote backup will not modify or add any data to the local file or folder structure in order to perform or maintain a backup. In other words it is not invasive and will not add, update, or modify file or folders being backed up and does not require to maintain log or other files.
Remote Backup creates an identical copy of the local folder being backed up onto the remote server. The remote backup file structure can be access directly through the GUI client or directly from the remote computer where the backup is stored.
Deviating from the above statement, remote backup files can be compressed or encrypted if the options is enabled. Finally if history (versions) is enabled then an additional directory is required to store file and folder versions. The local folder structure is respected remotely unless folder encryption is enabled.
XML is used to send requests and responses between the client and server. Similar to an FTP server, Remote Backup server listens to requests, executes them, then sends a response. The client connects to the server through a socket, authenticates and keeps the socket alive (open) for the duration of all operations. If the client gets disconnected, authentication is required again.
All icons will be designed and created for Remote Backup. Therefore, there will be no borrowing of icons from anywhere even though the temptation may be great in the interest of time. I will be creating a process and style or look & feel for creating icons.