T 1204/08 (Distributed caching / DIVINE TECHNOLOGY VENTURES) of 10.4.2013

European Case Law Identifier: ECLI:EP:BA:2013:T120408.20130410
Date of decision: 10 April 2013
Case number: T 1204/08
Application number: 01935510.6
IPC class: G06F 17/30
Language of proceedings: EN
Distribution: D
Download and more information:
Decision text in EN (PDF, 130.751K)
Documentation of the appeal procedure can be found in the Register
Bibliographic information is available in: EN
Versions: Unpublished
Title of application: Distributed dynamic web page caching system
Applicant name: divine technology ventures
Opponent name: -
Board: 3.5.01
Headnote: -
Relevant legal provisions:
European Patent Convention Art 123(2)
European Patent Convention 1973 Art 56
Keywords: Admissibility of amendment - no (main request)
Inventive step - no (auxiliary request)
Catchwords:

-

Cited decisions:
-
Citing decisions:
-

Summary of facts and submissions

I. The appeal is against the decision of the examining division to refuse European patent application No. 01935510.6 entitled "Distributed dynamic web page caching system", published as

A2: WO-A2-01/088762 (22 November 2001).

II. Reasons for the refusal decision were set out by the examining division in a communication dated 30 August 2007: lack of clarity (Article 84 EPC 1973), inadmissible amendment (Article 123(2) EPC 1973), and lack of inventive step (Article 56 EPC 1973) over

D1: Pei Cao et al., "Active Cache: Caching Dynamic Contents on the Web", Proceedings of the International Conference on Distributed System Platform and Open Distributed Processing (1998), pages 373 to 388, XP002200148.

D1 was considered to represent the most relevant prior art from which claim 1 only differed by specifying a second server taking over work from a failing first server.

III. The appellant submitted an amended set of claims 1 to 12 (hereinafter referred to as "main request") with the statement of grounds of appeal dated 4 June 2008.

Claim 1 according to the main request reads:

"1. Computer-implemented method of generating a dynamic web page (10), comprising:

- receiving a request (122) for a web page (10) from a client (54) at a first satellite server (58);

- determining (124) whether page members reside in a first local cache memory (94) in a first satellite server (58), wherein said page members comprise a page template (12) and page component tags of the web page (10);

- in response to the determining (124), downloading (130) the page members into the first local cache memory (94) in the first satellite server (58) and a second local cache memory (94) in a second satellite server (60) from a server (52) if the page members do not reside in the first local cache memory (94) in the first satellite server (58);

- assembling (126) the web page (10) from the page members residing in the first local cache memory (94) in the first satellite server (58);

- delivering (128) the web page (10) to the client (54);

characterized by

- utilizing the second satellite server (60), if the first satellite server (58) goes down, to assemble (126) the web page (10) from the page members residing in the second local cache memory (94) in the second satellite server (60) and deliver (128) the web page (10) to the client (54), wherein there is no synchronization required between the first satellite server (58) and the second satellite server (60)."

IV. The Board summoned the appellant to oral proceedings scheduled for 10 April 2013. In an annex to the summons, the Board voiced doubts about the original basis of the claimed method and about the presence of an inventive step in the claimed method.

V. In response to the summons, the appellant filed an amended set of claims 1 to 8 as an auxiliary request ("auxiliary request 1", 13 March 2013).

Claim 1 according to the auxiliary request reads:

"1. A computer-implemented method of generating a dynamic web page (10), comprising:

receiving a request (122) for a web page (10) from a client (54) at a first satellite server (58);

determining (124) whether page members reside in a first local cache memory (94) in the first satellite server (58), wherein said page members comprise a page template (12) and page component tags of the web page (10);

in response to the determining (124), downloading (130) the page members into the first local cache memory (94) in the first satellite server (58) from a server (52) if the page members do not reside in the first local cache memory (94) in the first satellite server (58);

assembling (126) the web page (10) from the page members residing in the first local cache memory (94) in the first satellite server (58);

delivering (128) the web page (10) to the client (54);

