Actions

Byzantium Live Distro Service Announce

From HacDC Wiki

Revision as of 03:06, 18 October 2011 by Drwho (talk | contribs) (→‎Contents)

Description

Share services running on a network with clients and other supernodes.

Each supernode (mesh node) maintains a database of all of the services and web apps it's running. That database is used to populate the /index.php page of each node. The trick lies in telling the other mesh nodes what you happen to be running and what IP address it is. This is where being able to announce what services you run to other mesh nodes will come into play.

This is simplified somewhat by the fact that the mesh nodes' network IP addresses are all 192.168/16.

Suggestions

Contents

  • ip address (ipv4 and/or ipv6)
  • protocol service is provided on
    • (based on name given in /etc/services maybe)
    • in services.sqlite, both tables have a field 'name' that contains the name of the service.
  • port number
  • human readable name of the service or service instance
  • human readable description of arbitrary (as much as possible) size and format
    • limit it to microblog post-size (140 characters)?
  • Put a timeout on each entry to force neighboring mesh nodes to re-poll the neighbors they know about to see if a service has been turned off by that node's admin?

Method

Format

  • xml
<?xml version="1.0" encoding="<encoding>" ?>
  <services>
    <service ip4="" ip6="" protocol="" port="" hr-name="">
      Description
    </service>
  </services>
  • delimited list
;;;<ipv4addr>;<ipv6addr>;<protocol>;<port number>;<human readable name>;<description>