WO2011019269A1 - Système, module d'interface, produit-programme informatique, support de données et procédé de surveillance des performances d'une application informatique - Google Patents

Système, module d'interface, produit-programme informatique, support de données et procédé de surveillance des performances d'une application informatique Download PDF

Info

Publication number
WO2011019269A1
WO2011019269A1 PCT/NL2009/050492 NL2009050492W WO2011019269A1 WO 2011019269 A1 WO2011019269 A1 WO 2011019269A1 NL 2009050492 W NL2009050492 W NL 2009050492W WO 2011019269 A1 WO2011019269 A1 WO 2011019269A1
Authority
WO
WIPO (PCT)
Prior art keywords
client
interface module
computer
client computer
server
Prior art date
Application number
PCT/NL2009/050492
Other languages
English (en)
Inventor
Ernst Hendrik Nolte
Original Assignee
Synquad B.V.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Synquad B.V. filed Critical Synquad B.V.
Priority to PCT/NL2009/050492 priority Critical patent/WO2011019269A1/fr
Publication of WO2011019269A1 publication Critical patent/WO2011019269A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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/3419Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3438Recording 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Definitions

  • the invention relates to a method of monitoring performance of a computer application, such as an e-commerce internet application, that is based on a remote application running on a server computer, and that is used by means of a client computer that is communicatively, for example wiredly and/or wirelessly, connected to the server computer.
  • the invention further relates to a system including a server computer and a client computer.
  • the invention also relates to an interface module.
  • the invention also relates to a router device provided with the interface module.
  • the invention also relates to a firewall device provided with the interface module.
  • the invention also relates to a computer program portion.
  • the invention further relates to a data carrier including the computer program portion.
  • Computer applications as described above have become increasingly popular with the increasing popularity of the internet. However, as is commonly known, such computer applications, as perceived by a user, sometimes do not function according to expectation. Such improper functioning can be cumbersome for the user of the client computer, as the computer application may be slow or may even be unusable for a while. In addition, it can be unwanted for a provider that utilises the server computer, such as a provider of an e-commerce application. If such an application does not function according to expectation, significant amounts of income can be lost. To be able to solve and/or prevent improper functioning of the computer application, it is desirable to find a cause for the improper functioning.
  • an operator of the server computer can check whether the remote application runs well on the server computer and/or can check an amount of traffic that flows over the network to and from the server computer within a domain of the server computer. If such checks do not explain the malfunctioning of the computer application, the problem is usually attributed to a bandwidth limitation, software and/or hardware limitation of the user of the client computer. Such a practice however does not solve the problem, and is often frustrating for both the user of the client computer and the operator of the server computer.
  • the operator of the server computer diagnoses the client computer as well, by means of analysis instructions that are generated manually by the operator of the server computer. This however is labour-intensive and time-consuming.
  • the invention provides a method and/or a system for monitoring performance of a computer application that is based on a remote application running on a server computer, and that is used by means of a client computer that is communicatively, for example wiredly and/or wirelessly, connected to the server computer, the method including the steps and/or the system being arranged for carrying out the steps: - receiving by means of an interface module a request from the client computer; - transmitting by means of the interface module the request to the server computer; - receiving by means of the interface module a response from the server computer, in response to the request; - providing by means of the interface module a client tag that includes software code that is arranged for instructing the client computer to collect client information that is representative for a performance of the client computer, of a rendering application running on the client computer, and/or of a communication between the client computer and the interface module, and to transmit the client information towards the interface module; - transmitting by means of the interface module the response and the client tag to the client computer; and - receiving
  • the interface module may be a separate software application and need not be designed dedicated for one single computer application, since it is designed to track and/or tag standard communication between the client computer and the server computer.
  • a rendering application running on the client computer may send a request which is received by the remote application running on the server computer. Subsequently, by the
  • the remote application can send a response which is received by the client computer. Based on such exchange of response and request, the computer application can function. When the performance of the computer application is good, the computer application functions well. In use, the user of the computer application can thus perceive the performance of the computer application.
  • the client information is received by means of the interface module, after transmission of the client information from the client computer enabled by the client tag.
  • the client information includes information on reception and handling, by the client computer, of the response that is received from the server computer. This variation is especially useful for monitoring performance of the rendering application running on the client computer.
  • the method may also enable that, in an embodiment, the server computer is unaware of the presence of the interface module, and/or of the provision and reception of the client tag.
  • the interface module may be arranged thereto.
  • the method may omit modification of the request that is received, by means of the interface module, from the client computer and that is transmitted, by means of the interface module, to the server computer.
  • the method may exclude the step of: - providing by means of the interface module a server tag that includes software code that is arranged for instructing the server computer to collect server information that is representative for a performance of the server computer, of the remote application running on the server computer, and/or of a communication between the server computer and the interface module, and to transmit the server information towards the interface module; and the method may for example exclude the step of: - transmitting by means of the interface module the server tag to the server computer. In this way the method is independent of the type of technology used by the server computer.
  • the method further includes the steps: - determining by means of the interface module first information of the request transmitted to the server computer; - determining by means of the interface module second information of the response received by the interface module; and - determining, from the first and second information, by means of the interface module server information that is representative for a performance of the server computer, of the remote application running on the server computer, and/or of a communication between the server computer and the interface module.
  • This enables determining a performance of the server computer, of the remote application running on the server computer, and/or of a communication between the server computer and the interface module.
  • This embodiment enables acquiring rather extensive information on the performance of the computer application. Performance related to the server computer and software (in particular the remote application) running thereon, to the client computer and software (in particular a rendering application) running thereon, and to the communication between the client computer and the server computer can be obtained.
  • the method further includes the steps: - determining by means of the interface module the moment at which the interface module transmits the request to the server computer; - determining by means of the interface module the moment at which the response is received by the interface module; and - determining by means of the interface module a time required by the server for processing the request.
  • important information about the performance of the server computer can be obtained, i.e. a time required by the server computer for processing the request.
  • the method is preceded by the steps: - providing by means of the interface module a previous client tag that includes software code that is arranged for instructing the client computer to collect previous client information that is representative for the performance of the client computer, of the rendering application running on the client computer, and/or of the communication between the client computer and the interface module, and to transmit the previous client information to the interface module; - transmitting by means of the interface module the previous client tag to the client computer; - receiving by means of the interface module the previous client information, after transmission of the previous client information from the client computer enabled by the previous client tag.
  • a full round trip of the request can be followed completely. For example, by means of the previous client tag, the moment of transmitting the request can be collected. Performance related to the full round trip can provide valuable information for analyzing the performance of the computer application.
  • the method further includes the steps: - determining, from the previous client information, by means of the interface module the moment at which the request is transmitted from the client computer; - determining, from the client information, by means of the interface module the moment at which the response is received and/or processed by the client computer; and - determining by means of the interface module a time between the moment at which the request is transmitted from the client computer and the moment at which the response is received and/or processed by the client computer.
  • these steps are combined with the steps of claim 3.
  • the method includes, preferably statistically, analysing the received server information for determining the performance of the server computer, of the remote application running on the server computer, and/or of the communication between the server computer and the interface module.
  • the method includes, preferably statistically, analysing the received client information for determining the performance of the client computer, of the rendering application running on the client computer, and/or of the communication between the client computer and the interface module.
  • the method includes, preferably statistically, analysing the received previous client information for determining the performance of the client computer, of the rendering application running on the client computer, and/or of the communication between the client computer and the interface module.
  • one, two, or all of these analysing steps are carried out by means of an analysis computer that is separate from the interface module.
  • an analysis computer that is separate from the interface module.
  • a delay, caused by the interface module, in communicating the request and/or response between the client computer and the server computer is decreased, since the analysis by the separate analysis computer has minimal impact on the computing load of the interface module.
  • the interface module is arranged for substantially minimizing the delay in communicating the request and/or response between the client computer and the server computer.
  • statistically analysing received information e.g. the received client information, the previous client information, and/or the server information
  • Statistically analysing may enable finding causes for malfunctioning of the computer application that occur relatively often. Such causes may then be repaired in order to prevent future malfunctioning.
  • the client computer is communicatively connected to the server computer only through the interface module. In this way, all requests and responses can be analysed. This is helpful when a problem with the computer application is encountered, because all communication between the server computer and the client computer can be analysed. Additionally, the method in this embodiment can be used for establishing a helpdesk, e.g. a functional helpdesk. After receiving the request by means of the interface module, data entered by the user of the client computer can be monitored.
  • a helpdesk e.g. a functional helpdesk.
  • the interface module may relay information to a helpdesk operator. Then, the helpdesk operator may see what the user of the client computer tries to do in using the computer application. If the user makes a mistake in using the computer application, this may thus be detected. Then, the helpdesk operator may advise the user of the client computer. In this way a helpdesk that is independent from, and is usually not noticed by, the server computer can be established. As a result, the helpdesk can be used in combination with many different types of server applications computers, independent of a type of technology used by the server applications.
  • the method includes transmitting, preferably by means of the interface module, a user instruction to the client computer.
  • a user instruction may be helpful for establishing the helpdesk.
  • the user instruction may for example be transmitted to the user by the helpdesk operator.
  • the client tag may include software code that is arranged for instructing the client computer to communicate the user instruction to the user of the client computer.
  • the interface module may be provided with a-priori information about functioning of the computer application, so that more useful user instructions can be communicated to the user of the client computer. In this way an automatic helpdesk may be established with reduced, or even no, assistance of the helpdesk operator.
  • the user instruction can e.g. be displayed on a screen of the client computer.
  • Communicating of the user instruction to the user of the computer application may be in addition to, or instead of, collecting the client information that is representative for the performance of the client computer, of the rendering application running on the client computer, and/or of the communication between the client computer and the interface module.
  • the steps of - transmitting by means of the interface module the response and the client tag to the client computer, and/or the step of - receiving by means of the interface module the client information, after transmission of the client information from the client computer enabled by the client tag may be omitted.
  • the user instruction may as well be transmitted to the client computer in other ways than by means of the client tag, e.g. not via the client computer.
  • the method and/or system is adapted to monitor performance of a plurality of mutually different computer applications based on remote applications running on one server computer or a plurality of server computers using a single interface module. Hence, it is not required to provide a dedicated interface module for each individual computer application. Thus, the method and/or system is more flexible in that it can be used for monitoring the performance of the plurality of computer applications. It is another objective of the invention to provide an improved method for monitoring performance of a plurality of computer applications that are running on a plurality of server computers, and that are used by means of at least one client computer that is communicatively, for example wiredly and/or wirelessly, connected to at least one of the server computers.
  • the invention provides a method for monitoring performance of a plurality of computer applications that are based on a plurality of remote applications running on a plurality of server computers, and that are used by means of at least one client computer that is communicatively, for example wiredly and/or wirelessly, connected to at least one of the server computers, the method including the steps: - receiving by means of an interface module a request relating to one of the remote applications from the client computer; - transmitting by means of the interface module that request to the server computer running the associated remote application; - receiving by means of the interface module a response from that server computer; - providing by means of the interface module a client tag, wherein the client tag includes software code that is arranged for instructing the client computer to collect client information that is representative for a performance of the client computer, of a rendering application running on the client computer, and/or of a communication between the client computer and the interface module, and to transmit the client information towards the interface module; - transmitting by means of the interface module the response and the client tag to the
  • the invention provides a system including a server computer, a client computer, and an interface module, wherein the client computer is communicatively, for example wiredly or wirelessly, connected to the server computer via the interface module, which system is arranged for monitoring performance of a computer application that is based on a remote application running on the server computer, wherein the interface module is arranged for: - receiving a request from the client computer; - transmitting the request to the server computer; - receiving a response from the server computer; - transmitting the response to the client computer; wherein the interface module is further arranged for: - providing by means of the interface module a client tag that includes software code that is arranged for instructing the client computer to collect client information that is representative for a performance of the client computer, of a rendering application running on the client computer, and/or of a communication between the client computer and the interface module, and to transmit the client information towards the interface module; - transmitting by means of the interface module the client tag to the client computer; and - receiving by means of the interface module
  • the invention provides a system for monitoring performance, as may be perceived by a user, of a computer application that is based on a remote, and preferably interactive, application running on a server computer, the system including at least two server computers, a client computer, and an interface module, wherein the at least two server computers are arranged for running mutually different remote applications, wherein the client computer is communicatively, for example wiredly and/or wirelessly, connected to the interface module, wherein the interface module is arranged for: - receiving a request relating to one of the remote applications from the client computer; - transmitting the request to the server computer running the associated remote application; - receiving a response from that server computer in response to the request; wherein the interface module is further arranged for: - providing by means of the interface module a client tag that includes software code that is arranged for instructing the client computer to collect client information that is
  • the system includes a plurality of interface modules that are similar to the interface module. This is useful for example when the at least two server computers are running similar remote
  • Computer applications that can profit from this embodiment are applications that are simultaneously used by a relatively large amount of users from a relatively large amount of client computers, for example computer application arranged for searching the internet.
  • the invention also provides the interface module.
  • the invention provides a router device and/or a firewall device, provided with an interface module, arranged for communicatively, for example wiredly or wirelessly, connecting at least one client computer to at least one server computer via the interface module, which interface module is arranged for monitoring performance of a computer application that is based on a remote application running on the server computer, wherein the interface module is arranged for: - receiving a request from the client computer; - transmitting the request to the server computer; - receiving a response from the server computer; - transmitting the response to the client computer;
  • the interface module is further arranged for: - providing by means of the interface module a client tag that includes software code that is arranged for instructing the client computer to collect client information that is representative for a performance of the client computer, of a rendering application running on the client computer, and/or of a communication between the client computer and the interface module, and to transmit the client information towards the interface module; - transmitting by means of the interface module the client tag to the client computer; and - receiving by means of the interface module the client information, after transmission of the client information from the client computer enabled by the client tag; and wherein the interface module is, optionally, further arranged for performing a method according to the invention.
  • the invention also provides a computer program product including computer code portions arranged for performing, when run on a programmable apparatus, the steps of a method according to the invention. Preferably, these steps are, in use of the computer program product, at least partly carried out by means of an interface module according to the invention.
  • the computer program product may be arranged for carrying out, by means of the interface module, a method for monitoring performance of a computer application that is based on a remote application running on a server computer, and that is used by means of a client computer that is
  • the method including the steps: - receiving by means of the interface module a request from the client computer; - transmitting by means of the interface module the request to the server computer; - receiving by means of the interface module a response from the server computer, in response to the request; - providing by means of the interface module a client tag that includes software code that is arranged for instructing the client computer to collect client information that is representative for a performance of the client computer, of a rendering application running on the client computer, and/or of a communication between the client computer and the interface module, and to transmit the client information towards the interface module; - transmitting by means of the interface module the response and the client tag to the client computer; and - receiving by means of the interface module the client information, after transmission of the client information from the client computer enabled by the client tag.
  • the invention also provides a data carrier including the computer program product.
  • the data carrier may for instance comprise a magnetic data carrier, such as a hard disk, an optical data carrier, such as a compact disk (CD) or DVD, a solid state device data carrier, or carrier waves, such as available on an intranet or the internet.
  • Figure IA shows a system, in an embodiment according to the invention, including a server computer, a client computer, and an interface module;
  • Figure IB shows a time schedule
  • Figure 2 illustrates, in an example, a third method
  • FIG. 3 shows a system in another embodiment according to the invention.
  • Figure 4 shows a router device in an embodiment according to the invention.
  • Figure 5 shows a firewall device in an embodiment according to the invention.
  • Figure IA shows a system 2, in an embodiment according to the invention, including a server computer 4, a client computer 6, and an interface module 8.
  • the client computer 6 is communicatively, in this example wiredly via electrically conductive wired connections 10, connected to the server computer 4 via the interface module 8. Such a connection may be established by entering an internet address or domain name in a web browser for browsing the internet.
  • the client computer 6 is communicatively connected to the server computer 4 only through the interface module 8. In other variations however, there may be additional connections between the client computer 6 and the server computer 4 that are not via the interface module 8.
  • the wired connections 10 may, at least partly, be formed by a network used for the internet, by one or more proxy servers, and/or by other types of servers.
  • the system 2 is arranged for monitoring performance of a computer application, here a client- server based computer application, that is based on a remote application running on the server computer 4.
  • the interface module 8 may be arranged for carrying out a method in a first embodiment according to the invention (the first method).
  • Figure IB shows a time schedule related to the first method.
  • the first method includes the step of receiving by means of the interface module 8 a request REQl from the client computer 6 (at time ti in figure IB). After that, the request REQ2 is transmitted to the server computer 4 (at time t2 in figure IB) by means of the interface module 8. Although the request REQ2 may be equal to the request REQl, different reference numerals are used to indicate whether the request REQl, REQ2 is between the client computer 6 and the interface module 8, or between the interface module 8 and the server computer 4. Subsequently, by means of the interface module 8 a response RESPl is received from the server computer 4 (at time t ⁇ in figure IB), in response to the request REQ2.
  • the first method further includes the step of transmitting by means of the interface module 8 the response RESP2 (at time t ⁇ in figure IB) to the client computer 6.
  • the response RESP2 may be equal, i.e. having the same content, to the response RESPl, different reference numerals are used to indicate whether the response RESPl, RESP2 is between the client computer 6 and the interface module 8, or between the interface module 8 and the server computer 4.
  • Such receiving and transmitting of the request REQl, REQ2 and the response RESPl, RESP2 by means of the interface module 8 may e.g. occur when a user of the client computer 6 is visiting an e-commerce website.
  • the user may for example select, and click on, a 'buy' button on a screen of the client computer 6, in order to buy a product via the e-commerce website that is offered for sale on the e-commerce website.
  • a corresponding request REQl will be transmitted from the client computer 6 and the request REQ2 will reach the server computer 4, via the interface module 8.
  • the remote application running on the server computer 4 may send a confirmation to the user of giving a 'buy' order.
  • a corresponding response RESPl may be transmitted from the server computer 4 and the response RESP2 will reach the client computer 6, via the interface module 8. It may be clear however that many other types of requests REQl, REQ2 and responses RESPl, RESP2 may be communicated similarly between the client computer 6 and the server computer 4. The user may normally not be aware of some of these other types of requests REQl, REQ2 and responses RESPl, RESP2.
  • the first method further includes the step of providing by means of the interface module 8 a client tag that includes software code that is arranged for instructing the client computer 6 to collect client information that is representative for a performance of the client computer 6.
  • client information may be representative for a performance of a rendering application running on the client computer 6, and/or of a
  • the rendering application may be an internet browser.
  • the software code is further arranged for instructing the client computer 6 to transmit the client information towards the interface module 8.
  • the first method further includes the step of transmitting by means of the interface module 8 the client tag to the client computer 6.
  • transmitting the response RESP2 and the client tag from the interface module 8 is carried out at substantially the same moment, here time t ⁇ .
  • receiving the response RESP2 and the client tag by the client computer takes place at substantially the same moment in this example, i.e. at time t 7 . It may be clear however that, more in general, the response RESP2 and the client tag may be transmitted and/or received independently from each other at different moments in time.
  • the client tag may for example be in JavaScript format.
  • the response RESP2 may be in HTML-format.
  • the client tag in JavaScript format can for example be embedded in the response RESP2 in HTML-format.
  • the client tag may be in a format that is compatible with a format of the response RESP2. In this way, rejection of the client tag by a fire wall of the client computer 6 can be prevented.
  • the client tag may be added to the response RESP2 or may be transmitted to the client computer 6 separate from the response RESP2.
  • the client tag contains a piece of JavaScript code embedded in HTML code that is associated with an internet page requested by the user of the computer application.
  • the client information may be in a format that is compatible with a format of a subsequent request SREQl (figure 2).
  • the client information may for example be in JavaScript format.
  • the subsequent request may for example be in HTML-format.
  • SREQl may be received by the interface module 8 separate from the subsequent request SREQl.
  • the subsequent request SREQl normally is received by the interface module 8 later than the request REQl.
  • the first method further includes the step of receiving by means of the interface module 8 the client information, after transmission of the client information from the client computer 6. It may be clear that such transmission is enabled by the client tag.
  • receiving of the client information takes places at time tg, while the client information is transmitted from the client computer 6 at time t ⁇ . Transmitting the client information at time t ⁇ may take place upon receipt of the response RESP2 by the client computer.
  • the time difference t ⁇ -t 7 may thus be representative for the performance, e.g. a speed, of the client computer and software running thereon, such as the rendering application. It may be clear that, in the first method, transmitting and receiving takes place by means of the electrically conductive wired connections 10 or by other means through which the client computer 6 is communicatively
  • the step of determining, by means of the interface module 8, first information of the request REQ2 transmitted to the server computer 4 is included.
  • the second method includes the step of determining by means of the interface module 8 second information of the response RESPl received from the server computer 4 by the interface module 8.
  • the second method also includes the step of determining, from the first and second information, by means of the interface module 8 server information that is representative for a performance of the server computer 4, of the remote application running on the server computer 4, and/or of a communication between the server computer 4 and the interface module 8.
  • the first information for example includes the moment t2 at which the interface module 8 transmits the request REQ2 to the server computer 4.
  • the second information for example includes the moment t ⁇ at which the response RESPl is received by the interface module 8.
  • the server information for example includes a processing time t 4 -t3 required by the server 4 for processing the request REQ2. It is noted however that the processing time t 4 -t3 can also be estimated from a time difference t ⁇ -t2, e.g. if a time needed for transport of the request REQ2 from the interface module 8 to the server computer 4 and a time needed for transport of the response RESPl can be estimated or can be neglected with respect to the processing time t 4 -t3.
  • determining the time required by the server 4 for processing the request REQ2 may be carried out by estimating the time required by the server 4 for processing the request REQ2. Such estimating may include subtracting time t2 from time t ⁇ . The time difference between t2 and t ⁇ may be an estimate of the time required by the server 4 for processing the request REQ2 and a latency of the network between the interface module 8 and the server 4.
  • a variant of the second method further includes providing by means of the interface module 8 a previous client tag.
  • the third method is, in an example, illustrated in figure 2. Analogous to receiving and transmitting the request REQl, REQ2 and the response RESPl, RESP2 in the first and second method, the third method includes receiving (at time t.g) by means of the interface module 8 a previous request PREQl from the client computer 6, includes transmitting (at time t- ⁇ ) by means of the interface module 8 the previous request PREQ2 to the server computer 4, includes receiving (at time t-5) by means of the interface module 8 a previous response PRESPl from the server computer 6, in response to the previous request PREQ2, and includes transmitting (at time t-4) by means of the interface module 8 the previous response PRESP2 to the client computer 6.
  • the previous client tag includes software code that is arranged for instructing the client computer 6 to collect previous client information that is representative for the performance of the client computer 6. Additionally or alternatively, the previous client information may be representative for the performance of the rendering application running on the client computer 6, and/or of the communication between the client computer 6 and the interface module 8.
  • the software code of the previous client tag may be further arranged for instructing the client computer 6 to transmit, at time t-2, the previous client information to the interface module 8.
  • the third method may further include transmitting by means of the interface module 8 the previous client tag to the client computer 6, at time t-4. In this example, at time t-4 also the previous response PRESP2 is transmitted from the interface module 8 towards the client computer 4.
  • the third method may also include receiving by means of the interface module 8 the previous client information, after transmission of the previous client information from the client computer 6 enabled by the previous client tag.
  • the third method may further include determining, from the previous client information, by means of the interface module 8 the moment to (see figure IB) at which the request REQl is transmitted from the client computer 6.
  • the previous client information may include a previous client time stamp that is representative for the moment to at which the request REQl is transmitted towards the interface module 8.
  • the moment t-2 of sending the previous client information and the moment to of sending the request REQl may be equal.
  • the moment t-2 of sending the previous client information may be later than the moment to of sending the request REQl.
  • the software code may be arranged for instructing the client computer to transmit, as part of the client information, a time needed for processing the response RESP2.
  • the time needed for processing the response may for example be a time interval from the moment t 7 (see figure IB) at which the response RESP2 is received by the client computer 6, to the moment at which an image on a screen of the client computer 6 is adjusted as a result of the response RESP2. If processing the response takes longer than a
  • this predetermined time may be included in the client information.
  • the client information can be representative for the performance of the client computer and/or for the rendering application running on the client computer.
  • a performance of the client computer 6, of a rendering application running on the client computer 6, and/or of a communication between the client computer 6 and the interface module 8 may be determined.
  • (t7-to)-(t6-ti) offers information about the communication between the client computer 6 and the interface module 8.
  • t ⁇ -to is in a range that can be considered as normal and the internet application does function slowly, it may be concluded that the cause for the slow functioning most likely can be attributed to the client computer 6 and/or the software running thereon or being associated therewith, such as the rendering application (e.g. the internet browser), and/or an operating system of the client computer 6.
  • the rendering application e.g. the internet browser
  • a slow performance of the client computer 6 may be derived from the client
  • the client information when the client information includes information on reception and handling by the client computer 6 of the response RESP2 that is received from the server computer 4.
  • the client information may include the time t ⁇ at which the client information is transmitted by the client computer 6 towards the interface module 8, and may further include the time t 7 .
  • the difference between t ⁇ and t 7 may be representative for a performance of the client computer 6. If the client computer 6 performs unusually slowly, the value of t ⁇ - t 7 will be unusually large.
  • the server information may include at least one server time stamp that is representative for the moment at which the request REQ2 is received by the server computer 4 and/or the moment at which the response RESPl is transmitted towards the interface module 8. Additionally or alternatively, the server information may include information about the server computer and/or information obtained from the server computer, such as at least one of a request identification, a client address, a client name, a session identification, a client identification, a client protocol, a client path, a client query, a client request method, a server identification, a session identification, a user agent, a response code, and a data size. One or more of these elements included by the server information may offer the general advantage that problem- solving is facilitated when the computer application functions improperly.
  • the client information may include at least one client time stamp that is representative for the moment t 7 at which the response RESP2 is received and/or processed by the client computer 6. Additionally or
  • the client information may include information about the client computer and/or information obtained from the client computer, such as at least one of the request identification, the client address, the client name, the session identification, the client identification, the client protocol, the client path, the client query, the client request method, the server identification, the session identification, the user agent, and a data size.
  • the client information may offer the general advantage that problem- solving is facilitated when the computer application functions improperly.
  • the previous client information may include at least one previous client time stamp that is representative for the moment at which the request REQl is transmitted towards the interface module 8. Additionally or
  • the previous client information may include at least one of a request identification, a client address, a client name, a session identification, a client identification, a client protocol, a client path, a client query, a client request method, a server identification, a session identification, a user agent, and a data size.
  • a request identification a client address
  • a client name a client name
  • a session identification a client identification
  • a client protocol a client protocol
  • client path a client path
  • client query a client request method
  • server identification a session identification
  • a user agent may include at least one of a data size.
  • a clock of the interface module 8 may run asynchronously from a clock of the client computer 6 and/or a clock of the server computer 4.
  • a time related to the clock of the interface module 8 may have an offset with respect to a time related to the clock of the client computer 6 and/or a time related to the clock of the server computer 4.
  • the client time stamp generated by means of the client computer may be determined wrongly by means of the interface module.
  • the time difference ti-to may be determined wrongly.
  • the method may include correcting for the offset. Such correcting can be carried out for example by correction of received time stamps by the interface module after the offset has been detected. Methods of such correction are as such known to the skilled person so that a further description is deemed superfluous. The correction can be carried out for each server computer and/or each client computer individually.
  • the first, second, and/or third method include statistical analysing of the received server information, the received client information, and/or the received previous client information.
  • the statistical analysing is preferably carried out by means of an analysis computer that is separate from the interface module 8. By using the separate analysis computer, capacity of the interface module does not have to be used for analysis and can be better exploited for minimizing the time delays
  • statistical analysing enables better trouble- shooting and earlier detection of a problem in the performance of the client computer 6, of the server computer 4, of the rendering application running on the client computer 6, of the remote application running on the server computer 4, of the communication between the client computer 6 and the interface module 8, and/or of the communication between the server computer 4 and the interface module 8.
  • Statistically analysing the received server information may be carried out for determining the performance of the server computer 4, of the remote application running on the server computer 4, and/or of the
  • Statistically analysing the received client information may be carried out for determining the performance of the client computer 6, of the rendering application running on the client computer 6, and/or of the communication between the client computer 6 and the interface module 8.
  • Statistically analysing the received previous client information may be carried out for determining the performance of the client computer 6, of the rendering application running on the client computer 6, and/or of the communication between the client computer 6 and the interface module 8.
  • a method of monitoring performance of a plurality of computer applications that are based on a plurality of remote applications running on a plurality of server computers.
  • the plurality of computer applications are used by means of at least one client computer that is communicatively, for example wiredly and/or wirelessly, connected to at least one of the server computers.
  • FIG. 3 shows a system 12 in another embodiment according to the invention.
  • the system 12 is arranged for carrying out a method according to the invention, in this example the fourth method.
  • the server computers 4.i may be arranged for running mutually different remote applications. It may be clear that this, more in general, may include running mutually distinct remote application that are mutually similar.
  • the client computers 6.i are communicatively, for example wiredly and/or wirelessly, connected to the interface module 8.
  • the fourth method includes the step of receiving by means of the interface module 8 a request REQl relating to one of the remote applications from one of the client computers 6.i.
  • the fourth method further includes the step of transmitting by means of the interface module 8 that request REQ2 to the server computer 4.i running the associated server application.
  • the fourth method also includes the step of receiving by means of the interface module 8 a response RESPl from that server computer 4.i.
  • the fourth method further includes the steps of providing by means of the interface module 8 the client tag, the step of transmitting by means of the interface module 8 the response RESP2 and the client tag to the one of the client computers 6.i, and the step of receiving by means of the interface module 8 the client information, after transmission of the client information from the one of the client computers 6.i enabled by the client tag.
  • Such steps related to the request REQl, REQ2 and/or the response RESPl, RESP2 related to the one of the client computers 6.i may be repeatedly performed for the one of the client computers 6.i. Such steps may also be repeatedly performed for other ones of the client computers 6.i.
  • the fourth method offers the general advantage that information obtained from multiple server computers 4.i and/or multiple client computers 6.i can be combined, possibly by means of the interface module 8. In this way,
  • Figure 4 shows a router device 14 in an embodiment according to the invention.
  • the router 14 is part of a system that further comprises the client computers 6.1, ..., 6.M and the server computer 4. It may be clear that, alternatively, the router device 14 may be apart from the server computer 4 and the client computers 6.i.
  • the router device 14 comprises the interface module 8.
  • the router device 14 may be arranged within a client zone 16.
  • the client zone 16 may normally be under control of an operator of the client computers 6.i, such as a help desk employee of a company that owns the client computers 6.i, or may be under control of the user of the client computers 6.i.
  • the system of figure 4 also shows an analysis computer 17. More in general, the analysis computer 17 may be communicatively connected to the interface module 8. In this example, information may be communicated, for analysing, between the interface module 8 and the analysis computer 17.
  • the router may be arranged to send the client information to the interface module 8, and/or receive a result of the analysing from the analysis computer 17.
  • Figure 5 shows a firewall device 18 in an embodiment according to the invention.
  • the firewall device is part of a system that further comprises the client computer 6 and the server computer 4. It may be clear that, alternatively, the firewall device may be apart from the server computer 4 and the client computer 6.
  • the 'firewall device' may be implemented in hardware components and/or a computer program product including computer code portions arranged for performing, when run on a programmable
  • the firewall device 18 comprises the interface module 8.
  • the firewall device 18 may be arranged within a server zone 20.
  • the server zone 20 may normally be under control of an operator of the server computer 4, such as a help desk employee of a company that operates the server computer 4.
  • the firewall device 18 may be arranged within the client zone 16.
  • Another aspect of the invention includes: providing a method of monitoring performance of a computer application that is based on a remote application running on a server computer, and that is used by means of a client computer that is communicatively, for example wiredly and/or wirelessly, connected to the server computer, the method including the steps: - receiving by means of an interface module a request from the client computer; - providing by means of the interface module a server tag that includes software code that is arranged for instructing the server computer to collect server information that is representative for a performance of the server computer, of a remote application running on the server computer, and/or of a communication between the server computer and the interface module, and to transmit the server information towards the interface module; - transmitting by means of the interface module the request and the server tag to the server computer; - receiving by means of the interface module a response from the server computer; - receiving by means of the interface module the server information, after transmission of the server information from the server computer enabled by the server tag; and - transmitting by means of the interface module the response
  • an aspect of the invention that may be combined with the first, second, third, or fourth method, and optionally with a variation thereof, further includes the steps of: - providing by means of the interface module a server tag that includes software code that is arranged for instructing the server to collect server information that is representative for a performance of the server computer, and to transmit the server information towards the interface module; - transmitting by means of the interface module the server tag to the server computer; and - receiving by means of the interface module the server information, after transmission of the server information from the server computer enabled by the server tag.
  • index numbers n of the moments in time t n can indicate their mutual order in time, but that this is not necessarily the case (e.g. the moment t-2 can be later, or earlier, in time than the moment to, and the moment t ⁇ can be later, or earlier, in time than the moment tio). Equally all kinematic inversions are considered inherently disclosed and to be within the scope of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

