T 0540/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 that includes pattern matching instructions (no
Inventive step - obvious)
I. This is an appeal against the decision of the examining division to refuse European patent application No. 08101393.0 for lack of inventive step (Article 56 EPC).
II. The examining division found that claim 1 of the main request was obvious over D5 (US 2007/299743 A1) combined with common general knowledge summarised by D6 (ANONYMOUS: "HTML 4.0 Specification", INTERNET CITATION, published on 24 April 1998, retrieved on 25 February 2002). The additional features of claim 1 of the first auxiliary request were obvious over D5 in view of common general knowledge. Claim 1 of the second auxiliary request was found to extend beyond the originally filed application. The additional features of claim 1 of the third auxiliary request were obvious over D5.
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 main request, first auxiliary request or third auxiliary request. The appellant withdrew the refused second auxiliary request.
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 the divisional application 14196343.9 of the present application. The Board expressed its preliminary view that the main request was obvious over D5 in view of D6. The additional features of the first auxiliary request were obvious over the combination of D5 and D7 (US 2005/097189 A1) which the Board introduced into the proceedings under Article 114(1) EPC. The additional features of the third auxiliary request were disclosed in D5.
V. By letter of 5 May 2023, the appellant filed a new fourth auxiliary request and provided arguments in favour of inventive step of the first and fourth auxiliary requests.
VI. The oral proceedings took place on 6 July 2023, jointly with oral proceedings for related cases T 1467/20 and T 1468/20. As per appellant's request, they were held by videoconference.
VII. Claim 1 of the main request reads:
"A method for compiling scheduled transport price data comprising the steps of:
(i) a first web page data server serving first web page data to an Internet browsing client responsive to a request from said client, the first web page data comprising scheduled transport price data, the scheduled transport price data comprising at least one identifier of an instance of scheduled transport and at least one price to travel on the identified instance of scheduled transport;
(ii) the Internet browsing client receiving web page data comprising the said first web page data served by the first web page data server, the received web page data further comprising second web page data, wherein the first web page data includes a reference to an address of a second web page data server from which the second web page data is to be downloaded by the Internet browsing client;
(iii) the Internet browsing client downloading the second web page data from the second web page data server responsive to receipt of the first web page data, the second web page data including one or more executable instructions; and
(iv) rendering a web page denoted by the received web page data and executing the said one or more executable instructions;
wherein the execution of the one or more executable instructions in the second web page data causes the Internet browsing client to transmit at least a portion of the received scheduled transport price data to a data receiving server."
VIII. The first auxiliary request adds the following two features at the end of claim 1:
"and wherein the said at least a portion of the received scheduled transport price data which is transmitted comprises data selected from the scheduled transport price data received by the Internet browsing client, responsive to the execution of the one or more executable instructions,
and wherein the one or more executable instructions comprise pattern matching instructions which, when executed, cause the Internet browsing client to extract data which fulfills criteria specified by the pattern matching instructions, wherein some or all of said extracted data is transmitted to the data receiving server."
IX. The second auxiliary request was withdrawn.
X. The third auxiliary request adds the following two features at the end of claim 1 of the main request:
"wherein the scheduled transport price data received by the data receiving server is compiled into a database of compiled price data concerning a plurality of instances of scheduled transport, wherein the said database of compiled price data includes price data received from Internet browsing clients responsive to the downloading of first web page data from a plurality of different first web page data servers, and
wherein the method comprises the further step of providing a scheduled transport price data search engine, wherein the scheduled transport price data searchable using the search engine comprises the selected scheduled transport price data which has been transmitted by the Internet browsing client to the data receiving server responsive to the execution of the executable instructions served to said client by the first web page data server."
XI. Claim 1 of the fourth auxiliary request replaces the term "search engine" used twice in the last claim feature with "web site flights search engine".
XII. The appellant argued as follows:
The use of a script linked from another server provided the technical effect of faster rendering the content at the client as only the content, and not the content and the script were transmitted. By combining D5 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.
Furthermore, the script of D5 did not use pattern matching instructions to extract price information from a shopping web page into which it was embedded. Rather, it received this information from a merchant server which provided the web page. The claimed solution reduced the amount of transmitted data which was a technical effect. Since D5 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 D5 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.
The system of D5 did not disclose a search engine coupled to a central database of compiled price data.
1. At the oral proceedings, the appellant agreed that the subject-matter of this case did not extend beyond that of the divisional in case T 1468/20.
The Board's decision in that case states (D3 corresponds to D5 in the present case):
"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 ....
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].
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 (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) ...
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. First auxiliary request, Article 56 EPC
3.1 Claim 1 of the first auxiliary request adds that the executable instructions use pattern matching instructions to extract the price information from the web page.
3.2 However, as set out at point 14.4 of the decision, it was common knowledge at the priority date that pattern matching instructions, such as regular expressions, were used in web scraping. In this respect, during the oral proceedings, the Board cited the Wikipedia articles on web scraping and regular expressions which confirm these statements.
Thus, the use of pattern matching instructions would have been obvious.
3.3 Hence, claim 1 lacks an inventive step (Article 56 EPC).
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). And so does claim 1 of the third auxiliary request, adding the identical feature to claim 1 of the first auxiliary request."
2. Claim 1 of the main request in the present case essentially claims the aspects of using executable instructions to search the web page and downloading instructions from the data receiving server, discussed and found not to be inventive at points 2.8 and 4 of the previous decision. Consequently, the claim does not involve an inventive step for the same reasons.
3. Claim 1 of the first auxiliary request adds the pattern matching aspect discussed and found not to be inventive at point 3 of the previous decision. Again, this is not inventive for the same reasons.
4. Claim 1 of the third auxiliary request adds to claim 1 of the main request the aspects of compiling a database of and searching transport data that are disclosed in D5, as discussed at point 2.2 of the previous decision. The distinguishing aspects are identical to those identified for the main request and the claim is not inventive for the same reasons.
5. Fourth auxiliary request, admittance
The Board does not admit the fourth auxiliary request, filed after the notification of the summons to oral proceedings, into the proceedings under Article 13(2) RPBA 2020. Although the appellant argued that this request was made in response to the objection that D5 disclosed a database coupled to a search engine, raised by the Board for the first time, the Board cannot see why labelling the search engine as "a scheduled transport price data web site flights search engine" (amended wording underlined) is suitable to overcome this objection.
Thus, there are no exceptional circumstances in the sense of Article 13(2) RPBA 2020 which justify admitting the request.
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.