|European Case Law Identifier:||ECLI:EP:BA:2013:T129508.20130319|
|Date of decision:||19 March 2013|
|Case number:||T 1295/08|
|IPC class:||G06F 17/30|
|Language of proceedings:||EN|
|Download and more information:||
|Title of application:||A method for selecting a renderer based on the browser type of the client, using scores|
|Applicant name:||SAP AG|
|Relevant legal provisions:||
|Keywords:||Inventive step - selecting web page renderer based on string similarity (no - routine programming)|
Summary of Facts and Submissions
I. This appeal is against the decision of the examining division to refuse the European patent application No. 02024435.6. It concerns selecting a renderer for formatting web page data depending on the capabilities of the requesting browser.
II. The examining division decided that US-A-2002/010716 (D1) disclosed a scoring algorithm for selecting the renderer, albeit with a score of only 0 or 1. Claim 1 of the main request differed by the actual definition of the scoring algorithm. This solved the problem of providing an alternative way of choosing the closest renderer. The claimed string matching algorithm was considered to be an obvious possibility from common knowledge (Article 56 EPC 1973). The additional feature in claim 1 of the auxiliary request of choosing the renderer with the maximum score, was considered to be self-evident.
III. In the statement of grounds of appeal dated 24 June 2008, the appellant re-filed the refused requests and filed a second and third auxiliary request.
IV. In response to a communication of the Board summarising the issues to be discussed at the oral proceedings and tending to agree with the examining division's conclusion, the appellant filed two additional documents.
V. At the oral proceedings, the appellant requested that the decision under appeal be set aside and that a patent be granted on the basis of the main request filed with the statement setting out the grounds of appeal dated 24 June 2008. The appellant changed the order of the auxiliary requests and additionally requested that a patent be granted on the basis of the first auxiliary request which was the former second auxiliary request, or the second auxiliary request which was the former first auxiliary request, these requests also having been filed with the statement of grounds of appeal. The former third auxiliary request was withdrawn.
VI. Claim 1 of the main request reads as follows:
"Computer implemented method for selecting a renderer, comprising
receiving a browser identification in the form of a user agent string from a client browser (308),
comparing said user agent string with at least two browser templates using a scoring application (328), wherein said scoring application determines a score for a comparison made between the user agent string and a browser template, wherein said score reflects the similarity between said user agent string and said respective browser template, and
selecting based on a result from said comparison a renderer for use in communication with said client browser (348),
wherein the scoring application determines said score by computing a number of matching characters in a browser template divided by a number of characters in the user agent string."
Claim 1 of the first auxiliary request adds to claim 1 of the main request the feature of "selecting a renderer based on a first score that matches a predetermined minimum value of the score determined by the scoring application".
Claim 1 of the second auxiliary request adds to claim 1 of the main request the feature of "selecting a renderer based on a maximum score determined by said scoring application".
Reasons for the Decision
1. The Board cannot see any prejudicial error in the examining division's conclusion that the subject-matter of the invention does not involve an inventive step (Article 56 EPC 1973).
2. The invention concerns the problem of preparing web page information at the server so that it can be correctly interpreted (rendered) by the browser in a client computer. It uses information about the user's browser contained in the page request.
3. It is common ground that the document publishing method disclosed in D1 is the closest prior art. When the server in D1 receives a request for a web page (document), it publishes it by merging the page content in XHTML markup language with an XSL stylesheet that defines how the page is to be presented (see Figure 5, steps 502, 504, 505, 506 and ). The stylesheet is selected on the basis of at least one client capability , such as browser type and version, which is transmitted in the header of the request . The selection is performed by matching the client capability information to records in a client capability table, which maps each client capability set to a particular XSL stylesheet . Preferably, each client capability set has a separate XSL stylesheet , but if one does not exist, there may be a default one that is at least viewable for all possible client capability sets . Also, several client capability sets may be mapped to the same stylesheet .
4. An administrator manually creates the records in the client capability table , i.e. it does not happen during the publishing phase.
5. The appellant argued that a difference was that in the invention the renderer (considered to be equivalent to the XSL stylesheet) was selected as a function of the user agent string whereas in D1 it was a function of parameters making up a client capability set. However, since as mentioned above, D1 discloses that two of these parameters can be browser type and version, which are transmitted with the request, this is not a difference.
6. The Board agrees with the examining division that the selection of records in the client capability table is a binary matching, i.e. 0 or 1, which anticipates the claimed comparison between the user agent string and the browser template. Thus, the only difference is the nature of this comparison, namely the number of matching characters divided by the number of characters in the user agent string (last feature of claim 1).
7. The division considered that the objective problem was how to provide another method of selecting the renderer when a precise match was not available. The appellant argued that the invention had various advantages such as being easier to maintain, having reduced complexity and resulting in the most appropriate display. The problem was thus how to efficiently identify a renderer for a specific browser.
8. The Board does not consider that much turns on the precise formulation of the problem in this case, but chooses the appellant's formulation because it is more concise.
9. The Board considers that the skilled person would have been particularly motivated to efficiently identify a renderer because of the large number of browser types and versions that were available. This would have required much work keeping the mappings up to date while the renderers were being prepared to avoid selecting no, or an unsuitable, renderer.
10. Thus, in the Board's view, the skilled person would have been looking for ways to help map the client capabilities to the renderer. A concrete example of the problem that was discussed at the oral proceedings was what the skilled person would have done faced with the situation where there was a renderer for, say, version 4.6.1 of a particular browser and a request came in with a user string showing that the user was using version 4.6.2.
11. The appellant argued that the invention went in a different direction from D1, namely using a dynamic selection of a renderer, compared to a static mapping by an administrator in D1. In D1, the actual selection of the renderer was a function of a set of parameters. Each parameter was compared and if they all matched, the stylesheet was chosen. Thus, if there was no mapping as in the above example, no renderer would be selected, apart from perhaps the default renderer. The invention was not about generating new templates, but choosing existing ones. There would be no incentive to use a string comparison.
12. The Board agrees that in D1 an "administrator" determines the mapping. However, if, as in the above example, a renderer for version 4.6.2 was required, but was not yet available, this person would have considered the possibility given in D1 of mapping to an existing renderer. In such a case, it would be self-evident to map to a similar existing version, i.e. version 4.6.1 in order to produce a sensible result. This mapping is fundamentally a string similarity operation, albeit a mental one. Thus, the selection of the invention is simply an automation of the administrator's mapping. The Board considers that the skilled person, as a programmer, would realise that it would be a matter of normal programming technique to perform this automatically by a string operation at the publishing stage.
13. Moreover, the skilled person would understand that the matching operation in D1 is almost inevitably already a standard string operation available in most programming languages, so that the change is simply the use of a different string operation. The Board agrees with the division that a string comparison is an obvious basic possibility to determine string similarity that cannot involve an inventive step. Dividing by the number of characters in the user agent string normalises the score to enable comparison with other scores. Such a mathematical operation is standard in all fields of technology and cannot add anything inventive. Thus, in the Board's judgement, it would be obvious to consider selecting the renderer based on the claimed scoring application.
14. Accordingly the Board judges that claim 1 of the main request does not involve an inventive step (Article 56 EPC 1973).
15. Claim 1 of the first auxiliary request adds to claim 1 of the main request the feature of "selecting a renderer based on a first score that matches a predetermined minimum value of the score determined by the scoring application". This was said to find a suitable renderer more quickly. Again, the Board considers that this is a matter of routine design depending on the circumstances; here, the well known trade off between speed and accuracy.
16. Similarly, the Board agrees with the division that the additional feature in the second auxiliary request of selecting the renderer based on the maximum score would be a matter of routine design. It is self-evident that the best renderer would be that whose name best matches that of the browser.
17. Accordingly, claim 1 of all requests does not involve an inventive step (Article 56 EPC 1973), so that the appeal must be dismissed.
For these reasons it is decided that:
The appeal is dismissed.