Platform Team/Sugar Network/Architecture: Difference between revisions

No edit summary
No edit summary
Line 15: Line 15:
The Sugar Network consists of different types of components:
The Sugar Network consists of different types of components:


* [[#Server|Server side]] that provide [[Sugar_Network/API|API]] for clients:
* [[#Server|Server side]] that provide [[Platform_Team/Sugar_Network/API|API]] for clients:
** [[#Mothersip|Mothersip]] server that keeps the whole Sugar Network information, clients might connect directly to this server (on-line case) or indirectly via distributed servers (off-line case);
** [[#Mothersip|Mothersip]] server that keeps the whole Sugar Network information, clients might connect directly to this server (on-line case) or indirectly via distributed servers (off-line case);
** Optional [[#Distributed_servers|distributed servers]], contain a [[#Synchronisation|synchronised]] copy of central server (might be not for the entire Network to save storage space);
** Optional [[#Distributed_servers|distributed servers]], contain a [[#Synchronisation|synchronised]] copy of central server (might be not for the entire Network to save storage space);
* [[#Client|Client side]]:
* [[#Client|Client side]]:
** Client application that uses [[Sugar_Network/API|API]] to interact with a server;
** Client application that uses [[Platform_Team/Sugar_Network/API|API]] to interact with a server;
** Client application that [[#Personal_server|provides]] limited [[Sugar_Network/API|API]] to support server-less workflow.
** Client application that [[#Personal_server|provides]] limited [[Platform_Team/Sugar_Network/API|API]] to support server-less workflow.


== Server ==
== Server ==


In all cases the server [[Sugar_Network/API|API]] is the same for clients. But depending on connectivity, clients might be connected to the [[#Mothership|Mothership]] or to an [[#Distributed_servers|intermediate server]].
In all cases the server [[Platform_Team/Sugar_Network/API|API]] is the same for clients. But depending on connectivity, clients might be connected to the [[#Mothership|Mothership]] or to an [[#Distributed_servers|intermediate server]].


=== Mothership ===
=== Mothership ===
Line 38: Line 38:
* connectivity is not cheap and its usage needs to be minimized.
* connectivity is not cheap and its usage needs to be minimized.


Distributed services provide full featured [[Sugar_Network/API|API]] as the Mothership does. Distributed servers need to be [[#Synchronisation|synchronized]].
Distributed services provide full featured [[Platform_Team/Sugar_Network/API|API]] as the Mothership does. Distributed servers need to be [[#Synchronisation|synchronized]].


=== Synchronisation ===
=== Synchronisation ===
Line 73: Line 73:
=== Personal server ===
=== Personal server ===


This local application provides limited [[Sugar_Network/API|API]] to get access to:
This local application provides limited [[Platform_Team/Sugar_Network/API|API]] to get access to:


* Private data in user's home directory,
* Private data in user's home directory,