DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 1-20 are pending in this application.
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant’s submission filed on 10/31/2025 has been entered.
Claims 1-20 are presented for examination. Claims 1, 2, 4-7, 9-12, 14-17, and 19-20 have been amended.
Information Disclosure Statement
The IDS filed on 10/31/2025 has been considered.
Response to Arguments
Applicant’s arguments regarding the rejections of claims 1-20 under 35 U.S.C. 112b have been fully considered and are persuasive. The rejections have been withdrawn.
Applicant's arguments regarding the 35 U.S.C. 101 rejections of claims 1-20 have been fully considered and they are persuasive. The rejections have been withdrawn.
Applicant's arguments regarding the 35 U.S.C. 103 rejections of claims 1-20 have been fully considered but they are moot in light of the references being applied in the current rejection.
Claim Objections
Claim 1 is objected to because of the following informalities: line 8 recites “configured to to perform”. Appropriate correction is required.
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.
Claims 1-3, 6-7, 9, 11-13, 16-17, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Glaum et al. (US 20050132179 A1 hereinafter Glaum) in view of Chen (CN 105278987 A).
The portions of Chen are pulled from a translation of CN 105278987 A.
As per claim 1, Glaum teaches a kernel agent comprising: circuitry configured to receive a condensed kernel dispatch packet, wherein the condensed kernel dispatch packet indicates differences with respect to stored kernel information ([0060] delta/difference packages contain one or more files which contain only the binary differences based on an earlier revision of the file. Delta/difference packages are typically smaller in size relative to other packages; [0070] Updates to the kernel or system partitions are managed and delivered to the device using the package mechanism; Abstract Described is a system and method in which software updates in the form of self-contained, secure entities are applied to an embedded device's non-volatile storage in a failsafe manner…Kernel partition, system partition and reserve section updates may be updated with entire files or binary difference files; [0046] The present invention is generally directed towards installing and/or updating software that is stored on small mobile computing devices; [0053] FIG. 2 shows an example partitioning scheme for an operating system image 202 installed on flash and/or on other suitable non-volatile storage media. A kernel partition 204 is provided as a restricted/protected partition for the purpose of storing a kernel image. The Kernel/NK partition provides storage for the core pieces of the operating system image (kernel, file system, and so forth)); and circuitry configured to to perform a cleanup operation based on the stored kernel information as modified based on the differences ([0025] In the binary difference case, a patching process is performed on one block at a time, where a block may equal the page/sector size. This is because there may not be enough flash space to keep both an old version and new version of a section around. As new blocks are created, old blocks can be deallocated as they are no longer needed; [0127] Part of the above processing includes (for executable, not data files) updating the virtual address allocation for update modules by determining whether the virtual address changed, and if so, deallocating the old virtual address space and allocating virtual address space for the new module as represented by step 806. If the virtual address size changes, a Deallocate function is called to remove the old virtual address space from the allocator and an Allocate function is called to allocate new virtual address space for the new module, with appropriate alignment requirements passed in depending on code or data. The deallocation may correspond to a command to delete the module, in which case the old module is deleted; [0137] To finalize, if this was an existing file or module and the bindiff case, then the old module is deleted; [0060] delta/difference packages contain one or more files which contain only the binary differences based on an earlier revision of the file. Delta/difference packages are typically smaller in size relative to other packages).
Glaum fails to teach wherein the condensed kernel dispatch packet indicates differences with respect to stored kernel cleanup information; and circuitry configured to to perform a cleanup operation based on the stored kernel cleanup information as modified based on the differences.
However, Chen teaches wherein the condensed kernel dispatch packet indicates differences with respect to stored kernel cleanup information; and circuitry configured to to perform a cleanup operation based on the stored kernel cleanup information as modified based on the differences ([0097] In one embodiment, the electronic device further includes: a record storage unit 70 connected to a data cleaning unit 40, used to store the operation record of performing data cleaning on the user data partition of the electronic device; [0085] The data cleaning unit 40 is connected to the second instruction set acquisition unit 30 and is used to perform data cleaning on the user data partition of the electronic device in response to the second instruction set; [0086] The second instruction set acquisition unit 30 is further configured to decompress the system upgrade package of the electronic device and extract the pre-stored space cleanup master control program and space cleanup list from the system upgrade package; [0087] the data cleaning unit 40 can perform data cleaning on the user data partition of the electronic device in the following way: start the space cleaning master program, and perform space cleaning on the user data partition according to the space cleaning list; [0078] system upgrade package, including operating system upgrade packages; [0045] The information processing method and electronic device provided in this invention clean up the data partition under the root directory of the operating system; [0079] Furthermore, the first mode for performing electronic device system upgrades as described in this embodiment of the invention is also known as Recovery mode in the Android system; Recovery mode refers to a mode that allows modification of data or system within an Android device; in this mode, a new Android system can be flashed; [0099] It should also be noted that the aforementioned first instruction set acquisition unit 10, mode entry unit 20, second instruction set acquisition unit 30, data cleaning unit 40, data update unit 50, kernel loading unit 60, and record storage unit 70 can be implemented by the central processing unit (CPU)).
It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined Glaum with the teachings of Chen to ensure a successful upgrade (see Chen [0078] ensuring a successful upgrade).
As per claim 2, Glaum and Chen teach the kernel agent of claim 1. Chen teaches further comprising: circuitry configured to process the condensed kernel dispatch packet to retrieve the stored kernel cleanup information ([0097] In one embodiment, the electronic device further includes: a record storage unit 70 connected to a data cleaning unit 40, used to store the operation record of performing data cleaning on the user data partition of the electronic device; [0085] The data cleaning unit 40 is connected to the second instruction set acquisition unit 30 and is used to perform data cleaning on the user data partition of the electronic device in response to the second instruction set; [0086] The second instruction set acquisition unit 30 is further configured to decompress the system upgrade package of the electronic device and extract the pre-stored space cleanup master control program and space cleanup list from the system upgrade package; [0078] system upgrade package, including operating system upgrade packages; [0045] The information processing method and electronic device provided in this invention clean up the data partition under the root directory of the operating system; [0079] Furthermore, the first mode for performing electronic device system upgrades as described in this embodiment of the invention is also known as Recovery mode in the Android system; Recovery mode refers to a mode that allows modification of data or system within an Android device; in this mode, a new Android system can be flashed;).
As per claim 3, Glaum and Chen teach the kernel agent of claim 1. Glaum teaches further comprising: circuitry configured to process the condensed kernel dispatch packet to retrieve difference information which identifies the differences ([0060] delta/difference packages contain one or more files which contain only the binary differences based on an earlier revision of the file. Delta/difference packages are typically smaller in size relative to other packages; [0070] Updates to the kernel or system partitions are managed and delivered to the device using the package mechanism).
As per claim 6, Glaum and Chen teach the kernel agent of claim 1. Chen teaches further comprising a reference state buffer, wherein the stored kernel cleanup information is stored in the reference state buffer ([0039] Memory, used to store instructions; [0097] In one embodiment, the electronic device further includes: a record storage unit 70 connected to a data cleaning unit 40, used to store the operation record of performing data cleaning on the user data partition of the electronic device; [0045] The information processing method and electronic device provided in this invention clean up the data partition under the root directory of the operating system).
As per claim 7, Glaum and Chen teach the kernel agent of claim 1. Glaum teaches further comprising a scratch random access memory (RAM), wherein the kernel agent stores the kernel information in the scratch RAM ([0140] In accordance with another aspect of the present invention, as described above the mechanisms consider the concept of optimized ordering for how a binary difference files are applied. As is understood, some amount of scratch pad memory is required to apply a binary difference file to the baseline image and thus generate the resultant updated module/file; [0070] Updates to the kernel or system partitions are managed and delivered to the device using the package mechanism;).
Additionally, Chen teaches stores the kernel cleanup information ([0097] In one embodiment, the electronic device further includes: a record storage unit 70 connected to a data cleaning unit 40, used to store the operation record of performing data cleaning on the user data partition of the electronic device; [0045] The information processing method and electronic device provided in this invention clean up the data partition under the root directory of the operating system).
As per claim 9, Glaum and Chen teach the kernel agent of claim 1. Glaum teaches further comprising circuitry configured to receive the condensed kernel dispatch packet from a host processor ([0069] The installation process makes heavy use of the contents of the device manifest file, both for those packages already installed on the device as well as for those packages queued for potential install on the device. The package information API was designed to provide an abstracted means of querying package information and is used on both the device and on the build host; [0070] Updates to the kernel or system partitions are managed and delivered to the device using the package mechanism;).
As per claims 11-13, 16-17, and 19, they are method claims of claims 1-3, 6-7, and 9, so they are rejected for the same reasons as claims 1-3, 6-7, and 9.
Claims 4, 5, 14, and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Glaum and Chen, as applied to claims 1 and 11 above, in view of Owicki et al. (US 5446901 A hereinafter Owicki).
As per claim 4, Glaum and Chen teach the kernel agent of claim 1. Chen teaches further comprising: circuitry configured to process the condensed kernel dispatch packet to retrieve the stored kernel cleanup information ([0097] In one embodiment, the electronic device further includes: a record storage unit 70 connected to a data cleaning unit 40, used to store the operation record of performing data cleaning on the user data partition of the electronic device; [0085] The data cleaning unit 40 is connected to the second instruction set acquisition unit 30 and is used to perform data cleaning on the user data partition of the electronic device in response to the second instruction set; [0086] The second instruction set acquisition unit 30 is further configured to decompress the system upgrade package of the electronic device and extract the pre-stored space cleanup master control program and space cleanup list from the system upgrade package; [0078] system upgrade package, including operating system upgrade packages; [0079] Furthermore, the first mode for performing electronic device system upgrades as described in this embodiment of the invention is also known as Recovery mode in the Android system; Recovery mode refers to a mode that allows modification of data or system within an Android device; in this mode, a new Android system can be flashed;).
Glaum and Chen fail to teach to retrieve stored second kernel cleanup information; and circuitry configured to perform a second kernel cleanup operation based on the retrieved stored second kernel cleanup information.
However, Owicki teaches to retrieve stored second kernel cleanup information; and circuitry configured to perform a second kernel cleanup operation based on the retrieved stored second kernel cleanup information (Fig. 1; Col. 9 lines 37-52 If the denoted process has terminated, and if the communication network between the object owner and the host computer on which denoted process was located is operative, the operating system of the host computer on which the denoted process resided will respond to the status request message with a "process terminated" message. In that case, the entry for that process in the client process table 192 is deleted. In addition, the failed process detection procedure 194 will send to the shared object garbage collection procedure 181 a "process failed" message identifying the terminated process. As discussed below, the "process failed" message will cause the shared object garbage collection procedure 181 to search through the usage tables 174 for all shared objects in the process address space and delete all usage table entries for the terminated process; Col. 8 lines 38-58 However, the operating system 140 of the host computer or the runtime system of the client process 160 may treat a communication failure of long duration (e.g., of duration more than a predefined threshold of time, such as an hour, or a day, or any other predefined time threshold selected by the persons setting up the distributed computer system) as being equivalent to failure of the process to which a clean message is being sent. As a result, the operating system 140 or the runtime system may inform the cleanup demon 186 that an object owner process has terminated even though the state of the object owner process is actually unknown. Alternately, a time value corresponding to the time each clean message is created could be stored with each clean message in the queue 184, and the cleanup demon 186 could be programmed to assume that the object owner process has terminated if a repeatedly sent clean message is not acknowledged within a threshold period of time after the time value stored with the clean message; Figure 1 shows a memory with a local garbage collection producer 180, shared object garbage collector, and cleanup demon.).
It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined Glaum and Chen with the teachings of Owicki to promote efficiency (see Owicki Col. 2 lines 13-14 The garbage collector should be efficient in its use of system resources.).
As per claim 5, Glaum and Chen teach the kernel agent of claim 1. Chen teaches further comprising: circuitry configured to perform a kernel cleanup operation based on the stored kernel cleanup information as modified based on the differences([0097] In one embodiment, the electronic device further includes: a record storage unit 70 connected to a data cleaning unit 40, used to store the operation record of performing data cleaning on the user data partition of the electronic device; [0085] The data cleaning unit 40 is connected to the second instruction set acquisition unit 30 and is used to perform data cleaning on the user data partition of the electronic device in response to the second instruction set; [0086] The second instruction set acquisition unit 30 is further configured to decompress the system upgrade package of the electronic device and extract the pre-stored space cleanup master control program and space cleanup list from the system upgrade package; [0087] the data cleaning unit 40 can perform data cleaning on the user data partition of the electronic device in the following way: start the space cleaning master program, and perform space cleaning on the user data partition according to the space cleaning list; [0078] system upgrade package, including operating system upgrade packages; [0045] The information processing method and electronic device provided in this invention clean up the data partition under the root directory of the operating system; [0079] Furthermore, the first mode for performing electronic device system upgrades as described in this embodiment of the invention is also known as Recovery mode in the Android system; Recovery mode refers to a mode that allows modification of data or system within an Android device; in this mode, a new Android system can be flashed; [0099] It should also be noted that the aforementioned first instruction set acquisition unit 10, mode entry unit 20, second instruction set acquisition unit 30, data cleaning unit 40, data update unit 50, kernel loading unit 60, and record storage unit 70 can be implemented by the central processing unit (CPU)).
Glaum and Chen fail to teach perform a second kernel cleanup operation.
However, Owicki teaches perform a second kernel cleanup operation (Fig. 1; Col. 9 lines 37-52 If the denoted process has terminated, and if the communication network between the object owner and the host computer on which denoted process was located is operative, the operating system of the host computer on which the denoted process resided will respond to the status request message with a "process terminated" message. In that case, the entry for that process in the client process table 192 is deleted. In addition, the failed process detection procedure 194 will send to the shared object garbage collection procedure 181 a "process failed" message identifying the terminated process. As discussed below, the "process failed" message will cause the shared object garbage collection procedure 181 to search through the usage tables 174 for all shared objects in the process address space and delete all usage table entries for the terminated process; Col. 8 lines 38-58 However, the operating system 140 of the host computer or the runtime system of the client process 160 may treat a communication failure of long duration (e.g., of duration more than a predefined threshold of time, such as an hour, or a day, or any other predefined time threshold selected by the persons setting up the distributed computer system) as being equivalent to failure of the process to which a clean message is being sent. As a result, the operating system 140 or the runtime system may inform the cleanup demon 186 that an object owner process has terminated even though the state of the object owner process is actually unknown. Alternately, a time value corresponding to the time each clean message is created could be stored with each clean message in the queue 184, and the cleanup demon 186 could be programmed to assume that the object owner process has terminated if a repeatedly sent clean message is not acknowledged within a threshold period of time after the time value stored with the clean message).
It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined Glaum and Chen with the teachings of Owicki to promote efficiency (see Owicki Col. 2 lines 13-14 The garbage collector should be efficient in its use of system resources.).
As per claim 14, it is a method claim of claim 4, so it is rejected for similar reasons.
As per claim 15, it is a method claim of claim 5, so it is rejected for similar reasons.
Claims 8 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Glaum and Chen, as applied to claims 1 and 11 above, in view of Diard (US 20110157189 A1).
As per claim 8, Glaum and Chen teach the kernel agent of claim 1.
Glaum and Chen fail to teach wherein the kernel agent comprises a graphics processing unit (GPU).
However, Diard teaches wherein the kernel agent comprises a graphics processing unit (GPU) ([0017] Initially, the attached adapter includes the integral graphics processing unit 170 and its device specific kernel mode driver 162; [0016] a device kernel mode driver agent).
It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined Glaum and Chen with the teachings of Diard since a GPU accelerates processing.
As per claim 18, it is a method claim of claim 8, so it is rejected for similar reasons.
Claims 10 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Glaum and Chen, as applied to claims 1 and 11 above, in view of Tye et al. (US 20180349145 A1 hereinafter Tye).
As per claim 10, Glaum and Chen teach the kernel agent of claim 1. Glaum teaches wherein the condensed kernel dispatch packet comprises fields ([0060] delta/difference packages contain one or more files which contain only the binary differences based on an earlier revision of the file. Delta/difference packages are typically smaller in size relative to other packages; [0016] To interpret the package contents, each package contains a device manifest file that has detailed information about the package, and the update loader reads the contents, including a globally-unique ID for package identification, a package version, dependency information relative to other packages, various settings, and a list of files and file versions included in the package).
Glaum and Chen fail to teach wherein the condensed kernel dispatch packet comprises architected queuing language (AQL) fields.
However, Tye teaches wherein the condensed kernel dispatch packet comprises architected queuing language (AQL) fields ([0031] In one embodiment, a packet (e.g., an AQL packet); [0029] If the packet is a kernel dispatch packet, then command processor 240A-N is configured to initiate the kernel on one or more of compute units 245A-N.).
It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined Glaum and Chen with the teachings of Tye since the AQL packet can encode multiple commands (see [0022] As used herein, the term “continuation packet” is defined as a unit of data encoding one or more commands; [0040] the first packet is an architected queuing language (AQL) packet.).
As per claim 20, it is a method claim of claim 10, so it is rejected for similar reasons.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to HSING CHUN LIN whose telephone number is (571)272-8522. The examiner can normally be reached Mon - Fri 9AM-5PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Aimee Li can be reached at (571) 272-4169. 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.
/H.L./Examiner, Art Unit 2195
/Aimee Li/Supervisory Patent Examiner, Art Unit 2195