T 1541/16 (GUI configuring/ROCKWELL) 10-08-2017
Download and more information:
Abstracted display building method and system
I. The appeal is directed against the decision of the examining division, dated 27 January 2016, to refuse European patent application No. 06011756.1 for lack of novelty of the main request over D1 (decision sections 16-35). The first to third auxiliary requests were not admitted into the procedure under Rule 137(3) EPC, since they did not overcome the novelty objection (sections 36-51) and prima facie contained added subject-matter.
The following documents have been referred to:
D1 WO 01/95041 A1.
D2 WO 2004/086160 A1.
II. A notice of appeal was received on 6 April 2016. The appeal fee was paid on the same day. A statement of grounds of appeal was received on 6 June 2016. Grant of a patent on the basis of the same claim sets as in the appealed decision was requested. Oral proceedings were conditionally requested.
III. In its summons to oral proceedings, the board gave reasons for its preliminary opinion that claim 1 of all of the requests lacked an inventive step over D1.
IV. With a letter dated 6 July 2017, the appellant filed claim sets according to a new main and a new auxiliary request, replacing the claims and requests on file.
V. Oral proceedings were held on 10 August 2017. At their conclusion, the chairman announced the board's decision.
VI. The appellant requests that the decision be set aside and a patent be granted based on the main request or the auxiliary request, filed on 6 July 2017.
The other application documents are the same as in the appealed decision.
VII. Claim 1 of the main request reads as follows:
"1. A configurable interface device (26) for configuring an interface screen, the device comprising:
a plurality of device elements (18) resident on the configurable interface device (26), each device element having properties including a visual representation and a state engine (330) defining functionality of the respective device element, and each device element being an independent executable piece of software that can communicate with other elements to perform complex functions;
an access module (106) configured to prompt each device element (18) to send an image (168) defining its visual representation to a memory space for inclusion in a user viewable screen for displaying the visual representations of the device elements together with a current view of the interface screen, the current view showing a current configuration of visual representations of device elements in the interface screen; and
a server module (42) for receiving a query for the user viewable screen from a general purpose viewer (48), and for serving the user viewable screen to the general purpose viewer (48) for viewing in the general purpose viewer (48) without serving the device elements (18) to the general purpose viewer (48);
wherein the configurable interface device is adapted to update the user viewable screen in response to receipt of a query to change the current view of the interface screen; and
the configurable interface device (26) is adapted to communicate with the general purpose viewer (48) by receiving queries and sending responses."
VIII. Claim 1 of the auxiliary request differs from claim 1 of the main request in that the last paragraph is replaced by:
"wherein the query includes changes to graphical representations on the general purpose viewer (48), wherein the device elements (18) are adapted to implement the changes by manipulating the properties and configuration of the device elements in accordance with the query, wherein the properties are changed in the device elements (18) and the user viewable screen in the general purpose viewer (48); and
wherein the configurable interface device (26) is adapted to communicate with the general purpose viewer (48) by receiving queries and sending responses."
1. Summary of the invention
The application relates to a software framework for "configuring" (i.e. programming) a graphical user interface (GUI) (original description paragraph [10]; see also [32], first, third and last sentences). The GUI may then be used as a "human machine interface" (HMI) to monitor and control an industrial automation system ([2]), but this is not claimed and the invention is not limited to that ([30], fifth and sixth sentence). The GUI is programmed in a specific "programming design" ([4], first sentence) in a known markup language such as HTML ([50], second sentence; [62]). There are two software environments available in the framework ([32], first sentence): a run-time environment for using the GUI to monitor and control the automation system (not claimed), and a design-time environment for programming the GUI ([32], second and third sentence; [66], fourth sentence; figure 5: run-time engine/environment 14 and design-time environment 16). The two reside on the same single computer called a "configurable interface device" in the claims (with reference number 26 in the auxiliary request, at the end of claim 1) or HMI 26 in the description and the drawings (figures 2-5: HMI 26; see also [43], first and sixth sentence; [46], second sentence). The HMI computer 26 contains all the hardware elements of an ordinary computer (figure 4: processor, memory, display, input [device] - e.g. a keypad or touch-screen, see [61], fourth sentence). All the features of claim 1 ("device elements 18", "access module 106", "server module 42") are software components residing in one of the two software environments on the HMI computer 26 or directly on it (figure 5: device elements 18 and Access Module 106 in the area of HMI 26; see also [77], third sentence; [33], first sentence; [66], second sentence; [5], first sentence).
Two further computers (which are not claimed) interact with the HMI computer 26: firstly, a PC 46 (also called [external] configuration station; see figures 2-5; [62], sixth sentence) is connected over a network 56 with HMI computer 26 ([60]; figures 2-5, 7). It is used by a human designer to program the GUI ([19]; [20]), e.g. by drag-and-drop operations on icons ([55], first sentence; [84], first and second sentence and figure 8: move operation of button 168 from one location to another indicated by arrow 170; [85], sentences 1-3;[93], sentences 1-5).
Secondly, a so-called "control/monitoring device 30" (e.g. another remote computer, PLC or any other controller; figure 2: Control/Monitoring Device 30; [41], third sentence) may be connected to the HMI computer 26 to allow the HMI computer 26 to monitor and control industrial automation processes connected to the "control/monitoring device 30" (figure 2: Process 28).
2. Inventiveness of claim 1 of both requests
2.1 The claimed invention relates to GUI configuration and a "programming design" for that purpose ([4], first sentence). The program design of the claimed GUI configuration software consists of the following pieces of software running on HMI computer 26 (the "configurable interface device"):
- "device elements 18": these are stand-alone code ([31], sixth sentence) in the form of objects (in the sense of object-oriented programming; [33], fourth and seventh sentences), e.g. client-side ActiveX controls or server-side .Net-components ([33], third sentence; [50], fifth sentence) representing GUI elements such as push-buttons, timers, gauges, PLC communication servers, screens and applications ([35], first sentence). Such a "device element" object contains as a property an image ([34], third sentence) and, as usual for objects, also functions (called "state engine"; see [34], fourth sentence). A "device element" may also include any graphical element used for interacting with any display (i.e. any GUI element, not restricted to devices of an industrial automation system; see [69], fifth sentence).
- an "access module 106": a specific "device element" ([69], first sentence) which "prompt[s] each device element to send an image defining its visual representation to a memory display context" ([4], sixth sentence; claim 1 of both requests). - The "access module" determines the dynamic content of the GUI to be displayed by "acquiring" the images of the "device elements" from a so-called "memory display context".
- a "server module 42" (e.g. including a usual HTTP server program as its main software component, i.e. a Web server program): see figure 5: "Server 42" including "HTTP Serv[er] 96"; see also [67], first sentence. The server program 42 "permits viewing the development environment, and direct reconfiguration of the interface" ([46], first sentence) on the Web browser program (see next section below) running on the configuration station/PC 46 (second sentence). More precisely, the server program 42 also contains an Active Server Page (ASP) server program to produce and serve the GUI as dynamic content from the "device elements" to the human designer's browser ([39], second sentence; figure 5: "ASP Ext's 98"; [68], first and fifth sentence).
2.2 Another software component called "general purpose viewer 48" is mentioned in claim 1 (see also figures 2-5 and 7: Browser 48 of PC 46), but not claimed as being comprised in the configurable interface device (HMI computer 26). This "general purpose viewer" may be a Web browser, but is not limited to one ([46], fourth sentence). In the application the word "browser" designates a piece of "software which includes any general purpose viewer" (sixth sentence). There is no precise technical definition of a "general purpose viewer" in the application.
2.3 The board considers the main idea of the invention to be to remotely program/design a Web-based GUI in a "general purpose viewer". However, this is known from D1:
- see figure 4 for a "display builder" window (i.e. a window of an "authoring tool") including an HTML page with the headline "Filter Cloth Maintenance" in the inner window showing the GUI to be designed;
- see page 16, lines 12-13, for the HTML rendering engine in the "authoring tool" (i.e. the display builder); the "display builder" of D1 is considered to correspond to the "general purpose viewer" of the claim, since it is a kind of a Web browser (with its HTML rendering engine);
- see page 95, lines 15-18, for the "Hendrix display builder" being a client of the so-called "data source manager"; this passage and the two following points show the "remoteness" of the "display builder";
- see figure 23 for the "data source manager" (corresponding to the "access module" of the claimed invention) running on a "middle tier" server computer remote from a thin client, and
- figure 23 and drawing sheet 22 for the queries/responses between the builder and the data source manager; this corresponds to the query/response scheme of claim 1 of the auxiliary request.
2.4 Thus, the invention differs from D1 firstly in the way the functions and the data of its software for remotely programming Web-based GUIs are partitioned, and secondly in that only the user viewable screen is served to the general purpose viewer (e.g. a Web browser) and not pieces of program code to be executed in that viewer (e.g. ActiveX controls).
2.5 The second difference follows from the definition of a "Data Source Definition" in D1 (page 9, last paragraph) which corresponds to the device elements of the claims and which refers to the definition of a "Display Page" (page 10, third paragraph). This definition of a Display page in turn refers to the definition of a "Page Element" (page 10, lines 14-15) which includes (client-side) ActiveX controls. The latter are excluded by the claim formulation "without serving the device elements (18) to the general purpose viewer".
2.6 As to the first difference, the board considers it to be difficult (if not impossible) to compare the partitioning into software components of the invention with that of D1. However, the comparison is also considered to be unnecessary, since the mere structure of a program (here that of the GUI programming software) is not considered by the board to produce a technical effect.
2.7 Here, the invention also does not have a technical effect which was not already achieved by the prior art software, since remotely programming Web-based GUIs was known in the prior art (see D1 which even stems from the same field as the application, namely industrial automation systems).
2.8 More generally, since programs as such are excluded from patentability (Article 52(2) and (3) EPC), it is established case law of the boards of appeal that features which relate to programs as such cannot contribute to the presence of an inventive step. Features which merely concern the organisational structure of a program (e.g. its partitioning into pieces of software, such as components, modules, objects, procedures, functions, source code files or executable files) cannot usually contribute to an inventive step, except if they produced a technical effect going beyond the effects that those partitioning methods typically have. This is not the case here.
2.9 Furthermore, if the partitioning method merely aims to reduce the effort of a human programmer (e.g. by simplifying the overall program structure or by easing the reuse of code), effects resulting from that would also not be considered to be technical. It is established case law of the boards of appeal that programming is a mental act, unless it serves to achieve in a causal way a technical effect in the context of a concrete application or environment (see, for example, T 1539/09, section 4.2, second sentence and T 423/11, sections 3.6 and 3.9). In the present case, the claimed partitioned program structure is neither limited to building a GUI for a concrete industrial automation system, nor for any automation system, but is presented as a general scheme for building a GUI for any software.
2.10 Lastly, reducing the effort of a human programmer to program the claimed GUI programming software relates to a mental act, and thus cannot contribute to an inventive step.
2.11 It is noted that two further important design ideas in the description (albeit not explicitly claimed) are also disclosed in D1. The first one is to produce dynamic web content for the GUI with standard web methodologies, such as Active Server Pages (ASP) and ActiveX controls (see description, [39], second sentence and [50], fifth sentence) to represent the GUI. This is also disclosed in D1 (page 19, first bullet point for ASP, and page 31, last paragraph for ActiveX controls).
2.12 The second one is the invention's additional run-time environment for a human operator (in contrast to that of the designer; [32]), see D1, page 13, fourth paragraph: "operator environment".
2.13 As to the second difference between claim 1 and D1 (i.e. serving only the user viewable screen to the viewer), the appellant states that this concerns the amount of data to be transmitted to the viewer (letter of 6 July 2017, page 4 first paragraph).
2.14 The board agrees. However, the board considers both alternatives (sending HTML with or without client-side executable program code such as ActiveX controls) to have been well-known to the skilled person at the priority date. This was not contested by the appellant.
2.15 Furthermore, the board finds it obvious for the skilled person to select one of the two alternatives depending on which of the known advantages and disadvantages of them are wished in the concrete programming situation.
2.16 The facts that D1 (page 19, first bullet point) mentions Active Server Pages (i.e. a methodology which produces pure HTML code without client-side executable program code) and that the web server runs on a "very thin" client computer (figure 23; page 64, fourth paragraph) would both encourage the skilled person to select the alternative without client-side executable program code.
2.17 As to the auxiliary request, the board agreed with the appellant during oral proceedings that the auxiliary request merely clarifies the main request with respect to the configuration of the GUI.
2.18 Therefore, claim 1 of both requests is not inventive, in violation of Article 56 EPC.
For these reasons it is decided that:
The appeal is dismissed.