characterized by

utilizing a second satellite server (60), if the first satellite server (58) goes down, to download any page members which do not reside in a second local cache memory (94) in the second satellite server (60), and to assemble (126) the web page (10) from the page members residing in the second local cache memory (94) in the second satellite server (60) and deliver (128) the web page (10) to the client (54);

wherein the first satellite server (58) and the second satellite server (60) store (136) the downloaded page members in the first local cache memory (94) and the second local cache memory (94), respectively, such that a further request finds the required information needed to assemble (126) the requested web page (10) in the satellite server (58, 60) cache memories (94), such that in steady state a replicated cache is maintained wherein all the cache components are residing in the satellite server (58, 60) cache memories (94) with no synchronization between the first satellite server (58) and the second satellite server (60)."

VI. Oral proceedings took place on the appointed date (10 April 2013). The appellant confirmed its requests that the decision under appeal be set aside and that a patent be granted on the basis of either the main request filed with the statement of grounds of appeal on 4 June 2008 or the auxiliary request filed with letter dated 13 March 2013.

VII. The appellant's argumentation is summarised as follows.

(a) Regarding the original basis of the operation of a second satellite server according to amended claim 1 (main request, auxiliary request), the appellant refers to two passages in the description (A2, page 2, lines 24 to 27; page 6, lines 5 to 10): the second satellite server performs the "necessary work" of a failing first satellite server. This implies that the second satellite server downloads components of a requested web page from a central web server if the components are not yet present in the cache memory of the second satellite server. In a steady state reached after numerous (e.g. a million) requests, the cache memory of the second satellite server replicates (on a statistical basis) the content of the first satellite server although the satellite servers have not been synchronised.

(b) The appellant considers the claimed concept as inventive since D1 deals with a single proxy server (= satellite server) and requires the proxy server to request an entire web page from the central server even when only components of the web page are missing in the proxy cache. Handling dynamic content was a young technical field at the priority date of the application, and the examining division used inadmissible hindsight by formulating the objective technical problem such as to include pointers to the solution ("to decrease the unavailability of a dynamic web page generating service in case of a server failure"). D1 does not deal with a failure of its proxy server. Thus, the objective problem faced by the skilled person was to make a fast access to (dynamic) web content more reliable. On that general basis, the skilled person had no incentive to consider an independent (non-synchronised) second satellite server for downloading components of a web page.

Reasons for the decision

The application

1. The application, filed as international application PCT/US01/15621 on 15 May 2001 (claiming a US priority of 16 May 2000), is directed at a method for generating a dynamic web page (A2, original claim 1). Dynamic components of a web page are typically assembled at the time a client requests them from a server, whereas static components remain unchanged over a period of time (A2, page 3, lines 15 to 22).

Web content is initially stored in a web server (A2, Figure 2, reference numeral 52), and copies may be stored in cache memories of "satellite servers" (A2, page 5, paragraph 1; Figure 3).

When a client requests a web page, a process (A2, Figure 4, reference numeral 120) residing on the computer network (A2, page 3, lines 7/8) determines whether the static and dynamic page components ("template"; "tags") are present in the cache memory of the satellite server. If this is the case, the satellite server assembles the web page and delivers it to the requesting client. If components of the requested web page are not present in the satellite server cache, the process obtains the components from the web server. Thereafter, a second page access can find the required information in the satellite server's cache memory (A2, paragraph bridging pages 5/6).

Continuous operation of satellite servers in the network results in a steady state in which their cache memories largely replicate each other's content even without synchronising the ("independent") satellite servers. Thus, if a satellite server fails, another satellite server may perform the necessary work to render the requested web page (A2, page 2, lines 24 to 27; page 6, lines 5 to 10). "Rendering" a web page refers to the act of assembling its components and delivering the page to the client (A2, e.g. page 1, lines 24 to 26; page 4, lines 28 to 31).

Main Request

Article 123(2) EPC --- Amendment beyond content of the application as filed

