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 .
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 08/16/2024 and 03/11/2025 are being considered by the examiner.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 18 is rejected under 35 U.S.C. 101 because the claimed invention is
directed to non-statutory subject matter. Claims 18 recites a computer-readable storage medium storing computer program instructions which is executed. However,
the claim does not recite a non-transitory nature of " computer-readable storage medium " which is also mentioned in paragraph [0036] of the Specification and also does not exclude signals. Therefore, the current claim language is considered to include signals per se. It is suggested that claims 18 be amended to recite a “non transitory”
computer-readable storage medium to overcome the rejection.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 1-3, 7-12 and 16-18 are rejected under 35 U.S.C. 103 as being
unpatentable over Sha et al. (US 20160378680 A1) in view of Han et al. (US 20240054079 A1) hereinafter Sha and Han.
Regarding claim 1, Sha teaches A method for preloading a memory page, applied to a kernel of an electronic device, wherein the method comprises: (See Fig 1, paragraph [0037], illustrates a file or application access method using kernel memory page table)
receiving prefetch information, wherein the prefetch information comprises an identifier of a first application and a hot start identifier; (See Fig 1, paragraph [0043], illustrates at step 101 computing node running OS receives file open or application information to re-open or start that may carry file identifier)
reading a page table entry (Page Table Entry) snapshot corresponding to the identifier of the first application from first storage space in response to the prefetch information; (See Fig 1, paragraph [0051], illustrates at step 104 file open request carrying a file identifier of a file is received from a user process where entry may include page table entry pointing or identifying to first file)
Han (US 20240054079 A1) teaches
Sha teaches method of preloading memory page for application process above. However, Sha does not explicitly teach loading file page data and anonymous page data that respectively correspond to the page table entry snapshot in second storage space and third storage space into a physical memory; and
writing a mapping relationship between a virtual memory of the file page data and a physical memory of the file page data and a mapping relationship between a virtual memory of the anonymous page data and a physical memory of the anonymous page data into a page table entry of the first application
On the other hand, Han which also relates to method of preloading memory page for application process teaches loading file page data and anonymous page data that respectively correspond to the page table entry snapshot in second storage space and third storage space into a physical memory; and (See Fig 1-3, paragraph [0395], illustrates at step S1-32 when application is opened, kernel may add an anonymous page obtained by the application through application to the least recently used)
writing a mapping relationship between a virtual memory of the file page data and a physical memory of the file page data and a mapping relationship between a virtual memory of the anonymous page data and a physical memory of the anonymous page data into a page table entry of the first application. (See Fig 4-7b, paragraph [1216], illustrates after a new anonymous page X is created, a mapping relationship between virtual address space and a physical address page of an application process is established where process may access the data of the anonymous page)
Both Sha and Han relate to method of preloading memory page for application process (see Sha, abstract, and see Han, abstract, regarding for application process memory management).
Therefore, it would have been obvious to one of ordinary skill at the time the
invention was effectively filed to combine Sha with Han by incorporating method of preloading memory page for application process, as taught by Han, to enable
when application is opened, kernel may add an anonymous page obtained by the application through application to the least recently used and after a new anonymous page X is created, a mapping relationship between virtual address space and a physical address page of an application process is established where process may access the data of the anonymous page. The combined system of Sha – Han allows an anonymous page of an application to be managed based on the application-level memory control group, for example, memory reclamation and release can be managed, to improve user experience as mentioned in paragraph [0008]. Therefore, the combination of Sha - Han improves user experience. See Han, paragraph [0008].
Regarding claim 2, Sha in view of Han teaches method of preloading memory page for application process in claim 1. However, Sha - Han combination does not explicitly teach The method according to claim 1, wherein the method further comprises: generating the page table entry snapshot based on a page table entry accessed in a historical hot start procedure of the first application, wherein a page object in the page table entry is a file page and an anonymous page
On the other hand, Han which also relates to method of preloading memory page for application process teaches The method according to claim 1, wherein the method further comprises: generating the page table entry snapshot based on a page table entry accessed in a historical hot start procedure of the first application, wherein a page object in the page table entry is a file page and an anonymous page. (See Fig 3-2a(1) and 3-2a(2), paragraph [0979], illustrates configuring historical statistical information (procstats) of memory usage during running of each application process based on user characteristics, application installation and running on the terminal. In other words, historical statistical information of application of memory usage, installation and running can be configured or generated)
Both Sha and Han relate to method of preloading memory page for application process (see Sha, abstract, and see Han, abstract, regarding for application process memory management).
Therefore, it would have been obvious to one of ordinary skill at the time the
invention was effectively filed to combine Sha with Han by incorporating method of preloading memory page for application process, as taught by Han, to enable
historical statistical information of application of memory usage, installation and running can be configured or generated. The combined system of Sha – Han allows an anonymous page of an application to be managed based on the application-level memory control group, for example, memory reclamation and release can be managed, to improve user experience as mentioned in paragraph [0008]. Therefore, the combination of Sha - Han improves user experience. See Han, paragraph [0008].
Regarding claim 3, Sha in view of Han teaches method of preloading memory page for application process in claim 2. However, Sha - Han combination does not explicitly teach The method according to claim 2, wherein the first storage space is a physical memory or a disk, the second storage space is a disk, and the third storage space is a swap partition
On the other hand, Han which also relates to method of preloading memory page for application process teaches The method according to claim 2, wherein the first storage space is a physical memory or a disk, the second storage space is a disk, and the third storage space is a swap partition. (See Fig 3-5, paragraph [1111], illustrates files are stored in disk, external storage and swap partition)
Both Sha and Han relate to method of preloading memory page for application process (see Sha, abstract, and see Han, abstract, regarding for application process memory management).
Therefore, it would have been obvious to one of ordinary skill at the time the
invention was effectively filed to combine Sha with Han by incorporating method of preloading memory page for application process, as taught by Han, to enable
files to be stored in disk, external storage and swap partition. The combined system of Sha – Han allows an anonymous page of an application to be managed based on the application-level memory control group, for example, memory reclamation and release can be managed, to improve user experience as mentioned in paragraph [0008]. Therefore, the combination of Sha - Han improves user experience. See Han, paragraph [0008].
Regarding claim 7, Sha in view of Han teaches method of preloading memory page for application process in claim 1. However, Sha - Han combination does not explicitly teach The method according to any one of claim, wherein the method further comprises: receiving deletion information, wherein the deletion information comprises the identifier of the first application; and deleting, in response to the deletion information, the page table entry snapshot that corresponds to the identifier of the first application and that is stored in the first storage space
On the other hand, Han which also relates to method of preloading memory page for application process teaches The method according to any one of claim, wherein the method further comprises: receiving deletion information, wherein the deletion information comprises the identifier of the first application; and deleting, in response to the deletion information, the page table entry snapshot that corresponds to the identifier of the first application and that is stored in the first storage space. (See Fig 1-4, paragraph [0420], illustrates at step S1-44 application is deleted if the application is destroyed processes may be deleted from the least recently used linked list of the application-level memory control group and released. In other words, link list similar to page table entry of the application process is deleted)
Both Sha and Han relate to method of preloading memory page for application process (see Sha, abstract, and see Han, abstract, regarding for application process memory management).
Therefore, it would have been obvious to one of ordinary skill at the time the
invention was effectively filed to combine Sha with Han by incorporating method of preloading memory page for application process, as taught by Han, to enable
link list similar to page table entry of the application process to be deleted. The combined system of Sha – Han allows an anonymous page of an application to be managed based on the application-level memory control group, for example, memory reclamation and release can be managed, to improve user experience as mentioned in paragraph [0008]. Therefore, the combination of Sha - Han improves user experience. See Han, paragraph [0008].
Regarding claim 8, Sha in view of Han teaches method of preloading memory page for application process in claim 1. However, Sha - Han combination does not explicitly teach The method according to any one of claim 1, wherein the page table entry comprises a mapping relationship between a virtual memory and a physical memory, and the page table entry snapshot comprises a file name of file page data corresponding to the page table entry, a storage address of the file page data in the disk, and a storage address of anonymous page data corresponding to the page table entry in the swap partition
On the other hand, Han which also relates to method of preloading memory page for application process teaches The method according to any one of claim 1, wherein the page table entry comprises a mapping relationship between a virtual memory and a physical memory, and the page table entry snapshot comprises a file name of file page data corresponding to the page table entry, a storage address of the file page data in the disk, and a storage address of anonymous page data corresponding to the page table entry in the swap partition. (See Fig 4-1, paragraph [1114] and [0981], illustrates page based storage management or page entry table have mapping relationship between physical to virtual memory and when page data is accessed system obtains virtual address, physical address, application name, swap partition data)
Both Sha and Han relate to method of preloading memory page for application process (see Sha, abstract, and see Han, abstract, regarding for application process memory management).
Therefore, it would have been obvious to one of ordinary skill at the time the
invention was effectively filed to combine Sha with Han by incorporating method of preloading memory page for application process, as taught by Han, to enable
page based storage management or page entry table have mapping relationship between physical to virtual memory and when page data is accessed system obtains virtual address, physical address, application name, swap partition data. The combined system of Sha – Han allows an anonymous page of an application to be managed based on the application-level memory control group, for example, memory reclamation and release can be managed, to improve user experience as mentioned in paragraph [0008]. Therefore, the combination of Sha - Han improves user experience. See Han, paragraph [0008].
Regarding claim 9, Sha (US 20160378680 A1) teaches An electronic device, wherein the electronic device comprises a processor, and the processor is configured to run a computer program stored in a storage, to enable the electronic device to implement (See Fig 14, paragraph [0475], illustrates readable storage medium stores computer instructions and instructions are run on a computing device or processor to perform the memory management method)
receiving prefetch information, wherein the prefetch information comprises an identifier of a first application and a hot start identifier; (See Fig 1, paragraph [0043], illustrates at step 101 computing node running OS receives file open or application information to re-open or start that may carry file identifier)
reading a page table entry (Page Table Entry) snapshot corresponding to the identifier of the first application from first storage space in response to the prefetch information; (See Fig 1, paragraph [0051], illustrates at step 104 file open request carrying a file identifier of a file is received from a user process where entry may include page table entry pointing or identifying to first file)
Sha teaches method of preloading memory page for application process above. However, Sha does not explicitly teach loading file page data and anonymous page data that respectively correspond to the page table entry snapshot in second storage space and third storage space into a physical memory: and
writing a mapping relationship between a virtual memory of the file page data and a physical memory of the file page data and a mapping relationship between a virtual memory of the anonymous page data and a physical memory of the anonymous page data into a page table entry of the first application
On the other hand, Han which also relates to method of preloading memory page for application process teaches loading file page data and anonymous page data that respectively correspond to the page table entry snapshot in second storage space and third storage space into a physical memory: and (See Fig 1-3, paragraph [0395], illustrates at step S1-32 when application is opened, kernel may add an anonymous page obtained by the application through application to the least recently used)
writing a mapping relationship between a virtual memory of the file page data and a physical memory of the file page data and a mapping relationship between a virtual memory of the anonymous page data and a physical memory of the anonymous page data into a page table entry of the first application. (See Fig 4-7b, paragraph [1216], illustrates after a new anonymous page X is created, a mapping relationship between virtual address space and a physical address page of an application process is established where process may access the data of the anonymous page)
Both Sha and Han relate to method of preloading memory page for application process (see Sha, abstract, and see Han, abstract, regarding for application process memory management).
Therefore, it would have been obvious to one of ordinary skill at the time the
invention was effectively filed to combine Sha with Han by incorporating method of preloading memory page for application process, as taught by Han, to enable
when application is opened, kernel may add an anonymous page obtained by the application through application to the least recently used and after a new anonymous page X is created, a mapping relationship between virtual address space and a physical address page of an application process is established where process may access the data of the anonymous page. The combined system of Sha – Han allows an anonymous page of an application to be managed based on the application-level memory control group, for example, memory reclamation and release can be managed, to improve user experience as mentioned in paragraph [0008]. Therefore, the combination of Sha - Han improves user experience. See Han, paragraph [0008].
Regarding claim 11, Sha in view of Han teaches method of preloading memory page for application process in claim 9. However, Sha - Han combination does not explicitly teach The electronic device according to claim 9, wherein the electronic device is further enabled to implement: generating the page table entry snapshot based on a page table entry accessed in a historical hot start procedure of the first application, wherein a page object in the page table entry is a file page and an anonymous page
On the other hand, Han which also relates to method of preloading memory page for application process teaches The electronic device according to claim 9, wherein the electronic device is further enabled to implement: generating the page table entry snapshot based on a page table entry accessed in a historical hot start procedure of the first application, wherein a page object in the page table entry is a file page and an anonymous page. (See Fig 3-2a(1) and 3-2a(2), paragraph [0979], illustrates configuring historical statistical information (procstats) of memory usage during running of each application process based on user characteristics, application installation and running on the terminal. In other words, historical statistical information of application of memory usage, installation and running can be configured or generated)
Both Sha and Han relate to method of preloading memory page for application process (see Sha, abstract, and see Han, abstract, regarding for application process memory management).
Therefore, it would have been obvious to one of ordinary skill at the time the
invention was effectively filed to combine Sha with Han by incorporating method of preloading memory page for application process, as taught by Han, to enable
historical statistical information of application of memory usage, installation and running can be configured or generated. The combined system of Sha – Han allows an anonymous page of an application to be managed based on the application-level memory control group, for example, memory reclamation and release can be managed, to improve user experience as mentioned in paragraph [0008]. Therefore, the combination of Sha - Han improves user experience. See Han, paragraph [0008].
Regarding claim 12, Sha in view of Han teaches method of preloading memory page for application process in claim 9. However, Sha - Han combination does not explicitly teach The electronic device according to claim 11, wherein the first storage space is a physical memory or a disk, the second storage space is a disk, and the third storage space is a swap partition
On the other hand, Han which also relates to method of preloading memory page for application process teaches The electronic device according to claim 11, wherein the first storage space is a physical memory or a disk, the second storage space is a disk, and the third storage space is a swap partition. (See Fig 3-5, paragraph [1111], illustrates files are stored in disk, external storage and swap partition)
Both Sha and Han relate to method of preloading memory page for application process (see Sha, abstract, and see Han, abstract, regarding for application process memory management).
Therefore, it would have been obvious to one of ordinary skill at the time the
invention was effectively filed to combine Sha with Han by incorporating method of preloading memory page for application process, as taught by Han, to enable
files to be stored in disk, external storage and swap partition. The combined system of Sha – Han allows an anonymous page of an application to be managed based on the application-level memory control group, for example, memory reclamation and release can be managed, to improve user experience as mentioned in paragraph [0008]. Therefore, the combination of Sha - Han improves user experience. See Han, paragraph [0008].
Regarding claim 16, Sha in view of Han teaches method of preloading memory page for application process in claim 9. However, Sha - Han combination does not explicitly teach The electronic device according to claim 9, wherein the electronic device is further enabled to implement: receiving deletion information, wherein the deletion information comprises the identifier of the first application; and deleting, in response to the deletion information, the page table entry snapshot that corresponds to the identifier of the first application and that is stored in the first storage space
On the other hand, Han which also relates to method of preloading memory page for application process teaches The electronic device according to claim 9, wherein the electronic device is further enabled to implement: receiving deletion information, wherein the deletion information comprises the identifier of the first application; and deleting, in response to the deletion information, the page table entry snapshot that corresponds to the identifier of the first application and that is stored in the first storage space. (See Fig 1-4, paragraph [0420], illustrates at step S1-44 application is deleted if the application is destroyed processes may be deleted from the least recently used linked list of the application-level memory control group and released. In other words, link list similar to page table entry of the application process is deleted)
Both Sha and Han relate to method of preloading memory page for application process (see Sha, abstract, and see Han, abstract, regarding for application process memory management).
Therefore, it would have been obvious to one of ordinary skill at the time the
invention was effectively filed to combine Sha with Han by incorporating method of preloading memory page for application process, as taught by Han, to enable
link list similar to page table entry of the application process to be deleted. The combined system of Sha – Han allows an anonymous page of an application to be managed based on the application-level memory control group, for example, memory reclamation and release can be managed, to improve user experience as mentioned in paragraph [0008]. Therefore, the combination of Sha - Han improves user experience. See Han, paragraph [0008].
Regarding claim 17, Sha in view of Han teaches method of preloading memory page for application process in claim 9. However, Sha - Han combination does not explicitly teach The electronic device according to claim 9, wherein the page table entry comprises a mapping relationship between a virtual memory and a physical memory, and the page table entry snapshot comprises a file name of file page data corresponding to the page table entry, a storage address of the file page data in the disk, and a storage address of anonymous page data corresponding to the page table entry in the swap partition
On the other hand, Han which also relates to method of preloading memory page for application process teaches The electronic device according to claim 9, wherein the page table entry comprises a mapping relationship between a virtual memory and a physical memory, and the page table entry snapshot comprises a file name of file page data corresponding to the page table entry, a storage address of the file page data in the disk, and a storage address of anonymous page data corresponding to the page table entry in the swap partition. (See Fig 4-1, paragraph [1114] and [0981], illustrates page based storage management or page entry table have mapping relationship between physical to virtual memory and when page data is accessed system obtains virtual address, physical address, application name, swap partition data)
Both Sha and Han relate to method of preloading memory page for application process (see Sha, abstract, and see Han, abstract, regarding for application process memory management).
Therefore, it would have been obvious to one of ordinary skill at the time the
invention was effectively filed to combine Sha with Han by incorporating method of preloading memory page for application process, as taught by Han, to enable
page based storage management or page entry table have mapping relationship between physical to virtual memory and when page data is accessed system obtains virtual address, physical address, application name, swap partition data. The combined system of Sha – Han allows an anonymous page of an application to be managed based on the application-level memory control group, for example, memory reclamation and release can be managed, to improve user experience as mentioned in paragraph [0008]. Therefore, the combination of Sha - Han improves user experience. See Han, paragraph [0008].
18. Regarding claim 18, Sha (US 20160378680 A1) teaches A computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the processor is enabled to implement: (See Fig 14, paragraph [0475], illustrates readable storage medium stores computer instructions and instructions are run on a computing device or processor to perform the memory management method)
receiving prefetch information, wherein the prefetch information comprises an identifier of a first application and a hot start identifier; (See Fig 1, paragraph [0043], illustrates at step 101 computing node running OS receives file open or application information to re-open or start that may carry file identifier)
reading a page table entry snapshot corresponding to the identifier of the first application from first storage space in response to the prefetch information; (See Fig 1, paragraph [0051], illustrates at step 104 file open request carrying a file identifier of a file is received from a user process where entry may include page table entry pointing or identifying to first file)
Sha teaches method of preloading memory page for application process above. However, Sha does not explicitly teach loading file page data and anonymous page data that respectively correspond to the page table entry snapshot in second storage space and third storage space into a physical memory; and
writing a mapping relationship between a virtual memory of the file page data and a physical memory of the file page data and a mapping relationship between a virtual memory of the anonymous page data and a physical memory of the anonymous page data into a page table entry of the first application
On the other hand, Han which also relates to method of preloading memory page for application process teaches loading file page data and anonymous page data that respectively correspond to the page table entry snapshot in second storage space and third storage space into a physical memory; and (See Fig 1-3, paragraph [0395], illustrates at step S1-32 when application is opened, kernel may add an anonymous page obtained by the application through application to the least recently used)
writing a mapping relationship between a virtual memory of the file page data and a physical memory of the file page data and a mapping relationship between a virtual memory of the anonymous page data and a physical memory of the anonymous page data into a page table entry of the first application. (See Fig 4-7b, paragraph [1216], illustrates after a new anonymous page X is created, a mapping relationship between virtual address space and a physical address page of an application process is established where process may access the data of the anonymous page)
Both Sha and Han relate to method of preloading memory page for application process (see Sha, abstract, and see Han, abstract, regarding for application process memory management).
Therefore, it would have been obvious to one of ordinary skill at the time the
invention was effectively filed to combine Sha with Han by incorporating method of preloading memory page for application process, as taught by Han, to enable
when application is opened, kernel may add an anonymous page obtained by the application through application to the least recently used and after a new anonymous page X is created, a mapping relationship between virtual address space and a physical address page of an application process is established where process may access the data of the anonymous page. The combined system of Sha – Han allows an anonymous page of an application to be managed based on the application-level memory control group, for example, memory reclamation and release can be managed, to improve user experience as mentioned in paragraph [0008]. Therefore, the combination of Sha - Han improves user experience. See Han, paragraph [0008].
Claim(s) 4-6 and 13-15 are rejected under 35 U.S.C. 103 as being
unpatentable over Sha in view of Han and further in view of Sharma et al. (US 12299061 B1) hereinafter Sharma.
Regarding claim 4, Sha in view of Han teaches method of preloading memory page for application process in claim 3. However, Sha - Han combination does not explicitly teach The method according to claim 3, wherein before the receiving prefetch information, the method further comprises:
receiving capture information, wherein the capture information comprises the identifier of the first application and the hot start identifier
generating the page table entry snapshot corresponding to the identifier of the first application in response to the capture information based on a page table entry corresponding to the identifier of the first application, wherein a page object in the page table entry is a file page and an anonymous page; and
storing the page table entry snapshot corresponding to the identifier of the first application in the first storage space
On the other hand, Sharma which also relates to method of preloading memory page for application process teaches The method according to claim 3, wherein before the receiving prefetch information, the method further comprises:
receiving capture information, wherein the capture information comprises the identifier of the first application and the hot start identifier; (See Fig 1 and 2, col 14, line 4-17, illustrates prefetch engine 152 can utilize page graph 160 to determine a known access pattern before prefetch if prefetching is warranted. In other words, before prefetching prefetch engine 152 may determine if prefetching is warranted based on identifying frequent page access patterns)
generating the page table entry snapshot corresponding to the identifier of the first application in response to the capture information based on a page table entry corresponding to the identifier of the first application, wherein a page object in the page table entry is a file page and an anonymous page; and (See Fig 1 and 2, col 15, line 38-48, illustrates query processor 120 may insert a value into the prefetch queue 156 based on the identifier of application page to generate the prefetch queue 156 which is similar to page table entry)
storing the page table entry snapshot corresponding to the identifier of the first application in the first storage space. (See Fig 1 and 2, col 14, line 6-12, illustrates prefetch engine 152 identifying application page access patterns and storing them in page graph 160 data structure)
Both Sha, Han and Sharma relate to method of preloading memory page for application process (see Sha, abstract, and see Han, abstract, and see Sharma, abstract, regarding for application process memory management).
Therefore, it would have been obvious to one of ordinary skill at the time the
invention was effectively filed to combine Sha - Han combination with Sharma by incorporating method of preloading memory page for application process, as taught by Sharma, to enable prefetch engine 152 to utilize page graph 160 to determine a known access pattern before prefetch if prefetching is warranted. In other words, before prefetching prefetch engine 152 may determine if prefetching is warranted based on identifying frequent page access patterns and query processor 120 may insert a value into the prefetch queue 156 based on the identifier of application page to generate the prefetch queue 156 which is similar to page table entry and also prefetch engine 152 identifying application page access patterns and storing them in page graph 160 data structure. The combined system of Sha – Han - Sharma allows techniques can address prefetching issues for a wide range of query types, allowing for the exploitation of data access patterns that other systems cannot catch as mentioned in col 2, line 36-39. Therefore, the combination of Sha - Han - Sharma improves high performance. See Sharma, col 2, line 27-28.
Regarding claim 5, Sha in view of Han and further in view of Sharma teaches method of preloading memory page for application process in claim 4. However, Sha - Han - Sharma combination does not explicitly teach The method according to claim 4, wherein the generating the page table entry snapshot corresponding to the identifier of the first application in response to the capture information based on a page table entry corresponding to the identifier of the first application comprises:
determining, in response to the capture information, that the page table entry snapshot corresponding to the identifier of the first application does not exist in the first storage space; and
generating the page table entry snapshot corresponding to the identifier of the first application based on the page table entry corresponding to the identifier of the first application, wherein the page object in the page table entry is a file page and an anonymous page
On the other hand, Han which also relates to method of preloading memory page for application process teaches The method according to claim 4, wherein the generating the page table entry snapshot corresponding to the identifier of the first application in response to the capture information based on a page table entry corresponding to the identifier of the first application comprises:
determining, in response to the capture information, that the page table entry snapshot corresponding to the identifier of the first application does not exist in the first storage space; and
generating the page table entry snapshot corresponding to the identifier of the first application based on the page table entry corresponding to the identifier of the first application, wherein the page object in the page table entry is a file page and an anonymous page. (See Fig 1-4, paragraph [0412], illustrates if an application-level memory control group memcg1 corresponding to an application identifier APP1 corresponding to the application process 1 does not exist the application-level memory control group memcg1 corresponding to the browser is generated)
The same motivation that was utilized for combining Sha - Han combination and Sharma as set forth in claim 4 is equally applicable to claim 5.
Regarding claim 6, Sha in view of Han and further in view of Sharma teaches method of preloading memory page for application process in claim 4. However, Sha - Han - Sharma combination does not explicitly teach The method according to claim 4, wherein the generating the page table entry snapshot corresponding to the identifier of the first application based on the page table entry corresponding to the identifier of the first application comprises:
generating the page table entry snapshot corresponding to the identifier of the first application by using a page table entry that is in a page table corresponding to the identifier of the first application and in which a status bit is a preset character and a page object is of a preset type
wherein the preset character is used to indicate that a virtual memory corresponding to the page table entry is mapped to a physical memory and accessed, and the preset type comprises active, referenced, and anon
On the other hand, Han which also relates to method of preloading memory page for application process teaches The method according to claim 4, wherein the generating the page table entry snapshot corresponding to the identifier of the first application based on the page table entry corresponding to the identifier of the first application comprises:
generating the page table entry snapshot corresponding to the identifier of the first application by using a page table entry that is in a page table corresponding to the identifier of the first application and in which a status bit is a preset character and a page object is of a preset type, (See Fig 1-1, paragraph [0398], illustrates an application that is first reclaimed may be controlled based on a status of the application where status but may determine reclamation or preset rank)
wherein the preset character is used to indicate that a virtual memory corresponding to the page table entry is mapped to a physical memory and accessed, and the preset type comprises active, referenced, and anon. (See Fig 1-1, paragraph [0398], illustrates based on application status type application can be determined as frozen or active state which is reclaimed later)
The same motivation that was utilized for combining Sha - Han combination and Sharma as set forth in claim 4 is equally applicable to claim 6.
Regarding claim 13, Sha in view of Han teaches method of preloading memory page for application process in claim 12. However, Sha - Han combination does not explicitly teach The electronic device according to claim 12, wherein before the receiving prefetch information, the electronic device is further enabled to implement:
receiving capture information, wherein the capture information comprises the identifier of the first application and the hot start identifier
generating the page table entry snapshot corresponding to the identifier of the first application in response to the capture information based on a page table entry corresponding to the identifier of the first application, wherein a page object in the page table entry is a file page and an anonymous page; and
storing the page table entry snapshot corresponding to the identifier of the first application in the first storage space
On the other hand, Sharma which also relates to method of preloading memory page for application process teaches The electronic device according to claim 12, wherein before the receiving prefetch information, the electronic device is further enabled to implement:
receiving capture information, wherein the capture information comprises the identifier of the first application and the hot start identifier; (See Fig 1 and 2, col 14, line 4-17, illustrates prefetch engine 152 can utilize page graph 160 to determine a known access pattern before prefetch if prefetching is warranted. In other words, before prefetching prefetch engine 152 may determine if prefetching is warranted based on identifying frequent page access patterns)
generating the page table entry snapshot corresponding to the identifier of the first application in response to the capture information based on a page table entry corresponding to the identifier of the first application, wherein a page object in the page table entry is a file page and an anonymous page; and (See Fig 1 and 2, col 15, line 38-48, illustrates query processor 120 may insert a value into the prefetch queue 156 based on the identifier of application page to generate the prefetch queue 156 which is similar to page table entry)
storing the page table entry snapshot corresponding to the identifier of the first application in the first storage space. (See Fig 1 and 2, col 14, line 6-12, illustrates prefetch engine 152 identifying application page access patterns and storing them in page graph 160 data structure)
Both Sha, Han and Sharma relate to method of preloading memory page for application process (see Sha, abstract, and see Han, abstract, and see Sharma, abstract, regarding for application process memory management).
Therefore, it would have been obvious to one of ordinary skill at the time the
invention was effectively filed to combine Sha - Han combination with Sharma by incorporating method of preloading memory page for application process, as taught by Sharma, to enable prefetch engine 152 to utilize page graph 160 to determine a known access pattern before prefetch if prefetching is warranted. In other words, before prefetching prefetch engine 152 may determine if prefetching is warranted based on identifying frequent page access patterns and query processor 120 may insert a value into the prefetch queue 156 based on the identifier of application page to generate the prefetch queue 156 which is similar to page table entry and also prefetch engine 152 identifying application page access patterns and storing them in page graph 160 data structure. The combined system of Sha – Han - Sharma allows techniques can address prefetching issues for a wide range of query types, allowing for the exploitation of data access patterns that other systems cannot catch as mentioned in col 2, line 36-39. Therefore, the combination of Sha - Han - Sharma improves high performance. See Sharma, col 2, line 27-28.
Regarding claim 14, Sha in view of Han and further in view of Sharma teaches method of preloading memory page for application process in claim 13. However, Sha - Han - Sharma combination does not explicitly teach The electronic device according to claim 13, wherein the generating the page table entry snapshot corresponding to the identifier of the first application in response to the capture information based on a page table entry corresponding to the identifier of the first application comprises:
determining, in response to the capture information, that the page table entry snapshot corresponding to the identifier of the first application does not exist in the first storage space; and
generating the page table entry snapshot corresponding to the identifier of the first application based on the page table entry corresponding to the identifier of the first application, wherein the page object in the page table entry is a file page and an anonymous page
On the other hand, Han which also relates to method of preloading memory page for application process teaches The electronic device according to claim 13, wherein the generating the page table entry snapshot corresponding to the identifier of the first application in response to the capture information based on a page table entry corresponding to the identifier of the first application comprises:
determining, in response to the capture information, that the page table entry snapshot corresponding to the identifier of the first application does not exist in the first storage space; and
generating the page table entry snapshot corresponding to the identifier of the first application based on the page table entry corresponding to the identifier of the first application, wherein the page object in the page table entry is a file page and an anonymous page. (See Fig 1-4, paragraph [0412], illustrates if an application-level memory control group memcg1 corresponding to an application identifier APP1 corresponding to the application process 1 does not exist the application-level memory control group memcg1 corresponding to the browser is generated)
The same motivation that was utilized for combining Sha - Han combination and Sharma as set forth in claim 13 is equally applicable to claim 14.
Regarding claim 15, Sha in view of Han and further in view of Sharma teaches method of preloading memory page for application process in claim 13. However, Sha - Han - Sharma combination does not explicitly teach The electronic device according to claim 13, wherein the generating the page table entry snapshot corresponding to the identifier of the first application based on the page table entry corresponding to the identifier of the first application comprises:
generating the page table entry snapshot corresponding to the identifier of the first application by using a page table entry that is in a page table corresponding to the identifier of the first application and in which a status bit is a preset character and a page object is of a preset type,
wherein the preset character is used to indicate that a virtual memory corresponding to the page table entry is mapped to a physical memory and accessed, and the preset type comprises active, referenced, and anon
On the other hand, Han which also relates to method of preloading memory page for application process teaches The electronic device according to claim 13, wherein the generating the page table entry snapshot corresponding to the identifier of the first application based on the page table entry corresponding to the identifier of the first application comprises:
generating the page table entry snapshot corresponding to the identifier of the first application by using a page table entry that is in a page table corresponding to the identifier of the first application and in which a status bit is a preset character and a page object is of a preset type, (See Fig 1-1, paragraph [0398], illustrates an application that is first reclaimed may be controlled based on a status of the application where status but may determine reclamation or preset rank)
wherein the preset character is used to indicate that a virtual memory corresponding to the page table entry is mapped to a physical memory and accessed, and the preset type comprises active, referenced, and anon. (See Fig 1-1, paragraph [0398], illustrates based on application status type application can be determined as frozen or active state which is reclaimed later)
The same motivation that was utilized for combining Sha - Han combination and Sharma as set forth in claim 13 is equally applicable to claim 15.
Conclusion
The prior art made of record and not relied upon is considered pertinent to
applicant's disclosure.
Mayatskikh et al. (US 9727256 B1) teaches Described are techniques that map virtual to physical memory. A first module may be loaded into a first physical memory location mapped, using a first page size, to a first virtual address space. A virtual memory portion of the first virtual address space may be identified that is a virtual address range mapped to at least a portion of the first physical memory location including the first module. First data of the first physical memory location may be copied to a second physical memory location. A set of pages of physical memory may be identified. Each such page may be a second page size. The virtual memory portion may be remapped to the set of pages using a page size that is the second page size. The first data may be copied from the second physical memory location to the set of one or more pages of physical memory.
LEVY et al. (US 20170371748 A1) teaches A system is provided for creating selective snapshots of a database that is stored as one or more segments, wherein a segment comprises one or more memory pages. The system includes a memory storage comprising instructions and one or more processors in communication with the memory. The one or more processors execute the instructions to determine whether a snapshot process is configured to access a selected segment of the one or more segments, assign a positive mapping status to an accessed segment for which the determining unit has determined that it is accessed by the snapshot process and to assign a negative mapping status to a non-accessed segment, and create a snapshot comprises a step of forking the snapshot process with an address space that comprises a subset of the one or more segments.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SUBIR K CHOWDHURY whose telephone number is (703)756-1207. The examiner can normally be reached Monday-Friday 8:30 - 5:00 CST.
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, Hosain Alam can be reached at (571)-272-3978. 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.
/S.K.C./Examiner, Art Unit 2132
/HOSAIN T ALAM/Supervisory Patent Examiner, Art Unit 2132