T 1467/20 (Extracting flight data/SKYSCANNER) 06-07-2023
Download and more information:
Compilation of scheduled transport price data
Inventive step - extracting price data from a web page using a linked script (no
Inventive step - obvious)
Inventive step - disregarding prices which were not offered to a sufficient number of different users (no
Inventive step - not technical)
Inventive step - using IP addresses to distinguish those users' devices (no
Inventive step - obvious)
I. This is an appeal against the decision of the examining division to refuse European patent application No. 14196339.7 for lack of inventive step (Article 56 EPC).
II. The examining division found that claim 1 of the main request was obvious over D3 (US 2007/299743 A1). The additional feature of the first auxiliary request was obvious over D3 combined with common general knowledge summarised by D6 (ANONYMOUS: "HTML 4.0 Specification", INTERNET CITATION, published on 4 April 1998, retrieved on 25 February 2002). The additional clarifying feature of claim 1 of the second auxiliary request was obvious over D3.
III. In the statement setting out the grounds of appeal, the appellant requested that the decision be set aside and a patent be granted on the basis of the refused requests.
IV. In the communication accompanying the summons to oral proceedings, the Board pointed out that the issues with respect to inventive step in the present case were essentially identical to those in case T 1468/20, concerning another divisional application 14196343.9 from the same parent application. The Board expressed its preliminary view that the main request was obvious over D3, especially considering common general knowledge summarised by background document D9 (Wikipedia entry D9: "Multitier architecture", published on 10 January 2008) that the Board introduced into the proceedings under Article 114(1) EPC. The additional features of the first auxiliary request were obvious over the combination of D3 and the common general knowledge summarised by D6. The additional feature of the second auxiliary request was not clear (Article 84 EPC) and provided no technical effect (Article 56 EPC).
V. By letter of 5 May 2023, the appellant filed a new third auxiliary request and provided arguments in favour of inventive step of the main and third auxiliary requests.
VI. The oral proceedings took place on 6 July 2023, jointly with oral proceedings for related cases T 1468/20 and T 540/20. As per appellant's request, they were held by videoconference.
VII. Claim 1 of the main request reads:
"A system including a data receiving server, a price compilation web server and a database of compiled flight price data, the price compilation web server configured to receive data from the database of compiled flight price data;
the system including a plurality of first web page data servers which are configured to serve web page data to a plurality of Internet browsing clients responsive to each client request, wherein the served web page data comprises scheduled transport price data and executable instructions, the scheduled transport price data comprising at least one identifier of an instance of scheduled transport and at least one price associated with a said instance of scheduled transport; and the Internet browsing clients are configured to execute the executable instructions, wherein the execution of the executable instructions causes the Internet browsing clients to transmit at least a portion of the received scheduled transport price data from the served web page data to the data receiving server responsive to the execution of the executable instructions;
in which the database is compiled using flight price data received from the plurality of Internet browsing clients which extract flight price data from web page data received from the plurality of first web page data servers, wherein in order to select the portion of the received scheduled transport price data to be transmitted by the Internet browsing client to the data receiving server responsive to the execution of the one or more received executable instructions, the one or more received executable instructions cause the Internet browsing client to search at least a portion of the received web page data to extract the scheduled transport price data for transmission to the data receiving server;
wherein the data receiving server monitors IP addresses from which price data concerning an instance of scheduled transport is received and only considers a particular price to be trusted, and thereby suitable for distribution, once the data receiving server has received the same price from Internet browsing clients at a number of different IP addresses, and is configured to populate the flight price data database."
VIII. Claim 1 of the first auxiliary request adds the following two features at the end of claim 1:
"wherein the web page data includes a reference to an address of the data receiving server from which second web page data is to be downloaded by an Internet browsing client and the Internet browsing client is operable to download second web page data from the referenced data receiving server responsive to receipt of the first web page data, such that received web page data comprises both the web page data and the second web page data,
wherein the web page data comprises one or more first executable instructions and the second web page data comprises one or more second executable instructions, the said one or more received executable instructions comprising the one or more first executable instructions and the one or more second executable instructions, wherein execution of the one or more first executable instructions causes the Internet browsing client to execute the one or more second executable instructions, wherein execution of the one or more second executable instructions by the Internet browsing client causes the Internet browsing client to transmit at least a portion of the received scheduled transport price data to the data receiving server."
IX. Claim 1 of the second auxiliary request adds to the last feature of claim 1 of the main request the wording "which is then distributed" after "suitable for distribution".
X. Claim 1 of the third auxiliary request adds to the last feature of claim 1 of the second auxiliary request "by the data receiving server" after "distributed".
XI. The appellant argued as follows:
In contrast to the claimed invention, the script of D3 did not extract price information from a shopping web page into which it was embedded. Rather, it received this information from a merchant server that provided the web page. The claimed solution reduced the amount of transmitted data which was a technical effect. Since D3 did not provide any hints to this solution, the skilled person, who was a computer programmer for cataloging and reporting Internet site activity data, would not have arrived at it. Although D3 mentioned web scraping as a possible alternative, this process was performed on a web scraping server, rather than within the limited programming environment of the browser.
Considering only trusted prices was a data filtering process and, therefore, technical. The use of IP addresses to distinguish user devices was a technical implementation choice.
The use of a script linked from another server solved the technical problem of minimising disturbance to the airline's web server while amending the script. By combining D3 and D6, the skilled person might have arrived at linking the web page to an external script, but not at placing this script on another server.
1. At the oral proceedings, the appellant agreed that the subject-matter of this case did not extend beyond that in case T 1468/20.
The Board's decision in that case states:
"1. The invention
1.1 The invention concerns an Internet service aggregating transport price data, e.g. flight prices, collected from users' searches of prices on transport providers' websites, see published application, paragraphs [8] and [59].
1.2 In terms of Figure 1, claim 1 of the main request specifies a method which searches and extracts flight data ("scheduled transport price data" in the claim) from various airline web pages that users view and provide this data to a central data receiving (second) server 22 for storage in a database 26 ("compiled price data database"), see paragraphs [52], [56] and [58]. This database is searchable through the Internet via a further server 28, see paragraphs [53] and [60].
The web page containing the price data served by the airline's website also contains a script ("executable instructions"). The users' browsers (clients) 20 execute the script which searches the web page and extracts the price data, see paragraph [56].
In order to ensure the reliability of received flight prices, the data receiving server monitors IP addresses of the clients and only considers a flight price as trusted and suitable for distribution, after it has received this price from clients at a sufficient number of different IP addresses, see paragraph [62].
2. Main request, Article 56 EPC
2.1 The examining division found that claim 1 lacked an inventive step over D3 that also disclosed a central "data receiving server" aggregating price data from shopping web pages rendered on users' computers. The information was provided by a web script embedded on the web page, see D3, paragraphs [64], [76], [77] and [80].
2.2 Contrary to the appellant's view, the Board agrees with the examining division (decision, point 12.3) that the central database of D3 in which the collected price information is stored corresponds to the compiled price data database in feature (b) of claim 1, see D3 paragraph [64]. The Board also considers, unlike the division (decision, point 12.4.4), that the central database of D3 responds to search requests as specified in the same feature, see paragraphs [135], [143] and [144]. Thus feature (b) differs by the use of a further server for handling the search requests and the fact that the querying users are Internet browser clients.
2.3 In the communication accompanying the summons to oral proceedings, the Board tended to consider that D3 also implicitly disclosed that the script ("executable instructions") on the web page received by the user searched the rendered web page in order to extract the price data information (last part of feature (a)). However, at the oral proceedings, the Board accepted the appellant's reading of D3 that the script did not extract information from the web page but rather requested it from the merchant server. Thus, in D3, the merchant server provides the user's browser with two kinds of information: the shopping web page to be rendered and a message containing information on shown products directed to the embedded script.
2.4 Hence, claim 1 differs from D3 as follows:
Claim preamble: In that the processed data relates to scheduled transport data.
Feature (b), end: By a further Internet server which selects and serves the aggregated data from the database to browser clients.
Features (c) and (d): In that the data receiving server monitors IP addresses from which the data was received and only considers a particular price to be trusted, and thereby suitable for distribution, once it has received the same price from Internet browser clients at a number of different IP addresses.
Feature (a), end: In that the one or more received executable instructions cause the Internet browsing client to search at least a portion of the received web page data to extract the scheduled transport price data for transmission to the data receiving server.
2.5 Like the examining division, the Board judges that the specification of transport data relates to business data content and is not technical (see decision, point 12.5.1) and that the feature of the further Internet server is an obvious option (point 12.5.3). The Board adds to the examining division's analysis of the latter feature that middleware servers sitting between a database and Internet browser clients were common knowledge at the priority date, as shown by background document D9 for example.
2.6 As for determining trust based on the number of different IP addresses, it was common ground that it produced the effect of returning only trusted prices to Internet browser clients. However, the claimed method (feature (d)) does not actually use the information about the prices' trustworthiness while storing data in the database and it is doubtful whether the asserted effect is indeed provided.
2.7 Nevertheless, the Board agrees with the examining division that even assuming that only trusted prices are stored in the compiled price data database, this feature is obvious.
The appellant argued that any kind of data filtering was a technical process. However, in the claim, the filtering boils down to disregarding prices that were not offered to a sufficient number of different users. The Board concurs with the examining division (decision, point 12.5.5) that this is a purely business idea.
It is common ground (cf. decision, point 12.7.5) that using IP addresses to distinguish user devices is an implementation choice. However, this would have been obvious, once, in line with the COMVIK principle (see decision T 641/00 - Two identities/COMVIK), the aforementioned business idea has been given to the skilled person for implementation. The obviousness of the solution becomes even more apparent considering that in D3 the central server already receives clients' IP addresses together with the extracted product information (paragraph [80], last sentence).
2.8 At the oral proceedings the main point of contention was the obviousness of using the script to search the received web page to extract the price data.
Firstly, the appellant argued that the skilled person was a computer programmer for cataloging and reporting Internet site activity data. However, the Board considers this to be an arbitrarily restrictive technical qualification to the particular application of D3 that does not exist in practice. In the Board's view, the skilled person is simply a web programmer.
Secondly, the appellant considered that using the script to search the web page solved the problem of reducing the amount of transmitted data between the merchant and the browser. The Board agrees that this is certainly one effect of the invention. However, the Board sees the invention in a more general sense as being about the decision where to obtain information about products' prices. In D3, it is done by the merchant, whereas in the invention it is the browser. Thus, the difference in a more general sense represents an alternative choice for where to perform the processing.
In this general context the amount of transmitted data is one of many trade-offs. Others would be: processing power required at the merchant/browser and programming complexity at the merchant/browser. Furthermore, the choice could be driven by non-technical considerations, such as whether the merchant or the customer wants to control the information obtained.
Thus, the Board essentially agrees with the examining division that searching and extracting information about the web page in the browser is more properly to be considered as an alternative to providing this information at the merchant. In such cases, the skilled person would consider any well known alternative in the technical field unless the closest prior art, or some other fact, teaches away from it.
As mentioned above, the skilled person is a web programmer. A web programmer knows that the solution of searching and extracting data from web pages is a well-known technique, commonly known in the art as web scraping. In fact, as stated by the examining division (decision, point 14.4), D3 at paragraph [75] actually teaches obtaining the product price information using web scraping as an alternative to obtaining this information from the embedded script, albeit at another server.
Furthermore, the Board judges that, contrary to the appellant's view, the use of JavaScript as present in the browser in D3 to scrape pages poses no technical difficulty.
Thus, the Board agrees with the examining division's conclusion at point 14.4 of the decision that the skilled person would have considered using a scraping functionality in the embedded script as an obvious possibility.
2.9 Hence, claim 1 lacks an inventive step (Article 56 EPC).
3. ...
4. Second and third auxiliary requests, Article 56 EPC
4.1 Claim 1 of the second auxiliary request essentially adds that the "executable instructions" consist of "first executable instructions" and "second executable instructions". The former are executed when the web page has been loaded (e.g. by onload event handler 208 in Figure 4) and cause execution of the "second executable instructions". These instructions (e.g. the function "skygo" in Figure 5A), which have been downloaded from a given address on the data receiving server (e.g as a JavaScript using the tag 206), actually cause the client to transmit the required data.
4.2 Contrary to the appellant's view, the Board agrees with the examining division (decision, point 15.4) that, starting from D3, linking the web page to a script on the central server is an obvious application of the HTML script element described in D6 at section 18.2.1.
Again, the Board views this feature as an alternative; embedding the whole script code on the page versus loading it from the data receiving server. And again, the appellant's problem of minimising disturbance to the airline server while altering the script is one of the trade-offs representing the circumstances steering the choice of alternative. Another would be the loading time of the script.
4.3 Hence, claim 1 of the second auxiliary request
lacks an inventive step (Article 56 EPC). ...
5. Fourth and fifth auxiliary requests, Article 56 EPC
5.1 Claim 1 of the fourth auxiliary request adds to claim 1 of the main request that trusted prices are distributed. ...
5.2 The added feature is obvious for the reasons provided in connection with the feature determining trust based on the number of different IP addresses (see point 2.6, above). Accordingly, the fourth and fifth auxiliary requests lack an inventive step (Article 56 EPC)."
2. Claim 1 of the main request in the present case differs essentially only in that it is for a system instead of a computer-implemented method. Consequently, the claim does not involve an inventive step for the same reasons.
3. Claim 1 of the first auxiliary request corresponds to claim 1 of the second auxiliary request in the previous case. Again, this is not inventive for the same reasons.
4. Claim 1 of the second auxiliary request corresponds to claim 1 of the fourth auxiliary request in the previous case, so that it is not inventive for the same reasons.
5. The Board admits the third auxiliary request into the proceedings under Article 13(2) RPBA 2020 because it is a bona fide attempt to overcome an objection under Article 84 EPC raised by the Board for the first time. This is an exceptional circumstance in the sense of Article 13(2) RPBA 2020.
5.1 Claim 1 of the third auxiliary request adds to claim 1 of the second auxiliary request that trusted prices are distributed by the data receiving server. This added feature is also obvious for the reasons provided in connection with the feature determining trust based on the number of different IP addresses (see point 2.7 of the previous decision). Hence, the third auxiliary request lacks an inventive step (Article 56 EPC).
6. Since none of the appellant's requests are allowable, it follows that the appeal must be dismissed.
For these reasons it is decided that:
The appeal is dismissed.