T 1539/20 (Performance monitoring/INETCO SYSTEMS) 24-11-2022
Download and more information:
Method and system for monitoring performance of an application system
Claims - clarity
Claims - all requests (no)
Sufficiency of disclosure - all requests (no)
I. The appellant (applicant) filed an appeal against the decision of the examining division refusing European patent application No. 12814717.0, which was published as international application WO 2013/010253.
II. The examining division decided that claim 1 of the sole request was not clear (Article 84 EPC) and that its subject-matter extended beyond the content of the application as filed (Article 123(2) EPC).
III. With its statement of grounds of appeal, the appellant replaced its sole request with a main request and first to sixth auxiliary requests.
IV. In a communication accompanying the summons to oral proceedings, the board expressed the preliminary view that none of the requests complied with the requirements of Articles 83, 84 and 123(2) EPC.
V. With a letter dated 13 May 2022, the appellant submitted seventh, eighth and ninth auxiliary requests. It informed the board that it would not attend the oral proceedings.
VI. The board cancelled the oral proceedings.
VII. The appellant requests that the decision under appeal be set aside and that a patent be granted on the basis of the claims of the main request or, in the alternative, of one of the first to ninth auxiliary requests.
VIII. Claim 1 of the main request reads as follows:
"A method for monitoring performance of an application system (800) which is distributed across a plurality of network connected nodes (110), comprising:
using a processor, monitoring network traffic between the plurality of network connected nodes (110) of the application system (800) to gather network traffic data; and
assembling the network traffic data into messages (171);
characterised by:
mapping the application system (800) onto a hierarchical model (400) for the application system (800) according to a network topology (810) of the application system (800), the hierarchical model (400) having a plurality of levels (420), each level (420) including components (34) having a span of network connected nodes specific to that level (420), the plurality of levels (420) extending across the network topology (810);
correlating the messages (171) into sets of one or more messages that are causally associated in accordance with the hierarchical model (400), wherein the sets of causally associated messages constitute transactions (190) corresponding to a lowest level (420) of the hierarchical model (400), the components (34) of the lowest level (420) having two network connected nodes (110); wherein the correlating of the messages (171) includes at least one of: a rule-based comparison of attributes between messages (171) that yields an exact match; and, a probabilistic association between the messages (171) based on one or more of contents of the message payloads, contents of the message headers, timing of the messages, and sequence of the messages; and
generating records of individual transactions (190) occurring within the application system (800) for at least the transactions (190) corresponding to the lowest level (420) of the hierarchical model (400) and applying one or more metrics (1510) of performance thereto."
IX. Claim 1 of the first auxiliary request differs from claim 1 of the main request in that "application system" has been replaced with "IT system" and in that "onto a hierarchical model (400) for" has been replaced with "onto a hierarchical model (400) suitable for ...".
X. Claim 1 of the second auxiliary request differs from claim 1 of the first auxiliary request in that "wherein the correlating of the messages ... and sequence of the messages" has been replaced with the following text:
"wherein the correlating of the messages (171) includes at least one of: a rule-based comparison of attributes between messages (171) that yields an exact match, including one or more of sequence number, arrival timings, protocol-specific header content, and unique identifier number or string; and, a probabilistic association between the messages (171) based on one or more of contents of the message payloads, contents of the message headers, timing of the messages, and sequence of the messages, derived from one of a hidden Markov model, a real-time Bayesian network analysis, and a Kalman filter"
and in that the following text was added at the end of the claim:
", including at least one of estimated network packet loss, delay variation, minimum delay, and maximum throughput".
XI. Claim 1 of the third auxiliary request reads as follows:
"A method for monitoring performance of an IT system (800) which is distributed across a plurality of network connected nodes (110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 135, 136, 137, 138) and having a network topology (810), comprising:
using a processor, monitoring network traffic between the plurality of network connected nodes (110) of the IT system (800) to gather network traffic data; and assembling the network traffic data into messages (171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182);
characterised by:
generating a hierarchical model (400) suitable for the IT system (800), the hierarchical model having a plurality of levels (410, 420, 430, 460, 470), wherein the plurality of levels (410, 420, 430, 460, 470) are adapted to extend across the network topology (810) of the IT system (800); each level is adapted to include at least one type of components or structural entities (21-27, 34-39, 40-42, 52, 510, 520), and each level is associated with a degree of span specific to said level;
applying the hierarchical model (400) to the IT system (800) and mapping the IT system (800) onto the hierarchical model (400) IT according to the network topology (810) of the IT system (800);
correlating the messages (171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182) into sets of one or more messages that are causally associated in accordance with the hierarchical model (400), wherein the sets of causally associated messages constitute transactions (190, 192, 194, 195, 198, 199) corresponding to a lowest level (420) of the hierarchical model (400) with components (34 - 39) having two network connected nodes (110); wherein the correlating of the messages (171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182) includes at least one of: a rule-based comparison of attributes between messages (171) that yields an exact match, including one or more of sequence number, arrival timings, protocol-specific header content, and unique identifier number or string; and, a probabilistic association between the messages (171) based on one or more of contents of the message payloads, contents of the message headers, timing of the messages, and sequence of the messages, derived from one of a hidden Markov model, a real-time Bayesian network analysis, and a Kalman filter; and
generating records of individual transactions (190, 192, 194, 195, 198, 199) occurring within the IT system (800) for at least the transactions (190) corresponding to said lowest level (420) of the hierarchical model (400) and applying one or more metrics (1510) of performance thereto, including at least one of estimated network packet loss, delay variation, minimum delay, and maximum throughput."
XII. Claim 1 of the fourth auxiliary request differs from claim 1 of the main request in that "onto a hierarchical model (400) for the application system" has been replaced with "onto a hierarchical model (400)".
XIII. Claim 1 of the fifth auxiliary differs from claim 1 of the main request in that "wherein the correlating of the messages ... and sequence of the messages" has been replaced with the following text:
"wherein the correlating of the messages (171) includes at least one of: a rule-based comparison of attributes between messages (171) that yields an exact match, including one or more of sequence number, arrival timings, protocol-specific header content, and unique identifier number or string; and, a probabilistic association between the messages (171) based on one or more of contents of the message payloads, contents of the message headers, timing of the messages, and sequence of the messages, derived from one of a hidden Markov model, a real-time Bayesian network analysis, and a Kalman filter"
and in that the following text was ended at the end of the claim:
", including at least one of estimated network packet loss, delay variation, minimum delay, and maximum throughput".
XIV. Claim 1 of the sixth auxiliary request differs from claim 1 of the fifth auxiliary request in that "onto a hierarchical model (400) for the application system" has been replaced with "onto a hierarchical model (400)".
XV. Claim 1 of the seventh auxiliary request reads as follows:
"A method for monitoring performance of an application system (800) which is distributed across a plurality of network connected nodes (110), comprising:
using a processor, monitoring network traffic between the plurality of network connected nodes (110) of the application system (800) to gather network traffic data; and
assembling the network traffic data into application messages (171);
characterised by:
wherein the application system (800) is mapped onto a hierarchical model (400) for the application system according to a network topology (810) of the application system (800), the hierarchical model (400) having a plurality of levels, each level including components (34) having a span of network connected nodes specific to that level, the plurality of levels extending across the network topology (810);
correlating the application messages (171) into sets of one or more application messages that are associated in accordance with the hierarchical model (400), wherein the sets of associated application messages constitute transactions (190) corresponding to a lower level (420) of the hierarchical model (400), the components (34) of the lower level (420) having two network connected nodes (110); wherein the correlating of the application messages (171) includes at least one of: a rule-based comparison of attributes between application messages (171) that yields an exact match; and, a probabilistic association between the application messages (171) based on one or more of contents of the application message payloads, contents of the application message headers, timing of the application messages, and sequence of the application messages; and
generating records of individual transactions (190) occurring within the application system (800) for at least the transactions (190) corresponding to the lower level (420) of the hierarchical model (400) and applying one or more metrics (1510) of performance thereto."
XVI. Claim 1 of the eighth auxiliary request differs from claim 1 of the seventh auxiliary request in that "wherein the application system ... across the network topology (810)" has been replaced with the following text:
"mapping the application system (800) onto a hierarchical model (400) for the application system according to a network topology (810) of the application system (800), the hierarchical model having been applied to the network topology (810), so as to determine a plurality of levels, each level having a degree of span specific to that level, and including components (34) having a span of network connected nodes specific to that level, the plurality of levels extending across the network topology (810)".
XVII. Claim 1 of the ninth auxiliary request differs from claim 1 of the seventh auxiliary request in that "wherein the application system ... across the network topology (810)" has been replaced with the following text:
"applying a hierarchical model (400) for the application system to a network topology (810) of the application system (800) to determine a plurality of levels of the hierarchical model (400), each level corresponding to a degree of span and including components (34) having a span of network connected nodes specific to that level, the plurality of levels extending across the network topology (810)".
XVIII. The appellant's arguments, where relevant to this decision, are discussed in detail below.
1. The application
1.1 The application relates to monitoring performance of an application system which is distributed across network-connected nodes (see paragraph [0001] of the published application).
1.2 Paragraph [0002] explains that businesses often need to monitor the real-time behaviour and performance of applications that are distributed across multiple network-connected nodes "with respect to meaningful data messages passed between the nodes".
In some cases, such messages can be monitored only by monitoring the network itself. To obtain a higher-level understanding of application performance, the (lower-level) data messages passed between nodes over the network then have to be "correlated" into (higher-level/application-level) transactions.
1.3 The focus of the application is on the process of correlating lower-level data messages into higher-level transactions (paragraph [0030]).
Main request
2. Clarity
2.1 Claim 1 is directed to a method for monitoring performance of an application system which is distributed across a plurality of network-connected nodes. It includes a step of "mapping the application system onto a hierarchical model for the application system according to a network topology of the application system".
Claim 1 defines the hierarchical model as:
- having a plurality of levels, each level including components having a span of network-connected nodes specific to that level, the plurality of levels extending across the network topology;
- the components of the lowest level having two network-connected nodes.
Hence, each level of the model includes components that bear some relationship to the nodes of the application system. In case of the "lowest" level, each component "has" two nodes.
However, it is unclear how the application system relates to the number of levels of the hierarchical model. According to paragraph [0038] of the published application, the "number of levels is variable and the exact number depends on the details of the system 800 against which the model 400 is applied". The claim does not indicate how the number of levels relates to the properties or details of the application system or how it could be derived from the application system.
In addition, it is not clear how the nodes or groups of nodes of the application system relate to the components of the hierarchical model.
Hence, it is not clear from the claim how the "hierarchical model" relates to the "application system". As a result, the meaning of the feature "mapping the application system onto a hierarchical model for the application system according to a network topology of the application system" is not clear (Article 84 EPC).
2.2 In its statement of grounds of appeal, the appellant argued that the term "mapping" is clear in view of paragraphs [0049] and [0059] of the description.
However, whether or not these paragraphs sufficiently explain the "mapping" concept, the board observes that Article 84 EPC requires the claims to be clear from their wording alone.
2.3 In its letter of 13 May 2022, the appellant further argued that the term "mapping" was clear to one skilled in the art and was a common term used in the art. In a co-pending European patent application, the examining division did not appear to have any issue with the use of the term. The appellant also referred to a number of patents issued by the USPTO, which all included the term "mapping" in the claims.
The board notes that it does not object to the use of the term "mapping" as such but to the clarity of the claimed "mapping" of an application system onto a hierarchical model. The board cannot comment on co-pending European patent applications which are not the subject of the present appeal, let alone on the compliance of granted US patents with US patent law.
2.4 In claim 1, it is also unclear what is meant by "messages that are causally associated in accordance with the hierarchical model" (Article 84 EPC). The claim does not indicate in what way the hierarchical model determines or influences which messages are "causally associated". The hierarchical model as defined by claim 1 merely includes a number of levels, where each level includes components that have some mostly unspecified relationship with nodes of the application system.
2.5 Hence, claim 1 of the main request does not comply with the requirements of Article 84 EPC.
3. Sufficiency of disclosure
3.1 The reader of claim 1 would understand that the steps of "monitoring network traffic", "assembling the network traffic data into messages", "correlating the messages into sets of one ore more messages" and "generating records of individual transactions" are carried out by a computer. The reader would therefore also understand that the same holds true for the "mapping" step of claim 1. Independent claim 15, which is directed to a system comprising software modules for carrying out the method of claim 1, confirms this interpretation of claim 1. Moreover, nothing in the originally filed description contradicts that the "mapping" step is computer-implemented.
Hence, claim 1 is directed to a computer-implemented method comprising an automated step of "mapping" a given distributed application system to a hierarchical model.
3.2 However, the application as filed does not contain any information explaining how a skilled person could implement the "mapping" process in software.
3.2.1 The "mapping" step refers to "applying" a "general model" to a given application system to obtain an "applied model" (see paragraphs [0049] and [0073] and Figure 18 of the published application). The general model is a conceptual framework defining a number of levels of groupings of nodes ("nodes", "links", "trees", "compound trees", "maximal trees", "forest"). In the applied model, the nodes of an application system are grouped according to this framework in a manner that must be assumed to be meaningful.
3.2.2 According to paragraph [0038], the number of levels of the hierarchical model is variable and depends on the details of the distributed application system. According to paragraph [0039], the lowest level 410 comprises the set of all "selected" nodes. According to paragraph [0042], the selection of the subsets of links forming trees at level 430 also depends on the details of the distributed application system.
3.2.3 The application does not explain how it is to be determined whether a node is a "selected" node and what the relevant "details of the distributed application system" are. Moreover, there is no explanation of how, and based on what kind of input, the software implementing the method is to obtain such information about a given application system. For example, is the computer-implemented method supposed to inspect and analyse the source code of the application system?
3.2.4 Starting from paragraph [0073], the mapping process for the application system 800 illustrated in Figure 8 is described. However, this description does not give any indication of how an automated mapping process can be implemented on a computer.
For example, paragraph [0077] states that "[d]efining the services from the link classes depends on how the IT system 800 has been implemented by developers and system integrators, and how it is operated". Hence, the automated mapping process must somehow extract from the system 800 information relating to how the system has been implemented and how it is operated, and it must somehow determine from this information how link classes are to be meaningfully grouped into services. In the board's view, implementing such a complicated automated process in software, essentially mimicking the cognitive process of a human systems engineer, is well outside the normal abilities of the skilled person.
3.3 The application further discloses that transaction correlation is based on "relationships" which are determined from knowledge of the specific IT system 800 (see paragraph [0086]). Although paragraph [0087] suggests that such knowledge can be "discovered by automated learning systems that are parameterized with pre-defined models of various kinds of IT systems, application types and topologies", this vague hint alone does not enable the skilled person to implement such automated knowledge discovery. For example, the passage does not explain on what specific kind of data the learning system is to be trained. Nor does it disclose how the learning system could extract the necessary information from the specific application/IT system to be monitored.
3.4 In its statement of grounds of appeal, the appellant refers to the Guidelines for Examination, F-III, 5.1, and submits that the presence of non-working embodiments in the claim is of no harm, provided that the specification contains sufficient information on the relevant criteria to identify the working embodiments.
However, the board's objection to claim 1 is not that its scope encompasses specific non-working embodiments. The section of the Guidelines to which the appellant refers is therefore of no relevance to this case.
3.5 In its letter of 13 May 2022, the appellant further argued that the term "mapping" was clear to one skilled in the art and was a common term used in the art (see point 2.3 above). Again, the board notes that it does not object to the use of the term "mapping" per se but, under Article 83 EPC, to the lack of a sufficient disclosure in the application of how a skilled person could implement the claimed "mapping" step in software.
3.6 Hence, the application appears not to disclose the invention as defined by claim 1 in a manner sufficiently clear and complete for the skilled person to carry it out (Article 83 EPC).
First to sixth auxiliary requests
4. Clarity and sufficiency of disclosure
4.1 The amendments made in claim 1 of the first to sixth auxiliary requests do not affect the clarity objections raised in point 2.1 above against the "mapping" step and in point 2.4 above against the feature "messages that are causally associated in accordance with the hierarchical model", despite minor changes in wording (Article 84 EPC).
4.2 In addition, claim 1 of the first to sixth auxiliary requests still requires the step of "mapping" the application system onto the hierarchical model to be implemented in software. This step is therefore insufficiently disclosed for the reasons given in point 3. above (Article 83 EPC).
Seventh, eighth and ninth auxiliary requests
5. Admission into the appeal proceedings
The amendments made in the seventh, eighth and ninth auxiliary requests are intended to address objections raised for the first time in the board's communication. Since, moreover, they do not raise issues which the board cannot easily deal with, they are admitted into the appeal proceedings (Article 13(1) and (2) RPBA 2020).
Seventh auxiliary request
6. Clarity and sufficiency of disclosure
6.1 In claim 1 of the seventh auxiliary request, the feature "mapping the application system onto a hierarchical model" has been replaced with "wherein the application system is mapped onto a hierarchical model". In addition, the word "causally" has been deleted from "causally associated".
6.2 The appellant argued that replacing "mapping" with "mapped" turned an active step of "mapping" into a precondition.
However, in the board's reading of the claim, the feature "wherein the application system is mapped onto a hierarchical model", as opposed to a formulation such as "wherein the application system has been mapped", still implies an active step of mapping.
6.3 In addition, the replacement of "causally associated" with "associated" does not change the fact that claim 1 does not indicate in what way the hierarchical model determines or influences which messages are "associated" (see point 2.4 above).
6.4 Hence, the amendments made in claim 1 of the seventh auxiliary request do not overcome the objections raised in point 2. above (Article 84 EPC).
6.5 Moreover, since the wording of claim 1 still implies an active step of mapping, the amendments do not overcome the objection of insufficiency of disclosure raised in point 3. above, either (Article 83 EPC).
Eighth and ninth auxiliary requests
7. Clarity and sufficiency of disclosure
7.1 Claim 1 of the eighth auxiliary request includes the same step of "mapping the application system onto a hierarchical model for the application system according to a network topology of the application system" as claim 1 of the main request.
The hierarchical model is now defined as "having been applied to the network topology, so as to determine a plurality of levels, each level having a degree of span specific to that level, and including components having a span of network connected nodes specific to that level, the plurality of levels extending across the network topology".
Compared with claim 1 of the main request, this amendment only adds that the plurality of levels of hierarchical model has somehow been determined by applying the hierarchical model to the network topology of the application system.
As explained in point 3.2.1 above, in the context of the application "mapping the application system onto a hierarchical model" is the same as "applying" a "general model" to a given application system to obtain an "applied model", as schematically shown in Figure 18 of the application. It is self-evident that the "plurality of levels" of the (applied) hierarchical model is somehow determined by this "mapping"/"applying" process. Hence, this claim amendment does not help to clarify how the application system (or its "network topology") relates to the number of levels of the (applied) hierarchical model.
The board concludes that the clarity objection raised in point 2.1 above still applies to claim 1 of the eighth auxiliary request (Article 84 EPC).
7.2 In claim 1 of the ninth auxiliary request, the "mapping" step has been replaced with "applying a hierarchical model for the application system to a network topology of the application system to determine a plurality of levels of the hierarchical model, each level corresponding to a degree of span and including components having a span of network connected nodes specific to that level, the plurality of levels extending across the network topology".
Since in the context of the application "mapping the application system onto a hierarchical model" is the same as "applying" a general hierarchical model to a given application system to obtain an applied hierarchical model, claim 1 of the ninth auxiliary request likewise does not overcome the clarity objection raised in point 2.1 above (Article 84 EPC).
7.3 The amendments made in claim 1 of the eighth and ninth auxiliary requests do not affect the clarity objection raised in points 2.4 and 6.3 above against the feature "messages that are associated in accordance with the hierarchical model" (Article 84 EPC).
7.4 In addition, claim 1 of the eighth and ninth auxiliary requests still requires the step of "mapping the application system onto the hierarchical model" and the equivalent step of "applying a hierarchical model for the application system to a network topology of the application system" to be implemented in software. These steps are therefore insufficiently disclosed for the reasons given in point 3. above (Article 83 EPC).
8. Since none of the requests on file is allowable, the appeal is to be dismissed.
Order
For these reasons it is decided that:
The appeal is dismissed.