L'invention porte sur un procédé de surveillance des performances d'une application informatique basé sur une application à distance s'exécutant sur un ordinateur de serveur. L'application informatique est utilisée au moyen d'un ordinateur client mis en communication avec l'ordinateur du serveur. Le procédé comprend les étapes suivantes: réception d'une demande de l'ordinateur client, transmission de la demande à l'ordinateur de serveur, réception d'une réponse de l'ordinateur de serveur, en réponse à la demande, délivrance au moyen du module d'interface d'une étiquette de client, transmission de la réponse et de l'étiquette de client à l'ordinateur client, réception des informations de client, après transmission des informations de client à partir de l'ordinateur client activé par l'étiquette de client.
PCT/NL2009/050492 2009-08-12 2009-08-12 Système, module d'interface, produit-programme informatique, support de données et procédé de surveillance des performances d'une application informatique WO2011019269A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/NL2009/050492 WO2011019269A1 (fr) 2009-08-12 2009-08-12 Système, module d'interface, produit-programme informatique, support de données et procédé de surveillance des performances d'une application informatique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/NL2009/050492 WO2011019269A1 (fr) 2009-08-12 2009-08-12 Système, module d'interface, produit-programme informatique, support de données et procédé de surveillance des performances d'une application informatique

Publications (1)

