Today the German Supreme Court (Bundesgerichtshof, BGH) has published the full reasons of the decision in re Xa ZB 20/08 dated April 22, 2010. The decision is related to German patent application DE10232674 filed by Siemens AG on July 18, 2002.
In the context of the patent application, structured documents (here in particular HTML or XML documents) are dynamically generated on a host computer which communicates with a client and is preferably configured in an "embedded system" architecture. Requirement data from the client is received at the host computer and request parameters are extracted therefrom. The request parameters are mapped by a control module onto a command set of an architecture-specific interface module of the host computer. The structured document is then generated dynamically, using at least one template document which contains service takers. The service takers are executed in a runtime environment of the interface module, with reference to the mapped request parameters, and define contents or structure of the structured document after they have been executed. The dynamically generated structured document is then transferred to the client.
FIG. 1 (see above) illustrates a client CL connected to a host computer SRV via a packet-based network NW. The client - e.g. in the form of a workstation computer on which a browser is running - sends requirement data REQ to the host computer SRV via the packet-based network NW, and receives in return a structured document which has been dynamically formatted in accordance with the requirement data using a method which has yet to be represented. The host computer SRV has an embedded system architecture, i.e. it has limited resources in terms of working memory or processing power.
The direction arrows and associated lines which do not have reference characters are used in the drawing to illustrate more clearly the processes which occur, but must nonetheless be understood as pictorial since the processes which occur are packet-based and per se connectionless.
An input/output unit 10 assigned to the host computer SRV is used for a bidirectional exchange of data between the host computer SRV and the client CL via the packet-based network NW.
A control module CRT, which is connected to the input/output unit 10, accepts data which is received by the input/output unit 10 for further processing, or passes processed data to the input/output unit 10. The control module accesses a template document TD, which is stored in a memory unit M assigned to the host computer SRV. The document TD can alternatively be stored on any computer unit, including the computer unit of the client CL, in which case the control module accesses the document data via the packet-based network NW and via the input/output unit 10.
The control module is also connected to an interface module IF, which for its part communicates with host computer control functions SCF. By host computer control functions SCF is meant, for example, commands of the host computer SRV which are independent of the architecture, the relevant application program or the operating system. The interface module IF is therefore responsible in particular for the task of adapting to different host computer architectures.
The functional units of the host computer, in particular the control module CRT, the interface module IF, the input/output unit 10 and the host computer control functions SCF, can also be distributed among a plurality of computer systems in a known manner, for example in a client-server model, and exchange data via the packet-based network NW, for example.
The discussion of the problem underlying the invention starts by citing that it is known that a host computer or cluster of host computers for providing information over a packet-based network - also known as a "Web server" to the person skilled in the art - has generously dimensioned resources, i.e. processor power, working memory capacity, etc., which generally place virtually no limit on the execution of software products which support this provision of information.
The critial point is seen by the Applicant in that host computers are considered which have limited resources. Such a limitation on resources may be due to a restricted working memory capacity, for example, as in the case of host computers which are configured e.g. in an embedded system architecture. In particular, reference is made to the fact that (at least in 2002) such embedded system architecture is found in many so-called microcontroller-based host computers. A host computer with restricted resources exists in the case of communication devices for switching communication terminals, for example, where the relevant communication devices are also equipped with functionality for exchanging information over a packet-based network. Such an exchange of information might be required for maintenance purposes, for example.
Claim 1 reads:
A method for dynamically generating structured documents on at least one microcontroller-based host computer with limited resources which communicates with a client, comprising:
- receiving requirement data from the client at the host computer,
- extracting request parameters from the requirement data,
- mapping the request parameters, by a control module, to an instruction set of a software-architecture-specific interface module of the host computer,
- dynamically generating the structured document using at least one template document which contains calls of service takers, instructions of the service takers being extracted by the interface module and mapped to a corresponding instruction set of the interface module limited to a subsection of the service takers,
where instructions of the service takers are executed with reference to the mapped request parameters in a runtime environment of the control module and, after being executed, define at least one of contents and structure of the structured document after completion of execution, and
- transferring the dynamically generated structured document to the client.
The patent application was rejected by the Examiner at the German Patent and Trade Mark Office on June 01, 2004.
Siemens AG lodged an appeal to the Federal Patents Court (Bundespatentgericht, BPatGer) but the 17th circuit (17. Senat) upheld the Examiner's decision by decision dated January 17, 2008 (17W(pat)71/04 ). They argued that the claimed subject-matter was not in any technical domain. In particular, the Court did not see any technical problem solved by technical means. However, logding an appeal to the German Supreme Court (Bundesgerichtshof, BGH) was allowed expressis verbis by the Patents Court.
Then Siemens AG then filed an appeal to the German Supreme Court. The Circuit labeled "Xa" or "10a" of the Court then decided on April 22, 2010 - even without seeing any necessity to summon for oral proceedings - that the German Patents Court had erred. They ordered the case to go back to the Patents Court for examining specific prior art in order to finally judge on patentability. But this time there will be no room for any discussion of the technicality of the claimed invention.
The Supreme Court argues that the claimed teaching relates to the direct interaction of multiple elements of a computer system. The significant limitation of resources of this computer system leads to the object of the invention, namely to generate structured documents on host computers with limited resources.
Citing a line of BGH case law starting with the "Page Buffer" ("Seitenpuffer") decision from 1991 the Court argued that a software-related teaching is technical if it relates to the operational capability of a computer system as such and enables the direct co-operation of the elements thereof. Applying this case law to the present case they recognised that the object or problem as well as the claimed solution were clearly of a technical nature.
It might look somewhat surprising in view of the German practice which appears to be more restrictive when it comes to computer-implemented inventions than that of the EPO or, of course, of the US-PTO, to see claims being granted dealing purely with networked computer systems processing HTML and/or XML documents. But riding on the solving-a-problem-with-low-resources line of arguing did the trick, apparently. This is because of the BGH repeatedly had stressed that improving the performance of computer system is a technical problem. From a conservative point of view, this arguing is considered to be valid only in the context of low-level hardware and corresponding software buried deep in the lower layers of the software stack. But with this decision the BGH explicitly has made clear that the presence of additional non-technical features cannot invalidate such kind of technicality.
In their entirety I personally perceive the doctrines created by BGH concerning the patentability of computer-implemented inventions as being somewhat confusing and angled like a maze. Today's corresponding EPO doctrines on patents on CIIs as developed over many decades seem to be much more consistent and transparent. Surprising as the result of this German BGH case might appear at a first glance, I think that it looks much more consistent when consequently seen in the light of the "Page Buffer" case law.
It is interesting to see that there is a corresponding and co-pending European Patent application EP1369790 (claiming the priority of the above-mentioned German patent application) the fate of which is not yet decided on. At the moment, oral proceedings before the EPO Examining Division are summoned for July 07, 2010. It looks as if the Applicant needs to fend off a number of prior art Documents which come close to the invention.
As was to be expected, the US-PTO has accepted another co-pending patent application based in the German priority resulting into patent US 2003226110 with pretty broad claims.