2. The Board accepts the appellant's argument that the content replication in the cache memories of the satellite servers results statistically from each satellite server handling a large number of overlapping user requests for web pages.

3. However, the method according to amended claim 1 modifies the operation of the satellite servers: upon receipt of a request at the first satellite server, page members determined not to be resident in its cache memory are downloaded into the cache memory of not only the first satellite server, but also of a second satellite server.

This mode of operation, which updates the cache memories of both satellite servers essentially simultaneously ("in response to the determining") with respect to each requested web page, is not disclosed by the application as filed and effectively contrasts with its teaching that no synchronisation between the independent satellite servers is required (A2, page 2, lines 26/27; page 6, lines 8 to 10).

4. Therefore, claim 1 as amended according to the main request extends beyond the content of the application as filed and, thus, does not meet the requirements of Article 123(2) EPC.

Auxiliary Request

Article 123(2) EPC --- Amendment within content of the application as filed

5. Claim 1 of the auxiliary request does not specify a download into the cache memories of both the first and second satellite servers and, thus, removes that matter added by the main request.

6. The auxiliary request specifies a different aspect: if the first satellite server goes down, page members not resident in the cache memory of the second satellite server are downloaded (from a central web server).

The application as filed is silent on what the second satellite server does when content not resident in its cache memory has been requested by a user while the first satellite server is down. The original description only deals with content resident in the cache memory of the second satellite server which in the steady state replicates the cache content of the first satellite server. On that basis, the second satellite server is immediately able to perform the work necessary to render the requested web page (A2, page 6, lines 5 to 10).

7. However, the skilled reader arguably realises that the "necessary work" of the second satellite server to render a requested web page (A2, page 6, lines 6 to 8) must include a download of any missing page member.

Therefore, the Board considers that claim 1 according to the auxiliary request does not extend the teaching of the application.

Article 56 EPC 1973 --- Inventive step

8. The Board agrees with the examining division that D1 describes the closest prior art.

D1 deals with caching dynamic contents on the Web (title) and focuses on the use of a "cache applet", i.e. a server-supplied code that is attached with a Universal Resource Locator (URL). When caching a document, a proxy (i.e. a satellite server) also fetches the corresponding cache applet. When a user request hits on the cached copy and the proxy would like to service the request, the proxy must invoke the cache applet which then decides what the proxy will send back to the user, either giving the proxy a new document (from the server) to send to the user, or allowing the proxy to use the cached copy, or instructing the proxy to send the request to the server. Cache applets allow servers to benefit from proxy caching without losing the capability to track user accesses and to tailor the content presentation (D1, page 374, paragraphs 2 and 3).

9. D1 is not concerned with (satellite) server failures and related back-up measures. However, computer failure is a common phenomenon which always has to be considered by the skilled person.

10. A simple and well-known concept for backing up a first computer consists in using a redundant second computer. The disclosure of the present application --- using a second satellite server's cache memory when a first satellite server has gone down --- reflects that concept which is particularly suggested by a network (Internet, with which D1 is concerned) having distributed nodes and plural tiers of servers effectively backing up each other.

The skilled person is aware of the redundant availability of information on a plurality of intermediate Internet servers. Web pages requested by millions of users in various geographic regions are serviced by various satellite servers which necessarily end up hosting (caching) overlapping volumes of data.

Therefore, requesting information from a second satellite server is an obvious alternative to requesting information from a failed first satellite server.

11. The appellant has argued that in D1 the proxy server must request an entire web page from the central server even if only components of the web page are missing in the proxy cache. This drawback, however, has already been overcome in the prior art - as acknowledged by the appellant (see point VII(b) above) - by the introduction of static and dynamic web page components. Their use in the system described in D1 would have been obvious in order to obtain the advantages they were known to have.

12. On the implementation level, the application does not suggest any inventive technical contribution, either. It rather leaves the implementation to the skilled reader.

13. For these reasons claim 1 does not involve an inventive step.

ORDER

For these reasons, it is decided that:

The appeal is dismissed.

Quick Navigation