Abstract
As enterprise information systems grow in scale and computing resources remain limited, some computing system services run into occasional abnormalities such as degraded stability and the failure to respond in time. Fewer monitoring tools mean that system maintenance managers may not be notified when abnormal events occur. It becomes difficult to diagnose and manage the problems promptly, to decrease service interruptions and to fully grasp how computing resources are being utilized. Monitor systems that provide enterprise-wide services must perform better if they are to meet the needs of customers. Therefore, it is necessary for the system administrator to monitor the system. In this case study, we propose and develop a cloud-based monitor system that uses Java to run on the J2EE platform. We build a cloud-based performance analysis and monitoring mechanism whose system architecture has three components: a server resource performance monitor, an enterprise application systems monitor and an abnormal event notification system. The performance analysis and monitoring mechanisms are integrated and include an active diagnosis system and maintenance module to issue notifications when any system experiences abnormal operations. This results in an increase in enterprise system availability and effectively lowers the frequency of abnormal operations. System resource usage reports compiled from the data enable the optimal allocation of the enterprise’s limited computing resources. This monitoring system ensures high quality and lowers the operational cost of providing information services, enhancing the provider–customer relationship.
Similar content being viewed by others
1 Introduction
This case study involves a monitor application system developed for public services and administrative businesses. As an information service grows in scale, the increased cloud traffic creates more load for the systems. In this case study, the current implementation provides information services via a single server that hosts multiple application systems. System maintenance personnel do not notice occasional application system instability and abnormal abortions until after users experience difficulties and report the problem. This is caused by the lack of an effective automated monitoring and management mechanism for the application system services and server resources. Locating and analyzing the causes of system abnormalities is often time-consuming, and providing timely support is unlikely when human resources are limited. Therefore, it is a major task to enhance the service quality of the information systems. Quality of service is both a major independent variable and a dependent variable [1,2,3].
Academicians studying networks have published and proposed various methods to improve server performance, including dynamic load balancing for cloud servers, a client-side server selection algorithm, load-balanced front-end and back-end cloud servers, solutions based on resource type for cloud services, as well as a pre-fetching method to reduce cloud latency [4,5,6,7]. Performance monitoring and management of the application systems enables system maintenance personnel to enhance system operations via a better understanding of usage dynamics and better employment of software and hardware system resources. Therefore, to increase the stability and availability of the application systems, the following goals can be achieved by developing and implementing a performance monitoring and management mechanism [8,9,10,11]:
-
1.
Effective monitoring and management of the performance of critical operations of the application systems.
-
2.
Increased efficiency in problem diagnosis via an integrated analysis and management platform to centrally manage and analyze possible causes for abnormalities.
-
3.
Establishment of an early warning mechanism that allows preventive management of the situation to ensure uninterrupted operation and maintain the service quality of critical application systems.
-
4.
Understanding of resource utilization and trends, which provide the basis on which proper measures for improvement can be taken.
2 Literature review
2.1 Java
Java was first released by SUN Microsystems, Inc. as a programming language with a runtime environment that allows it to be executed on multiple hardware platforms. Over time, other companies perfected the Java runtime environment. Java can be used to write either Java applets, which are embedded in a cloud page and are executed via a browser, or Java applications [8] which run independently. The Java architecture is divided into language syntax, the runtime environment and the application programming interface (API). The Android Gradle plugin (v3.0.0 and higher) supports all Java 7 language features and a subset of Java 8 language features that vary by platform version. When building an app using Android Gradle 4.0.0 and higher, a number of Java 8 language APIs can be used without requiring a minimum API level for the app [12,13,14, 16].
This page describes the Java 8 language features that can be used, how to properly configure the project to use them, and any known issues that may be encountered. This paper provides a link to a video for an overview. Note that when developing apps for Android, using Java 8 language features is optional. The project's source and target compatibility values can be set to Java 7, but the app must still be compiled using JDK 8. Gradle provides built-in support for using certain Java 8 language features and the third-party libraries that use them. As shown in Fig. 1, the default toolchain implements the new language features by performing bytecode transformations (e.g., “desugar”) as part of the D8/R8 compilation of class files into dex cod [17,18,19,20].
2.2 J2EE architecture
Java 2 Platform Enterprise Edition (J2EE) is a Java platform jointly specified by Sun Microsystems and IBM with support from many other companies. It is a standard that provides a multi-tiered, distributed application model and features reusable components, XML-based data exchange, a unified security model and flexible transaction control. It allows developers to deliver innovative customer solutions to market faster than ever, but the platform-independent J2EE component-based solutions are not tied to the products and APIs of any vendor. In other words, J2EE delivers high productivity, rapid development, high quality and easier maintenance in system development [5, 9, 21,22,23].
As shown in Fig. 1, the J2EE runtime architecture is a 3-tiered model defining the information exchange between the tiers: client, middle tier and the enterprise information system (EIS) tier. Using Tomcat as an example, the client tier is a cloud-based client such as a browser or mobile device. The client sends a request for a JavaServer Page (JSP) page to the middle tier. When the JSP executes in the middle tier, it either requests database information from the EIS tier or responds directly to the client’s request. The middle tier differs from the EIS tier in that the middle tier hosts business logic while the EIS tier is the data repository [10, 24,25,26].
2.3 Performance monitoring
The technologies used for performance monitoring can be categorized into two types: hardware-based and software-based (see Table 1) [6].
Hardware-based monitoring relies on the support of hardware devices to measure hardware events. An example would be a register (i.e., performance counter) on the processor designed specifically to accumulate the number of cache misses [27].
Software-based monitoring, on the other hand, records and measures events generated during software execution and can be supported by either software or hardware. An example would be monitoring the number of occurrences of context switching in the operating system. Frequently applied monitoring technologies include timing, counting/sampling and tracking. Timing and counting technology records only the duration and frequency of a particular type of event, while tracking technology records the time of the occurrence and relevant data for each event, which in turn can be used to derive the duration and frequency of the event occurrence [28, 29,30,31].
The following paragraphs give detailed explanations regarding software failure and HTTP response status codes:
-
Software failure
When software failure is detected by the system administrator through monitoring, it is expected to have a serious impact on all application systems tasks. In terms of the whole software lifecycle, software failures that are discovered late cost more to fix. From a software engineering perspective, high quality has to be maintained at each stage of the software development process: from software design, coding and testing to installation and maintenance. Software failures fall under three categories: system failure, system error and system fault [11].
-
HTTP response status codes
In a cloud-based application environment, the user relies on a browser to create a dynamic cloud page containing hyperlinks according to requested connections. Thus, the performance monitoring must consider the HTTP response status of the application systems. The HTTP response status codes are described in Table 2 [15, 32,33,34].
3 Monitor application systems architecture and abnormalities detection methods
3.1 Monitor application systems architecture
The organization in our case study provides information services around the clock, so any system that supports it must be active, timely, secure, highly efficient and fully automatic. The studied organization has subordinate units that are dispersed around Taiwan and provides application systems services to a variety of users (firms, people and other business-related organizations) who may be scattered across long distances. For the purpose of easy deployment, maintenance and upgrading of the application systems, the studied organization has specified that the system to be developed must be cloud-based with a 3-tiered, component-based architecture. Figure 2 shows the proposed J2EE-based 3-tiered application systems development environment architecture [35,36,37]. The system construction shown in Fig. 2 uses a 3-tiered application systems monitor architecture. The first tier is presentation, e.g., a notebook, desktop, handset or personal digital assistance (PDA). The second tier is business logic and is comprised of the application server and an operating system such as Windows or Unix. The third tier is the data tier, e.g., a database that uses Oracle or MS SQL. The presentation tier uses HTTP to connect to the application server, and the application server uses JDBC to access data from Oracle database [38,39,40].
The case study currently runs its information applications on UNIX and MS Windows NT Server, with major application systems and cloud servers running on top of the UNIX server. Cloud services are provided by Java programs (compiled into binary code) running on the Tomcat application system.
To ensure easy deployment, maintenance and upgrading of the application systems or cloud services, as well as to follow the cloud-based, 3-tiered, component-based development architecture, the case under study requires the use of the following development tools on UNIX operating systems: Oracle 11i for database management, and a Java-based integrated development environment (IDE) supporting EJB components development and supporting the J2EE development platform [41].
3.2 Abnormality checking methods and problem analysis
As noted in the introduction, the case under study is an application system developed for public service and administrative businesses. As the service grows in scale, increased cloud traffic creates more load for the information systems. In the current implementation, a single server hosts multiple application systems that provide information services. Without an effective means of monitoring application services and server resources, system maintenance personnel may not be able to detect system instability or failure before users notify them of the problem. Locating and analyzing the causes for such abnormalities costs considerable time and effort, and limited human resources make the provision of timely support unlikely. Thus, enhancing the service quality of the information systems becomes a critical task.
3.2.1 Abnormality checking methods
System maintenance personnel spend a lot of time manually checking the application systems to see if they are functioning normally. Most of the time, system maintenance personnel are notified by the users when application systems abnormalities occur, instead of proactively identifying problems in advance.
When a system abnormality does occur, system maintenance personnel use the following steps to check for the initial problem:
-
Check to see if the application systems server is up and running.
-
Observe the resource utilization or processes running on the application systems server.
-
Determine whether the J2EE application platform (Tomcat 5.X) is running properly on the application systems server.
-
Determine whether the application systems are running properly on the J2EE application platform (Tomcat 5.X).
-
Check to see if the database server connected to the application systems is up and running.
-
Check to see if the database management system is running properly on the database server.
-
Observe the resource utilization or processes running on the database server.
-
Check for proper functioning of related network devices such as DNS and NDS.
System maintenance personnel follow the above manual checking procedures to sort out the problems in each operation environment related to the application systems. Quite some time must still be spent following standard operating procedures, and there may simply not be enough time to do so. Meanwhile, application system services abnormalities are hard to prevent when they are caused by system resource depletion. Thus, given limited resources, maintaining the normal operation of the provided application services is often seemingly beyond the capacity of system maintenance personnel. Finding a correct path to tune the system for the desired resource allocation and to adjust the operation architecture for better performance usually takes time, and the trial and error method is relatively inefficient.
4 Problem analysis
The problems we found for the organization under study after a thorough analysis are shown in Table 3. Data were collected from the organization’s information systems maintenance personnel and focused on the following four aspects: the time when an application systems abnormality occurs, the preliminary check for initial problems when an abnormality occurs, problem prevention and understanding the resource utilization.
5 Performance monitoring and management design
5.1 System design
The performance monitoring and management system is designed as an integrated management platform allowing system maintenance personnel to quickly carry out monitoring and management tasks via automation. The architecture of the management platform shown in Fig. 3 comprises three functional components: the server resource performance monitor, the application systems monitor and the abnormality notification system.
The installed management platform will monitor the application system, collect and analyze data, give early warnings and notify personnel regarding abnormalities to ensure the system is available to provide normal service.
5.2 Design of server performance monitoring mechanism
5.2.1 Monitoring items
-
1.
Server aliveness monitoring
To monitor the availability of the server IP address.
-
2.
Aliveness monitoring of the J2EE application platform services on the application systems server
To monitor the normal operation of the J2EE application platform TCP port services.
-
3.
Server resource monitoring
CPU loading, memory usage, network traffic.
-
4.
HTTP connection data monitoring on application systems server
Collect HTTP connection data on the application systems server in order to understand the utilization of the application systems.
-
5.
SQL connection data monitoring on the database server
Collect SQL connection data on the database server in order to understand the database utilization.
6 Operation design
The server aliveness monitor is designed to send a series of ping commands (which serves the purpose of timing and counting) from the monitoring system to each monitored server at five-minute intervals. Each series contains five consecutive ping commands separated by 0.1 s. Server abnormality is assumed if there is no response to all five pings, in which case the monitoring system sends an email and messages to notify relevant system administrators and maintenance personnel.
The aliveness monitoring for the J2EE application platform services is designed to execute the nmap utility program built into the monitoring system to query each monitored server for service port aliveness (via the counter monitoring method). A service port in its normal LISTEN state will respond with a message, indicating that it is open. A closed message indicates that the service is not in the normal LISTEN state. In this case, the monitoring system sends email and messages to notify relevant system maintenance personnel.
Figure 4 shows the design of the above-described aliveness monitoring of the server and the J2EE application platform services, respectively.
The monitoring mechanism for server resource efficiency, application systems server HTTP connections and database server SQL connections is designed to track via the monitoring packages installed on the monitored server. Server resources are reported to the data collection platform, which collects all data regarding server resource utilization. To view the resource utilization and trends, system maintenance personnel can chart the cloud traffic, using the collected monitoring data.
Figure 5 is a schematic diagram showing how the monitoring items of the monitored server analyze the traffic data (via the tracking method) which the redtop tool uses to generate the cloud traffic chart that is presented on the browser.
System maintenance personnel may select a monitored server and examine its cloud traffic chart to understand the service condition. The cloud traffic chart contains the current value, average value and maximum value that can be shown by day, week, month and year. Every five minutes, the data collection program requests monitoring data from each monitored server and sends the collected data to programs that generate the cloud traffic chart or service condition chart, which are displayed on a browser. System maintenance personnel can read the cloud traffic chart of the collected monitoring data and understand the resource utilization and trends.
6.1 Design of monitor systems mechanism
6.1.1 Monitoring items
Normal operation of the J2EE application system service platform does not guarantee normal operation of the application systems, so any application systems running on the J2EE application platform must be monitored. The method used for monitoring is to check if the pages can be displayed on the user’s browser.
6.1.2 Operation design
The cloud-based application systems monitor issues connection requests to specified cloud-based application systems (the page server), and by emulating a browser to retrieve the respective HTML text strings from those systems. The monitoring system then locates specific keywords to prove that the application system has responded properly to the browser request. This design requires the identification of all the information that must be checked in the cloud pages of all application systems. The information includes:
-
Cloud page source code.
-
Cloud page URL.
-
Keywords for checking.
-
Cloud page compiled code.
Figure 6 shows the design for the checking of cloud-based application systems. The monitoring server first requests page information from the application system (the page server) being monitored, and then analyzes the pages that are returned. The detailed checking steps are as follows.
For items to be checked for one application system;
-
(1)
Connect to the specified application system’s cloud page.
-
(2)
Retrieve the corresponding HTML text string returned from the application system’s page.
-
(3)
Check the text string for specified keywords. Finding the keywords indicates that the page server is operating normally. If keywords are missing, there may be an application systems abnormality. The source codes returned by the application systems are written as a record in the check failure log.
-
(4)
Repeat steps (1) through (3) until all specified application systems are checked.
6.2 Design of abnormality notification mechanism
Alerts are one of the functions of monitoring for the aliveness of the application systems server, database server, J2EE service platform and the application system itself. Threshold values are set for each monitored resource item. In case of a system abnormality or of a value above the warning threshold, system maintenance personnel will be promptly notified via email or message. Upon notification, system maintenance personnel will follow standard operation procedures to respond to the abnormality, either to restore the system and resume operations or to take preventive measures in advance, in the shortest amount of time, to ensure normal system services and adequate system availability.
Figure 7 is a schematic diagram showing the system monitoring and abnormality notification design. When the monitoring server detects that the monitored server group has exceeded the abnormality warning threshold, it sends emails and messages via sendmail and the message dispatching program to the specified email box and mobile phone of the pre-assigned system administrator and maintenance personnel.
7 System architecture and implementation
7.1 Management platform setup
The performance monitoring and management system relies on an integrated management platform to allow system maintenance personnel to quickly navigate and select functions and perform management tasks. After entering the account number and password, the user is shown the cloud-based performance monitoring and management platform screen.
The cloud-based management platform allows system maintenance personnel to carry out resource monitoring and management tasks from a central system instead of having to log in to a variety of disparate systems, thus quickly grasping the operational status of the information system.
7.2 Server resource performance monitoring mechanism
The server aliveness monitor is designed to send a series of ping commands (which serves the purpose of timing and counting) to each monitored server, at five-minute intervals. Each series contains five consecutive ping commands separated by 0.1 s. Server abnormality is assumed if there is no response to all five ping requests, in which case the monitoring system sends email and messages to notify relevant system administrators and maintenance personnel.
The aliveness monitoring for J2EE application platform services is designed to execute the nmap utility program built into the monitoring system to query each monitored server for service port aliveness (via the counter monitoring method). A service port in its normal LISTEN state will respond with a message indicating that it is open. A closed message indicates that the service is not in the normal LISTEN state, in which case the monitoring system sends email and messages to notify relevant system maintenance personnel.
To monitor device resource utilization and HTTP connection traffic for application systems, and SQL connections for database systems, the user clicks on the system menu and navigates to the screen shown in Fig. 8. On the left side of the screen is a list of monitored devices, with our studied application systems server and database server marked by a red frame. The system maintenance personnel may select the desired device by day, week, month or year to display the device resource utilization and cloud traffic charts for the application systems’ HTTP connections and the database SQL connections. This allows them to better understand traffic trends.
7.3 Implement monitor application systems
The cloud-based application monitoring system issues connection requests to the specified cloud-based application system (the page server), and emulates a browser to retrieve the corresponding page’s HTML text string. Specific keywords are located to prove that the application system is responding properly to browser requests. For example, the information for checking the call-for-service system is specified by bringing up the operation screen to enter information for the application systems cloud pages: the cloud page source code and URL, and keywords for checking and page’s compiled code. When an application systems abnormality causes improper operation, the specified cloud page will not appear. The message notification management menu allows administrators to set up personnel to be notified. In the setup screen, the email addresses and mobile phone numbers are entered for personnel to be notified of system abnormalities or warnings via an email or message.
8 Experiments and result analysis
8.1 Data sources
From February, 2019 to April, 2019, the monitoring and management system collected data from the monitored application systems and related servers such as the cloud-based application systems server and its corresponding ORACLE DBMS server. The monitoring data on server resources, cloud-based application systems server http connections and database server SQL connections were collected every 5 min. A total of 25,800 samples were collected. These were used to generate the trend chart and statistics for application system abnormality frequency, the time required for the system maintenance personnel to be notified of the abnormality (since the occurrence) and the time required for the notified system maintenance personnel to locate the preliminary problems since the start of the incident. The collected data were compared with the data for 2020.
8.2 Experiment design
8.2.1 Ways of identifying service abortion
We compared the 2020 data with that collected between February and April, 2019. Table 4 shows the analysis results. After the performance monitoring and management system was installed, the percentage of application systems service interruption events (during office hours, alone) of which the system maintenance personnel were aware rose from 18.8% to 60%. The percentage of noticed service interruptions during non-office hours rose from 4.7% to 20%. Users notified maintenance personnel of only 20% of all events. However, the automatic notification portion of the performance monitoring mechanism did not make much difference in terms of timeliness.
Based on the data in Table 5, the performance monitoring and management system allows the system maintenance personnel to be aware of application system service interruptions during office hours 10 min earlier than before, when no monitoring systems were in place. The edge gained is almost 8 h for system interruptions that occur during non-office hours, thus avoiding situations in which the system would be down for dozens of hours before being noticed.
8.2.2 Preliminary locating of the abnormality
After the performance monitoring and management system is installed and put into operation, it checks the application systems at regular five-minute intervals to see if they are alive. If there is no response, it sends out email and messages to notify system maintenance personnel.
If the application system services responds slowly, system maintenance personnel can identify the problem and determine the cause by analyzing the utilization of system resources, with help from the cloud traffic chart. This is based on the email notification that resources are being overused beyond the preset warning level or via message notification regarding abnormalities. Table 6 shows how system maintenance personnel can recognize and make a primary diagnosis of the problem within 0.5 to 5 min of the incident, regardless of whether the issue occurs during office hours or non-office hours. The automated or approximately synchronized checking mechanism identifies system abnormalities and problems such as server resource overloading, J2EE application platform overloading or database management system overloading. During office hours, the performance monitoring and management systems gives system maintenance personnel a 23-min edge (on average) to be aware of the application systems abnormality and the preliminary problems. The edge is 8 h during non-office hours.
8.3 Resource utilization and performance analysis
When an abnormality occurs or a threshold is exceeded, the email or message notification allows system maintenance personnel to grasp the current state of operations of the application systems and environments in order to take proper measures. In addition to preventing the overall paralysis of the application systems environment, the monitoring system helps reduce user complaints. During the period of study, the average number of user complaints was 1.67 per month after deployment of the performance monitoring and management system (2020), a decrease of 76.2% from the 7.01 per month recorded in 2019. This is an effective increase in service availability.
8.3.1 Resource utilization and performance analysis
Once the performance monitoring and management system is set up, it is possible to monitor traffic within the operation environment related to the application systems, such as resource usage and traffic on the server:
-
CPU loading.
-
Memory usage.
-
Network traffic.
The monitored traffic is shown in Fig. 9.
The performance monitoring and management systems allow system maintenance personnel to obtain continuous monitoring data. Compared to the fragmented system resource utilization data collected prior to the installation of the monitoring system, the continuous datasets allow for easier understanding of the operation of the application systems environment and enable the identification of time-consuming services to improve the performance of the application systems. Graphics-based data and trend analysis allows for easier and faster understanding of problems, and facilitates the quick implementation of improvements that can increase performance.
8.4 Discussion
During office hours, the monitoring system allows system maintenance personnel to be aware of application system service abnormality incidents 10 min earlier than before when no monitoring systems existed. The edge gained is almost 8 h when system abnormalities occur during non-office hours. Application systems service interruptions can be minimized by the timely management of problems. Again, during office hours, the monitoring system allows system maintenance personnel to preliminarily locate system abnormality problems 23 min earlier than before when no monitoring systems were in place. This model can help with problem diagnosis, and saves time for problem management. The average number of system abnormalities was 1.67 per month after deployment of the performance monitoring and management system, i.e., 76.2% lower than the 7.01 per month recorded in 2019. Thus, service availability has been effectively raised. The performance monitoring and management system allows system maintenance personnel to easily identify time-consuming application system services via graphics-based data and trend analysis. This helps the staff to grasp the problems and devise improvement measures. Even this model has limitations: while the performance monitoring system does not eliminate system abnormalities, it provides greater opportunities for issue minimization and improvements to performance.
A well-implemented performance monitoring and management system for application systems can improve the level of service performance in non-quantifiable aspects as well:
-
1.
Information operation aspect
-
Quality of application systems:
The application systems can be fully grasped in terms of system operations and resource usage. Based on the evidence provided by the monitoring system, poorly performing systems can be identified and improvements can be required in order to stabilize operations.
-
Operation cost
Application system problems can be reduced, and limited computing resources can be optimally allocated and managed to lower the operational costs of information management.
-
2.
Customer satisfaction aspect:
-
Satisfaction
The application systems are operationally under control, and the whole system works smoothly to meet customer requirements and to boost customer satisfaction.
-
Requirement for timeliness
Increased system availability can be achieved through effective prevention of system abnormalities, better meeting customer requirements for timeliness in system usage and rapid response.
-
Customer relationship
Increased system availability and better response times reduce user complaints and enhance the relationship with the customer.
9 Conclusion
This research proposed and developed a cloud-based monitor system using Java to run on the J2EE platform. We built a performance analysis and monitoring mechanism. This paper has following contributions:
-
1.
The building of a cloud-based monitor system that has an integrated performance analysis and monitoring mechanism, as well as an active diagnosis and maintenance system that notifies system maintenance personnel of abnormal operations and deviations from specified performance parameters.
-
2.
We showed how system availability can be increased by effectively lowering the rate of abnormal operation incidents. Compiled from our data, the company report on system resource usage enables the optimal allocation of limited computing resource.
-
3.
The monitor system ensures high quality and lowers the operational cost of providing information service, enhancing the relationship with the customer. The average number of system abnormalities was reduced by 76.2%, effectively increasing service availability.
References
Feroz Khan AB, G, A. (2020) AHKM: an improved class of hash based key management mechanism with combined solution for single hop and multi hop nodes in IoT. Egypt Inform J. https://doi.org/10.1016/j.eij.2020.05.004
Feroz Khan AB, G, A. (2019) A cognitive key management technique for energy efficiency and scalability in securing the sensor nodes in the IoT environment: CKMT. Sci, SN Appl. https://doi.org/10.1007/s42452-019-1628-4
Feroz Khan AB, G, A. (2020) A Multi-layer Security approach for DDoS detection in Internet of Things. Int J Intell Unmanned Syst. https://doi.org/10.1108/IJIUS-06-2019-0029
Goslin, J, Bill J, Guy S, Gilad B (2013) The Java language specification, 2nd Edition 2013
Chen CH, (2006) An open interface architecture for cloud-based system administration, thesis, National Sun Yat-sen University
Kurniawan B (2002) Java for the cloud with servlet. JSP and EJB, New Riders, p 2002
Edith Cohen and Haim Kaplan (2000) Prefetching the means for document transfer: a new approach for reducing cloud latency. IEEE INFOCOM 2:854–863
Horton I (2004) Beginning Java’2, JDK, 5th edn. Wiley, New Jersey
Khawar ZA, Umrysh CE (2002) Developing Enterprise Java Applications with J2EE and UML. Addison-Wesley, Boston
Lan S (2001) Software Engineering, 6th edn. Pearson Education Limited, London
Dykes S, Robbins KA, Jeffery CL (2000) An empirical evaluation of client-side server selection algorithms. IEEE INFOCOM 2000(3):1361–1370
Gigandet S, Sudarsanam A, Aggarwal A (2001) The Inktomi climate lab: an integrated environment for analyzing and simulation customer network traffic. Inktomi Corp, California
Cardellini V, Colajanni M, Yu PS (1999) Dynamic load balance on cloud-server system. IEEE Internet Comput 3(3):28–39
Y Hu, A Nanda, Q Yang (1999) Measurement, analysis and performance improvement of the apache cloud server. Paper presented at IEEE International Performance, Computing and Communications Conference, pp.261–267
Cheng Y, Wang F, Jiang, et al (2018) A communication-reduced and computation-balanced framework for fast graph computation. Front Comput Sci 12(5):887
Guo K, Guo W, Chen Y et al (2015) Community discovery by propagating local and global information based on the MapReduce model. Inf Sci 323:73–93
Guo L, Shen H (2017) Zhu W (2017) Efficient approximation algorithms for multi-antennae largest weight data retrieval. IEEE Trans Mob Comput 16(12):3320–3333
Guo W, Chen G (2015) (2015b) Human action recognition via multi-task learning base on spatial–temporal feature. Inf Sci 320:418–428
Guo W, Liu G, Chen G, Peng S (2014) A hybrid multi- objective PSO algorithm with local search strategy for VLSI partitioning. Front Comput Sci 8(2):203–216. https://doi.org/10.1007/s11704-014-3008-y
Huang SM, Kwan, I, Yen DC, Hsueh SY (2000) Developing an XML gateway for business-to-business commerce” Web Information Systems Engineering, 2000. Proceedings of the First International Conference. Vol. 2. pp. 67–74
Huang X, Guo W, Liu G (2017) Chen G (2017) MLXR: multi-layer obstacle-avoiding X-architecture Steiner tree construction for VLSI routing. Sci China Info Sci 60(1):1–3
Huang X, Guo W, Liu G, Guolong Chen G (2016) FH-OAOS: a fast 4-step heuristic for obstacle-avoiding octilinear architecture router construction. ACM Trans Design Autom Electr Syst. https://doi.org/10.1145/2856033
Huang X, Liu G, Guo W, Niu Y, Chen G (2015) Obstacle-avoiding algorithm in x-architecture based on discrete particle swarm optimization for VLSI design. ACM Trans Design Autom Electr Syst 20(2):28
Lin B, Guo W, Xiong N et al (2016) A pretreatment workflow scheduling approach for big data applications in multicloud environments. IEEE Trans Netw Serv Manage 13(3):581–594
Liu G, Chen Z, Zhuang Z, Guo W (2020) Chen G (2020) A unified algorithm based on HTS and self-adapting PSO for the construction of octagonal and rectilinear SMT. Soft Comput 24(6):3943–3961. https://doi.org/10.1007/s00500-019-04165-2
Liu G, Guo W, Li R et al (2015) XGRouter: high-quality global router in X-architecture with particle swarm optimization. Front Comput Sci 9(4):576–594
Liu G, Guo W, Niu Y, Chen G, HuangX, (2015) A PSO-based-timing-driven octilinear steiner tree algorithm for VLSI routing considering bend reduction. Soft Comput 19(5):1153–1169. https://doi.org/10.1007/s00500-014-1329-2
Liu G, Guo W, Li R, Niu Y (2015) ChenG (2015b) XGRouter: high-quality global router in X-architecture with particle swarm optimization. Front Comput Sci 9(4):576–594
Liu G, Huang X, Guo W, Niu Y, Chen G (2015) Multilayer obstacle-avoiding X-architecture steiner minimal tree construction based on particle swarm optimization. IEEE Trans Cybern 45(5):989–1002. https://doi.org/10.1109/TCYB.2014.2342713
Ma T, Liu Q, Cao J, Tian Y, Al-Dhelaan A, Al-Rodhaan M (2020) LGIEM: global and local node influence based community detection. Future Gener Comput Syst 105:533–546
Wang J, Zhang XM, Lin Y et al (2018) Event-triggered dissipative control for networked stochastic systems under non-uniform sampling. Inf Sci 2018:S0020025518301749
Wei J, Liao X, Zheng H et al (2017) Learning from context: a mutual reinforcement model for Chinese microblog opinion retrieval. Front Comput Sci 12:714–724
Xia Y, Leung H (2014) Performance analysis of statistical optimal data fusion algorithms. Inf Sci 277:808–824
Yang D, Liao X, Shen H et al (2017) Relative influence maximization in competitive social networks. Sci China Inf Sci 60(10):108101
Yang LH, Wang YM, Su Q et al (2016) Multi-attribute search framework for optimizing extended belief rule-based systems. Inf Sci 370:159–183
Yang Y, Zheng X, Tang, (2017) Lightweight distributed secure data management system for health internet of things. J Netw Comput Appl 89:26–37
Ye Q, Li Z, Fu L, Zhang Z, Yang W, Guowei Yang G (2019) Nonpeaked discriminant analysis for data representation. IEEE Trans Neural Netw Learn Syst 30(12):3818–3832
Yu Z, Yu Z, Chen Y (2016) Multi-hop mobility prediction. Mob Netw Appl 21(2):367–374
Zhang Q, Qiu Q, Guo W et al (2016) A social community detection algorithm based on parallel grey label propagation. Comput Netw 107:133–143
Zhang H, Wu HJLV, Chen D (2000) Collaborative design system for performance. Proceedings of Academia/Industry Working Conference on Research Challenges 2000. pp. 59–63
Ye D, Chen, et al (2013) A novel and better fitness evaluation for rough set based minimum; attribute reduction problem. Inf Sci 222(3):413–423
Acknowledgements
This work was support by 2018 the key scientific research platform and scientific research project "Improved Cuckoo Algorithm and Its Application in Assembly Line Scheduling Problem" in Guangdong Province, China (2018GKTSCX098) and partial support by 2020 innovation entrepreneurship training program of Dongguan Polytechnic (DC202010).
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Peng, Y., Wu, IC. A cloud-based monitoring system for performance analysis in IoT industry. J Supercomput 77, 9266–9289 (2021). https://doi.org/10.1007/s11227-021-03640-8
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-021-03640-8