{"action":"created","issue":{"url":"https://api.github.com/repos/SignalK/specification/issues/99","labels_url":"https://api.github.com/repos/SignalK/specification/issues/99/labels{/name}","comments_url":"https://api.github.com/repos/SignalK/specification/issues/99/comments","events_url":"https://api.github.com/repos/SignalK/specification/issues/99/events","html_url":"https://github.com/SignalK/specification/issues/99","id":112245335,"number":99,"title":"Multiple SK Devices - Need for a Master/Slave Relationship","user":{"login":"sumps","id":10165637,"avatar_url":"https://avatars.githubusercontent.com/u/10165637?v=3","gravatar_id":"","url":"https://api.github.com/users/sumps","html_url":"https://github.com/sumps","followers_url":"https://api.github.com/users/sumps/followers","following_url":"https://api.github.com/users/sumps/following{/other_user}","gists_url":"https://api.github.com/users/sumps/gists{/gist_id}","starred_url":"https://api.github.com/users/sumps/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sumps/subscriptions","organizations_url":"https://api.github.com/users/sumps/orgs","repos_url":"https://api.github.com/users/sumps/repos","events_url":"https://api.github.com/users/sumps/events{/privacy}","received_events_url":"https://api.github.com/users/sumps/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2015-10-19T22:23:21Z","updated_at":"2016-01-07T10:28:48Z","closed_at":null,"body":"In the various discussions that have taken place concerning UUIDs, MMSI, etc. it has highlighted again that in a more complex Signal K network, we could have multiple servers, gateways and sophisticated consumers but no method of synchronising important \"Self\" Configuration Settings, Meta Data and the UUID.\r\n\r\n![signal k multiple servers gateway diagram](https://cloud.githubusercontent.com/assets/10165637/10592702/b3f92696-76b5-11e5-9441-34309bc6ae93.png)\r\n\r\nAs it stands at the moment, all of this data would have to be entered in each device, with the possibility of wrong or different values being entered.\r\n\r\nI propose that there is a need for a simple method or allocating one device to be the \"master\" network device and that this device once configured will announce its presence on the network via Bonjour/mDNS as being the master device and all other devices must (if they need it) request the \"Self\" Configuration Settings, Meta Data and UUID from the \"master\" and maintain a local record of this data and check it (re-sync) each time they power up and join the network. Slave devices should also maintain a record of who the \"master\" device is.\r\n\r\nShould a device that is set to be a \"master\" power up and Discover that another \"master\" already exists on the network or a \"slave\" powers up and finds that a new \"master\" now exists on the network, then it should alarm/warn the user that an installation change has occurred and needs to be checked.\r\n\r\nIf a slave powers up and finds the \"master\" is not currently present, then it should be able to carry out its normal activity without the need of the \"master\" using its local record of the \"masters\" config, meta and UUID data.\r\n\r\nAn exact definition of what a \"Master\" device is responsible for needs to be agreed, a format/method for the \"Master\" to announce its presence via Bonjour/mDNS and further study of the use cases that could occur in a complex network (such as two masters, a new master, etc.) and how these are handled.\r\n\r\nComments please.     "},"comment":{"url":"https://api.github.com/repos/SignalK/specification/issues/comments/169623076","html_url":"https://github.com/SignalK/specification/issues/99#issuecomment-169623076","issue_url":"https://api.github.com/repos/SignalK/specification/issues/99","id":169623076,"user":{"login":"sumps","id":10165637,"avatar_url":"https://avatars.githubusercontent.com/u/10165637?v=3","gravatar_id":"","url":"https://api.github.com/users/sumps","html_url":"https://github.com/sumps","followers_url":"https://api.github.com/users/sumps/followers","following_url":"https://api.github.com/users/sumps/following{/other_user}","gists_url":"https://api.github.com/users/sumps/gists{/gist_id}","starred_url":"https://api.github.com/users/sumps/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sumps/subscriptions","organizations_url":"https://api.github.com/users/sumps/orgs","repos_url":"https://api.github.com/users/sumps/repos","events_url":"https://api.github.com/users/sumps/events{/privacy}","received_events_url":"https://api.github.com/users/sumps/received_events","type":"User","site_admin":false},"created_at":"2016-01-07T10:28:48Z","updated_at":"2016-01-07T10:28:48Z","body":"The only other consideration, is on the issue of saving the Consumer settings on a server. This has been discussed (https://github.com/SignalK/specification/issues/90) and it might be worth having a setting in the TXT_Record of whether the device is capable of \"Storing Settings\". "}}