Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1, 2, 4, 8, 9 and 10 is/are rejected under 35 U.S.C. 103 as being unpatentable over Saito et al. (US PG PUB 20130132673), hereinafter "Saito", in views of Khakpour et al. (US PG PUB 20130227051), hereinafter "Khakpour", further in views of Farris et al. (US PAT 10743036), hereinafter "Farris".
Regarding Claim 1, Saito discloses:
A method comprising:
detecting, by an edge server, a request for a resource (i.e. edge storage apparatus 20 [i.e. an edge server] may determine/detect that it has received a read request for reading a read target data [i.e. a resource]) (20 – Fig. 1, ¶ 0068 and ¶ 0100 – 0102);
determining that the resource has been cached by the edge server based on performing a lookup in a first data structure (i.e. the edge storage apparatus may determine that the read data [i.e. the resource] is stored in cache memory 25 [i.e. has been cached] by referring [i.e. a lookup] the cache management table 230 [i.e. a first data structure]) (¶ 0102 - 0103).
However, Saito does not explicitly disclose:
determining that a purge request was issued for the resource based on performing a lookup in a second data structure, wherein the second data structure maintains indications of a plurality of resources for which purge requests have been issued and a corresponding plurality of counters, wherein the second data structure comprises an entry that indicates the resource and a first counter of the plurality of counters.
On the other hand, in the same field of endeavor, Khakpour teaches:
determining that a purge request was issued for the resource based on performing a lookup in a second data structure (i.e. the method/system may determine that a purge policy is executed [i.e. a purge request was issued] for a particular content [i.e. the resource] based on identifying indices [i.e. performing a lookup] representing the content in bit array / counting bloom filter [i.e. a second data structure] through hash functions) (1510 & 1520 - Fig. 5, ¶ 0016 and ¶ 0151),
wherein the second data structure maintains indications of a plurality of resources for which purge requests have been issued and a corresponding plurality of counters (i.e. the counting bloom filter [i.e. the second data structure] maintains indices [i.e. indications] that uniquely identify corresponding contents [i.e. a plurality of resources] for which purge policy has been executed [i.e. purge requests have been issued] and request counts [i.e. a corresponding plurality of counters] corresponding to the contents) (1530 – Fig. 15 and ¶ 0151),
wherein the second data structure comprises an entry that indicates the resource and a first counter of the plurality of counters (i.e. the counting bloom filter [i.e. the second data structure] includes indices that uniquely identify the content [i.e. an entry that indicates the resource] and request count [i.e. a first counter of the plurality of counters]) (¶ 0151).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the method/system of Saito to include wherein determining that a purge request was issued for the resource based on performing a lookup in a second data structure, wherein the second data structure maintains indications of a plurality of resources for which purge requests have been issued and a corresponding plurality of counters, wherein the second data structure comprises an entry that indicates the resource and a first counter of the plurality of counters as taught by Khakpour in order to identify the content in the cache based on the indices produced from hash functions (¶ 0151).
However, the combination of Saito and Khakpour does not explicitly disclose:
retrieving a new version of the resource from an origin server; updating an entry of the first data structure with the new version of the resource; and copying a value of the first counter into the entry of the first data structure.
On the other hand, in the same field of endeavor, Farris teaches:
retrieving a new version of the resource from an origin server (i.e. the method/system may retrieve up to date version [i.e. a new version] of the content from the origin server) (616 – Fig. 6 and Column 20 Line # 39 - 53);
updating an entry of the first data structure with the new version of the resource (i.e. an entry identifying the up-to-date version [i.e. the new version] of the content [i.e. the resource] may be updated to log information [i.e. the first data structure] of content delivery network log repository 132) (Fig. 1, Column 8 Line # 55 – 67 and Column 9 Line # 1 - 12); and
copying a value of the first counter into the entry of the first data structure (i.e. for each item of content [i.e. for each entry], the log information [i.e. the entry of the first data structure] may be updated [i.e. copying] with the number of times [i.e. a value of] that the content item has been requested [i.e. the first counter]) (Fig. 1 and Column 16 Line # 30 - 38).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the method/system of Saito and Khakpour to include for retrieving a new version of the resource from an origin server; updating an entry of the first data structure with the new version of the resource; and copying a value of the first counter into the entry of the first data structure as taught by Farris so that metrics indicative of the cache hits/misses may be logged and analyzed for scaling resources (Abstract, Fig. 1, Column 8 Line # 55 – 67, Column 9 Line # 1 – 12 and Column 16 Line # 30 - 38).
Regarding Claim 2, Saito, Khakpour and Farris disclose, in particular Khakpour teaches:
based on receiving the purge request for the resource, updating the second data structure with the entry comprising an indication of the resource and the first counter (i.e. based on the execution of purge policy [i.e. based on receiving the purge request], the counting bloom filter [i.e. the second data structure] is updated based on identification [i.e. the entry comprising an indication] that uniquely identify the content [i.e. the resource] for which purge policy has been executed and request count [i.e. the first counter] corresponding to the content) (1530 – Fig. 15 and ¶ 0151),
wherein updating the second data structure comprises initializing the first counter with a value of zero or incrementing the first counter (i.e. at least one index of the set of indices uniquely identifying the particular content will be set to zero, indicating that the content has been purged from cache) (¶ 0151).
The prior art used in the rejection of the current claim is combined using the same motivations as was applied in claim 1.
Regarding Claim 4, Saito, Khakpour and Farris disclose, in particular Khakpour teaches:
Wherein each of the plurality of counters is implemented with a vector clock (i.e. request count is initialized with zero and incremented [i.e. the plurality of counters is implemented with a vector clock]) (¶ 0151 and ¶ 0157).
The prior art used in the rejection of the current claim is combined using the same motivations as was applied in claim 1.
Regarding Claim 8, Saito, Khakpour and Farris disclose:
wherein determining that the resource has been cached comprises determining that the lookup in the first data structure yields a cache hit for the resource (Saito - i.e. the edge storage apparatus may determine that the read data [i.e. the resource] is stored in cache memory 25 [i.e. has been cached] by referring [i.e. a lookup] the cache management table 230 [i.e. a first data structure]; To be more specific, the edge storage apparatus 20 extracts information for identifying the read data from the read request (edge storage apparatus), as well as refers to the cache management table 230 [i.e. the first data structure] to determine whether or not there is a cache management entry 231 having registered therein the stored data identification information 233 [i.e. the lookup in the first data structure yields a cache hit for the resource]) (Saito - ¶ 0102 - 0103),
wherein determining that the purge request was issued for the resource comprises determining that the resource is indicated in the entry of the second data structure based on the lookup in the second data structure (Khakpour - i.e. the method/system may determine that a purge policy is executed [i.e. a purge request was issued] for a particular content [i.e. the resource] based on identifying indices [i.e. performing a lookup] representing the content in bit array / counting bloom filter [i.e. a second data structure] through hash functions) (Khakpour - 1510 & 1520 - Fig. 5, ¶ 0016 and ¶ 0151).
The prior art used in the rejection of the current claim is combined using the same motivations as was applied in claim 1.
Regarding Claim 9, Saito, Khakpour and Farris disclose, in particular Farris teaches:
based on determining that the resource has not been cached and is not indicated in the second data structure, caching the resource and initializing a value set for the resource in the entry of the first data structure at zero (i.e. based on determination that the requested content [i.e. the resource] has not been found in cache [i.e. has not been cached] and not listed in the log information [i.e. the second data structure] that indicates the requested content is cached, the requested content may be retrieved from designated origin, and number of requests [i.e. a value] for the requested content may be initialized in the log information [i.e. the first data structure]) (116 & 130 – Fig. 1, 606 & 614 – Fig. 6, Column 4 Line # 7 – 10, Column 8 Line # 43 - 54 and Column 20 Line # 39 - 53).
The prior art used in the rejection of the current claim is combined using the same motivations as was applied in claim 1.
Regarding Claim 10, Saito, Khakpour and Farris disclose, in particular Farris teaches:
wherein the edge server is on an edge of a software- defined wide area network (SD-WAN) or a content delivery network (CDN) (i.e. content delivery edge [i.e. the edge server] is on a content delivery network) (Fig. 1 and Column 4 Line # 51 - 65).
Allowable Subject Matter
Claims 3 and 5-7 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Claims 16-20 are allowed.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SOE MIN HLAING whose telephone number is (303)297-4282. The examiner can normally be reached Monday-Friday 9AM - 5PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Christopher Parry can be reached at 571-272-8328. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Soe Hlaing/Primary Examiner, Art Unit 2451