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 .
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
In January, 2019 (updated October 2019), the USPTO released new examination guidelines setting forth a two-step inquiry for determining whether a claim is directed to non-statutory subject matter. According to the guidelines, a claim is directed to non-statutory subject matter if:
STEP 1: the claim does not fall within one of the four statutory categories of invention (process, machine, manufacture or composition of matter), or
STEP 2: the claim recites a judicial exception, e.g. an abstract idea, without reciting additional elements that amount to significantly more than the judicial exception, as determined using the following analysis:
STEP 2A (PRONG 1): Does the claim recite an abstract idea, law of nature, or natural phenomenon?
STEP 2A (PRONG 2): Does the claim recite additional elements that integrate the judicial exception into a practical application?
STEP 2B: Does the claim recite additional elements that amount to significantly more than the judicial exception?
Using the two-step inquiry, it is clear that claim 1 is directed toward non-statutory subject matter, as shown below:
STEP 1: Does claim 1 fall within one of the statutory categories? Yes. The claim is directed toward a process which falls within one of the statutory categories.
STEP 2A (PRONG 1): Is the claim directed to a law of nature, a natural phenomenon or an abstract idea? Yes, the claim is directed to an abstract idea.
With regard to STEP 2A (PRONG 1), the guidelines provide three groupings of subject matter that are considered abstract ideas:
Mathematical concepts – mathematical relationships, mathematical formulas or equations, mathematical calculations;
Certain methods of organizing human activity – fundamental economic principles or practices (including hedging, insurance, mitigating risk); commercial or legal interactions (including agreements in the form of contracts; legal obligations; advertising, marketing or sales activities or behaviors; business relations); managing personal behavior or relationships or interactions between people (including social activities, teaching, and following rules or instructions); and
Mental processes – concepts that are practicably performed in the human mind (including an observation, evaluation, judgment, opinion).
Claim 1 recites:
A method comprising:
obtaining one or more first locks for a first client to apply one or more first updates to one or more first portions of a map of an environment;
associating, with the one or more first locks, one or more first geometric identifiers indicative of the one or more first portions of the map;
receiving, prior to releasing the one or more first locks, one or more second requests to obtain one or more second locks for one or more second clients to apply one or more second updates to one or more second portions of the map, the one or more second requests including one or more second geometric identifiers;
determining that the one or more first geometric identifiers correspond to the one or more second geometric identifiers;
determining whether a threshold period of time has elapsed since the obtaining of the one or more first locks for the first client;
and determining, based at least on the one or more first geometric identifiers corresponding to the one or more second geometric identifiers and whether the threshold period of time has elapsed, whether to refrain from obtaining the one or more second locks for the one or more second clients.
The highlighted portion of claim 1 above is a mental process that can be practicably performed in the human mind and, therefore, an abstract idea. It merely consists of associating a geometric identifier with a lock, determining that first and second geometric identifiers correspond, determining whether a threshold period of time has elapsed, and determining whether to refrain from obtaining a lock based on the previous determinations. This is equivalent to a person associating a locked region with its identifier, noticing that two regions overlap, checking if a threshold time period has passed, and determining whether to allow a second lock to proceed. The Examiner notes that under MPEP 2106.04(a)(2)(III), the courts consider a mental process (thinking) that "can be performed in the human mind, or by a human using a pen and paper" to be an abstract idea. CyberSource Corp. v. Retail Decisions, Inc., 654 F.3d 1366, 1372, 99 USPQ2d 1690, 1695 (Fed. Cir. 2011). As the Federal Circuit explained, "methods which can be performed mentally, or which are the equivalent of human mental work, are unpatentable abstract ideas the ‘basic tools of scientific and technological work’ that are open to all.’" 654 F.3d at 1371, 99 USPQ2d at 1694 (citing Gottschalk v. Benson, 409 U.S. 63, 175 USPQ 673 (1972)). See also Mayo Collaborative Servs. v. Prometheus Labs. Inc., 566 U.S. 66, 71, 101 USPQ2d 1961, 1965 ("‘[M]ental processes[] and abstract intellectual concepts are not patentable, as they are the basic tools of scientific and technological work’" (quoting Benson, 409 U.S. at 67, 175 USPQ at 675)); Parker v. Flook, 437 U.S. 584, 589, 198 USPQ 193, 197 (1978) (same). As such, a person observing lock data can make determinations about whether to release or prevent a lock. The mere nominal recitation that the method is being executed by a computer does not take the limitation out of the mental process grouping. Notably, the claim does not positively recite any limitations regarding actual use of the map data in controlling a vehicle in a specific manner. Thus, the claim recites a mental process.
STEP 2A (PRONG 2): Does the claim recite additional elements that integrate the judicial exception into a practical application? No, the claim does not recite additional elements that integrate the judicial exception into a practical application.
With regard to STEP 2A (prong 2), whether the claim recites additional elements that integrate the judicial exception into a practical application, the guidelines provide the following exemplary considerations that are indicative that an additional element (or combination of elements) may have integrated the judicial exception into a practical application:
an additional element reflects an improvement in the functioning of a computer, or an improvement to other technology or technical field;
an additional element that applies or uses a judicial exception to effect a particular treatment or prophylaxis for a disease or medical condition;
an additional element implements a judicial exception with, or uses a judicial exception in conjunction with, a particular machine or manufacture that is integral to the claim;
an additional element effects a transformation or reduction of a particular article to a different state or thing; and
an additional element applies or uses the judicial exception in some other meaningful way beyond generally linking the use of the judicial exception to a particular technological environment, such that the claim as a whole is more than a drafting effort designed to monopolize the exception.
While the guidelines further state that the exemplary considerations are not an exhaustive list and that there may be other examples of integrating the exception into a practical application, the guidelines also list examples in which a judicial exception has not been integrated into a practical application:
an additional element merely recites the words “apply it” (or an equivalent) with the judicial exception, or merely includes instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea;
an additional element adds insignificant extra-solution activity to the judicial exception; and
an additional element does no more than generally link the use of a judicial exception to a particular technological environment or field of use.
Claim 1 recites:
A method comprising:
obtaining one or more first locks for a first client to apply one or more first updates to one or more first portions of a map of an environment;
associating, with the one or more first locks, one or more first geometric identifiers indicative of the one or more first portions of the map;
receiving, prior to releasing the one or more first locks, one or more second requests to obtain one or more second locks for one or more second clients to apply one or more second updates to one or more second portions of the map, the one or more second requests including one or more second geometric identifiers;
determining that the one or more first geometric identifiers correspond to the one or more second geometric identifiers;
determining whether a threshold period of time has elapsed since the obtaining of the one or more first locks for the first client;
and determining, based at least on the one or more first geometric identifiers corresponding to the one or more second geometric identifiers and whether the threshold period of time has elapsed, whether to refrain from obtaining the one or more second locks for the one or more second clients.
The highlighted portion of claim 1 above does not recite any of the exemplary considerations that are indicative of an abstract idea having been integrated into a practical application. Merely including instructions to implement an abstract idea on a computer, or merely using a computer as a tool to perform an abstract idea is indicative that the judicial exception has not been integrated into a practical application. In the instant case, the steps are (implicitly) performed by a computer. Thus, it is clear that the abstract idea is merely implemented on a computer, which is indicative of the abstract idea having not been integrated into a practical application.
The obtaining steps (i.e. obtaining one or more locks) and receiving steps recited in the claim are recited at a high level of generality (i.e., as a general means of gathering an electronic representation of an area), and amount to mere data gathering, which is a form of insignificant extra-solution activity.
The one or more data networks, one or more processors, one or more memories storing computer readable instructions, and the computer readable storage medium comprising computer-readable instructions merely describes how to generally “apply” the otherwise mental judgments in a generic or general-purpose computing environment. The one or more data networks, one or more processors, one or more memories storing computer readable instructions, and the computer readable storage medium comprising computer-readable instructions are recited at a high level of generality and merely automate the generating steps.
STEP 2B: Does the claim recite additional elements that amount to significantly more than the judicial exception? No, the claim does not recite additional elements that amount to significantly more than the judicial exception.
With regard to STEP 2B, whether the claims recite additional elements that provide significantly more than the recited judicial exception, the guidelines specify that the pre-guideline procedure is still in effect. Specifically, that examiners should continue to consider whether an additional element or combination of elements:
adds a specific limitation or combination of limitations that are not well-understood, routine, conventional activity in the field, which is indicative that an inventive concept may be present; or
simply appends well-understood, routine, conventional activities previously known to the industry, specified at a high level of generality, to the judicial exception, which is indicative that an inventive concept may not be present.
Claim 1 does not recite any specific limitation or combination of limitations that are not well-understood, routine, conventional (WURC) activity in the field. Applicant’s specification does not provide any indication that the process steps are performed using anything other than a conventional computer. MPEP 2106.05(d)(II), and the cases cited therein, including Intellectual Ventures I, LLC v. Symantec Corp., 838 F.3d 1307, 1321 (Fed. Cir. 2016), TLI Communications LLC v. AV Auto. LLC, 823 F.3d 607, 610 (Fed. Cir. 2016), and OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363 (Fed. Cir. 2015), indicate that mere performance of an action is a well‐understood, routine, and conventional function when it is claimed in a merely generic manner (as it is here).
CONCLUSION
Thus, since claim 1 is: (a) directed toward an abstract idea, (b) does not recite additional elements that integrate the judicial exception into a practical application, and (c) does not recite additional elements that amount to significantly more than the judicial exception, it is clear that claim 1 is directed towards non-statutory subject matter.
Independent claims 9 and 19 have similar limitations to claim 1 above, and are therefore rejected using a similar rationale.
Dependent claims 2-8, 10-18, and 20 are likewise ineligible. The claims either add to the mental process (e.g. claims 2-7), or add post-solution activity (e.g. claim 8), or apply the mental process to a generic computer environment (e.g. claim 18).
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1-2, 4, 6-8, and 19-20 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by US12196573 by Patton et al. (hereinafter “Patton”).
Regarding independent claim 1, Patton teaches A method comprising: obtaining one or more first locks for a first client to apply one or more first updates to one or more first portions of a map of an environment; see for example column 8 lines 3-34, where a user can request to lock an area for the purpose of applying an update to a map. See also column 19 lines 16-31, describing obtaining a lock for a region of a map.
associating, with the one or more first locks, one or more first geometric identifiers indicative of the one or more first portions of the map; see for example column 3 line 61 through column 4 line 14, where the systems can divide locked regions based on geometry, such as a square region.
receiving, prior to releasing the one or more first locks, one or more second requests to obtain one or more second locks for one or more second clients to apply one or more second updates to one or more second portions of the map, the one or more second requests including one or more second geometric identifiers; see for example column 13, lines 6-49, where the system receives a second lock request from a user specifying a map region.
determining that the one or more first geometric identifiers correspond to the one or more second geometric identifiers; see again column 13, lines 6-49, where the system receives a second lock request from a user specifying a map region.
determining whether a threshold period of time has elapsed since the obtaining of the one or more first locks for the first client; see for example column 11, lines 27-33, where the lock may be granted for only a specific time period; see also column 9, lines 1-15, discussing revoking a lock after a predetermined time period.
and determining, based at least on the one or more first geometric identifiers corresponding to the one or more second geometric identifiers and whether the threshold period of time has elapsed, whether to refrain from obtaining the one or more second locks for the one or more second clients. See again for example column 9, lines 1-15, discussing revoking a lock after a predetermined time period. See also again column 13, lines 6-49, where the system receives denies a second lock request from a second user due to another user already locking the area.
Regarding claim 2, Patton teaches a method further comprising: receiving, prior to releasing the one or more first locks, one or more third requests to obtain one or more third locks for one or more third portions of the map that at least partially overlap the one or more first portions; releasing the one or more first locks based at least on one or more lock priorities indicated in the one or more third requests; and obtaining the one or more third locks for the one or more third portions of the map subsequent to the releasing. In addition to the paragraphs cited above, see for example column 8, lines 52-67, where locks are assigned on a hierarchical basis, and “a lock may be removed from a first user with a lower level of access, so that the first user is prevented from making or merging changes based on the lock, if a change is requested or if the lock is cancelled by another user with a higher level of access.”
Regarding claim 4, Patton teaches wherein the one or more first geometric identifiers comprise one or more geometric descriptions that corresponds to one or more geographic regions of the environment projected to the one or more first portions of the map. See for example column 3 line 61 through column 4 line 14, where the systems can divide locked regions based on geometry, such as a square region. See also column 19 lines 16-31, describing obtaining a lock for a region of a map.
Regarding claim 6, Patton teaches wherein the obtaining of the one or more first locks comprises causing, based at least on a first request received from the first client, the one or more first portions of the map to switch from being associated with a first state to being associated with a second state, the first state corresponding to an unlocked state and the second state corresponding to a locked state. See for example column 9 lines 1-41, where the system can lock or unlock a region.
Regarding claim 7, Patton teaches a method further comprising: establishing, based at least on the receiving of the one or more second requests to obtain the one or more second locks, the threshold period of time for the first client to unlock the one or more first locks, the threshold period of time being extendable based at least on activity of the first client; and releasing the one or more first locks based at least on a lapse of the threshold period of time. See again for example column 9, lines 1-15, discussing revoking a lock after a predetermined time period. See also again column 13, lines 6-49, where the system receives denies a second lock request from a second user due to another user already locking the area.
Regarding claim 8, Patton teaches a method further comprising sending an updated version of the map to one or more machines for use in operating in the environment, wherein the updated version of the map is generated based at least on the obtaining of the one or more first locks. See column 2 lines 14-32, column 4 lines 15-24, and particularly column 8 lines 31-34, where updated map data is provided to a vehicle.
Regarding independent claim 19, Patton teaches At least one processor comprising: processing circuitry to perform one or more operations associated with a machine using a map of an environment, see Figure 2 for system architecture, including map databases.
wherein one or more concurrent updates are applied to the map, at least, by obtaining one or more first locks for updating one or more first portions of the map based at least on one or more geometric descriptions included in a request for the one or more first locks, see for example column 3 line 61 through column 4 line 14, where the systems can divide locked regions based on geometry, such as a square region. In addition to the paragraphs cited above, see for example column 8, lines 52-67, where locks are assigned on a hierarchical basis, and “a lock may be removed from a first user with a lower level of access, so that the first user is prevented from making or merging changes based on the lock, if a change is requested or if the lock is cancelled by another user with a higher level of access.”
and determining, based at least on the one or more geometric descriptions, to refrain from obtaining one or more second locks for one or more second portions of the map prior to releasing the one or more first locks. See again column 8, lines 52-67, where locks are assigned on a hierarchical basis. See also again column 13, lines 6-49, where the system receives denies a second lock request from a second user due to another user already locking the area.
Regarding claim 20, Patton teaches wherein the processor is comprised in at least one of: a control system for an autonomous or semi-autonomous machine; a perception system for an autonomous or semi-autonomous machine; a system for performing one or more simulation operations; a system for performing one or more digital twin operations; a system for performing light transport simulation; a system for performing collaborative content creation for 3D assets; a system for performing one or more deep learning operations; a system implemented using an edge device; a system implemented using a robot; a system for performing one or more generative AI operations; a system for performing operations using one or more large language models (LLMs); a system for performing operations using one or more vision language models (VLMs); a system for performing operations using one or more multi-modal language models; a system for performing one or more conversational AI operations; a system for generating synthetic data; a system for presenting at least one of virtual reality content, augmented reality content, or mixed reality content; a system incorporating one or more virtual machines (VMs); a system implemented at least partially in a data center; or a system implemented at least partially using cloud computing resources. See column 2 lines 14-32, column 4 lines 15-24, and particularly column 8 lines 31-34, where updated map data is provided to a vehicle for navigation of the map. See also column 5 lines 30 through column 6 lines 28, where the map system can involve multiple database systems.
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.
Claim 3 is rejected under 35 U.S.C. 103 as being unpatentable over Patton as applied to claim 1 above, and further in view of US2017/0308565 by Broll et al. (hereinafter “Broll”).
Regarding claim 3, Patton teaches wherein: the one or more first locks comprise one or more first mutual exclusions (one or more second . See again column 13, lines 6-49, where the system receives denies a second lock request from a second user due to another user already locking the area, preventing any changes to the map (reading on mutual exclusions).
Patton does not explicitly teach a mutex.
However, Broll teaches a lock system involving a mutex. See for example paragraph [0013] describing an exclusive lock, or mutex, for governing concurrent database operation.
It would have been prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the exclusive lock system of Patton with the mutex system of Broll with a reasonable expectation of success. Doing so allows the system to use conventional data science tools for database management, preventing inadvertent data overwrites due to concurrent updates.
Claim 5 is rejected under 35 U.S.C. 103 as being unpatentable over Patton as applied to claim 1 above, and further in view of US8732120 by Barreirinhas (hereinafter “Barreirinhas”). Claims 9-14 and 16-18 are rejected under 35 U.S.C. 103 as being unpatentable over Patton in view of Barreirinhas.
Regarding claim 5, Patton teaches wherein the determining that the one or more first geometric identifiers correspond to the one or more second geometric identifiers comprises determining that at least one of the one or more second portions of the map . See for example column 3 line 61 through column 4 line 14, where the systems can divide locked regions based on geometry, such as a square region, as well as column 19 lines 16-31, describing obtaining a lock for a region of a map. See also column 11 line 50 through column 12 line 23, where the lock system acts to lock a portion of the map, e.g. within a radius, to prevent conflicts.
Patton does not explicitly teach determining if map portions overlap. Although Patton teaches locking regions of a map, such as squares, to prevent others from editing that region while it is locked, i.e. preventing conflicts, Patton does not explicitly teach determining if locked regions overlap.
However, Barreirinhas teaches a system that checks if map portions overlap. See for example column 4 line 63 through column 5 line 37, where the coordinate management structure checks if coordinates overlap for locking purposes.
It would have been prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the exclusive lock system of Patton with the overlap system of Barreirinhas with a reasonable expectation of success. Doing so allows the system to determine if regions locked by the first user intersect with a second user’s requested lock region, preventing conflicts.
Regarding independent claim 9, Patton teaches A system comprising: one or more processors to: obtain a first lock for a first client to apply one or more first updates to one or more first portions of a map of an environment; see for example column 8 lines 3-34, where a user can request to lock an area for the purpose of applying an update to a map. See also column 19 lines 16-31, describing obtaining a lock for a region of a map.
Associate, with the first lock, a priority and a geometric identifier corresponding to the one or more first portions of the map; see for example column 3 line 61 through column 4 line 14, where the systems can divide locked regions based on geometry, such as a square region. In addition to the paragraphs cited above, see for example column 8, lines 52-67, where locks are assigned on a hierarchical basis, and “a lock may be removed from a first user with a lower level of access, so that the first user is prevented from making or merging changes based on the lock, if a change is requested or if the lock is cancelled by another user with a higher level of access.”
and determine, based at least on the priority and the geometric identifier associated with the first lock, to refrain from obtaining, prior to releasing the first lock, one or more second locks for one or more second portions of the map that at least partially See again column 8, lines 52-67, where locks are assigned on a hierarchical basis. See also again column 13, lines 6-49, where the system receives denies a second lock request from a second user due to another user already locking the area.
Patton does not explicitly teach determining if map portions overlap. Although Patton teaches locking regions of a map, such as squares, to prevent others from editing that region while it is locked, i.e. preventing conflicts, Patton does not explicitly teach determining if locked regions overlap.
However, Barreirinhas teaches a system that checks if map portions overlap. See for example column 4 line 63 through column 5 line 37, where the coordinate management structure checks if coordinates overlap for locking purposes.
It would have been prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the exclusive lock system of Patton with the overlap system of Barreirinhas with a reasonable expectation of success. Doing so allows the system to determine if regions locked by the first user intersect with a second user’s requested lock region, preventing conflicts.
Regarding claim 10, Patton does not explicitly teach the one or more processors further to: add, to a queue, data indicating one or more requests for the one or more second locks; and ordering, in the queue, the data indicating the one or more requests based at least on one or more of: one or more priorities associated with the one or more requests; an order in which the one or more requests were received; or one or more requested times for issuing the one or more second locks. Although Patton suggests ordering events and locks based on their associated timestamps (column 20, lines 4-14), Patton does not explicitly teach queueing the locks based on the timestamps.
However, Barreirinhas teaches the one or more processors further to: add, to a queue, data indicating one or more requests for the one or more second locks; and ordering, in the queue, the data indicating the one or more requests based at least on one or more of: one or more priorities associated with the one or more requests; an order in which the one or more requests were received; or one or more requested times for issuing the one or more second locks. See for example column 8, lines 20-28, where lock requests can be queued.
It would have been prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the exclusive lock system of Patton with the overlap system of Barreirinhas with a reasonable expectation of success. Doing so allows the system to determine if regions locked by the first user intersect with a second user’s requested lock region, preventing conflicts.
Regarding claim 11, Patton teaches the one or more processors further to: release the first lock based at least on a second priority associated with at least one of the one or more second locks exceeding the priority associated with the first lock; and obtain the at least one of the one or more second locks subsequent to the release of the first lock. See for example column 3 line 61 through column 4 line 14, where the systems can divide locked regions based on geometry, such as a square region. In addition to the paragraphs cited above, see for example column 8, lines 52-67, where locks are assigned on a hierarchical basis, and “a lock may be removed from a first user with a lower level of access, so that the first user is prevented from making or merging changes based on the lock, if a change is requested or If the lock is cancelled by another user with a higher level of access.”
Regarding claim 12, Patton teaches the one or more processors further to: establish a timeout period for the first lock; determine that the timeout period has lapsed based at least on monitoring activity associated with the first lock; and responsive to the determination that the timeout period has lapsed: release the first lock; and revert a state associated with the one or more first portions of the map to a previous state. See again for example column 9, lines 1-15, discussing revoking a lock after a predetermined time period. See also again column 13, lines 6-49, where the system receives denies a second lock request from a second user due to another user already locking the area.
Regarding claim 13, Patton teaches the one or more processors further to: release the first lock based at least on the first client unlocking the first lock; and sending, to one or more machines, an updated version of the map of the environment, wherein the one or more machines use the updated version of the map to traverse one or more regions of the environment corresponding to the one or more first portions of the map. See column 2 lines 14-32, column 4 lines 15-24, and particularly column 8 lines 31-34, where updated map data is provided to a vehicle.
Regarding claim 14, Patton teaches wherein the geometric identifier is a geometric description that corresponds to one or more geographic regions of the environment projected to the one or more first portions of the map. See for example column 3 line 61 through column 4 line 14, where the systems can divide locked regions based on geometry, such as a square region. See also column 19 lines 16-31, describing obtaining a lock for a region of a map.
Regarding claim 16, Patton teaches the one or more processors further to: obtain, from one or more second clients, data indicating one or more requests for the one or more second locks and one or more second geometric identifiers corresponding to the one or more second portions of the map, wherein the determination to refrain from obtaining the one or more second locks is further based at least on an evaluation of the one or more second geometric identifiers with respect to the geometric identifier associated with the first lock. See for example column 3 line 61 through column 4 line 14, where the systems can divide locked regions based on geometry, such as a square region, as well as column 19 lines 16-31, describing obtaining a lock for a region of a map. See also column 11 line 50 through column 12 line 23, where the lock system acts to lock a portion of the map, e.g. within a radius, to prevent conflicts.
Regarding claim 17, Patton does not explicitly teach the one or more processors further to: add, to a queue, data indicating at least one of the one or more second locks requested by a second client; release the first lock; and obtain the at least one of the one or more second locks subsequent to the release of the first lock based at least on the addition of the data to the queue. Although Patton suggests ordering events and locks based on their associated timestamps (column 20, lines 4-14), Patton does not explicitly teach queueing the locks based on the timestamps.
However, Barreirinhas teaches the one or more processors further to: add, to a queue, data indicating at least one of the one or more second locks requested by a second client; release the first lock; and obtain the at least one of the one or more second locks subsequent to the release of the first lock based at least on the addition of the data to the queue. See for example column 8, lines 20-28, where lock requests can be queued.
It would have been prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the exclusive lock system of Patton with the overlap system of Barreirinhas with a reasonable expectation of success. Doing so allows the system to determine if regions locked by the first user intersect with a second user’s requested lock region, preventing conflicts.
Regarding claim 18, Patton teaches wherein the system is comprised in at least one of: a control system for an autonomous or semi-autonomous machine; a perception system for an autonomous or semi-autonomous machine; a system for performing one or more simulation operations; a system for performing one or more digital twin operations; a system for performing light transport simulation; a system for performing collaborative content creation for 3D assets; a system for performing one or more deep learning operations; a system implemented using an edge device; a system implemented using a robot; a system for performing one or more generative AI operations; a system for performing operations using one or more large language models (LLMs); a system for performing operations using one or more vision language models (VLMs); a system for performing operations using one or more multi-modal language models; a system for performing one or more conversational AI operations; a system for generating synthetic data; a system for presenting at least one of virtual reality content, augmented reality content, or mixed reality content; a system incorporating one or more virtual machines (VMs); a system implemented at least partially in a data center; or a system implemented at least partially using cloud computing resources. See column 2 lines 14-32, column 4 lines 15-24, and particularly column 8 lines 31-34, where updated map data is provided to a vehicle for navigation of the map. See also column 5 lines 30 through column 6 lines 28, where the map system can involve multiple database systems.
Claim 15 is rejected under 35 U.S.C. 103 as being unpatentable over Patton in view of Barreirinhas as applied to claim 9 above, and further in view of Broll.
Regarding claim 15, Patton teaches wherein: the first lock comprises one or more first mutual exclusions (second locks comprises one or more second . See again column 13, lines 6-49, where the system receives denies a second lock request from a second user due to another user already locking the area, preventing any changes to the map (reading on mutual exclusions).
Patton does not explicitly teach a mutex.
However, Broll teaches a lock system involving a mutex. See for example paragraph [0013] describing an exclusive lock, or mutex, for governing concurrent database operation.
It would have been prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the exclusive lock system of Patton, modified by the overlap system of Barreirinhas, with the mutex system of Broll with a reasonable expectation of success. Doing so allows the system to use conventional data science tools for database management, preventing inadvertent data overwrites due to concurrent updates.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant’s disclosure:
US12498228 by Gibson et al. teaching concurrent map updates based on vehicle sensor data.
US2017/0039234 by Wagle teaching database locking based on priorities and queues.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JORDAN THOMAS SMITH whose telephone number is (571)272-0522. The examiner can normally be reached Monday - Friday, 9am - 5pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Anne Antonucci can be reached at (313) 446-6519. 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.
/JORDAN T SMITH/Examiner, Art Unit 3666
/ANNE MARIE ANTONUCCI/Supervisory Patent Examiner, Art Unit 3666