| With the rapid development of Internet of Things,traditional definition of service changes gradually.In IoT,the various sensors,wearable devices and handheld devices produce services anywhere,the traditional service pipeline consisted of collecting,transmitting and processing may cause lots of issues such as delay and resources shortage in servers.As a result,building a brand new distributed service discovery architecture has a biological significance for development of IoT.As the low efficiency of communication using traditional end-to-end IP architecture,we use Named Data Networking to build distributed service discovery architecture,and our study focuses on raising efficiency in service discovery and cache management.Making use of computing capability of nodes,we suggest introducing reinforcement learning into forwarding in NDN innovatively.By using QLearning,when Interest packt arrives,the nodes can make the best forwarding strategy and raise the forwarding efficiency.Besides,each forwarding takes back new reward and node can learn again,leading to a high adaptivity.In order to decrease the overhead of reward packet in Q-Learning,we pack the reward into Data packet,decreasing the overhead in sending reward packet solely.We implement our algorithms using ndnSIM,and compared with Flooding strategy and BestRoute strategy,we prove the superiority of our algorithms.The existing researches on caching in NDN have not considering the unique situation in IoT,considering the power,capacity,the freshness of data and the popularity of contents,we design a decision tree based cache management solution and implement it using ndnSIM.Compared with CEE and Probablitisc Caching algorithm,we show the high performance of our solution.In order to prove the feasibility of the NDN based service discovery architecture,we implement a testbed system using wireless module,microprocessores and smart devices.By designing and implementing instances,we prove the feasibility of the architecture and provide a platform for later researches.In summary,we make a deep study in key techniques on computation and communication of service discovery and come up with the innovative solution using NDN to build distributed service discovery architecture.And we focus on the efficiency of service discovery and management by using machine learning skills,which means a lot in academic research.And the testbed system not only is a platform for research,but also has lots of commercial value. |