COVER FEATURE OUTLOOK

Toward Ubiquitous Operating Systems: A Software-Defined Perspective

Hong Mei and Yao Guo, Peking University

In recent years, operating systems have expanded beyond traditional computing systems into the cloud, IoT devices, and other emerging technologies and will soon become ubiquitous. Despite the apparent differences among existing OSs, they all have in common so-called “software-defined” capabilities— namely, resource virtualization and function programmability.

n the January 2016 issue of Computer, Dejan Milo- Resource virtualization and function programmabil- jicˇi´c and Timothy Roscoe predicted what OSs would ity also lie at the heart of so-called “software-defined” look like in a decade based on current hardware and systems including software-defined networks (SDNs),2 application trends.1 Whereas they focused on OSs software-defined storage (SDS), and software-defined Ifor traditional computing systems such as PCs, servers, datacenters (SDDCs). Just as a traditional OS manages a and embedded systems, we instead examine the future of hardware system with software abstractions and pro- OSs more broadly from a software-defined perspective. vides runtime support for applications, we believe that In recent years, various OSs have been proposed and future OSs will provide all of the software-defined capa- developed for devices large and small, at the scale of sin- bilities for emerging technologies. Thus, an SDN is an OS gle computers as well as clusters, at both the hardware for networking hardware, while a software-defined cloud and software levels, and for applications ranging from is an OS for the cloud. We refer to these OSs as ubiquitous smart homes to smart cities. Although these OSs might operating systems (UOSs). look very different from one another, they all embody the same general principles and characteristics as tradi- A BRIEF HISTORY OF OPERATING SYSTEMS tional OSs—namely, resource virtualization and func- An OS is a layer of system software that lies between tion programmability. applications and computer hardware, managing resources

50 COMPUTER PUBLISHED BY THE IEEE COMPUTER SOCIETY 0018-9162/18/$33.00 © 2018 IEEE TABLE 1. Evolution of traditional operating systems.

Timeframe Representative OS(s) Computer system Main characteristics

1956 GM-NAA I/O IBM 704 The first practical OS Simple batch processing I/O management

1960s IBM OS/360 series IBM 360 series—mainframes Time-sharing Multibatch processing Memory management Virtual machines (VM/370)

1970s Unix Minicomputers/workstations First modern OS Developed with machine-independent languages (C) Provides standard interfaces Integrated development environment

1980s Mac OS, Windows, Personal computers (PCs) Provides modern GUI Improves usability for personal users

2000s Apple iOS, Android, Smartphones Customization of traditional OSs Windows Phone Improves usability for mobile devices New app delivery model (App Store, Google Play)

such as processors, memory, and storage as Android and iOS include a layer to geographically distributed computer while providing support to the applica- support mobile app development and systems or even virtual machines (VMs), tions running above it.3 execution to provide better experi- providing specific services through There were no OSs on the earliest ences for mobile users. connections. These new “meta- computers, as software applications ran With the rapid adoption of com- OSs” often run above traditional OSs directly on bare-metal machines. How- puter networks in the 1980s, it became such as Windows or Linux to provide ever, as computing systems became critical for OSs to provide networking support for Internet-based applications increasingly complex, it became harder capabilities, leading to the creation of and services. to manage the resources directly in an networking middleware and many new application. Consequently, more com- network OSs (NOSs). The earliest NOSs A SOFTWARE-DEFINED mon functionalities were abstracted such as Netware focused on PERSPECTIVE as drivers and libraries, creating a sys- connecting computers within a local “Software-defined” has become one tem software layer that could be shared network. These were later discontin- of the hottest buzzwords in both aca- among different applications. This ued when connecting to the network demia and industry. It describes a fam- software layer was called an “operating became a necessity for many users and ily of technologies including SDNs, system” because it was originally devel- most such capabilities were incorpo- SDS, and SDDCs that are collectively oped to abstract a system’s operating rated in newer versions of desktop OSs. sometimes referred to as “software- capabilities to ease the burden on oper- Talk of an Internet OS began in the defined everything” (SDX). In a software- ators. However, current OSs no lon- mid-1990s during the war between Mic- defined system, hardware resources ger emphasize system “operation” but rosoft and , which announced can be virtualized and managed by instead handle resource management, a set of new tools and programming OS routines or the control plane, and application development, and runtime interfaces for next-generation Internet- users can write programs to access support for a given system. based applications. Since then, many and manage the services provided by Table 1 lists major traditional OSs Internet OS implementations have virtualized resources.4 and compares their key character- been proposed, including the - We argue that OSs offer these same istics. Modern OSs mostly employ a based JavaOS and, most recently, Goo- capabilities. For example, a tradi- Unix-based architecture, while cus- gle’s browser-based Chome OS. tional OS such as Linux or Windows tomizing their functionalities for a Many NOSs and Internet OSs offer provides virtualization of hardware particular type of system. For example, networking capabilities or incorpo- resources through hardware driv- OSs such as Windows and macOS focus rate Internet-related data-management ers, and application development and on GUIs to provide better user experi- functionalities with OS-like struc- runtime support through software ences for desktop users, while OSs such tures. Their components might run on development kits (SDKs) and libraries.

