AssistantGraph: An Approach for Reusable and Composable Data-Driven Assistant Components

Steady progress in ubiquitous technologies and machine learning facilitates ever-new and better digital assistants. However, most of these emerging assistants rely on – partly similar – data-driven analyses that are independent of each other, leading to redundancy issues. In this paper, we propose a novel concept (termed AssistantGraph) for an efficient design and runtime support of digital assistants. More specifically, assistants need to represent their data-driven processing pipelines as a directed acyclic graph of assistant components (modularity) to benefit from serverless computing with data access. Facilitated component sharing across assistants (reusability) leads to a more connected and efficient overall graph: a shared component instance requires to run only once; versioned components are enabled by the proposed backward chains of converters (versioning). We further develop data and control flow mechanisms through recursive filtering on demand to trigger the data-driven components as required. Within a novel proposed and prototypically implemented open assistant infrastructure, we evaluate our concept in terms of feasibility and performance. The results show reduced redundancy with simultaneous significant performance gains (through component sharing) despite minimal additional overhead (due to modularization and backward compatibility). We believe that our approach gives a new perspective on data-driven assistants and complements an open assistant ecosystem.

[1]  Hassan Ghasemzadeh,et al.  Multi-sensor fusion in body sensor networks: State-of-the-art and research challenges , 2017, Inf. Fusion.

[2]  Michel C. A. Klein,et al.  Ontology versioning on the Semantic Web , 2001, SWWS.

[3]  Georg Carle,et al.  The SSL landscape: a thorough analysis of the x.509 PKI using active and passive measurements , 2011, IMC '11.

[4]  Joseph M. Hellerstein,et al.  Serverless Computing: One Step Forward, Two Steps Back , 2018, CIDR.

[5]  Yaoliang Yu,et al.  Petuum: A New Platform for Distributed Machine Learning on Big Data , 2013, IEEE Transactions on Big Data.

[6]  Hongji Yang,et al.  Developing a Research Ideas Creation System through Reusing Knowledge Bases for Ontology Construction , 2015, 2015 IEEE 39th Annual Computer Software and Applications Conference.

[7]  Armando Fox,et al.  Application-service interoperation without standardized service interfaces , 2003, Proceedings of the First IEEE International Conference on Pervasive Computing and Communications, 2003. (PerCom 2003)..

[8]  Mirco Musolesi,et al.  Anticipatory Mobile Computing , 2013, ACM Comput. Surv..

[9]  Yuan Yu,et al.  TensorFlow: A system for large-scale machine learning , 2016, OSDI.

[10]  Arkady B. Zaslavsky,et al.  Context Aware Computing for The Internet of Things: A Survey , 2013, IEEE Communications Surveys & Tutorials.

[11]  Max Mühlhäuser,et al.  Decision Support for Computational Offloading by Probing Unknown Services , 2017, 2017 26th International Conference on Computer Communication and Networks (ICCCN).

[12]  John F. Roddick,et al.  A survey of schema versioning issues for database systems , 1995, Inf. Softw. Technol..

[13]  Christian Meurisch,et al.  The Progress of the Energy-Efficiency of Single-board Computers , 2018 .

[14]  Sangjin Lee,et al.  Digital Forensic Approaches for Amazon Alexa Ecosystem , 2017, Digit. Investig..

[15]  Hadley Wickham,et al.  The Split-Apply-Combine Strategy for Data Analysis , 2011 .

[16]  Hamed Haddadi,et al.  Personal Data: Thinking Inside the Box , 2015, Aarhus Conference on Critical Alternatives.

[17]  Reynold Xin,et al.  Apache Spark , 2016 .

[18]  Erik Christensen,et al.  WSDL: Web Service Description Language , 2001 .

[19]  Max Mühlhäuser,et al.  Labels: quantified self app for human activity sensing , 2015, UbiComp/ISWC Adjunct.

[20]  Max Mühlhäuser,et al.  NICER911: Ad-hoc Communication and Emergency Services Using Networking Smartphones and Wireless Home Routers , 2017, MobiHoc.

[21]  Ryen W. White Skill discovery in virtual assistants , 2018, Commun. ACM.

[22]  Rene Mayrhofer,et al.  An architecture for context prediction , 2004 .

[23]  Joseph M. Hellerstein,et al.  GraphLab: A New Framework For Parallel Machine Learning , 2010, UAI.

[24]  Max Mühlhäuser,et al.  Upgrading Wireless Home Routers as Emergency Cloudlet and Secure DTN Communication Bridge , 2017, 2017 26th International Conference on Computer Communication and Networks (ICCCN).

[25]  Ruhi Sarikaya An overview of the system architecture and key components The Technology Behind Personal Digital Assistants , 2022 .

[26]  Yaoliang Yu,et al.  Petuum: A New Platform for Distributed Machine Learning on Big Data , 2015, IEEE Trans. Big Data.

[27]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[28]  David G. Andersen,et al.  Putting the "Micro" Back in Microservice , 2018, USENIX Annual Technical Conference.

[29]  Marin Litoiu,et al.  A design for adaptive web service evolution , 2006, SEAMS '06.

[30]  Max Mühlhäuser,et al.  Reference model of next-generation digital personal assistant: integrating proactive behavior , 2017, UbiComp/ISWC Adjunct.

[31]  Alexander Stuckenholz,et al.  Component evolution and versioning state of the art , 2005, SOEN.

[32]  Byung-Gon Chun,et al.  From the Edge to the Cloud: Model Serving in ML.NET , 2018, IEEE Data Eng. Bull..

[33]  Jim-Min Lin,et al.  Cross-platform software reuse by functional integration approach , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).

[34]  Siobhán Clarke,et al.  Opportunistic Service Composition in Dynamic Ad Hoc Environments , 2014, IEEE Transactions on Services Computing.

[35]  Inder Monga,et al.  Lambda architecture for cost-effective batch and speed big data processing , 2015, 2015 IEEE International Conference on Big Data (Big Data).

[36]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[37]  Abigail Sellen,et al.  "Like Having a Really Bad PA": The Gulf between User Expectation and Experience of Conversational Agents , 2016, CHI.

[38]  Max Mühlhäuser,et al.  Adaptive task-oriented message template for in-network processing , 2017, 2017 International Conference on Networked Systems (NetSys).

[39]  Hongji Yang,et al.  From Data Reuse to Knowledge Reuse in Web Applications: A Survey , 2016, 2016 IEEE 40th Annual Computer Software and Applications Conference (COMPSAC).

[40]  Jon Crowcroft,et al.  Privacy-Preserving Machine Learning Based Data Analytics on Edge Devices , 2018, AIES.

[41]  David A. Ferrucci,et al.  UIMA: an architectural approach to unstructured information processing in the corporate research environment , 2004, Natural Language Engineering.

[42]  Max Mühlhäuser,et al.  An Extensible Pervasive Platform for Large-Scale Anticipatory Mobile Computing , 2017, 2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC).

[43]  Jeff Magee,et al.  The Evolving Philosophers Problem: Dynamic Change Management , 1990, IEEE Trans. Software Eng..