{"id":{"repo_id":"uoit","oai_identifier":"oai:ontariotechu.scholaris.ca:10155/1257"},"canonical_url":"https://search.dev.ndltd.org/etd/uoit/oai:ontariotechu.scholaris.ca:10155/1257","repository":{"repo_id":"uoit","name":"Ontario Institute of Technology","base_url":"https://ontariotechu.scholaris.ca/server/oai/request"},"display":{"title":"Kill switch design pattern for microservice architectures on internet of things devices","abstract":"Containers and virtual machines are being adopted to develop embedded Linux Internet-of-Things applications. Consumer Internet-of-Things devices have been notoriously insecure due to loss of continued software support. To help prevent this, we propose the ‘kill switch’ pattern. By defining operation levels for microservice-based virtualized application components and their respective communication paths, application functionality can be dynamically modified to an essential state. This thesis contributes: a formalized definition of the proposed design pattern for virtualized microservice applications; and an algorithm for handling the operation level mode change. We illustrate with three example realizations: a generic microservice-based model-view-controller application, an example system utilizing the Suricata intrusion detection system to generate events, and a modified Docker Engine implementation. Use cases, scenarios, and general application design processes are discussed, with suggested areas of future work.","abstract_html":"Containers and virtual machines are being adopted to develop embedded Linux Internet-of-Things applications. Consumer Internet-of-Things devices have been notoriously insecure due to loss of continued software support. To help prevent this, we propose the ‘kill switch’ pattern. By defining operation levels for microservice-based virtualized application components and their respective communication paths, application functionality can be dynamically modified to an essential state. This thesis contributes: a formalized definition of the proposed design pattern for virtualized microservice applications; and an algorithm for handling the operation level mode change. We illustrate with three example realizations: a generic microservice-based model-view-controller application, an example system utilizing the Suricata intrusion detection system to generate events, and a modified Docker Engine implementation. Use cases, scenarios, and general application design processes are discussed, with suggested areas of future work.","abstract_has_math":false,"creators":["Lennick, David"],"institution":"University of Ontario Institute of Technology","degree_name":"Master of Science (MSc)","degree_level":null,"degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":[],"advisors":["Liscano, Ramiro","Azim, Akramul"],"committee_chairs":[],"committee_members":[],"year":2020,"date_issued":"2020-12-01","date_published":"2020-12-01","updated_at":"2026-07-24T05:35:34Z","subjects":["Microservice architecture","Internet of things","Design patterns","Containers"],"languages":["en"],"rights":[],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"https://hdl.handle.net/10155/1257","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Liscano, Ramiro","Azim, Akramul"]},{"key":"dc:creator","label":"Author","values":["Lennick, David"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2021-02-26T17:20:19Z","2022-03-29T17:27:02Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2021-02-26T17:20:19Z","2022-03-29T17:27:02Z"]},{"key":"dc:date.issued","label":"Date","values":["2020-12-01"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Master of Science (MSc)"]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Ontario Institute of Technology"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Microservice architecture","Internet of things","Design patterns","Containers"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["en"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://hdl.handle.net/10155/1257"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["Containers and virtual machines are being adopted to develop embedded Linux Internet-of-Things applications. Consumer Internet-of-Things devices have been notoriously insecure due to loss of continued software support. To help prevent this, we propose the ‘kill switch’ pattern. By defining operation levels for microservice-based virtualized application components and their respective communication paths, application functionality can be dynamically modified to an essential state. This thesis contributes: a formalized definition of the proposed design pattern for virtualized microservice applications; and an algorithm for handling the operation level mode change. We illustrate with three example realizations: a generic microservice-based model-view-controller application, an example system utilizing the Suricata intrusion detection system to generate events, and a modified Docker Engine implementation. Use cases, scenarios, and general application design processes are discussed, with suggested areas of future work."]},{"key":"dc:title","label":"Title","values":["Kill switch design pattern for microservice architectures on internet of things devices"]}]}],"canonical_facts":{"dc:contributor.advisor":["Liscano, Ramiro","Azim, Akramul"],"dc:creator":["Lennick, David"],"dc:date.accessioned":["2021-02-26T17:20:19Z","2022-03-29T17:27:02Z"],"dc:date.available":["2021-02-26T17:20:19Z","2022-03-29T17:27:02Z"],"dc:date.issued":["2020-12-01"],"dc:description.abstract":["Containers and virtual machines are being adopted to develop embedded Linux Internet-of-Things applications. Consumer Internet-of-Things devices have been notoriously insecure due to loss of continued software support. To help prevent this, we propose the ‘kill switch’ pattern. By defining operation levels for microservice-based virtualized application components and their respective communication paths, application functionality can be dynamically modified to an essential state. This thesis contributes: a formalized definition of the proposed design pattern for virtualized microservice applications; and an algorithm for handling the operation level mode change. We illustrate with three example realizations: a generic microservice-based model-view-controller application, an example system utilizing the Suricata intrusion detection system to generate events, and a modified Docker Engine implementation. Use cases, scenarios, and general application design processes are discussed, with suggested areas of future work."],"dc:identifier.uri":["https://hdl.handle.net/10155/1257"],"dc:language.iso":["en"],"dc:subject":["Microservice architecture","Internet of things","Design patterns","Containers"],"dc:title":["Kill switch design pattern for microservice architectures on internet of things devices"],"dc:type":["Thesis"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_name":["Master of Science (MSc)"],"thesis:institution_name":["University of Ontario Institute of Technology"]},"updated_at":"2026-07-24T05:35:34Z"}