DETAILED ACTION
This communication is a Non-Final Office Action rejection on the merits. Claims 1-20 are currently pending and have been addressed below.
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 .
Information Disclosure Statement (IDS)
The information disclosure statement(s) filed on 10/11/2024 comply with the provisions 37 CFR 1.97, 1.98, and MPEP 609 and is considered by the Examiner.
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 and 11 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1 and 11 of U.S. Patent No. 12,014,298 B2. The claims presented here are almost the same – claims 1 and 11 in ‘298 also recite to: determine, by a trained machine learning algorithm, one or more durations of the one or more work orders; and determine an optimized service route for the one or more work orders based on multiple parameters. The application ‘298 is narrower as it further recites specific steps of how the optimized service route is determined (e.g., mathematical formula used to calculate a score for the optimal service route). Although the claims at issue are not identical, they are not patentably distinct from each other because the only difference is how ‘298 specifies the formula used to calculate the optimal service route.
Claims 2-10 and 12-20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 2-10 and 12-20 of U.S. Patent No. 12,014,298 B2. Although the claims at issue are not identical, they are not patentably distinct from each other because the only difference is how ‘298 specifies that some of the steps are performed in real-time.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e. an abstract idea) without reciting significantly more.
Independent Claims 1
Step One - First, pursuant to step 1 in the January 2019 Revised Patent Subject Matter Eligibility Guidance (“2019 PEG”) on 84 Fed. Reg. 53, the claim 1 is directed to an apparatus which is a statutory category.
Step 2A, Prong One - Claim 1 recites: A system comprising: training a machine learning algorithm to determine a duration of a new work order, based on (a) historical input data for the machine learning algorithm and (b) historical output data for the machine learning algorithm; determining one or more work orders for a service provider comprising: determining, by the machine learning algorithm, as trained, one or more durations of the one or more work orders; and determining an optimized service route for the one or more work orders based on: a count of the one or more work orders in the optimized service route; and an indication of whether a work order of the one or more work orders is scheduled immediately after and adjacent to one or more other work orders in the optimized service route; and updating a work schedule for the service provider based on the optimized service route. These claim elements are considered to be abstract ideas because they are directed to “mathematical concepts” which include “mathematical calculations.” In this case, the limitations of “determining … one or more durations” and “determining an optimized service route based on …” encompass mathematical operations (see MPEP 2106.04(a)(2)). If a claim limitation, under its broadest reasonable interpretation, covers “mathematical calculations,” then it falls within “mathematical concepts” grouping of abstract ideas. Accordingly, the claim recites an abstract idea.
Step 2A Prong 2 - The judicial exception is not integrated into a practical application. Claim 1 includes additional elements: one or more processors; one or more non-transitory computer-readable media; and a machine learning algorithm.
The processor is merely used to execute instructions (Paragraph 0019). The non-transitory computer-readable media is merely used to store instructions (Paragraph 0017). The machine learning is merely used to predict a respective duration of an unprocessed work order (Paragraph 0029). Merely stating that the step is performed by a computer component results in “apply it” on a computer (MPEP 2106.05f). These elements of “processor,” “computer-readable media,” and “machine learning” are recited at a high level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer element. Accordingly, alone and in combination, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. Therefore, the claims are directed to an abstract idea.
Step 2B - The claim does not include additional elements that are sufficient to amount significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the claims describe how to generally “apply” the concept of optimizing a service route. The specification shows that the processor is merely used to execute instructions (Paragraph 0019). The non-transitory computer-readable media is merely used to store instructions (Paragraph 0017). The machine learning is merely used to predict a respective duration of an unprocessed work order (Paragraph 0029). In this case, the claim does not provide any details about how the machine learning operates (see MPEP 2106.05f 2024 AI Guidance, example 47). Thus, nothing in the claim adds significantly more to the abstract idea. The claim is ineligible.
Independent claim 11 is directed to a method at step 1, which is a statutory category. Claim 11 recites similar limitations as claim 1 and is rejected for the same reasons at step 2a, prong one; step 2a, prong 2; and step 2b. Thus, the claim is is ineligible.
Dependent claims 2-8 and 12-18 are not directed to any additional claim elements. Rather, these claims offer further descriptive functions of elements found in the independent claims - such as: specifying the weighting factors and constrains used for determining the optimal service route; determining a respective score for each of the one or more feasible service routes based on the one or more weighted factors; specifying data included in the historical output data and historical input data; and re-determining the one or more work orders or the optimal service route for the service provider upon receiving an indication of a triggering event. These processes are similar to the abstract idea noted in the independent claim because they further the limitations of the independent claim which are directed to “mathematical concepts” which include “mathematical calculations.” Further, the additional functions of “receiving an indication of a triggering event” and “receiving a status update” are considered “field of use” at step 2A prong 2 since they’re just used to receive information, but the technology is not improved (MPEP 2106.05h). At step 2B, these are considered conventional functions since they’re just “performing repetitive calculations” and “receiving or transmitting data over a network” (MPEP 2106.05d). Thus, nothing in the claim adds significantly more to the abstract idea. The claim is ineligible.
Dependent claims 9-10 and 19-20 are directed to additional elements such as: a user interface executed on a device. The user interface is merely used to: receive a status update for a processed work order of the one or more work orders; and display the performance data of the one or more service providers for the use (Paragraphs 0041 & 0060). Merely stating that the step is performed by a computer component results in “apply it” on a computer (MPEP 2106.05f) being applicable at both Step 2A, Prong 2 and Step 2B. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. Further, instructions to display and/or arrange information in a graphical user interface may not be sufficient to show an improvement in computer-functionality (MPEP 2106.05a). Thus, nothing in the claim adds significantly more to the abstract idea. The claim is ineligible.
Claim Rejections - 35 USC § 102
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 the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1, 3-4, 6-8, 10-11, 13-14, 16-18, and 20 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Gupta et al. (US 2020/0034757 A1).
Regarding claim 1, Gupta et al. discloses a system comprising: one or more processors; and one or more non-transitory computer-readable media storing computing instructions that, when executed on the one or more processors, perform (Paragraph 0019, As used herein, the term “computing system” refers to a single electronic computing device that includes, but is not limited to a single computer, virtual machine, virtual container, host, server, laptop, and/or mobile device, or to a plurality of electronic computing devices working together to perform the function described as being performed on or by the computing system. As used herein, the term “medium” refers to one or more non-transitory, computer-readable physical media that together store the contents described as being stored thereon. Embodiments may include non-volatile secondary storage, read-only memory (ROM), and/or random-access memory (RAM). As used herein, the term “application” refers to one or more computing modules, programs, processes, workloads, threads and/or a set of computing instructions executed by a computing system. Example embodiments of an application include software modules, software objects, software instances and/or other types of executable code; Paragraph 0032, With this in mind, and by way of background, it may be appreciated that the present approach may be implemented using one or more processor-based systems such as shown in FIG. 3):
training a machine learning algorithm to determine a duration of a new work order, based on (a) historical input data for the machine learning algorithm and (b) historical output data for the machine learning algorithm (Paragraph 0068, As discussed below, in certain embodiments, the algorithm may be improved, or increased in accuracy, by utilizing machine learning, such as a feedback loop, an artificial neural network, or other corrective learning approach; Paragraph 0074, As discussed above, the machine learning 702 may be utilized to better inform, or increase an accuracy of, the input parameters 702. Generally, the machine learning 702 may estimate a certain value for an input parameter 700, such as an estimated completion time for a task or an estimated required agent skill level for a task. However, an estimated implementation 708 of a value may vary from an actual implementation 710 of the value. For example, a task may take an unexpected amount of time to complete, or may be more or less complicated than the capabilities of the estimated agent skill level. As such, the machine learning 702 may compare the estimated implementation 708 of the input parameter 700 to the actual implementation 710 of the input parameter, and may adjust the input parameter 700 based on the comparison. Indeed, in certain embodiments, the estimated implementation 708 of the input parameter 700 may be a result of an average of past implementations of the input parameter 700. For example, the algorithm 704 may consider previous performances of a certain kind of task when determining the input parameters 700 for the certain kind of task);
determining one or more work orders for a service provider comprising (Paragraph 0021, Embodiments of the present disclosure are directed to optimizing a travel route (e.g., the scheduling and assignment of tasks) in view of user configured criteria. For example, a set of tasks (e.g., service tasks) may be scheduled and assigned to a group of agents (e.g., field service agents/technicians) in an optimized manner in view of one or more client priority preferences):
determining, by the machine learning algorithm, as trained, one or more durations of the one or more work orders (Paragraph 0021, Embodiments of the present disclosure are directed to optimizing a travel route (e.g., the scheduling and assignment of tasks) in view of user configured criteria. For example, a set of tasks (e.g., service tasks) may be scheduled and assigned to a group of agents (e.g., field service agents/technicians) in an optimized manner in view of one or more client priority preferences. In certain embodiments, some of the algorithm inputs or outputs may be adjusted utilizing machine learning. For example, if the algorithm estimates a first completion time of a task, but the task ends up requiring a second, unexpected completion time, the machine learning aspect may adjust the estimated completion time for the task accordingly when determining future schedules and assignments; Paragraph 0074, As discussed above, the machine learning 702 may be utilized to better inform, or increase an accuracy of, the input parameters 702. Generally, the machine learning 702 may estimate a certain value for an input parameter 700, such as an estimated completion time for a task or an estimated required agent skill level for a task. However, an estimated implementation 708 of a value may vary from an actual implementation 710 of the value);
and determining an optimized service route for the one or more work orders based on: a count of the one or more work orders in the optimized service route (Paragraph 0021, Embodiments of the present disclosure are directed to optimizing a travel route (e.g., the scheduling and assignment of tasks) in view of user configured criteria. For example, a set of tasks (e.g., service tasks) may be scheduled and assigned to a group of agents (e.g., field service agents/technicians) in an optimized manner in view of one or more client priority preferences. Client priority preferences may indicate in which manner the client prefers the travel route to be optimized. For example, the client priority preference may indicate that the client prefers the travel route to be optimized to minimize travel time, to minimize agent overtime, to balance a distribution of tasks across agents, to maximize agent utilization, to minimize response time, or a combination thereof. An algorithm to schedule and assign tasks to agents may consider a variety of inputs when optimizing the travel route. For example, the algorithm may consider customer availability, agent availability, resource availability, a service level agreement, an appointment window, an agent skill level, agent travel time, agent availability, agent cost, preferred status of an agent, and so forth; Paragraph 0058, The workload of the agent may refer to the total number of tasks (or the total amount of work time associated with tasks) assigned and scheduled for an agent in a given working period. Depending on the user configured criteria as discussed below, the algorithm may balance a workload of a set of agents. For example, the algorithm may consider the workload of each agent of the set of agents and may assign tasks to the set of agents such that the respective workloads of the agents are substantially matched);
and an indication of whether a work order of the one or more work orders is scheduled immediately after and adjacent to one or more other work orders in the optimized service route (Paragraph 0021, Embodiments of the present disclosure are directed to optimizing a travel route (e.g., the scheduling and assignment of tasks) in view of user configured criteria. For example, a set of tasks (e.g., service tasks) may be scheduled and assigned to a group of agents (e.g., field service agents/technicians) in an optimized manner in view of one or more client priority preferences. Client priority preferences may indicate in which manner the client prefers the travel route to be optimized. For example, the client priority preference may indicate that the client prefers the travel route to be optimized to minimize travel time, to minimize agent overtime, to balance a distribution of tasks across agents, to maximize agent utilization, to minimize response time, or a combination thereof. An algorithm to schedule and assign tasks to agents may consider a variety of inputs when optimizing the travel route. For example, the algorithm may consider customer availability, agent availability, resource availability, a service level agreement, an appointment window, an agent skill level, agent travel time, agent availability, agent cost, preferred status of an agent, and so forth; Paragraph 0060, Minimizing travel time may refer to minimizing the total time spent traveling to and from (e.g., between) task locations by a set of agents. In certain embodiments, minimizing the travel time may also be associated with travel costs, which may be assessed based on missed working hours of the agent, which may vary based on respective agents' salary/billing hours. Similarly, minimizing travel distance may refer to minimizing the total distance traveled to and from (e.g., between) task sites by a set of agents. In some embodiments, the travel time and/or travel distance may be estimated using straight line distances and regional average speeds, or previous data, if a particular route between task sites has been previously travelled);
and updating a work schedule for the service provider based on the optimized service route (Paragraph 0067, Once the route data indicative of the task site details, the field agent details, and the client priority preference has been determined in blocks 604, 606, and 608, respectively, one or more optimized travel routes may be generated at block 610. Particularly, as discussed herein, determining the travel route may include the scheduling of tasks and the assignment of tasks to agents, which is optimized in view of the client priority preference while treating certain task and agent details as constraints. For example, the algorithm may iterate through all possible combinations of assignment and scheduling, and assess each travel route based on adherence to the user configured criteria. In certain embodiments, as discussed below, the client may be provided with an option to select among multiple travel routes, each of which may have respective metric ratings based on adherence of the travel routes to the client priority preference).
Regarding claim 11, Gupta et al. discloses a method being implemented via execution of computing instructions configured to run at one or more processors and stored at one or more non-transitory computer-readable media, the method comprising (Paragraph 0019, As used herein, the term “computing system” refers to a single electronic computing device that includes, but is not limited to a single computer, virtual machine, virtual container, host, server, laptop, and/or mobile device, or to a plurality of electronic computing devices working together to perform the function described as being performed on or by the computing system. As used herein, the term “medium” refers to one or more non-transitory, computer-readable physical media that together store the contents described as being stored thereon. Embodiments may include non-volatile secondary storage, read-only memory (ROM), and/or random-access memory (RAM). As used herein, the term “application” refers to one or more computing modules, programs, processes, workloads, threads and/or a set of computing instructions executed by a computing system. Example embodiments of an application include software modules, software objects, software instances and/or other types of executable code; Paragraph 0032, With this in mind, and by way of background, it may be appreciated that the present approach may be implemented using one or more processor-based systems such as shown in FIG. 3; Paragraph 0047, Keeping this in mind, FIG. 6 is flow chart of an embodiment of a process 600 to generate an optimized travel route (e.g., scheduling of tasks and assignment of tasks to agents) to perform a set of tasks (e.g., service tasks)):
training a machine learning algorithm to determine a duration of a new work order, based on (a) historical input data for the machine learning algorithm and (b) historical output data for the machine learning algorithm (Paragraph 0068, As discussed below, in certain embodiments, the algorithm may be improved, or increased in accuracy, by utilizing machine learning, such as a feedback loop, an artificial neural network, or other corrective learning approach; Paragraph 0074, As discussed above, the machine learning 702 may be utilized to better inform, or increase an accuracy of, the input parameters 702. Generally, the machine learning 702 may estimate a certain value for an input parameter 700, such as an estimated completion time for a task or an estimated required agent skill level for a task. However, an estimated implementation 708 of a value may vary from an actual implementation 710 of the value. For example, a task may take an unexpected amount of time to complete, or may be more or less complicated than the capabilities of the estimated agent skill level. As such, the machine learning 702 may compare the estimated implementation 708 of the input parameter 700 to the actual implementation 710 of the input parameter, and may adjust the input parameter 700 based on the comparison. Indeed, in certain embodiments, the estimated implementation 708 of the input parameter 700 may be a result of an average of past implementations of the input parameter 700. For example, the algorithm 704 may consider previous performances of a certain kind of task when determining the input parameters 700 for the certain kind of task);
determining one or more work orders for a service provider comprising (Paragraph 0021, Embodiments of the present disclosure are directed to optimizing a travel route (e.g., the scheduling and assignment of tasks) in view of user configured criteria. For example, a set of tasks (e.g., service tasks) may be scheduled and assigned to a group of agents (e.g., field service agents/technicians) in an optimized manner in view of one or more client priority preferences):
determining, by the machine learning algorithm, as trained, one or more durations of the one or more work orders (Paragraph 0021, Embodiments of the present disclosure are directed to optimizing a travel route (e.g., the scheduling and assignment of tasks) in view of user configured criteria. For example, a set of tasks (e.g., service tasks) may be scheduled and assigned to a group of agents (e.g., field service agents/technicians) in an optimized manner in view of one or more client priority preferences. In certain embodiments, some of the algorithm inputs or outputs may be adjusted utilizing machine learning. For example, if the algorithm estimates a first completion time of a task, but the task ends up requiring a second, unexpected completion time, the machine learning aspect may adjust the estimated completion time for the task accordingly when determining future schedules and assignments; Paragraph 0074, As discussed above, the machine learning 702 may be utilized to better inform, or increase an accuracy of, the input parameters 702. Generally, the machine learning 702 may estimate a certain value for an input parameter 700, such as an estimated completion time for a task or an estimated required agent skill level for a task. However, an estimated implementation 708 of a value may vary from an actual implementation 710 of the value);
and determining an optimized service route for the one or more work orders based on: a count of the one or more work orders in the optimized service route (Paragraph 0021, Embodiments of the present disclosure are directed to optimizing a travel route (e.g., the scheduling and assignment of tasks) in view of user configured criteria. For example, a set of tasks (e.g., service tasks) may be scheduled and assigned to a group of agents (e.g., field service agents/technicians) in an optimized manner in view of one or more client priority preferences. Client priority preferences may indicate in which manner the client prefers the travel route to be optimized. For example, the client priority preference may indicate that the client prefers the travel route to be optimized to minimize travel time, to minimize agent overtime, to balance a distribution of tasks across agents, to maximize agent utilization, to minimize response time, or a combination thereof. An algorithm to schedule and assign tasks to agents may consider a variety of inputs when optimizing the travel route. For example, the algorithm may consider customer availability, agent availability, resource availability, a service level agreement, an appointment window, an agent skill level, agent travel time, agent availability, agent cost, preferred status of an agent, and so forth; Paragraph 0058, The workload of the agent may refer to the total number of tasks (or the total amount of work time associated with tasks) assigned and scheduled for an agent in a given working period. Depending on the user configured criteria as discussed below, the algorithm may balance a workload of a set of agents. For example, the algorithm may consider the workload of each agent of the set of agents and may assign tasks to the set of agents such that the respective workloads of the agents are substantially matched);
and an indication of whether a work order of the one or more work orders is scheduled immediately after and adjacent to one or more other work orders in the optimized service route (Paragraph 0021, Embodiments of the present disclosure are directed to optimizing a travel route (e.g., the scheduling and assignment of tasks) in view of user configured criteria. For example, a set of tasks (e.g., service tasks) may be scheduled and assigned to a group of agents (e.g., field service agents/technicians) in an optimized manner in view of one or more client priority preferences. Client priority preferences may indicate in which manner the client prefers the travel route to be optimized. For example, the client priority preference may indicate that the client prefers the travel route to be optimized to minimize travel time, to minimize agent overtime, to balance a distribution of tasks across agents, to maximize agent utilization, to minimize response time, or a combination thereof. An algorithm to schedule and assign tasks to agents may consider a variety of inputs when optimizing the travel route. For example, the algorithm may consider customer availability, agent availability, resource availability, a service level agreement, an appointment window, an agent skill level, agent travel time, agent availability, agent cost, preferred status of an agent, and so forth; Paragraph 0060, Minimizing travel time may refer to minimizing the total time spent traveling to and from (e.g., between) task locations by a set of agents. In certain embodiments, minimizing the travel time may also be associated with travel costs, which may be assessed based on missed working hours of the agent, which may vary based on respective agents' salary/billing hours. Similarly, minimizing travel distance may refer to minimizing the total distance traveled to and from (e.g., between) task sites by a set of agents. In some embodiments, the travel time and/or travel distance may be estimated using straight line distances and regional average speeds, or previous data, if a particular route between task sites has been previously travelled);
and updating a work schedule for a service provider based on the optimized service route (Paragraph 0067, Once the route data indicative of the task site details, the field agent details, and the client priority preference has been determined in blocks 604, 606, and 608, respectively, one or more optimized travel routes may be generated at block 610. Particularly, as discussed herein, determining the travel route may include the scheduling of tasks and the assignment of tasks to agents, which is optimized in view of the client priority preference while treating certain task and agent details as constraints. For example, the algorithm may iterate through all possible combinations of assignment and scheduling, and assess each travel route based on adherence to the user configured criteria. In certain embodiments, as discussed below, the client may be provided with an option to select among multiple travel routes, each of which may have respective metric ratings based on adherence of the travel routes to the client priority preference).
Regarding claims 3 and 13, which are dependent of claims 1 and 11, Gupta et al. discloses all the limitations in claims 1 and 11. Gupta et al. further discloses wherein one or more of: (a) determining the one or more work orders for the service provider further comprises determining the one or more work orders for the service provider based at least in part on one or more constraints; or (b) determining the optimized service route for the one or more work orders further comprises determining one or more feasible service routes for the one or more work orders based at least in part on the one or more constraints; and wherein the one or more feasible service routes comprise the optimized service route (Paragraph 0071, To illustrate, an optimized travel route 706 may be determined and selected, and a set of agents may be accordingly assigned a set of tasks for a working period with a set schedule. However, a new task may be created that is associated with a service-level agreement (SLA) necessitating that the task be completed within a limited time frame. Accordingly, the algorithm 704 may consider the schedule and assignment of every agent within the set of agents, and may assign and schedule the task such that the task is performed within the constraints outlined in the SLA and such that the travel routes of the agents are still optimized in view of the client priority preference. Indeed, the optimized travel route 706 may be adjusted due to other changing conditions as well, such as priority changes, assignment changes, route changes, traffic conditions, and so forth; It can be noted that the claim language is written in alternative form. The limitation taught by Gupta et al. is based on “(a) determining the one or more work orders for the service provider further comprises determining the one or more work orders for the service provider based at least in part on one or more constraints”).
Regarding claims 4 and 14, which are dependent of claims 3 and 13, Gupta et al. discloses all the limitations in claims 3 and 13. Gupta et al. further discloses wherein: the one or more constraints comprise one or more of: a work shift constraint for the work schedule of the service provider; a total travel time limit for the optimized service route; a maximum count of the one or more work orders of the service provider; or none of the one or more work orders of the service provider is assigned to another service provider (Paragraph 0073, In some embodiments, the client may set additional constraints to the algorithm 704 in determining the optimized travel route 706. The user may choose to have the algorithm 704 only optimize only a portion of agents' available working hours. For example, in certain embodiments, the client may choose to have a portion of the agents, and/or portions of the agents' available working hours, determined via the algorithm 704. Indeed, in certain embodiments, the agents may be assigned tasks and/or schedule tasks according to other methods; It can be noted that the claim language is written in alternative form. The limitation taught by Gupta et al. is based on “a work shift constraint for the work schedule of the service provider”).
Regarding claims 6 and 16, which are dependent of claims 1 and 11, Gupta et al. discloses all the limitations in claims 1 and 11. Gupta et al. further discloses wherein: the historical output data comprise one or more historical check-in times and one or more historical check-out times for each of one or more fulfilled work orders; and the historical input data further comprise one or more skill levels of one or more performing service providers for each of the one or more fulfilled work orders (Paragraph 0074, As discussed above, the machine learning 702 may be utilized to better inform, or increase an accuracy of, the input parameters 702. Generally, the machine learning 702 may estimate a certain value for an input parameter 700, such as an estimated completion time for a task or an estimated required agent skill level for a task. However, an estimated implementation 708 of a value may vary from an actual implementation 710 of the value. For example, a task may take an unexpected amount of time to complete, or may be more or less complicated than the capabilities of the estimated agent skill level. As such, the machine learning 702 may compare the estimated implementation 708 of the input parameter 700 to the actual implementation 710 of the input parameter, and may adjust the input parameter 700 based on the comparison. Indeed, in certain embodiments, the estimated implementation 708 of the input parameter 700 may be a result of an average of past implementations of the input parameter 700. For example, the algorithm 704 may consider previous performances of a certain kind of task when determining the input parameters 700 for the certain kind of task).
Regarding claims 7 and 17, which are dependent of claims 1 and 11, Gupta et al. discloses all the limitations in claims 1 and 11. Gupta et al. further discloses wherein: the computing instructions, when executed on the one or more processors, further perform: upon receiving, via a computer network, an indication of a triggering event, re-determining (a) the one or more work orders or (b) the optimized service route for the one or more work orders, as re-determined, for the service provider (Paragraph 0071, To illustrate, an optimized travel route 706 may be determined and selected, and a set of agents may be accordingly assigned a set of tasks for a working period with a set schedule. However, a new task may be created that is associated with a service-level agreement (SLA) necessitating that the task be completed within a limited time frame. Accordingly, the algorithm 704 may consider the schedule and assignment of every agent within the set of agents, and may assign and schedule the task such that the task is performed within the constraints outlined in the SLA and such that the travel routes of the agents are still optimized in view of the client priority preference. Indeed, the optimized travel route 706 may be adjusted due to other changing conditions as well, such as priority changes, assignment changes, route changes, traffic conditions, and so forth; Examiner interprets “receiving a new task” as the triggering event”).
Regarding claims 8 and 18, which are dependent of claims 7 and 17, Gupta et al. discloses all the limitations in claims 7 and 17. Gupta et al. further discloses wherein: the triggering event comprises one or more of: a new unprocessed work order being added to a database; a change in the work schedule of the service provider; or an update in the one or more work orders of the service provider (Paragraph 0032, With this in mind, and by way of background, it may be appreciated that the present approach may be implemented using one or more processor-based systems such as shown in FIG. 3. Likewise, applications and/or databases utilized in the present approach stored, employed, and/or maintained on such processor-based systems; Paragraph 0071, To illustrate, an optimized travel route 706 may be determined and selected, and a set of agents may be accordingly assigned a set of tasks for a working period with a set schedule. However, a new task may be created that is associated with a service-level agreement (SLA) necessitating that the task be completed within a limited time frame. Accordingly, the algorithm 704 may consider the schedule and assignment of every agent within the set of agents, and may assign and schedule the task such that the task is performed within the constraints outlined in the SLA and such that the travel routes of the agents are still optimized in view of the client priority preference. Indeed, the optimized travel route 706 may be adjusted due to other changing conditions as well, such as priority changes, assignment changes, route changes, traffic conditions, and so forth; It can be noted that the claim language is written in alternative form. The limitation taught by Gupta et al. is based on a “new unprocessed work order being added to a database").
Regarding claims 10 and 20, which are dependent of claims 1 and 11, Gupta et al. discloses all the limitations in claims 1 and 11. Gupta et al. further discloses wherein the computing instructions, when executed on the one or more processors, further perform: receiving, via a computer network, a status update for a processed work order of the one or more work orders from a user interface executed on a device of the service provider; and updating the processed work order (Paragraph 0033, the computing system 80 may include various hardware components such as, but not limited to, one or more processors 82, one or more busses 84, memory 86, input devices 88, a power source 90, a network interface 92, a user interface 94, and/or other computer components useful in performing the functions described herein; Paragraph 0071, Indeed, the optimized travel route 706 may be adjusted due to other changing conditions as well, such as priority changes, assignment changes, route changes, traffic conditions, and so forth; Paragraph 0072, In some embodiments, the algorithm 704 may reassess the optimized travel route 706 periodically or continuously, such as after the completion of tasks. Indeed, the tasks may take unexpected amounts of time to complete, which may affect the optimized travel route 706; Examiner interprets “completion of tasks” as the “status update for a processed work order”).
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied 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 2, 5, 12, and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Gupta et al. (US 2020/0034757 A1), in view of Morris et al. (US 2014/0046585 A1).
Regarding claims 2 and 12, which are dependent of claims 1 and 11, Gupta et al. discloses all the limitations in claims 1 and 11. Gupta et al. further discloses wherein determining the optimized service route for the one or more work orders is further based on one or more … factors comprising one or more of: (a) one or more priorities of each of the one or more work orders; (b) one or more values of each of the one or more work orders; or (c) one or more ages of each of the one or more work orders (Paragraph 0071, To illustrate, an optimized travel route 706 may be determined and selected, and a set of agents may be accordingly assigned a set of tasks for a working period with a set schedule. However, a new task may be created that is associated with a service-level agreement (SLA) necessitating that the task be completed within a limited time frame. Accordingly, the algorithm 704 may consider the schedule and assignment of every agent within the set of agents, and may assign and schedule the task such that the task is performed within the constraints outlined in the SLA and such that the travel routes of the agents are still optimized in view of the client priority preference. Indeed, the optimized travel route 706 may be adjusted due to other changing conditions as well, such as priority changes, assignment changes, route changes, traffic conditions, and so forth; It can be noted that the claim language is written in alternative form. The limitation taught by Gupta et al. is based on “one or more priorities of each of the one or more work orders." Examiner interprets the “task deadline” as the “priority”).
Although Gupta et al. discloses determining the optimized service route for the one or more work orders based on multiple factors (e.g., priority, deadline to complete a task, travel distance, etc.), Gupta does not specifically disclose weighting the one or more factors.
However, Morris et al. discloses wherein determining the optimized service route for the one or more work orders is further based on one or more weighted factors comprising one or more of: (a) one or more priorities of each of the one or more work orders; (b) one or more values of each of the one or more work orders; or (c) one or more ages of each of the one or more work orders (Paragraph 0051, In some embodiments, the cost of the routes is based solely on a single criterion or factor (e.g., distance or estimated transit time). In other embodiments, the cost of the routes is based on two or more criteria or factors (multivariate analysis). The factors used to determine the cost can be weighted based on importance, estimated or actual effect on time, distance, energy use, or other criteria; Paragraph 0084, The route calculation module 225 can create one or more routes involving at least one vehicle to perform the impacted tasks. The tasks that are being scheduled may have different weightings based on the importance of the task, priority and classification of the customer, deadline for completion of the task, and the like. For example, some tasks that are initially impacted by the disruptive event may be able to be rescheduled for a time after the disruptive event has been resolved; It can be noted that the claim language is written in alternative form. The limitation taught by Morris et al. is based on “one or more priorities of each of the one or more work orders").
It would have been obvious to one ordinary skill in the art before the effective filing date to modify the system for determining an optimal service route for the one or more work orders based at least in part on one or more factors associated with the one or more work orders of the invention of Garber et al. to further specify wherein the one or more factors associated with the one or more work orders are weighted of the invention of Morris et al. because doing so would allow the system to determine the cost of the routes based on two or more criteria or factors (see Morris, Paragraph 0051). Further, the claimed invention is merely a combination of old elements, and in combination each element would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
Regarding claims 5 and 15, which are dependent of claims 3 and 13, Gupta et al. discloses all the limitations in claims 3 and 13. Gupta et al. further discloses wherein: determining the optimized service route for the one or more work orders further comprises determining one or more scores for each of the one or more feasible service routes based on one or more … factors comprising one or more of: (a) one or more priorities of each of the one or more work orders; (b) one or more values of each of the one or more work orders; or (c) one or more ages of each of the one or more work orders (Paragraph 0067, Once the route data indicative of the task site details, the field agent details, and the client priority preference has been determined in blocks 604, 606, and 608, respectively, one or more optimized travel routes may be generated at block 610. Particularly, as discussed herein, determining the travel route may include the scheduling of tasks and the assignment of tasks to agents, which is optimized in view of the client priority preference while treating certain task and agent details as constraints. For example, the algorithm may iterate through all possible combinations of assignment and scheduling, and assess each travel route based on adherence to the user configured criteria. In certain embodiments, as discussed below, the client may be provided with an option to select among multiple travel routes, each of which may have respective metric ratings based on adherence of the travel routes to the client priority preference; Paragraph 0071, To illustrate, an optimized travel route 706 may be determined and selected, and a set of age