Byzantium Live Distro Service Announce: Difference between revisions
From HacDC Wiki
(→Method) |
|||
Line 18: | Line 18: | ||
===Method=== | ===Method=== | ||
* | *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
- HTTP(S)
- Use a RESTful API to make this information accessible?
- https://miranda-zero.byzantium.mesh/services
- socket
- avahi?
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>