Snowing Technical Operations

From Adam Colton
Jump to navigation Jump to search

The initial architecture is a bit of a hack. The user access a local application (server) that handles all the messy bits (encryption). This talks to a valet server which handles communication with the network.

Client <--> Valet <--> Server

One of the things to consider is the "email problem". If I'm sending you an email and you're not online, I need a place to put it so that your valet server will pick it up and deliver it to you next time you're online.

There are two ways for a client to receive a resource. It can be sent directly from the valet, nothing special is needed. But for large files, this doesn't make sense because the file needs to be transmitted twice and buffered on the valet server. So the valet negotiates a download token. The valet sends a request for a token to the server. The server sends back the cost and a token. The valet signs the token and sends it to the client. The client can now send this to the server and it will deliver the file and charge it to the valet server.

Client

  • Find valet
  • Send to valet
  • Receive from valet
  • Receive from server-pipe

Valet

Absolutely Must

  • Track Bills
  • Handle User Requests
  • Send to client
  • Receive from client
  • Send to server
  • Receive from server
  • Locate resource
  • Create CS pipe

Server

Absolutely Must

  • Store and Retrieve data securely
  • Run Applications from Repos
  • Track Billing for Valets