JANUARY 2018 51 OUTLOOK

Desktop OSs Software-de ned desktop computers (Linux/Windows) Software-de ned wireless TinyOS sensor network motes

Cloud OS Software-de ned cloud Operating systems

OS for networks SDNs (software-de ned networks) )

OS for storage systems SDS (software-de ned storage) de ned

everything For example, the Living PlanIT

OS for datacenters SDDCs (software-de ned datacenters) SDX (software- Urban (living-planit.com) provides FIGURE 1. Operating systems and software-defined systems are mostly based on the abstractions and management same principles. interfaces for energy, water, waste management, transporta- tion, telecommunications, and Mobile OSs such as Android pro- aspects of our lives. To understand the healthcare systems, as well as vide an extra software-defined layer enormous impact UOSs will have, con- programming APIs to ensure with higher-level abstractions for sider these examples: interoperability among different mobile apps, including management platforms. of mobile data (for example, contact ››Web OSs. Web OSs, also known ›› Cloud OSs. Conceptually, a cloud and location data), a set of APIs for app as web desktops or webtops, OS does what a traditional OS development, and a set of libraries to provide a Linux-like environ- does—manage applications and support app execution. Whether OSs ment within a browser for users hardware—but at the scale of run on small devices (such as TinyOS5) to run applications and manage , replacing file or huge clusters (such as cloud OSs), all their data and storage. They systems with object storage and they offer both resource virtualiza- also include APIs for developers enabling almost unlimited stor- tion and function programmability. to create applications that can age capacity and I/O throughput. Put another way, a “software-defined” run within the browser. Exam- Instead of managing processes technology is really just an OS for that ple web OSs include Firefox OS, on physical machines, a cloud technology. In an SDN, for example, Chrome OS, eyeOS, YouOS, and OS manages tasks on VMs. More the control plane provides the abil- G.ho.st. importantly, it offers various APIs ity to write high-level applications to ››The Robot Operating System. ROS for cloud apps to utilize cloud manage the networking functions, is a meta-OS that provides devel- resources. Many cloud service while the data plane virtualizes net- opment and runtime support providers have created their own working resources. for complex and robust robotic cloud OS, including In sum, as Figure 1 shows, OSs and applications.7 Its extensive Azure, Amazon Web Services software-defined systems are mostly collection of open source tools, (AWS), and Huawei FusionSphere. based on the same principles. libraries, abstractions, and APIs There are also popular open can be used across a wide variety source cloud OSs such as Open- UBIQUITOUS OPERATING of platforms. Stack and Apache CloudStack. SYSTEMS ››HomeOS. A Microsoft initiative ››IoT OSs. Google’s Android More than a quarter of a century ago, to enable “smarter homes for Things (Brillo) is an embedded Mark Weiser envisioned a world in everyone,” HomeOS aims to sim- OS platform designed for low- which computing was ubiquitous.6 plify the creation and manage- power and memory-constrained His prediction seemed unrealistic at ment of home automation tech- IoT devices that uses Android the time but is becoming a reality with nology.8 It provides both intuitive APIs and Google Services. the emergence of the IoT and the pro- user controls and higher-level grammability of everyday objects—for abstractions for device orches- Figure 2 shows a general architec- example, smart lights that sense the tration. Research prototypes of ture for UOSs, which is similar to that environment and brighten or darken HomeOS have been deployed in of traditional OSs. UOSs embody the accordingly. We likewise argue that more than a dozen homes. same key concepts as traditional OSs— OSs will become ubiquitous. ››City OSs. There are many ini- resource virtualization and function UOSs constitute a new type of OS tiatives to create OSs to facil- programmability—but these concepts for a software-defined world where itate growth, energy use, and are more generally defined for ubiqui- software will be used to manage all environmental sustainability. tous scenarios:

52 COMPUTER WWW.COMPUTER.ORG/COMPUTER App App …… App App

Software development kits (SDKs)

Programming APIs Libraries Development tools models

››Abstractions for resource man- agement. A UOS provides Resource management abstractions to manage var- ious resources beyond tradi- Abstractions tional computing and storage resources. These function much Data/ Computation/ Storage/ Communication/ like drivers or hardware abstrac- information processes database relationships tion layers in traditional OSs but enable resource virtualization more generally. APIs are also FIGURE 2. General ubiquitous operating system (UOS) architecture. A UOS provides provided for users and applica- abstractions to manage hardware and software as well as resource virtualization along tions to access these virtualized with programming and runtime support for applications, especially those created by resources. For example, a UOS third-party developers. for social networks manages user information and relation- ships, as well as tracks user devices such as smartphones and tab- computing environments that span actions and communications lets, traditional desktop PCs and lap- continents. UOSs can also be built for between users. tops, standalone workstations and net- emerging application domains such as ››Development and runtime support worked servers, and server clusters and big data and artificial intelligence. for ubiquitous applications. A UOS clouds. We foresee OSs being extended provides APIs, programming to include almost all legacy and A UOS can be built for every object models, libraries, and develop- next-generation systems, from tiny edge (or collection of objects) in the phys- ment tools for applications like computing devices to huge distributed ical world. The goal of ubiquitous a traditional OS. However, this support is at a higher level, as ubiquitous applications run atop the UOS, which in turn runs above OSs for the virtual world traditional OSs such as Linux and Campus OS Personal OS Windows. The key difference is City OS Social network OS that UOSs support apps by third- Enterprise OS Family OS party developers, whereas exist- OSs for the physical world ing non-OS solutions are typically Robot OS Home OS implemented as a proprietary IoT OS Building OS layer on a system. Manufacturing OS Vehicle OS

UOS OUTLOOK OSs for IT systems As Figure 3 shows, we envision UOSs for Embedded OS many different entities, both real and Desktop OS virtual, as well as traditional IT systems. Server OS Cloud OS Big data OS UOS principles Internet OS Underlying this vision are three basic AI OS principles.

UOSs can be scaled to any size sys- tem. OSs have already been created for FIGURE 3. Different categories of UOSs for real and virtual entities as well as traditional small embedded systems and mobile IT systems.

JANUARY 2018 53 OUTLOOK

computing is to expand computation or organizations might need an OS breakthrough.9 An AI OS will capabilities beyond traditional IT OS to support the efficient man- become essential infrastructure systems to make all objects smarter. agement of processes as well to the success of new types of That will eventually mean making as resources including people, intelligent applications. these entities programmable, which funds, and machines. Enter- will require an OS. Robots (even Lego prise OSs could be created out Technical challenges robots) already have OSs. In a smart of existing enterprise systems, Despite their promise, UOSs present home, all appliances—including TVs, such as management informa- numerous technical challenges. washing machines, refrigerators, tion systems (MISs) or enterprise lights, microwave ovens, and coffee resource planning (ERP) sys- ››UOS models and architectures. A machines—will need an OS to become tems, by adding programming generic UOS model and architec- programmable. Every moving object APIs to support flexible enter- ture likely will not be suitable including vehicles, drones, bicycles, prise application development. for all UOSs. The most import- wheelchairs, and even strollers will ››Industrial/manufacturing OS. ant factor is the granularity of need a UOS as well. Many manufacturers have abstractions and programming already deployed automated pro- interfaces. Smaller granularity A UOS can be built for each entity in duction and robotic control sys- enables more flexibility, but at the virtual world. In addition to phys- tems. Although many of these the potential cost of application ical objects and systems, OSs could systems have been managed runtime performance. Deter- also be created for entities in specific with simple embedded systems, mining this tradeoff will be cen- application domains. For example, new software-defined abstrac- tral to UOS architecture design. organizations of various types and tions and communication capa- ››Resource virtualization. Virtu- sizes including families, enterprises, bilities will improve the systems’ alization is the key technology institutions, and government agen- efficiency and intelligence. enabling all OSs and SDX. With cies could be equipped with software- ›› Human-cyber-physical OS. An UOSs, computing will be pushed defined capabilities to manage per- emerging trend in computing is from the central cloud to the sonnel, information, schedules, and the convergence of three previ- edge, such as in smartphones inventory. OSs would provide abstrac- ously isolated domains: human and IoT devices. Thus, we need to tions to manage resources as well as beings, cyber systems, and the investigate lightweight virtual- support for the development and exe- physical world. This will bring ization technologies to provide cution of new applications. many interesting applications efficient OS abstractions and beyond current cyber-physical support software-defined edge UOS categories systems and the IoT. How- computing. Given these principles, we can expect ever, new software-defined ››Performance optimization. In to see many different categories of abstractions and capabilities UOSs for small-scale computer UOSs, for example: will be required to support systems or objects with weak human-cyber-physical system computing capabilities, improv- ››Big data OS. Big data appli- management, application devel- ing application execution per- cations have been built for a opment, and communications. formance will become critical. wide variety of domains. A big ››Artificial intelligence OS. An OS As more types of hardware, data OS could provide special will be needed to provide abstrac- resources, and applications functions for data abstraction tions for machine learning or emerge, it will be a challenge to and management, data access deep learning capabilities, as well provide efficient services, espe- and management APIs, and as programming support for AI cially for high-throughput and programming models and lan- applications. Android cofounder massively parallel scenarios. guages for big data applications. Andy Rubin recently predicted ››Security and privacy. Software ››Enterprise OS. Future enterprises that AI would be the next major is more vulnerable to security

54 COMPUTER WWW.COMPUTER.ORG/COMPUTER Smart threats than hardware. With a Application Smart grid Smart city …… Smart campus UOS in place, software becomes enterprise the control center of a system or environment, making it the Data-as-a-service Enterprise computing Mobile computing (DaaS) main target of attackers. In Application app framework app framework frameworks app framework addition, for the UOSs of systems that manage sensitive personal Internetware OS core data or critical information, pri- vacy will also become a first- System calls Internetware Internetware Internetware Internetware order consideration. processing APIs data APIs networking APIs device APIs ››Domain-specific programming languages. Current high-level programming languages such Computing Storage Network Devices PCs Phones Tablets TVs Resource as C/C++ and Java are designed management with computers in mind. New Cloud resources Edge resources domain-specific languages will be needed to develop more effi- FIGURE 4. Internetware OS architecture. Internetware applications run on top of the cient apps for particular UOSs— cloud and edge devices. The Internetware OS core provides abstractions to manage both for example, for an enterprise OS. cloud and edge resources, while an application framework layer accommodates applica- ››Achieving true intelligence. Soft- tions for different domains. ware is the basis for all intelli- gent applications. To achieve true intelligence, UOSs as well of Internetware applications.12 Figure VMware, and KVM. It features as applications must be able to 4 shows the general architecture of software-defined capabilities “think”—to manage and execute our Internetware OS, which we regard to generate cloud management intelligently. as a prototype UOS for future Inter- applications with architecture- net-based applications. Within the OS, based, model-driven runtime INTERNETWARE OS: an Internetware application runs on management mechanisms. A PROTOTYPE UOS top of the existing hardware systems YanCloud has been deployed Internetware is a paradigm for new including the cloud and edge devices. by many businesses as well as types of Internet applications that are The Internetware OS core provides major cloud server manufactur- autonomous, cooperative, situational, abstractions to manage both cloud ers such as Lenovo and Founder. evolvable, and trustworthy.10,11 Inter- and edge resources, while an applica- ››CampusOS. A prototype OS to netware consists of a set of autono- tion framework layer accommodates support Internet-based appli- mous software entities distributed applications for different domains— cations at a university campus, over the Internet, together with a set of for example, enterprise computing, CampusOS14 manages resources connectors to enable various collabo- mobile computing, and data as a ser- including student and faculty rations among these entities. Software vice (DaaS). personal information, course entities sense dynamic changes in the Examples of Internetware OS schedules, and school activities. runtime environment and continu- instances we have built include the It also provides abstractions to ously adapt to them through struc- following: manage these resources, as well tural and behavioral evolutions. as software-defined APIs and We have been researching and ››YanCloud. A cloud OS for private SDKs to support campus applica- building an OS for Internetware that cloud computing systems within tion development and execution. includes a set of software-defined an organization, YanCloud13 ›› YanDaaS. Most recently, we devel- features to abstract the low-level supports almost all existing VM oped an Internetware OS for data resource management functionalities technologies including Xen, management and sharing among

JANUARY 2018 55 OUTLOOK

ABOUT THE AUTHORS

HONG MEI is a professor and director of the Chinese Ministry of Education (MOE) Key Laboratory of High-Confidence Software Technologies at Peking University as well as vice president of the Beijing Institute of Technology. His research interests include systems software and software engineering. Mei received a PhD in computer science from Shanghai Jiao Tong University. He is a member of the Chinese Academy of Sciences and a Fellow of IEEE, the no. 3.2, 2009; www.willowgarage China Computer Federation, and the World Academy of Sciences. Contact him .com/sites/default/files/icraoss09 at [email protected]. -ROS.pdf. 8. C. Dixon et al. “An Operating System YAO GUO is a professor at the Chinese MOE Key Laboratory of High Confi- for the Home,” Proc. 9th USENIX dence Software Technologies and in the School of Electronics Engineering and Symp. Networked Systems Design and Computer Science at Peking University. His research interests include mobile Implementation (NSDI), 2012, pp. 25–25. computing, operating systems, and mobile application analysis. Guo received 9. T. Haselton, “The Man behind a PhD in computer engineering from the University of Massachusetts Amherst. Android Says A.I. Is the Next Major He is a member of IEEE and ACM. Contact him at [email protected]. Operating System,” CNBC, 18 Aug. 2017; www.cnbc.com/2017/08/18 /andy-rubin-says-ai-is-next-big -operating-system.. 10. H. Mei, G. Huang, and T. Xie, “Inter- different types of legacy software for new areas such as unmanned sys- netware: A Software Paradigm for systems. As its name implies, Yan- tems, industrial control, and brain-like Internet Computing,” Computer, vol. 45, DaaS provides DaaS functional- computing. no. 6, 2012, pp. 26–31. ities. Its main goal is to connect 11. H. Mei and J. Lü, Internetware: A New isolated legacy software systems REFERENCES Software Paradigm for Internet Com- and applications through auto- 1. D. Milojicˇic´ and T. Roscoe, “Outlook puting, Springer, 2016. mated API generation and new on Operating Systems,” Computer, 12. H. Mei and Y. Guo, “Development application development without vol. 49, no. 1, 2016, pp. 43–51. and Present Situation of Internetware legacy source code.15 YanDaaS has 2. N. McKeown et al., “OpenFlow: Operating Systems,” Science & Technol- been successfully deployed within Enabling Innovation in Campus ogy Rev., 2016, vol. 34, no. 14, pp. 33–41 hundreds of industrial legacy Networks,” ACM SIGCOMM Computer (in Chinese). systems covered by China’s Smart Communication Rev., vol. 38, no. 2, 13. X. Chen et al., “Towards Runtime City program. 2008, pp. 69–74. Model Based Integrated Manage- 3. H. Mei and Y. Guo, “Network-Oriented ment of Cloud Resources,” Proc. 5th Operating Systems: Status and Chal- Asia-Pacific Symp. Internetware (Inter- ith rapid IoT development, lenges,” Scientia Sinica Informationis, netware 13), 2013, article no. 1. many UOSs will emerge to vol. 43, no. 3, 2013, pp. 303–321 (in 14. P. Yuan, Y. Guo, and X. Chen, Wprovide software-defined Chinese). “Towards an Operating System for capabilities, especially resource vir- 4. H. Mei et al., “Understanding the Campus,” Proc. 5th Asia-Pacific tualization and function programma- Software-Defined from the Perspec- Symp. Internetware (Internetware 13), bility, to support the efficient deploy- tives of Software Researchers,” Comm. 2013, article no. 24. ment and management of new types China Computer Federation, vol. 11, no. 15. G. Huang et al., “Programming Sit- of ubiquitous applications. However, 1, 2015, pp. 68–72 (in Chinese). uational Mobile Web Applications several key technical challenges still 5. P. Levis et al., “TinyOS: An Operating with Cloud-Mobile Convergence: An must be resolved with respect to UOS System for Sensor Networks,” Ambient Internetware-Oriented Approach,” architecture, system performance, and intelligence, W. Weber, J. Rabaey, and E. IEEE Trans. Services Computing, 2016; security and privacy. Nonetheless, we Aarts, eds., Springer, 2005, pp. 115–148. doi:10.1109/TSC.2016.2587260. foresee UOSs appearing in various com- 6. M. Weiser, “The Computer for the puting and computer-assisted domains 21st Century,” Scientific Am., vol. 265, including robotics, enterprise com- no. 3, 1991, pp. 94–105. Read your subscriptions puting, manufacturing, big data, and 7. M. Quigley et al., “ROS: An Open- through the myCS publications portal at AI. Toward this end, our future work Source Robot Operating System,” ICRA http://mycs.computer.org includes developing Internetware OSs Workshop Open Source Software, vol. 3,

56 COMPUTER WWW.COMPUTER.ORG/COMPUTER