European Case Law Identifier: | ECLI:EP:BA:2012:T041709.20120731 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Date of decision: | 31 July 2012 | ||||||||
Case number: | T 0417/09 | ||||||||
Application number: | 05103037.7 | ||||||||
IPC class: | G06F 9/44 | ||||||||
Language of proceedings: | EN | ||||||||
Distribution: | D | ||||||||
Download and more information: |
|
||||||||
Title of application: | System and method for unified visualization of two-tiered applications | ||||||||
Applicant name: | Research In Motion Limited | ||||||||
Opponent name: | - | ||||||||
Board: | 3.5.06 | ||||||||
Headnote: | - | ||||||||
Relevant legal provisions: |
|
||||||||
Keywords: | Clarity - no | ||||||||
Catchwords: |
- |
||||||||
Cited decisions: |
|
||||||||
Citing decisions: |
|
Summary of Facts and Submissions
I. The appeal lies against the decision of the examining di vision to refuse the European patent application no. 05103037.7 for lack of clarity, Article 84 EPC 1973.
II. The notice of appeal was filed on 8 September 2008, the appeal fee being paid on the same day. On 3 November 2008 the appellant filed a statement of grounds of appeal and requested that the decision be set aside and that a patent be granted based on the documents as sub ject to the decision under appeal, in particular claims 1-12 as filed on 5 June 2008.
III. Claim 1 according to this request reads as follows
"A method for programming a two-tiered application, comprising:
providing a unifying data structure (1204) defining a unifying data model for programming application components (400, 402, 404, 406) for each tier of the two-tiered application (105), the unifying data structure comprising mapping information for mapping respective application component logic (1206, 1208) between each tier of the two-tiered application;
providing an application development tool (106) having a graphical user interface 'GUI' (202, 1202) for providing a visualization of the two-tiered application as a single logical application in accordance with the unifying data model with the mapping information abstracted away;
receiving user input via the GUI to program the single logical application; and
transparently programming application components of the two-tiered application in accordance with the single logical application and the unifying data model by mapping the user input for programming the single logical application to program a respective tier of the two-tiered application (105) using the mapping information."
Claim 7 defines a system in terms of features which closely correspond to those of claim 1.
IV. With a summons to oral proceedings, the board indicated its preliminary opinion that the decision under appeal would have to be confirmed for lack of clarity.
V. In response, the appellant informed the board of its intention not to attend the scheduled oral proceedings. No arguments or amendments were filed.
VI. The oral proceedings were held as scheduled in the ab sence of the appellant. At the end of the oral pro cee dings, the chairman announced the board's decision.
Reasons for the Decision
Appellant's absence at oral proceedings
1. The duly summoned appellant did not attend the oral pro ceedings. In accordance with Article 15(3) RPBA the board relied for its decision only on the appellant's written sub missions. The board was in a position to de cide at the con clusion of the oral proceedings, since the case was ready for decision (Article 15(5,6) RPBA), and the vo lun tary absence of the appellant was not a reason for delaying the decision (Article 15(3) RPBA).
2. The reasons for this decision are based on the preli mi na ry opinion communicated to the appellant with the summons to oral proceedings.
The Invention
3. The invention is concerned with method and corresponding system for programming a two-tiered - i.e. client-ser ver - application in a way which resembles the deve lop ment of a single-tier application. The claimed invention accor ding to independent claims 1 and 7 comprises three major parts.
a) A "unifying data structure" comprising mapping in for mation which associates each "application compo nent logic" to its "tier".
b) A graphical user interface which visualizes the two-tiered application "as a single logical application" with the mapping information "abstracted away".
c) A development tool which enables "transparent pro gram ming application components" of the two-tiered application by mapping user input meant to "program the single logical application" to the respectively intended tier as indicated by the unified data structure.
4. The decision under appeal (point 3.1) finds the claimed invention to be unclear in particular because the last step of claim 1 (essentially part c) is "defined as a re sult to be achieved rather than in terms of technical features which achieve said effect". The appellant challenges this finding and alleges that the claimed invention is clearly distin guished over D1 and that the details missing from the claim language, in particular as regards implementing said last step, would be "imme dia te ly apparent to a per son skilled in the art" (see grounds of appeal, p. 3, 3rd par.).
5. The board agrees with the decision under appeal that the subject matter of all claims is unclear, Article 84 EPC 1973. However, the board's con cerns in this respect go beyond those of the examining division. Specifically, the board deems some of the central termi no logy of the claims to be unclear as is detailed below.
Origin of the mapping information
6. The unifying data structure is specified as containing "mapping information" for mapping each component to its re spective tier. The claims are silent however as to how and when the mapping information is provided.
6.1. The claims do not exclude the possibility that the mapping information is automa ti cally derived from the application. In the board's view, the automated dis tri bu tion of application components across tiers is a ra ther non-trivial task solutions to which do not, in ge neral, be long to the common knowledge in the art. How ever, nei ther the claims nor the de scription specify how such au tomation should be performed. The description is thus insufficient to support this interpre ta tion.
6.2. Alternatively, mapping information may not be derived automa ti cally but "provided up front" (cf. minutes of oral proceedings before the examining division, point 13), typically by the programmers themselves. For in stance, programmers may be required to indicate the in ten ded tier for each newly created component. Under these circumstances the board considers that the pro grammer will be and remain aware about the two tiers of the application under development, whether the mapping information is "visualized" or not, which puts into doubt whether and in what sense the programmer can be said to program the application "trans parently" as a "single logical application".
6.3. In either case, the claims are deficient under Article 84 EPC 1973.
Single logical application
7. According to the claims, the application being developed is visualized as a "single logical application" with the "mapping information abstracted away".
7.1. The board considers the term "single logical appli ca tion" to be unclear: Whether an application can "lo gically" be viewed as a "single" one is a matter of per spective and does not necessa ri ly depend on whe ther or not it is distributed or how. For example, the entire world wide web or any web-based application comprising web servers and web clients (i.e. browsers) can jus ti fiably be considered as "single logical appli cations".
7.2. It may be possible to interpret the term "single logical application" as an application defined by the fact that the "mapping information [is] abstracted away". However, the term "abstracted away" is unclear in itself and so is, as a consequence, the content of the claimed visua li zation.
7.3. In this context, it is noted that the board is not con vinced that, as alleged by the appellant (cf. grounds of appeal, p. 3, 1st par.), figure 13a of the present appli cation illustrates the "abstracting away of infor mation" (cf. grounds of appeal, p. 3, 1st par.). While fi gure 13a itself indeed does not visualize "mapping in formation", figure 13a also does not depict the part of the GUI needed for "receiving user input ... to pro gram the single logical application". Whether other parts of the GUI, say the contents of the "Compo nents" subfolder or any actual editing tool, contain mapping information or not cannot be judged from that figure.
7.4. According to the claims, the user is to "program" the "single logical application [via the GUI]". In the con text of the claims, the board takes this to mean that the pro grammer is to input program code using an inter face which suppresses location information. This inter pretation was indicated in the summons to oral pro cee dings and was not commented upon by the appellant. That loca tion information is not displayed, however, does not exclude that the user is - at least at times - aware of the mapping in formation and takes it into account during pro gramming.
7.5. In this context the board disagrees with the appellant's suggestion that the mapping information is "(from the user's point of view) unnecessary" because "in the con text of a multi-tier application the ultimate loca tion of a module at run time is not an issue that is of con cern to a developer" (cf. grounds of appeal, p. 2, last par.). While apparently not all decisions to be made du ring programming depend on the distributed nature of an application, some manifestly do: As soon as the imple mentation of a function involves several machines and thus requires communication between both, the pro gram ming details may well affect the overall performance of the application. In view of network latency the pro gram mer may for instance want to minimize the amount of com munication required so as to improve responsiveness of the application. In view of possible network failure, the programming may want to provide addi tional failure hand ling as to improve reliability.
7.6. According to the preferred interpretation of the claims (see point 6.2), the mapping information must be pro vi ded "up front" to the unifying data structure. Although mapping information and program code might, within the scope of the claims, be input separately and through diffe rent interfaces, it is unclear why the input of mapping information cannot, in a broad sense, be viewed as a part of the programming. This renders further un clear what the claims mean when referring to the "trans pa rently pro gramming ... [a] single logical application".
Unit of distribution and mapping information
8. The claims specify "mapping respective application com po nent logic ... between each tier of the two-tiered appli cation" but do not define the nature or size of the individual components to be mapped.
8.1. It is noted that not only pieces of program code can be "mapped" to run on different tiers, but also pie ces of data structures can be "mapped" to be stored on diffe rent tiers. For example, the individual pages of a hy per text document may be hosted on different machines. But even if the term "applica tion component logic" is interpreted to refer to pieces of program code, the units of distribution can be functions or procedures, lar ger ones such as objects, modules or entire libraries, or smaller ones such as individual pro gram statements.
8.2. The board does not consider this ambiguity as a clarity problem in itself. However, the unit of distribution has an impact on the extent to which a pro grammer should or must be aware about the distinction be tween a single-tier or a two-tiered application and thus has a bearing on the question what "transpa rent programming" may mean and what it takes to enable it.
8.3. On the one hand, the distribution of small units may in cur a larger com mu ni cation overhead than the distribu tion of large units. On the other hand, larger compo nents may com prise functionality to be exe cu ted on dif fe rent ma chines: For example, a func tion de veloped as part of a "single logical application" may access a da ta base at the server and display the re trieved results at the client. Evidently, such a function can not be mapped as a whole to only one of the tiers; part of it must be mapped to the client and some to the server. It is unclear from the claims (and indeed the description) whether the "uni fy ing data struc ture" is even able to express such "split" mapping and how, and how such map ping informa tion would be used to "program a respective tier of the two-tiered appli cation".
8.4. As a consequence, the board deems the nature of the mapping information in itself to be unclear, Article 84 EPC 1973.
Summary
9. The board concludes that the independent claims 1 and 7 - as well as all de pen dent claims - are unclear as re gards their express goal ("transparent pro gramming"), the means to achieve it ("mapping informa tion", "ab strac ted away", "single lo gi cal appli cation") and whe ther it is actually achieved, and are thus defi cient un der Article 84 EPC 1973.
ORDER
For these reasons it is decided that:
The appeal is dismissed.