Publication Number Publication Date
WO2011019269A1 true WO2011019269A1 (fr) 2011-02-17

Family

ID=41394866

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/NL2009/050492 WO2011019269A1 (fr) 2009-08-12 2009-08-12 Système, module d'interface, produit-programme informatique, support de données et procédé de surveillance des performances d'une application informatique

Country Status (1)

Country Link
WO (1) WO2011019269A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001069386A2 (fr) * 2000-03-14 2001-09-20 Speed-Trap.Com Ltd. Operation de surveillance de services fournis sur un reseau et interaction avec ces services
US20020169868A1 (en) * 2001-04-20 2002-11-14 Lopke Michael S. Interactive remote monitoring of client page render times on a per user basis

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001069386A2 (fr) * 2000-03-14 2001-09-20 Speed-Trap.Com Ltd. Operation de surveillance de services fournis sur un reseau et interaction avec ces services
US20020169868A1 (en) * 2001-04-20 2002-11-14 Lopke Michael S. Interactive remote monitoring of client page render times on a per user basis

Similar Documents

Publication Publication Date Title
US8135979B2 (en) Collecting network-level packets into a data structure in response to an abnormal condition
US10931730B2 (en) Method and system for ISP network performance monitoring and fault detection
US9112808B2 (en) Devices, systems, and methods for providing data
US10225167B2 (en) Method and system for determining page impression in a client-server system
EP1872241B1 (fr) Système et procédé permettant de détecter un mandataire entre un client et un serveur
EP2936337B1 (fr) Analyses d'interactivité de ressources internet sur la base d'événements de rechargement
US8156216B1 (en) Distributed data collection and aggregation
EP1681799B1 (fr) Système et méthode pour mesurer le retard de réseau bout à bout et le retard de la perspective de l'utilisateur
CN103067214B (zh) 用于测试网站性能的方法、客户端、服务器和系统
JP6028026B2 (ja) リサーチパネル内のユーザのネットワークトラフィックを追跡するためのシステムおよび方法
US20080104230A1 (en) Method And System For Monitoring Performance Of A Client-Server Architecture
US20040153287A1 (en) Collection of session-related information using an extendable sampling period
CN103259699B (zh) 测试方法、系统及客户端和服务端
US20070061339A1 (en) Method for analyzing browsing and device for implementing the method
WO2014000293A1 (fr) Procédé, dispositif et système d'acquisition de comportement d'utilisateur
CN104468265A (zh) 局域网终端在线状态的检测方法和装置
CN102684925B (zh) 互联网访问来源信息的获取方法和装置
KR20110057529A (ko) 더미요청 태그를 이용한 서버의 응답시간 측정 시스템 및 그 방법
EP3414870B1 (fr) Calcul d'indicateurs de performance de service
WO2015195407A1 (fr) Procédé et appareil de surveillance et de détermination de durées de chargement de page
CN112148604A (zh) iOS软件测试方法、装置、设备及计算机可读介质
CN113179317A (zh) 内容重写设备的测试系统及方法
WO2011019269A1 (fr) Système, module d'interface, produit-programme informatique, support de données et procédé de surveillance des performances d'une application informatique
CN107483294B (zh) 监控网络请求的方法及装置
CN102932400B (zh) 一种识别统一资源定位符主链接的方法及装置

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: 09788274

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09788274

Country of ref document: EP

Kind code of ref document: A1