Actions

Byzantium Live Distro Service Announce: Difference between revisions

From HacDC Wiki

Line 18: Line 18:


===Method===
===Method===
*http[s]
*HTTP(S)
**Use a RESTful API to make this information accessible?
**https://miranda-zero.byzantium.mesh/services
*socket
*socket
*avahi?
===Format===
===Format===
*xml
*xml

Revision as of 03:04, 18 October 2011

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)?

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>