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 .
Status of Claims
This office action is in response to application number 18/052,457 filed on 11/26/2025, in which
Claims 1-20 are presented for examination. Applicant amends Claims 1, 3-4, 6-10, 13-16, and 18 and cancels Claim 2.
Priority
Receipt is acknowledged of certified copies of papers required by 37 CFR 1.55 of foreign application EP20173834.1. However, the submitted foreign application number cannot be found in a search for the present application. However, the present application does show domestic priority to PCT application EP2021/062252 (application EP21723292.5A.), as cited in IDS Non-Patent Literature 2 and the attached International Search Report.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 11/3/2022 has been received and considered by the examiner.
Response to Arguments
Applicant’s arguments, see pgs. 2-4, 9-10, and 18, filed 11/26/2025, with respect to the objections to the drawings, the specification, and the abstract have been fully considered and are persuasive. The objections to the drawings, the specification, and the abstract set forth in the office action of 7/30/2025 has been withdrawn.
Applicant's arguments, see pg. 19, filed 11/26/2025 with respect to the objections to Claims 1 and 10 have been fully considered but they are not fully persuasive. The amendments to Claim 1 fully address the objections to Claim 1, therefore, the objection to Claim 1 set forth in the office action of 7/30/2025 has been withdrawn. However, the amendments to Claim 10 do not fully address the objections, therefore, an updated objection to Claim 10 is made. Additionally, the amendments to Claim 18 introduce a new objection. Further details are provided below.
Applicant’s arguments, see pg. 19, filed with respect to the double patenting rejection has been fully considered but are not persuasive. As stated in MPEP 1490, if “two or more copending applications which share the same inventive entity, at least one common (joint) inventor, a common applicant, and/or a common owner/assignee, […], that would raise an issue of double patenting if one of the applications became a patent. […]. A provisional double patenting rejection should be made and maintained by the examiner until the rejection has been obviated or is no longer applicable except as noted below. If two (or more) pending applications are filed, in each of which a rejection of one claimed invention over the other on the ground of provisional nonstatutory double patenting (NSDP) is proper, the provisional NSDP rejection will be made in each application.” The double patent rejection set forth in the office action of 7/30/2025 is a provisional rejection and further, as stated in MPEP 1504.06, will be converted into a double patenting rejection only if the conflicting application is allowed prior to the current application. At this time a terminal disclaimer would be required. If at the time of allowance of the current application the conflicting application is still pending, the provisional double patenting rejection can be withdrawn and a terminal disclaimer would not be required. Examiner maintains the provisional double patenting rejection set forth in the office action of 7/30/2025.
Applicant’s arguments, see pgs. 19-21, filed 11/26/2025 with respect to the rejections of Claims 1-20 under 35. U.S.C. 112 have been fully considered but they are not fully persuasive. Examiner maintains the interpretations for Claims 1, 3, 5-6, 8-10, and 12-18 under 35 U.S.C. 112(f) set forth in the office action of 7/30/2025. In light of Applicant cancelling Claim 2, Examiner withdraws the rejection of Claim 2 under 35 U.S.C. 112(d), however, in light of the related amendments to Claim 1, Examiner provides an updated rejection for Claim 1 under 35 U.S.C. 112(b). Examiner withdraws the rejections for Claims 1-4, 6-9, 13-16, and 18 for antecedent basis issues, Claims 3-4 and 18 for insufficient explanation, and Claim 16 for relative language under 35 U.S.C. 112(b) set forth in the office action of 7/30/2025. However, in light of the amendments to the claims, Examiner provides an updated rejection for Claims 1-20 under 35 U.S.C. 112(b). Further details are provided below.
Applicant’s arguments, see pgs. 22-24, filed 11/26/2025 with respect to the rejections of Claims 1-20 under 35. U.S.C. 103 have been fully considered but are not persuasive. Applicant explains that the amended claims recite a windowed hierarchical cooperative A* (WHCA*) used to assign individual reservation lengths to each carrier for the next move on logical positions with free time windows, while incorporating infinite reservation times for logical positions under specific conditions. Applicant further explains that the invention utilizes infinite reservation lengths to minimize, or prevent, endless recomputation cycles such as when a carrier stalls or a position becomes unusable. Applicant further explains that the individualized reservation lengths optimize resource allocation and minimizes conflict by only reserving the necessary length for each carrier. Applicant argues that the referenced prior art, Silver, discloses cooperative pathfinding algorithms, such as WHCA*, that rely on fixed or finite, time-bound reservation windows in space-time grids across agents, without considering individualized reservation lengths based on a carrier’s next move or an infinite reservation window. Applicant further argues that the additional cited prior art, Hirofumi, Huber, Kim, and Wurman do not individualize the reservation length for each carrier or set infinite time assignments for blocked positions.
Examiner respectfully disagrees. The relevant claim language recites "modeling the transport plane with graphs of nodes and using a windowed hierarchical cooperative informed search algorithm within cooperative time window T, wherein the windowed hierarchical cooperative informed search algorithm is a windowed hierarchical cooperative A* algorithm" (WHCA*). The claim further recites assigning "individual reservation length[s] to each carrier for a next move based on logical positions with free time windows." Finally the claim recites "assign an infinite reservation time to the logical position when one or more of the following is realized." The broadest reasonable interpretation of the claim language includes modeling a transport plane using a WHCA* algorithm, assigning an individual reservation length to each carrier, and using an infinite reservation length under a certain condition(s). An “individual reservation length” is interpreted as a reservation for each carrier, but does not require “individualized,” or customized lengths, based on resource allocation, optimization, or conflict minimization. As stated in the original rejection, Wurman teaches reserving segments, or “portions of the workplace,” for each mobile drive unit. Further, assigning a truly “infinite reservation length” would result in a system that does not function, and instead is interpreted as a permanent, blocked, or unlimited reservation length until otherwise assigned, which therefore also includes a position status such as wait, blocked, or occupied. Further, Applicant’s specification, pgs. 11-12 [0055-0056], explains that an infinite reservation time is set for a logical position so that the router does not consider these positions for route planning. As stated in the original rejection, Silver teaches routing agents using A* algorithms [Silver, pg. 2, col 2] such as WHCA* [Silver, pg. 3, col 2]. Additionally, Silver teaches an infinite reservation time by explaining that once an agent reaches the destination it blocks the space until it is moved [Silver, pg. 3, col 2] where the agent is kept stationary by setting a "wait move" and the reservation table is updated so that the occupied positions are considered and avoided in planning other routes [Silver, pg. 2, col 1], “The individual searches are performed in three dimensional space-time, and take account of the planned routes of other agents. A wait move is included in the agent's action set, to enable it to remain stationary. After each agent's route is calculated, the states along the route are marked into a reservation table. Entries in move the reservation table are considered impassable and are avoided during searches by subsequent agents. The reservation table represents the agents' shared knowledge about each other's planned routes. It is a sparse data structure marking off region of space-time. The choice of data structure is independent from the state space of the agents themselves. In general, individual agents may vary in speed or size, and the reservation table must be capable of marking off any occupied region.”
Therefore, Examiner maintains and provides an updated rejection of Claims 1 and 3-20 under 35 U.S.C. 103. Further details are provided below.
Claim Objections
Claims 10 and 18 are objected to because of the following informalities:
Claim 10 (lines 2-3): “as final destination” should be “as a final destination.”
Claim 18 (line 3): “a next n-moves” should be “next n-moves” or “a next move”
Appropriate correction is required.
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1, 9, 11, and 12 are provisionally rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1, 2, 7, and 9 of copending Application No. 19/004,137 (reference application, herein “ ‘137”). Although the claims at issue are not identical, they are not patentably distinct from each other because both applications teach a distribution system comprising a transport plane, carriers, a drive system, and a control system for calculating a route using reservation windows and adjusting the route or reservations as required. This is a provisional nonstatutory double patenting rejection because the patentably indistinct claims have not in fact been patented.
Underlined portions of claim text represents identical claim language and italicized portions of claim text represents claim language that is not identical, but conveys the same meaning.
Current Application, Claim 1.
A distribution system comprising:
a transport plane comprising logical positions for distributing objects,
carriers for transporting the objects,
a drive system to move the carriers on the transport plane between the logical positions,
a control system configured to control the carriers to move on a planned route from a start position to a final destination position on the transport plane,
wherein the control system comprises a routing system configured to calculate the planned route for at least two carriers on the transport plane by modeling the transport plane with graphs of nodes
and using a windowed hierarchical cooperative informed search algorithm within cooperative time window T, wherein the windowed hierarchical cooperative informed search algorithm is a windowed hierarchical cooperative A* algorithm,
wherein the routing system is configured to determine reserved and free time windows for each logical position,
characterized in that the routing system is configured to assign an individual reservation length to each carrier for the next move on logical positions with free time windows,
wherein an infinite reservation time is assigned to a logical position on the transport plane,
wherein the control system comprises at least one executing unit configured for executing the planned routes for transporting the carriers from their respective start position to their respective final position.
‘137 Application, Claim 1.
A distribution system, comprising:
a transport plane comprising logical positions;
a plurality of carriers for transporting objects;
a drive system for moving the carriers on the transport plane between the logical positions; and
a control system configured for controlling the carriers to move on a planned route from a start position to a final destination position on the transport plane, wherein the planned route comprises partial routes,
wherein the control system comprises a routing system configured for calculating routing plans for carriers on the transport plane by modeling the transport plane with graphs of nodes,
10. The distribution system according to claim 1, the routing system is configured for using a cooperative path finding algorithm for calculating the routing plans, specifically a Windowed Hierarchical Cooperative A*-algorithm (WHCA*).
wherein the routing system is configured for calculating the routing plans considering moving time periods and waiting time periods,
wherein the routing system is configured for assigning waiting time periods for carriers depending on a reservation of logical positions of the partial routes of other carriers,
wherein, if a carrier experiences a time delay during execution of a move, the routing system is configured for shifting the experienced time delay to at least one upcoming waiting time period of a carrier.
And ‘137 Application, Claim 9.
The distribution system according to claim 1, wherein the control system comprises at least one executing unit configured for executing the routing plans for transporting the carriers from their respective start position to their respective final position.
‘137 Application Claims 1 and 9 disclose all marked features of Current Application Claim 1. ‘137 Application Claims 1 and 9 further describes the route as partial routes and shifting to an upcoming waiting period if a carrier experiences a time delay. Omitting the additional features of ‘137 Application Claims 1 and 9 broadens the scope of the current application.
And Current Application, Claim 9.
The distribution system according to claim 1, wherein the routing system is configured to check whether all carriers arrive within a planned reservation length and when carriers are detected which will not arrive within the planned reservation length the next planned reservation length will be stretched and affected plans of other carriers are recomputed.
‘137 Application, Claim 2.
The distribution system according to claim 1, wherein the routing system is configured for determining if the delay of the carrier affects at least one further carrier, wherein the routing system is configured for shifting the time delay to at least one waiting time of the at least one further affected carrier.
‘137 Application Claim 2 discloses all marked features of Current Application Claim 9.
Current Application, Claim 11.
The distribution system according to claim 1, wherein the transport plane is divided into logical subareas.
Current Application, Claim 12.
The distribution system according to claim 11, wherein the routing system is configured to allow
only a limited number of simultaneous moves of carriers within logical subareas of the transport
plane.
‘137 Application, Claim 7.
The distribution system according to claim 1, wherein the routing system is configured for calculating routing plans considering a constraint of a maximal number of simultaneous moves per transport plane or per area of the transport plane, wherein the moves allowed to be performed simultaneously form a simultaneous moves group, wherein the total transport surface is divided into one or multiple areas and an allowed maximum number of simultaneous moves is different per area.
‘137 Application Claim 7 discloses all marked features of Current Applications Claims 11 and 12. ‘137 Application Claim 7 further describes the simultaneous moves as a move group. Omitting the additional features of ‘137 Application Claim 7 broadens the scope of the current application.
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph:
An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is invoked.
As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph:
(A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function;
(B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and
(C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function.
Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function.
Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function.
Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitations uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitations are:
"control system configured to" in Claim 1 (line 5).
Corresponding structure is found in the specification. Specification [pgs. 2-3, para 0009] describes the “control system” as comprising the “routing system” and “executing unit,” “wherein the control system comprises a routing system configured to calculate the planned route […] wherein the control system comprises at least one executing unit configured for executing the planned routes for transporting the carriers,” which are further described on specification [pg. 13, para 0058-0060] as computers, or computer networks, “[0058] […] The routing system may be designed as a computer or computer network for performing the planning of the routes. […] [0059] The routing system may be configured for proposing routes for the carriers which are then executed by the executing unit. […] The routing system and the executing unit may be deployed in the same computer or may be embodied as separate devices. […]. [0060] Specifically, the executing unit initiates the planned routes. The executing unit may be designed as a computer or computer network for running the executed processes, in particular for moving the carriers.” Finally, the specification [pg. 48, para 0228] describes the “control system” as software on a computer, or shared computer with the order management system, “the Order Management system 60 and Control System 20, which can include the routing system 50 can be one software. For example these different software modules can be monolithically integrated or be separate services communicating with each other via a software bus on the same computer.” For examination purposes the “control system” will be interpreted as a computer with software.
"routing system (is) configured to" in Claim 1 (line 7, 12, and 20), Claim 3 (lines 1-2), Claim 5 (line 1), Claim 6 (lines 1-2), Claim 8-10 (lines 1-2), and Claim 12-16 (lines 1-2), Claim 17 (line 1), and Claim 18 (lines 1-2). Corresponding structure is found in the specification. See again specification [pg. 13, paras 0058-0059], which describes the “routing system” as a computer, or computer network, and specification [pg. 25, para 0102], which explains the routing system has a storing device, “The marking can be done in a log file or a registry file stored in a storing device of the routing system, in memory or in a database.” For examination purposes, the “routing system” will be interpreted as a computer with software.
"executing unit configured to" in Claim 1 (line 17). Corresponding structure is found in the specification. See again specification [pg. 13, paras 0059-0060], which explains the “executing unit” is a computer, or shared computer, with the “routing system.” For examination purposes, the “executing unit” will be interpreted as a computer with software.
Because these claim limitations are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, they are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
If applicant does not intend to have these limitations interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitations to avoid them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitations recite sufficient structure to perform the claimed function so as to avoid them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-20 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim 1 (lines 16 and 20-25) recite “an infinite reservation time is assigned” and “assign an infinite reservation time […] when one or more of the following is realized: […].” It is unclear based on the claim language if the system always sets an infinite reservation time or if the system sets an infinite reservation time under at least one of the listed conditions. For examination purposes, Claim 1 will be read as only considering that the system “assign[s] an infinite reservation time to the logical position when one or more of the following is realized: […],” as recited in Claim 1, lines 20-25.
Claim 1 (line 16) recites the limitation "a logical position.” “A logical position” is already defined in Claim 1 (line 2). For clarity, Claim 1 (line 16) should recite “the logical position.” For examination purposes, and as stated above for Claim 1 (lines 16 and 20-25), Claim 1 will be read as “assign an infinite reservation time to the logical position when one or more of the following is realized: […],” where “the logical position” is the same logical position(s) defined in Claim 1 (line 2).
Claim 5 (line 2) recites the limitation "the transport system.” There is insufficient antecedent basis for basis for this limitation in the claim. For examination purposes, “the transport system” will be read as the distribution system of Claim 1.
Claim 14 (line 3 recite the limitation "the planning model.” There is insufficient antecedent basis for basis for this limitation in the claim.
Claim 15 (line 3) recites the limitation "a maximum reservation length.” “A maximum reservation length” is already defined in Claim 15 (line 2). For clarity, Claim 15 (line 3) should recite “the maximum reservation length.”
Claim 16 (line 2) recites the limitation "the number of failed plans.” There is insufficient antecedent basis for this limitation in the claim.
Claim 16 (line 3) recites the limitation "a number of failed plans.” “A number of failed plans” is already defined in Claim 16 (line 2), as stated above and should be addressed for insufficient antecedent basis of “the number of failed plans,” in Claim 16 (line 2). For clarity, Claim 16 (line 3) should recite “the number of failed plans.”
Claim 16 (line recites the limitation "the frequency of failing.” There is insufficient antecedent basis for this limitation in the claim.
Claim 18 (line 2) recites the limitation "the case.” There is insufficient antecedent basis for this limitation in the claim.
Claim 15 (lines 1-3) recites “the routing system is configured to adapt the maximum reservation length depending on the deviation of the planned reservation length with maximum reservation length.” The overall claim language is unclear and should be corrected to more explicitly state the claim limitation. For examination purposes, Claim 15 will be read as the routing system updates the reservation length using a set value, when the planned reservation length changes.
Claims 3-4, 6-13, 17, and 19-20 are rejected by dependency on Claims 1, 5, and 18, respectively.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1, 3-4, 10, 13, and 17-20 are rejected under 35 U.S.C. 103 as being unpatentable over Huber et al., PG Pub US-2016/0341751-A1 (herein “Huber”), in view of Wurman et al., PG Pub US-2007/0293978-A1 (herein “Wurman”), further in view of Silver, Cooperative Pathfinding, DOI , 10.1609/aiide.v1i1.18726 and further in view of Yu et al, CN-110989582-A (herein “Yu”).
Regarding Claim 1, Huber discloses: A distribution system comprising: a transport plane comprising logical positions for distributing objects. See [Huber, pg. 1, paras 0014 and 0016], which describes the transport plane containing locations of the laboratory distribution system, "[0014] The transport plane can comprise a plurality (e.g., 2 to 100) of transfer locations, or nodes. The transfer locations, or nodes, can be assigned to corresponding laboratory stations. For example, each laboratory station may have a single corresponding transfer location, or node. Alternatively, more than one transfer location, or node, may be assigned to a corresponding laboratory station. The transfer locations, or nodes, may be statically, or dynamically, assigned to the laboratory stations. In other words, during operation, the transfer locations may be changed, if necessary. […] [0016] The operating method can comprise, during an initialization (i.e., starting and/or booting) of the laboratory sample distribution system e.g., fixed routes extending over the transport plane can be pre-calculated depending on, e.g., between, the different transfer locations. In other words, the pre-calculated routes can be provided on the transport plane between the transfer locations. The transfer locations may represent initial, or goal, nodes in the sense of Graph theory."
And: carriers for transporting the objects. See [Huber, pg. 1, para 0012], which describes the laboratory system which contains carriers for moving samples between stations, "The method can be adapted to operate a laboratory sample distribution system. The laboratory sample distribution system can comprises a number (e.g., 10 to 10000) of sample container carriers. The sample container carriers can be respectively adapted to carry one or more sample containers. The sample containers can respectively comprise samples to be analyzed by a plurality (e.g., 2 to 50) of laboratory stations."
And: a drive system to move the carriers on the transport plane between the logical positions. See [Huber, pgs. 1 and 2-3, paras 0015 and 0032], which identify the drive used to move the carriers, "[0015] The laboratory sample distribution system can further comprise a drive. The drive can be adapted to move the sample container carriers on and over the transport plane. […] [0032] […] The transport plane can be adapted to support the sample container carriers. The transport plane can comprise a plurality of transfer locations The transfer locations can be assigned to corresponding laboratory stations. The system can also comprise a drive. The drive can be adapted to move the sample container carriers on the transport plane."
And: a control system configured to control the carriers to move on a planned route from a start position to a final destination position on the transport plane. See again [Huber, pg. 3, para 0032] , which identifies the control unit of the system that pre-calculates the route to move the carrier, "[0032] […] The system can also comprise a control unit such as, for example, in the form of a microprocessor and program storage. The control unit can be adapted to control the laboratory sample distribution system such that the method as described above can be performed. The control unit can be adapted to pre-calculate routes depending on the transfer locations during an initialization of the laboratory sample distribution system and to control the drive such that the sample container carriers can move along the pre-calculated routes after the initialization of the laboratory sample distribution system."
Huber does not disclose: wherein the control system comprises a routing system configured to calculate the planned route for at least two carriers on the transport plane by modeling the transport plane with graphs of nodes and using a windowed hierarchical cooperative informed search algorithm within cooperative time window T, wherein the windowed hierarchical cooperative informed search algorithm is a windowed hierarchical cooperative A* algorithm.
However, Wurman teaches: wherein the control system comprises a routing system configured to calculate the planned route for at least two carriers on the transport plane […] using [an …] algorithm […]. See [Wurman, pg. 6, para 0058], which explains that the route planning module generates a route using an algorithm, "Route planning module 94 receives route requests from mobile drive units 20. These route requests identify one or more destinations associated with a task the requesting mobile drive unit 20 is executing. In response to receiving a route request, route planning module 94 generates a path to one or more destinations identified in the route request. Route planning module 94 may implement any appropriate algorithms utilizing any appropriate parameters, factors, and/or considerations to determine the appropriate path. After generating an appropriate path, route planning module 94 transmits a route response identifying the generated path to the requesting mobile drive unit 20 using communication interface module 98." See also [Wurman, pg. 9, paras 0088-0090], which explains the route planning module can do this for multiple paths and multiple mobile drive units, "[0088] After route planning module 94 transmits information identifying one or more paths 16, this information is received by mobile drive unit 20. […] [0089] In particular embodiments, route planning module 94 may, in response to a particular route request 22, generate multiple paths to a particular destination. […] [0090] Furthermore, in particular embodiments or under certain conditions, multiple mobile drive units 20 may be allowed to utilize a particular segment 17 simultaneously."
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Wurman to use a routing module to calculate the routes of multiple mobile units using an algorithm. Doing so would minimize issues, such as back log and throughput, which could arise from managing multiple requests for navigation at the same time and improve the efficiency of utilization of a facility resources [Wurman, pg. 1, para 0002-0003].
However, Silver teaches: […] by modeling the transport plane with graphs of nodes and using a windowed hierarchical cooperative informed search algorithm within cooperative time window T, wherein the windowed hierarchical cooperative informed search algorithm is a windowed hierarchical cooperative A* algorithm. See [Silver, pg. 2, col 2], which explains using nodes in an A* algorithm to route agents, "The search starts at the agent's goal G. and heads towards the agent's initial position 0. Instead of terminating at 0, the search continues until a specified node N is expanded. A well-known property of A* with a consistent heuristic is that the optimal distance from the start to a node is known once that node is expanded (Nilsson 1980)." See also [Silver, pg. 3, col 2], which describes the WHCA* algorithm as a variant of the HCA* algorithm by adding a time-windowed search, "WHCA* develops a similar idea for cooperative search. A simple solution to all of these issues is to window the search. The cooperative search is limited to a fixed depth specified by the current window. Each agent searches for a partial mute to its destination. and then begins following the route. At regular intervals (e.g. when an agent is half-way through its partial mute) the window is shifted forwards and a new partial route is computed."
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Silver to use nodes for calculating routes using an algorithm because this is the standard means of breaking down positions for decision making [Silver, pg. 2, col 2]. Additionally, it would have been obvious to further modify Huber with Silver to use a WHCA* because the WHCA* algorithm resolves some issues presented when using other types of A* algorithms by allowing agents to cooperate after reaching the destination, dynamically adjust order, and improve efficiency [Silver, pg. 3, col 2].
Huber does not disclose: wherein the routing system is configured to determine reserved and free time windows for each logical position.
However, Yu teaches: wherein the routing system is configured to determine reserved and free time windows for each logical position. See [Yu, pg. 4], which explains that the nodes are assigned an idle or occupied status, "In order to prevent problems such as insufficient path capacity, multi-vehicle conflict, path crossing, and loop deadlock when multiple AGVs operate at the same time within a limited path capacity range, in order to ensure the continuity of motion, the AGV motion instruction needs to be planned in advance and pre-stored in the memory of the AGV, the current position of the AGV and the to-be-arrived node are marked as occupied, and when leaving the node, the AGV is marked as idle, and when the other AGV is planned in real time, the node currently occupied by the AGV is excluded."
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Yu to assign nodes individual status because doing so helps minimize potential vehicle conflicts [Yu, pg.4].
Huber does not disclose: […], and to assign an individual reservation length to each carrier for a[[the]] next move based on logical positions with free time windows.
However, Wurman teaches: […], and to assign an individual reservation length to each carrier for a[[the]] next move based on logical positions with free time windows. See [Wurman, pg. 6, para 0059], which explains that the reservation module reserves segments for each mobile drive unit, "Segment reservation module 96 receives reservation requests from mobile drive units 20 attempting to move along paths generated by route planning module 94. These reservation requests request the use of a particular portion of workspace 70 (referred to herein as a "segment") to allow the requesting mobile drive unit 20 to avoid collisions with other mobile drive units 20 while moving across the reserved segment. In response to received reservation requests, segment reservation module 96 transmits a reservation response granting or denying the reservation request to the requesting mobile drive unit 20 using the communication interface module 98. This process is also discussed in greater detail below with respect to FIG. 5."
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Wurman to reserve free segments to each individual mobile drive units. Doing so helps prevent collisions by denying or accepting a full path of the drive unit based on the availability of the segments [Wurman, pg. 6, para 0059].
Huber does not disclose: wherein an infinite reservation time is assigned to a logical position on the transport plane […] wherein the routing system is configured to assign an infinite reservation time to the logical position when one or more of the following is realized: the logical position is a position of a carrier without a final destination, the logical position is considered as broken or blocked, during the cooperative time window T no possibility is found to move the carrier from the logical position.
However, Silver teaches: wherein an infinite reservation time is assigned to a logical position on the transport plane […] wherein the routing system is configured to assign an infinite reservation time to the logical position when one or more of the following is realized: the logical position is a position of a carrier without a final destination, the logical position is considered as broken or blocked, during the cooperative time window T no possibility is found to move the carrier from the logical position. See [Silver, pg. 3, col 2], which explains that once the agent reaches the destination it blocks the space until it is moved, "One issue with the previous algorithms is how they terminate once the agents reach their destination if an agent sits on its destination, for example in a narrow corridor, then it may block off parts of the map to other agents. Ideally agents should continue to cooperate after reaching their destinations, so that an agent can move off its destination and all others to pass," and further see [Silver, pg. 2, col 1] which explains that this can be set as wait move to keep the agent stationary, "The individual searches are performed in three dimensional space-time, and take account of the planned routes of other agents. A wait move is included in the agent's action set, to enable it to remain stationary. After each agent's route is calculated, the states along the mute are marked into a reservation table. Entries in the reservation table are considered impassable and are avoided during searches by subsequent agents."
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Silver to hold a position on the transport plane. Doing so prevents agents from planning a colliding route [Silver, pg. 2, col 1].
Huber further discloses: wherein the control system comprises at least one executing unit configured for executing the planned routes for transporting the carriers from their respective start position to their respective final position. See [Huber, pg. 3, para 0032] , which identifies the control unit of the system that pre-calculates the route and controls the carrier to move, "[0032] […] The system can also comprise a control unit such as, for example, in the form of a microprocessor and program storage. The control unit can be adapted to control the laboratory sample distribution system such that the method as described above can be performed. The control unit can be adapted to pre-calculate routes depending on the transfer locations during an initialization of the laboratory sample distribution system and to control the drive such that the sample container carriers can move along the pre-calculated routes after the initialization of the laboratory sample distribution system."
Examiner’s Note: For Claim 1 above, the control unit of Huber refers to the limitations of the control system and executing unit.
Regarding Claim 3, Huber as modified discloses the limitations of Claim 1.
Huber does not disclose: wherein the routing system is configured to use as many positions along a straight-line path as are available .
However, Wurman teaches: wherein the routing system is configured to use as many positions along a straight-line path as are available . See [Wurman, pg. 12, para 0105], which explains that the straight segments are generated based on a maximum allowed segment move within one reservation, "Although the illustrated example, utilizes only straight segments 17, particular embodiments of inventory system 10 may be configured to generate paths that include segments covering turns, curves, and other non-linear portions. Additionally, although in the illustrated example segments 17 extend without limit between turns in path 16, particular embodiments of inventory system 10 may be configured to generate paths 16 that have an upper limit on segment length or to allow only up to a maximum segment length to be reserved with a single reservation. As a result, a relatively long straight segment, such as segment 17 c, may in reality represent a series of smaller, connected segments 17 running in the same direction." See also [Wurman, pg. 4, para 0047], which explains that the management system ensures efficient use of space, equipment, and resources by using cells based on availability, including during routing and use of the workspace by mobile drive units, "While the appropriate components of inventory system 10 complete assigned tasks, management module 15 may interact with the relevant components to ensure the efficient use of space, equipment, manpower, and other resources available to inventory system 10. As one specific example of such interaction, management module 15 is responsible, in particular embodiments, for planning the paths mobile drive units 20 take when moving within workspace 70 and for allocating use of a particular portion of workspace 70 to a particular mobile drive unit 20 for purposes of completing an assigned task," and [Wurman, pg. 15, paras 0129-0130], which further explains that the route planning module reserves and uses cells based on availability to the mobile drive unit based on its type and status, "[0129] By considering the state of the requesting mobile drive unit 20 when generating path 16, route planning module 94 may make more intelligent decisions regarding paths 16 that route planning module 94 generates for that mobile drive unit 20. In particular embodiments, route planning module 94 may consider the state of a requesting mobile drive unit 20 to allow route planning module 94 to selectively use cells, paths, or equipment that might be prohibited for use by mobile drive units 20 of a certain state. Similarly, in particular embodiments, route planning module 94 may consider the state of a requesting mobile drive unit 20 to limit the use of particular cells, paths, or equipment by mobile drive units 20 of a particular state so that they can be available for use by mobile drive units 20 having states preferable for using the relevant cell, path, or equipment. [0130] […].. Consequently, cells 14 that would otherwise have to be prohibited from use in any paths may be selectively utilized in paths for appropriate mobile drive units 20, thereby increasing the space resources available to route planning module 94 for routing requested paths 16."
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Wurman to limit straight moves to a maximum allowed length of available cells. Doing so helps to minimize issues which can occur, such as fuel or charge shortage, that can cause a delay or cause the mobile unit to get stranded [Wurman, pg. 15, para 0132] and ensures that the mobile unit does not utilize cells which it may be prohibited from using or may cause a blockage or interruption to traffic flow [Wurman, pg. 15, para 0129 and pg. 19, para 0160].
Regarding Claim 4, Huber as modified discloses the limitations of Claim 3.
Huber does not disclose: wherein a number of the positions available for a straight move is less than below a determined maximum reservation length.
However, Wurman teaches: wherein a number of the positions available for a straight move is less than below a determined maximum reservation length. See again [Wurman, pg. 12, para 0105], which explains that the straight segments are generated based on a maximum allowed segment move within one reservation and [Wurman, pg. 4, para 0047], which explains that the management system ensures efficient use of space, equipment, and resources by using cells based on availability, including during routing and use of the workspace by mobile drive units and [Wurman, pg. 15, paras 0129-0130], which further explains that the route planning module reserves and uses cells based on availability to the mobile drive unit based on its type and status.
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Wurman to limit straight moves to a maximum allowed length of available cells. Doing so helps to minimize issues which can occur, such as fuel or charge shortage, that can cause a delay or cause the mobile unit to get stranded [Wurman, pg. 15, para 0132] and ensures that the mobile unit does not utilize cells which it may be prohibited from using or may cause a blockage or interruption to traffic flow [Wurman, pg. 15, para 0129 and pg. 19, para 0160].
Regarding Claim 10, Huber as modified discloses the limitations of Claim 1.
Huber does not disclose: wherein the routing system is configured to allow at least one of the logical positions to be only addressed as final destination by the carriers and forbidden to be used as an intermediate destination .
However, Yu teaches: wherein the routing system is configured to allow at least one of the logical positions to be only addressed as final destination by the carriers and forbidden to be used as an intermediate destination . See [Yu, pg. 3], which explains that the purpose of the nodes is defined in advanced and are set only to one type, "(1) According to the present invention, path nodes (station points, acceleration and deceleration points, parking points, etc.) planned in advance in an AGV field operation environment are pre-stored in a database, virtual mapping of an electronic map in a scheduling system to a field environment is established, and path nodes can be flexibly and variably set according to actual needs, thereby improving the arrangement and modification flexibility of pipelines such as automatic processing or assembly."
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Yu to define positions as only one type, such as an intermediate or final destination point. Doing so prevents a node from serving as a destination and an intermediate point, which improves the efficiency and directness of the paths that are generated [Yu, pg. 3].
Regarding Claim 13, Huber as modified discloses the limitations of Claim 1.
Huber further discloses: wherein the routing system is configured to release each logical position reserved by a[[the]] current move after the carrier passed a predefined logical position on the transport plane. See [Huber, pg. 4, para 0054], which explains that the fields are reserved before the carrier moves and released when the carrier passes the field, "Given that for a sample container carrier to be moved on route 40' the logical fields 111 on the route 40' have been reserved before the logical fields 111 on the route 41' have been reserved for another sample container carrier to be moved on route 41', the sample container carrier moving on route 41' can stop before reaching the field in the intersection of the routes 40' and 41', thus avoiding a potential collision. The reserved fields 111 can be released when the sample container carriers have passed the reserved fields 111."
Regarding Claim 17, Huber as modified discloses the limitations of Claim 1.
Huber does not disclose: wherein the routing system is configured to allocate a used-cost to a logical position depending on how often a carrier moved over, started or stopped on this logical position and minimize the used-cost for each planned move.
However, Wurman teaches: wherein the routing system is configured to allocate a used-cost to a logical position depending on how often a carrier moved over, started or stopped on this logical position and minimize the used-cost for each planned move. See [Wurman, pg. 24, para 0209], which explains that the system associates a cost to each cell, or lift, based on its historical use, "For example, in particular multi-story embodiments of inventory system 10, resource scheduling module 92 may associate a cost with the use of each cell 14 in workspace 770. This cost may represent the time expended in driving across the cell 14, the historical level of congestion within the cell 14 or neighboring cells 14, the number of inventory holders 30 adjacent to the cell, and/or any other consideration that may reflect the cost in time, space, and/or other resources that is associated with routing a mobile drive unit 20 through the relevant cell 14. Likewise, resource scheduling module 92 may associate a cost with the use of drive lifts 790 and/or other equipment used to facilitate movement of mobile drive units 20 such as conveyors, escalators, and/or cranes. Using drive lifts 790 as an example, this cost may represent the time expended in riding drive lift 790 between particular floors 772, the power expended in operating drive lift 790, the frequency with which multi-floor paths using that drive lift 790 are otherwise generated by resource scheduling module 92, and/or any other consideration that may reflect the cost in time, space, and/or other system resources that is associated with providing mobile drive unit 20 a path 16 that utilizes the relevant drive lift 790." And further [Wurman, pg. 24, para 0210], which explains that the system works to find the least costly route for each request, "When management module 15 receives an inventory request identifying, for example, a particular inventory item 40 to be retrieved, resource scheduling module 92 may select an inventory holder 30 based, at least in part, on the least-costly route to each of the inventory holders 30 currently storing the requested inventory item 40."
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Wurman to use a cost for the use of each cell. Doing so allows the system to compare costs of paths and pick the least costly path [Wurman, pg. 24, para 0210], including optimizing paths based on congestion [Wurman, pg. 5, para 0048].
Regarding Claim 18, Huber as modified discloses the limitations of Claim 1.
Huber does not disclose: wherein the routing system is configured to check whether a dead-lock occurred and in the case a dead-lock is detected for all carriers adjacent to the dead-lock a[[the]]next n-moves are chosen from possible moves ignoring a metric to the final destination.
However, Silver teaches: wherein the routing system is configured to check whether a dead-lock occurred and in the case a dead-lock is detected for all carriers adjacent to the dead-lock a[[the]]next n-moves are chosen from possible moves ignoring a metric to the final destination. See [Silver, pg. 4], which explains a cooperative algorithm allows agents in a grouping to step aside for other agents to pass, "A large throng of agents tends to build up in a key bottleneck, and the high agitation level of the agents is insufficient to escape the deadlock. When using any of the three Cooperative A* algorithms, agents are able to step aside and allow others to pass, dealing comfortably with bottleneck situations."
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Silver to allow agents to move aside. Doing so ensures that the deadlock can be efficiently escaped [Silver, pg. 4]
Regarding Claim 19, Huber as modified discloses the limitations of Claim 18.
Huber does not disclose: wherein the next n-moves are chosen randomly.
However, Silver teaches: wherein the next n-moves are chosen randomly. See [Silver, pg. 2], which explains that in as part of an A* algorithm the agents can use random behavior to escape bottlenecks, "One possibility, used here, is to increase an agent's agitation level every time it is forced to reroute. Random noise is then added to the distance heuristic in proportion to the agitation level. As the agents behave increasingly more randomly it is hoped that they will escape from the problematic area and try different routes. If bottlenecks occur in crowded regions, they may take arbitrarily long to be resolved. Whilst caught in a bottleneck, agents constantly reroute in an attempt to escape, requiring a full recomputation of the A* search almost every tum. This leads to visually disturbing behavior that is perceived as unintelligent Each change in route is made independently. leading to cycles in ,which the same location may be visited repeatedly in a loop."
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Silver to allow agents to move randomly to escape a bottleneck. Using random cycling is common for A* algorithms and further it is common to use brute force methods such as simply adding agitation [Silver, pgs. 1-2].
Regarding Claim 20, Huber as modified discloses the limitations of Claim 1.
Huber does not disclose: wherein the windowed hierarchical cooperative informed search algorithm is designed for reserving time windows in continuous time and based on at least one realistic time travel model.
However, Silver teaches: wherein the windowed hierarchical cooperative informed search algorithm is designed for reserving time windows in continuous time and based on at least one realistic time travel model. See [Silver pg. 6, cols 1-2], which explain that using the windowed approach allows application to realtime environments including continuous environments,"[col 1] Although slightly lower than CA*, the initial cost of HCA* is still too great for realtime applications. By windowing the search to a fixed depth, the preecalculation can be reduced to under 1ms per agent. The abstract search is spread over the duration of the route, guiding the cooperative search quickly towards the destination. The ongoing cost of WHCA * is under 0.6ms per agent, suitable for real-time use. [col 2] Although this research was restricted to grid environments, the algorithms presented here apply equally to more general pathfinding domains. Any continuous environment or navigational mesh can be used, so long as each agent's route can be planned by discrete motion elements."
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Silver to use the windowed HCA* algorithm for continuous, real time models. Doing so provides a low cost option which is suitable for real-time use and adaption to any environment that can be broken down into discrete elements [Silver pg. 6, cols 1-2].
Claims 5-7, 9, and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Huber, in view of Wurman, Silver, and Yu, and further in view of Nettles et al., PG Pub US-2008/0275582-A1 (herein “Nettles”).
Regarding Claim 5, Huber as modified discloses the limitations of Claim 1.
Huber does not disclose: wherein the routing system is configured to receive status information of the transport system.
However, Nettles teaches: wherein the routing system is configured to receive status information of the transport system. See [Nettles, pg. 7, paras 0082-0088], which explains that the elements and state of the factory of the system are monitored by the MAS (move appointment scheduler) through the data store, "[0082] […] the process flow 100 will include a number of handling components […]. The MAS 375 determines the appropriate material transports required in order for the lot 130 to meet a confirmed processing appointment 675 or, if needed, a preceding carrier-in appointment associated with the processing appointment 675. [0083] To do this, the MAS 375 obtains the current […] or projected […] location of the lot 130 from a data store 690, which is a part of the computing system 125, shown in FIG. 1. The data store 690 may be of any suitable structure known to the art, and may actually include several data structures (not shown). The data store 690 is used to store a wide variety of information that may be used in the automated control of the factory, including: [0084] associations among various pieces of equipment, e.g., the association of the nearest stocker to a process tool; [0085] the duration of certain events in the fab, e.g., the duration of process-operations that might be scheduled or the duration of material transports from one location to another; [0086] the location of certain manufacturing domain entities, e.g., the locations of lots or mobile resources; and [0087] the states of the factory. Thus, the data store 690 contains data indicating the definition and state of the AMHS 138 and the status of the factory as a whole. [0088] The data store 690 consequently includes information such as the current location of a carrier (not shown) containing the lot 130. The data store 690 also contains data indicating relationship of various process stations 105 through the AMHS 138, such that the material transports necessary to reach one point in the process flow 100 from another can be determined. Based on the source location, the destination location, and the start time of the appointment, the MAS 375 determines the appropriate material transports and schedules move appointments on the calendar 685 of the LSA 605."
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Nettles to track the status of the facility. Doing so allows the system to react to changes in the factory and ensure that the tasks are added, initialized, and completed [Nettles, pg. 10, para 0112] even in unexpected situations such as a machine breaking [Nettles, pg. 9, para 0103].
Regarding Claim 6, Huber as modified discloses the limitations of Claim 5.
Huber does not disclose: wherein the routing system is configured to compare newly received status information with .
However, Nettles teaches: wherein the routing system is configured to compare newly received status information with . See [Nettles, pg. 10, paras 0111-0112], which explain that the software notifiers and listeners track the events to update the data store, which allows for reactive scheduling to changes in the factory, "[0111] To this end, the software agents employ additional software components (not shown) known as "notifiers" and "listeners." The software agents employ listeners to track events in the process flow that can affect their scheduling. […] Notifiers "publish" events when changes occur within the factory. […] The various software agents 365 can then keep their calendars updated as changes are instituted by other software agents 365. The data store 690 also employs a number of listeners to keep informed as to events in the factory that change the state thereof. The notifiers and listeners therefore also update the data store 690, so that the state of the factory and factory control systems is accurately reflected when the MAS 375 accesses it to determine the location and appropriate material transports for a lot 130 that needs to be transported. [0112] In addition to the utility of the notifiers and listeners in "reactive scheduling," the ability of the data store 690 to keep and update the state of the factory through the notifiers and listeners is particularly useful in "initial scheduling.”"
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Nettles to track the status of the facility. Doing so allows the system to react to changes in the factory and ensure that the tasks are added, initialized, and completed [Nettles, pg. 10, para 0112] even in unexpected situations such as a machine breaking [Nettles, pg. 9, para 0103].
Regarding Claim 7, Huber as modified discloses the limitations of Claim 6.
Huber further discloses: wherein upcoming moves. See [Huber, pg. 2, paras 0024-0025], which explains that the system does collect operating data, and initializes the routes based on the data, "After the initialization of the laboratory sample distribution system, operating data of the laboratory sample distribution system can be collected and stored. During a next initialization of the laboratory sample distribution system, the routes can be pre-calculated depending on the transfer locations and depending on the operating data. [0025] The operating data can comprise information regarding a volume of traffic on the routes. The information regarding the volume of traffic can comprise information of the number of sample container carriers being moved on the route per time unit (e.g., per minute/hour/day etc.). A time profile of the volume of traffic over the operating time may be determined." And further [Huber, pg. 2, paras 0017-0018], which explains that although the routes are typically pre-calculated they can be adapted if there is an error, "[0017] […] The term "fixed" can denote that the routes can be statically calculated (i.e. not recalculated) and that the calculated routes can be used by several sample container carriers and may not be calculated for each sample container carrier individually. Self-evidently, in specific use scenarios, the sample container carriers may move apart from the pre-calculated routes, e.g., in case the sample container carriers have to be removed from the transport plane and/or in error conditions. [0018] Further, empty sample container carriers may move along different routes and/or apart from the precalculated routes.”
Huber does not disclose: […] with new reservation lengths are calculated for upcoming moves when a change in status is detected.
However, Nettles teaches: […] with new reservation lengths are calculated for upcoming moves when a change in status is detected. See [Nettles, pg. 9, para 0103], which explains that the schedule can be adapted, "In the illustrated embodiment, scheduling appointments includes managing booked appointments. As previously mentioned, the LSA 605 also calls the MAS 375 for "reactive scheduling." Booked appointments are subject to modification to accommodate the scheduling of new appointments and to adjust to unexpected developments, and the MAS 375 reacts to these events accordingly. Booked processing appointments may be shifted, bumped, canceled, and re-scheduled. Some events causing these things to happen are unexpected. A wafer-based machine, for instance, may go down without having been scheduled to do so. This process tool 115 might break down in the middle of processing a plurality of wafers 130, leaving some of them processed, some of them unprocessed, and all of them on the process tool 115. The MAS 375 for the lot 130 must be able to schedule appropriate material transports upon invocation by the respective LSAs 605."
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Nettles to track the status of the facility. Doing so allows the system to react to changes in the factory and ensure that the tasks are added, initialized, and completed [Nettles, pg. 10, para 0112] even in unexpected situations such as a machine breaking [Nettles, pg. 9, para 0103].
Regarding Claim 9, Huber as modified discloses the limitations of Claim 1.
Huber does not disclose: wherein the routing system is configured to check whether all carriers arrive within a planned reservation length and when carriers are detected which will not arrive within the planned reservation length a new planned reservation length will be stretched and affected plans of other carriers are recomputed.
However, Nettles teaches: wherein the routing system is configured to check whether all carriers arrive within a planned reservation length and when carriers are detected which will not arrive within the planned reservation length a new planned reservation length will be stretched and affected plans of other carriers are recomputed. See [Nettles, pgs. 9-10, paras 0105-0108], which explains that if a transport is late the appointments are adjusted, "[0105] For instance, a processing appointment may shift earlier in time within its commitment window if a previous processing appointment completes early. Similarly, a processing appointment might be shifted later in time if the previous processing appointment runs too long. […]. […] a later start time means the lot 130 should transport later. […] different material transports may be appropriate to achieve the correct arrival time for the lot 130. In these situations, the move appointments may be shifted responsive to the shift in the associated processing appointment. Note that multiple move appointments may be scheduled for a lot 130 to reach its destination location. Consequently, there may be several move appointments to shift in some circumstances. […] [0107] Assuming a change needs to be made, if the booked move appointment is inactive, the MAS 375 can shift it or cancel it and schedule another. If the booked move appointment is active, but the material transport itself has not yet begun, the booked move appointment can be canceled, and a new, more appropriate move appointment scheduled. If the booked move appointment is active and the material transport itself has actually begun, the LSA 605 can take one of several approaches. The LSA 605 may wait for the material transport in the active move appointment to finish and then book new move appointments to the new destination at the new processing appointment start time. Or, the LSA 605 can modify the current move appointment by notifying the AMHS 138 of the new destination and new arrival time. Or, the LSA 605 can notify the AMHS 138 to abort the current move appointment in mid-stream and then book new appointments to the new destination by the new processing appointment start time. To some degree, the choice among these kinds of options will depend on the capabilities of the particular implementation of the AMHS 138. [0108] Appointments are also commonly changed when their duration, or the duration of an appointment immediately preceding it, is longer than expected. […] FIG. 5 illustrates one such situation. More particularly, in FIG. 5, the move appointment M1 had a longer duration than was expected, and so the move appointment M2 and the appointment APP 1 were shifted later in time to accommodate this longer duration. In either case, the longer than expected duration means the LSA 605 calls the MAS 375 to expand the move appointment M1 . If necessary, then the MAS 375 begins shifting, canceling, and rescheduling other move appointments."
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Nettles to adjust the reservations if a transport is late. Doing so allows the system to react to changes in the factory and ensure that the tasks are added, initialized, and completed [Nettles, pg. 10, para 0112] even in unexpected situations such as a machine breaking [Nettles, pg. 9, para 0103] and using reactive scheduling further minimizes waiting and maximizes "just-in-time" transport [Nettles, pg. 9, para 0102].
Regarding Claim 15, Huber as modified discloses the limitations of Claim 1.
Huber does not disclose: wherein the routing system is configured to adapt a[[the]] maximum reservation length depending on a[[the]] deviation of a[[the]] planned reservation length with a maximum reservation length.
However, Nettles teaches: wherein the routing system is configured to adapt a[[the]] maximum reservation length depending on a[[the]] deviation of a[[the]] planned reservation length with a maximum reservation length. See [Nettles, pg. 9, para 0102], which explains that margin can be used to adapt the maximum queue time, "As mentioned above, the illustrated embodiment stages the vehicle (at 206, in FIG. 2) to arrive 'just-in-time" for the material transport, so that the vehicle is waiting when the lot 130 is ready for the actual transport. Alternative embodiments may provide an extra margin in the timing so that the vehicle arrives for the actual transport and waits for the lot 130. Such a margin may be desirable to offset unanticipated delays during the staging. Also, where a lot 130 is subjected to a maximum queue time for the next process operation, the extra margin may be desirable to help prevent maximum queue time violations. The material transport can then be executed in conventional fashion."
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Nettles to update the reservation length using a set value, when the planned reservation length changes. Doing so prevents unmanageable violations to the reservation schedule and allows for managing transport conventionally [Nettles, pg. 9, para 0102].
Claims 8 and 11-12 are rejected under 35 U.S.C. 103 as being unpatentable over Huber, in view of Wurman, Silver, and Yu, and further in view of Kim, KR-101010718-B1 (herein “Kim”).
Regarding Claim 8, Huber as modified discloses the limitations of Claim 1.
Huber does not disclose: wherein the routing system is configured to determine subsequent planned routes after a move assuming that each move will succeed.
However, Kim teaches: wherein the routing system is configured to determine subsequent planned routes after a move assuming that each move will succeed. See [Kim pgs. 3-4], which explains that each reservation window of each node, within a route, is set based on the setting of the previous reservation window, "In addition, the selected node is added to the set of level nodes (S 50 bps), and the reserved time-window is updated with respect to the added node (S60 ay). In the method of updating the reserved time window, first, a location of a node added to the level node set is obtained, and the node is indicated by a reserved time-window at the same time point with respect to the node. In addition, the reservation time-window information of the node is updated with information of a reservation time-window of the corresponding resource to remove the corresponding time-range from the reserved time-window. Then, if the selected node is the destination node, the addition of the level node set is terminated, and otherwise, the step (S 30th ˜ S 60 th) is repeated (S 70°)." And further, [Kim, pg. 4], which explains that the schedule of the vehicle is determined using reservation time-windows which are available around the reserved time windows of other vehicles, "As described above, when the route of the vehicle is determined through the addition of the level node set, the driving schedule of the vehicle is generated by using the added node of the level node set. In this case, the driving schedule may be expressed in the order of sequential-reservation time-windows of nodes to be driven, and the reservation time-window of each node may be newly updated within the reserved time-window." Finally see [Kim, pgs. 2-3], which summarizes that the set of nodes, from initial to destination, is reserved around the availability of other predetermined vehicle driving schedules, which terminates upon setting the destination node, "According to another aspect of the present invention, there is provided a dynamic driving method of an automated guided vehicle occupying a plurality of resources, the method comprising the steps of: (a) setting a location of an initial vehicle, and adding the set location of the vehicle to a set node set by using the set location of the vehicle as a source node; and (b) setting a pre-stored vehicle-state-specific reservation available time-window for all nodes that can be visited next based on the node added to the level node set : (d) adding the selected node to a set of level nodes and updating the reserved time-window for the added node; (e) terminating the addition of a set of level nodes if the selected node is the destination node, and (f) if the route of the vehicle is determined through the addition of the set of level nodes, using the added node of the set of level nodes to generate a driving schedule of the vehicle."
Regarding Claim 11, Huber as modified discloses the limitations of Claim 10.
Huber does not disclose: wherein the transport plane is divided into logical subareas.
However, Kim teaches: wherein the transport plane is divided into logical subareas. See [Kim, pg. 2], which explains that the area is divided into non-redundant zones where only one vehicle is allowed at a time, "However, a conventional path search-method of an automated guided vehicle using such algorithms uses an adjustment policy that divides an area that is not redundant in order to prevent a collision of a vehicle and allows only one vehicle to be allowed in one zone. However, when the size of the vehicle is large and a large number of vehicles are simultaneously driven, it is necessary to use the driving area more efficiently to avoid congestion between vehicles."
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Kim to break the area down into subareas. Doing so allows the space to be more efficiently utilized, avoiding collisions and congestion [Kim, pg. 2].
Regarding Claim 12, Huber as modified discloses the limitations of Claim 11.
Huber does not disclose: wherein the routing system is configured to allow only a limited number of simultaneous moves of carriers within logical subareas of the transport plane.
However, Kim teaches: within logical subareas of the transport plane. See again, from Claim 11, [Kim, pg. 2], which explains that the area is divided into non-redundant zones where only one vehicle is allowed at a time.
However, Wurman teaches: wherein the routing system is configured to allow only a limited number of simultaneous moves of carriers […]. See [Wurman, pg. 6, para 0059], which explains that the requests are broken into segments, “These reservation requests request the use of a particular portion of workspace 70 (referred to herein as a "segment") to allow the requesting mobile drive unit 20 to avoid collisions with other mobile drive units 20 while moving across the reserved segment." See also [Wurman, pgs. 9-10, para 0090], which explains that the mobile drive units can move in the same area within the limit of units per area (density), “Furthermore, in particular embodiments or under certain conditions, multiple mobile drive units 20 may be allowed to utilize a particular segment 17 simultaneously. In such embodiments, mobile drive unit 20 may reserve a segment 17 by taking any appropriate steps to ensure that only mobile drive units 20 that satisfy particular conditions may use the reserved segment at the same time. As one example, in particular embodiments, segment reservation module 96 may reserve a particular segment by taking appropriate steps to ensure that only mobile drive units 20 moving in the same direction as that mobile drive unit 20 may reserve the relevant segment 17. As another example, in particular embodiments, inventory system 10 may be configured to allow a predetermined maximum number or concentration of mobile drive units 20 to use a given segment 17 and mobile drive unit 20 may reserve a given segment 17 by requesting a reservation for that segment 17. Management module 15 may then conditionally grant the reservation based on whether the current number or density of mobile drive units 20 utilizing the requested segment 17 is less than the predetermined maximum."
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Wurman to limit the number of moves within one area. Doing so would minimize issues, such as back log and throughput, which could arise from managing multiple requests for navigation at the same time and improve the efficiency of utilization of a facility resources [Wurman, pg. 1, para 0002-0003].
Claims 14 and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Huber, in view of Wurman, Silver, and Yu, and further in view of Hirofumi et al., JP-2004207335-A (herein “Hirofumi”).
Regarding Claim 14, Huber as modified discloses the limitations of Claim 1.
Huber does not disclose: wherein the routing system is configured to check the for success or failure of a[[the]] planned move and wherein a[[the]] complete transport plane with same values or for the logical subareas with different values, or for a carrier on a specific subarea with individual parameters depending on a number of failed plans.
However, Hirofumi teaches: wherein the routing system is configured to check the for success or failure of a[[the]] planned move and wherein a[[the]] complete transport plane with same values or for the logical subareas with different values, or for a carrier on a specific subarea with individual parameters depending on a number of failed plans. See [Hirofumi, pg. 4, para 0026], which explains the device tracks the congestion and failure of a plan, "The transport distance table stored in the storage unit of the transport facility control device 11 will be described with reference to FIG. As shown in FIG. 9, the transport distance table stores the distance, the number of passing vehicles, and the passage prohibition flag for each combination of the station that is the start point and the station that is the end point. When the number of vehicles passing through time becomes equal to or greater than a predetermined threshold value, it is determined that the route is congested. When the passage prohibition flag is set (set “1” and reset “0”), it indicates that a failure or maintenance has occurred in the transport route and the vehicle cannot pass." And further [Hirofumi, pg. 4, para 0036], which explains that in response to a failure an appropriate flag is set, "Referring to FIG. 14, in S122, transport equipment control device 11 refers to the transport distance table (FIG. 9) to detect a failure situation. At this time, it is detected that the transport route of (1) in which the passage prohibition flag shown in FIG. 9 is set has failed. If a failure condition is detected (YES in S122), the process proceeds to S124. If not (NO in S122), the process proceeds to S128." And finally [Hirofumi, pgs. 5-6, para 0057], which explains that when there is a failure the route is reset using the appropriate flags to prevent further failure, "[…] when setting the transport route, the transport route is selected in consideration of the transport distance, the transport time, the trouble situation, and the traffic congestion situation, and the efficiency is determined so that the time obtained by adding the transport wait time and the transport time is minimized. A transport route can be set well. Particularly, in the past, a truck that once departed from the source station would travel to the final destination, the destination station, on the route determined at that time, and would travel forward when it was transported halfway. When the trolley stops due to a failure or the like, the only option is to stop until the failure is cleared. Further, when traffic congestion occurs in front of the bogie, the only option is to stop until the traffic congestion is resolved. However, according to the transport system according to the present embodiment, the transport route is reset again each time the vehicle arrives at the branch station after leaving the transport source station. Therefore, the transport route can be set again by reflecting the trouble status and the traffic congestion status of the transport route at the time of the resetting. As a result, a large number of trolleys can be moved efficiently in a transport system having complicated and diversified transport routes."
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Hirofumi to track congestion and failures to set a flag. Doing so allows the system to reroute around the failure which improves the efficiency of the system instead of requiring the trolley to wait until the issue is resolved [Hirofumi, pgs. 5-6, para 0057].
Regarding Claim 16, Huber as modified discloses the limitations of Claim 1.
Huber does not disclose: wherein the routing system is configured to count the number of failed plans for each carrier and/or subareas of the transport plane and if a[[the]] number of failed plans exceeds a predefined number or the frequency of failing exceeds a predefined number either the carrier is marked as maintenance needed or the transport plane or the subarea is marked as maintenance needed and/or avoided or assigned reduced priority in the planning model to limit routing frequency .
However, Hirofumi teaches: wherein the routing system is configured to count the number of failed plans for each carrier and/or subareas of the transport plane and if a[[the]] number of failed plans exceeds a predefined number or the frequency of failing exceeds a predefined number either the carrier is marked as maintenance needed or the transport plane or the subarea is marked as maintenance needed and/or avoided or assigned reduced priority in the planning model to limit routing frequency . See [Hirofumi, pg. 4, para 0026], which explains the device tracks the congestion and failure of a plan or maintenance and [Hirofumi, pg. 4, para 0036], which explains that in response to a failure an appropriate flag is set. Finally see [Hirofumi, pgs. 5-6, para 0057], which explains that when there is a failure the route is reset using the appropriate flags to prevent further failure.
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify Huber with Hirofumi to track congestion and failures to set a flag. Doing so allows the system to reroute around the failure which improves the efficiency of the system instead of requiring the trolley to wait until the issue is resolved [Hirofumi, pgs. 5-6, para 0057].
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ERIN MARIE HARTMANN whose telephone number is (571)272-5309. The examiner can normally be reached M-F 7-5.
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, Kito Robinson can be reached at (571) 270-3921. 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.
/E.M.H./Examiner, Art Unit 3664
/KITO R ROBINSON/Supervisory Patent Examiner, Art Unit 3664