T 0117/10 (Moving cache / BlackBerry) 05-03-2015
Handheld electronic device including appointment and meeting conflict notification, and associated method
I. European patent application number 04256786.7 (publication number EP 1 655 693 A1) filed on 3 November 2004 relates to a calendar application in a handheld electronic device for managing appointments and meetings and for providing an automatic notification of scheduling conflicts.
II. The examining division refused the application for lack of inventive step for the first time in 2006, raising the objection in particular against the following independent claims 1 and 9 filed by a letter dated 6 January 2006:
"1. A method of checking a new calendar entry in a calendar application (54) of a handheld electronic device (4), said calendar application (54) having a plurality of existing calendar entries, said calendar application (54) having a calendar cache associated therewith, said calendar cache including a first subset of said existing calendar entries falling within a first date range, the method comprising steps of:
receiving information relating to said new calendar entry, said information including at least one of a date, a start time and an end time of said new calendar entry;
determining whether said date falls within said first date range of said calendar cache;
if said date falls within said first date range: (i) examining said calendar cache and determining whether said new calendar entry directly conflicts with one of said existing calendar entries in said first subset of said existing calendar entries using said information, and (ii) providing a conflict notification (60) if said new calendar entry directly conflicts with one of said existing calendar entries in said first subset of said existing calendar entries; and
if said date falls outside of said first date range: (i) updating said calendar cache to create an updated calendar cache by replacing said first subset of said existing calendar entries with a second subset of said existing calendar entries falling within a second date range, said second date range covering a predetermined time period including said date, (ii) examining said updated calendar cache and determining whether said new calendar entry directly conflicts with one of said existing calendar entries in said second subset of said existing calendar entries using said information, and (iii) providing a conflict notification (60) if said new calendar entry directly conflicts with one of said existing calendar entries in said second subset of said existing calendar entries."
"9. A handheld electronic device (4) having a calendar application (54), comprising:
a display (12);
a processor (20); and
a memory (44) operable to store a plurality of existing calendar entries of said calendar application (54), said calendar application (54) having a calendar cache associated therewith, said calendar cache operable to include a first subset of said existing calendar entries falling within a first date range, said memory (44) being operable to store one or more routines executable by said processor (20), said one or more routines being adapted to:
(a) receive information relating to a new calendar entry, said information including at least one of a date, a start time and an end time of said new calendar entry;
(b) determine whether said date falls within said first date range of said calendar cache;
(c) if said date falls within said first date range: (i) examine said calendar cache and determine whether said new calendar entry directly conflicts with one of said existing calendar entries in said first subset of said existing calendar entries using said information, and (ii) provide a conflict notification on said display (12) if said new calendar entry directly conflicts with one of said existing calendar entries in said first subset of said existing calendar entries; and
(d) if said date falls outside of said first date range: (i) update said calendar cache to create an updated calendar cache by replacing said first subset of said existing calendar entries with a second subset of said existing calendar entries falling within a second date range, said second date range covering a predetermined time period including said date, (ii) examine said updated calendar cache and determine whether said new calendar entry directly conflicts with one of said existing calendar entries in said second subset of said existing calendar entries using said information, and (iii) provide a conflict notification on said display (12) if said new calendar entry directly conflicts with one of said existing calendar entries in said second subset of said existing calendar entries."
III. An appeal lodged against the refusal of the application was successful, leading to the reversal of the decision and the remittal of the case to the examining division for further prosecution (decision T 1265/06 of the Board).
IV. In a subsequent decision posted on 1 December 2009, the examining division again refused the application for lack of inventive step referring to new documentary evidence. The new documents D3 to D11 include the following prior art documents:
D3: US 2004/0088362 A1, 6 May 2004
D6: BAGGIO A.: 'Replication and Caching Strategies in Cadmium' INRIA RAPPORTS DE RECHERCHE - RESEARCH REPORT 01 April 1998, pages 1-8.
D7: US 5 632 038, 20 May 1997.
D9: SMITH A.J.: 'Cache Memories' ACM TRANSACTIONS ON DATABASE SYSTEMS no. 3, 1 September 1982, pages 473 - 530.
D10: VANDERWIEL S.P. et al.: 'Data prefetch mechanisms' ACM COMPUTING SURVEYS no. 2, 01 June 2000, NEW YORK, US, pages 174 - 199.
Documents D4, D5, D8, and D11, all retrieved from the Internet, have a publication date after the filing date of the present application. Documents D4, D5, and D8 are Wikipedia articles, D11 the following online FAQ article:
D11: "4GuysFromRolla.com : ASP FAQS : Application Object. Question: How Can I Use Application-Level Variables to Cache Information?". ASPFAQs.com. FAQ posted on 4 March 2001. Retrieved from http://www.4guysfromrolla.com/aspfaqs/ShowFAQ.asp?FAQID=142 on 24 June 2009.
The decision cited document D3 as closest prior art. According to point 3 of the Reasons, document D3 disclosed a method of checking a new calendar entry in
a calendar application of a mobile telephone, i.e. a handheld electronic device. The calendar application had a calendar application database and a calendar cache associated with the calendar application. The cache was asserted to be "implicit from any database access". "[I]mplicit from the use of the fetched calendar data to check for double booking conflicts" was also that the calendar cache included a subset of existing calendar entries falling within a data range.
To corroborate these assertions, the decision in point 3 referred back to preceding points of the decision, in which the examining division discussed the "technical substance" of the claimed subject matter of the present invention. The cache was not a hardware cache used to speed up a microprocessor, but "a high-level application cache controlled by application-specific software rules". Therefore, "the application variables (located in the memory) which [were] loaded through a database fetch already [were] the cache (cf. D11, 'answer ': 'We can use application-level variables as a cache to store database results')". The conflict notification implied that the existing date entries had to be checked within a given time frame which depended on the maximum appointment duration so that all entries within that given time frame had necessarily to be (pre-)fetched from the calendar database.
The analysis of document D3 in point 3 concluded that the only relevant difference in claim 1 over document D3 was the cache updating process itself, the "moving cache", in which data corresponding to a different date range were fetched from the database when it was needed. This solved the technical problem of optimising the computing resources of a handheld device. The "moving cache" was merely a normal caching strategy using software data prefetching, which was a common programming practice for increasing computing performance. The data content itself, namely information about appointments having start and end dates, as well as ordering and grouping data were non-technical aspects of the claimed method. Specifying the date range for the prefetched time frame of database entries also followed from non-technical considerations. A data processing expert would first ascertain whether the cache, i.e. the application variables, already held the data necessary for conflict detection and would, if not, provide a suitable cache update by prefetching entries from the calendar database within a suitable new time frame including the new appointment date. Therefore, the method of claim 1 did not involve an inventive step. The same reasons for lack of inventive step applied mutatis mutandis to independent device claim 9 and to dependent claims 2 to 8 and 10 to 16.
V. The applicant (appellant) lodged an appeal against this second refusal decision and paid the appeal fee in due time and form. Together with a statement setting out the grounds of appeal, the appellant filed three sets of claims as main and auxiliary requests, which requests, according to the appellant, conformed with those requests considered by the examining division in the decision under appeal. In particular, the claims relevant to this decision are identical to the corresponding claims considered by the examining division as well as to the claims filed in 2006 (see point II above).
VI. The appellant has requested that the decision under appeal be set aside and the case be remitted to the department of first instance for grant. In the event that the main request was not allowed oral proceedings have been requested.
In addition, the appellant expressed concerns regarding a possibly "unlimited sequence of retrograde refusals and appeals" and asked for a wording of the decision which did not give the examining division "any scope to perform further searches and issue a further (third) summons to oral proceedings".
VII. The appellant further complained that the inventive step objection was based on a mosaic of nine documents. These documents and in particular document D3 did not provide any better grounds for the refusal than those already considered and decided in the previous appeal decision. The technical problem underlying the invention resided in a more efficient technical implementation of a calendar application, providing an automatic conflict notification on a handheld electronic device. The new and inventive solution was a "moving cache", i.e. a cache that implemented the update mechanism defined in claim 1, obviating the need to search the entire database of existing calendar entries.
It had not been and it was not a point of dispute that databases and caching were known. Contrary to the examining division's opinion however, document D3 disclosed a caching or prefetching feature neither explicitly, nor implicitly.
1. The appeal is admissible and allowable since in the Board's judgement the decision under appeal does not prove to the necessary standard the lack of inventive step and there are no other objections against the application as it stands apparent from the file. This holds for the claims of the main request, the description as amended with the statement of grounds and the drawing as originally filed.
2. The Board agrees with the appellant that the new documents cited do not improve the relevance of the available prior art. In particular, the decision under appeal fails to substantiate the leading argument that use of a "moving cache" in a handheld computing device is prior art. In the preceding decision T 1265/06 (see point 5 of the reasons), the Board stated that "the examining division did not cite a single prior art document which was related to the use of a cache in a handheld device, let alone something like a 'moving cache' for implementing the calendar application on a handheld device". This factual situation has not substantially changed in spite of the efforts of the examining division to produce more relevant prior art.
3. Firstly, the Board does not agree that D3 implicitly discloses a calendar application cache (see point IV above). Even if it is acknowledged that an application-level variable could be used as a (high-level application) cache, it does not mean that such a variable is actually, quasi automatically, used as a cache. Document D11 cited by the examining division itself is very clear about that.
The present application explains that the term "cache" means "a section of a computing device's memory which retains certain data in order to speed up repeated access to the same data" (see the A-publication, paragraph 0020). This is essentially the ordinary meaning which the term has in the field of computer technology. The term implies specific functions, whether they are hardware or software implemented, which distinguishes it for example from a direct memory access technique. A cache replicates original data and holds them in storage for multiple access, which requires the implementation of suitable algorithms for fetching, placing, and replacing data. None of those functions are addressed in document D3, either explicitly or implicitly, nor is there any indication in document D3 that application variables should be used for caching purposes or that the content should be prefetched.
4. Moreover, the specific update process that makes up the "moving cache" is not a feature of some abstract scheme of calendar administration or of any other non-technical consideration, but serves the purpose of reducing the number of time-consuming database accesses and is thus a technical aspect of the invention relevant to inventive step. The circumstance that a specific ordering and grouping of calendar entries which have their rationale in non-technical considerations, are essential to this update process does not override its overall technical character. A per se non-technical feature which interacts with a technical feature in such a manner that a technical effect is achieved has, in this specific combination, to be taken into account in assessing inventive step.
5. The Board also reaches a different conclusion regarding how the skilled person would assess the disclosures about caches in the other documents.
The common general knowledge and the prior art documents cited in the European search report have already been considered as not relevant in the first appeal decision (see T 1265/06, point 5 f. of the Reasons).
New documents D4, D5, D8, and D11 are post-published and can thus not directly be used as prior art. D6, D7, D9, and D10, forming part of the prior art, do indeed address caching techniques to some extent.
Document D6 focuses on strategies for ensuring data availability such as caching or prefetching in mobile computing (see D6, paragraph 5 Conclusions and perspectives at page 6). The document mentions handheld devices in the opening paragraphs, but then goes on to deal only with "powerful laptop computers". It addresses calendar applications in a very cursory manner. Caching techniques are presented in a kind of summary of general strategies for addressing problems like off-line browsing or managing concurrent updates, without any specific reference to calendar applications. It explains "prefetching", but does not give any details about the data to be fetched. Even taking into consideration the fact that "[P]refetching algorithms attempt to guess what information will soon be needed" as disclosed in D9 on page 477, top of right-hand column, does not immediately suggest the idea of a moving cache. To then invoke some application of the general principle of "locality of reference" as mentioned, for example, in the second paragraph of (post-published) D8, to suggest that the skilled person might consider prefetching data either side of the retrieved date, is, in the Board's view, stretching the limits of obviousness too far. Thus, in the Board's judgement, it would not be obvious to provide a concrete caching strategy for calendar applications like the "moving cache" of the present invention.
The remaining documents do not provide any more relevant disclosure of caching techniques and also lack any calendarial context.
Hence, these documents do not provide the necessary incentive to combine the calendar application disclosed in document D3 with a caching method to arrive at the "moving cache" of the present invention.
6. No objections can be raised in respect of the remaining claims either.
Independent apparatus claim 9, which definition closely corresponds to that of claim 1, and the dependent claims comply with the requirement of inventive step for essentially the same reasons as claim 1. The Board is also satisfied that the form and content of the claims as well as of the description and drawings meet the requirements of the EPC. It follows that the main request before the Board can be allowed. Accordingly, there is no need to consider the further requests put before the Board.
For these reasons it is decided that:
The decision under the appeal is set aside and the case is remitted to the first instance department for further prosecution with the order to proceed with the grant of a patent on the basis of the main request.