added developers
| After Width: | Height: | Size: 16 KiB | 
| @@ -0,0 +1,12 @@ | ||||
| @startuml | ||||
| start | ||||
| :power on node; | ||||
| repeat | ||||
| :mount boot flist; | ||||
| :copy files to node root; | ||||
| :reconfigure services; | ||||
| :restart services; | ||||
| repeat while (new flist version?) is (yes) | ||||
|  -> power off; | ||||
| stop | ||||
| @enduml | ||||
| After Width: | Height: | Size: 25 KiB | 
| After Width: | Height: | Size: 47 KiB | 
| @@ -0,0 +1,50 @@ | ||||
| @startuml | ||||
|  | ||||
| package "node-ready"{ | ||||
|     [local-modprobe] | ||||
|     [udev-trigger] | ||||
|     [redis] | ||||
|     [haveged] | ||||
|     [cgroup] | ||||
|     [redis] | ||||
| } | ||||
|  | ||||
| package "boot" { | ||||
|     [storaged] | ||||
|     [internet] | ||||
|     [networkd] | ||||
|     [identityd] | ||||
| } | ||||
|  | ||||
| package "internal modules"{ | ||||
|     [flistd] | ||||
|     [containerd] | ||||
|     [contd] | ||||
|     [upgraded] | ||||
|     [provisiond] | ||||
| } | ||||
|  | ||||
| [local-modprobe]<-- [udev-trigger] | ||||
| [udev-trigger] <-- [storaged] | ||||
| [udev-trigger] <-- [internet] | ||||
| [storaged] <-- [identityd] | ||||
|  | ||||
| [identityd] <- [networkd] | ||||
|  | ||||
| [internet] <-- [networkd] | ||||
| [networkd] <-- [containerd] | ||||
| [storaged] <-- [containerd] | ||||
|  | ||||
| [containerd] <-- [contd] | ||||
|  | ||||
| [storaged] <-- [flistd] | ||||
| [networkd] <-- [flistd] | ||||
|  | ||||
| [flistd] <-- [upgraded] | ||||
| [networkd] <-- [upgraded] | ||||
|  | ||||
| [networkd] <-- [provisiond] | ||||
| [flistd] <-- [provisiond] | ||||
| [contd] <-- [provisiond] | ||||
|  | ||||
| @enduml | ||||
| After Width: | Height: | Size: 32 KiB | 
| After Width: | Height: | Size: 45 KiB | 
| @@ -0,0 +1,37 @@ | ||||
| @startuml | ||||
| title Provisioning of a resource space | ||||
|  | ||||
| autonumber | ||||
| actor User as user | ||||
| ' entity Farmer as farmer | ||||
| entity Network as network | ||||
| database Blockchain as bc | ||||
| boundary Node as node | ||||
| collections "Resource space" as rs | ||||
|  | ||||
| == Resource research == | ||||
| user -> network: Send resource request | ||||
| activate network | ||||
| network -> node: broadcast resource request | ||||
| activate node | ||||
| deactivate network | ||||
| ...broadcast to all nodes... | ||||
| node -> user: Send offer | ||||
| user -> user: inspect offer | ||||
|  | ||||
| == Resource space negotiation  == | ||||
| user -> node: accept offer | ||||
| user <-> node: key exchange | ||||
| user -> bc: money is locked on blockchain | ||||
| ... | ||||
| node -> rs: create resrouce space | ||||
| activate rs | ||||
| node -> user: notify space is created | ||||
| node -> bc: notify he created the space | ||||
| user -> rs: make sure it can access the space | ||||
| user -> bc: validate can access the space | ||||
| bc -> node: money is released to the node | ||||
| deactivate node | ||||
| == Usage of the space == | ||||
| user -> rs: deploy workload | ||||
| @enduml | ||||
| After Width: | Height: | Size: 70 KiB | 
| @@ -0,0 +1,42 @@ | ||||
| @startuml | ||||
| title Provisioning a workload on the TFGrid | ||||
|  | ||||
| autonumber | ||||
| actor "User" as user | ||||
| actor "Farmer" as farmer | ||||
| database "TF Explorer" as explorer | ||||
| database Blockchain as blockchain | ||||
| boundary Node as node | ||||
|  | ||||
| == Price definition == | ||||
| farmer -> explorer: Farmer set the price of its Resource units | ||||
| == Resource research == | ||||
| activate explorer | ||||
| user -> explorer: User look where to deploy the workload | ||||
| user <- explorer: Gives detail about the farmer owning the node selected | ||||
| == Resource reservation  == | ||||
| user -> explorer: write description of the workload | ||||
| explorer -> user: return a list of transaction to execute on the blockchain | ||||
| == Reservation processing  == | ||||
| user -> blockchain: execute transactions | ||||
| explorer <-> blockchain: verify transactions are done | ||||
| explorer -> explorer: reservation status changed to `deploy` | ||||
| == Resource provisioning  == | ||||
| node <-> explorer: read description of the workloads | ||||
| node -> node: provision workload | ||||
| alt provision successfull | ||||
|     node -> explorer: write result of the provisining | ||||
|     explorer -> blockchain: forward token to the farmer | ||||
|     blockchain -> farmer: tokens are available to the farmer | ||||
|     user <- explorer: read the connection information to his workload | ||||
| else provision error | ||||
|     node -> explorer: write result of the provisining | ||||
|     explorer -> explorer: cancel reservation | ||||
|     node -> node: free up capacity | ||||
|     explorer -> blockchain: token refunded to user  | ||||
|     blockchain <-> user: tokens are available to the user again | ||||
| end | ||||
| deactivate explorer | ||||
| == Resource monitoring == | ||||
| user <-> node: use / monitor workload | ||||
| @enduml | ||||
| @@ -0,0 +1,20 @@ | ||||
| @startuml | ||||
|  | ||||
| == Initialization == | ||||
| Module -> MsgBroker: Announce Module | ||||
| MsgBroker -> Module: create bi-directional channel | ||||
|  | ||||
| == Utilisation == | ||||
| loop | ||||
|     DSL -> MsgBroker: put RPC message | ||||
|     activate MsgBroker | ||||
|     Module <- MsgBroker: pull RPC message | ||||
|     activate Module | ||||
|     Module -> Module: execute method | ||||
|     Module -> MsgBroker: put reponse | ||||
|     deactivate Module | ||||
|     MsgBroker -> DSL : read reponse | ||||
|     deactivate MsgBroker | ||||
| end | ||||
|  | ||||
| @enduml | ||||
| After Width: | Height: | Size: 15 KiB | 
| After Width: | Height: | Size: 23 KiB | 
| @@ -0,0 +1,22 @@ | ||||
| @startuml | ||||
| actor User as user  | ||||
| box "To Be Defined" #LightBlue | ||||
|     participant Market | ||||
| end box | ||||
| entity Farmer as farmer | ||||
| boundary Node as node | ||||
|  | ||||
| user -> farmer: Request space | ||||
| activate farmer | ||||
| farmer -> node: reserve space | ||||
| activate node | ||||
| farmer -> user: confirmation | ||||
| deactivate farmer | ||||
| ... | ||||
| note over user, node: communication allows only owner of space | ||||
| user -> node: deploy services | ||||
| ... | ||||
| user -> farmer: destroy space | ||||
| farmer -> node: delete space | ||||
| deactivate node | ||||
| @enduml | ||||