key: cord-0451850-norldn2d authors: Wang, Zhongjie; Liu, Mingyi; Tu, Zhiying; Xu, Xiaofei title: External Service Sensing (ESS): Research Framework, Challenges and Opportunities date: 2021-06-17 journal: nan DOI: nan sha: 21fff0948e96d784ca79156749378d69261b836e doc_id: 451850 cord_uid: norldn2d The flourish of web-based services gave birth to the research area textit{services computing}, a rapidly-expanding academic community since nearly 20 years ago. Consensus has been reached on a set of representative research problems in services computing, such as service selection, service composition, service recommendation, and service quality prediction. An obvious fact is that most services keep constant changes to timely adapt to changes of external business/technical environment and changes of internal development strategies. However, traditional services computing research does not consider such changes sufficiently. Many works regard services as textit{static} entities; this leads to the situation that some proposed models/algorithms do not work in real world. Sensing various types of service changes is of great significance to the practicability and rationality of services computing research. In this paper, a new research problem textit{External Service Sensing} (ESS) is defined to cope with various changes in services, and a research framework of ESS is presented to elaborate the scope and boundary of ESS. This framework is composed of four orthogonal dimensions: sensing objects, sensing contents, sensing channels, and sensing techniques. Each concrete ESS problem is defined by combining different values in these dimensions, and existing research work related to service changes can be well adapted to this framework. Real-world case studies demonstrate the soundness of ESS and its framework. Finally, some challenges and opportunities in ESS research are listed for researchers in the services computing community. To the best of our knowledge, this is the first time to systematically define service change-related research as a standard services computing problem, and thus broadening the research scope of services computing. With the rapid development of SOA, IoT, Cloud and Edge computing, the number of available services has exploded and the types of services has become increasingly diverse. The flourish of web-based services gave rise to the research area called services computing, and its academic community has kept continuously expanding since nearly 20 years ago [1] . Services computing involves many classical research problems, such as service selection [2] , service discovery [3] , service composition [4] , service classification [5] , Quality of Service (QoS) prediction [6] , and service recommendation [7] . An obvious fact is that most real-world services, both webbased services and business services, keep constant changes to timely adapt to changes of external business/technical environment and changes of internal competitive strategies. Service providers actively or passively make adjustments to their services. The types of changes include technical-level QoS and functionalities and business-level contents and performances such as price, promotion policies, and delivery channels; new services may enter the market, and dying services may exit. However, traditional services computing research does not consider service changes sufficiently. Many research works regard services as static entities; consequently, resulting in the situation that many proposed models/algorithms do not work in the real world. For example, for the service classification problem, when a service adds or remove certain features, the category it belongs to may change and the original classification results are no longer accurate; and for service recommendation, ignoring service changes may result in recommending a service that no longer conforms to the user's demand or preferences, or even worse, recommending a service that has been deprecated. It is necessary to summarize such kinds of issues related to service changes and define a consensual research problem to deal with these formidable challenges that service changes present to traditional services computing problems. In this paper, we called it External Service Sensing problem (ESS). The keyword sensing indicates that research on this problem is to perceive service changes timely and accurately. The keyword external is emphasized because this problem stands on the view of external observers of service to be sensed. Users of the service usually do not have the privilege to access the internal status of the service due to legal, business, ethical, and technical barriers, but they have to perceive the changes from the outside of the service. A significant challenge is that external observers perceive service changes in terms of the limited information that is exposed by the providers of the service, and to make the sensing more timely and accurately, new and effective approaches have to be elaborately studied. Note that to sense a service from the internal point of view has been widely studied in the past, such as run-time service performance monitoring [8] , [9] . This falls out of the scope of ESS and this paper. Fig. 1 briefly demonstrates the ESS problem. More specifically, an ESS problem could be decomposed into the following dimensions: 1) What are the objects to be sensed? This is called "sensing objects". 2) What kinds of perspectives of a sensing object are expected to change and need to be sensed? This is called where are these data collected? This is called "sensing channels". 4) How are concrete change information of sensing contents identified from sensing channels? This is called "sensing techniques". There are many options in each of the four dimensions, and a concrete ESS problem is therefore defined by the combination of different strategies adopted in these perspectives. The Benefits of a systematic study on the ESS problem are twofold. Firstly, incorporating timely and accurate sensing results into traditional services computing problems would drive services computing researchers to invent new models and methods for these problems so that the practicability and rationality could be significantly improved. Secondly, the presence of ESS would help identify many new application scenarios in services computing research. For example, service providers could adjust their business strategies in time by sensing changes in competitors' services. Regulators could develop appropriate policies to guide the healthy development of a service market by comprehensively sensing market changes. Most of these scenarios have not yet received sufficient attention from the services computing community. In recent years, there have been some studies involving specific perspectives of service changes. For example, Zhong et al. [10] presented a method for perceiving changes in the invocation relations between APIs and mashups in a web service ecosystem for more accurate service recommendation; Huang et al. [11] gave an approach for sensing QoS fluctuations in IoT environments to rank available services; Liu et al. [12] proposed a method for predicting the service ecosystems' evolutionary trends by tracking the changes of service communities; and Hao et al. [11] analyzed the changes of invocation relations between Apps by parsing source codes of these Apps. The most immediate work is by Zheng et al. [13] , [14] , which introduced the distributed infrastructure to access Web services periodically and evaluate their QoS so that the fluctuations of QoS could be perceived timely. Each of these studies can be considered as a concrete ESS problem, indicating the exploration of ESS has already been launched sporadically in the services computing community. However, since ESS has not yet been widely recognized as an independent services computing problem, these existing works usually treat the service sensing task as a subsidiary of other services computing problems. This greatly lowers the significance and challenges of ESS. To compensate for this, we are committed to a systematic discussion of ESS and propose a four-dimensional research framework to elaborate the scope and boundary of ESS. The main contributions of this paper are listed as follows: • To the best of our knowledge, this is the first time that the problem of ESS is explicitly and systematically studied. We explore the definition of ESS, the relevance of ESS to other traditional services computing problems, and the significance that ESS would bring to the services computing community. • A comprehensive research framework of ESS is proposed, which defines the four dimensions (sensing objects, sensing contents, sensing channels, and sensing techniques) of ESS and the relations between them. It lays a solid foundation for other researchers to carry out ESS research in the future. Concrete ESS problems could be easily instantiated from this framework. • We collect some representative existing ESS related works from services computing literature and use the framework to classify them. This demonstrates that the framework is compatible with existing research. We also summarize some challenges and opportunities for future research if ESS is widely accepted as a standard service research problem by the community. The remainder is organized as follows. Section II introduces the proposed framework in detail. Section III illustrates the effectiveness of the framework by systematic mapping and case studies. Section IV gives some challenges and opportunities of ESS. The last section is the conclusion. As mentioned in Section I, ESS is an upstream task of other services computing problems, such as service recommendation, QoS prediction, and service composition. Here we call them application scenarios of ESS. The input of an ESS problem are the sensing objects and sensing contents required by a specific application scenario, the output is the information of changes of sensing contents, and the solution of the ESS problem is to use specific sensing techniques to collect data via specific sensing channels and make data analysis to get the output which is further utilized in the application scenario. Fig. 2 shows the ESS framework which contains four internal dimensions, namely sensing objects, sensing contents, sensing channels and sensing techniques. The first two dimensions focus on what to be sensed, the third on where to sense, and the fourth on how to sense. Subsequent part of this section delineate each dimension respectively, and the relations between them. In terms of sensing granularity, sensing objects can be classified into specific services, service providers, third-party • Specific service: A service is delivered and provisioned by an organization or individuals to offer specific functionalities for meeting specific user demands. It may be a software service (e.g., a mobile App Instagram, a web API Amazon S3 API) or a physical facility in the real world (e.g., an Amazon Go store). Since external observers have no chance to access the interior of service, services are the finest sensing unit in ESS. • Service provider: including service companies (e.g., Google, Alibaba) and government regulators ( e.g., State Post Bureau of China). Sensing a service provider is usually accompanied by sensing the specific services it offers. Thus it has broader application scenarios. For example, users would like to know the latest released services of a company, and a company could timely adjust its business strategies according to the sensing of its competitors. • Third-party service platform (TPP): A TPP is operated by a specific organization and aggregates massive service providers and the corresponding services they offer. Users may select and use appropriate services from a large number of candidates. A TPP can be an online platform such as App Store, ProgrammableWeb, an offline physical platform such as Wanda Plaza, or a platform linking online and offline such as an e-commerce platform Amazon.com and a takeaway platform Meituan. Sensing TPP includes sensing the entry and exit of services or service providers to/from the TPP, ranking of services on the TPP, and so on. • Service ecosystem: It is a type of complex continuouslyevolving systems consisting of service providers and specific services that belong to specific regions or domains. Compared with TPP, service ecosystems typically have a larger size and cover a wider range of services and service providers. There are no explicit operators responsible for the provision of a service ecosystem (it evolves spontaneously). For example, the e-commerce service ecosystem in China is composed of thousands of online e-commerce websites, mobile Apps, offline marts, and billions of potential customers. Sensing changes in service ecosystems is often used in scenarios that support decision-making for service providers as well as market regulators. It should be noted that there is no strict boundary between these four categories of sensing objects, and multiple sensing objects may be simultaneously involved in an ESS application scenario. Sensing contents are elements or perspectives of a specific sensing object, and they might change along with time due to external or internal drivers. There are many types of sensing contents. For example, functionalities of a service may be expanded or compressed, Quality of Service (QoS) and Quality of Experience (QoE) may be improved or deteriorated, price of service may increase or cut down, and relations between two services may emerge or disappear. Different types of sensing objects may have a different sets of sensing contents. Representation forms of sensing contents are diverse. Some sensing content could be represented by continuous and precise values, such as QoS and price. Some are discrete and text-based, e.g., functions and delivery channels. There are also some sensing contents that are subjectively measured, such as QoE and health status. The degree of attention paid to different sensing contents varies among existing studies: some sensing contents have been well-studied, such as QoS. Community structures, relations, and functions are emerging sensing contents in recent studies. Note that existing studies have focused more on the static metrics of sensing contents than on their changes. Sensing channels are the location where necessary data related to the changes of sensing objects and sensing contents are acquired. Sensing channels can be classified into the following six types: • Physical sensing refers to the acquisition of sensing objects and contents from offline physical space and then transfer data to online cyberspace. Physical sensing may rely on hardware sensors, e.g., flight tracking 1 , smart home [15] , and smart city [16] , [17] . Physical sensing may also rely on volunteers (persons) to report changes they manually perceive, but obviously this approach requires significant labor costs, e.g., local traffic condition reporting [18] or crime incident reporting [19] . This is also called "social sensing". • Push notification means that a sensing object actively publicizes its changes to whom it may concern. This channel is widely used in reality, such as promotional emails, App update notifications, etc. • Profiles are text descriptions of a sensing object and are usually publicized by the sensing object itself, e.g., the description text of API service. Profiles have been widely used in a variety of services computing researches on account of the progress of natural language process techniques, but few studies have focused on sensing changes from service profiles. • Source code. On the one hand, with the prevalence of open source communities, many services expose their source codes to the public, e.g., Telegram 2 . On the other hand, the distribution format of some types of software services has been standardized. However, these services do not provide publicly-accessed source codes, some configuration files used to describe services are publicly accessible. For example, an Android application file APK always contains a file called AndroidManifest.xml. Changes of such types of services may be partially sensed via the updates of their source codes or configuration files. • User feedback refers to the evaluation of a sensing object from its users. Feedback can be a quantitative score such as the rating of Apps in the App Store, or textbased descriptions such as user reviews on Yelp. Changing trends of users' sentiments on specific perspectives of service is a valuable type of change to be sensed. • Social media & public media refer to acquire changes of sensing objects from the discussion contents in public social networking sites or public news reports. For example, there is a great deal of information about Windows on Reddit, and a wealth of investment events among service providers can be found from investment information sites 3 . Similar to the user feedback channel, change-related information in social media & public media is represented by the changing trend of opinions from massive users or the public. Compared with other sensing channels, this channel offers richer information about changes, and the cost for obtaining change information is comparatively lower. However, irrelevant and fake news would affect the accuracy of the sensing results. The above-mentioned sensing channels could be classified into active and passive ones in terms of whether the change information is actively and directly publicized by the sensing objects or not. Physical sensing and push notification belong to active sensing channels, and others are passive ones. Compared with passive sensing channels, active sensing could more timely provide more accurate information about changes, but the sensing contents are often limited and incomplete. This drives researchers to pay more attention to passive ones to pursue more comprehensive sensing. From another perspective, sensing channels can also be classified into direct and indirect ones depending on whether the sensing data is directly acquired from a sensing object or other sources related to the sensing object. Feedback and social media & public media are indirect sensing channels, while others are direct ones. The sensing latency of direct sensing channels would be lower than that of indirect ones, i.e., the timeliness of sensing is higher. Indirect channels exist more widely, but as mentioned above, there are lots of noisy data that require elaborate processing. Sensing techniques are processing methods for extracting changes of sensing contents from the data acquired from sensing channels. Some sensing techniques are tied closely to specific sensing channels. For example, IoT techniques utilize hardware sensors for physical sensing, and source code analysis techniques parse the source code of service to obtain specific changes of the sensing contents. Some sensing techniques have been widely used in other services computing problems and can be easily transferred to ESS, e.g., crowdsourcing approaches allow volunteers to actively report changes of sensing objects and contents, and data-driven deep learning methods such as text mining are used to extract changes from a user feedback or public media texts. These methods facilitate sensing changes from a massive amount of cheap data efficiently and accurately. Sensing techniques are not independent of each other. Some techniques are based on the data generated by other sensing techniques before they can process to obtain the target sensing contents. For example, complex network analysis relies on the graph constructed by other sensing techniques to obtain sensing contents such as community structure and health status of a service ecosystem, while statistical analysis methods aggregate explicit sensing contents obtained by other sensing techniques to calculate implicit sensing content that is not directly available. The four dimensions in the framework are not independent but are correlated with each other. Relations between them are shown in Fig. 3 . For an application scenario, several different sensing objects may need to be sensed, and these sensing objects can be of different granularity. A sensing object can contain more than one element/perspective, and the ones relevant to the application scenario are selected as the sensing contents. Different sensing objects may own some common sensing contents. Since different sensing contents of a sensing object are often distributed in different sensing channels, it is reasonable to bundle sensing objects and sensing content to support the application and find appropriate sensing channels. The selection of appropriate sensing techniques is often based on the form of data provided by the sensing channel. Generally speaking, the dimensions of the ESS framework have relatively obvious upstream and downstream relations, and different dimensions are with many-to-many relations. In this section, we first demonstrate a mapping from some existing work related to service changes to the proposed framework, i.e., to re-define the problems in these related work using ESS concepts. The objective is to show the rationality of the framework, i.e., it is compatible with previous services computing research. Then we give some case studies to show that this framework has the capability of defining realworld scenarios into standard ESS problems, i.e., it has good practicality. Table I shows the adaptation of some existing works to the proposed ESS framework. Although these works originally were not intended to address the ESS problems, we can see that each of them can be represented by the instantiation of the ESS framework. For example, the goal of Tu et al. [20] is to make mobile service recommendations, the object of their sensing is mobile Apps, and text mining are the sensing technique to obtain functions changes of Apps from App profiles. With the help of the sensing results of function changes of Apps, more reasonable and accurate recommendation results could be obtained than other App recommendation approaches without considering sensing service function changes. Due to limited space, we do not explain other works any more. Note that the ESS framework would inspire services computing researchers to extend their work by incorporating change-related information into their work. The framework gives researchers a systematic thinking way for this changeoriented extension. For example, Hao et al. [28] perform service recommendation by analyzing service descriptions without considering dynamic entry and exit of services, which leads to many deprecated services in the recommendation results. The recommendation of deprecated services could be avoided if such dynamic changes were sensed. This problem can be solved by simulating user requests to check the availability of services during the recommendation periodically. Here we give a real application scenario about travel service recommendation during COVID-19. It is then defined as a concrete ESS problem by the framework. During COVID-19, customer travel planning will be affected by various uncertainties, such as epidemic control policy around the world, and refund, change, and insurance policies of airlines and rail services. There are very frequent changes occurring in these services, and it is impracticable to recommend a travel plan to customers without considering these changes. For example, some cities may unexpectedly deny access to people from regions with high COVID-19 infection risk. Therefore, it is necessary to sense those changes that might occur on travel-related services and incorporate them into the recommendation. Fig. 4 gives the demonstration of using our ESS framework to define such travel service recommendation problem. The sensing objects include: (1) travel service providers and thirdparty travel platforms and the travel services they offer; (2) as governments play an important role in epidemic prevention and control, they also need to be sensed. For sensing contents, besides the common QoS attributes of the travel services, e.g., price, travel time, additional COVID-19 related frequently-changing perspectives such as refund and change policies, insurance policies, and epidemic policies, should be sensed to reduce the risk of travel, too. These sensing contents can be obtained from sensing channels such as service profiles, governments/services' push notifications, and published media. Since most of the information is disclosed to the public in the form of text, text mining is the sensing technique that has to be adopted. And statistical analysis and crowdsourcing are essential supplements. The sensing results are then incorporated into the travel service recommendation method to select the most appropriate travel route and flights that suit the preferences of a specific user, e.g., minimizing the risk of refund and cost. Another case that has been widely used in the real world is driving route planning. The route with the shortest distance is usually recommended. But when traffic condition changes are considered, the shortest route may not be the fastest one. When considering the external service sensing, text mining may be applied to acquire continuously updated road maintenance information from the local government's push notification (e.g., websites and mobile Apps); crowdsourcing and IoT sensing are also employed to sense the traffic flow directly from the physical world (this has been widely adopted in many mobile navigation Apps such as Baidu Map). Dynamic traffic condition information is then transferred to route planning algorithms to recommend a route for avoiding congestion and shortening actual driving time. ESS could also support the decision-making of service market regulators. Taking the bike-sharing service ecosystem as an example, the number of service providers and bikes they delivered to the market, the quality of bikes, the price per ride, and so on, keep dynamically changing over time. Market regulatory authority needs to monitor the development health status of this ecosystem and timely make appropriate policies to guide service delivery strategies of bike-sharing companies or the investment behaviors in stock markets. From the ESS point of view, the sensing object is a specific service ecosystem, the content is the health status of the ecosystem, and complex network analysis and statistical analysis could be used to identify the changes of various industry development metrics from transaction/investment data of various related companies. This case has been elaborately studied in Liu et al previous work [29] . From the three cases we can see that ESS problems exist widely in real world, and this demonstrates the potential of ESS research and the value of ESS applications. It is worthy to put more effort into ESS research and applications. Although a framework has been proposed to define ESS problems systematically, there are still many challenges to meet. Here we list some critical challenges for services computing researchers as research opportunities. A. Challenge 1: How to standardize the description and release channels of service changes? As we mentioned in Section II, there are different granularities of sensing objects, ranging from small specific services to large service ecosystems. The forms of sensing contents are diverse, too, ranging from numerical values to textual information. It is important to standardize the representation of these heterogeneous changes so that others could access and use the change-related information in a simple and convenient way. One possible solution is to create a Service Change Agreement (SCA) standard, just like using Service Level Agreement (SLA) [30] to standardize the commitment between a service provider and a client covering particular aspects of the service such as quality, availability, and responsibilities. How to publicize SCA of massive services to reduce the cost of duplicate sensing is also a challenging problem. A third-party SCA aggregation platform that provides standardized APIs for publicizing and acquiring SCAs might be a solution. B. Challenge 2: How to measure the quality of sensing? Inaccurate, incomplete, and delayed sensing would mislead the downstream tasks (recommendation, prediction, etc.) to unacceptable output, and too costly sensing is hard to accept neither. Designing metrics for ESS tasks is an urgent challenge and of great significance to form a standard evaluation system for future ESS solutions. In our opinions, four metrics are essential: 1) Accuracy: to what extent the sensing results could reflect the changes occurring in services? In other words, the perceived change-related information should be inconsistent with what has happened as far as possible. It is similar to the "precision" in machine learning. 2) Comprehensiveness: i.e., the changes that have occurred in services should be perceived as many as possible. It is similar as the "recall" in machine learning. 3) Timeliness: how long is it between the time when changes occurred and the time when these changes have been perceived? The longer the time lag is, the lower the timeliness of sensing is, and vice versa. Outdated change information is meaningless. 4) Cost: refers to how much it needs to pay to conduct the sensing and get results, including the cost for changerelated data collection and processing. Of course, users would like to perceive changes with lower cost. We do not present the detailed measurement of these metrics. Different application scenarios have different levels of tolerance on them. C. Challenge 3: How to protect privacy during sensing? Similar to user privacy, sensing objects also have their privacy. For example, a service provider hopes that its latest discount policies are known only to a limited number of its loyal users but should not be sensed by others (such as its competitors). To solve this problem, one possible idea is to mimic the robots protocol used in web crawlers to indicate what types of changes are allowed or not to sense. Even for those changes that are allowed to sense, service objects may have the willingness to control the dissemination scope of these changes, and new solutions have to be studied to manage the privacy issues comprehensively. Additionally, frequent sensing may increase the burden on the sensing objects, e.g., simulating user requests would increase the network burden of the service, and sensing objects can reduce this burden by proactively publishing its changes through the third-party SCA aggregation platform proposed in Challenge 1. D. Challenge 4: How to sense offline services more efficiently and cost-effectively? As we mentioned in Section II-C, physical sensing channel relies on hardware sensors or crowdsourcing (social sensors), which are much more costly than online service sensing. To alleviate this problem, cheaper sensors and more widespread deployment of sensors are required, and more efficient crowdsourcing strategies are to be further explored. On the other hand, novel ways of virtualizing offline services into cyberspace need further study. Synchronizing offline worlds with online worlds is considered as a big challenge. Fortunately, more and more practices have been conducted, such as the industrial Internet that facilitates the creation of digital twins of the two worlds. It remains a challenge to implement our proposed framework from a technical level. A set of tools and infrastructure that support the whole sensing process is required, such as the SCA aggregation platform and sensing-related APIs mentioned in Challenge 1. Such infrastructure and tools should provide common processing flows of ESS and enhance the sensing capabilities of service application; on the other side, they are to reduce the burden of developers who previously have to develop the sensing functionalities, so that developers are empowered by out-of-the-box built-in tools for different ESS dimension. The architecture and operational logic of this platform may be similar to that of current machine learning platforms, such as Amazon SageMaker 4 . In this paper we define a new research problem External Service Sensing based on our observations of service change related research and practice. We present a framework for unifying related work and guiding future research. We make a systematic mapping from existing service sensing related work to the proposed framework and validates the effectiveness of the framework. Some cases from real world also demonstrate that ESS problems indeed widely exist and need more attention. We also discuss some challenges of ESS that have not yet been fully defined and solved, which would be a uncultivated land of services computing research. We expect this paper would attract more researchers from services computing community to denote themselves to ESS problems. Service Computing: Concept, Method and Technology A survey on web service selection and ranking methods A survey on web service discovery approaches Web services composition: A decade's overview Augmenting labeled probabilistic topic model for web service classification A survey on web service qos prediction methods Similarity-maintaining privacy preservation and location-aware lowrank matrix factorization for qos prediction based web service recommendation Service performance monitoring and control toolset Optimal evolution planning and execution for multi-version coexisting microservice systems Time-aware service recommendation for mashup creation Time-aware service ranking prediction in the internet of things environment Community-based service ecosystem evolution analysis Distributed qos evaluation for real-world web services Investigating qos of real-world web services Smart home based on wifi sensing: A survey On combining crowdsourcing, sensing and open data for an accessible smart city Crowd-machine hybrid urban sensing and computing Perceptions of road traffic conditions along with their reported impacts on walking are associated with wellbeing Privacy preserving, crowd sourced crime hawkes processes Bidirectional sensing of user preferences and application changes for dynamic mobile app recommendations A social sensing approach for quality changes of real-world services Price-aware recommendation with graph convolutional networks Global and personal app networks: Characterizing social relations among mobile apps Empirical study on the interface and feature evolutions of mobile apps Method for predicting mobile service evolution from user reviews and update logs Constructing and evaluating an evolving web-api network for service discovery An efficient social-like semantic-aware service discovery mechanism for large-scale internet of things Service recommendation based on targeted reconstruction of service descriptions A data-driven approach for constructing multilayer network-based service ecosystem models Analysis on service level agreement of web services