summaryrefslogtreecommitdiff
path: root/doc/services.org
blob: e5e6d7dd649e730031a8600d72386380cfbc8e3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Services offered by users are to be discovered automatically and
offered to all users of the mesh. For vendor independence several
means of discovery and announcement are required. They are connected
by the unified information storage.

* Service information storage
  Every mesh node holds a p2ptl (see overview.org) of all currently
  available services. It is synchronized over the mesh interface.

  It has the following columns (in-order):
    * location (unique primary key) :: protocol-specific identifier
        how to reach the resource (e.g. "1.2.3.4:22" for SSH,
        "https://1.2.3.4/pron" for HTTP, "//lame/os" for SMB, ...)
    * expiry time :: unix time after which the entry shall be deleted
    * source :: how the service has been discovered: manual, portscan,
        dnssd, ssdp
    * class :: one of storage, internet, game, stream, search, ... to
        be extended and refined
    * description :: a human-readable (and typically human-written)
        description of the service, e.g. "Toms pr0n archive"

  Additional class-specific columns may follow that give
  machine-readable information about the service:
** storage
   * capacity :: no. of bytes or empty if unknown
   * used_capacity :: no. of bytes or empty if unknown
   * writable :: true|false
** internet
   * external ip ::
   * upstream :: no. of bytes/second or empty if unknown
   * downstream :: no. of bytes/second or empty if unknown
** game
   * active players :: no. of players or empty if unknown
** stream
   none
** search
   none

* Service discovery
** manual Webif entry
** Port scanning
** DNS-SD (Zeroconf)
** SSDP (UPNP)
* Service announcement
** Web interface
** DNS
   Zeroconf uses the domain advertised via DHCP to lookup local
   services via DNS in the same way it uses mDNS (see [[http://www.dns-sd.org/ServerStaticSetup.html][HowTo]]). Our
   service database could thus be announced via DNS for these clients.
contact: Jan Huwald // Impressum