DETAILED ACTION
1. This Office Action is taken in response to Applicants’ Amendments and Remarks filed on 3/23/2026 regarding application 18/897,840 filed on 9/26/2024.
Claims 1-20 are pending for consideration.
2. Response to Amendments and Remarks
Applicants’ amendments and remarks have been fully and carefully considered, with the Examiner’s response set forth below.
Applicant contends that, regarding claim 1, Sainio fails to teach the limitation “a plurality of accessing agents being implemented on a computing device” (see pages 9-11 of Applicant’s Remarks).
In response, a new reference specifically teaching “a plurality of accessing agents being implemented on a computing device” has been identified and incorporated as a second reference in this Office Action.
(2) In response to the amendments and remarks, an updated claim analysis has been made with additional, new reference(s). Refer to the corresponding sections of the following Office Action for details.
3. Examiner’s Note
(1) In the case of amending the Claimed invention, Applicant is respectfully requested to indicate the portion(s) of the specification which dictate(s) the structure relied on for proper interpretation and also to verify and ascertain the metes and bounds of the claimed invention. This will assist in expediting compact prosecution. MPEP 714.02 recites: “Applicant should also specifically point out the support for any amendments made to the disclosure. See MPEP § 2163.06. An amendment which does not comply with the provisions of 37 CFR 1.121(b), (c), (d), and (h) may be held not fully responsive. See MPEP § 714.” Amendments not pointing to specific support in the disclosure may be deemed as not complying with provisions of 37 C.F.R. 1.131(b), (c), (d), and (h) and therefore held not fully responsive. Generic statements such as “Applicants believe no new matter has been introduced” may be deemed insufficient.
(2) Examiner has cited particular columns/paragraph and line numbers in the references applied to the claims above for the convenience of the applicant. Although the specified citations are representative of the teachings of the art and are applied to specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested from the applicant in preparing responses, to fully consider the references in entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the Examiner.
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.
4. Claims 1-9, and 11-20 are rejected under 35 U.S.C. 103 as being unpatentable over Sainio et al. (US Patent Application Publication 2012/0221697, hereinafter Sainio), and in view of DeMello et al. (US Patent Application Publication 2006/0123025, hereinafter DeMello).
As to claim 1, Sainio teaches A method, comprising:
identifying access resolutions for a plurality of accessing agents [as shown in figure 1, where the corresponding “a plurality of accessing agent” are the browser applications residing in the plurality of user equipment (UE, 105a-105n) -- FIG. 1 is a diagram of a communication system capable of providing proxy-based sharing of access histories … By way of example, loading times includes, at least in part, a combination of: (1) a browser or client startup time on the device, (2) the time it takes for the browser or client to initiate a network connection, and (3) the time it takes to load the actual content … In one embodiment, this is achieved via respective proxy clients 107a-107n (e.g., browser applications, client applications, etc.) residing on the UEs 105 … (¶ 0025-0026)], the plurality of accessing agents being implemented on a computing device [this limitation is taught by DeMello – computer as shown in figure 1, 20; Referring now to FIG. 2, there is illustrated a first exemplary client architecture 90 in accordance with the present invention. The client architecture 90 may be implemented on the personal computer 20 of FIG. 1 or other appropriate computing device, such as a palm-sized computer, laptop computer, or closed device that is purpose-built for reading eBook titles. Client architecture 90 includes a reader shell 92 (or "reader 92") for reading the eBook titles 10 and a web browser 102 (e.g., the MICROSOFT.RTM. INTERNET EXPLORER browser) for contacting Retailer/Distributor sites … Browser 102 is a typical browsing program (such as the MICROSOFT INTERNET EXPLORER browser or the NETSCAPE NAVIGATOR browser) … (¶ 0031); Using a browser or the "integrated bookstore" feature of reader 92, the user visits a retail site and chooses book(s) in a manner implemented by the retailer (step 200). For example, the site may provide a web page that displays (as links) various books that the user may wish to purchase … Upon clicking on any of the links at step 206, the browser initiates a download from a download or "fulfillment" server specified in the receipt page … (¶ 0052-0053); The computer-readable medium of claim 50, wherein said one or more scripting functions enable use of said computer-executable instructions with at least two different browsing programs (claim 51); A method of supporting an electronic distribution infrastructure, said method comprising the acts of: providing, to a first party, at least one of the following: a first set of computer-executable instructions for use with first browsing software; and a second set of computer-executable instructions for use with second browsing software, and providing, to a second party, a browser-executable script which uses either said first or said second sets of computer-executable instructions, according to whether said script is executed under said first or said second browsing software … (claim 58)], the access resolutions including timing information associated with frequencies with which accessing agents are configured to access memory usage data for a memory resource [An approach is provided for proxy-based content discovery and delivery. A proxy platform determines access information with respect to one or more web resources. The access information associated with a client of a proxy server. The proxy platform processes and/or facilitates a processing of the access information to determine a frequency of access of the one or more web resources via the proxy server. The proxy platform then determines to initiate a caching of at least a portion of the one or more web resources at the client based, at least in part, on the frequency of access (abstract); FIG. 1 is a diagram of a communication system capable of providing proxy-based sharing of access histories, according to one embodiment … As a result loading or access times associated with the web services … By way of example, loading times includes, at least in part, a combination of: (1) a browser or client startup time on the device, (2) the time it takes for the browser or client to initiate a network connection, and (3) the time it takes to load the actual content. In each of the three areas, the relatively limited resources of mobile device operating within a wireless environment can result in extended load times which can discourage users from accessing such web services or content. To address this problem, a system 100 of FIG. 1 introduces a capability for a proxy platform 101 (e.g., a proxy server) to monitor the access history of users (e.g., user equipment (UEs) 105a-105n … this is achieved via respective proxy clients 107a-107n (e.g., browser applications, client applications, etc.) residing on the UEs … In another embodiment, the system 100 enables use of social features to enhance content discovery, delivery, and caching at the proxy clients 107. More specifically, the system 100 enables the proxy platform 101 to monitor access information and/or access histories associated with other users (e.g., friends, colleagues, family, etc.) to determine what to transmit to the proxy client 107 for caching … (¶ 0025-0029)];
determining a sample granularity including an access frequency based on a common factor of the access resolutions for the plurality of accessing agents [as shown in figures 4A-4D; In yet another embodiment, the system 100 may schedule and/or push content for multiple communication endpoints or websites at one scheduled time. In this way, the proxy platform 101 can reduce the loading times and communication overhead associated with initiating independent data sessions to retrieve content. The proxy platform 101 can then push the content to the proxy client 107 for caching. In other embodiments, the system 100 may prioritize the communication endpoints and/or their data content based on historical information, user input, learning, and the like. Based, on the determined priority, the system 100 can then schedule the retrieval and caching of the corresponding content (¶ 0032); … In one embodiment, caching manager 209 can make the recommendations based, at least in part, on context information associated with the access information, access history, and/or the proxy clients 107. The caching manager 209 can also recommend a time, frequency, manner, etc. for performing the caching … (¶ 0055)].
obtaining samples of memory usage data at the access frequency indicated by the sample granularity, wherein the samples of memory usage data for the memory resource include access metrics associated with access instances to the memory resource by the plurality of accessing agents on the computing device [To address this problem, a system 100 of FIG. 1 introduces a capability for a proxy platform 101 (e.g., a proxy server) to monitor the access history of users (e.g., user equipment (UEs) 105a-105n, also collectively referred to as UEs 105) over a communication network 103 and then automatically send data associated with often-visited communication endpoints (e.g., websites, services, applications, etc.) for caching at the UEs 105a-105n … (¶ 0026-0029); FIGS. 4A-4D are diagrams of user interfaces utilized in the processes of FIGS. 1-4, according to various embodiments. FIG. 4A depicts an example where the proxy platform 101 has detected that a user of a proxy client 107 has visited a website, "http://m.hs.fi", frequently based on the proxy client 107's access history … In one embodiment, the proxy platform 101 can additionally request whether the user would like to specify a time, schedule, or frequency for pushing the website's content from the proxy platform 101 to the proxy client 107 for caching … (¶ 0063-0066); DeMello teaches the aspect of “the plurality of accessing agents on the computing device” – computer as shown in figure 1, 20; Using a browser or the "integrated bookstore" feature of reader 92, the user visits a retail site and chooses book(s) in a manner implemented by the retailer (step 200). For example, the site may provide a web page that displays (as links) various books that the user may wish to purchase … Upon clicking on any of the links at step 206, the browser initiates a download from a download or "fulfillment" server specified in the receipt page … (¶ 0052-0053); The computer-readable medium of claim 50, wherein said one or more scripting functions enable use of said computer-executable instructions with at least two different browsing programs (claim 51); A method of supporting an electronic distribution infrastructure, said method comprising the acts of: providing, to a first party, at least one of the following: a first set of computer-executable instructions for use with first browsing software; and a second set of computer-executable instructions for use with second browsing software, and providing, to a second party, a browser-executable script which uses either said first or said second sets of computer-executable instructions, according to whether said script is executed under said first or said second browsing software … (claim 58)], and wherein the access metrics are tracked by one or more memory controllers that manage access to the memory resource [FIGS. 4A-4D are diagrams of user interfaces utilized in the processes of FIGS. 1-4, according to various embodiments. FIG. 4A depicts an example where the proxy platform 101 has detected that a user of a proxy client 107 has visited a website, "http://m.hs.fi", frequently based on the proxy client 107's access history … In one embodiment, the proxy platform 101 can additionally request whether the user would like to specify a time, schedule, or frequency for pushing the website's content from the proxy platform 101 to the proxy client 107 for caching … (¶ 0063-0066)];
compiling the samples of memory usage data within a memory record on the computing device [Next, the access control manager 203 interacts with the access information collector 207 to receive or otherwise record access history information from the sharing proxy client 107. As noted previously, the access history can be generated by the proxy platform 107 based, at least in part, on the communication endpoints or resources requested by the sharing proxy client 107 via the proxy platform 101. In some embodiments, the access information collector 207 can also determine access information from, for instance, the proxy clients 107 served by the proxy platform 101. This access information can then be used to determined one or more access policies with respect to the access history of the sharing proxy client 107 (¶ 0049); In one embodiment, the access information collector 207 can generate access lists (e.g., blacklists to deny access, whitelists to enable access, gray lists to warn before determining access) with respect to the communication endpoints or the participating proxy clients 107 … (¶ 0052-0055)]; and
causing information from the memory record to be shared with the plurality of accessing agents in accordance with the identified access resolutions [In one embodiment, the proxy clients 107 include, at least in part, functions and/or controls for sharing access histories. By way of example, the functions include, at least in part: (1) defining access policies, access lists (e.g., blacklists, whitelists, gray lists, etc.); (2) monitoring access histories (e.g., communication records, web histories, etc.); (3) monitoring context information (e.g., location, activity, device resources available, device resources consumed, etc.); and the like … In one embodiment, the access polices can be based, at least in part, on access information related to the proxy clients 107 and/or the communication endpoints/resources referenced in the access histories. As used herein, access information includes identification of one or more communication endpoints or proxy clients 107 … and/or any other information that can indicate potential risks associated with the sharing access histories involving one or more communication endpoints, resources, and/or proxy clients 107 … (¶ 0036-0037); In one embodiment, the access control manager 203 can interact with a social networking module 205 to determine candidate proxy clients 107 for sharing access information or access histories to facilitate content discovery and delivery … (¶ 0048-0049)].
Regarding claim 1, Sainio teaches a plurality of accessing agents by way of a plurality of browsers [as shown in figure 1, where the corresponding “a plurality of accessing agent” are the browser applications residing in the plurality of user equipment (UE, 105a-105n) -- FIG. 1 is a diagram of a communication system capable of providing proxy-based sharing of access histories … By way of example, loading times includes, at least in part, a combination of: (1) a browser or client startup time on the device, (2) the time it takes for the browser or client to initiate a network connection, and (3) the time it takes to load the actual content … In one embodiment, this is achieved via respective proxy clients 107a-107n (e.g., browser applications, client applications, etc.) residing on the UEs 105 … (¶ 0025-0026)], but does not expressively teach the plurality of accessing agents/browsers being implemented on a computing device.
However, DeMello specifically teaches a plurality of accessing browsers being implemented on a computing device [computer as shown in figure 1, 20; Referring now to FIG. 2, there is illustrated a first exemplary client architecture 90 in accordance with the present invention. The client architecture 90 may be implemented on the personal computer 20 of FIG. 1 or other appropriate computing device, such as a palm-sized computer, laptop computer, or closed device that is purpose-built for reading eBook titles. Client architecture 90 includes a reader shell 92 (or "reader 92") for reading the eBook titles 10 and a web browser 102 (e.g., the MICROSOFT.RTM. INTERNET EXPLORER browser) for contacting Retailer/Distributor sites … Browser 102 is a typical browsing program (such as the MICROSOFT INTERNET EXPLORER browser or the NETSCAPE NAVIGATOR browser) … (¶ 0031); Using a browser or the "integrated bookstore" feature of reader 92, the user visits a retail site and chooses book(s) in a manner implemented by the retailer (step 200). For example, the site may provide a web page that displays (as links) various books that the user may wish to purchase … Upon clicking on any of the links at step 206, the browser initiates a download from a download or "fulfillment" server specified in the receipt page … (¶ 0052-0053); The computer-readable medium of claim 50, wherein said one or more scripting functions enable use of said computer-executable instructions with at least two different browsing programs (claim 51); A method of supporting an electronic distribution infrastructure, said method comprising the acts of: providing, to a first party, at least one of the following: a first set of computer-executable instructions for use with first browsing software; and a second set of computer-executable instructions for use with second browsing software, and providing, to a second party, a browser-executable script which uses either said first or said second sets of computer-executable instructions, according to whether said script is executed under said first or said second browsing software … (claim 58)].
Therefore, it would have been obvious for one of ordinary skills in the art before the effective filing date of the claimed invention to have implemented a plurality of accessing browsers/agents on a computer, as specifically disclosed by DeMello, and to incorporate it into the existing scheme disclosed by Sainio, because eMello teaches doing so allows the computing device to interface with service providers using different web configurations [… A retailer may effectively transmit instructions to be performed on the client computing device by transmitting the script that defines the function calls along with script instructions that invoke the functions. For example, a retailer may wish to detect whether reader 92 is installed on a client's computing device, so the retailer may transmit to the client device a web page containing the Java script that defines the function of detecting whether reader 92 is installed, along with an instruction to invoke that function. The detecting function itself may include code to perform the detecting function of either the ACTIVEX control or the plug-in depending on the brand of browser the script is executing on. In this way, the particular browser is transparent to the retailer, who may create a single web page that performs any of the above-listed functions on either browser (¶ 0035)].
As to claim 2, Sainio in view of DeMello teaches The method of claim 1, wherein the access resolutions include a first access resolution associated with a first frequency with which a first accessing agent is configured to access the memory usage data and a second access resolution associated with a second frequency with which a second accessing agent is configured to access the memory usage data, wherein determining the sample granularity includes determining the common factor for the first accessing agent and the second accessing agent and calculating a sampling frequency that is a factor of both the first frequency associated with the first accessing agent and the second frequency associated with the second accessing agent [Sainio -- In one embodiment, the access information collector 207 can determine different policies and/or lists for different accessing proxy clients 107. In this way, the monitoring clients 107 can specify individual access policies for each of the accessing clients 107. In some embodiments, the sharing proxy client 107 can also specify access policies or lists that apply to all or substantially all accessing proxy clients 107. It is contemplated, that the proxy platform 101 can support both common and individualized policies/lists or a combination thereof (¶ 0054); In one embodiment, the proxy platform 101 identifies an accessing proxy client 107 and tracks the network access information or history associated with the proxy client 107. For example, if a user of the proxy client 107 visits a certain website or communication endpoint daily, the proxy platform 101 records the access information or behavior with respect to the website, and provide for automatic transmission (e.g., push transmission) of at least part of the website content for caching and access at the proxy client 107 … In one embodiment, the transmission to initiate the caching can be configured to happen, for instance, in a timed fashion (e.g., according to predetermined schedule and/or frequency) … (¶ 0027-0028); In step 305, the proxy platform 101 processes and/or facilitates a processing of the access information (e.g., from the initial proxy client 107 and/or the one or more other proxy clients 107) to determine a frequency of access of the one or more web resources via the proxy platform 101. For example, if the determined frequency indicates that one or more of the proxy clients 107 have visited a particular communication endpoint more than a predetermined number of times, the proxy platform 101 can recommend the endpoint for caching or can immediately retrieve at least part of the content from the communication endpoint to transmit (e.g., push) to the proxy client 107 for caching … (¶ 0058); For example, if the context information indicates that a user frequently accesses a web resource (e.g., a news website) on most weekdays at approximately 8:00 am, the proxy platform 101 can retrieve the content from the web resource to push to the proxy client 107 at approximately 8:00 am on weekdays … In addition or alternatively, the proxy platform 101 can also receive a manual input (e.g., from the proxy client 107) for specifying a time to update the caching, a frequency of updating the caching, a location for updating the caching, or a combination thereof (¶ 0060); FIGS. 4A-4D are diagrams of user interfaces utilized in the processes of FIGS. 1-4, according to various embodiments. FIG. 4A depicts an example where the proxy platform 101 has detected that a user of a proxy client 107 has visited a website, "http://m.hs.fi", frequently based on the proxy client 107's access history. In response, the proxy platform 101 presents a user interface (UI) 401 that display a prompt 403 that asks the user if the user wants the site to be automatically pushed to the user's proxy client 107 or UE 105 for caching. In one embodiment, the proxy platform 101 can additionally request whether the user would like to specify a time, schedule, or frequency for pushing the website's content from the proxy platform 101 to the proxy client 107 for caching (¶ 0063)].
As to claim 3, Sainio in view of DeMello teaches The method of claim 1, further comprising generating a plurality of agent-specific memory usage records for the plurality of accessing agents based on associated access resolutions for the plurality of accessing agents [Sainio -- For example, if the context information indicates that a user frequently accesses a web resource (e.g., a news website) on most weekdays at approximately 8:00 am, the proxy platform 101 can retrieve the content from the web resource to push to the proxy client 107 at approximately 8:00 am on weekdays … In addition or alternatively, the proxy platform 101 can also receive a manual input (e.g., from the proxy client 107) for specifying a time to update the caching, a frequency of updating the caching, a location for updating the caching, or a combination thereof (¶ 0060); FIGS. 4A-4D are diagrams of user interfaces utilized in the processes of FIGS. 1-4, according to various embodiments. FIG. 4A depicts an example where the proxy platform 101 has detected that a user of a proxy client 107 has visited a website, "http://m.hs.fi", frequently based on the proxy client 107's access history. In response, the proxy platform 101 presents a user interface (UI) 401 that display a prompt 403 that asks the user if the user wants the site to be automatically pushed to the user's proxy client 107 or UE 105 for caching. In one embodiment, the proxy platform 101 can additionally request whether the user would like to specify a time, schedule, or frequency for pushing the website's content from the proxy platform 101 to the proxy client 107 for caching (¶ 0063)].
As to claim 4, Sainio in view of DeMello teaches The method of claim 3, wherein generating the plurality of agent-specific memory usage records comprises, for each accessing agent of the plurality of accessing agents, combining sets of samples of memory usage data from the obtained samples of memory usage data, the sets of samples including a number of samples based on a ratio between the sample granularity and an access resolution for the accessing agent [Sainio -- For example, if the context information indicates that a user frequently accesses a web resource (e.g., a news website) on most weekdays at approximately 8:00 am, the proxy platform 101 can retrieve the content from the web resource to push to the proxy client 107 at approximately 8:00 am on weekdays … In addition or alternatively, the proxy platform 101 can also receive a manual input (e.g., from the proxy client 107) for specifying a time to update the caching, a frequency of updating the caching, a location for updating the caching, or a combination thereof (¶ 0060); FIGS. 4A-4D are diagrams of user interfaces utilized in the processes of FIGS. 1-4, according to various embodiments. FIG. 4A depicts an example where the proxy platform 101 has detected that a user of a proxy client 107 has visited a website, "http://m.hs.fi", frequently based on the proxy client 107's access history. In response, the proxy platform 101 presents a user interface (UI) 401 that display a prompt 403 that asks the user if the user wants the site to be automatically pushed to the user's proxy client 107 or UE 105 for caching. In one embodiment, the proxy platform 101 can additionally request whether the user would like to specify a time, schedule, or frequency for pushing the website's content from the proxy platform 101 to the proxy client 107 for caching (¶ 0063)].
As to claim 5, Sainio in view of DeMello teaches The method of claim 3, wherein generating the plurality of agent-specific memory usage records includes combining sets of samples of memory usage data to simulate a collection of memory usage data at the associated access resolutions as if the memory usage data was sampled at the frequencies of the associated access resolutions [Sainio -- For example, if the context information indicates that a user frequently accesses a web resource (e.g., a news website) on most weekdays at approximately 8:00 am, the proxy platform 101 can retrieve the content from the web resource to push to the proxy client 107 at approximately 8:00 am on weekdays … In addition or alternatively, the proxy platform 101 can also receive a manual input (e.g., from the proxy client 107) for specifying a time to update the caching, a frequency of updating the caching, a location for updating the caching, or a combination thereof (¶ 0060); FIGS. 4A-4D are diagrams of user interfaces utilized in the processes of FIGS. 1-4, according to various embodiments. FIG. 4A depicts an example where the proxy platform 101 has detected that a user of a proxy client 107 has visited a website, "http://m.hs.fi", frequently based on the proxy client 107's access history. In response, the proxy platform 101 presents a user interface (UI) 401 that display a prompt 403 that asks the user if the user wants the site to be automatically pushed to the user's proxy client 107 or UE 105 for caching. In one embodiment, the proxy platform 101 can additionally request whether the user would like to specify a time, schedule, or frequency for pushing the website's content from the proxy platform 101 to the proxy client 107 for caching (¶ 0063)].
As to claim 6, Sainio in view of DeMello teaches The method of claim 3, wherein causing information from the memory record to be shared with the plurality of accessing agents comprises providing, for each accessing agent of the plurality of accessing agents, information from a respective agent-specific memory usage record from the plurality of agent-specific memory usage records [Sainio -- In one embodiment, the proxy clients 107 include, at least in part, functions and/or controls for sharing access histories. By way of example, the functions include, at least in part: (1) defining access policies, access lists (e.g., blacklists, whitelists, gray lists, etc.); (2) monitoring access histories (e.g., communication records, web histories, etc.); (3) monitoring context information (e.g., location, activity, device resources available, device resources consumed, etc.); and the like … In one embodiment, the access polices can be based, at least in part, on access information related to the proxy clients 107 and/or the communication endpoints/resources referenced in the access histories. As used herein, access information includes identification of one or more communication endpoints or proxy clients 107 … and/or any other information that can indicate potential risks associated with the sharing access histories involving one or more communication endpoints, resources, and/or proxy clients 107 … (¶ 0036-0037); In one embodiment, the access control manager 203 can interact with a social networking module 205 to determine candidate proxy clients 107 for sharing access information or access histories to facilitate content discovery and delivery … (¶ 0048-0049)].
As to claim 7, Sainio in view of DeMello teaches The method of claim 1, wherein the samples of memory usage data are obtained from multiple memory devices having the one or more memory controllers implemented thereon, and wherein the samples of memory usage data are compiled from each of the multiple memory devices within a common memory usage record stored on the computing device [Sainio -- In one embodiment, the proxy clients 107 include, at least in part, functions and/or controls for sharing access histories. By way of example, the functions include, at least in part: (1) defining access policies, access lists (e.g., blacklists, whitelists, gray lists, etc.); (2) monitoring access histories (e.g., communication records, web histories, etc.); (3) monitoring context information (e.g., location, activity, device resources available, device resources consumed, etc.); and the like … In one embodiment, the access polices can be based, at least in part, on access information related to the proxy clients 107 and/or the communication endpoints/resources referenced in the access histories. As used herein, access information includes identification of one or more communication endpoints or proxy clients 107 … and/or any other information that can indicate potential risks associated with the sharing access histories involving one or more communication endpoints, resources, and/or proxy clients 107 … (¶ 0036-0037); In one embodiment, the access control manager 203 can interact with a social networking module 205 to determine candidate proxy clients 107 for sharing access information or access histories to facilitate content discovery and delivery … (¶ 0048-0049)].
As to claim 8, Sainio in view of DeMello teaches The method of claim 1, wherein obtaining the samples of memory usage data comprises reading one or more heatmaps on the one or more memory controllers at a frequency in accordance with the determined sample granularity, and wherein reading the one or more heatmaps on the one or more memory controllers causes data from the one or more heatmaps to be cleared when read by the computing device [Sainio -- According to one embodiment, a method comprises determining access information with respect to one or more web resources. The access information associated with a client of a proxy server. The method also comprises processing and/or facilitating a processing of the access information to determine a frequency of access of the one or more web resources via the proxy server. The method further comprises determining to initiate a caching of at least a portion of the one or more web resources at the client based, at least in part, on the frequency of access … (¶ 0004-0007); In one embodiment, the proxy clients 107 include, at least in part, functions and/or controls for sharing access histories. By way of example, the functions include, at least in part: (1) defining access policies, access lists (e.g., blacklists, whitelists, gray lists, etc.); (2) monitoring access histories (e.g., communication records, web histories, etc.); (3) monitoring context information (e.g., location, activity, device resources available, device resources consumed, etc.); and the like … (¶ 0036-0037)].
As to claim 9, Sainio in view of DeMello teaches The method of claim 8, wherein the one or more heatmaps are locally maintained on the one or more memory controllers [Sainio -- access information collector, figure 2, 207; Next, the access control manager 203 interacts with the access information collector 207 to receive or otherwise record access history information from the sharing proxy client 107. As noted previously, the access history can be generated by the proxy platform 107 based, at least in part, on the communication endpoints or resources requested by the sharing proxy client 107 via the proxy platform 101. In some embodiments, the access information collector 207 can also determine access information from, for instance, the proxy clients 107 served by the proxy platform 101. This access information can then be used to determined one or more access policies with respect to the access history of the sharing proxy client 107 (¶ 0049); In one embodiment, the access information collector 207 can generate access lists (e.g., blacklists to deny access, whitelists to enable access, gray lists to warn before determining access) with respect to the communication endpoints or the participating proxy clients 107 … (¶ 0052-0055)].
As to claim 11, it recites substantially the same limitations as in claim 1, and is rejected for the same reasons set forth in the analysis of claim 1. Refer to “As to claim 1” presented earlier in this Office Action for details.
As to claim 12, it recites substantially the same limitations as in claim 2, and is rejected for the same reasons set forth in the analysis of claim 2. Refer to “As to claim 2” presented earlier in this Office Action for details.
As to claim 13, it recites substantially the same limitations as in claim 3, and is rejected for the same reasons set forth in the analysis of claim 3. Refer to “As to claim 3” presented earlier in this Office Action for details.
As to claim 14, it recites substantially the same limitations as in claim 4, and is rejected for the same reasons set forth in the analysis of claim 4. Refer to “As to claim 4” presented earlier in this Office Action for details.
As to claim 15, it recites substantially the same limitations as in claim 5, and is rejected for the same reasons set forth in the analysis of claim 5. Refer to “As to claim 5” presented earlier in this Office Action for details.
As to claim 16, it recites substantially the same limitations as in claim 6, and is rejected for the same reasons set forth in the analysis of claim 6. Refer to “As to claim 6” presented earlier in this Office Action for details.
As to claim 17, it recites substantially the same limitations as in claim 7, and is rejected for the same reasons set forth in the analysis of claim 7. Refer to “As to claim 7” presented earlier in this Office Action for details.
As to claim 18, it recites substantially the same limitations as in claim 9, and is rejected for the same reasons set forth in the analysis of claim 9. Refer to “As to claim 9” presented earlier in this Office Action for details.
As to claim 19, it recites substantially the same limitations as in claim 1, and is rejected for the same reasons set forth in the analysis of claim 1. Refer to “As to claim 1” presented earlier in this Office Action for details.
As to claim 20, it recites substantially the same limitations as in claim 2, and is rejected for the same reasons set forth in the analysis of claim 2. Refer to “As to claim 2” presented earlier in this Office Action for details.
5. Claim 10 is rejected under 35 U.S.C. 103 as being unpatentable over Sainio in view of DeMello, and further in view of Nakajima (US Patent Application Publication 20100275205).
As to claim 10, Sainio in view of DeMello teaches a plurality of accessing agents on a computing device [DeMello teaches multiple browsers as accessing agents -- A method of supporting an electronic distribution infrastructure, said method comprising the acts of: providing, to a first party, at least one of the following: a first set of computer-executable instructions for use with first browsing software; and a second set of computer-executable instructions for use with second browsing software, and providing, to a second party, a browser-executable script which uses either said first or said second sets of computer-executable instructions, according to whether said script is executed under said first or said second browsing software … (claim 58)], and wherein the memory resource is a volatile memory resource [Sainio -- The term "computer-readable medium" as used herein refers to any medium that participates in providing information to processor 502, including instructions for execution. Such a medium may take many forms, including, but not limited to computer-readable storage medium (e.g., non-volatile media, volatile media), and transmission media. Non-transitory media, such as non-volatile media, include, for example, optical or magnetic disks, such as storage device 508. Volatile media include, for example, dynamic memory 504 … (¶ 0075)].
Regarding claim 10, Sainio in view of DeMello does not teach the plurality of accessing agents comprises a plurality of virtual machines implemented on the computing device.
However, virtual machines are well known and widely used in the art.
For example, Nakajima specifically teaches a plurality of virtual machines implemented on the computing device [One embodiment of the invention relates to a computer having a plurality of virtual machines operated on a virtual machine monitor and a control method of access from the virtual machine to a file (¶ 0003); In the case of access to the PCI configuration space among the accesses to the I/O port, the virtual machine monitor 230 calls the device manager 220 and the device manager 220 acts as an agent to make access to the PCI configuration space. In a case wherein the device manager acts as an accessing agent, two accessing methods are provided … (¶ 0091)].
Therefore, it would have been obvious for one of ordinary skills in the art before the effective filing date of the claimed invention to have implemented a plurality of virtual machines on a computer, as specifically disclosed by Nakajima, and to incorporate it into the existing scheme disclosed by Sainio in view of DeMello, because Nakajima teaches doing so allows parallel processing of multiple tasks simultaneously [ According to one embodiment, a computer machine includes a client virtual machine and a file server virtual machine configured to simultaneously run, a virtual machine manager configured to control booting of the client and file server virtual machines, a monitoring module configured to monitor whether a communication with an external file server is possible, an access control module configured to access to a duplicate file which is a duplicate of the file and is stored in a part of a local disk or a part of a memory which are managed by the monitoring module when the monitoring module determines that the communication is impossible after determining that the communication is possible, and a file deletion module configured to delete the duplicate file when the monitoring module detects the communication is impossible in a preset time (abstract)].
Conclusion
6. Claims 1-20 are rejected as explained above.
7. THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE
MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any extension fee pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
8. Any inquiry concerning this communication or earlier communications from the examiner should be directed to SHENG JEN TSAI whose telephone number is 571-272-4244. The examiner can normally be reached on Monday-Friday, 9-6.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Reginald Bragdon can be reached on 571-272-4204. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free).
/SHENG JEN TSAI/Primary Examiner, Art Unit 2139