DETAILED ACTION
Claims 1, 3-18 are pending. Claims 1, 3-5, 7, 9-12, 14-18 have been amended. Claim 2 has been cancelled.
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This final office action is in response to the applicant’s response received on 03/24/2026, for the non-final office action mailed on 12/11/2025.
Examiner’s Notes
Examiner has cited particular columns and line numbers, paragraph numbers, or figures in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested from the applicant, in preparing the 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.
Response to Arguments
Applicant’s arguments filed 03/11/2026 have been considered but are moot in view of new ground(s) 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.
Claim(s) 1, 3-8 and 14-16 are rejected under 35 U.S.C. 103 as being unpatentable over Hatakeyama (US-PGPUB-NO: 2015/0301823 A1), in further view of Kang et al. (US-PGPUB-NO: 2021/0349710 A1) hereinafter Kang and Condict et al. (US-PGPUB-NO: 2015/0248240 A1) hereinafter Condict.
As per claim 1, Hatakeyama teaches an information processing apparatus that provides, to a recording device in which first software including a plurality of data blocks is recorded, a patch file for executing second software which is a newer version of the first software (see Hatakeyama paragraph [0047], “Returning to FIG. 1, the content server 12 provides the information processing device 10 with game software and patch data of the game software”), the information processing apparatus comprising: a processor (see Hatakeyama paragraph [0039], “The main system 60 includes a main CPU (Central Processing Unit), a memory as a main storage device and a memory controller, a GPU (Graphics Processing Unit), and the like”); and a non-transitory, computer readable storage medium containing instructions (see Hatakeyama paragraph [0010], “A still further mode of the present technology relates to a computer readable recording medium”), that when executed, cause the processor to perform operations comprising: generating reusable block arrangement information that defines correspondence between block numbers of a first plurality of data blocks included in the second software and block numbers, in the first software, of common data blocks which are included in the first software and the second software (see Hatakeyama paragraph [0136], “The game manufacturer creates the patch file and difference information for each version, and makes the patch file and the difference information for each version retained in the content server 12 in a downloadable manner. The difference information for each version is difference information between the latest version and versions preceding the latest version. When there are a plurality of versions preceding the latest version, a number of pieces of difference information which number corresponds to the number of the plurality of versions preceding the latest version are retained in the content server 12”); generating the patch file comprising the differential data and the reusable block arrangement information and providing the patch file to the recording device for execution of the second software (see Hatakeyama paragraph [0137], “Incidentally, the respective functions of the block identifying section 402, the offset deriving section 404, and the difference information generating section 406 may be implemented by the difference information generating software, which is a development tool used in the game manufacturer. The functions of the synthesizing section 408 may also be implemented by the difference information generating software, but may also be implemented by difference information synthesizing software installed on the content server 12”).
Hatakeyama does not explicitly teach generating differential data that includes new data blocks that are included in the second software but are not included in the first software, and excludes the common data blocks which are included in the first software and the second software, wherein the new data blocks in the differential data are arranged in ascending order of block numbers in the second software; and incorporating the additional block arrangement information in the patch file wherein for each data block in the second software, the apparatus is configured to determine, based on both the reusable block arrangement information and the additional block arrangement information, whether to reconstruct the data block from the first software or from the patch file. However, Kang teaches generating differential data that includes new data blocks that are included in the second software but are not included in the first software, and excludes the common data blocks which are included in the first software and the second software, wherein the new data blocks in the differential data are arranged in ascending order of block numbers in the second software (see Kang paragraph [0116], “In addition, as shown in FIG. 4 (d), the update agent 400 generates a fourth new version of a block (block #4) based on the old version of a block (all block−(new block #1+new block #2+new block #3)) obtained by subtracting the first new version of block (block #1), the second new version of a block (block #2) and the third new version of a block (block #3) from the sorted all the old versions of blocks and a fourth differential data block (delta #4) of the extracted difference related information. And by performing the step 4 of overwriting the generated fourth new version of a block to the old version of a block, the patch process of the corresponding partition is completed”); incorporating the additional block arrangement information in the patch file wherein for each data block in the second software, the apparatus is configured to determine, based on both the reusable block arrangement information and the additional block arrangement information, whether to reconstruct the data block from the first software or from the patch file (see Kang paragraph [0141], “As shown in FIG. 8, the update agent 400 parses an old version of a software data installed in the client device 300 and the difference related information between old and new versions of software data received from the update management server 200, according to the request of the client device 300 (S405). That is, by parsing the difference related information managed by XML written by a developer, the update agent 400 identifies information on a partition and blocks in the partition for different parts (i.e., parts in which modification, insertion, deletion, etc. were made) between old and new versions of software data” and see Kang paragraph [0142], “After parsing XML through step S405, the update agent 400 determines whether a resume patch is performed, by referring to the extracted signature information in the difference related information (S410). In this case, the delta header checksum (i.e., CRC 32) value (A) and signature value (B) are stored in the signature information. If A and B are the same, it is identified as a normal patch. If A and B are not the same, it is identified as a resume patch.”).
Hatakeyama and Kang are analogous art because they are in the same field of endeavor of software development. Therefore, it would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to modify Hatakeyama’s teaching of generating data for downloading, in particular patch data for updating a game or software application with Kang’s teaching of installing software update agent for patching software program and its related data on a client device based on differential data between old and new versions of software data provided from remote software update management server to incorporate being able to indicate whether a block is equal, modified or inserting a block in order to easily and quickly determine what needs to be downloaded and updated between the old and new versions of an application.
Hatakeyama modified with Kang do not explicitly teach generating additional block arrangement information that defines correspondence between block numbers of the new data blocks included in the second software and block numbers of the new data blocks in the patch file. However, Condict teaches generating additional block arrangement information that defines correspondence between block numbers of the new data blocks included in the second software and block numbers of the new data blocks in the patch file (see Condict paragraph [0068], “The technique of associating generation addresses with block numbers can be used to avoid unnecessarily sending duplicate data over the communication link between storage server 2A and storage server 2B during a mirror update or other similar replication operation, i.e., to perform network deduplication. For example, during a mirror update, the source storage server 2A initially sends only the logical block addresses and corresponding generation numbers of the modified data blocks to the destination storage server 2B. The destination storage server 2B compares those references against its local metadata structure to determine whether it already has any of those data blocks stored (i.e., matching block addresses and generation numbers). If the destination storage server 2B determines that it already has a data block stored, it does not request or receive that data block again from the source storage server 2A. Hence, no data block is sent more than once from the source storage server 2A to the destination storage server 2B for purposes of data replication (e.g., for purposes of creating or updating a mirror)”).
Hatakeyama, Kang and Condict are analogous art because they are in the same field of endeavor of software development. Therefore, it would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to modify Hatakeyama’s teaching of generating data for downloading, in particular patch data for updating a game or software application and Kang’s teaching of installing software update agent for patching software program and its related data on a client device based on differential data between old and new versions of software data provided from remote software update management server with Condict’s teaching of using logical block addresses with generation numbers as data fingerprints for network duplication to incorporate being able to determine whether new data being presented in an update needs to be replicated compared to the data already presented in the present data blocks reducing double the work when transmitting the data.
As per claim 3, Hatakeyama modified with Kang and Condict teaches wherein correspondence between the block numbers of a plurality of data blocks included in the second software and either the block numbers of common data blocks in the first software or the block numbers of new data blocks in the patch file, is defined by the reusable block arrangement information and the additional block arrangement information (see Condict paragraph [0068], “The technique of associating generation addresses with block numbers can be used to avoid unnecessarily sending duplicate data over the communication link between storage server 2A and storage server 2B during a mirror update or other similar replication operation, i.e., to perform network deduplication. For example, during a mirror update, the source storage server 2A initially sends only the logical block addresses and corresponding generation numbers of the modified data blocks to the destination storage server 2B. The destination storage server 2B compares those references against its local metadata structure to determine whether it already has any of those data blocks stored (i.e., matching block addresses and generation numbers). If the destination storage server 2B determines that it already has a data block stored, it does not request or receive that data block again from the source storage server 2A. Hence, no data block is sent more than once from the source storage server 2A to the destination storage server 2B for purposes of data replication (e.g., for purposes of creating or updating a mirror)”).
As per claim 4, Hatakeyama modified with Kang and Condict teaches an information processing apparatus that processes second software, which is a newer version of first software recorded in a recording device, by using a plurality of data blocks included in the first software, the information processing apparatus comprising: a processor; and a non-transitory, computer readable storage medium containing instructions, that when executed, cause the processor to perform operations comprising: acquiring a patch file comprising differential data and reusable block arrangement information (see Hatakeyama paragraph [0136], “The game manufacturer may create difference information between the application software and the latest patch file, and make the difference information retained in the content server 12 in a downloadable manner. This is because there may be a user who has never downloaded a patch file when the patch file of the version 3 becomes downloadable, for example. Particularly in a case where the patch file has a function of correcting a bug of the application software, efficient download processing is realized by creating difference information with respect to the application software”); acquiring additional block arrangement information in the patch file that defines correspondence between block numbers of new data blocks included in the second software and block numbers of new data blocks in the patch file (see Condict paragraph [0068], “The technique of associating generation addresses with block numbers can be used to avoid unnecessarily sending duplicate data over the communication link between storage server 2A and storage server 2B during a mirror update or other similar replication operation, i.e., to perform network deduplication. For example, during a mirror update, the source storage server 2A initially sends only the logical block addresses and corresponding generation numbers of the modified data blocks to the destination storage server 2B. The destination storage server 2B compares those references against its local metadata structure to determine whether it already has any of those data blocks stored (i.e., matching block addresses and generation numbers). If the destination storage server 2B determines that it already has a data block stored, it does not request or receive that data block again from the source storage server 2A. Hence, no data block is sent more than once from the source storage server 2A to the destination storage server 2B for purposes of data replication (e.g., for purposes of creating or updating a mirror)”), wherein: the reusable block arrangement information defines correspondence between block numbers of a plurality of data blocks included in the second software and block numbers, in the first software, of common data blocks which are included in the first software and the second software (see Hatakeyama paragraph [0123], “Directing attention to the block 3 of the version 2, the block 3 stores data of the block R and the block S common to the version 1 and the version 2. It is therefore known that when the information processing device 10 has already downloaded the patch file of the version 1, the data stored in the block 3 of the version 2 has already been obtained in the information processing device 10. Accordingly, in the present embodiment, the information processing device 10 reuses the data of the version 1 without downloading the block 3 of the version 2”), and the differential data includes new data blocks that are included in the second software but are not included in the first software, and excludes the common data blocks which are included in the first software and the second software, wherein the new data blocks in the differential data are arranged in ascending order of block numbers in the second software (see Kang paragraph [0116], “In addition, as shown in FIG. 4 (d), the update agent 400 generates a fourth new version of a block (block #4) based on the old version of a block (all block−(new block #1+new block #2+new block #3)) obtained by subtracting the first new version of block (block #1), the second new version of a block (block #2) and the third new version of a block (block #3) from the sorted all the old versions of blocks and a fourth differential data block (delta #4) of the extracted difference related information. And by performing the step 4 of overwriting the generated fourth new version of a block to the old version of a block, the patch process of the corresponding partition is completed”); recording the patch file into the recording device (see Hatakeyama paragraph [0047], “Returning to FIG. 1, the content server 12 provides the information processing device 10 with game software and patch data of the game software. In response to a request from the information processing device 10, the content server 12 in the present embodiment provides data blocks of a patch file of a latest version which data blocks include data not downloaded by the information processing device 10”); and executing the second software using both the reusable block arrangement information and the additional block arrangement information to determine, for each data block in the second software, whether to reconstruct the data block from the first software or from the patch file, using the differential data from the patch file in combination with the common data blocks included in the first software recorded in the recording device (see Kang paragraph [0108], “Wherein, the differential data stream shown in FIG. 3 (d) indicates length information for each block of the new version of the blocks. The differential data stream is composed of length information of the data that is stored by classifying the data into Equal, Mod and Insert, and the actual data such as a Mod data and an Insert data”).
As per claim 5, Hatakeyama modified with Kang and Condict teaches wherein executing the second software comprises using the additional block arrangement information (see Hatakeyama paragraph [0139], “The difference information generating section 406 generates difference information including information indicating whether or not data updated from the first patch file is included for each data block of the second patch file. For a data block including updated data, the difference information generating section 406 sets, as the difference information, a flag 0 indicating that the data block includes the updated data. For a data block not including updated data, the difference information generating section 406 sets, as the difference information, a flag 1 indicating that the data block includes non-updated data and address information (offset information) indicating a position at which the data is stored in the first patch file. The difference information generating section 406 generates the difference information for all of the data blocks of the second patch file, and stores the difference information in the difference information recording section 410”).
As per claim 6, Hatakeyama modified with Kang and Condict teaches wherein correspondence between block numbers of a plurality of data blocks included in the second software and either block numbers of data blocks in the first software or block numbers of data blocks in the patch file is defined by the reusable block arrangement information and the additional block arrangement information (see Hatakeyama paragraph [0123], “Directing attention to the block 3 of the version 2, the block 3 stores data of the block R and the block S common to the version 1 and the version 2. It is therefore known that when the information processing device 10 has already downloaded the patch file of the version 1, the data stored in the block 3 of the version 2 has already been obtained in the information processing device 10. Accordingly, in the present embodiment, the information processing device 10 reuses the data of the version 1 without downloading the block 3 of the version 2”).
As per claim 7, Hatakeyama modified with Kang and Condict teaches an information processing apparatus that is capable of making access to a recording device in which first software including a plurality of data blocks is recorded and that is connected to a distribution apparatus for distributing software (see Hatakeyama paragraph [0047], “Returning to FIG. 1, the content server 12 provides the information processing device 10 with game software and patch data of the game software”), the information processing apparatus comprising: a processor (see Hatakeyama paragraph [0039], “The main system 60 includes a main CPU (Central Processing Unit), a memory as a main storage device and a memory controller, a GPU (Graphics Processing Unit), and the like”); and a non-transitory, computer readable storage medium containing instructions (see Hatakeyama paragraph [0010], “A still further mode of the present technology relates to a computer readable recording medium”), that when executed, cause the processor to perform operations comprising: acquiring, from the distribution apparatus, a patch file comprising differential data and reusable block arrangement information that defines correspondence between block numbers of a plurality of data blocks included in second software, and block numbers, in the first software, of common data blocks which are included in the first software and the second software (see Hatakeyama paragraph [0136], “The game manufacturer creates the patch file and difference information for each version, and makes the patch file and the difference information for each version retained in the content server 12 in a downloadable manner. The difference information for each version is difference information between the latest version and versions preceding the latest version. When there are a plurality of versions preceding the latest version, a number of pieces of difference information which number corresponds to the number of the plurality of versions preceding the latest version are retained in the content server 12”); acquiring additional block arrangement information in the patch file that defines correspondence between block numbers of new data blocks included in the second software and block numbers of new data blocks in the patch file (see Condict paragraph [0068], “The technique of associating generation addresses with block numbers can be used to avoid unnecessarily sending duplicate data over the communication link between storage server 2A and storage server 2B during a mirror update or other similar replication operation, i.e., to perform network deduplication. For example, during a mirror update, the source storage server 2A initially sends only the logical block addresses and corresponding generation numbers of the modified data blocks to the destination storage server 2B. The destination storage server 2B compares those references against its local metadata structure to determine whether it already has any of those data blocks stored (i.e., matching block addresses and generation numbers). If the destination storage server 2B determines that it already has a data block stored, it does not request or receive that data block again from the source storage server 2A. Hence, no data block is sent more than once from the source storage server 2A to the destination storage server 2B for purposes of data replication (e.g., for purposes of creating or updating a mirror)”); identifying, in the reusable block arrangement information, block numbers of new data blocks included in the second software having no correspondence with any of the block numbers in the first software using the additional block arrangement informaiton (see Hatakeyama paragraph [0112], “Accordingly, the information processing device 10 reuses data already downloaded in the information processing device 10 without downloading the data from the content server 12. The game manufacturer creates difference information between patch files of different versions. The information processing device 10 obtains the difference information corresponding to the version information of the downloaded patch file from the content server 12, and downloads only data blocks not yet downloaded according to the difference information. Description in the following will be made of a method of creating difference information between different versions of a patch file by difference information generating software in the game manufacturer”); reporting the block numbers of the new data blocks in the patch file (see Condict paragraph [0068], “The technique of associating generation addresses with block numbers can be used to avoid unnecessarily sending duplicate data over the communication link between storage server 2A and storage server 2B during a mirror update or other similar replication operation, i.e., to perform network deduplication”); and receiving, from the distribution apparatus in response to the reporting, the new data blocks in the patch file (see Kang paragraph [0116], “In addition, as shown in FIG. 4 (d), the update agent 400 generates a fourth new version of a block (block #4) based on the old version of a block (all block−(new block #1+new block #2+new block #3)) obtained by subtracting the first new version of block (block #1), the second new version of a block (block #2) and the third new version of a block (block #3) from the sorted all the old versions of blocks and a fourth differential data block (delta #4) of the extracted difference related information. And by performing the step 4 of overwriting the generated fourth new version of a block to the old version of a block, the patch process of the corresponding partition is completed”), wherein the reporting of the block numbers and receiving of the new data blocks is performed in a streaming manner, such that the information processing apparatus reconstructs the second software in a single pass without requiring storage of the patch file or the new data blocks prior to reconstruction (see Kang paragraph [0108], “Wherein, the differential data stream shown in FIG. 3 (d) indicates length information for each block of the new version of the blocks. The differential data stream is composed of length information of the data that is stored by classifying the data into Equal, Mod and Insert, and the actual data such as a Mod data and an Insert data”).
As per claim 8, Hatakeyama modified with Kang and Condict teaches wherein the operations further comprise: transmitting version information on the first software to the distribution apparatus, wherein the reusable block arrangement information is received from the distribution apparatus in response (see Hatakeyama paragraph [0136], “The game manufacturer creates the patch file and difference information for each version, and makes the patch file and the difference information for each version retained in the content server 12 in a downloadable manner. The difference information for each version is difference information between the latest version and versions preceding the latest version”).
As per claims 14-16, these are the non-transitory, computer readable storage medium claims to information processing apparatus claims 1, 4 and 7, respectively. Therefore, they are rejected for the same reasons as above.
Claim(s) 9-10 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Hatakeyama (US-PGPUB-NO: 2015/0301823 A1) in further view of Kang (US-PGPUB-NO: 2021/0349710 A1), Condict (US-PGPUB-NO: 2015/0248240 A1) and Kuroda (US-PGPUB-NO: 2003/0212756 A1).
As per claim 9, Hatakeyama teaches an information processing apparatus that is connected to a distribution apparatus for distributing software, the information processing apparatus comprising: a recording device (see Hatakeyama paragraph [0080], “With the data structure of the game data in the present embodiment, a plurality of files are recorded in consecutive locations (blocks) on a recording medium”); a processor (see Hatakeyama paragraph [0039], “The main system 60 includes a main CPU (Central Processing Unit), a memory as a main storage device and a memory controller, a GPU (Graphics Processing Unit), and the like”); and a non-transitory, computer readable storage medium containing instructions (see Hatakeyama paragraph [0010], “A still further mode of the present technology relates to a computer readable recording medium”), that when executed, cause the processor to perform operations comprising: transmitting a download request for first software to the distribution apparatus (see Hatakeyama paragraph [0158], “The download executing unit 304 may obtain order information indicating download order from the content server 12 before transmitting the download request”), wherein the first software comprises a plurality of data blocks, each data block being associated with at least one content element (see Hatakeyama paragraph [0136], “The game manufacturer may create difference information between the application software and the latest patch file, and make the difference information retained in the content server 12 in a downloadable manner. This is because there may be a user who has never downloaded a patch file when the patch file of the version 3 becomes downloadable, for example. Particularly in a case where the patch file has a function of correcting a bug of the application software, efficient download processing is realized by creating difference information with respect to the application software”); transmitting a download request for the second software to the distribution apparatus (see Hatakeyama paragraph [0158], “The download executing unit 304 may obtain order information indicating download order from the content server 12 before transmitting the download request”); acquiring, from the distribution apparatus, a patch file comprising reusable block arrangement information associates necessary data blocks among a plurality of data blocks included in the first software, with corresponding block numbers, and associates unnecessary data blocks of the one or more content elements among the plurality of data blocks, with information indicating that the data block is not downloaded, such that data blocks associated with omitted content elements are excluded from both the patch file and the download (see Hatakeyama paragraph [0123], “Directing attention to the block 3 of the version 2, the block 3 stores data of the block R and the block S common to the version 1 and the version 2. It is therefore known that when the information processing device 10 has already downloaded the patch file of the version 1, the data stored in the block 3 of the version 2 has already been obtained in the information processing device 10. Accordingly, in the present embodiment, the information processing device 10 reuses the data of the version 1 without downloading the block 3 of the version 2”);
Hatakeyama does not explicitly teach reporting the block numbers of the necessary data blocks to the distribution apparatus in ascending order of block numbers in the first software; reporting the block numbers of the necessary data blocks to the distribution apparatus in ascending order of block numbers in the second software; receiving, from the distribution apparatus in response to the reporting, the necessary data blocks in the ascending order of block numbers in the first software; receiving, from the distribution apparatus in response to the reporting, the new data blocks in the patch file and recording the patch file, the necessary data blocks and the new data blocks in the patch file into the recording device. However, Kang teaches reporting the block numbers of the necessary data blocks to the distribution apparatus in ascending order of block numbers in the first software (see Kang paragraph [0116], “In addition, as shown in FIG. 4 (d), the update agent 400 generates a fourth new version of a block (block #4) based on the old version of a block (all block−(new block #1+new block #2+new block #3)) obtained by subtracting the first new version of block (block #1), the second new version of a block (block #2) and the third new version of a block (block #3) from the sorted all the old versions of blocks and a fourth differential data block (delta #4) of the extracted difference related information. And by performing the step 4 of overwriting the generated fourth new version of a block to the old version of a block, the patch process of the corresponding partition is completed”); reporting the block numbers of the necessary data blocks to the distribution apparatus in ascending order of block numbers in the second software (see Kang paragraph [0116], “In addition, as shown in FIG. 4 (d), the update agent 400 generates a fourth new version of a block (block #4) based on the old version of a block (all block−(new block #1+new block #2+new block #3)) obtained by subtracting the first new version of block (block #1), the second new version of a block (block #2) and the third new version of a block (block #3) from the sorted all the old versions of blocks and a fourth differential data block (delta #4) of the extracted difference related information. And by performing the step 4 of overwriting the generated fourth new version of a block to the old version of a block, the patch process of the corresponding partition is completed”); receiving, from the distribution apparatus in response to the reporting, the necessary data blocks in the ascending order of block numbers in the first software; receiving, from the distribution apparatus in response to the reporting, the new data blocks in the patch file; (see Kang paragraph [0058], “In addition, even in case of a wireless communication terminal such as a smart phone, a lot of time and a large amount of traffic have been taken for the download since all the new version of the software data is downloaded and updated in the past. Through the method of the present invention, the software data can be updated with downloading only differential information (or differential part of the software data) of which the capacity is small amount, thereby reducing the cost of handling the data and efficiently utilizing radio resources through quick update”) and recording the first download block information and the necessary data blocks into the recording device (see Kang paragraph [0058], “In addition, even in case of a wireless communication terminal such as a smart phone, a lot of time and a large amount of traffic have been taken for the download since all the new version of the software data is downloaded and updated in the past. Through the method of the present invention, the software data can be updated with downloading only differential information (or differential part of the software data) of which the capacity is small amount, thereby reducing the cost of handling the data and efficiently utilizing radio resources through quick update”).
Hatakeyama and Kang are analogous art because they are in the same field of endeavor of software development. Therefore, it would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to modify Hatakeyama’s teaching of generating data for downloading, in particular patch data for updating a game or software application with Kang’s teaching of installing software update agent for patching software program and its related data on a client device based on differential data between old and new versions of software data provided from remote software update management server to incorporate being able to indicate whether a block is equal, modified or inserting a block in order to easily and quickly determine what needs to be downloaded and updated between the old and new versions of an application.
Hatakeyama modified with Kang do not explicitly teach acquiring additional block arrangement information in the patch file that defines correspondence between block numbers of new data blocks included in the second software and block numbers of new data blocks in the patch file. However, Condict teaches acquiring additional block arrangement information in the patch file that defines correspondence between block numbers of new data blocks included in the second software and block numbers of new data blocks in the patch file (see Condict paragraph [0068], “The technique of associating generation addresses with block numbers can be used to avoid unnecessarily sending duplicate data over the communication link between storage server 2A and storage server 2B during a mirror update or other similar replication operation, i.e., to perform network deduplication. For example, during a mirror update, the source storage server 2A initially sends only the logical block addresses and corresponding generation numbers of the modified data blocks to the destination storage server 2B. The destination storage server 2B compares those references against its local metadata structure to determine whether it already has any of those data blocks stored (i.e., matching block addresses and generation numbers). If the destination storage server 2B determines that it already has a data block stored, it does not request or receive that data block again from the source storage server 2A. Hence, no data block is sent more than once from the source storage server 2A to the destination storage server 2B for purposes of data replication (e.g., for purposes of creating or updating a mirror)”)
Hatakeyama, Kang and Condict are analogous art because they are in the same field of endeavor of software development. Therefore, it would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to modify Hatakeyama’s teaching of generating data for downloading, in particular patch data for updating a game or software application and Kang’s teaching of installing software update agent for patching software program and its related data on a client device based on differential data between old and new versions of software data provided from remote software update management server with Condict’s teaching of using logical block addresses with generation numbers as data fingerprints for network duplication to incorporate being able to determine whether new data being presented in an update needs to be replicated compared to the data already presented in the present data blocks reducing double the work when transmitting the data.
Hatakeyama modified with Kang and Condict do not explicitly teach the download request including information regarding content that is not downloaded among contents included in the first software in accordance with a user-selected omission of one or more content elements among a plurality of content elements; the download request including information regarding content that is not downloaded among contents included in the second software and version information on the first software. However, Kuroda teaches the download request including information regarding content that is not downloaded among contents included in the first software in accordance with a user-selected omission of one or more content elements among a plurality of content elements (see Kuroda paragraph [0049], “When the user clicks a selected icon in the file list 22 and specifies a desired data file to be downloaded, the terminal device 3 inputs the specification of the desired data file (step S13) and transmits a download request to the server 10 (step S14). The download request includes the file number 17 and the download request command 18 corresponding to the desired data file specified by the user”), the download request including information regarding content that is not downloaded among contents included in the second software and version information on the first software (see Kuroda paragraph [0049], “When the user clicks a selected icon in the file list 22 and specifies a desired data file to be downloaded, the terminal device 3 inputs the specification of the desired data file (step S13) and transmits a download request to the server 10 (step S14). The download request includes the file number 17 and the download request command 18 corresponding to the desired data file specified by the user”)
Hatakeyama, Kang and Kuroda are analogous art because they are in the same field of endeavor of software development. Therefore, it would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to modify Hatakeyama’s teaching of generating data for downloading, in particular patch data for updating a game or software application and Kang’s teaching of installing software update agent for patching software program and its related data on a client device based on differential data between old and new versions of software data provided from remote software update management server with Kuroda’s teaching of download management system to incorporate being able to select which files to download and omit data from the download list in order to reduce the file size which will increase transmitting the downloads via the internet.
As per claim 10, Hatakeyama modified with Kang, Condict and Kuroda teaches wherein the second software is a newer version of the first software (see Hatakeyama paragraph [0112], “In the following, description will be made of a mechanism of managing compressed, signed, and encrypted patch files in block units. For example, when there are an old patch file of a version 1 and a new patch file of a version 2, and the information processing device 10 has already downloaded the patch file of the version 1, to download blocks including same data in the patch file of the version 2 means wasteful use of network resources and an increase in a processing load on the content server 12”).
As per claim 17, this is the non-transitory, computer readable storage medium claims to information processing apparatus claim 9. Therefore, it is rejected for the same reasons as above.
Claim(s) 11-13 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Hatakeyama (US-PGPUB-NO: 2015/0301823 A1) in further view of Kang (US-PGPUB-NO: 2021/0349710 A1) and Kuroda (US-PGPUB-NO: 2003/0212756 A1).
As per claim 11, Hatakeyama modified with Kang and Kuroda teaches an information processing apparatus that copies software recorded in a second recording device, to a first recording device, the information processing apparatus comprising: a processor (see Hatakeyama paragraph [0039], “The main system 60 includes a main CPU (Central Processing Unit), a memory as a main storage device and a memory controller, a GPU (Graphics Processing Unit), and the like”); and a non-transitory, computer readable storage medium containing instructions (see Hatakeyama paragraph [0010], “A still further mode of the present technology relates to a computer readable recording medium”); wherein software from which a part of content in full-version software has been eliminated in accordance with a user-selected omission of one or more content elements among a plurality of content elements included in the full-version software (see Kuroda paragraph [0049], “When the user clicks a selected icon in the file list 22 and specifies a desired data file to be downloaded, the terminal device 3 inputs the specification of the desired data file (step S13) and transmits a download request to the server 10 (step S14). The download request includes the file number 17 and the download request command 18 corresponding to the desired data file specified by the user”) and selection block arrangement information that associates block numbers of a plurality of data blocks in the full- version software with block numbers of data blocks in the software recorded in the second recording device, are recorded in the second recording device (see Hatakeyama paragraph [0136], “The game manufacturer may create difference information between the application software and the latest patch file, and make the difference information retained in the content server 12 in a downloadable manner. This is because there may be a user who has never downloaded a patch file when the patch file of the version 3 becomes downloadable, for example. Particularly in a case where the patch file has a function of correcting a bug of the application software, efficient download processing is realized by creating difference information with respect to the application software”), and wherein, when copying the software recorded in the second recording device to the first recording device, the instructions, when executed, cause the processor to perform operations comprising: generating present block arrangement information that associates a present data block among a plurality of data blocks in the full-version software with a corresponding block number, and associates a non-present data block with information indicating that the data block is not present, on a basis of the selection block arrangement information, wherein the present block arrangement information enables the first recording device to execute only the present data blocks, and non-present data blocks corresponding to omitted content elements are not copied and are marked as not present in the present block arrangement information; and generating the selection block arrangement information; incorporating the selection block arrangement information in the software; and recording the present block arrangement information and the selection block arrangement information into the first recording device (see Kang paragraph [0116], “In addition, as shown in FIG. 4 (d), the update agent 400 generates a fourth new version of a block (block #4) based on the old version of a block (all block−(new block #1+new block #2+new block #3)) obtained by subtracting the first new version of block (block #1), the second new version of a block (block #2) and the third new version of a block (block #3) from the sorted all the old versions of blocks and a fourth differential data block (delta #4) of the extracted difference related information. And by performing the step 4 of overwriting the generated fourth new version of a block to the old version of a block, the patch process of the corresponding partition is completed”).
As per claim 12, Hatakeyama modified with Kang and Kuroda teaches wherein when copying the software recorded in the first recording device to the second recording device, wherein: generating the selection block arrangement information is on a basis of the present block arrangement information (see Hatakeyama paragraph [0112], “Accordingly, the information processing device 10 reuses data already downloaded in the information processing device 10 without downloading the data from the content server 12. The game manufacturer creates difference information between patch files of different versions. The information processing device 10 obtains the difference information corresponding to the version information of the downloaded patch file from the content server 12, and downloads only data blocks not yet downloaded according to the difference information. Description in the following will be made of a method of creating difference information between different versions of a patch file by difference information generating software in the game manufacturer”).
As per claim 13, Hatakeyama modified with Kang and Kuroda teaches wherein the operations further comprise: processing the software on a basis of the present block arrangement information and the software recorded in the first recording device (see Hatakeyama paragraph [0112], “Accordingly, the information processing device 10 reuses data already downloaded in the information processing device 10 without downloading the data from the content server 12. The game manufacturer creates difference information between patch files of different versions. The information processing device 10 obtains the difference information corresponding to the version information of the downloaded patch file from the content server 12, and downloads only data blocks not yet downloaded according to the difference information. Description in the following will be made of a method of creating difference information between different versions of a patch file by difference information generating software in the game manufacturer”).
As per claim 18, this is the non-transitory, computer readable storage medium claims to information processing apparatus claim 11. Therefore, it is rejected for the same reasons as above.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Kang et al. (US-PGPUB-NO: 2021/0373882 A1) teaches generating difference between old and new versions of data for updating software.
Kurosawa et al. (US-PGPUB-NO: 2018/024671 A1) teaches in-vehicle control device for updating software.
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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 nonprovisional extension fee (37 CFR 1.17(a)) 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.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to LENIN PAULINO whose telephone number is (571)270-1734. The examiner can normally be reached Week 1: Mon-Thu 7:30am - 5:00pm Week 2: Mon-Thu 7:30am - 5:00pm and Fri 7:30am - 4:00pm EST.
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, Bradley Teets can be reached at (571) 272-3338. 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.
/LENIN PAULINO/Examiner, Art Unit 2197
/BRADLEY A TEETS/Supervisory Patent Examiner, Art Unit 2197