WO2014048851A2 - A method and a system to surveil applications of online services - Google Patents
A method and a system to surveil applications of online services Download PDFInfo
- Publication number
- WO2014048851A2 WO2014048851A2 PCT/EP2013/069601 EP2013069601W WO2014048851A2 WO 2014048851 A2 WO2014048851 A2 WO 2014048851A2 EP 2013069601 W EP2013069601 W EP 2013069601W WO 2014048851 A2 WO2014048851 A2 WO 2014048851A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- application
- navigation
- sequences
- surveillance
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3442—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3414—Workload generation, e.g. scripts, playback
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/875—Monitoring of systems including the internet
Definitions
- the present invention generally relates, in a first aspect, to a method to surveil applications of online services, and more particularly to a method for monitoring a web application in order to check and control its operation while providing online services.
- a second aspect of the invention relates to a system adapted for implementing the method of the first aspect.
- Most of the online services existing today are based on applications (e.g. online web applications). Users typically access to such web applications using conventional browsers from their computing devices (workstations, laptops, smartphones, etc.) to get a given service from them, e.g. book in a hotel booking system, by an item in an online shop, buy a flight ticket in a travel agency portal, etc.
- These web applications can serve to internal users in a given organization (e.g. the intranet portal of a given company) or can be publicly accessible through the Internet.
- Some applications are used by a huge number of concurrent users (even millions); in which case the application has to be designed to support such load.
- the application has several options ("search for a flight”, “purchase a ticket”, “show previous purchases”, etc.) each one needing data (in web forms, etc.) that would be different each time (the search option allow to specify the destination in a combo box, so an user could introduce a different city each time he/she uses the application).
- search option allow to specify the destination in a combo box, so an user could introduce a different city each time he/she uses the application.
- IT Information Technology
- applications need computational, storage and network resources to work, so they are deployed and run in Information Technology (IT) infrastructure (either "conventional" datacenters or, more recently, in cloud platforms) where these resources lay.
- IT Information Technology
- the amount of resources needed to perform properly depends on the particular application and the load it supports. In other words, the more users are using the application (and more resources-intensive are the navigation sequences they are performing), the more resources the application would need.
- An application with under-sized resource would perform poorly or not perform at all. This is not a desired situation for the application owner, as it could have severe business impact, e.g. employees cannot do their work (case of an internal application) or users will stop using the application and look for the same service in a competitor (case of public applications).
- monitoring systems such as Nagios, Ganglia, Zenoss Unified Monitoring or Zabbix
- load injectors such as JMeter
- web automation tools such as Selenium
- Load injection tools can be used to study the performance of an application under controlled circumstances, but are more oriented to stressing the application with synthetic load than to monitoring it in real usage conditions. In fact, using a load injector tool in a production application is a bad idea, as it would heavily interfere in the normal behavior of the application and could impact performance.
- TCP Transmission Control Protocol
- URL Uniform Resource Locator
- HTTP HyperText Transfer Protocol
- An object of the present invention is to eliminate the drawbacks mentioned above by providing an application surveillance system that allows application owners to check the performance of their applications based on navigation sequences that actually represent the behavior of the users on the application instead of using CPU load, RAM consumption or any other low level metric.
- the invention includes a method and a system to define navigation sequences, application quality limits, navigation combination and the triggering of actions based on surveillance.
- the invention includes advanced features such autocalibration loop for navigation sequences, navigation sequence anomalies detection, quality limits recommendations, navigation sequences combination and flexible action triggering with success check.
- the present invention relates, in a first aspect, to a method to surveil applications of online services, comprising as commonly used in the field monitoring at least one web application in order to check and control operation of said at least one web application, said at least one web application deployed and running in an internal or external controlled Information Technology (IT) infrastructure and adapted to be accessed for at least one user device with computing capacity.
- IT Information Technology
- the method of the first aspect comprises acquiring, by means of a surveillance application including a frontend unit, a database and a recording unit, a plurality of navigation sequences representing the behavior of said at least one user with said at least one web application while providing an online service, said surveillance application interacting with at least one user device with computing capacity.
- the surveillance application comprises recording by said recording unit each one of said plurality of navigation sequences and storing in said database said recorded navigation sequences.
- Communication is provided by means of a plurality of interfaces about interactions of said surveillance application with a programmable probe system, a scaling and healing system and a notification system external to said surveillance application.
- a calibration of said stored and recorded navigation sequences is also performed by choosing any sequence of said recorded navigation sequences.
- a quality limit is also defined for each one of said plurality of navigation sequences and a triggering condition is defined based on a combination of said plurality of sequences.
- the method also comprises checking the success or failure of said triggering.
- a second aspect of the present invention is related to a system to surveil applications of online services, said system surveiling online services comprising:
- At least one user device with computing capacity to access to at least one web application
- said at least one web application deployed and arranged to run in an internal or external controlled Information Technology (IT) infrastructure and adapted to be accessed for said at least one user device with computing capacity, and
- IT Information Technology
- system of the second aspect comprises a surveillance application adapted to control said at least one web application in order to acquire a plurality of navigation sequences representing the behavior of said at least one user with said web application while providing an online service.
- a frontend unit arranged to provide a user interface to said at least one user device with computing capacity using said system
- a recorder unit arranged to record said stored plurality of navigation sequences
- the system of the second aspect is adapted to implement the method of the first aspect.
- Figure 1 is an Applications Surveillance System controlling a set of running applications deployed and running on an external and controlled IT infrastructure, according to an embodiment.
- Figure 2 is the Applications Surveillance System controlling a set of running applications deployed and running on an internal and controlled IT infrastructure, according to an embodiment. Detailed Description of Several Embodiments
- Figure 1 and Figure 2 show embodiments of the Applications Surveillance System in which the invention is based. More specifically, the system is controlling a set of running applications deployed and running on an internal and controlled IT infrastructure (Figure 2) (e.g. a cloud computing platform) or in an external and controlled IT infrastructure ( Figure 1 ).
- the particular applications are not relevant as far as each given application exposes a navigable interface through a network (such as the Internet or an intranet). It means by navigable interface a set of interlinked web pages and the controls to navigate and operate them (links, forms, buttons, etc.).
- the Applications Surveillance System is able to interact with a programmable Probe System, a Scaling System and a Notification System. Users of the Applications Surveillance System are supposed to be managers of the applications (each user is the manager of one or more applications).
- the Application Surveillance System is composed of the following units or modules:
- Frontend This unit provides the user interfaces for the user of the system, implementing the methods described below. It deals with user authentication, authorization (e.g. each user only can apply the methods to the applications he/she owns) and method selection.
- the Application Surveillance System implements the following actions or methods:
- the Frontend offers a list of the applications managed by that user. The user selects one of them or specifies the entry point (home page) of an external application.
- the user is presented the home page of the selected application, accessed by the Application Surveillance System through the Recorder.
- the user signals the start of the recording process (e.g. press a "start button” in some part of the Frontend) and navigates the application as he/she desires, resembling a real user of the application.
- the Recorder performs and records each one of the navigation steps in a navigation sequence (i.e. and ordered list of steps executed on the application during the navigation session). Once he/she finished, he/she signals the stop of the recording (e.g. press a "stop button” in some part of the Frontend).
- T G be the time from the starting signal and the stop signal.
- T A the effective navigation time, recorded by the Recorder system subtracting to T G the "thinking times" (T T ) during which the user is not interacting with the application.
- T G T A + T T .
- the navigation sequence is stored in the database associating ⁇ T G , T A >.
- the identifier of the application in which context the navigation sequence has been recorded is also stored.
- the Frontend checks database and offers a list of the navigation sequences recorded by that user (according to procedure A). The user chooses a sequence, which associated ⁇ T G , T A ,>.
- the sequence is passed to the Probe System for reproduction.
- the Probe System reproduces the sequence several times and takes the mean value of the reproduction time (T R ) using one of the following procedures:
- N The sequence is reproduced N times, being N a fixed value.
- the sequence is reproduce as many times ( ⁇ /) as possible within a given maximum time T max . If N is lesser than a minimum acceptable number (N m(1 ) then the user is reported, so it can cancel the recording or continue until reach N m/(1 samples.
- the T R time is stored in the database associated to the sequence (so the information associated to the sequence should be at the end ⁇ T G , T A , T R >).
- the Frontend offers a list of the applications for which navigation sequences have been recorded. The user selects one of them.
- the user is presented a list of the navigation sequences, it is assumed that the user has recorded at least one navigation sequence, recorded and calibrated by that user (according to procedures A and B) for the chosen application in the previous step.
- the user chooses a subset of sequences (subset could be just one sequence), each one with its associated information ( ⁇ T G , T A , T R >).
- the user defines a quality limit using one of the following options:
- an effective time threshold (L/,) is defined using one of the following formula:
- the user defines the triggering condition based on the combination of sequences within the sequences subset
- the Probe System reproduces the sequences within the sequences subset and reports the measure times for each one.
- the Application Surveillance System uses that reports to check threshold overpassing and triggers an action if the condition in bullet 5 above is met, among the following ones:
- Notify (email to a given user, creating an issue in a ticketing system, SMS, etc.) through the Notification System.
- the Application Surveillance System checks that the success or failure of such action, checking the triggering condition again as specified in step 6 after a time T w - If the triggering condition stills, then surveillance on that application is disabled (as per procedure E) and a notification (email to a given user, creating an issue in a ticketing system, SMS, etc.) is sent to the user through the Notification System.
- the Frontend checks database and offers a list of the navigation sequences recorded and already calibrated by that user (according to procedure B). The user chooses a sequence, which an associated ⁇ T G i, T Ai >.
- Steps 2 and 3 of procedure B "Calibrate navigation sequence" are performed.
- the new T R time is stored in the database associated to the sequence, replacing the old one.
- the Frontend offers a list of applications being surveyed by the user (according to procedure C). The user selects one of them.
- the Frontend offers a list of applications managed by that user which surveillance configured but disabled (according to procedure E). The user selects one of them.
- the Frontend offers a list of applications being surveyed by the user, enabled or disabled (according to procedures C, E, F). The user selects one of them. 2. If application was enabled, it is disabled (according to procedure E). Surveillance configuration is removed (i.e. Tgju, and combined triggering conditions).
- the Frontend checks database and offers a list of the navigation sequences recorded by that user (according to procedure A) that are not being used by any surveillance (according to procedure C). The user selects one of them.
- the invention includes advanced features such as autocalibration loop for navigation sequences, navigation sequence anomalies detection, quality limits recommendations, navigation sequences combination and flexible action triggering with success check.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
A method and a system to surveil applications of online services
Field of the art
The present invention generally relates, in a first aspect, to a method to surveil applications of online services, and more particularly to a method for monitoring a web application in order to check and control its operation while providing online services.
A second aspect of the invention relates to a system adapted for implementing the method of the first aspect.
Prior State of the Art
Most of the online services existing today are based on applications (e.g. online web applications). Users typically access to such web applications using conventional browsers from their computing devices (workstations, laptops, smartphones, etc.) to get a given service from them, e.g. book in a hotel booking system, by an item in an online shop, buy a flight ticket in a travel agency portal, etc. These web applications can serve to internal users in a given organization (e.g. the intranet portal of a given company) or can be publicly accessible through the Internet. Some applications are used by a huge number of concurrent users (even millions); in which case the application has to be designed to support such load.
Except for very simple applications, they allow some degree of arbitrary interaction, e.g. the application has several options ("search for a flight", "purchase a ticket", "show previous purchases", etc.) each one needing data (in web forms, etc.) that would be different each time (the search option allow to specify the destination in a combo box, so an user could introduce a different city each time he/she uses the application). By navigation sequence its understood a particular interaction on the application, from the moment the user accesses to the application until he/she finished, including the sequence of all the transactions done and the data used in each one.
Applications need computational, storage and network resources to work, so they are deployed and run in Information Technology (IT) infrastructure (either "conventional" datacenters or, more recently, in cloud platforms) where these resources lay. The amount of resources needed to perform properly depends on the particular application and the load it supports. In other words, the more users are using the application (and more resources-intensive are the navigation sequences they are performing), the more resources the application would need. An application with under-sized resource would perform poorly or not perform at all. This is not a desired situation for the application owner, as it could have severe business impact, e.g. employees cannot do their work
(case of an internal application) or users will stop using the application and look for the same service in a competitor (case of public applications).
Thus, the performance of any application with an associated (fixed) amount of resources would be dependent of the load. The problem is that load cannot be predicted, it is not possible to know a priori how much users would be interacting with the application in a given moment and which particular navigation sequences would they be performing. So, it is needed to continuously surveil the performance of the running application, so its owner can anticipate performance degradation and take the appropriated corrective actions in that case (e.g. allocate more resources to the application to cope with the growing load).
Related technologies in the field are monitoring systems (such as Nagios, Ganglia, Zenoss Unified Monitoring or Zabbix), load injectors (such as JMeter) and web automation tools (such as Selenium).
Problems with existing solutions:
Existing monitoring solutions (Nagios, Ganglia, Zenoss or Zabbix) are mainly focused not in monitoring the application itself, but in monitoring the systems where the application is deployed. That is, these tools are oriented to monitoring Central Processing Unit (CPU) load, Random Access Memory (RAM) allocation, disk Input/Output (I/O), node network availability (through ping) and other low level parameters. However, application performance has to be measured in terms of transaction time (i.e. how much time the application is able to serve a given transaction, the lower the better) or transactions per second. In other words, from the point view of the user it is not relevant the CPU load (or any other low level metric). In fact, user has no visibility of any of such metric. What is important for the user is to be able to perform his/her transactions or a sequence of transactions (i.e. a navigation sequence) quickly and efficiently. And, at the end, the performance of the application cannot be derived from the low level performance metrics. A given application CPU and Random Access Memory (RAM) could be ok but the application could not perform correctly for other reasons, and vice versa.
Load injection tools (such as JMeter) can be used to study the performance of an application under controlled circumstances, but are more oriented to stressing the application with synthetic load than to monitoring it in real usage conditions. In fact, using a load injector tool in a production application is a bad idea, as it would heavily interfere in the normal behavior of the application and could impact performance.
Some other tools have some form of application monitoring, in the sense they can check the availability of a given Transmission Control Protocol (TCP) port or even query a
Uniform Resource Locator (URL) with a HyperText Transfer Protocol (HTTP) request. The most advanced in this sense is probably Selenium, a web automation framework. However, it only covers how to define the navigation sequence and reproduce it, and lacks important features like:
• The specification of a quality limit for the application
• The calculation of a reference reproduction time without using external tools.
• Actions derived of the result of reproducing the navigation sequence or combinations of navigation sequences Summary of the Invention
An object of the present invention is to eliminate the drawbacks mentioned above by providing an application surveillance system that allows application owners to check the performance of their applications based on navigation sequences that actually represent the behavior of the users on the application instead of using CPU load, RAM consumption or any other low level metric. In this sense, the invention includes a method and a system to define navigation sequences, application quality limits, navigation combination and the triggering of actions based on surveillance.
The invention includes advanced features such autocalibration loop for navigation sequences, navigation sequence anomalies detection, quality limits recommendations, navigation sequences combination and flexible action triggering with success check.
The present invention relates, in a first aspect, to a method to surveil applications of online services, comprising as commonly used in the field monitoring at least one web application in order to check and control operation of said at least one web application, said at least one web application deployed and running in an internal or external controlled Information Technology (IT) infrastructure and adapted to be accessed for at least one user device with computing capacity.
On contrary to the known proposals, the method of the first aspect comprises acquiring, by means of a surveillance application including a frontend unit, a database and a recording unit, a plurality of navigation sequences representing the behavior of said at least one user with said at least one web application while providing an online service, said surveillance application interacting with at least one user device with computing capacity.
The surveillance application comprises recording by said recording unit each one of said plurality of navigation sequences and storing in said database said recorded navigation sequences.
Communication is provided by means of a plurality of interfaces about interactions of said surveillance application with a programmable probe system, a scaling and healing system and a notification system external to said surveillance application.
A calibration of said stored and recorded navigation sequences is also performed by choosing any sequence of said recorded navigation sequences.
Moreover, a quality limit is also defined for each one of said plurality of navigation sequences and a triggering condition is defined based on a combination of said plurality of sequences.
Finally, the method also comprises checking the success or failure of said triggering.
Other embodiments of the method of the first aspect of the invention are described according to appended claims and in a subsequent section related to the detailed description of several embodiments.
A second aspect of the present invention is related to a system to surveil applications of online services, said system surveiling online services comprising:
at least one user device with computing capacity to access to at least one web application;
said at least one web application deployed and arranged to run in an internal or external controlled Information Technology (IT) infrastructure and adapted to be accessed for said at least one user device with computing capacity, and
a plurality of computational, storage and network resources provided by said internal or external controlled IT infrastructure.
On contrary to the known proposal the system of the second aspect comprises a surveillance application adapted to control said at least one web application in order to acquire a plurality of navigation sequences representing the behavior of said at least one user with said web application while providing an online service.
In an embodiment the surveillance application comprises:
- a frontend unit arranged to provide a user interface to said at least one user device with computing capacity using said system;
- a database to store a plurality of navigation sequences with associated information;
- a recorder unit arranged to record said stored plurality of navigation sequences;
- a plurality of interfaces arranged to establish communication with a probe system, a scaling and healing system a said notification system.
The system of the second aspect is adapted to implement the method of the first aspect.
Brief Description of the Drawings
The previous and other advantages and features will be more fully understood from the following detailed description of embodiments, with reference to the attached, which must be considered in an illustrative and non-limiting manner, in which:
Figure 1 is an Applications Surveillance System controlling a set of running applications deployed and running on an external and controlled IT infrastructure, according to an embodiment.
Figure 2 is the Applications Surveillance System controlling a set of running applications deployed and running on an internal and controlled IT infrastructure, according to an embodiment. Detailed Description of Several Embodiments
Figure 1 and Figure 2 show embodiments of the Applications Surveillance System in which the invention is based. More specifically, the system is controlling a set of running applications deployed and running on an internal and controlled IT infrastructure (Figure 2) (e.g. a cloud computing platform) or in an external and controlled IT infrastructure (Figure 1 ). The particular applications are not relevant as far as each given application exposes a navigable interface through a network (such as the Internet or an intranet). It means by navigable interface a set of interlinked web pages and the controls to navigate and operate them (links, forms, buttons, etc.). The Applications Surveillance System is able to interact with a programmable Probe System, a Scaling System and a Notification System. Users of the Applications Surveillance System are supposed to be managers of the applications (each user is the manager of one or more applications).
The Application Surveillance System is composed of the following units or modules:
• Frontend. This unit provides the user interfaces for the user of the system, implementing the methods described below. It deals with user authentication, authorization (e.g. each user only can apply the methods to the applications he/she owns) and method selection.
• Database. It stores navigation sequences with associated information
• Recorder. Used to record navigation sequences.
• Interfaces. Several modules in charge of communication with the Probe
System, the Scaling and Healing system and the Notification System.
The Application Surveillance System implements the following actions or methods:
A Record navigation sequence:
1 . The Frontend offers a list of the applications managed by that user. The user selects one of them or specifies the entry point (home page) of an external application.
2. The user is presented the home page of the selected application, accessed by the Application Surveillance System through the Recorder.
3. The user signals the start of the recording process (e.g. press a "start button" in some part of the Frontend) and navigates the application as he/she desires, resembling a real user of the application. The Recorder performs and records each one of the navigation steps in a navigation sequence (i.e. and ordered list of steps executed on the application during the navigation session). Once he/she finished, he/she signals the stop of the recording (e.g. press a "stop button" in some part of the Frontend).
■ Let TG be the time from the starting signal and the stop signal.
■ Let TA be the effective navigation time, recorded by the Recorder system subtracting to TG the "thinking times" (TT) during which the user is not interacting with the application. Thus, TG = TA + TT.
4. The navigation sequence is stored in the database associating <TG, TA>. The identifier of the application in which context the navigation sequence has been recorded is also stored.
B Calibrate navigation sequence:
1. The Frontend checks database and offers a list of the navigation sequences recorded by that user (according to procedure A). The user chooses a sequence, which associated <TG, TA,>.
2. The sequence is passed to the Probe System for reproduction. The Probe System reproduces the sequence several times and takes the mean value of the reproduction time (TR) using one of the following procedures:
a) The sequence is reproduced N times, being N a fixed value.
b) The sequence is reproduce as many times (Λ/) as possible within a given maximum time Tmax. If N is lesser than a minimum acceptable number (Nm(1) then the user is reported, so it can cancel the recording or continue until reach Nm/(1 samples.
c) The sequence is reproduced as many times needed so the mean value converges within a given internal ε for N samples, being N a fixed value, which a minimum of m (being m fixed value). A maximum of M (being M a fixed value) is defined, so if the sequence does not converge after M samples, a problem is reported to the user ("sequence is unstable").
d) A variation of c) in which M is not a fixed value, but a maximum time Tmax. If the sequence does not converge after reproducing it during Tmax, a problem is reported to the user ("sequence is unstable").
3. If TR > ccTG (a is a correction factor, 0<a≤1, a = 1 by default) then a problem is reported to the user (given that should be TR < TG always, due to the thinking times).
4. The TR time is stored in the database associated to the sequence (so the information associated to the sequence should be at the end <TG, TA, TR>).
Start application surveillance:
1. The Frontend offers a list of the applications for which navigation sequences have been recorded. The user selects one of them.
2. The user is presented a list of the navigation sequences, it is assumed that the user has recorded at least one navigation sequence, recorded and calibrated by that user (according to procedures A and B) for the chosen application in the previous step. The user chooses a subset of sequences (subset could be just one sequence), each one with its associated information (<TG, TA, TR>).
3. For each one of the sequences (being /' each particular sequence), the user defines a quality limit using one of the following options:
■ A percentage (p) of TGj for the target user perceived navigation time, so T'Gj = p■ TG >.
■ A degradation factor (t/,)
■ A recommendation done by the Application Surveillance System for either u, or T'Gj. This recommendation could be based on the mean value among time of the measured time for the sequence by the Probe System with a security margin.
U = TR(l + u), u = ^—L - l
LA
The user defines the triggering condition based on the combination of sequences within the sequences subset
■ Trigger action when all sequences overpass their threshold
■ Trigger action when at least one sequence overpass its threshold
■ Trigger action when a given number of sequences (from 1 to the cardinality of the sequences subset) overpass its threshold.
The Probe System reproduces the sequences within the sequences subset and reports the measure times for each one. The Application Surveillance System uses that reports to check threshold overpassing and triggers an action if the condition in bullet 5 above is met, among the following ones:
■ Command a corrective action to the Scaling and Healing System , among the following ones (only for applications deployed and running on an internal and controlled IT infrastructure):
• Scale up the application, e.g. create a new instance of some of the components of the application
• Perform a corrective application healing action, e.g. reset some failing components in the application.
■ Notify (email to a given user, creating an issue in a ticketing system, SMS, etc.) through the Notification System.
In the case that 6 were to make a corrective action, the Application Surveillance System checks that the success or failure of such action,
checking the triggering condition again as specified in step 6 after a time Tw- If the triggering condition stills, then surveillance on that application is disabled (as per procedure E) and a notification (email to a given user, creating an issue in a ticketing system, SMS, etc.) is sent to the user through the Notification System.
Re-calibrate a recorded navigation sequence:
1. The Frontend checks database and offers a list of the navigation sequences recorded and already calibrated by that user (according to procedure B). The user chooses a sequence, which an associated <TGi, TAi>.
2. Steps 2 and 3 of procedure B "Calibrate navigation sequence" are performed. The new TR time is stored in the database associated to the sequence, replacing the old one.
3. If the re-calibrated sequence belongs to the navigation sequence set of any surveillance (as defined in Procedure C), its U, is recalculated based on the new value of TR,
Disable surveillance on application:
1. The Frontend offers a list of applications being surveyed by the user (according to procedure C). The user selects one of them.
2. The surveillance on that application is disabled, i.e. the surveillance configuration for the application is not removed, but the Probe Systems stops reproducing sequences on it and corrective/notification actions are not taken (steps 6-7 in procedure C).
Enable surveillance on application:
1. The Frontend offers a list of applications managed by that user which surveillance configured but disabled (according to procedure E). The user selects one of them.
2. Application surveillance is enabled, i.e. steps 6-7 in procedure C are performed again.
Remove surveillance on application:
1. The Frontend offers a list of applications being surveyed by the user, enabled or disabled (according to procedures C, E, F). The user selects one of them.
2. If application was enabled, it is disabled (according to procedure E). Surveillance configuration is removed (i.e. Tgju, and combined triggering conditions).
H Remove recorded navigation sequence:
1 . The Frontend checks database and offers a list of the navigation sequences recorded by that user (according to procedure A) that are not being used by any surveillance (according to procedure C). The user selects one of them.
2 The navigation sequence is deleted from database, including all its associated information.
Advantages of the Invention:
The invention includes advanced features such as autocalibration loop for navigation sequences, navigation sequence anomalies detection, quality limits recommendations, navigation sequences combination and flexible action triggering with success check.
A person skilled in the art could introduce changes and modifications in the embodiments described without departing from the scope of the invention as it is defined in the attached claims.
Claims
1. - A method to surveil applications of online services, comprising monitoring at least one web application in order to check and control operation of said at least one web application, said at least one web application deployed and running in an internal or external controlled Information Technology (IT) infrastructure and adapted to be accessed for at least one user device with computing capacity, said method being characterized in that it comprises acquiring, by means of a surveillance application including a frontend unit, a database and a recording unit, a plurality of navigation sequences representing the behavior of said at least one user with said at least one web application while providing an online service, said surveillance application interacting with at least one user device with computing capacity.
2. - A method according to claim 1 , characterized in that said surveillance application comprises recording by said recording unit each one of said plurality of navigation sequences.
3.- A method according to claim 2, characterized in that it comprises storing in said database said recorded navigation sequences.
4.- A method according to claim 3, characterized in that it further comprises storing an identifer of said at least one web application regarding in which context said navigation sequences have been recorded.
5.- A method according to any of previous claims, characterized in that it comprises providing communication by means of a plurality of interfaces about interactions of said surveillance application with a programmable probe system, a scaling and healing system and a notification system external to said surveillance application.
6. - A method according to claim 5, characterized in that it comprises calibrating said stored and recorded navigation sequences by choosing said at least one user device with computing capacity any sequence of said recorded navigation sequences.
7. - A method according to claim 6, characterized in that it further comprises passing said chose sequence to said programmable probe system that reproduces said sequence a plurality of times and takes a mean value of a reproduction time in order to perform said calibration.
8. - A method according to claim 1 , characterized in that it comprises detecting anomalies of said plurality of navigation sequences.
9. - A method according to claim 1 , characterized in that it comprises defining a quality limit for each one of said plurality of navigation sequences.
10. - A method according to claim 9, characterized in that it comprises defining said quality limit by using an absolute value of a perceived navigation time, a percentage (p) of said perceived navigation time, a degradation factor (u,) and/or a recommendation done by said application surveillance for either said u, or said percentage of said perceived navigation time.
1 1. - A method according to claim 1 , characterized in that it further comprises defining a triggering condition based on a combination of said plurality of sequences.
12. - A method according to claim 1 1 , characterized in that it comprises performing said triggering when at least one sequence of said combined sequences are above an effective time threshold (U,).
13. - A method according to claim 1 1 , characterized in that it comprises performing said triggering when all of said combined sequences are above an effective time threshold
(U;).
14. - A method according to claim 12 or 13, characterized in that said effective time threshold (U,) is defined using one of the following formula:
U = T G ~ T = T G ~ T
RTG-TT ~ R TA
Tr'-TT
U = TR l + u), u= ^—^-l
15. - A method according to claim 1 1 , characterized in that it further comprises checking the success or failure of said triggering.
16. - A system to surveil applications of online services, said system to surveil online services comprising:
at least one user device with computing capacity to access to at least one web application;
said at least one web application deployed and arranged to run in an internal or external controlled Information Technology (IT) infrastructure and adapted to be accessed for said at least one user device with computing capacity; and
a plurality of computational, storage and network resources provided by said internal or external controlled IT infrastructure,
said system characterized in that it comprises a surveillance application adapted to control said at least one web application in order to acquire a plurality of navigation sequences representing the behavior of said at least one user with said web application while providing an online service.
17. - A system according to claim 16, characterized in that said surveillance application comprises:
- a frontend unit arranged to provide a user interface to said at least one user device with computing capacity using said system;
- a database to store a plurality of navigation sequences with associated information;
- a recorder unit arranged to record said stored plurality of navigation sequences; and
- a plurality of interfaces arranged to establish communication with a probe system, a scaling and healing system and a notification system.
18.- A system according to claim 17, wherein said system is adapted to implement a method according to any of previous claims 1 to 15.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| ES201231478 | 2012-09-25 | ||
| ESP201231478 | 2012-09-25 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2014048851A2 true WO2014048851A2 (en) | 2014-04-03 |
| WO2014048851A3 WO2014048851A3 (en) | 2014-06-19 |
Family
ID=49253272
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2013/069601 Ceased WO2014048851A2 (en) | 2012-09-25 | 2013-09-20 | A method and a system to surveil applications of online services |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2014048851A2 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2015131625A1 (en) * | 2014-09-25 | 2015-09-11 | 中兴通讯股份有限公司 | Application control method and device, and terminal |
| US10089492B2 (en) | 2015-05-25 | 2018-10-02 | Netspective Communications Llc | Patient navigation and situational awareness derived through context-sensitive information blocks delivery |
| CN108763016A (en) * | 2018-05-15 | 2018-11-06 | 广州市千钧网络科技有限公司 | A kind of method and device of acquisition user behavior data |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107918907A (en) * | 2017-12-13 | 2018-04-17 | 深圳市易达云科技有限公司 | A kind of order checking method and system |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6934934B1 (en) * | 1999-08-30 | 2005-08-23 | Empirix Inc. | Method and system for software object testing |
| US7072935B2 (en) * | 2000-04-28 | 2006-07-04 | Agilent Technologies, Inc. | Filtering web proxy for recording web-based transactions that supports secure HTTP steps |
| US8326973B2 (en) * | 2008-12-23 | 2012-12-04 | Novell, Inc. | Techniques for gauging performance of services |
| DE102011012609A1 (en) * | 2011-02-28 | 2012-08-30 | Fujitsu Technology Solutions Intellectual Property Gmbh | Method for determining efficiency of computer arrangement, involves comparing portion of stored test pattern with predetermined reference pattern to evaluate performance of computer arrangement |
-
2013
- 2013-09-20 WO PCT/EP2013/069601 patent/WO2014048851A2/en not_active Ceased
Non-Patent Citations (1)
| Title |
|---|
| None |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2015131625A1 (en) * | 2014-09-25 | 2015-09-11 | 中兴通讯股份有限公司 | Application control method and device, and terminal |
| US10089492B2 (en) | 2015-05-25 | 2018-10-02 | Netspective Communications Llc | Patient navigation and situational awareness derived through context-sensitive information blocks delivery |
| CN108763016A (en) * | 2018-05-15 | 2018-11-06 | 广州市千钧网络科技有限公司 | A kind of method and device of acquisition user behavior data |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2014048851A3 (en) | 2014-06-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12298878B2 (en) | Methods and systems for determining system capacity | |
| US11032285B2 (en) | Remote profile security system | |
| US9691035B1 (en) | Real-time updates to item recommendation models based on matrix factorization | |
| US10635433B2 (en) | Cross application behavior customization | |
| US9386117B2 (en) | Server side data cache system | |
| US8140643B2 (en) | Managing user personal information across web sites | |
| US20080243848A1 (en) | User specific logs in multi-user applications | |
| US20160315975A1 (en) | System and Method for Tracking and Auditing Data Access in a Network Environment | |
| US11740897B2 (en) | Methods for software development and operation process analytics and devices thereof | |
| US20170214576A1 (en) | Managing configuration drift | |
| CN107846321A (en) | A kind of monitoring method of interface, device and electronic equipment | |
| WO2014048851A2 (en) | A method and a system to surveil applications of online services | |
| US20050120024A1 (en) | Systems, methods, and computer program products for tracking and controlling Internet use and recovering costs associated therewith | |
| WO2014074961A2 (en) | Filtering views with predefined query | |
| US20250365341A1 (en) | Systems and methods for monitoring application activity in micro frontend dependent applications without use of a shell application | |
| US20220342779A1 (en) | Self-healing for data protection systems using automatic macro recording and playback | |
| CN106506455B (en) | A kind of management-control method and device of movable storage device | |
| WO2015057229A1 (en) | Storing data at a remote location based on predetermined criteria | |
| US9367373B2 (en) | Automatic configuration consistency check | |
| US20250342388A1 (en) | Remote desktop session recording and auditing using generative artificial intelligence | |
| CN117040790B (en) | Method for accessing and opening dual authentication system interface | |
| US12375549B2 (en) | Systems and methods for generating micro frontend dependent applications without use of a shell application | |
| EP4287025B1 (en) | Analytic engine for use with remote monitoring data and imperfect asset models | |
| US7482946B2 (en) | Method and apparatus for camouflaging business-activity information in a telemetry signal | |
| US20090125554A1 (en) | Statistical process control resource tracker |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13766937 Country of ref document: EP Kind code of ref document: A2 |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 13766937 Country of ref document: EP Kind code of ref document: A2 |