{"action":"closed","issue":{"url":"https://api.github.com/repos/ONEDC/obix/issues/14","labels_url":"https://api.github.com/repos/ONEDC/obix/issues/14/labels{/name}","comments_url":"https://api.github.com/repos/ONEDC/obix/issues/14/comments","events_url":"https://api.github.com/repos/ONEDC/obix/issues/14/events","html_url":"https://github.com/ONEDC/obix/issues/14","id":38685175,"number":14,"title":"The development of the Device Subsystem","user":{"login":"Qingtao-Cao","id":7599286,"avatar_url":"https://avatars.githubusercontent.com/u/7599286?v=3","gravatar_id":"","url":"https://api.github.com/users/Qingtao-Cao","html_url":"https://github.com/Qingtao-Cao","followers_url":"https://api.github.com/users/Qingtao-Cao/followers","following_url":"https://api.github.com/users/Qingtao-Cao/following{/other_user}","gists_url":"https://api.github.com/users/Qingtao-Cao/gists{/gist_id}","starred_url":"https://api.github.com/users/Qingtao-Cao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Qingtao-Cao/subscriptions","organizations_url":"https://api.github.com/users/Qingtao-Cao/orgs","repos_url":"https://api.github.com/users/Qingtao-Cao/repos","events_url":"https://api.github.com/users/Qingtao-Cao/events{/privacy}","received_events_url":"https://api.github.com/users/Qingtao-Cao/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ONEDC/obix/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":{"login":"Qingtao-Cao","id":7599286,"avatar_url":"https://avatars.githubusercontent.com/u/7599286?v=3","gravatar_id":"","url":"https://api.github.com/users/Qingtao-Cao","html_url":"https://github.com/Qingtao-Cao","followers_url":"https://api.github.com/users/Qingtao-Cao/followers","following_url":"https://api.github.com/users/Qingtao-Cao/following{/other_user}","gists_url":"https://api.github.com/users/Qingtao-Cao/gists{/gist_id}","starred_url":"https://api.github.com/users/Qingtao-Cao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Qingtao-Cao/subscriptions","organizations_url":"https://api.github.com/users/Qingtao-Cao/orgs","repos_url":"https://api.github.com/users/Qingtao-Cao/repos","events_url":"https://api.github.com/users/Qingtao-Cao/events{/privacy}","received_events_url":"https://api.github.com/users/Qingtao-Cao/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/ONEDC/obix/milestones/5","labels_url":"https://api.github.com/repos/ONEDC/obix/milestones/5/labels","id":892366,"number":5,"title":"2.0","description":null,"creator":{"login":"Qingtao-Cao","id":7599286,"avatar_url":"https://avatars.githubusercontent.com/u/7599286?v=3","gravatar_id":"","url":"https://api.github.com/users/Qingtao-Cao","html_url":"https://github.com/Qingtao-Cao","followers_url":"https://api.github.com/users/Qingtao-Cao/followers","following_url":"https://api.github.com/users/Qingtao-Cao/following{/other_user}","gists_url":"https://api.github.com/users/Qingtao-Cao/gists{/gist_id}","starred_url":"https://api.github.com/users/Qingtao-Cao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Qingtao-Cao/subscriptions","organizations_url":"https://api.github.com/users/Qingtao-Cao/orgs","repos_url":"https://api.github.com/users/Qingtao-Cao/repos","events_url":"https://api.github.com/users/Qingtao-Cao/events{/privacy}","received_events_url":"https://api.github.com/users/Qingtao-Cao/received_events","type":"User","site_admin":false},"open_issues":0,"closed_issues":5,"state":"open","created_at":"2014-12-05T00:36:21Z","updated_at":"2015-02-13T07:17:13Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2014-07-24T23:34:41Z","updated_at":"2015-02-13T07:17:13Z","closed_at":"2015-02-13T07:17:13Z","body":"For the sake of performance, multi-thread should be supported by the oBIX server, which largely requires synchronisation method when accessing the XML DOM tree.\r\n\r\nAlso, in order to support the signOff operation to remove a whole device contract, certain access control would have to be enforced by the oBIX server, for example, only the \"owner\" of a device contract can request to have it signed off.\r\n\r\nA new device subsystem can be developed for above two purposes. Every single device contracts signed up will have an accompanied device descriptor created, which are all organised in both a linked list and a hash table (to facilitate searching a device descriptor by the its href). The device descriptor will be the entrypoint for relevant device contract in the XML DOM tree, and access control and synchronisation idioms can be manipulated there."}}