DETAILED ACTION
This final Office action is responsive to amendments filed October 6th, 2025. Claims 1-4, 6-10, 12-13, 15-16, and 20-21 have been amended. Claims 1-4, 6-10, 12-13, 15-17, and 19-21 are presented for examination.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Arguments
Applicant’s arguments, see page 11, filed 10/6/25, with respect to claims 1, 3, 16, and 20 have been fully considered and are persuasive. The claim objections of 3/11/25 has been withdrawn.
Applicant’s arguments, see pages 11-12, filed 10/6/25, with respect to claims 1-4, 6-10, 12-13, 15-17, and 19-21 have been fully considered and are persuasive. The 35 USC 112(a) rejection of 3/11/25 has been withdrawn.
Applicant's arguments regarding claim rejections under 35 USC 101 filed 10/6/25 have been fully considered but they are not persuasive.
On pages 12-19 of the provided remarks, Applicant argues that the claim amendments present statutory subject matter. Beginning on page 12 of the provided remarks, Applicant cites the July 2024 Guidance Update on Patent Subject Matter Eligibility, stating, “claim limitations that only encompass AI in a way that cannot practically be performed in the human mind” do not recite an abstract idea and are therefore additional elements.” Citing various elements of the independent claims, Applicant argues that these limitations are additional elements that integrate an abstract idea into a practical application under Step 2A Prong 2 and provide significantly more under Step 2B. Examiner begins by stating that the limitations cited by Applicant are not all additional elements. For example, the limitation beginning “determine a plurality of worker scores” is a mental process evaluation as the scores are determined by combining the output of one or more models. Additionally, the use of an objective function is a mathematical concept in the form of a mathematical equation applied to determine the scores. Therefore, this limitation is directed to the abstract idea. Regarding “at a first time, for a first order, offer the first order to only the respective matched worker matched with the first order”, this limitation is also directed to the abstract idea of Certain Methods of Organizing Human Activity as the offering of orders to workers is managing personal behavior. Therefore, this limitation is directed to an abstract idea. The additional elements will be further discussed in later arguments.
Applicant continues on page 14 of the provided remarks to argue, “Claim 1 is patent eligible because claim 1 “saves computational resources by reducing the number of offers to track and by reducing push notification” – improvements that are rooted in computer technology”. Specifically, Applicant argues on page 15 of the provided remarks, “the platform is capable of providing a reduced number of offers during a first time. This reduced number of offers provides computational benefits. Specifically, such selective order offering of orders to only certain workers from a pool of available workers provides technical advantages over previous systems, such as saving computational resources by reducing the number of offers to track in a database and by reducing network traffic by limiting the number of push notifications that are sent.” Examiner respectfully disagrees and asserts, as previously stated to the Applicant, that this argument only applies to half of the claim. If the claim is completed in its entirety the above statement by Applicant is moot as the claim states, “in response to determining that the first order is distressed, automatically transmit additional push notifications to mobile devices of additional workers to offer the first order to the additional workers, thereby increasing a load on the network during the second time”. Therefore, the argued improvement rooted in computer technology is not achieved by the complete execution of the platform. Applicant’s argument is not persuasive.
Continuing on pages 15-16 of the provided remarks, Applicant argues “under current guidance, such improvements to computer technology are patent eligible. See MPEP 2106.04(d)(1).” Examiner asserts, citing MPEP 2106.05(a)(I), “In computer-related technologies, the examiner should determine whether the claim purports to improve computer capabilities or, instead, invokes computers merely as a tool. Enfish, LLC v. Microsoft Corp., 822 F.3d 1327, 1336, 118 USPQ2d 1684, 1689 (Fed. Cir. 2016).” The list provided within MPEP 2106.05(a)(I) states various examples that the courts have indicated may show an improvement in computer-functionality. These technical examples are not analogous to the argued order distribution method of the current claims. Applicant’s arguments are not persuasive.
Citing recent PTAB decision, Ex parte Mirza et al., Applicant argues “the improvements set forth in pending claim 1 are “rooted in computer technology” and, among other things, claim 1 enables the computing system to use fewer resources during a particular time by reducing network traffic during that time and by reducing the amount of data to track in a database.” Examiner respectfully disagrees and asserts that the decision of the argued Ex parte Mirza et al., is not analogous. Based on the decision of the PTAB, the Specification provided specific details of how the enacted claim would improve the specific functioning of exchange computing systems within the process of contract exchanges. The problem solved by the claims within the argued case were specific to the exchange computing system and resulted in an improved efficiency in the “match engine” to compare opposing transactions. This is not analogous to the generic “database” and “platform” of the current claims transmitting push notifications to workers. The argued case handled the active settlement of exchange contracts which is not analogous to the transmission of order push notifications. Applicant’s argument is not persuasive.
On page 17 of the provided remarks, Applicant argues “The modeling limitations of claim 1 integrate any alleged abstract idea into a practical application”. Specifically, Applicant argues that the modeling limitations of the claim, “improve the functioning of the models themselves. Moreover, as a result of these features, claim 1 is sufficiently precise and technical that is the type of claim that is eligible under current guidance.” Examiner respectfully disagrees and asserts that the cited July 2024 guidance provides various examples of “sufficiently precise and technical” artificial intelligence claims that are eligible under current guidance. However, the provided guidance does not state that all claims to AI inventions. Applicant’s argument is not persuasive.
On pages 17-18 of the provided remarks, Applicant argues that the amended model training limitations improve model performance. Citing paragraphs [0129], [0104], and [0133] of the provided Specification, Applicant argues, “the improvement to the models themselves are set forth in the Application”. Examiner respectfully disagrees and asserts that the ability to update models does not ensure improvement in model performance. While paragraph [00133] recites that the use of training data improves the model, the paragraph merely goes on to state, “By updating the order-worker selection model by using additional training data, one or more parameters of the order-worker selection model may be altered.” The alteration of parameters within a model does not result in improvement to the execution of a model. Applicant’s arguments are not persuasive.
Continuing on page 18 of the provided remarks, Applicant cites the Federal Circuit’s decision in Enfish and argues, “claim 1, though providing an improvement to software, still provides an improvement to computer technology – specifically, a process for utilizing and training the computer models in a manner that improves the computer models themselves.” Examiner respectfully disagrees and asserts that, as stated above, the alteration of parameters within a model does not result in improvement to the execution of a model. Additionally, the present claims are not analogous to the self-referential database of Enfish which, per MPEP 2106.05(a)(1), “The court concluded the claims were not directed to an abstract idea, but rather an improvement to computer functionality. Id. It was the specification’s discussion of the prior art and how the invention improved the way the computer stores and retrieves data in memory in combination with the specific data structure recited in the claims that demonstrated eligibility. 822 F.3d at 1339, 118 USPQ2d at 1691. The claim was not simply the addition of general purpose computers added post-hoc to an abstract idea, but a specific implementation of a solution to a problem in the software arts. 822 F.3d at 1339, 118 USPQ2d at 1691.” Applicant’s arguments are not persuasive.
Continuing on pages 18-19 of the provided remarks, Applicant cites the Appeals Review Panel of the PTAB in Ex parte Desjardins and argues that a claim that improves operation of a machine learning model is patent eligible. Examiner asserts, as stated above, the alteration of parameters within a model does not result in improvement to the execution of a model. Therefore, the argument that the claims improve the operation of a machine learning model is moot. The 35 USC 101 rejection is maintained. Applicant’s arguments are not persuasive.
On page 19 of the provided remarks, Applicant argues “Claim 16 does not include increasing the load on the network or increasing the usage of computer resources”. Examiner asserts that the claimed “reduce, during the first time, a number of offers to track in a database of the platform” is directed to an abstract idea as the tracking of offers to workers is a Certain Method of Organizing Human Activity managing personal behavior. The claimed “database” is recited so generically (no details whatsoever are provided other than that they are general purpose computing components and regular office supplies) that they represent no more than mere instructions to apply the judicial exception on a computer. These limitations can also be viewed as nothing more than an attempt to generally link the use of the judicial exception to the technological environment of a computer. Even when viewed in combination, the additional elements in the claims do no more than use the computer components as a tool. There is no change to the computers and other technology that is recited in the claim, and thus the claims do not improve computer functionality or other technology (See PEG 2019). The 35 USC 101 rejection is maintained. Applicant’s arguments are not persuasive.
Applicant’s arguments, see pages 20-21, filed 10/6/25, with respect to the rejection(s) of claim(s) claims 1-4, 6-10, 12-13, 15-17, and 19-21 under 35 USC 103 have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of Blakely (U.S 2019/0385125 A1) in view of Gibson (U.S 2015/0095120 A1) in view of Perry (U.S 2016/0300178 A1) in view of Ayat (U.S 2023/0316172 A1).
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-4, 6-10, 12-13, 15-17, and 19-21 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter;
When considering subject matter eligibility under 35 U.S.C. 101, it must be determined whether the claim is directed to one of the four statutory categories of invention, i.e., process, machine, manufacture, or composition of matter. If the claim does fall within one of the statutory categories, it must then be determined whether the claim is directed to a judicial exception (i.e., law of nature, natural phenomenon, and abstract idea), and if so, it must additionally be determined whether the claim is a patent-eligible application of the exception. If an abstract idea is present in the claim, any element or combination of elements in the claim must be sufficient to ensure that the claim amounts to significantly more than the abstract idea itself.
Claims 1-4, 6-10, 12-13, 15, and 21
Step 1: Independent claims 1 (system), and dependent claims 2-4, 6-10, 12-13, 15, and 21 respectively, fall within at least one of the four statutory categories of 35 U.S.C. 101: (i) process; (ii) machine; (iii) manufacture; or (iv) composition of matter. Claim 1 is directed to a system (i.e. machine).
Step 2A Prong 1: The independent claims recite using training data comprising historical order data and worker data, train one or more models to generate order-worker scores using a plurality of model features, wherein the plurality of model features comprise order characteristics, worker characteristics, and a time feature; determine a plurality of order-worker scores for a plurality of orders and a plurality of workers available to perform the plurality of orders, wherein determining the plurality of order-worker scores comprises, for each of the plurality of orders, determining, for each of the plurality of workers, a score using the one or more models, wherein the score is determined based on an objective function comprising a combination of a first value output by a first model of the one or more models with a second value output by a second model of the one or more models, wherein the objective function further comprises a scaled worker performance variable that alters the score without altering the first model or the second model, wherein each order of the plurality of orders comprises an origin location, a destination location, and a completion time; based at least in part on the plurality of order-worker scores and an optimization process applied across the plurality of order-worker scores, match each order of the plurality of orders to a respective matched worker of the plurality of workers; at a first time, for a first order, offer the first order to only the respective matched worker matched with the first order by transmitting a push notification to only a mobile device of the matched worker to reduce, during the first time, a number of push notifications transmitted by the platform across a network to a plurality of mobile devices and reduce, during the first time, a number of offers to track in a database of the platform; in real-time, at a second time later than the first time: for the first order of the plurality of orders, determine, based on a current time being near a completion time for the first order and based on the first order not being assigned, that the first order is distressed; re-execute the one or more models using an updated value for the time feature based on the second time to generate a second plurality of order-worker scores, wherein the second plurality of order-worker scores are determined using the objective function; update the training data to include a first training instance comprising (i) the matched worker, (ii) the first order, and (iii) an indication that the matched worker did not select the first order; and in response to determining that the first order is distressed, automatically transmit additional push notifications to mobile devices of additional workers to offer the first order to the additional workers, thereby increasing a load on the network during the second time, wherein the additional workers are selected from the plurality of available workers based on the second plurality of order-worker scores; receive, from a mobile device of the mobile devices of the additional workers, a notification that the first order is completed, wherein the mobile device is associated with a second worker of the plurality of workers; update the training data to include a second training instance comprising (i) the second worker, (ii) the first order, and (iii) an indication that the second worker completed the first order; and re-train the one or more models using the updated training data comprising the first training instance and the second training instance (Certain Method of Organizing Human Activity, Mental Process, Mathematical Concept), which are considered to be abstract ideas (See PEG 2019 and MPEP 2106.05). [Examiner notes the underlined limitations above reciting the abstract idea].
The steps/functions disclosed above and in the independent claims recite the abstract idea of Certain Methods of Organizing Human Activity because the claimed limitations are performing work management by matching each order of the plurality of orders to a matched worker of the plurality of workers, which is commercial interactions in the form of sales activity. The Applicant’s claimed limitations are performing work management by matching orders to workers, which recite the abstract idea of Certain Methods of Organizing Human Activity.
The steps/functions disclosed above and in the independent claims recite the abstract idea of Mental Process because the claimed limitations are managing work by determining a plurality of order-worker scores for a plurality of orders and a plurality of workers available to perform the plurality of orders using an objective function; based on the order-worker scores and an optimization process, matching each order of the plurality of orders to a matched worker of the plurality of workers; for a first order of the plurality of orders, determine, based on a current time being near, a completion time for the first order, and based on the first order not being assigned, that the first order is distressed; re-executing the model using an updated value for the timing feature; selecting additional workers based on the second plurality of order-worker scores, which are functions of the human mind in the form of observation, judgement, and evaluation. Additionally, the determine of order-worker scores and a score using one or more models could be done using pen and paper. The Applicant’s claimed limitations are performing work management by determining order-worker scores, matching orders to one or more workers, determining an order is in distress; and determining a score using one or more models, which recite the abstract idea of Mental Process.
The steps/functions disclosed above and in the independent claims recite the abstract idea of Mathematical Concepts because the claimed limitations are determining a order-worker scores utilizing an objective function comprising combining a first value output by a first model of the one or more models with a second value output by a second model of the one or more models, wherein the objective function further comprises a scaled worker performance variable that alters the score without altering the first model or the second model, which is a mathematical calculation. The Applicant’s claimed limitations are utilizing an objective function to determine order-worker scores, which recite the abstract idea of Mathematical Concepts.
In addition, dependent claims 2-4, 6-10, 12-13, 15, and 21 further narrow the abstract idea and recite further defining the plurality of workers; the plurality of orders; the one or more models; determining the score using the one or more models; updating one or more models; the past behavior of the worker; the order characteristics; and determining the availability of workers. These processes are similar to the abstract idea noted in the independent claims because they further the limitations of the independent claims which recite a certain method of organizing human activity which include commercial interactions such as sales activities and mental process. Accordingly, these claim elements do not serve to confer subject matter eligibility to the claims since they are directed to abstract ideas. Dependent claims 6 and 9 will be further discussed in Prong 2 analysis below.
Step 2A Prong 2: In this application, the above “transmitting a push notification to only a mobile device of the matched worker to reduce, during the first time, a number of push notifications transmitted by the platform across a network to a plurality of mobile devices; automatically transmit additional push notifications to mobile devices of additional workers to offer the first order to the additional workers; receive, from a mobile device of the mobile devices of the additional workers, a notification that the first order is completed, wherein the mobile device is associated with a second worker of the plurality of workers” steps/functions of the independent claims would not account for additional elements that integrate the judicial exception (e.g. abstract idea) into a practical application because receiving/storing data and displaying data merely add insignificant extra-solution activity and merely adds the words to apply it with the judicial exception. Also, the claimed “A platform comprising: a processor; and a memory coupled to the processor, the memory storing instructions that, when executed by the processor; a database; a mobile device of the matched worker; mobile devices of the additional workers; global position system (GPS) devices in mobile devices” would not account for additional elements that integrate the judicial exception (e.g. abstract idea) into a practical application because the claimed structure merely adds the words to apply it with the judicial exception and mere instructions to implement an abstract idea on a computer (See PEG 2019 and MPEP 2106.05).
In addition, dependent claims 2-4, 7-10, 12-13, 15, and 21 further narrow the abstract idea and dependent claims 9, 12, 13, and 21 additionally recite “receiving one or more communications from one or more of the plurality of workers”; “receive a communication from a communicating worker of the plurality of workers”; “in response to receiving a notification”; and “wherein the geolocations of the plurality of workers are determined using data generated” which do not account for additional elements that integrate the judicial exception (e.g. abstract idea) into a practical application because receiving/storing data and displaying data merely add insignificant extra-solution activity and the claimed “processor”, “a mobile application installed on a mobile device”, and “global position system (GPS) devices in mobile devices of the plurality of workers” which do not account for additional elements that integrate the judicial exception (e.g. abstract idea) into a practical application because the claimed structure merely adds the words to apply it with the judicial exception and mere instructions to implement an abstract idea on a computer (See PEG 2019 and MPEP 2106.05).
Independent claim 1 as well as dependent claims 5-6 and 9 recite the following limitations, “using training data comprising historical order data and worker data, train one or more models”, “update the training data to include a first training instance comprising (i) the matched worker, (ii) the first order, and (iii) an indication that the matched worker did not select the first order”; “update the training data to include a second training instance comprising (i) the second worker, (ii) the first order, and (iii) an indication that the second worker completed the first order”; “re-train the one or more models using the updated training data comprising the first training instance and the second training instance”; “wherein one or more of the one or more models uses gradient boosting”; “generating, based on the one or more communications from the one or more workers, one or more training instances” and “altering, based on the one or more training instances, one or more parameters of the one or more of the one or more models”. The “using training data comprising historical order data and worker data, train one or more models”, “update the training data”, “re-train the one or more models”, “wherein one or more of the one or more models uses gradient boosting”, and “training instances” are recited so generically that they represent no more than mere instructions to apply the judicial exception on a computer. These limitations can also be viewed as nothing more than an attempt to generally link the use of the judicial exception to the technological environment of a computer. These limitations would not account for additional elements that integrate the judicial exception (e.g. abstract idea) into a practical application because the claimed structure merely adds the words to apply it with the judicial exception and mere instructions to implement an abstract idea on a computer (See PEG 2019 and MPEP 2106.05).
The claimed “A platform comprising: a processor; and a memory coupled to the processor, the memory storing instructions that, when executed by the processor; a database; a mobile device of the matched worker; mobile devices of the additional workers; global position system (GPS) devices in mobile devices” are recited so generically (no details whatsoever are provided other than that they are general purpose computing components and regular office supplies) that they represent no more than mere instructions to apply the judicial exception on a computer. These limitations can also be viewed as nothing more than an attempt to generally link the use of the judicial exception to the technological environment of a computer. Even when viewed in combination, the additional elements in the claims do no more than use the computer components as a tool. There is no change to the computers and other technology that is recited in the claim, and thus the claims do not improve computer functionality or other technology (See PEG 2019).
Step 2B: When analyzing the additional element(s) and/or combination of elements in the claim(s) other than the abstract idea per se the claim limitations amount(s) to no more than: a general link of the use of an abstract idea to a particular technological environment and merely amounts to the application or instructions to apply the abstract idea on a computer (See MPEP 2106.05 and PEG 2019). Further system claims 1-4, 6-10, 12-13, 15, and 21 recite “A platform comprising: a processor; and a memory coupled to the processor, the memory storing instructions that, when executed by the processor; a database; a mobile device of the matched worker; mobile devices of the additional workers; global position system (GPS) devices in mobile devices”; however, these elements merely facilitate the claimed functions at a high level of generality and they perform conventional functions and are considered to be general purpose computer components which is supported by Applicant’s specification in Paragraphs 0198 and 0200 and Figures 1-3. The Applicant’s claimed additional elements are mere instructions to implement the abstract idea on a general purpose computer and generally link of the use of an abstract idea to a particular technological environment. Also, the above “transmitting a push notification to only a mobile device of the matched worker to reduce, during the first time, a number of push notifications transmitted by the platform across a network to a plurality of mobile devices; automatically transmit additional push notifications to mobile devices of additional workers to offer the first order to the additional workers, thereby increasing a load on the network during the second time; receive, from a mobile device of the mobile devices of the additional workers, a notification that the first order is completed, wherein the mobile device is associated with a second worker of the plurality of workers” steps/functions of the independent claims would not account for significantly more than the abstract idea because receiving data and displaying/presenting data (See MPEP 2106.05) have been identified as well-known, routine, and conventional steps/functions to one of ordinary skill in the art. When viewed as a whole, these additional claim element(s) do not provide meaningful limitation(s) to transform the abstract idea into a patent eligible application of the abstract idea such that the claim(s) amounts to significantly more than the abstract idea itself.
In addition, claims 2-4, 7-10, 12-13, 15, and 21 further narrow the abstract idea identified in the independent claims. The Examiner notes that the dependent claims merely further define the data being analyzed and how the data is being analyzed. Similarly, claims 9, 12, 13, and 21 additionally recite “receiving one or more communications from one or more of the plurality of workers”; “receive a communication from a communicating worker of the plurality of workers”; “in response to receiving a notification”; “wherein the geolocations of the plurality of workers are determined using data generated by” which do not account for additional elements that amount to significantly more than the abstract idea because receiving data and displaying/presenting data (See MPEP 2106.05) have been identified as well-known, routine, and conventional steps/functions to one of ordinary skill in the art and the claimed “processor”, “a mobile application installed on a mobile device”, and “global position system (GPS) devices in mobile devices of the plurality of workers” which do not account for additional elements that amount to significantly more than the abstract idea because the claimed structure merely amounts to the application or instructions to apply the abstract idea on a computer and does not move beyond a general link of the use of an abstract idea to a particular technological environment (See MPEP 2106.05).
Next, when the “train of one or more models”, “update training data”, “re-train the one or more models”, and “gradient boost” is evaluated as an additional element, this feature is recited at a high level of generality and encompasses well-understood, routine, and conventional prior art activity. See, e.g., Liu et al., US 2011/0264609, noting in paragraph [0047] that “conventional gradient boosted machines are configured to learn functions that assign a single predicted value for a target attribute.” See also, Djordjevic et al. US 2017/0262770, noting in paragraph [0008] that “conventional gradient boosting methods, in which all of the models are trained on the same set of features (even accounting for random feature selection in random forest methods), in the present system, each model is trained on different category of features that are distinct from the specific features used in the other models, and thus the models selectively predict the distinctive contribution each category of features contributes to the performance rating, providing improved feature and model decorrelation with respect to conventional gradient boosted approaches”. Accordingly, the use of machine learning to generate a learning model does not add significantly more to the claim.
The additional limitations of the independent and dependent claim(s) when considered individually and as an ordered combination do not amount to significantly more than the abstract idea. The examiner has considered the dependent claims in a full analysis including the additional limitations individually and in combination as analyzed in the independent claim(s). Therefore, the claim(s) are rejected under 35 U.S.C. 101 as being directed to non-statutory subject matter.
Claims 16-17 and 19
Step 1: Independent claim 16 (method), and dependent claims 17 and 19 respectively, fall within at least one of the four statutory categories of 35 U.S.C. 101: (i) process; (ii) machine; (iii) manufacture; or (iv) composition of matter. Claim 16 is directed to a method (i.e. process).
Step 2A Prong 1: The independent claims recite using training data comprising historical order data and worker data, train one or more models to generate order-worker scores using a plurality of model features, wherein the plurality of model features comprise order characteristics and worker characteristics; determining a plurality of order-worker scores for a plurality of orders and a plurality of workers available to perform the plurality of orders, wherein determining the plurality of order-worker scores comprises, for each of the plurality of orders, determining, for each of the plurality of workers, a score using the one or more models, wherein the score is determined based on an objective function comprising a combination of a first value output by a first model of the one or more models with a second value output by a second model of the one or more models, wherein the objective function further comprises a scaled worker performance variable that alters the score without altering the first model or the second model, wherein each order of the plurality of orders comprises an origin location, a destination location, and a completion time; based at least in part on the plurality of order-worker scores and an optimization process applied across the plurality of order-worker scores, match each order of the plurality of orders to a respective matched worker of the plurality of workers; at a first time, for a first order, offering the first order to the respective matched worker matched with the first order by transmitting a push notification to only a mobile device of the matched worker to reduce, during the first time, a number of offers to track in a database of the platform; in real-time, at a second time later than the first time: receiving, from the mobile device of the matched worker, a notification that the first order is completed; updating the training data to include a training instance comprising (i) the matched worker, (ii) the first order, and (iii) an indication that the matched worker completed the first order; and re-training the one or more models using the updated training data comprising the training instance (Certain Method of Organizing Human Activity, Mental Process, Mathematical Concept), which are considered to be abstract ideas (See PEG 2019 and MPEP 2106.05). [Examiner notes the underlined limitations above reciting the abstract idea].
The steps/functions disclosed above and in the independent claims recite the abstract idea of Certain Methods of Organizing Human Activity because the claimed limitations are performing work management by matching each order of the plurality of orders to a matched worker of the plurality of workers, which is commercial interactions in the form of sales activity. The Applicant’s claimed limitations are performing work management by matching orders to workers, which recite the abstract idea of Certain Methods of Organizing Human Activity.
The steps/functions disclosed above and in the independent claims recite the abstract idea of Mental Process because the claimed limitations are managing work by determining a plurality of order-worker scores for a plurality of orders and a plurality of workers available to perform the plurality of orders using an objective function; based on the order-worker scores and an optimization process, matching each order of the plurality of orders to a matched worker of the plurality of workers; for a first order of the plurality of orders, determine, based on a current time and a completion time for the first order, and based on the first order not being assigned, that the first order is distressed; re-executing the model; selecting additional workers based on the second plurality of order-worker scores, which are functions of the human mind in the form of observation, judgment, and evaluation. Additionally, the determine of order-worker scores and a score using one or more models could be done using pen and paper. The Applicant’s claimed limitations are performing work management by determining order-worker scores, matching orders to one or more workers, determining an order is in distress; and determining a score using one or more models, which recite the abstract idea of Mental Process.
The steps/functions disclosed above and in the independent claims recite the abstract idea of Mathematical Concepts because the claimed limitations are determining a order-worker scores utilizing an objective function comprising combining a first value output by a first model of the one or more models with a second value output by a second model of the one or more models, wherein the objective function further comprises a scaled worker performance variable that alters the score without altering the first model or the second model, which is a mathematical calculation. The Applicant’s claimed limitations are utilizing an objective function to determine order-worker scores, which recite the abstract idea of Mathematical Concepts.
In addition, dependent claims 17 and 19 further narrow the abstract idea and recite further defining the plurality of orders; updating one or more models based on a communication from workers. These processes are similar to the abstract idea noted in the independent claims because they further the limitations of the independent claims which recite a certain method of organizing human activity which include commercial interactions such as sales activities and mental process. Accordingly, these claim elements do not serve to confer subject matter eligibility to the claims since they are directed to abstract ideas.
Step 2A Prong 2: In this application, the above “transmitting a push notification to only a mobile device of the matched worker; receiving, from the mobile device of the matched worker, a notification that the first order is completed” steps/functions of the independent claims would not account for additional elements that integrate the judicial exception (e.g. abstract idea) into a practical application because receiving/storing data and displaying data merely add insignificant extra-solution activity and merely adds the words to apply it with the judicial exception. Also, the claimed “a mobile application installed on a mobile device; a mobile device of the matched worker” would not account for additional elements that integrate the judicial exception (e.g. abstract idea) into a practical application because the claimed structure merely adds the words to apply it with the judicial exception and mere instructions to implement an abstract idea on a computer (See PEG 2019 and MPEP 2106.05).
In addition, dependent claims 17 and 19 further narrow the abstract idea and dependent claim 19 additionally recite “receiving a communication from a communicating worker of the plurality of workers” which do not account for additional elements that integrate the judicial exception (e.g. abstract idea) into a practical application because receiving/storing data and displaying data merely add insignificant extra-solution activity and the claimed “a mobile application installed on a mobile device” which do not account for additional elements that integrate the judicial exception (e.g. abstract idea) into a practical application because the claimed structure merely adds the words to apply it with the judicial exception and mere instructions to implement an abstract idea on a computer (See PEG 2019 and MPEP 2106.05).
Independent claim 16 recites the following limitations, “using training data comprising historical order data and worker data, train one or more models”; “updating the training data to include a training instance comprising (i) the matched worker, (ii) the first order, and (iii) an indication that the matched worker completed the first order”; and “re-training the one or more models using the updated training data comprising the training instance”. The “using training data comprising historical order data and worker data, train one or more models”, “update the training data”, and “re-train the one or more models” are recited so generically that they represent no more than mere instructions to apply the judicial exception on a computer. These limitations can also be viewed as nothing more than an attempt to generally link the use of the judicial exception to the technological environment of a computer. These limitations would not account for additional elements that integrate the judicial exception (e.g. abstract idea) into a practical application because the claimed structure merely adds the words to apply it with the judicial exception and mere instructions to implement an abstract idea on a computer (See PEG 2019 and MPEP 2106.05).
The claimed “a mobile application installed on a mobile device; a mobile device of the matched worker” are recited so generically (no details whatsoever are provided other than that they are general purpose computing components and regular office supplies) that they represent no more than mere instructions to apply the judicial exception on a computer. These limitations can also be viewed as nothing more than an attempt to generally link the use of the judicial exception to the technological environment of a computer. Even when viewed in combination, the additional elements in the claims do no more than use the computer components as a tool. There is no change to the computers and other technology that is recited in the claim, and thus the claims do not improve computer functionality or other technology (See PEG 2019).
Step 2B: When analyzing the additional element(s) and/or combination of elements in the claim(s) other than the abstract idea per se the claim limitations amount(s) to no more than: a general link of the use of an abstract idea to a particular technological environment and merely amounts to the application or instructions to apply the abstract idea on a computer (See MPEP 2106.05 and PEG 2019). Further, method claims 16-17 & 19 recite “a mobile application installed on a mobile device; a mobile device of the matched worker”; however, these elements merely facilitate the claimed functions at a high level of generality and they perform conventional functions and are considered to be general purpose computer components which is supported by Applicant’s specification in Paragraphs 0198 and 0200 and Figures 1-3. The Applicant’s claimed additional elements are mere instructions to implement the abstract idea on a general purpose computer and generally link of the use of an abstract idea to a particular technological environment. Also, the above “transmitting a push notification to only a mobile device of the matched worker; receiving, from the mobile device of the matched worker, a notification that the first order is completed” steps/functions of the independent claims would not account for significantly more than the abstract idea because receiving data and displaying/presenting data (See MPEP 2106.05) have been identified as well-known, routine, and conventional steps/functions to one of ordinary skill in the art. When viewed as a whole, these additional claim element(s) do not provide meaningful limitation(s) to transform the abstract idea into a patent eligible application of the abstract idea such that the claim(s) amounts to significantly more than the abstract idea itself.
In addition, claims 17 and 19 further narrow the abstract idea identified in the independent claims. The Examiner notes that the dependent claims merely further define the data being analyzed and how the data is being analyzed. Similarly, claims 19 additionally recite “receiving a communication from a communicating worker of the plurality of workers” which do not account for additional elements that amount to significantly more than the abstract idea because receiving data and displaying/presenting data (See MPEP 2106.05) have been identified as well-known, routine, and conventional steps/functions to one of ordinary skill in the art and the claimed “a mobile application installed on a mobile device” which do not account for additional elements that amount to significantly more than the abstract idea because the claimed structure merely amounts to the application or instructions to apply the abstract idea on a computer and does not move beyond a general link of the use of an abstract idea to a particular technological environment (See MPEP 2106.05).
Next, when the “train of one or more models”, “update training data”, and “re-train the one or more models” is evaluated as an additional element, this feature is recited at a high level of generality and encompasses well-understood, routine, and conventional prior art activity. See, e.g., Liu et al., US 2011/0264609, noting in paragraph [0047] that “conventional gradient boosted machines are configured to learn functions that assign a single predicted value for a target attribute.” See also, Djordjevic et al. US 2017/0262770, noting in paragraph [0008] that “conventional gradient boosting methods, in which all of the models are trained on the same set of features (even accounting for random feature selection in random forest methods), in the present system, each model is trained on different category of features that are distinct from the specific features used in the other models, and thus the models selectively predict the distinctive contribution each category of features contributes to the performance rating, providing improved feature and model decorrelation with respect to conventional gradient boosted approaches”. Accordingly, the use of machine learning to generate a learning model does not add significantly more to the claim.
The additional limitations of the independent and dependent claim(s) when considered individually and as an ordered combination do not amount to significantly more than the abstract idea. The examiner has considered the dependent claims in a full analysis including the additional limitations individually and in combination as analyzed in the independent claim(s). Therefore, the claim(s) are rejected under 35 U.S.C. 101 as being directed to non-statutory subject matter.
Claim 20
Step 1: Independent claim 20 (non-transitory computer-readable medium) falls within at least one of the four statutory categories of 35 U.S.C. 101: (i) process; (ii) machine; (iii) manufacture; or (iv) composition of matter. Claim 20 is directed to a non-transitory computer-readable medium (i.e. manufacture).
Step 2A Prong 1: The independent claim recites using training data comprising historical order data and worker data, train one or more models to generate order-worker scores using a plurality of model features, wherein the plurality of model features comprise order characteristics and worker characteristics; determining a plurality of order-worker scores for a plurality of orders and a plurality of workers available to perform the plurality of orders, wherein determining the plurality of order-worker scores comprises, for each of the plurality of orders, determining, for each of the plurality of workers, a score using the one or more models, wherein the plurality of order-worker scores are determined based on an objective function comprising a combination of a first value output by a first model of the one or more models with a second value output by a second model of the one or more models, wherein the objective function further comprises a scaled worker performance variable that alters the score without altering the first model or the second model; based at least in part on the plurality of order-worker scores and an optimization process applied across the plurality of order-worker scores, match each order of the plurality of orders to a respective matched worker of the plurality of workers; at a first time, for the first order, offering the first order to the respective matched worker matched with the first order by transmitting a push notification to only a mobile device of the matched worker; in real-time, at a second time later than the first time: for the first order of the plurality of orders, determine, based on a current time and a completion time for the first order and based on the first order not being assigned, that the first order is distressed; and in response to determining that the first order is distressed, automatically transmitting additional push notifications to mobile devices of additional workers to offer the first order to the additional workers, wherein the additional workers are selected from the plurality of available workers based on the second plurality of order-worker scores; receiving, from a mobile device of the mobile devices of the additional workers, a notification that the first order is completed, wherein the mobile device is associated with a second worker of the plurality of workers; updating the training data to include a first training instance comprising (i) the matched worker, (ii) the first order, and (iii) an indication that the matched worker did not select the first order; updating the training data to include a second training instance comprising (i) the second worker, (ii) the first order, and (iii) an indication that the second worker completed the first order; and re-training the one or more models using the updated training data comprising the first training instance and the second training instance (Certain Method of Organizing Human Activity, Mental Process, & Mathematical Concepts), which are considered to be abstract ideas (See PEG 2019 and MPEP 2106.05). [Examiner notes the underlined limitations above reciting the abstract idea].
The steps/functions disclosed above and in the independent claim recites the abstract idea of Certain Methods of Organizing Human Activity because the claimed limitations are performing work management by matching each order of the plurality of orders to a matched worker of the plurality of workers, which is commercial interactions in the form of sales activity. The Applicant’s claimed limitations are performing work management by matching orders to workers, which recite the abstract idea of Certain Methods of Organizing Human Activity.
The steps/functions disclosed above and in the independent claim recites the abstract idea of Mental Process because the claimed limitations are managing work by determining a plurality of order-worker scores for a plurality of orders and a plurality of workers available to perform the plurality of orders using an objective function; based on the order-worker scores and an optimization process, matching each order of the plurality of orders to a matched worker of the plurality of workers; for a first order of the plurality of orders, determine, based on a current time and a completion time for the first order, and based on the first order not being assigned, that the first order is distressed; selecting additional workers based on the second plurality of order-worker scores, which are functions of the human mind in the form of observation, judgment, and evaluation. Additionally, the determine of order-worker scores and a score using one or more models could be done using pen and paper. The Applicant’s claimed limitations are performing work management by determining order-worker scores, matching orders to one or more workers, determining an order is in distress; and determining a score using one or more models, which recite the abstract idea of Mental Process.
The steps/functions disclosed above and in the independent claims recite the abstract idea of Mathematical Concepts because the claimed limitations are determining a order-worker scores utilizing an objective function comprising combining a first value output by a first model of the one or more models with a second value output by a second model of the one or more models, wherein the objective function further comprises a scaled worker performance variable that alters the score without altering the first model or the second model, which is a mathematical calculation. The Applicant’s claimed limitations are utilizing an objective function to determine order-worker scores, which recite the abstract idea of Mathematical Concepts.
Step 2A Prong 2: In this application, the above “transmitting a push notification to a mobile device of the matched worker; automatically transmitting additional push notifications to mobile devices of additional workers to offer the first order to the additional workers; receiving, from a mobile device of the mobile devices of the additional workers, a notification that the first order is completed, wherein the mobile device is associated with a second worker of the plurality of workers” steps/functions of the independent claims would not account for additional elements that integrate the judicial exception (e.g. abstract idea) into a practical application because receiving/storing data and displaying data merely add insignificant extra-solution activity and merely adds the words to apply it with the judicial exception. Also, the claimed “A non-transitory computer-readable medium, having stored instructions thereon, which when executed by a processor; a mobile device of the matched worker; mobile devices of the additional workers” would not account for additional elements that integrate the judicial exception (e.g. abstract idea) into a practical application because the claimed structure merely adds the words to apply it with the judicial exception and mere instructions to implement an abstract idea on a computer (See PEG 2019 and MPEP 2106.05).
Independent claim 20 recites the following limitations, “using training data comprising historical order data and worker data, train one or more models”, “updating the training data to include a first training instance comprising (i) the matched worker, (ii) the first order, and (iii) an indication that the matched worker did not select the first order”; “updating the training data to include a second training instance comprising (i) the second worker, (ii) the first order, and (iii) an indication that the second worker completed the first order”; and “re-training the one or more models using the updated training data comprising the first training instance and the second training instance”. The “using training data comprising historical order data and worker data, train one or more models”, “update the training data”, and “re-train the one or more models” are recited so generically that they represent no more than mere instructions to apply the judicial exception on a computer. These limitations can also be viewed as nothing more than an attempt to generally link the use of the judicial exception to the technological environment of a computer. These limitations would not account for additional elements that integrate the judicial exception (e.g. abstract idea) into a practical application because the claimed structure merely adds the words to apply it with the judicial exception and mere instructions to implement an abstract idea on a computer (See PEG 2019 and MPEP 2106.05).
The claimed “A non-transitory computer-readable medium, having stored instructions thereon, which when executed by a processor; a mobile device of the matched worker; mobile devices of the additional workers” are recited so generically (no details whatsoever are provided other than that they are general purpose computing components and regular office supplies) that they represent no more than mere instructions to apply the judicial exception on a computer. These limitations can also be viewed as nothing more than an attempt to generally link the use of the judicial exception to the technological environment of a computer. Even when viewed in combination, the additional elements in the claims do no more than use the computer components as a tool. There is no change to the computers and other technology that is recited in the claim, and thus the claims do not improve computer functionality or other technology (See PEG 2019).
Step 2B: When analyzing the additional element(s) and/or combination of elements in the claim(s) other than the abstract idea per se the claim limitations amount(s) to no more than: a general link of the use of an abstract idea to a particular technological environment and merely amounts to the application or instructions to apply the abstract idea on a computer (See MPEP 2106.05 and PEG 2019). Further, non-transitory computer readable medium claim 20 recites “A non-transitory computer-readable medium, having stored instructions thereon, which when executed by a processor; a mobile device of the matched worker; mobile devices of the additional workers”; however, these elements merely facilitate the claimed functions at a high level of generality and they perform conventional functions and are considered to be general purpose computer components which is supported by Applicant’s specification in Paragraphs 0198 and 0200 and Figures 1-3. The Applicant’s claimed additional elements are mere instructions to implement the abstract idea on a general purpose computer and generally link of the use of an abstract idea to a particular technological environment. Also, the above “transmitting a push notification to only a mobile device of the matched worker; automatically transmitting additional push notifications to mobile devices of additional workers to offer the first order to the additional workers; receiving, from a mobile device of the mobile devices of the additional workers, a notification that the first order is completed, wherein the mobile device is associated with a second worker of the plurality of workers” steps/functions of the independent claims would not account for significantly more than the abstract idea because receiving data and displaying/presenting data (See MPEP 2106.05) have been identified as well-known, routine, and conventional steps/functions to one of ordinary skill in the art. When viewed as a whole, these additional claim element(s) do not provide meaningful limitation(s) to transform the abstract idea into a patent eligible application of the abstract idea such that the claim(s) amounts to significantly more than the abstract idea itself.
Next, when the “train of one or more models”, “update training data”, and “re-train the one or more models” is evaluated as an additional element, this feature is recited at a high level of generality and encompasses well-understood, routine, and conventional prior art activity. See, e.g., Liu et al., US 2011/0264609, noting in paragraph [0047] that “conventional gradient boosted machines are configured to learn functions that assign a single predicted value for a target attribute.” See also, Djordjevic et al. US 2017/0262770, noting in paragraph [0008] that “conventional gradient boosting methods, in which all of the models are trained on the same set of features (even accounting for random feature selection in random forest methods), in the present system, each model is trained on different category of features that are distinct from the specific features used in the other models, and thus the models selectively predict the distinctive contribution each category of features contributes to the performance rating, providing improved feature and model decorrelation with respect to conventional gradient boosted approaches”. Accordingly, the use of machine learning to generate a learning model does not add significantly more to the claim.
The additional limitations of the independent claim(s) when considered individually and as an ordered combination do not amount to significantly more than the abstract idea. The examiner has considered the dependent claims in a full analysis including the additional limitations individually and in combination as analyzed in the independent claim(s). Therefore, the claim(s) are rejected under 35 U.S.C. 101 as being directed to non-statutory subject matter.
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.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claim(s) 1-2, 4, 7-10, 13, 15-16, and 20-21 is/are rejected under 35 U.S.C. 103 as being unpatentable over Blakely (U.S 2019/0385125 A1) in view of Gibson (U.S 2015/0095120 A1) in view of Perry (U.S 2016/0300178 A1) in view of Ayat (U.S 2023/0316172 A1).
Claim 1
Regarding Claim 1, Blakely discloses the following:
A platform comprising [see at least Paragraph 0002 for reference to the present invention relating to methods, systems, and devise for staffing and managing workers; Paragraph 0049 for reference to the present disclosure relating to the context of workforce management; Figure 1 and related text regarding the possible operating environment or platform; Figure 9 and related text]
a processor [see at least Paragraph 0102 for reference to the system including a processor; Figure 9 and related text regarding item 902 ‘processor’]
a memory coupled to the processor, the memory storing instructions that, when executed by the processor, cause the platform to [see at least Paragraph 0102 for reference to the system including a memory; Paragraph 0103 for reference to the memory being configured to store a program cod which when executed by the processor, causes the system to match workers with employer and/or employer jobs based on a worker score; Figure 9 and related text regarding item 904 ‘memory’]
using training data comprising historical order data and worker data, train one or more models to generate order-worker scores using a plurality of model features, wherein the plurality of model features comprise order characteristics, worker characteristics, and a time feature [see at least Paragraph 0062 for reference to the score computing algorithm for computing the worker score; Paragraph 0063 for reference to the worker matcher algorithm computing the worker score values for an individual worker; Paragraph 0094 for reference to the statistical classification algorithms for classifying the job profiles for one or more workers based on the one or more aforementioned parameters; Paragraph 0098 for reference to the platform using appropriate machine learning algorithms for learning the characteristics of the best matching profile; Paragraph 0098 for reference to the machine learning algorithms may be trained, using supervised or unsupervised training methods, to learn the parameters of the best matching profile and the least matching profiles; Paragraph 0098 for reference to, the platform may log historical data such as each calculated worker score and relative component values scores in each offer for use in future analysis and learning functions]
determine a plurality of order-worker scores for a plurality of orders and a plurality of workers, wherein determining the plurality of order-worker scores comprises, for each of the plurality of orders, determining, for each of the plurality of workers, a score using the one or more models, wherein the score is determined based on an objective function, wherein the objective function further comprises a scaled worker performance variable that alters the score without altering the first model or the second model [see at least Paragraph 0054 for reference to the worker score identifying more preferable workers for a job for an employer; Paragraph 0062 for reference to a score computing algorithm for computing the worker score values may be designed to generate a value; Paragraph 0066 for reference to attribute and matching factor adjustments can be used to tune the computation or to get values closer to 100 for better looking results; Paragraph 0069 for reference to the software application may be provided by matching software, which may include a score computing algorithm; Paragraph 0084 for reference to the worker score associated with each worker in the candidate pool may be determined by considering the employer priorities and / or job attribute associated with the worker values; Paragraph 0086 for reference to the score computing algorithm may include various tuning parameters to optimize matching between the workers and jobs with different values and priorities for different attributes; Figure 2 and related text regarding item 212 ‘DETERMINE, USING A PROCESSOR, A WORKER SCORE ASSOCIATED WITH EACH WORKER IN THE CANDIDATE POOL’]
based at least in part on the plurality of order-worker scores and an optimization process applied across the plurality of order-worker scores, match each order of the plurality of orders to a respective matched worker of the plurality of workers [see at least Paragraph 0051 for reference to the platform comprising a worker/job matcher to provide a deterministic method to compute a relative worker score between a worker and a job or open shift, based on a set of attributes of the worker and the employer's preferences for given values of the attributes; Paragraph 0054 for reference to one or more worker scores may be presented to the employer to indicate relative matches between the employer or job preferences and the worker; Paragraph 0062 for reference to the score computing algorithm including various tuning parameters to optimize matching for different types of jobs and employers; Paragraph 0071 for reference to the matching server being configured to match employers and / or jobs with suitable worker profiles and generate a list of best matched profiles; Paragraph 0086 for reference to the score computing algorithm including various tuning parameters to optimize matching between the workers and jobs with different values and priorities for different attributes; Figure 2 and related text regarding the method for matching workers with job requests; Figure 6 and related text regarding the method of matching workers to job requests]
at a first time, for the first order, offer the first order to only the respective matched worker matched with the first order [see at least Paragraph 0071 for reference to the matching server being configured to transmit work requests or job offers to the best matched workers; Paragraph 0085 for reference to the work requests may be automatically transmitted to the workers based on predetermined parameters and / or worker score; Figure 2 and related text regarding item 214 ‘TRANSMIT, USING A PROCESSOR, A WORK REQUEST OR JOB OFFER TO AT LEAST ONE WORKER AMONG THE CANDIDATE POOL BASED AT LEAST ON THE WORKER SCORE]
re-execute the one or more models using an updated value for the time feature based on the second time to generate a second plurality of order-worker scores [see at least Paragraph 0097 for reference to disqualified workers being passed on by the platform for the next candidate due to calendar conflict; Paragraph 0097 for reference to worker scores being calculated at various times to determine the job offer distribution; Paragraph 0098 for reference to the platform may log historical data such as each calculated worker score and relative component values scores in each offer for use in future analysis and learning functions]
wherein the second plurality of order-worker scores are determined using the objective function [see at least Paragraph 0054 for reference to the worker score identifying more preferable workers for a job for an employer; Paragraph 0062 for reference to a score computing algorithm for computing the worker score values may be designed to generate a value; Paragraph 0066 for reference to attribute and matching factor adjustments can be used to tune the computation or to get values closer to 100 for better looking results; Paragraph 0069 for reference to the software application may be provided by matching software, which may include a score computing algorithm; Paragraph 0084 for reference to the worker score associated with each worker in the candidate pool may be determined by considering the employer priorities and / or job attribute associated with the worker values; Paragraph 0086 for reference to the score computing algorithm may include various tuning parameters to optimize matching between the workers and jobs with different values and priorities for different attributes; Paragraph 0097 for reference to worker scores being calculated at various times to determine the job offer distribution; Figure 2 and related text regarding item 212 ‘DETERMINE, USING A PROCESSOR, A WORKER SCORE ASSOCIATED WITH EACH WORKER IN THE CANDIDATE POOL’]
While Blakely discloses the limitations above, it does not disclose determine a plurality of order-worker scores for a plurality of orders and a plurality of workers available to perform the plurality of orders, wherein the score is determined based on an objective function comprising a combination of a first value output by a first model of the one or more models with a second value output by a second model of the one or more models, wherein the objective function further comprises a scaled worker performance variable that alters the score without altering the first model or the second model, wherein each order of the plurality of orders comprises an origin location, a destination location, and a completion time; offer the first order to only a matched worker matched with the first order by transmitting a push notification to a mobile device of the matched worker to reduce, during the first time, a number of push notifications transmitted by the platform across a network to a plurality of mobile devices and to reduce during the first time, a number of offers to track in a database of the platform; in real time, at a second time later than the first time: for the first order of the plurality of orders, determine, based on a current time being near a completion time for the first order and based on the first order not being assigned, that the first order is distressed; wherein the second plurality of order-worker scores are determined using the objective function; update the training data to include a first training instance comprising (i) the matched worker, (ii) the first order, and (iii) an indication that the matched worker did not select the first order; and in response to determining that the first order is distressed, automatically transmit additional push notifications to mobile devices of additional workers to offer the first order to the additional workers, thereby increasing a load on the network during the second time, wherein the additional workers are selected from the plurality of available workers based on the second plurality of order-worker scores; receive, from a mobile device of the mobile devices of the additional workers, a notification that the first order is completed, wherein the mobile device is associated with a second worker of the plurality of workers; update the training data to include a second training instance comprising (i) the second worker, (ii) the first order, and (iii) an indication that the second worker completed the first order; and re-train the one or more models using the updated training data comprising the first training instance and the second training instance.
However, Gibson discloses the following:
wherein the score is determined based on an objective function comprising a combination of a first value output by a first model of the one or more models with a second value output by a second model of the one or more models [see at least Paragraph 0026 for reference to the employee evaluator service generates an overall contribution score for a particular employee based at least in part on summing the particular employees one more outcome weights; Paragraph 0042 for reference to data set is therefore labeled and can be used to train a machine learning algorithm such as a Bayesian Network (Neural Network) or a hidden Markov model that evolves a specific weight for each outcome metric as assigned to each team member; Figure 1 and related text regarding item 142 ‘GENERATE FROM THE BN OUTCOME WEIGHT(S) FOR EACH E WITH RESPECT TO OE, EP, AND OEP’ and item 143 ‘GENERATE AN OVERALL CONTRIBUTION SCORE FOR A PARTICULAR E BASED AT LEAST IN PART ON SUMMING THE PARTICULAR E’S OUTCOME WEIGHTS’]
wherein the objective function further comprises a scaled worker performance variable that alters the score without altering the first model or the second model [see at least Paragraph 0025 for reference to the employee evaluator service generates from the Bayesian Network one or more outcome weights for each employee with respect to other employees, the enterprise metrics, and the other enterprise metrics; Paragraph 0026 for reference to the employee evaluator service generates an overall contribution score for a particular employee based at least in part on summing the particular employees one more outcome weights; Paragraph 0042 for reference to data set is therefore labeled and can be used to train a machine learning algorithm such as a Bayesian Network (Neural Network) or a hidden Markov model that evolves a specific weight for each outcome metric as assigned to each team member; Figure 1 and related text regarding item 142 ‘GENERATE FROM THE BN OUTCOME WEIGHT(S) FOR EACH E WITH RESPECT TO OE, EP, AND OEP’ and item 143 ‘GENERATE AN OVERALL CONTRIBUTION SCORE FOR A PARTICULAR E BASED AT LEAST IN PART ON SUMMING THE PARTICULAR E’S OUTCOME WEIGHTS’]
Before the effective filing date, it would have been obvious to one of ordinary skill in the art to modify the score generation algorithm of Blakely to include the overall contribution score of Gibson. Doing so would assist in providing incentives and compensation for individuals as well as making choices for appropriate individuals to add or replace on a given team, as stated by Gibson (Paragraph 0006).
While the combination of Blakely and Gibson discloses the limitations above, it does not disclose determine a plurality of order-worker scores for a plurality of orders and a plurality of workers available to perform the plurality of orders, wherein each order of the plurality of orders comprises an origin location, a destination location, and a completion time; offer the first order to only a matched worker matched with the first order by transmitting a push notification to a mobile device of the matched worker to reduce, during the first time, a number of push notifications transmitted by the platform across a network to a plurality of mobile devices and to reduce during the first time, a number of offers to track in a database of the platform; in real time, at a second time later than the first time: for the first order of the plurality of orders, determine, based on a current time being near a completion time for the first order and based on the first order not being assigned, that the first order is distressed; update the training data to include a first training instance comprising (i) the matched worker, (ii) the first order, and (iii) an indication that the matched worker did not select the first order; and in response to determining that the first order is distressed, automatically transmit additional push notifications to mobile devices of additional workers to offer the first order to the additional workers, thereby increasing a load on the network during the second time, wherein the additional workers are selected from the plurality of available workers based on the second plurality of order-worker scores; receive, from a mobile device of the mobile devices of the additional workers, a notification that the first order is completed, wherein the mobile device is associated with a second worker of the plurality of workers; update the training data to include a second training instance comprising (i) the second worker, (ii) the first order, and (iii) an indication that the second worker completed the first order; and re-train the one or more models using the updated training data comprising the first training instance and the second training instance.
However, Perry discloses the following:
determine a plurality of order-worker scores for a plurality of orders and a plurality of workers available to perform the plurality of orders, wherein each order of the plurality of orders comprises an origin location, a destination location, and a completion time [see at least Paragraph 0055 for reference to data stored including task entry information including task origin and destination locations, and any other data related to task attributes, task requirements, and task performance; Paragraph 0071 for reference to network server storing task information including an expected completion time for a task; Paragraph 0072 for reference to the network server scoring the results of each analysis to generate a numerical score that may be used to rank available employees for selection; Paragraph 0080 for reference to network server may rank or score the available employees based on a quantity or amount of matching or compatible attributes between the employee attributes and equipment attributes; Paragraph 0088 for reference to network server may track a duration of each task in progress, and determine an expected completion time for each task]
at a first time, for the first order, offer the first order to only the respective matched worker matched with the first order by transmitting a push notification to a mobile device of the matched worker to reduce, during the first time, a number of push notifications transmitted by the platform across a network to a plurality of mobile devices and to reduce, during the first time, a number of offers to track in a database of the platform [see at least Paragraph 0031 for reference to the third party server being associated with a messaging service, for example Apple Push Notification Service for handling the delivery of messages and notifications related to task assignment; Paragraph 0070 for reference to network server may generate an alert notifying a responder employee that that a new task is assigned to them and sending such notifications to user device; Figure 10 and related text regarding task notification interface]
in real time, at a second time later than the first time: for the first order of the plurality of orders, determine, based on a current time being near a completion time for the first order and based on the first order not being assigned, that the first order is distressed [see at least Paragraph 0083 for reference to if the employee becomes unavailable or refuses to accept the task; Paragraph 0088 for reference to the network server tracking the duration of each task in progress and determining the expected completion time; Paragraph 0089 for reference to the task management interface providing details for completion or progress of each step of the task and providing alerts if the employee does not complete the task within a predetermined period of time; Paragraph 0103 for reference to selection of one or more interface elements may inform network server that one or more steps of the task cannot be completed in the estimated time frame and by the expected completion time]
re-execute the one or more models using an updated value for the time feature based on the second time to generate a second plurality of order-worker scores [see at least Paragraph 0062 for reference to employee information including a job title, certifications, qualifications, skill sets, dates and times Scheduled to work, expected location of work, expected current location, detected current location, tasks currently assigned to the employee, a status of the assigned tasks, and performance data related to previous tasks; Paragraph 0070 for reference to the network server updating employee information to reflect the task assignment; Paragraph 0083 for reference to network server 160 may employ one or more other assignment algorithms for assigning tasks to employees that take into account an employee availability, employee workload and skill set, and attributes of the requested task and updating employee information following the assignment of the task]
in response to determining that the first order is distressed, offering the first order to additional workers of the plurality of available workers by transmitting additional push notifications to mobile devices of the additional workers, thereby increasing a load on the network during the second time, wherein the additional workers are selected from the plurality of available workers based on the plurality of order-worker scores [see at least Paragraph 0031 for reference to the third party server being associated with a messaging service, for example Apple Push Notification Service for handling the delivery of messages and notifications related to task assignment; Paragraph 0072 for reference to the network server scoring the results of each analysis to generate a numerical score that may be used to rank available employees for selection; Paragraph 0080 for reference to network server may rank or score the available employees based on a quantity or amount of matching or compatible attributes between the employee attributes and equipment attributes; Paragraph 0083 for reference to network server may identify a highest ranked or highest scored employee, based on the results of step 510, and attempt to assign the task to that employee and if the employee becomes unavailable or refuses to accept the task, then network server may assign the task to the next-highest ranked/scored employee, until the task is accepted and started; Paragraph 0084 for reference to other means of quantifying workload, such as expected time to complete the task, may be used to determine whether tasks should be reassigned; Paragraph 0084 for reference to automatic task reassignment may occur on a real-time, ongoing basis, on a schedule, periodically (e.g., every hour), or based on the occurrence of predetermined events which could indicate a disparity or potential disparity in workload]
receive, from a mobile device of the mobile devices of the additional workers, a notification that the first order is completed, wherein the mobile device is associated with a second worker of the plurality of workers [see at least Paragraph 0088 for reference to network server may receive real-time data streams associated with the status of a task, including indications from users via user device that a task is completed; Paragraph 0103 for reference to an employee selecting interface elements indicating task completion]
Before the effective filing date, it would have been obvious to one of ordinary skill in the art to modify the system of Blakely to include the match notification and reassignment capability of Perry. Doing so would provide for intelligent task assignment and dispatching based on multiple factors such as proximity, skill set, workload, and task priority, as stated by Perry (Paragraph 0004).
While the combination of Blakely, Gibson, and Perry disclose the limitations above, they do not disclose update the training data to include a first training instance comprising (i) the matched worker, (ii) the first order, and (iii) an indication indicating that the matched worker did not select the first order; update the training data to include a second training instance comprising (i) the second worker, (ii) the first order, and (iii) an indication that the second worker completed the first order; and re-train the one or more models using the updated training data comprising the first training instance and the second training instance.
However, Ayat discloses the following:
update the training data to include a first training instance comprising (i) the matched worker, (ii) the first order, and (iii) an indication that the matched worker did not select the first order [see at least Paragraph 0040 for reference to training data may include data related to the urgency of a particular scope of work for historical tasks (e.g., historical tasks that have been completed, etc.), name data (e.g., task generator identity (“Store Mart”)), location (e.g., zip code), service type (e.g., landscaping, mechanical, electrical, etc.); Paragraph 0045 for reference to training of the machine-learning model may be configured to cause the machine-learning model to learn associations between task feature data and task data and technician feature data and technician data, such that the trained machine-learning model is configured to determine an output evaluation and/or assignment in response to the input task data or technician data based on the learned associations; Paragraph 0056 for reference to technician verification data may be used by the device to develop more accurate machine learning models to better assign generated tasks to technicians, and/or may be used to update or adjust (6) the task data and/or task feature data prior to re-employing the machine learning algorithms in order to update the evaluation based on the technician's feedback; Paragraph 0071 for reference to the technician may accept the assigned task or not and if the technician accepts the assigned task, the machine learning model may be updated based on the amount of time it took for the technician to accept the task; Paragraph 0072 for reference to Figure 4 and related text regarding item 412 ‘Technician accepts?’ and item 416 ‘Update ML Model with User Input’]
update the training data to include a second training instance comprising (i) the second worker, (ii) the first order, and (iii) an indication that the second worker completed the first order [see at least Paragraph 0040 for reference to training data may include data related to the urgency of a particular scope of work for historical tasks (e.g., historical tasks that have been completed, etc.), name data (e.g., task generator identity (“Store Mart”)), location (e.g., zip code), service type (e.g., landscaping, mechanical, electrical, etc.); Paragraph 0045 for reference to training of the machine-learning model may be configured to cause the machine-learning model to learn associations between task feature data and task data and technician feature data and technician data, such that the trained machine-learning model is configured to determine an output evaluation and/or assignment in response to the input task data or technician data based on the learned associations; Paragraph 0056 for reference to technician verification data may be used by the device to develop more accurate machine learning models to better assign generated tasks to technicians, and/or may be used to update or adjust (6) the task data and/or task feature data prior to re-employing the machine learning algorithms in order to update the evaluation based on the technician's feedback; Paragraph 0071 for reference to the technician may accept the assigned task or not and if the technician accepts the assigned task, the machine learning model may be updated based on the amount of time it took for the technician to accept the task; Figure 4 and related text regarding item 412 ‘Technician accepts?’ and item 414 ‘Update ML Model with User Input’]
re-train the one or more models using the updated training data comprising the first training instance and the second training instance [see at least Paragraph 0056 for reference to technician verification data may be used by the device to develop more accurate machine learning models to better assign generated tasks to technicians, and/or may be used to update or adjust (6) the task data and/or task feature data prior to re-employing the machine learning algorithms in order to update the evaluation based on the technician's feedback; Paragraph 0071 for reference to the technician may accept the assigned task or not and if the technician accepts the assigned task, the machine learning model may be updated based on the amount of time it took for the technician to accept the task; Figure 4 and related text regarding item 412 ‘Technician accepts?’ and item 414 ‘Update ML Model with User Input’]
Before the effective filing date, it would have been obvious to one of ordinary skill in the art to modify the machine learning models of Blakely to include the specific trainings instances and re-training of Ayat. Doing so would allow the machine-learning model to account for and/or determine relationships between multiple samples, e.g., to assign tasks more efficiently, as stated by Ayat (Paragraph 0046).
Claim 2
While the combination of Blakely, Gibson, Perry, and Ayat disclose the limitations above, regarding Claim 2, Blakely discloses the following:
wherein each order of the plurality of orders is a shopping order or a delivery [see at least Paragraph 0055 for reference to attribute related to a delivery job or a delivery driver who may be creating a profile in the worker matcher may be “experience"; Paragraph 0073 for reference to the employer being a logistics company looking for suitable workers to fill one or more delivery routes]
wherein each worker of the plurality of workers is a shopper or a driver [see at least Paragraph 0055 for reference to attribute related to a delivery job or a delivery driver who may be creating a profile in the worker matcher may be “experience"; Paragraph 0073 for reference to the worker may be a driver]
Claim 4
While the combination of Blakely, Gibson, Perry, and Ayat disclose the limitations above, regarding Claim 4, Blakely discloses the following:
wherein the one or more models include a first model for determining an order-worker selection likelihood and a second model for determining an order-worker completion likelihood [see at least Paragraph 0020 for reference to a likelihood of offer acceptance corresponding to a worker of the plurality of workers may be predicted; Paragraph 0053 for reference to the worker score may represent a predicted or calculated level of likelihood that a worker will accept and / or complete a work request or job offer]
wherein the order-worker selection likelihood corresponds to a likelihood that the worker selects the order if offered [see at least Paragraph 0020 for reference to a likelihood of offer acceptance corresponding to a worker of the plurality of workers may be predicted; Paragraph 0053 for reference to the worker score may represent a predicted or calculated level of likelihood that a worker will accept a work request or job offer]
wherein the order-worker completion likelihood corresponds to a likelihood that the worker completes the order if assigned [see at least Paragraph 0053 for reference to the worker score may represent a predicted or calculated level of likelihood that a worker will complete a work request or job offer]
wherein determining, for each of the plurality of workers, the score using the one or more models comprises [see at least Paragraph 0054 for reference to the worker score identifying more preferable workers for a job for an employer; Paragraph 0062 for reference to a score computing algorithm for computing the worker score values may be designed to generate a value; Paragraph 0084 for reference to the worker score associated with each worker in the candidate pool may be determined by considering the employer priorities and / or job attribute associated with the worker values; Figure 2 and related text regarding item 212 ‘DETERMINE, USING A PROCESSOR, A WORKER SCORE ASSOCIATED WITH EACH WORKER IN THE CANDIDATE POOL’]
using the first model to determine the order-worker selection likelihood [see at least Paragraph 0020 for reference to a likelihood of offer acceptance corresponding to a worker of the plurality of workers may be predicted; Paragraph 0053 for reference to the worker score may represent a predicted or calculated level of likelihood that a worker will accept a work request or job offer]
using the second model to determine the order-worker completion likelihood [see at least Paragraph 0053 for reference to the worker score may represent a predicted or calculated level of likelihood that a worker will complete a work request or job offer]
calculating the score at least in part by combining the order-worker selection likelihood and the order-worker completion likelihood [see at least Paragraph 0065 for reference to the individual component values being added together to determine the worker score; Paragraph 0097 for reference to worker scores may be calculated for each session and then sum all worker scores of qualified workers together to determine job offer distribution]
Claim 7
While the combination of Blakely, Gibson, Perry, and Ayat disclose the limitations above, regarding Claim 7, Blakely discloses the following:
determining, for each of the plurality of workers, the score using the one or more models further comprises one or more of: weighing the score by an order value; or altering the score based on one or more of a timeliness score of the worker or an engagement score of the worker [see at least Paragraph 0063 for reference to the selected attributed from the employer or job profile may be given a weighted score between 0 and 100 based on the number of attributes selected or based on a predetermined weight; Paragraph 0064 for reference to each attribute having a “weight adjustment factor” to be tuned to give added weight or reduce the weight of individual attributes; Paragraph 0065 for reference to the score for each component being multiplied by the attributed weight adjustment factor]
Claim 8
While the combination of Blakely, Gibson, Perry, and Ayat disclose the limitations above, regarding Claim 8, Blakely discloses the following:
the instructions, when executed by the processor, further cause the platform to update one or more of the one or more models [see at least Paragraph 0091 for reference to components of the worker score being updated on a worker record at a predetermined interval; Paragraph 0098 for reference to the profile matching algorithm when combined with a machine learning algorithm may automatically adjust the profile matching parameters as and when the requirements of the workers and employers change]
Claim 9
While the combination of Blakely, Gibson, Perry, and Ayat disclose the limitations above, regarding Claim 9, Blakely discloses the following:
updating the one or more of the one or more models comprises: receiving one or more communications from one or more of the plurality of workers [see at least Paragraph 0075 for reference to the worker received an offer may require the worker to fill values for a different set of attributes which may not be present in the profile of the worker; Paragraph 0077 for reference to the graphical user interface presented to the worker for interacting with the platform, such for inputting data into the platform or providing worker values or searching for jobs; Figure 2 and related text regarding item 202 ‘RECEIVE, USING A PROCESSOR, WORKER VALUES CORRESPONDING TO AN ATTRIBUTE’; Figure 6 and related text regarding item 602 ‘RECEIVE, USING A PROCESSOR, WORKER VALUES CORRESPONDING TO AN ATTRIBUTE’]
generating, based on the one or more communications from the one or more workers, one or more training instances [see at least Paragraph 0098 for reference to the machine learning algorithms may be trained, using supervised or unsupervised training methods, to learn the parameters of the best matching profile and the least matching profiles; Paragraph 0098 for reference to, the platform may log historical data such as each calculated worker score and relative component values scores in each offer for use in future analysis and learning functions]
altering, based on the one or more training instances, one or more parameters of the one or more of the one or more models [see at least Paragraph 0091 for reference to components of the worker score being updated on a worker record at a predetermined interval; Paragraph 0098 for reference to the profile matching algorithm when combined with a machine learning algorithm may automatically adjust the profile matching parameters as and when the requirements of the workers and employers change]
Claim 10
While the combination of Blakely, Gibson, Perry, and Ayat disclose the limitations above, regarding Claim 10, Blakely discloses the following:
wherein the worker characteristics comprise a drop ratio [see at least Paragraph 0061 for reference to example attributes to work radius <scheduled only>, average star rating, average star rating with enterprise, average star rating with location, average star rating with requester, average star rating with sessions of given attributes, overtime propensity, work history with enterprise, work history with marketplace, work history with requester, work history with location, current proximity, and proximity of closest ending session, and others; Paragraph 0074 for reference to professional details of the worker include average rating with enterprise, average rating with location, average rating with requester, work history with enterprise, and work history with marketplace]
wherein the order characteristics comprise one or more of a location, a time, or a duration [see at least Paragraph 0073 for reference to attributes associated with the job positing including work radius, average rating, average rating with enterprise, average rating with location, average rating with requester, average rating with sessions of given attributes, overtime propensity, work history with enterprise, work history with marketplace, work history with requester, work history with location, current proximity, and proximity of closest ending session, skill level, experience level, and other related qualification]
Claim 13
While the combination of Blakely, Gibson, Perry, and Ayat disclose the limitations above, regarding Claim 13, Blakely discloses the following:
in response to a passage of a predetermined amount of time or in response to receiving a notification, redetermine the plurality of order-worker scores for the plurality of orders and the plurality of workers [see at least Paragraph 0096 for reference to the available pool may be determined when offer is submitted and not added to as the offer is distributed ; Max Distribution Time (MDT), which may allow control of the maximum point relative to AWT that all offers must be transmitted, for example, to prevent waiting to the end of AWT to transmit all offers; Paragraph 0097 for reference to workers may become disqualified for an offer as the sequence progresses, for example due to a calendar conflict or location change, or the like; Paragraph 0097 for reference to assessing the distribution of a job offer, worker scores may be calculated for each session and then sum all worker scores of qualified workers together to determine job offer distribution]
based at least in part on the redetermined plurality of order-worker scores, match an order of the plurality of orders to a second matched worker, the second matched worked being different than the matched worker [see at least Paragraph 0097 for reference to assessing the distribution of a job offer, worker scores may be calculated for each session and then sum all worker scores of qualified workers together to determine job offer distribution; Paragraph 0097 for reference to the platform may proceed to the next candidate worker in the sequence]
offer the order to the second matched worker [see at least Paragraph 0071 for reference to the matching server being configured to transmit work requests or job offers to the best matched workers; Paragraph 0085 for reference to the work requests may be automatically transmitted to the workers based on predetermined parameters and/or worker score; Paragraph 0096 for reference to offer transmission sequence may comprise parameters for transmission of offers to the workers; Paragraph 0097 for reference to the platform may proceed to the next candidate worker in the sequence; Figure 2 and related text regarding item 214 ‘TRANSMIT, USING A PROCESSOR, A WORK REQUEST OR JOB OFFER TO AT LEAST ONE WORKER AMONG THE CANDIDATE POOL BASED AT LEAST ON THE WORKER SCORE’]
Claim 15
While the combination of Blakely, Gibson, Perry, and Ayat disclose the limitations above, regarding Claim 15, Blakely discloses the following:
wherein the plurality of orders consists of a plurality of eligible orders [see at least Paragraph 0071 for reference to the matching server being configured to transmit work requests or job offers to the best matched workers according to an offer transmission sequence; Figure 2 and related text regarding the method of matching workers with job requests]
wherein the plurality of workers consists of a plurality of available workers [see at least Paragraph 0083 for reference to a candidate pool of workers among matching workers may be determined; Paragraph 0083 for reference to the candidate pool may be determined by considering the values of the attributes associated with the employer relative to the worker score; Paragraph 0096 for reference to Available Pool— (e.g., total number of workers to receive the offer or available pool of workers from candidate pool determined to be eligible for receiving job offer or work request ); Figure 2 and related text regarding item 210 ‘DETERMINE, USING A PROCESSOR, A CANDIDATE POOL OF WORKERS AMONG MATCHING WORKERS FOR TRANSMITTING A WORK REQUEST OR JOB OFFER’; Figure 6 and related text regarding item 610 ‘DETERMINE, USING A PROCESSOR, A CANDIDATE POOL OF WORKERS AMONG MATCHING WORKERS FOR TRANSMITTING A WORK REQUEST OR JOB OFFER’]
wherein the instructions, when executed by the processor, further cause the platform to determine, for each of the plurality of orders, one or more eligible workers of the plurality of available workers [see at least Paragraph 0051 for reference to the platform comprising a worker/job matcher to provide a deterministic method to compute a relative worker score between a worker and a job or open shift, based on a set of attributes of the worker and the employer's preferences for given values of the attributes; Paragraph 0054 for reference to one or more worker scores may be presented to the employer to indicate relative matches between the employer or job preferences and the worker; Paragraph 0062 for reference to the score computing algorithm including various tuning parameters to optimize matching for different types of jobs and employers; Paragraph 0071 for reference to the matching server being configured to match employers and / or jobs with suitable worker profiles and generate a list of best matched profiles; Paragraph 0086 for reference to the score computing algorithm including various tuning parameters to optimize matching between the workers and jobs with different values and priorities for different attributes; Figure 2 and related text regarding the method for matching workers with job requests; Figure 6 and related text regarding the method of matching workers to job requests]
wherein determining the plurality of order-worker scores comprises, for each of the plurality of orders, determining the score for each of the one or more eligible workers associated with the order [see at least Paragraph 0054 for reference to the worker score identifying more preferable workers for a job for an employer; Paragraph 0062 for reference to a score computing algorithm for computing the worker score values may be designed to generate a value; Paragraph 0084 for reference to the worker score associated with each worker in the candidate pool may be determined by considering the employer priorities and / or job attribute associated with the worker values; Figure 2 and related text regarding item 212 ‘DETERMINE, USING A PROCESSOR, A WORKER SCORE ASSOCIATED WITH EACH WORKER IN THE CANDIDATE POOL’]
Claim 16
Regarding Claim 16, Blakely discloses the following:
A method, the method comprising [see at least Paragraph 0002 for reference to the present invention relating to methods, systems, and devise for staffing and managing workers; Paragraph 0049 for reference to the present disclosure relating to the context of workforce management; Figure 1 and related text regarding the possible operating environment or platform; Figure 9 and related text]
using training data comprising historical order data and worker data, train one or more models to generate order-worker scores using a plurality of model features, wherein the plurality of model features comprise order characteristics and worker characteristics [see at least Paragraph 0062 for reference to the score computing algorithm for computing the worker score; Paragraph 0063 for reference to the worker matcher algorithm computing the worker score values for an individual worker; Paragraph 0094 for reference to the statistical classification algorithms for classifying the job profiles for one or more workers based on the one or more aforementioned parameters; Paragraph 0098 for reference to the platform using appropriate machine learning algorithms for learning the characteristics of the best matching profile; Paragraph 0098 for reference to the machine learning algorithms may be trained, using supervised or unsupervised training methods, to learn the parameters of the best matching profile and the least matching profiles; Paragraph 0098 for reference to, the platform may log historical data such as each calculated worker score and relative component values scores in each offer for use in future analysis and learning functions]
determine a plurality of order-worker scores for a plurality of orders and a plurality of workers, wherein determining the plurality of order-worker scores comprises, for each of the plurality of orders, determining, for each of the plurality of workers, a score using the one or more models wherein the score is determined based on an objective function, wherein the objective function further comprises a scaled worker performance variable that alters the score without altering the first model or the second model [see at least Paragraph 0054 for reference to the worker score identifying more preferable workers for a job for an employer; Paragraph 0062 for reference to a score computing algorithm for computing the worker score values may be designed to generate a value; Paragraph 0066 for reference to attribute and matching factor adjustments can be used to tune the computation or to get values closer to 100 for better looking results; Paragraph 0069 for reference to the software application may be provided by matching software, which may include a score computing algorithm; Paragraph 0084 for reference to the worker score associated with each worker in the candidate pool may be determined by considering the employer priorities and / or job attribute associated with the worker values; Paragraph 0086 for reference to the score computing algorithm may include various tuning parameters to optimize matching between the workers and jobs with different values and priorities for different attributes; Figure 2 and related text regarding item 212 ‘DETERMINE, USING A PROCESSOR, A WORKER SCORE ASSOCIATED WITH EACH WORKER IN THE CANDIDATE POOL’]
based at least in part on the plurality of order-worker scores and an optimization process applied across the plurality of order-worker scores, match each order of the plurality of orders to a respective matched worker of the plurality of workers [see at least Paragraph 0051 for reference to the platform comprising a worker/job matcher to provide a deterministic method to compute a relative worker score between a worker and a job or open shift, based on a set of attributes of the worker and the employer's preferences for given values of the attributes; Paragraph 0054 for reference to one or more worker scores may be presented to the employer to indicate relative matches between the employer or job preferences and the worker; Paragraph 0062 for reference to the score computing algorithm including various tuning parameters to optimize matching for different types of jobs and employers; Paragraph 0071 for reference to the matching server being configured to match employers and / or jobs with suitable worker profiles and generate a list of best matched profiles; Paragraph 0086 for reference to the score computing algorithm including various tuning parameters to optimize matching between the workers and jobs with different values and priorities for different attributes; Figure 2 and related text regarding the method for matching workers with job requests; Figure 6 and related text regarding the method of matching workers to job requests]
at a first time, for the first order, offer the first order to only the respective matched worker matched with the first order [see at least Paragraph 0071 for reference to the matching server being configured to transmit work requests or job offers to the best matched workers; Paragraph 0085 for reference to the work requests may be automatically transmitted to the workers based on predetermined parameters and / or worker score; Figure 2 and related text regarding item 214 ‘TRANSMIT, USING A PROCESSOR, A WORK REQUEST OR JOB OFFER TO AT LEAST ONE WORKER AMONG THE CANDIDATE POOL BASED AT LEAST ON THE WORKER SCORE]
While Blakely discloses the limitations above, it does not disclose determine a plurality of order-worker scores for a plurality of orders and a plurality of workers available to perform the plurality of orders, wherein the score is determined based on an objective function comprising a combination of a first value output by a first model of the one or more models with a second value output by a second model of the one or more models, wherein the objective function further comprises a scaled worker performance variable that alters the score without altering the first model or the second model, wherein each order of the plurality of orders comprises an origin location, a destination location, and a completion time; offer the first order to a matched worker matched with the first order by transmitting a push notification to a mobile device of the matched worker; in real time, at a second time later than the first time: receiving, from the mobile device of the matched worker, a notification that the first order is completed; update the training data to include a training instance comprising (i) the second worker, (ii) the first order, and (iii) an indication that the matched worker completed the first order; and re-training the one or more models using the updated training data comprising the training instance.
However, Gibson discloses the following:
wherein the score is determined based on an objective function comprising a combination of a first value output by a first model of the one or more models with a second value output by a second model of the one or more models [see at least Paragraph 0026 for reference to the employee evaluator service generates an overall contribution score for a particular employee based at least in part on summing the particular employees one more outcome weights; Paragraph 0042 for reference to data set is therefore labeled and can be used to train a machine learning algorithm such as a Bayesian Network (Neural Network) or a hidden Markov model that evolves a specific weight for each outcome metric as assigned to each team member; Figure 1 and related text regarding item 142 ‘GENERATE FROM THE BN OUTCOME WEIGHT(S) FOR EACH E WITH RESPECT TO OE, EP, AND OEP’ and item 143 ‘GENERATE AN OVERALL CONTRIBUTION SCORE FOR A PARTICULAR E BASED AT LEAST IN PART ON SUMMING THE PARTICULAR E’S OUTCOME WEIGHTS’]
wherein the objective function further comprises a scaled worker performance variable that alters the score without altering the first model or the second model [see at least Paragraph 0025 for reference to the employee evaluator service generates from the Bayesian Network one or more outcome weights for each employee with respect to other employees, the enterprise metrics, and the other enterprise metrics; Paragraph 0026 for reference to the employee evaluator service generates an overall contribution score for a particular employee based at least in part on summing the particular employees one more outcome weights; Paragraph 0042 for reference to data set is therefore labeled and can be used to train a machine learning algorithm such as a Bayesian Network (Neural Network) or a hidden Markov model that evolves a specific weight for each outcome metric as assigned to each team member; Figure 1 and related text regarding item 142 ‘GENERATE FROM THE BN OUTCOME WEIGHT(S) FOR EACH E WITH RESPECT TO OE, EP, AND OEP’ and item 143 ‘GENERATE AN OVERALL CONTRIBUTION SCORE FOR A PARTICULAR E BASED AT LEAST IN PART ON SUMMING THE PARTICULAR E’S OUTCOME WEIGHTS’]
Before the effective filing date, it would have been obvious to one of ordinary skill in the art to modify the score generation algorithm of Blakely to include the overall contribution score of Gibson. Doing so would assist in providing incentives and compensation for individuals as well as making choices for appropriate individuals to add or replace on a given team, as stated by Gibson (Paragraph 0006).
While the combination of Blakely and Gibson discloses the limitations above, it does not disclose determine a plurality of order-worker scores for a plurality of orders and a plurality of workers available to perform the plurality of orders, wherein each order of the plurality of orders comprises an origin location, a destination location, and a completion time; offer the first order to a matched worker matched with the first order by transmitting a push notification to a mobile device of the matched worker; in real time, at a second time later than the first time: receiving, from the mobile device of the matched worker, a notification that the first order is completed; update the training data to include a training instance comprising (i) the second worker, (ii) the first order, and (iii) an indication that the matched worker completed the first order; and re-training the one or more models using the updated training data comprising the training instance.
However, Perry discloses the following:
determining a plurality of order-worker scores for a plurality of orders and a plurality of workers available to perform the plurality of orders, wherein each order of the plurality of orders comprises an origin location, a destination location, and a completion time [see at least Paragraph 0055 for reference to data stored including task entry information including task origin and destination locations, and any other data related to task attributes, task requirements, and task performance; Paragraph 0071 for reference to network server storing task information including an expected completion time for a task; Paragraph 0072 for reference to the network server scoring the results of each analysis to generate a numerical score that may be used to rank available employees for selection; Paragraph 0080 for reference to network server may rank or score the available employees based on a quantity or amount of matching or compatible attributes between the employee attributes and equipment attributes; Paragraph 0088 for reference to network server may track a duration of each task in progress, and determine an expected completion time for each task]
at a first time, for the first order, offer the first order to only a matched worker matched with the first order by transmitting a push notification to a mobile device of the matched worker to reduce, during the first time, a number of offers to track in a database of the platform [see at least Paragraph 0031 for reference to the third party server being associated with a messaging service, for example Apple Push Notification Service for handling the delivery of messages and notifications related to task assignment; Paragraph 0070 for reference to network server may generate an alert notifying a responder employee that that a new task is assigned to them and sending such notifications to user device; Figure 10 and related text regarding task notification interface]
in real time, at a second time later than the first time: receiving, from the mobile device of the matched worker, a notification that the first order is completed [see at least Paragraph 0088 for reference to network server may receive real-time data streams associated with the status of a task, including indications from users via user device that a task is completed; Paragraph 0103 for reference to an employee selecting interface elements indicating task completion]
Before the effective filing date, it would have been obvious to one of ordinary skill in the art to modify the system of Blakely to include the match notification and reassignment capability of Perry. Doing so would provide for intelligent task assignment and dispatching based on multiple factors such as proximity, skill set, workload, and task priority, as stated by Perry (Paragraph 0004).
While the combination of Blakely, Gibson, and Perry disclose the limitations above, they do not disclose wherein the score is determined based on an objective function comprising a combination of a first value output by a first model of the one or more models with a second value output by a second model of the one or more models, wherein the objective function further comprises a scaled worker performance variable that alters the score without altering the first model or the second model; updating the training data to include a training instance comprising (i) the second worker, (ii) the first order, and (iii) an indication that the matched worker completed the first order; and re-train the one or more models using the updated training data comprising the first training instance and the second training instance.
However, Ayat discloses the following:
updating the training data to include a training instance comprising (i) the second worker, (ii) the first order, and (iii) an indication that the matched worker completed the first order [see at least Paragraph 0040 for reference to training data may include data related to the urgency of a particular scope of work for historical tasks (e.g., historical tasks that have been completed, etc.), name data (e.g., task generator identity (“Store Mart”)), location (e.g., zip code), service type (e.g., landscaping, mechanical, electrical, etc.); Paragraph 0045 for reference to training of the machine-learning model may be configured to cause the machine-learning model to learn associations between task feature data and task data and technician feature data and technician data, such that the trained machine-learning model is configured to determine an output evaluation and/or assignment in response to the input task data or technician data based on the learned associations; Paragraph 0056 for reference to technician verification data may be used by the device to develop more accurate machine learning models to better assign generated tasks to technicians, and/or may be used to update or adjust (6) the task data and/or task feature data prior to re-employing the machine learning algorithms in order to update the evaluation based on the technician's feedback; Paragraph 0071 for reference to the technician may accept the assigned task or not and if the technician accepts the assigned task, the machine learning model may be updated based on the amount of time it took for the technician to accept the task; Figure 4 and related text regarding item 412 ‘Technician accepts?’ and item 414 ‘Update ML Model with User Input’
re-training the one or more models using the updated training data comprising the training instance [see at least Paragraph 0056 for reference to technician verification data may be used by the device to develop more accurate machine learning models to better assign generated tasks to technicians, and/or may be used to update or adjust (6) the task data and/or task feature data prior to re-employing the machine learning algorithms in order to update the evaluation based on the technician's feedback; Paragraph 0071 for reference to the technician may accept the assigned task or not and if the technician accepts the assigned task, the machine learning model may be updated based on the amount of time it took for the technician to accept the task; Figure 4 and related text regarding item 412 ‘Technician accepts?’ and item 414 ‘Update ML Model with User Input’]
Before the effective filing date, it would have been obvious to one of ordinary skill in the art to modify the machine learning models of Blakely to include the specific trainings instances and re-training of Ayat. Doing so would allow the machine-learning model to account for and/or determine relationships between multiple samples, e.g., to assign tasks more efficiently, as stated by Ayat (Paragraph 0046).
Claim 20
Regarding Claim 20, Blakely discloses the following:
A non-transitory computer-readable medium, having stored instructions thereon, which when executed by a processor, cause the processor to manage work by performing a method comprising [see at least Paragraph 0002 for reference to the present invention relating to methods, systems, and devise for staffing and managing workers; Paragraph 0049 for reference to the present disclosure relating to the context of workforce management; Paragraph 0114 for reference to embodiments of the present disclosure may take the form of a computer program product on a computer usable or computer - readable storage medium having computer - usable or computer - readable program code embodied in the medium for use by or in connection with an instruction execution system; Figure 1 and related text regarding the possible operating environment or platform; Figure 9 and related text]
using training data comprising historical order data and worker data, train one or more models to generate order-worker scores using a plurality of model features, wherein the plurality of model features comprise order characteristics and worker characteristics [see at least Paragraph 0062 for reference to the score computing algorithm for computing the worker score; Paragraph 0063 for reference to the worker matcher algorithm computing the worker score values for an individual worker; Paragraph 0094 for reference to the statistical classification algorithms for classifying the job profiles for one or more workers based on the one or more aforementioned parameters; Paragraph 0098 for reference to the platform using appropriate machine learning algorithms for learning the characteristics of the best matching profile; Paragraph 0098 for reference to the machine learning algorithms may be trained, using supervised or unsupervised training methods, to learn the parameters of the best matching profile and the least matching profiles; Paragraph 0098 for reference to, the platform may log historical data such as each calculated worker score and relative component values scores in each offer for use in future analysis and learning functions]
determine a plurality of order-worker scores for a plurality of orders and a plurality of workers, wherein determining the plurality of order-worker scores comprises, for each of the plurality of orders, determining, for each of the plurality of workers, a score using the one or more models, wherein the score is determined based on an objective function, wherein the objective function further comprises a scaled worker performance variable that alters the score without altering the first model or the second model [see at least Paragraph 0054 for reference to the worker score identifying more preferable workers for a job for an employer; Paragraph 0062 for reference to a score computing algorithm for computing the worker score values may be designed to generate a value; Paragraph 0066 for reference to attribute and matching factor adjustments can be used to tune the computation or to get values closer to 100 for better looking results; Paragraph 0069 for reference to the software application may be provided by matching software, which may include a score computing algorithm; Paragraph 0084 for reference to the worker score associated with each worker in the candidate pool may be determined by considering the employer priorities and / or job attribute associated with the worker values; Paragraph 0086 for reference to the score computing algorithm may include various tuning parameters to optimize matching between the workers and jobs with different values and priorities for different attributes; Figure 2 and related text regarding item 212 ‘DETERMINE, USING A PROCESSOR, A WORKER SCORE ASSOCIATED WITH EACH WORKER IN THE CANDIDATE POOL’]
based at least in part on the plurality of order-worker scores and an optimization process applied across the plurality of order-worker scores, match each order of the plurality of orders to a respective matched worker of the plurality of workers [see at least Paragraph 0051 for reference to the platform comprising a worker/job matcher to provide a deterministic method to compute a relative worker score between a worker and a job or open shift, based on a set of attributes of the worker and the employer's preferences for given values of the attributes; Paragraph 0054 for reference to one or more worker scores may be presented to the employer to indicate relative matches between the employer or job preferences and the worker; Paragraph 0062 for reference to the score computing algorithm including various tuning parameters to optimize matching for different types of jobs and employers; Paragraph 0071 for reference to the matching server being configured to match employers and / or jobs with suitable worker profiles and generate a list of best matched profiles; Paragraph 0086 for reference to the score computing algorithm including various tuning parameters to optimize matching between the workers and jobs with different values and priorities for different attributes; Figure 2 and related text regarding the method for matching workers with job requests; Figure 6 and related text regarding the method of matching workers to job requests]
at a first time, for a first order, offer the first order to only the respective matched worker matched with the first order [see at least Paragraph 0071 for reference to the matching server being configured to transmit work requests or job offers to the best matched workers; Paragraph 0085 for reference to the work requests may be automatically transmitted to the workers based on predetermined parameters and / or worker score; Figure 2 and related text regarding item 214 ‘TRANSMIT, USING A PROCESSOR, A WORK REQUEST OR JOB OFFER TO AT LEAST ONE WORKER AMONG THE CANDIDATE POOL BASED AT LEAST ON THE WORKER SCORE]
While Blakely discloses the limitations above, it does not disclose determine a plurality of order-worker scores for a plurality of orders and a plurality of workers available to perform the plurality of orders, wherein the score is determined based on an objective function comprising a combination of a first value output by a first model of the one or more models with a second value output by a second model of the one or more models, wherein the objective function further comprises a scaled worker performance variable that alters the score without altering the first model or the second model; offer the first order to a matched worker matched with the first order by transmitting a push notification to a mobile device of the matched worker; in real time, at a second time later than the first time: for the first order of the plurality of orders, determine, based on a current time and a completion time for the first order and based on the first order not being assigned, that the first order is distressed; in response to determining that the first order is distressed, automatically transmitting additional push notifications to mobile devices of additional workers to offer the first order to the additional workers, wherein the additional workers are selected from the plurality of available workers based on the second plurality of order-worker scores; receiving, from a mobile device of the mobile devices of the additional workers, a notification that the first order is completed, wherein the mobile device is associated with a second worker of the plurality of workers; updating the training data to include a first training instance comprising (i) the matched worker, (ii) the first order, and (iii) an indication that the matched worker did not select the first order; updating the training data to include a second training instance comprising (i) the second worker, (ii) the first order, and (iii) an indication that the second worker completed the first order; and re-training the one or more models using the updated training data comprising the first training instance and the second training instance.
However, Gibson discloses the following:
wherein the score is determined based on an objective function comprising a combination of a first value output by a first model of the one or more models with a second value output by a second model of the one or more models [see at least Paragraph 0026 for reference to the employee evaluator service generates an overall contribution score for a particular employee based at least in part on summing the particular employees one more outcome weights; Paragraph 0042 for reference to data set is therefore labeled and can be used to train a machine learning algorithm such as a Bayesian Network (Neural Network) or a hidden Markov model that evolves a specific weight for each outcome metric as assigned to each team member; Figure 1 and related text regarding item 142 ‘GENERATE FROM THE BN OUTCOME WEIGHT(S) FOR EACH E WITH RESPECT TO OE, EP, AND OEP’ and item 143 ‘GENERATE AN OVERALL CONTRIBUTION SCORE FOR A PARTICULAR E BASED AT LEAST IN PART ON SUMMING THE PARTICULAR E’S OUTCOME WEIGHTS’]
wherein the objective function further comprises a scaled worker performance variable that alters the score without altering the first model or the second model [see at least Paragraph 0025 for reference to the employee evaluator service generates from the Bayesian Network one or more outcome weights for each employee with respect to other employees, the enterprise metrics, and the other enterprise metrics; Paragraph 0026 for reference to the employee evaluator service generates an overall contribution score for a particular employee based at least in part on summing the particular employees one more outcome weights; Paragraph 0042 for reference to data set is therefore labeled and can be used to train a machine learning algorithm such as a Bayesian Network (Neural Network) or a hidden Markov model that evolves a specific weight for each outcome metric as assigned to each team member; Figure 1 and related text regarding item 142 ‘GENERATE FROM THE BN OUTCOME WEIGHT(S) FOR EACH E WITH RESPECT TO OE, EP, AND OEP’ and item 143 ‘GENERATE AN OVERALL CONTRIBUTION SCORE FOR A PARTICULAR E BASED AT LEAST IN PART ON SUMMING THE PARTICULAR E’S OUTCOME WEIGHTS’]
Before the effective filing date, it would have been obvious to one of ordinary skill in the art to modify the score generation algorithm of Blakely to include the overall contribution score of Gibson. Doing so would assist in providing incentives and compensation for individuals as well as making choices for appropriate individuals to add or replace on a given team, as stated by Gibson (Paragraph 0006).
While the combination of Blakely and Gibson discloses the limitations above, it does not disclose determine a plurality of order-worker scores for a plurality of orders and a plurality of workers available to perform the plurality of orders; offer the first order to a matched worker matched with the first order by transmitting a push notification to a mobile device of the matched worker; in real time, at a second time later than the first time: for the first order of the plurality of orders, determine, based on a current time and a completion time for the first order and based on the first order not being assigned, that the first order is distressed; in response to determining that the first order is distressed, automatically transmitting additional push notifications to mobile devices of additional workers to offer the first order to the additional workers, wherein the additional workers are selected from the plurality of available workers based on the second plurality of order-worker scores; receiving, from a mobile device of the mobile devices of the additional workers, a notification that the first order is completed, wherein the mobile device is associated with a second worker of the plurality of workers; updating the training data to include a first training instance comprising (i) the matched worker, (ii) the first order, and (iii) an indication that the matched worker did not select the first order; updating the training data to include a second training instance comprising (i) the second worker, (ii) the first order, and (iii) an indication that the second worker completed the first order; and re-training the one or more models using the updated training data comprising the first training instance and the second training instance.
However, Perry discloses the following:
determining a plurality of order-worker scores for a plurality of orders and a plurality of workers available to perform the plurality of orders [see at least Paragraph 0055 for reference to data stored including task entry information including task origin and destination locations, and any other data related to task attributes, task requirements, and task performance; Paragraph 0071 for reference to network server storing task information including an expected completion time for a task; Paragraph 0072 for reference to the network server scoring the results of each analysis to generate a numerical score that may be used to rank available employees for selection; Paragraph 0080 for reference to network server may rank or score the available employees based on a quantity or amount of matching or compatible attributes between the employee attributes and equipment attributes; Paragraph 0088 for reference to network server may track a duration of each task in progress, and determine an expected completion time for each task]
at a first time, for a first order, offer the first order to only the respective matched worker matched with the first order by transmitting a push notification to a mobile device of the matched worker [see at least Paragraph 0031 for reference to the third party server being associated with a messaging service, for example Apple Push Notification Service for handling the delivery of messages and notifications related to task assignment; Paragraph 0070 for reference to network server may generate an alert notifying a responder employee that that a new task is assigned to them and sending such notifications to user device; Figure 10 and related text regarding task notification interface]
in real time, at a second time later than the first time: for the first order of the plurality of orders, determine, based on a current time and a completion time for the first order and based on the first order not being assigned, that the first order is distressed [see at least Paragraph 0083 for reference to if the employee becomes unavailable or refuses to accept the task; Paragraph 0088 for reference to the network server tracking the duration of each task in progress and determining the expected completion time; Paragraph 0089 for reference to the task management interface providing details for completion or progress of each step of the task and providing alerts if the employee does not complete the task within a predetermined period of time; Paragraph 0103 for reference to selection of one or more interface elements may inform network server that one or more steps of the task cannot be completed in the estimated time frame and by the expected completion time]
in response to determining that the first order is distressed, automatically transmitting additional push notifications to mobile devices of the additional workers, to offer the first order to the additional workers, wherein the additional workers are selected from the plurality of available workers based on the plurality of order-worker scores [see at least Paragraph 0031 for reference to the third party server being associated with a messaging service, for example Apple Push Notification Service for handling the delivery of messages and notifications related to task assignment; Paragraph 0072 for reference to the network server scoring the results of each analysis to generate a numerical score that may be used to rank available employees for selection; Paragraph 0080 for reference to network server may rank or score the available employees based on a quantity or amount of matching or compatible attributes between the employee attributes and equipment attributes; Paragraph 0083 for reference to network server may identify a highest ranked or highest scored employee, based on the results of step 510, and attempt to assign the task to that employee and if the employee becomes unavailable or refuses to accept the task, then network server may assign the task to the next-highest ranked/scored employee, until the task is accepted and started; Paragraph 0084 for reference to other means of quantifying workload, such as expected time to complete the task, may be used to determine whether tasks should be reassigned; Paragraph 0084 for reference to automatic task reassignment may occur on a real-time, ongoing basis, on a schedule, periodically (e.g., every hour), or based on the occurrence of predetermined events which could indicate a disparity or potential disparity in workload]
receiving, from a mobile device of the mobile devices of the additional workers, a notification that the first order is completed, wherein the mobile device is associated with a second worker of the plurality of workers [see at least Paragraph 0088 for reference to network server may receive real-time data streams associated with the status of a task, including indications from users via user device that a task is completed; Paragraph 0103 for reference to an employee selecting interface elements indicating task completion]
Before the effective filing date, it would have been obvious to one of ordinary skill in the art to modify the system of Blakely to include the match notification and reassignment capability of Perry. Doing so would provide for intelligent task assignment and dispatching based on multiple factors such as proximity, skill set, workload, and task priority, as stated by Perry (Paragraph 0004).
While the combination of Blakely, Gibson, and Perry disclose the limitations above, they do not disclose wherein the score is determined based on an objective function comprising a combination of a first value output by a first model of the one or more models with a second value output by a second model of the one or more models, wherein the objective function further comprises a scaled worker performance variable that alters the score without altering the first model or the second model; updating the training data to include a first training instance comprising (i) the matched worker, (ii) the first order, and (iii) an indication that the matched worker did not select the first order; updating the training data to include a second training instance comprising (i) the second worker, (ii) the first order, and (iii) an indication that the second worker completed the first order; and re-training the one or more models using the updated training data comprising the first training instance and the second training instance.
However, Ayat discloses the following:
updating the training data to include a first training instance comprising (i) the matched worker, (ii) the first order, and (iii) an indication that the matched worker did not select the first order [see at least Paragraph 0040 for reference to training data may include data related to the urgency of a particular scope of work for historical tasks (e.g., historical tasks that have been completed, etc.), name data (e.g., task generator identity (“Store Mart”)), location (e.g., zip code), service type (e.g., landscaping, mechanical, electrical, etc.); Paragraph 0045 for reference to training of the machine-learning model may be configured to cause the machine-learning model to learn associations between task feature data and task data and technician feature data and technician data, such that the trained machine-learning model is configured to determine an output evaluation and/or assignment in response to the input task data or technician data based on the learned associations; Paragraph 0056 for reference to technician verification data may be used by the device to develop more accurate machine learning models to better assign generated tasks to technicians, and/or may be used to update or adjust (6) the task data and/or task feature data prior to re-employing the machine learning algorithms in order to update the evaluation based on the technician's feedback; Paragraph 0071 for reference to the technician may accept the assigned task or not and if the technician accepts the assigned task, the machine learning model may be updated based on the amount of time it took for the technician to accept the task; Paragraph 0072 for reference to Figure 4 and related text regarding item 412 ‘Technician accepts?’ and item 416 ‘Update ML Model with User Input’
updating the training data to include a second training instance comprising (i) the second worker, (ii) the first order, and (iii) an indication that the second worker completed the first order [see at least Paragraph 0040 for reference to training data may include data related to the urgency of a particular scope of work for historical tasks (e.g., historical tasks that have been completed, etc.), name data (e.g., task generator identity (“Store Mart”)), location (e.g., zip code), service type (e.g., landscaping, mechanical, electrical, etc.); Paragraph 0045 for reference to training of the machine-learning model may be configured to cause the machine-learning model to learn associations between task feature data and task data and technician feature data and technician data, such that the trained machine-learning model is configured to determine an output evaluation and/or assignment in response to the input task data or technician data based on the learned associations; Paragraph 0056 for reference to technician verification data may be used by the device to develop more accurate machine learning models to better assign generated tasks to technicians, and/or may be used to update or adjust (6) the task data and/or task feature data prior to re-employing the machine learning algorithms in order to update the evaluation based on the technician's feedback; Paragraph 0071 for reference to the technician may accept the assigned task or not and if the technician accepts the assigned task, the machine learning model may be updated based on the amount of time it took for the technician to accept the task; Figure 4 and related text regarding item 412 ‘Technician accepts?’ and item 414 ‘Update ML Model with User Input’
re-training the one or more models using the updated training data comprising the first training instance and the second training instance [see at least Paragraph 0056 for reference to technician verification data may be used by the device to develop more accurate machine learning models to better assign generated tasks to technicians, and/or may be used to update or adjust (6) the task data and/or task feature data prior to re-employing the machine learning algorithms in order to update the evaluation based on the technician's feedback; Paragraph 0071 for reference to the technician may accept the assigned task or not and if the technician accepts the assigned task, the machine learning model may be updated based on the amount of time it took for the technician to accept the task; Figure 4 and related text regarding item 412 ‘Technician accepts?’ and item 414 ‘Update ML Model with User Input’]
Before the effective filing date, it would have been obvious to one of ordinary skill in the art to modify the machine learning models of Blakely to include the specific trainings instances and re-training of Ayat. Doing so would allow the machine-learning model to account for and/or determine relationships between multiple samples, e.g., to assign tasks more efficiently, as stated by Ayat (Paragraph 0046).
Claim 21
While the combination of Blakely, Gibson, Perry, and Ayat discloses the limitations above, Blakely does not disclose wherein the instructions, when executed by the processor, further cause the platform to determine the plurality of workers available to perform the plurality of orders based on geolocations of the plurality of workers, wherein the geolocations of the plurality of workers are determined using data generated by global position system (GPS) devices in mobile devices of the plurality of workers.
However, Perry discloses the following:
wherein the instructions, when executed by the processor, further cause the platform to determine the plurality of workers available to perform the plurality of orders based on geolocations of the plurality of workers [see at least Paragraph 0063 for reference to employee location including a detected location based on locating equipment; Paragraph 0076 for reference to network server analyzing employee locations; Paragraph 0077 for reference to network server may compare employee locations to one or more locations associated with a requested task, such as the task origin location, task destination location, and one or more locations of equipment and supplies associated with the requested task; Figure 6 and related text regarding item 510 ‘Analyze Employee Locations’]
wherein the geolocations of the plurality of workers are determined using data generated by global position system (GPS) devices in mobile devices of the plurality of workers [see at least Paragraph 0046 for reference to user device containing one or more sensors for collecting environmental, movement, and/or security data; Paragraph 0046 for reference to the sensors including GPS receivers; Figure 3 and related text regarding item 350 ‘sensors’]
Before the effective filing date, it would have been obvious to one of ordinary skill in the art to modify the system of Blakely to include the location tracking ability of Perry. Doing so would provide for intelligent task assignment and dispatching based on multiple factors such as proximity, skill set, workload, and task priority, as stated by Perry (Paragraph 0004).
Claim(s) 3 and 17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Blakely (U.S 2019/0385125 A1) in view of Gibson (U.S 2015/0095120 A1) in view of Perry (U.S 2016/0300178 A1) in view of Ayat (U.S 2023/0316172 A1), as applied in claims 1 and 16, in view of Cao (U.S 2016/0364679 A1).
Claim 3
While the combination of Blakely, Gibson, Perry, and Ayat discloses the limitations above, they do not disclose wherein the origin location is a sortation center, a warehouse, or a store; and wherein the destination location includes one or more residences.
Regarding Claim 3, Cao discloses the following:
wherein the origin location is a sortation center, a warehouse, or a store [see at least Paragraph 0046 for reference to within a transportation environment goods may be items/ packages consigned by a store; Paragraph 0108 for reference to a store or consignor has packages to be delivered at a particular time as ordered by a customer or consignee; Paragraph 0122 for reference to the store, restaurant, or vendor computer sends the customer address to the rider hailing server to analyze package delivery locations and deliver routes, determine when a ride-sharing vehicle may be able to combine its trip serving riders and in the same trip deliver the package to the customer location, and match the delivery time; Figure 3 and related text regarding item 105 ‘origin’]
wherein the destination location includes one or more residences [see at least Paragraph 0095 for reference to the rideshare transactions occur along a route starting at an origin and concluding at a destination; Figure 3 and related text regarding item 106 ‘destination’; Figure 5B and related text regarding ‘consignor generates a product picking route which directs a store employee through the store in a predetermined manner and sends to the driver a delivery time window, an order identification number, customer information, customer address, Customer specific instructions, past Customer Complaints to the delivery location information’]
Before the effective filing date, it would have been obvious to one of ordinary skill in the art to modify the job orders of Blakely to include the origin and destination information of Cao. Doing so avoids the driver having to operate their phone to pick out a person while driving around aimlessly, as stated by Cao (Paragraph 0017).
Claim 17
While the combination of Blakely, Gibson, Perry, and Ayat discloses the limitations above, regarding Claim 17, Blakely discloses the following:
wherein each order of the plurality of orders is a shopping order or a delivery [see at least Paragraph 0055 for reference to attribute related to a delivery job or a delivery driver who may be creating a profile in the worker matcher may be “experience"; Paragraph 0073 for reference to the employer being a logistics company looking for suitable workers to fill one or more delivery routes]
wherein each worker of the plurality of workers is a shopper or a driver [see at least Paragraph 0055 for reference to attribute related to a delivery job or a delivery driver who may be creating a profile in the worker matcher may be “experience"; Paragraph 0073 for reference to the worker may be a driver]
While the combination of Blakely and Perry discloses the limitations above, they do not disclose wherein the origin location is a sortation center, a warehouse, or a store; or wherein the destination location includes one or more residences.
However, Cao discloses the following:
wherein the origin location is a sortation center, a warehouse, or a store [see at least Paragraph 0046 for reference to within a transportation environment goods may be items/ packages consigned by a store; Paragraph 0108 for reference to a store or consignor has packages to be delivered at a particular time as ordered by a customer or consignee; Paragraph 0122 for reference to the store, restaurant, or vendor computer sends the customer address to the rider hailing server to analyze package delivery locations and deliver routes, determine when a ride-sharing vehicle may be able to combine its trip serving riders and in the same trip deliver the package to the customer location, and match the delivery time; Figure 3 and related text regarding item 105 ‘origin’]
wherein the destination location includes one or more residences [see at least Paragraph 0095 for reference to the rideshare transactions occur along a route starting at an origin and concluding at a destination; Figure 3 and related text regarding item 106 ‘destination’; Figure 5B and related text regarding ‘consignor generates a product picking route which directs a store employee through the store in a predetermined manner and sends to the driver a delivery time window, an order identification number, customer information, customer address, Customer specific instructions, past Customer Complaints to the delivery location information’]
Before the effective filing date, it would have been obvious to one of ordinary skill in the art to modify the job orders of Blakely to include the origin and destination information of Cao. Doing so avoids the driver having to operate their phone to pick out a person while driving around aimlessly, as stated by Cao (Paragraph 0017).
Claim(s) 6 is/are rejected under 35 U.S.C. 103 as being unpatentable over Blakely (U.S 2019/0385125 A1) in view of Gibson (U.S 2015/0095120 A1) in view of Perry (U.S 2016/0300178 A1) in view of Ayat (U.S 2023/0316172 A1), as applied in claim 1, Sahasrabudhe (U.S 11,501,247 B1).
Claim 6
While the combination of Blakely, Gibson, Perry, and Ayat discloses the limitations above, they do not disclose one or more of the one or more models uses gradient boosting.
Regarding Claim 6, Sahasrabudhe discloses the following:
one or more of the one or more models uses gradient boosting [see at least Col 5 lines 11-20 for reference to the machine learning system comprising one or more digitally programmed models which have been trained using training datasets to compute an estimate time to pick up from, at least, current courier data and current courier request data where one of the models including gradient boosted machines; Col 9 lines 12-22 for reference to a tree-based model being used, such as gradient boosted machines]
Before the effective filing date, it would have been obvious to one of ordinary skill in the art to modify the machine learning algorithms of Blakely to include gradient boosting of Sahasrabudhe. Doing so would ensure that the courier arrives at the preparation time at the estimated or updated pickup time, as stated by Sahasrabudhe (Col 3 lines 7-11).
Claim(s) 12 and 19 is/are rejected under 35 U.S.C. 103 as being unpatentable over Blakely (U.S 2019/0385125 A1) in view of Gibson (U.S 2015/0095120 A1) in view of Perry (U.S 2016/0300178 A1) in view of Ayat (U.S 2023/0316172 A1), and applied in claims 1 and 16, in view of Gorjestani (U.S 2015/0356501 A1).
Claim 12
While the combination of Blakely, Gibson, Perry, and Ayat disclose the limitations above, regarding Claim 12, Blakely discloses the following:
receive a communication from a communicating worker of the plurality of workers [see at least Paragraph 0075 for reference to the worker received an offer may require the worker to fill values for a different set of attributes which may not be present in the profile of the worker; Paragraph 0077 for reference to the graphical user interface presented to the worker for interacting with the platform, such for inputting data into the platform or providing worker values or searching for jobs; Figure 2 and related text regarding item 202 ‘RECEIVE, USING A PROCESSOR, WORKER VALUES CORRESPONDING TO AN ATTRIBUTE’; Figure 6 and related text regarding item 602 ‘RECEIVE, USING A PROCESSOR, WORKER VALUES CORRESPONDING TO AN ATTRIBUTE’]
While Blakely discloses the limitations above, it does not disclose in response to determining that the communication includes a selection notification: determine a selected order of the plurality of orders associated with the selection notification; remove the selected order from the plurality of orders; assign the selected order to the communicating worker; in response to determining that the communication includes a dropped-order notification: determine a dropped order associated with the dropped-order notification; remove an assignment of the dropped order to the communicating worker; add the dropped order to the plurality of orders.
However, Gorjestani discloses the following:
in response to determining that the communication includes a selection notification: determine a selected order of the plurality of orders associated with the selection notification [see at least Paragraph 0089 for reference to a selectable element being presented for the order through which the user (delivery worker) can designate himself/herself to handle delivery of the order; Figure 5A and related text regarding the example user interface for presenting the status of orders for mobile delivery]
remove the selected order from the plurality of orders [see at least Paragraph 0090 for reference to the section identifying orders that have been assigned delivery workers and that are currently out for delivery; Figure 5A and related text regarding the example user interface for presenting the status of orders for mobile delivery including item 510 ‘assigned orders’ section]
assign the selected order to the communicating worker [see at least Paragraph 0029 for reference to simultaneous distribution of the opportunity wherein each of the delivery mobile computing devices being provided the opportunity at the same time and a first delivery worker to accept the opportunity can be assigned the order; Paragraph 0089 for reference to a selectable element being presented for the order through which the user (delivery worker) can designate himself/herself to handle delivery of the order]
in response to determining that the communication includes a dropped-order notification: determine a dropped order associated with the dropped-order notification [see at least Paragraph 0094 for reference to the menu of options including selectable elements including removing himself/herself as handling the order; Figure 5b and related text regarding item 532d ‘No longer delivering this’; Examiner notes ‘No longer delivering this’ as analogous to ‘dropped-order’]
remove an assignment of the dropped order to the communicating worker [see at least Paragraph 0094 for reference to selection of removing himself/herself as handling the order places the order back in the first section of open orders; Figure 5b and related text regarding item 502 ‘section of open orders’]
add the dropped order to the plurality of orders [see at least Paragraph 0094 for reference to selection of removing himself/herself as handling the order places the order back in the first section of open orders; Figure 5b and related text regarding item 502 ‘section of open orders’]
Before the effective filing date, it would have been obvious to one of ordinary skill in the art to modify communication from a communicating worker of Blakely to include the selection and dropped order notification of Gorjestani. Doing so would allow for workers to reduce the time to service orders, which can increase the number of orders that workers may handle over a period of time and additionally improve customer satisfaction, as stated by Gorjestani (Paragraph 0010).
Claim 19
While the combination of Blakely, Gibson, Perry, and Ayat disclose the limitations above, regarding Claim 19, Blakely discloses the following:
receiving a communication from a communicating worker of the plurality of workers [see at least Paragraph 0075 for reference to the worker received an offer may require the worker to fill values for a different set of attributes which may not be present in the profile of the worker; Paragraph 0077 for reference to the graphical user interface presented to the worker for interacting with the platform, such for inputting data into the platform or providing worker values or searching for jobs; Figure 2 and related text regarding item 202 ‘RECEIVE, USING A PROCESSOR, WORKER VALUES CORRESPONDING TO AN ATTRIBUTE’; Figure 6 and related text regarding item 602 ‘RECEIVE, USING A PROCESSOR, WORKER VALUES CORRESPONDING TO AN ATTRIBUTE’]
wherein offering the order to the matched worker comprises transmitting a notification and one or more of the order characteristics of the order to an instance of a mobile application installed on a mobile device associated with the matched worker [see at least Paragraph 0071 for reference to the matching server being configured to transmit work requests or job offers to the best matched workers; Paragraph 0085 for reference to the work requests may be automatically transmitted to the workers based on predetermined parameters and / or worker score; Paragraph 0096 for reference to offer transmission sequence may comprise parameters for transmission of offers to the workers; Figure 2 and related text regarding item 214 ‘TRANSMIT, USING A PROCESSOR, A WORK REQUEST OR JOB OFFER TO AT LEAST ONE WORKER AMONG THE CANDIDATE POOL BASED AT LEAST ON THE WORKER SCORE; Figure 6 and related text regarding item 614 ‘DETERMINE, USING A PROCESSOR, AN OFFER TRANSMISSION SEQUENCE FOR TRANSMITTING THE AT LEAST ONE OFFER TO AT LEAST ONE WORKER FROM THE CANDIDATE POOL’, item 616 ‘TRANSMIT, USING A PROCESSOR, THE AT LEAST ONE OFFER TO AT LEAST ONE WORKER FROM THE CANDIDATE POOL ACCORDING TO THE OFFER TRANSMISSION SEQUENCE’, and item 618 ‘TRANSMITTING, USING A PROCESSOR, THE AT LEAST ONE OFFER TO AT LEAST ONE WORKER FROM THE CANDIDATE POOL ACCORDING TO THE OFFER TRANSMISSION SEQUENCE’]
While Blakely discloses the limitations above, it does not disclose in response to determining that the communication includes a selection notification: determine a selected order of the plurality of orders associated with the selection notification; remove the selected order from the plurality of orders; assign the selected order to the communicating worker; in response to determining that the communication includes a dropped-order notification: determine a dropped order associated with the dropped-order notification; remove an assignment of the dropped order to the communicating worker; add the dropped order to the plurality of orders.
However, Gorjestani discloses the following:
in response to determining that the communication includes a selection notification: determine a selected order of the plurality of orders associated with the selection notification [see at least Paragraph 0089 for reference to a selectable element being presented for the order through which the user (delivery worker) can designate himself/herself to handle delivery of the order; Figure 5A and related text regarding the example user interface for presenting the status of orders for mobile delivery]
remove the selected order from the plurality of orders [see at least Paragraph 0090 for reference to the section identifying orders that have been assigned delivery workers and that are currently out for delivery; Figure 5A and related text regarding the example user interface for presenting the status of orders for mobile delivery including item 510 ‘assigned orders’ section]
assign the selected order to the communicating worker [see at least Paragraph 0029 for reference to simultaneous distribution of the opportunity wherein each of the delivery mobile computing devices being provided the opportunity at the same time and a first delivery worker to accept the opportunity can be assigned the order; Paragraph 0089 for reference to a selectable element being presented for the order through which the user (delivery worker) can designate himself/herself to handle delivery of the order]
in response to determining that the communication includes a dropped-order notification: determine a dropped order associated with the dropped-order notification [see at least Paragraph 0094 for reference to the menu of options including selectable elements including removing himself/herself as handling the order; Figure 5b and related text regarding item 532d ‘No longer delivering this’; Examiner notes ‘No longer delivering this’ as analogous to ‘dropped-order’]
remove an assignment of the dropped order to the communicating worker [see at least Paragraph 0094 for reference to selection of removing himself/herself as handling the order places the order back in the first section of open orders; Figure 5b and related text regarding item 502 ‘section of open orders’]
add the dropped order to the plurality of orders [see at least Paragraph 0094 for reference to selection of removing himself/herself as handling the order places the order back in the first section of open orders; Figure 5b and related text regarding item 502 ‘section of open orders’]
Before the effective filing date, it would have been obvious to one of ordinary skill in the art to modify communication from a communicating worker of Blakely to include the selection and dropped order notification of Gorjestani. Doing so would allow for workers to reduce the time to service orders, which can increase the number of orders that workers may handle over a period of time and additionally improve customer satisfaction, as stated by Gorjestani (Paragraph 0010).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
Matsuoka, Yoki, Tatsushi Nishi, and Kevin Tiemey. "Machine learning approach for identification of objective function in production scheduling problems." 2019 IEEE 15th international conference on automation science and engineering (CASE). IEEE, 2019.
DOCUMENT ID
INVENTOR(S)
TITLE
US 2022/0092519 A1
Hunter et al.
DELIVERY MANAGEMENT SYSTEM WITH INTEGRATED WORKER MANAGEMENT AND SCHEDULING
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to KRISTIN ELIZABETH GAVIN whose telephone number is (571)270-7019. The examiner can normally be reached M-F 7:30-4:30 PM EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Brian Epstein can be reached at 571-270-5389. 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.
/KRISTIN E GAVIN/Primary Examiner, Art Unit 3625