DETAILED ACTION
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 .
Response to Arguments
Applicant’s amendments to the claims and arguments concerning the 35 U.S.C. §112(f) interpretation have been fully considered and are persuasive. The interpretation is hereby withdrawn.
Applicant’s amendments to the claims and arguments concerning the 35 U.S.C. §101 rejections have been fully considered and are persuasive. The rejections are hereby withdrawn.
Applicant’s arguments with respect to the rejections of claims 1-2, 5-6, and 9-15 under 35 U.S.C. §103 have been fully considered but are not persuasive. In response to applicant's arguments against the references individually, one cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. See In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986). One of ordinary skill in the art, when presented with the teachings of Tanaka, McFerrin, and Kawamura, would find it obvious to apply Kawamura’s logical sum to the primary data requested to be synchronized from Tanaka and McFerrin, since all three are directed to reading and writing portions of data from storage databases.
Claims 21-24, 27, and 29-32 are allowed.
Claim 33 is objected to as being dependent upon rejected base claim 1.
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-2, 5-6, 9-10, 12-15, 25-26, and 28 are rejected under 35 U.S.C. 103 as being unpatentable over US 20210306361 A1, with an earliest priority date of 10/11/2018, hereinafter “Tanaka”, in view of US 20150261782 A1, filed 03/11/2015, hereinafter “McFerrin”, and further in view of US 20080281879 A1, with an earliest priority date of 05/11/2007, hereinafter “Kawamura”.
Regarding claim 1, Tanaka teaches a vehicle network system comprising: a management server including a server primary database and a server secondary database. See at least [0041] and figure 4, management server 10 comprising primary DB 121 and secondary databases 122-124.
and an in-vehicle device mounted on a vehicle. See at least [0021], [0023], [0028], and figures 3-4, subsystem 220 of vehicle 20. Subsystem 220 is an in-vehicle device.
wherein the in-vehicle device includes: a memory and a processor coupled with the memory and configured to serve as a primary data acquisition unit configured to acquire primary data from a control device of the vehicle or an expansion device. See at least [0036] and figure 4, unit 254, which collects primary log data from microcomputers 231 of control subsystem 230. See at least [0024]-[0025] and figure 3, wherein control subsystem 230 controls the vehicle 20, and microcomputer 231 is an ECU of the vehicle.
and an in-vehicle primary database configured to store the primary data acquired by the primary data acquisition unit. See at least [0038] and figure 4, wherein log DB 261 stores the primary log data acquired.
the processor is further configured to serve as a first application execution unit configured to calculate secondary data from the primary data stored in the in-vehicle primary database. See at least [0039] and figure 4, wherein anomaly determination unit 255 executes processing to calculate secondary detection data from the primary log data stored in the log DB 261.
the in-vehicle device further includes an in-vehicle secondary database configured to store the secondary data calculated by the first application execution unit. See at least [0039]-[0040] and figure 4, detection DB 262 which stores the secondary detection data calculated by anomaly determination unit 255.
the processor is further configured to serve as: a second application execution unit configured to utilize the secondary data stored in the in-vehicle secondary database. See at least [0040] and figure 4, log transmitter unit 256 which is configured to use and transmit the secondary detection data from detection DB 262.
the management server stores the primary data in the server primary database, and stores the secondary data in the server secondary database. See at least [0041] and figure 4, management server 10 comprising primary DB 121 and secondary databases 122-124.
Tanaka remains silent on execute a first application program, and execute a second application program. The limitations disclosed by Tanaka are performed by processing units of the in-vehicle device, rather than installed application programs. Tanaka additionally remains silent on and a data synchronization unit configured to upload at least a part of the primary data stored in the in-vehicle primary database and at least a part of the secondary data stored in the in-vehicle secondary database to the management server; the first application execution unit is configured to request synchronization of a first part of the primary data stored in the in-vehicle primary database with a server primary database of a management server; the second application execution unit is configured to request synchronization of a second part of the primary data stored in the in-vehicle primary database with the server primary database; and the data synchronization unit is further configured to: obtain a logical sum of the first part and the second part according to a primary data synchronization request from the first application execution unit and the second application execution unit; and upload the logical sum to the server primary database; and the first part is used by a first service server configured to provide a first service and the second part is used by a second service server configured to provide a second service.
McFerrin teaches execute a first application program, and execute a second application program. See at least [0028]-[0029], [0032], [0078], and figures 1 and 6, wherein the client device 120(3) contains a first application program App1P and App2P.
and a data synchronization unit configured to upload at least a part of the primary data stored in the in-vehicle primary database and at least a part of the secondary data stored in the in-vehicle secondary database to the management server; See at least [0113]-[0114], [0118], [0126], and figure 9, wherein a client device requires multiple synchronization requests at the same time. The client device sends a single synchronization request which represents all the target data for synchronization. Synchronization requests for one server database can be from multiple different applications. See at least [0123], wherein an application only uploads an identified portion of the locally stored data. See at least [0077]-[0078] and [0100], wherein the first and second applications can have access to each of the primary and secondary databases of the server.
the first application execution unit is configured to request synchronization of a first part of the primary data stored in the in-vehicle primary database with a server primary database of a management server, the second application execution unit is configured to request synchronization of a second part of the primary data stored in the in-vehicle primary database with the server primary database. See at least [0123]-[0124], [0128]-[0129] and figures 10-11, wherein App1P modifies a portion of the data stored in the device’s local data copy 1022 of server database 170(b). Based on the requested synchronization being enabled for server database 170(b), the modified portion 1026 of the data is uploaded so the server and local data match. See at least [0048], [0055], [0079], and figure 2, wherein each of the sandboxes associated with the first and second applications has its own sync interface 236 for requesting synchronization services 710. See at least [0077]-[0078] and [0100], wherein the first and second applications can have access to each of the primary and secondary databases of the server.
and the data synchronization unit is further configured to: obtain a primary data synchronization request from the first application execution unit and the second application execution unit. See at least [0113]-[0114], [0118], [0126], and figure 9, wherein a client device requires multiple synchronization requests at the same time. The client device sends a single synchronization request which represents all the target data for synchronization. Synchronization requests for one server database can be from multiple different applications.
and upload the logical sum to the server primary database. See at least [0048], [0055], [0079], and figure 2, wherein each of the sandboxes associated with the first and second applications has its own sync interface 236 for requesting synchronization services 710. See at least [0131], wherein synchronization services are provided to frontend client devices. See at least [0123]-[0124], [0128]-[0129] and figures 10-11, wherein App1P modifies a portion of the data stored in the device’s local data copy 1022 of server database 170(b). Based on the requested synchronization being enabled for server database 170(b), the modified portion 1026 of the data is uploaded so the server and local data match.
and the first part is used by a first service server configured to provide a first service and the second part is used by a second service server configured to provide a second service. See at least [0032]-[0034], [0048]-[0050], and figures 1-2, wherein the management server 140 contains cloud-based services 166. A first cloud-based service is associated, via interface 162(1), to application sandbox 160(1). A second cloud-based service is associated, via interface 162(2), to application sandbox 160(2). See at least [0078] and figure 6, wherein sandboxes 160(1) and 160(2) utilize data stored in primary database 610 and secondary database 620 of the server 140. Bothe the first and second sandboxes utilize data stored in primary database 610.
One having ordinary skill in the art, before the effective filing date of the claimed invention, would have found it obvious to modify Tanaka with McFerrin’s requested synchronization service provided to the first and second application of the client device, which performs synchronization for the primary and secondary databases of the server when applications upload data changes to the primary or secondary data. It would have been obvious to modify because doing so enables client devices to enjoy a wide range of applications providing different services, by providing flexibility in the applications’ data storage and sync features, as recognized by McFerrin (see at least [0002]-[0008]).
Kawamura teaches obtain a logical sum of the first part and the second part. See at least [0188]-[0189] and figure 9, wherein a logical sum BM10 of two portions, Section3 and Section4, of the primary database is obtained. the logical sum BM10 is used to updated the primary volume.
One having ordinary skill in the art, before the effective filing date of the claimed invention, would have found it obvious to further modify Tanaka with Kawamura’s technique of obtaining a logical sum of the first part and the second part of the primary database. It would have been obvious to modify because doing so enables storage controllers to efficiently maintain large amounts of data in a volume, as recognized by Kawamura (see at least [0005]-[0011]).
Regarding claim 2, Tanaka, McFerrin, and Kawamura in combination disclose all of the limitations of claim 1 as discussed above, and Tanaka remains silent on wherein: the processor is further configured to serve as a utilization status capture unit configured to capture a utilization status of the secondary data stored in the in-vehicle secondary database.
McFerrin teaches wherein: the processor is further configured to serve as a utilization status capture unit configured to capture a utilization status of the secondary data stored in the in-vehicle secondary database. See at least [0134] and figure 11, wherein the client device 120 has a local badging service. This service provides a badge to data copy 1022(2). See at least [0130], wherein badges represent the synchronization status of data copy 1022(2). See at least [0129], figure 7, and figure 11, wherein data copy 1022(2) is a locally stored copy of the data stored in the server’s second database 170(b).
One having ordinary skill in the art, before the effective filing date of the claimed invention, would have found it obvious to modify Tanaka with McFerrin’s utilization status capture unit configured to capture a utilization status of the secondary data stored in the in-vehicle secondary database. It would have been obvious to modify because doing so enables client devices to enjoy a wide range of applications providing different services, by providing flexibility in the applications’ data storage and sync features, as recognized by McFerrin (see at least [0002]-[0008]).
Regarding claim 5, Tanaka, McFerrin, and Kawamura in combination teach all of the limitations of claim 1 as discussed above, and Tanaka additionally teaches wherein the in-vehicle primary database stores a type of the primary data and an acquisition time of the primary data in association with the primary data. See at least [0036]-[0038], wherein the primary log DB 261 of the vehicle stores timestamps and identification information associated with the log data.
upload information indicating the type and the acquisition time art in association with the first application program and also the type and the acquisition time in association with the second application program. See at least [0036]-[0038], wherein the primary log DB 261 of the vehicle stores timestamps, identification information, and associated applications corresponding to the log data. see at least [0040], wherein the data stored in secondary detection DB 262 of the vehicle is uploaded to the management server 10.
Tanaka remains silent on the data synchronization unit is configured to upload, to the server primary database, primary data synchronization request information corresponding to the first part and the second part.
McFerrin teaches the data synchronization unit is configured to upload, to the server primary database, primary data synchronization request information corresponding to the first part and the second part. See at least [0113]-[0114], [0118], [0126], and figure 9, wherein a client device requires multiple synchronization requests at the same time. The client device sends a single synchronization request which represents all the target data for synchronization. Synchronization requests for one server database can be from multiple different applications. See at least [0123], wherein an application only uploads an identified portion of the locally stored data. See at least [0077]-[0078] and [0100], wherein the first and second applications can have access to each of the primary and secondary databases of the server.
One having ordinary skill in the art, before the effective filing date of the claimed invention, would have found it obvious to modify Tanaka with McFerrin’s data synchronization unit configured to upload, to the server primary database, primary data synchronization request information corresponding to identified parts of the locally stored data. It would have been obvious to modify because doing so enables client devices to enjoy a wide range of applications providing different services, by providing flexibility in the applications’ data storage and sync features, as recognized by McFerrin (see at least [0002]-[0008]).
Regarding claim 6, Tanaka, McFerrin, and Kawamura in combination teach all of the limitations of claim 1 as discussed above, and Tanaka additionally teaches the first service server is configured to provide a first service, the second service server is configured to provide a second service. See at least [0016] and figure 4, wherein one or more service providing servers 30b are configured to provide services to users of the vehicle.
Tanaka remains silent on the first and second service servers providing services based on the primary data stored in the server primary database or the secondary data stored in the server secondary database, the first application program is related to the first service, and the second application program is related to the first service.
McFerrin teaches the first and second service servers providing services based on the primary data stored in the server primary database or the secondary data stored in the server secondary database. See at least [0032]-[0034], [0048]-[0050], and figures 1-2, wherein the management server 140 contains cloud-based services 166. A first cloud-based service is associated, via interface 162(1), to application sandbox 160(1). A second cloud-based service is associated, via interface 162(2), to application sandbox 160(2). See at least [0078] and figure 6, wherein sandboxes 160(1) and 160(2) utilize data stored in primary database 610 and secondary database 620 of the server 140.
the first application program is related to the first service, and the second application program is related to the first service. See at least [0028]-[0029], [0032], [0034], [0078], and figures 1 and 6, wherein the client device 120(3) contains a first application program App1P and App2P, which are associated with sandboxes 160(1) and 160(2), respectively. As discussed above, sandboxes 160(1) and 160(2) are each associated with services provided by interfaces 162(1) and 162(2), respectively.
One having ordinary skill in the art, before the effective filing date of the claimed invention, would have found it obvious to modify Tanaka with McFerrin’s first and second service servers providing services based on the primary data stored in the server primary database or the secondary data stored in the server secondary database, and first and second application program related to the first and second service, respectively. It would have been obvious to modify because doing so enables client devices to enjoy a wide range of applications providing different services, by providing flexibility in the applications’ data storage and sync features, as recognized by McFerrin (see at least [0002]-[0008]).
Regarding claim 9, Tanaka, McFerrin, and Kawamura in combination teach all of the limitations of claim 6 as discussed above, and Tanaka additionally teaches wherein the data synchronization unit is configured to upload at least a part of the secondary data stored in the in-vehicle secondary database. See at least [0040], wherein the data stored in secondary detection DB 262 of the vehicle is uploaded to the management server 10.
Tanaka remains silent on uploading to the server secondary database, according to a secondary data synchronization request from the first application execution unit or the second application execution unit. As discussed above, Tanaka discloses uploading data from the in-vehicle databases directly to the management server, and the server decides which database to store the received in.
McFerrin teaches uploading to the server secondary database, according to a secondary data synchronization request from the first application execution unit or the second application execution unit. See at least [0123]-[0124], [0128]-[0129] and figures 10-11, wherein App1P modifies a portion of the data stored in the device’s local data copy 1022 of secondary server database 170(b). Based on the requested synchronization being enabled for secondary server database 170(b), the modified portion 1026 of the data is uploaded so the server and local data match. See at least [0048], [0055], [0079], and figure 2, wherein each of the sandboxes associated with the first and second applications has its own sync interface 236 for requesting synchronization services 710. See at least [0077]-[0078] and [0100], wherein the first and second applications can have access to each of the primary and secondary databases of the server.
One having ordinary skill in the art, before the effective filing date of the claimed invention, would have found it obvious to modify Tanaka with McFerrin’s technique of uploading to a server secondary database based on a secondary data synchronization request from application execution units. It would have been obvious to modify because doing so enables client devices to enjoy a wide range of applications providing different services, by providing flexibility in the applications’ data storage and sync features, as recognized by McFerrin (see at least [0002]-[0008]).
Regarding claim 10, Tanaka, McFerrin, and Kawamura in combination teach all of the limitations of claim 6 as discussed above, and Tanaka additionally teaches wherein the in-vehicle primary database stores a type of the primary data and an acquisition time of the primary data in association with the primary data. See at least [0036]-[0038], wherein the primary log DB 261 of the vehicle stores timestamps and identification information associated with the log data.
upload information indicating the type and the acquisition time art in association with the first application program and also the type and the acquisition time in association with the second application program. See at least [0036]-[0038], wherein the primary log DB 261 of the vehicle stores timestamps, identification information, and associated applications corresponding to the log data. see at least [0040], wherein the data stored in secondary detection DB 262 of the vehicle is uploaded to the management server 10.
Tanaka remains silent on the data synchronization unit is configured to upload, to the server primary database, primary data synchronization request information for the first part and the second part.
McFerrin teaches the data synchronization unit is configured to upload, to the server primary database, primary data synchronization request information for the first part and the second part. See at least [0113]-[0114], [0118], [0126], and figure 9, wherein a client device requires multiple synchronization requests at the same time. The client device sends a single synchronization request which represents all the target data for synchronization. Synchronization requests for one server database can be from multiple different applications. See at least [0123], wherein an application only uploads an identified portion of the locally stored data. See at least [0077]-[0078] and [0100], wherein the first and second applications can have access to each of the primary and secondary databases of the server.
One having ordinary skill in the art, before the effective filing date of the claimed invention, would have found it obvious to modify Tanaka with McFerrin’s data synchronization unit configured to upload, to the server primary database, primary data synchronization request information corresponding to identified parts of the locally stored data. It would have been obvious to modify because doing so enables client devices to enjoy a wide range of applications providing different services, by providing flexibility in the applications’ data storage and sync features, as recognized by McFerrin (see at least [0002]-[0008]).
Regarding claim 12, Tanaka, McFerrin, and Kawamura in combination teach all of the limitations of claim 6 as discussed above, and Tanaka additionally teaches
wherein the utilization status capture unit is configured to acquire secondary data synchronization request information indicating synchronization target data in the secondary data stored in the in-vehicle secondary database. See at least [0123]-[0125], [0130]-[0134], wherein badging service 1100 and sync service 710 are provided in the client devices, and the sync service 710 acquires synchronization target data 1022(2) representing a data change sync request 1026(1).
synchronization of the synchronization target data is requested by each of the first application execution unit and the second application execution unit, the data synchronization unit uploads the secondary data synchronization request information acquired by the utilization status capture unit to the server secondary database. See at least [0113]-[0114], [0118], [0126], and figure 9, wherein a client device requires multiple synchronization requests at the same time. The client device sends a single synchronization request which represents all the target data for synchronization. Synchronization requests for one of any of the server databases can be from multiple different applications. See at least [0048], [0055], [0079], and figure 2, wherein each of the sandboxes associated with the first and second applications has its own sync interface 236 for requesting synchronization services 710. See at least [0123]-[0124], [0128]-[0129] and figures 10-11, wherein App1P modifies a portion of the data stored in the device’s local data copy 1022 of server database 170(b). Based on the requested synchronization being enabled for server database 170(b), the modified portion 1026 of the data is uploaded so the server and local data match.
and the management server configured to provide notification to the first service server when the secondary data used by the first service server is stored in the server secondary database and provide notification to the second service server when the secondary data used by the second service server is stored in the server secondary database, based on the secondary data synchronization request information uploaded to the server secondary database. See at least [0079], [0084]-[0086], [0100], and figures 7-8, wherein, upon detecting that changes have been uploaded to the secondary server database 170(b), a notification unit 730(b) generates a notification, which is provided by push service 720 to all cloud-based applications which utilize the data stored in secondary server database 170(b). See at least [0099], [0118], and [0129], wherein the detected changes to the server database are the result of an application uploading changes to the associated server database during synchronization.
One having ordinary skill in the art, before the effective filing date of the claimed invention, would have found it obvious to modify Tanaka with McFerrin’s utilization status capture unit and data synchronization unit, which acquire and upload secondary data synchronization request information, and McFerrin’s notification unit which provides notifications based on the secondary data synchronization request information. It would have been obvious to modify because doing so enables client devices to enjoy a wide range of applications providing different services, by providing flexibility in the applications’ data storage and sync features, as recognized by McFerrin (see at least [0002]-[0008]).
Regarding claim 13, Tanaka, McFerrin, and Kawamura in combination disclose all of the limitations of claim 6 as discussed above, and Tanaka remains silent on wherein the management server is configured to collect a utilization record of the secondary data stored in the server secondary database.
McFerrin teaches wherein the management server is configured to collect a utilization See at least [0112]-[0113], figures 3A-C, figure 7, and figure 9, wherein the server 140 includes a store service 708 which includes notification generators 730. The notification generators collect a record indicating the timestamp of when an application last utilized the data 910(b) stored in secondary database 170(b) of the server.
One having ordinary skill in the art, before the effective filing date of the claimed invention, would have found it obvious to modify Tanaka with McFerrin’s collection unit configured to collect a utilization record of the secondary data stored in the server secondary database. It would have been obvious to modify because doing so enables client devices to enjoy a wide range of applications providing different services, by providing flexibility in the applications’ data storage and sync features, as recognized by McFerrin (see at least [0002]-[0008]).
Regarding claim 14, Tanaka teaches a vehicle network system comprising: a management server including a server primary database and a server secondary database. See at least [0041] and figure 4, management server 10 comprising primary DB 121 and secondary databases 122-124.
a first service server configured to provide a first service, a second service server configured to provide a second service. See at least [0016] and figure 4, wherein one or more service providing servers 30b are configured to provide services to users of the vehicle.
and an in-vehicle device mounted on a vehicle. See at least [0021], [0023], [0028], and figures 3-4, subsystem 220 of vehicle 20. Subsystem 220 is an in-vehicle device.
wherein the in-vehicle device includes a memory and a processor coupled with the memory, the processor is configured to serve as: a primary data acquisition unit configured to acquire the primary data from a control device of the vehicle or an expansion device. See at least [0036] and figure 4, unit 254, which collects primary log data from microcomputers 231 of control subsystem 230. See at least [0024]-[0025] and figure 3, wherein control subsystem 230 controls the vehicle 20, and microcomputer 231 is an ECU of the vehicle.
an in-vehicle primary database configured to store the primary data acquired by the primary data acquisition unit. See at least [0038] and figure 4, wherein log DB 261 stores the primary log data acquired.
a first application execution unit configured to use primary data stored in the in-vehicle primary database. See at least [0039] and figure 4, wherein anomaly determination unit 255 executes processing to calculate secondary detection data from the primary log data stored in the log DB 261.
an in-vehicle secondary database configured to store the secondary data calculated by the first application execution unit. See at least [0039]-[0040] and figure 4, detection DB 262 which stores the secondary detection data calculated by anomaly determination unit 255.
and a second application execution unit configured to use the primary data stored in the in-vehicle primary database. See at least [0040] and figure 4, log transmitter unit 256 which is configured to use and transmit the secondary detection data from detection DB 262 or the primary log data from primary log DB 261.
Tanaka remains silent on the first and second service servers providing services based on the primary data stored in the server primary database or the secondary data stored in the server secondary database, execute a first application program related to the first service and request synchronization of a first part of the primary data with the server primary database, and execute a second application program related to the second service and request synchronization of a second part of the primary data with the server primary database, and a data synchronization unit configured to obtain a logical sum of the first part and the second part according to a primary data synchronization request from the first application execution unit and the second application execution unit, and upload the logical sum to the server primary database, the first service server is configured to use the first part stored in the server primary database, and the second service server is configured to use the second part stored in the server primary database.
McFerrin teaches the first and second service servers providing services based on the primary data stored in the server primary database or the secondary data stored in the server secondary database. See at least [0032]-[0034], [0048]-[0050], and figures 1-2, wherein the management server 140 contains cloud-based services 166. A first cloud-based service is associated, via interface 162(1), to application sandbox 160(1). A second cloud-based service is associated, via interface 162(2), to application sandbox 160(2). See at least [0078] and figure 6, wherein sandboxes 160(1) and 160(2) utilize data stored in primary database 610 and secondary database 620 of the server 140.
execute a first application program related to the first service and request synchronization of a first part of the primary data with the server primary database. See at least [0028]-[0029], [0032], [0034], [0078], and figures 1 and 6, wherein the client device 120(3) contains a first application program App1P and App2P, which are associated with sandboxes 160(1) and 160(2), respectively. As discussed above, sandboxes 160(1) and 160(2) are each associated with services provided by interfaces 162(1) and 162(2), respectively. See at least [0123]-[0124], [0128]-[0129] and figures 10-11, wherein App1P modifies a portion of the data stored in the device’s local data copy 1022 of server database 170(b). Based on the requested synchronization being enabled for server database 170(b), the modified portion 1026 of the data is uploaded so the server and local data match. See at least [0048], [0055], [0079], and figure 2, wherein each of the sandboxes associated with the first and second applications has its own sync interface 236 for requesting synchronization services 710. See at least [0077]-[0078] and [0100], wherein the first and second applications can have access to each of the primary and secondary databases of the server.
execute a second application program related to the second service and request synchronization of a second part of the primary data with the server primary database. See at least [0028]-[0029], [0032], [0034], [0078], and figures 1 and 6, wherein the client device 120(3) contains a first application program App1P and App2P, which are associated with sandboxes 160(1) and 160(2), respectively. As discussed above, sandboxes 160(1) and 160(2) are each associated with services provided by interfaces 162(1) and 162(2), respectively. See at least [0123]-[0124], [0128]-[0129] and figures 10-11, wherein App1P modifies a portion of the data stored in the device’s local data copy 1022 of server database 170(b). Based on the requested synchronization being enabled for server database 170(b), the modified portion 1026 of the data is uploaded so the server and local data match. See at least [0048], [0055], [0079], and figure 2, wherein each of the sandboxes associated with the first and second applications has its own sync interface 236 for requesting synchronization services 710. See at least [0077]-[0078] and [0100], wherein the first and second applications can have access to each of the primary and secondary databases of the server.
and a data synchronization unit configured to obtain a primary data synchronization request from the first application execution unit and the second application execution unit. See at least [0113]-[0114], [0118], [0126], and figure 9, wherein a client device requires multiple synchronization requests at the same time. The client device sends a single synchronization request which represents all the target data for synchronization. Synchronization requests for one server database can be from multiple different applications.
and upload the logical sum to the server primary database. See at least [0048], [0055], [0079], and figure 2, wherein each of the sandboxes associated with the first and second applications has its own sync interface 236 for requesting synchronization services 710. See at least [0131], wherein synchronization services are provided to frontend client devices. See at least [0123]-[0124], [0128]-[0129] and figures 10-11, wherein App1P modifies a portion of the data stored in the device’s local data copy 1022 of server database 170(b). Based on the requested synchronization being enabled for server database 170(b), the modified portion 1026 of the data is uploaded so the server and local data match.
the first service server is configured to use the first part stored in the server primary database, and the second service server is configured to use the second part stored in the server primary database. See at least [0032]-[0034], [0048]-[0050], and figures 1-2, wherein the management server 140 contains cloud-based services 166. A first cloud-based service is associated, via interface 162(1), to application sandbox 160(1). A second cloud-based service is associated, via interface 162(2), to application sandbox 160(2). See at least [0078] and figure 6, wherein sandboxes 160(1) and 160(2) utilize data stored in primary database 610 and secondary database 620 of the server 140. Bothe the first and second sandboxes utilize data stored in primary database 610.
One having ordinary skill in the art, before the effective filing date of the claimed invention, would have found it obvious to modify Tanaka with McFerrin’s first and second service servers providing services based on the primary data stored in the server primary database or the secondary data stored in the server secondary database, and first and second application program related to the first and second service, respectively. It would have been obvious to modify because doing so enables client devices to enjoy a wide range of applications providing different services, by providing flexibility in the applications’ data storage and sync features, as recognized by McFerrin (see at least [0002]-[0008]).
Kawamura teaches obtain a logical sum of the first part and the second part. See at least [0188]-[0189] and figure 9, wherein a logical sum BM10 of two portions, Section3 and Section4, of the primary database is obtained. the logical sum BM10 is used to updated the primary volume.
One having ordinary skill in the art, before the effective filing date of the claimed invention, would have found it obvious to further modify Tanaka with Kawamura’s technique of obtaining a logical sum of the first part and the second part of the primary database. It would have been obvious to modify because doing so enables storage controllers to efficiently maintain large amounts of data in a volume, as recognized by Kawamura (see at least [0005]-[0011]).
Regarding claim 15, Tanaka teaches a data synchronization method. See at least figure 4.
comprising: acquiring primary data from a control device of a vehicle or an expansion device. See at least [0036] and figure 4, unit 254, which collects primary log data from microcomputers 231 of control subsystem 230. See at least [0024]-[0025] and figure 3, wherein control subsystem 230 controls the vehicle 20, and microcomputer 231 is an ECU of the vehicle.
storing the acquired primary data in an in-vehicle primary database. See at least [0038] and figure 4, wherein log DB 261 stores the primary log data acquired.
calculate secondary data from the primary data stored in the in-vehicle primary database. See at least [0039] and figure 4, wherein anomaly determination unit 255 executes processing to calculate secondary detection data from the primary log data stored in the log DB 261.
storing the calculated secondary data in a secondary database. See at least [0039]-[0040] and figure 4, detection DB 262 which stores the secondary detection data calculated by anomaly determination unit 255.
utilize the secondary data stored in the secondary database.. See at least [0040] and figure 4, log transmitter unit 256 which is configured to use and transmit the secondary detection data from detection DB 262.
wherein: the management server stores the primary data in a server primary database of the management server, and stores the secondary data in a server secondary database of the management server. See at least [0041] and figure 4, management server 10 comprising primary DB 121 and secondary databases 122-124.
Tanaka remains silent on executing a first application program, and executing a second application program. The limitations disclosed by Tanaka are performed by processing units of the in-vehicle device, rather than installed application programs. Tanaka additionally remains silent on uploading at least a part of the primary data stored in the primary database and at least a part of the secondary data stored in the secondary database to a management server, the method further comprises: requesting synchronization of a first part of the primary data stored in the in-vehicle primary database with a server primary database of the management server; requesting synchronization of a second part of the primary data stored in the in-vehicle primary database with the server primary database; obtaining a logical sum of the first part and the second part according to a primary data synchronization request; and uploading the logical sum to the server primary database, and the first part is used by a first service server configured to provide a first service and the second part is used by a second service server configured to provide a second service.
McFerrin teaches execute a first application program, and execute a second application program. See at least [0028]-[0029], [0032], [0078], and figures 1 and 6, wherein the client device 120(3) contains a first application program App1P and App2P.
uploading at least a part of the primary data stored in the primary database and at least a part of the secondary data stored in the secondary database to a management server. See at least [0113]-[0114], [0118], [0126], and figure 9, wherein a client device requires multiple synchronization requests at the same time. The client device sends a single synchronization request which represents all the target data for synchronization. Synchronization requests for one server database can be from multiple different applications. See at least [0123], wherein an application only uploads an identified portion of the locally stored data. See at least [0077]-[0078] and [0100], wherein the first and second applications can have access to each of the primary and secondary databases of the server.
the method further comprises: requesting synchronization of a first part of the primary data stored in the in-vehicle primary database with a server primary database of the management server; requesting synchronization of a second part of the primary data stored in the in-vehicle primary database with the server primary database. See at least [0123]-[0124], [0128]-[0129] and figures 10-11, wherein App1P modifies a portion of the data stored in the device’s local data copy 1022 of server database 170(b). Based on the requested synchronization being enabled for server database 170(b), the modified portion 1026 of the data is uploaded so the server and local data match. See at least [0048], [0055], [0079], and figure 2, wherein each of the sandboxes associated with the first and second applications has its own sync interface 236 for requesting synchronization services 710. See at least [0077]-[0078] and [0100], wherein the first and second applications can have access to each of the primary and secondary databases of the server.
obtaining a primary data synchronization request See at least [0113]-[0114], [0118], [0126], and figure 9, wherein a client device requires multiple synchronization requests at the same time. The client device sends a single synchronization request which represents all the target data for synchronization. Synchronization requests for one server database can be from multiple different applications.
and uploading the logical sum to the server primary database. See at least [0048], [0055], [0079], and figure 2, wherein each of the sandboxes associated with the first and second applications has its own sync interface 236 for requesting synchronization services 710. See at least [0131], wherein synchronization services are provided to frontend client devices. See at least [0123]-[0124], [0128]-[0129] and figures 10-11, wherein App1P modifies a portion of the data stored in the device’s local data copy 1022 of server database 170(b). Based on the requested synchronization being enabled for server database 170(b), the modified portion 1026 of the data is uploaded so the server and local data match.
and the first part is used by a first service server configured to provide a first service and the second part is used by a second service server configured to provide a second service. See at least [0032]-[0034], [0048]-[0050], and figures 1-2, wherein the management server 140 contains cloud-based services 166. A first cloud-based service is associated, via interface 162(1), to application sandbox 160(1). A second cloud-based service is associated, via interface 162(2), to application sandbox 160(2). See at least [0078] and figure 6, wherein sandboxes 160(1) and 160(2) utilize data stored in primary database 610 and secondary database 620 of the server 140. Bothe the first and second sandboxes utilize data stored in primary database 610.
One having ordinary skill in the art, before the effective filing date of the claimed invention, would have found it obvious to modify Tanaka with McFerrin’s requested synchronization service provided to the first and second application of the client device, which performs synchronization for the primary and secondary databases of the server when applications upload data changes to the primary or secondary data. It would have been obvious to modify because doing so enables client devices to enjoy a wide range of applications providing different services, by providing flexibility in the applications’ data storage and sync features, as recognized by McFerrin (see at least [0002]-[0008]).
Kawamura teaches obtaining a logical sum of the first part and the second part. See at least [0188]-[0189] and figure 9, wherein a logical sum BM10 of two portions, Section3 and Section4, of the primary database is obtained. the logical sum BM10 is used to updated the primary volume.
One having ordinary skill in the art, before the effective filing date of the claimed invention, would have found it obvious to further modify Tanaka with Kawamura’s technique of obtaining a logical sum of the first part and the second part of the primary database. It would have been obvious to modify because doing so enables storage controllers to efficiently maintain large amounts of data in a volume, as recognized by Kawamura (see at least [0005]-[0011]).
Regarding claim 25, Tanaka teaches A non-transitory computer-readable storage medium storing a program. See at least [0019]
configured to: acquire primary data from a control device of a vehicle or an expansion device. See at least [0036] and figure 4, unit 254, which collects primary log data from microcomputers 231 of control subsystem 230. See at least [0024]-[0025] and figure 3, wherein control subsystem 230 controls the vehicle 20, and microcomputer 231 is an ECU of the vehicle.
store the acquired primary data in an in-vehicle primary database. See at least [0038] and figure 4, wherein log DB 261 stores the primary log data acquired.
calculate secondary data from the primary data stored in the in-vehicle primary database. See at least [0039] and figure 4, wherein anomaly determination unit 255 executes processing to calculate secondary detection data from the primary log data stored in the log DB 261.
store the calculated secondary data in a secondary database. See at least [0039]-[0040] and figure 4, detection DB 262 which stores the secondary detection data calculated by anomaly determination unit 255.
utilize the secondary data stored in the secondary database.. See at least [0040] and figure 4, log transmitter unit 256 which is configured to use and transmit the secondary detection data from detection DB 262.
store the primary data in a server primary database of the management server, store the secondary data in a server secondary database of the management server. See at least [0041] and figure 4, management server 10 comprising primary DB 121 and secondary databases 122-124.
Tanaka remains silent on execute a first application program, and execute a second application program. The limitations disclosed by Tanaka are performed by processing units of the in-vehicle device, rather than installed application programs. Tanaka additionally remains silent on upload at least a part of the primary data stored in the primary database and at least a part of the secondary data stored in the secondary database to a management server, request synchronization of a first part of the primary data stored in the in-vehicle primary database with a server primary database of the management server; request synchronization of a second part of the primary data stored in the in-vehicle primary database with the server primary database; obtain a logical sum of the first part and the second part according to a primary data synchronization request; and upload the logical sum to the server primary database, and the first part is used by a first service server configured to provide a first service and the second part is used by a second service server configured to provide a second service.
McFerrin teaches execute a first application program, and execute a second application program. See at least [0028]-[0029], [0032], [0078], and figures 1 and 6, wherein the client device 120(3) contains a first application program App1P and App2P.
upload at least a part of the primary data stored in the primary database and at least a part of the secondary data stored in the secondary database to a management server. See at least [0113]-[0114], [0118], [0126], and figure 9, wherein a client device requires multiple synchronization requests at the same time. The client device sends a single synchronization request which represents all the target data for synchronization. Synchronization requests for one server database can be from multiple different applications. See at least [0123], wherein an application only uploads an identified portion of the locally stored data. See at least [0077]-[0078] and [0100], wherein the first and second applications can have access to each of the primary and secondary databases of the server.
request synchronization of a first part of the primary data stored in the in-vehicle primary database with a server primary database of the management server; request synchronization of a second part of the primary data stored in the in-vehicle primary database with the server primary database. See at least [0123]-[0124], [0128]-[0129] and figures 10-11, wherein App1P modifies a portion of the data stored in the device’s local data copy 1022 of server database 170(b). Based on the requested synchronization being enabled for server database 170(b), the modified portion 1026 of the data is uploaded so the server and local data match. See at least [0048], [0055], [0079], and figure 2, wherein each of the sandboxes associated with the first and second applications has its own sync interface 236 for requesting synchronization services 710. See at least [0077]-[0078] and [0100], wherein the first and second applications can have access to each of the primary and secondary databases of the server.
obtain a primary data synchronization request See at least [0113]-[0114], [0118], [0126], and figure 9, wherein a client device requires multiple synchronization requests at the same time. The client device sends a single synchronization request which represents all the target data for synchronization. Synchronization requests for one server database can be from multiple different applications.
and upload the logical sum to the server primary database. See at least [0048], [0055], [0079], and figure 2, wherein each of the sandboxes associated with the first and second applications has its own sync interface 236 for requesting synchronization services 710. See at least [0131], wherein synchronization services are provided to frontend client devices. See at least [0123]-[0124], [0128]-[0129] and figures 10-11, wherein App1P modifies a portion of the data stored in the device’s local data copy 1022 of server database 170(b). Based on the requested synchronization being enabled for server database 170(b), the modified portion 1026 of the data is uploaded so the server and local data match.
and the first part is used by a first service server configured to provide a first service and the second part is used by a second service server configured to provide a second service. See at least [0032]-[0034], [0048]-[0050], and figures 1-2, wherein the management server 140 contains cloud-based services 166. A first cloud-based service is associated, via interface 162(1), to application sandbox 160(1). A second cloud-based service is associated, via interface 162(2), to application sandbox 160(2). See at least [0078] and figure 6, wherein sandboxes 160(1) and 160(2) utilize data stored in primary database 610 and secondary database 620 of the server 140. Bothe the first and second sandboxes utilize data stored in primary database 610.
One having ordinary skill in the art, before the effective filing date of the claimed invention, would have found it obvious to modify Tanaka with McFerrin’s requested synchronization service provided to the first and second application of the client device, which performs synchronization for the primary and secondary databases of the server when applications upload data changes to the primary or secondary data. It would have been obvious to modify because doing so enables client devices to enjoy a wide range of applications providing different services, by providing flexibility in the applications’ data storage and sync features, as recognized by McFerrin (see at least [0002]-[0008]).
Kawamura teaches obtain a logical sum of the first part and the second part. See at least [0188]-[0189] and figure 9, wherein a logical sum BM10 of two portions, Section3 and Section4, of the primary database is obtained. the logical sum BM10 is used to updated the primary volume.
One having ordinary skill in the art, before the effective filing date of the claimed invention, would have found it obvious to further modify Tanaka with Kawamura’s technique of obtaining a logical sum of the first part and the second part of the primary database. It would have been obvious to modify because doing so enables storage controllers to efficiently maintain large amounts of data in a volume, as recognized by Kawamura (see at least [0005]-[0011]).
Regarding claim 26, Tanaka, McFerrin, and Kawamura in combination teach all of the limitations of claim 25 as discussed above, and Tanaka additionally teaches wherein: the program is further configured to provide the first service and to provide a second service. See at least [0016] and figure 4, wherein one or more service providing servers 30b are configured to provide services to users of the vehicle.
Tanaka remains silent on the first and second service servers providing services based on the primary data stored in the server primary database of the management server or the secondary data stored in the server secondary database of the management server, the first application program is related to the first service, and the second application program is related to the first service.
McFerrin teaches the first and second service servers providing services based on the primary data stored in the server primary database of the management server or the secondary data stored in the server secondary database of the management server. See at least [0032]-[0034], [0048]-[0050], and figures 1-2, wherein the management server 140 contains cloud-based services 166. A first cloud-based service is associated, via interface 162(1), to application sandbox 160(1). A second cloud-based service is associated, via interface 162(2), to application sandbox 160(2). See at least [0078] and figure 6, wherein sandboxes 160(1) and 160(2) utilize data stored in primary database 610 and secondary database 620 of the server 140.
the first application program is related to the first service, and the second application program is related to the first service. See at least [0028]-[0029], [0032], [0034], [0078], and figures 1 and 6, wherein the client device 120(3) contains a first application program App1P and App2P, which are associated with sandboxes 160(1) and 160(2), respectively. As discussed above, sandboxes 160(1) and 160(2) are each associated with services provided by interfaces 162(1) and 162(2), respectively.
One having ordinary skill in the art, before the effective filing date of the claimed invention, would have found it obvious to modify Tanaka with McFerrin’s first and second service servers providing services based on the primary data stored in the server primary database or the secondary data stored in the server secondary database, and first and second application program related to the first and second service, respectively. It would have been obvious to modify because doing so enables client devices to enjoy a wide range of applications providing different services, by providing flexibility in the applications’ data storage and sync features, as recognized by McFerrin (see at least [0002]-[0008]).
Regarding claim 28, Tanaka, McFerrin, and Kawamura in combination teach all of the limitations of claim 2=`5 as discussed above, and Tanaka additionally teaches further comprising: providing the first service and providing a second service. See at least [0016] and figure 4, wherein one or more service providing servers 30b are configured to provide services to users of the vehicle.
Tanaka remains silent on the first and second service servers providing services based on the primary data stored in the server primary database of the management server or secondary data stored in the server secondary database of the management server, wherein the first application program is related to the first service, and the second application program is related to the first service.
McFerrin teaches the first and second service servers providing services based on the primary data stored in the server primary database of the management server or secondary data stored in the server secondary database of the management server. See at least [0032]-[0034], [0048]-[0050], and figures 1-2, wherein the management server 140 contains cloud-based services 166. A first cloud-based service is associated, via interface 162(1), to application sandbox 160(1). A second cloud-based service is associated, via interface 162(2), to application sandbox 160(2). See at least [0078] and figure 6, wherein sandboxes 160(1) and 160(2) utilize data stored in primary database 610 and secondary database 620 of the server 140.
wherein the first application program is related to the first service, and the second application program is related to the first service. See at least [0028]-[0029], [0032], [0034], [0078], and figures 1 and 6, wherein the client device 120(3) contains a first application program App1P and App2P, which are associated with sandboxes 160(1) and 160(2), respectively. As discussed above, sandboxes 160(1) and 160(2) are each associated with services provided by interfaces 162(1) and 162(2), respectively.
One having ordinary skill in the art, before the effective filing date of the claimed invention, would have found it obvious to modify Tanaka with McFerrin’s first and second service servers providing services based on the primary data stored in the server primary database or the secondary data stored in the server secondary database, and first and second application program related to the first and second service, respectively. It would have been obvious to modify because doing so enables client devices to enjoy a wide range of applications providing different services, by providing flexibility in the applications’ data storage and sync features, as recognized by McFerrin (see at least [0002]-[0008]).
Claim 11 is rejected under 35 U.S.C. 103 as being unpatentable over Tanaka, McFerrin, and Kawamura as applied to claim 7 above, and further in view of US 20190259223 A1, filed 02/22/2018, hereinafter “Sangameswaran”.
Regarding claim 11, Tanaka, McFerrin, and Kawamura in combination teach all of the limitations of claim 7 as discussed above, and Tanaka remains silent on wherein the management server includes an application storage that stores a first manifest indicating the first application program and a type of the secondary data generated based on the first application program and a second manifest indicating the second application program and a type of the secondary data generated based on the second application program, and the processor is further configured to serve as: an installation unit configured to download the first manifest and the second manifest from the application storage and install the first application program and the second application program; and a database management unit configured to add a data label to the in-vehicle secondary database based on the first manifest and the second manifest.
McFerrin teaches indicating a type of the secondary data generated based on the first application program, indicating a type of the secondary data generated based on the second application program. See at least [0053]-[0056] and figure 2, wherein each application sandbox 160 for each application contains interface information indicating a type of data associated with the application.
and a database management unit configured to add a data label to the in-vehicle secondary database based on the first manifest and the second manifest. See at least [0055]-[0059], [0061]-[0071], figure 1, figures 3A-C, and figure 4, wherein data storage service 168 which assigns identifiers to databases based on type information from application sandboxes 160.
One having ordinary skill in the art, before the effective filing date of the claimed invention, would have found it obvious to modify Tanaka with McFerrin’s database management unit configured to label databases based on stored data type information associated with the application programs. It would have been obvious to modify because doing so enables client devices to enjoy a wide range of applications providing different services, by providing flexibility in the applications’ data storage and sync features, as recognized by McFerrin (see at least [0002]-[0008]).
Sangameswaran teaches wherein the management server includes an application storage that stores a first manifest indicating the first application program and a second manifest indicating the second application program. See at least [0018]-[0019] and [0064], wherein the server 108 contains manifest 112 indicating a list of software programs from application storage 110.
and the processor is further configured to serve as: an installation unit configured to download the first manifest and the second manifest from the application storage and install the first application program and the second application program. See at least [0031] and figure 2, wherein a unit 222 of the vehicle receives the manifest 112 from the update server, downloads the application updates indicated in the manifest, and installs the downloaded applications in the vehicle.
One having ordinary skill in the art, before the effective filing date of the claimed invention, would have found it obvious to further modify Tanaka with Sangameswaran’s technique of a server including application storage storing manifest information indicating application programs, and an in-vehicle device configured to receive the manifest information, download the specific apps, and install the specific apps. It would have been obvious to modify because doing so enables vehicles to maintain updated software while minimizing driver inconvenience, as recognized by Sangameswaran (see at least [0012]-[0013]).
Allowable Subject Matter
Claims 21-24, 27, and 29-32 allowed.
Claim 33 is objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
The following is a statement of reasons for the indication of allowable subject matter:
The cited prior art of Tanaka, McFerrin, Kawamura, and Sangameswaran, taken either individually or in combination with each other or any other prior art of record, fails to teach or render obvious to limitations of claims 21-24, 27, and 29-32.
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any 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 Selena M. Jin whose telephone number is (408)918-7588. The examiner can normally be reached Monday - Thursday and alternate Fridays, 7:30-4:30 PT.
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, Faris Almatrahi can be reached at (313) 446-4821. 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.M.J./ Examiner, Art Unit 3667
/FARIS S ALMATRAHI/ Supervisory Patent Examiner, Art Unit 3667