DETAILED ACTION
This communication is a Non-Final Rejection Office Action in response to the submission filed on 2/3/2023 in Application 18/525,420. Claims 1-20 are now presented.
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
The requirement for restriction has been withdrawn.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter.
When considering subject matter eligibility under 35 U.S.C. 101, in step 1 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, in step 2A prong 1 it must then be determined whether the claim is recite a judicial exception (i.e., law of nature, natural phenomenon, and abstract idea). If the claim recites a judicial exception, under step 2A prong 2 it must additionally be determined whether the recites additional elements that integrate the judicial exception into a practical application. If a claim does not integrate the Abstract idea into a practical application, under step 2B it must then be determined if the claim provides an inventive concept.
In the Instant case, Claims 1-18 are directed toward methods for determining a resource assigned schedule. Claim 19-20 are directed toward a system for determining a resource assigned schedule. As such, each of the Claims is directed to one of the four statutory categories of invention.
MPEP 2106.04 II. A. explains that in step 2A prong 1 Examiners are to determine whether a claim recites a judicial exception. MPEP 2106.04(a) explains that:
To facilitate examination, the Office has set forth an approach to identifying abstract ideas that distills the relevant case law into enumerated groupings of abstract ideas. The enumerated groupings are firmly rooted in Supreme Court precedent as well as Federal Circuit decisions interpreting that precedent, as is explained in MPEP § 2106.04(a)(2). This approach represents a shift from the former case-comparison approach that required examiners to rely on individual judicial cases when determining whether a claim recites an abstract idea. By grouping the abstract ideas, the examiners’ focus has been shifted from relying on individual cases to generally applying the wide body of case law spanning all technologies and claim types.
The enumerated groupings of abstract ideas are defined as:
1) Mathematical concepts – mathematical relationships, mathematical formulas or equations, mathematical calculations (see MPEP § 2106.04(a)(2), subsection I);
2) Certain methods of organizing human activity – fundamental economic principles or practices (including hedging, insurance, mitigating risk); commercial or legal interactions (including agreements in the form of contracts; legal obligations; advertising, marketing or sales activities or behaviors; business relations); managing personal behavior or relationships or interactions between people (including social activities, teaching, and following rules or instructions) (see MPEP § 2106.04(a)(2), subsection II); and
3) Mental processes – concepts performed in the human mind (including an observation, evaluation, judgment, opinion) (see MPEP § 2106.04(a)(2), subsection III).
As per step 2A prong 1 of the eligibility analysis, claim 1 recites the abstract idea of generating an optimized resource assigned schedule which falls into the abstract idea categories of certain methods of organizing human activity and mental processes. The elements of Claim 1 that represent the Abstract idea include:
A method, comprising:
calculating resource and role requirements for each interval of time in the future period of time based on the forecast;
translating the constraints and the objectives into mathematical values;
providing each interval of time, the future period of time, the resource and role requirements and the mathematical values as input features to a constraint optimization model;
translating the data structure into a format for a resource assigned schedule
MPEP 2106.04(a)(2) II. states:
The phrase "methods of organizing human activity" is used to describe concepts relating to:
fundamental economic principles or practices (including hedging, insurance, mitigating risk);
commercial or legal interactions (including agreements in the form of contracts, legal obligations, advertising, marketing or sales activities or behaviors, and business relations); and
managing personal behavior or relationships or interactions between people, (including social activities, teaching, and following rules or instructions).
The Supreme Court has identified a number of concepts falling within the "certain methods of organizing human activity" grouping as abstract ideas. In particular, in Alice, the Court concluded that the use of a third party to mediate settlement risk is a ‘‘fundamental economic practice’’ and thus an abstract idea. 573 U.S. at 219–20, 110 USPQ2d at 1982. In addition, the Court in Alice described the concept of risk hedging identified as an abstract idea in Bilski as ‘‘a method of organizing human activity’’. Id. Previously, in Bilski, the Court concluded that hedging is a ‘‘fundamental economic practice’’ and therefore an abstract idea. 561 U.S. at 611–612, 95 USPQ2d at 1010.
In the instant case, the claims are directed to generating an optimized schedule which is a fundamental business practice and directed to managing people.
MPEP 2106.04(a)(2) states:
The courts consider a mental process (thinking) that "can be performed in the human mind, or by a human using a pen and paper" to be an abstract idea. CyberSource Corp. v. Retail Decisions, Inc., 654 F.3d 1366, 1372, 99 USPQ2d 1690, 1695 (Fed. Cir. 2011). As the Federal Circuit explained, "methods which can be performed mentally, or which are the equivalent of human mental work, are unpatentable abstract ideas the ‘basic tools of scientific and technological work’ that are open to all.’" 654 F.3d at 1371, 99 USPQ2d at 1694 (citing Gottschalk v. Benson, 409 U.S. 63, 175 USPQ 673 (1972)). See also Mayo Collaborative Servs. v. Prometheus Labs. Inc., 566 U.S. 66, 71, 101 USPQ2d 1961, 1965 (2012) ("‘[M]ental processes[] and abstract intellectual concepts are not patentable, as they are the basic tools of scientific and technological work’" (quoting Benson, 409 U.S. at 67, 175 USPQ at 675)); Parker v. Flook, 437 U.S. 584, 589, 198 USPQ 193, 197 (1978) (same).
Accordingly, the "mental processes" abstract idea grouping is defined as concepts performed in the human mind, and examples of mental processes include observations, evaluations, judgments, and opinions
The instant claims recite mental processes including observation, evaluation, judgment, opinion. For example, the steps directed to calculating resource and role requirements for each interval of time in the future period of time based on the forecast; translating the constraints and the objectives into mathematical values; providing each interval of time, the future period of time, the resource and role requirements and the mathematical values as input features to a constraint optimization model; translating the data structure into a format for a resource assigned schedule are directed to mental processes. There is nothing is nothing the claims that preclude these steps from being performed mentally. As such, the claims recite abstract ideas.
Under step 2A prong 2 the examiner must then determine if the recited abstract idea is integrated into a practical application. MPEP 2106.04 states:
Limitations the courts have found indicative that an additional element (or combination of elements) may have integrated the exception into a practical application include:
• An improvement in the functioning of a computer, or an improvement to other technology or technical field, as discussed in MPEP §§ 2106.04(d)(1) and 2106.05(a);
• Applying or using a judicial exception to effect a particular treatment or prophylaxis for a disease or medical condition, as discussed in MPEP § 2106.04(d)(2);
• Implementing a judicial exception with, or using a judicial exception in conjunction with, a particular machine or manufacture that is integral to the claim, as discussed in MPEP § 2106.05(b);
• Effecting a transformation or reduction of a particular article to a different state or thing, as discussed in MPEP § 2106.05(c); and
• Applying or using the judicial exception in some other meaningful way beyond generally linking the use of the judicial exception to a particular technological environment, such that the claim as a whole is more than a drafting effort designed to monopolize the exception, as discussed in MPEP § 2106.05(e)
The courts have also identified limitations that did not integrate a judicial exception into a practical application:
• Merely reciting the words "apply it" (or an equivalent) with the judicial exception, or merely including instructions to implement an abstract idea on a computer, or merely using a computer as a tool to perform an abstract idea, as discussed in MPEP § 2106.05(f);
• Adding insignificant extra-solution activity to the judicial exception, as discussed in MPEP § 2106.05(g); and
• Generally linking the use of a judicial exception to a particular technological environment or field of use, as discussed in MPEP § 2106.05(h).
In the instant case, this judicial exception is not integrated into a practical application. In particular, Claim 1 recites the additional elements of:
A method, comprising:
obtaining a forecast for a future period of time associated with an enterprise, the future period of time comprising one or more intervals of time;
obtaining constraints and objectives for resources of the enterprise;
receiving a data structure from the model, the data structure representing an optimized resource assigned schedule for each interval of time in the future period of time;
providing the resource assigned schedule to an interface or a scheduling system associated with the enterprise.
Claim 19 recites the additional elements of:
at least one server comprising a processor and a non-transitory computer-readable storage medium;
the non-transitory computer-readable storage medium comprising executable instructions; and the executable instructions when executed by the processor cause the processor to perform the recited steps
However, the computer elements are recited at a high-level of generality (i.e., a processor that executes instructions to perform the recited steps) such that it amounts no more than mere instructions to apply the exception using a generic computer component.
Further MPEP 2105.05(g) explains that data gathering and data output can be considered pre-solution activity and post-solution activity. See MPEP 2106.05(g) that states:
An example of pre-solution activity is a step of gathering data for use in a claimed process, e.g., a step of obtaining information about credit card transactions, which is recited as part of a claimed process of analyzing and manipulating the gathered information by a series of steps in order to detect whether the transactions were fraudulent. An example of post-solution activity is an element that is not integrated into the claim as a whole, e.g., a printer that is used to output a report of fraudulent transactions, which is recited in a claim to a computer programmed to analyze and manipulate information about credit card transactions in order to detect whether the transactions were fraudulent.
In the instant case, the obtaining of information are directed to mere data gathering which amounts to insignificant pre-solution activity.
Further, the providing of the schedule to an interface amounts to displaying the result of an analysis which is post-solution activity.
Viewing the generic data gathering and data display in combination with the generic computer does not add more than when viewing the elements individually. Accordingly, the additional elements do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea.
In step 2B, the examiner must be determine whether the claim adds a specific limitation other than what is well-understood, routine, conventional activity in the field - see MPEP 2106.05(d). As discussed with respect to Step 2A Prong Two, the processing circuitry in the claim amount to no more than mere instructions to apply the exception using a generic computer component. The same analysis applies here in 2B, i.e., mere instructions to apply an exception on a generic computer cannot integrate a judicial exception into a practical application at Step 2A or provide an inventive concept in Step 2B.
MPEP 2106.05(d) states receiving or transmitting data over a network, e.g., using the Internet to gather data is conventional when claimed generically (see Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362 (utilizing an intermediary computer to forward information); TLI Communications LLC v. AV Auto. LLC, 823 F.3d 607, 610, 118 USPQ2d 1744, 1745 (Fed. Cir. 2016) (using a telephone for image transmission); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network); buySAFE, Inc. v. Google, Inc., 765 F.3d 1350, 1355, 112 USPQ2d 1093, 1096 (Fed. Cir. 2014) (computer receives and sends information over a network)). As such, the broadly claimed input device configured to receive a product data is considered well-known and conventional as established by the MPEP and relevant case law.
Further, the Examiner takes official notice that providing the result of an analysis is well-known and conventional.
Viewing the generic data gathering and display in combination with the generic processing device does not add more than when viewing the elements individually. Accordingly, the additional elements do not provide an inventive concept.
Further Claims 2-10 further limit the mental processes and method of organizing human activity already rejected ed in the parent claim, but fail to remedy the deficiencies of the parent claim as they do not impose any additional elements that amount to significantly more than the abstract idea itself.
Accordingly, the Examiner concludes that there are no meaningful limitations in claims 2-10 that transform the judicial exception into a patent eligible application such that the claim amounts to significantly more than the judicial exception itself.
The analysis above applies to all statutory categories of invention. The presentment of claim 1 otherwise styled as a computer program product, or method, for example, would be subject to the same analysis. As such, claims 11-20 are also rejected.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claim(s) 1, 19 is/are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Rahimi US 2025/0094896 A1.
As per Claim 1 Rahimi teaches a method, comprising:
obtaining a forecast for a future period of time associated with an enterprise, the future period of time comprising one or more intervals of time; Rahimi para. 5 teaches the AI systems disclosed herein may also collect and process demand data, including a forecasted number of jobs and the average handle time for each job/task. Further para. 38 teaches the schedules data preparation module 102 and/or the demand data preparation module 104 may then gather the necessary data to model the scheduling optimization problem, such as employee information (e.g., availability, skills, preferences), the timeseries data 101a, historical workload data, forecasted demand, and/or other relevant information or combinations thereof. The results of this data gathering may be represented in the data clusters 102a, 104a.
obtaining constraints and objectives for resources of the enterprise; Rahimi para. 10 teaches In another variation of this embodiment, the computer-implemented method may further comprise: receiving, at the one or more processors, a set of period constraints corresponding to the first period; and generating, by the one or more processors executing a scheduling model, one or more schedule templates based on the set of period constraints, wherein the set of schedules data comprises the one or more schedule templates. Further in this variation, the set of period constraints may comprise: (i) an allowable working days value, (ii) a shifts per week value, (iii) a permissible start times value, (iv) a start time allowed variance value, (v) a maximum unique start time value, (vi) a shift length value, (vii) a maximum unique shift length value, (viii) a non-permissible working hours value, (ix) a minimum weekly hours value, (x) a maximum weekly hours value, (xi) a maximum over time value, (xii) a maximum continuous days off value, or (xiii) a break time per shift value.
calculating resource and role requirements for each interval of time in the future period of time based on the forecast; Rahimi para. 74 teaches As an initial step, the entity computing device 130 may stack the demand data by organizing the aggregated demand information based on the AHT for the entity and considering unfulfilled demand from any previous time intervals. More specifically, the entity computing device 130 may calculate the demand for each minute interval within the specified time period by considering both the demand within the current time interval and any carry-over demand from previous time intervals.
translating the constraints and the objectives into mathematical values; (para. 104-107 disclose the constraints and the objectives represented as mathematical values)
providing each interval of time, the future period of time, the resource and role requirements and the mathematical values as input features to a constraint optimization model; para. 26 teaches still further, the present disclosure includes specific features other than what is well-understood, routine, conventional activity in the field, or adding unconventional steps that demonstrate, in various embodiments, particular useful applications, e.g., inputting, by the one or more processors, the set of demand data and the set of schedules data into an optimization model trained to generate optimal schedules based on a set of training demand data and a set of training schedules data; and/or generating, by the one or more processors executing the optimization model, an optimal schedule for the first period based on the set of demand data and the set of schedules data, among others. Para. 43 teaches [0043] Further, the various modules 102, 104, 106 of the example system 100 may be configured to run and/or otherwise perform the relevant actions described herein in any suitable fashion, such as linearly and/or in parallel. For example, the optimization module 106 may be configured to concurrently run various/multiple optimization problems in different clusters (e.g., utilizing different sets of demand data and for different geographical regions and/or office locations/clusters simultaneously). The demand data preparation module 104 may similarly be configured to concurrently collect and prepare sets of demand data corresponding to different time periods 108 to more efficiently generate highly nuanced optimal schedules for time periods of any suitable granularity (e.g., minutes, hours, days, weeks, etc.). This parallel processing approach may significantly expedite the overall forward looking scheduling optimization solution represented by the example system 100, as the parallel processing paradigm may enable the example system 100 to handle multiple optimization scenarios more efficiently and effectively.)
receiving a data structure from the model, the data structure representing an optimized resource assigned schedule for each interval of time in the future period of time; Para. 37 teaches moreover, when an optimized schedule 106b is output from the optimization module 106, the optimized schedule 106b may be further enhanced by the personnel assignment modules 109a, 109c configured to output the optimized schedules with assigned personnel 109b. Of course, it should be appreciated that the example system 100 is merely an example and that alternative or additional components are envisioned. Para. 117 teaches to illustrate the functions performed in the personnel matching block 208, FIG. 3B depicts an example personnel prediction and matching 320 with an output optimized schedule, in accordance with some embodiments. At a first time 322, the optimized schedule templates and personnel count values output by the optimization model 136d may be analyzed by the optimization module 136c, which may include executable instructions necessary to optimally match available personnel to shifts in such optimized schedule templates. Namely, the entity computing device 130 may execute the executable instructions included as part of the optimization module 136c to fit specific personnel with the shifts represented in the schedule templates based on the personnel count values, the schedule templates, historical schedule templates, and historical acceptance/performance values of various personnel related to the historical schedule templates.
translating the data structure into a format for a resource assigned schedule; and Para. 121 teaches FIG. 4 depicts an exemplary graphical user interface (GUI) 400 featuring an optimized schedule with corresponding available supply (e.g., set of associated personnel counts 404) by time intervals, in accordance with some embodiments. The exemplary GUI 400 may generally include a set of optimized schedules 402, a set of associated personnel counts 404, and a set of role distributions 406. These features of the exemplary GUI 400 may be or include any relevant inputs/outputs to/from the schedules data preparation module 136a, the demand data preparation module 136b, the optimization module 136c, the optimization model 136d, and/or any other suitable components described herein or combinations thereof.
providing the resource assigned schedule to an interface or a scheduling system associated with the enterprise. Para. 75 teaches [0075] By applying equation (1), the entity computing device 130 may calculate the demand for each minute interval, considering both the demand within the current time interval and any carry-over demand from previous time intervals. The resulting stacked demand data may have observations ordered by job type and stage, and may thereby allow the entity computing device 130 to generate optimized schedules 214 with a more optimized resource allocation and based on a more accurate representation of workforce requirements than was possible using conventional techniques. Further, para. 122 teaches The set of optimized schedules 402 may be or include multiple optimized schedules for a single role, from which the user may choose, and/or multiple optimized schedules for a variety of roles. For example, in the set of optimized schedules 402, there may be three different optimized schedules for a first role (“Role 1”), a second role (“Role 2”), and a third role (“Role 3”), and each optimized schedule may have a certain number of shifts of potentially varying lengths across a single work week. In this example, a user viewing this exemplary GUI 400 may examine the set of optimized schedules and determine which one of the numerous potential schedules the user would prefer for the first role, the second role, and/or the third role.
As per Claim 19 Rahimi teaches A system, comprising:
at least one server comprising a processor and a non-transitory computer-readable storage medium;
the non-transitory computer-readable storage medium comprising executable instructions; and the executable instructions when executed by the processor cause the processor to perform operations comprising: (see para. 19)
calculating employee requirements by roles for each interval of time in a future period of time based on a sales forecast for the future period of time; Rahimi para. 74 teaches As an initial step, the entity computing device 130 may stack the demand data by organizing the aggregated demand information based on the AHT for the entity and considering unfulfilled demand from any previous time intervals. More specifically, the entity computing device 130 may calculate the demand for each minute interval within the specified time period by considering both the demand within the current time interval and any carry-over demand from previous time intervals.
normalizing constraints and objectives into input features; (para. 104-107 disclose normalizing the constraints, the employee objectives, and the enterprise objectives into input features)
providing the employee requirements by the roles, each interval of time, the future period of time, the constraints, and the objectives as input to a constraint optimization model (model); para. 26 teaches still further, the present disclosure includes specific features other than what is well-understood, routine, conventional activity in the field, or adding unconventional steps that demonstrate, in various embodiments, particular useful applications, e.g., inputting, by the one or more processors, the set of demand data and the set of schedules data into an optimization model trained to generate optimal schedules based on a set of training demand data and a set of training schedules data; and/or generating, by the one or more processors executing the optimization model, an optimal schedule for the first period based on the set of demand data and the set of schedules data, among others. Para. 43 teaches [0043] Further, the various modules 102, 104, 106 of the example system 100 may be configured to run and/or otherwise perform the relevant actions described herein in any suitable fashion, such as linearly and/or in parallel. For example, the optimization module 106 may be configured to concurrently run various/multiple optimization problems in different clusters (e.g., utilizing different sets of demand data and for different geographical regions and/or office locations/clusters simultaneously). The demand data preparation module 104 may similarly be configured to concurrently collect and prepare sets of demand data corresponding to different time periods 108 to more efficiently generate highly nuanced optimal schedules for time periods of any suitable granularity (e.g., minutes, hours, days, weeks, etc.). This parallel processing approach may significantly expedite the overall forward looking scheduling optimization solution represented by the example system 100, as the parallel processing paradigm may enable the example system 100 to handle multiple optimization scenarios more efficiently and effectively.)
receiving an optimized employee assigned schedule for each interval of time over the future period of time as output from the model; Para. 37 teaches moreover, when an optimized schedule 106b is output from the optimization module 106, the optimized schedule 106b may be further enhanced by the personnel assignment modules 109a, 109c configured to output the optimized schedules with assigned personnel 109b. Of course, it should be appreciated that the example system 100 is merely an example and that alternative or additional components are envisioned. Para. 117 teaches to illustrate the functions performed in the personnel matching block 208, FIG. 3B depicts an example personnel prediction and matching 320 with an output optimized schedule, in accordance with some embodiments. At a first time 322, the optimized schedule templates and personnel count values output by the optimization model 136d may be analyzed by the optimization module 136c, which may include executable instructions necessary to optimally match available personnel to shifts in such optimized schedule templates. Namely, the entity computing device 130 may execute the executable instructions included as part of the optimization module 136c to fit specific personnel with the shifts represented in the schedule templates based on the personnel count values, the schedule templates, historical schedule templates, and historical acceptance/performance values of various personnel related to the historical schedule templates.
translating the optimized employee assigned schedule from a first format to at least one second format; and Para. 121 teaches FIG. 4 depicts an exemplary graphical user interface (GUI) 400 featuring an optimized schedule with corresponding available supply (e.g., set of associated personnel counts 404) by time intervals, in accordance with some embodiments. The exemplary GUI 400 may generally include a set of optimized schedules 402, a set of associated personnel counts 404, and a set of role distributions 406. These features of the exemplary GUI 400 may be or include any relevant inputs/outputs to/from the schedules data preparation module 136a, the demand data preparation module 136b, the optimization module 136c, the optimization model 136d, and/or any other suitable components described herein or combinations thereof.
providing the optimized employee assigned schedule in the at least one format to one or more of an enterprise interface and an enterprise scheduling system. Para. 75 teaches [0075] By applying equation (1), the entity computing device 130 may calculate the demand for each minute interval, considering both the demand within the current time interval and any carry-over demand from previous time intervals. The resulting stacked demand data may have observations ordered by job type and stage, and may thereby allow the entity computing device 130 to generate optimized schedules 214 with a more optimized resource allocation and based on a more accurate representation of workforce requirements than was possible using conventional techniques. Further, para. 122 teaches The set of optimized schedules 402 may be or include multiple optimized schedules for a single role, from which the user may choose, and/or multiple optimized schedules for a variety of roles. For example, in the set of optimized schedules 402, there may be three different optimized schedules for a first role (“Role 1”), a second role (“Role 2”), and a third role (“Role 3”), and each optimized schedule may have a certain number of shifts of potentially varying lengths across a single work week. In this example, a user viewing this exemplary GUI 400 may examine the set of optimized schedules and determine which one of the numerous potential schedules the user would prefer for the first role, the second role, and/or the third role.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries 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.
Claim(s) 2-6, 11-12, 14-16, 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rahimi US 2025/0094896 A1 in view of Moon US 2021/0182770 A1.
As per Claim 2 Rahimi does not teach the method of claim 1, wherein obtaining the forecast further includes obtaining the forecast as a sales forecast from a forecasting data store of the enterprise. However, Moon para. 5 that teaches digital delivery solution that can quickly and flexibly handle unpredictable changes based on changes in sale forecasts and available delivery men resources. Finally, what is needed are improved methods and systems for facilitating reassignment of delivery workers from one area to another in order to accommodate geographic and cyclical changes in sales forecasts. Both Rahimi and Moon are directed to generating schedules based on forecasts. Therefore, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the Applicant’s invention to modify the teachings of Rahimi to include obtaining the forecast as a sales forecast from a forecasting data store of the enterprise as taught by Moon to facilitate reassignment of workers from one area to another in order to accommodate geographic and cyclical changes in sales forecasts (see para. 5).
As per Claim 3 Rahimi teaches the method of claim 2, wherein obtaining the constraints and the objectives further includes obtaining a first portion of the constraints and the objectives from a resource data store of the enterprise. Rahimi para. 52 teaches 0052] Accordingly, the entity computing device 130 may communicate with one or more of the user computing device 122 and/or the remote server 140 to compile, store, or otherwise access information associated with forward looking scheduling optimization. In some implementations, the entity computing device 130 may access the raw data or information from one or more of the electronic devices 122, 140 and/or the entity computing device 130 may access such relevant data from memory 136. The entity computing device 130 may analyze this data according to the functionalities as described herein, which may result in a set of optimized schedules. More specifically, the entity computing device 130 may collect, prepare, and analyze sets of schedules data and/or sets of demand data using the schedules data preparation module 136a, the demand data preparation module 136b, and the optimization module 136c.
As per Claim 4 Rahimi teaches the method of claim 3, wherein obtaining the constraints and the objectives further includes obtaining a second portion of the constraints and the objectives through the interface or from the scheduling system. Rahimi para. 51 teaches In any event, the entity computing device 130 may be associated with an entity such as a company, business, corporation, or the like (generally, a company) that may be interested in forward looking scheduling optimization. The entity computing device 130 may include various components (e.g., network interface controller 139) that support and/or otherwise perform communication with the other electronic devices 122, 140. The user computing device 122 may be associated with an entity such as an individual (e.g., manager, administrator) who may be interested in and/or otherwise perform various actions related to forward looking scheduling optimization (e.g., input constraints, goals, etc.). The user computing device 122 may also include various components (e.g., processor 124, memory 126, input/output (I/O) controller 128, network interface controller 129) that support, enable, and/or otherwise perform communications with the other electronic devices 130, 140. Further, the remote server 140 may be any suitable cluster, cloud-based, and/or otherwise configured server that, in certain embodiments, may be configured to participate in actions/functions associated with forward looking scheduling optimization. The remote server 140 may also include various components (e.g., processor 144, other data 145, network interface controller 149) that support, enable, and/or otherwise perform communications with the other electronic devices 122, 130.
As per Claim 5 Rahimi the method of claim 4, wherein calculating further includes mapping each predicted sales for each interval of time to generic resources, each of which includes a specific role. Rahimi para. 96 teaches The entity computing device 130 may continue by defining roles skills. As discussed herein, a “role” may be a group of skills and time-related information, such that roles may be differentiated based on shift constraints and skillsets. Namely, shift constraints may define the set of possible schedule configurations that may be selected by the entity computing device 130 when generating an optimal schedule 214, and the skillsets may define the set of job types to which the entity computing device 130 may assign a role. In certain instances, it may be more practical for the entity computing device 130 to assign multiple skills to a single role, thereby enabling these roles to handle different types of jobs (i.e., cross-skilling). For instance, a customer service representative at a bank may possess the skills to both open and close bank accounts, and/or a nurse in the emergency department may be capable of drawing a patients blood and cleaning wounds
As per Claim 6 Rahimi teaches the method of claim 5, wherein translating further includes assigning the constraints and the objectives to the mathematical values based on predefined criteria and value ranges Para. 98 teaches more specifically, the entity computing device 130 may utilize such labor costs by determining and/or applying these factors in specific fashions. For example, the entity computing device 130 may determine night intervals based on defined periods considered as nighttime, during which higher costs may apply. These night intervals may be specified as time ranges, such as (22, 6), indicating that nighttime hours are from 10 PM to 6 AM. Para. 121 teaches FIG. 4 depicts an exemplary graphical user interface (GUI) 400 featuring an optimized schedule with corresponding available supply (e.g., set of associated personnel counts 404) by time intervals, in accordance with some embodiments. The exemplary GUI 400 may generally include a set of optimized schedules 402, a set of associated personnel counts 404, and a set of role distributions 406. These features of the exemplary GUI 400 may be or include any relevant inputs/outputs to/from the schedules data preparation module 136a, the demand data preparation module 136b, the optimization module 136c, the optimization model 136d, and/or any other suitable components described herein or combinations thereof.
As per Claim 11 Rahimi teaches A method, comprising:
receiving a forecast for each interval of time over a future period of time; Rahimi para. 5 teaches the AI systems disclosed herein may also collect and process demand data, including a forecasted number of jobs and the average handle time for each job/task. Further para. 38 teaches the schedules data preparation module 102 and/or the demand data preparation module 104 may then gather the necessary data to model the scheduling optimization problem, such as employee information (e.g., availability, skills, preferences), the timeseries data 101a, historical workload data, forecasted demand, and/or other relevant information or combinations thereof. The results of this data gathering may be represented in the data clusters 102a, 104a.
determining employee requirements by roles for each interval of time in the forecast based on the sales forecast; Rahimi para. 38 teaches each of the schedules data preparation module 102 and the demand data preparation module 104 may prepare data (e.g., demand data and/or schedules data) for input into the optimization module 106. The modules 102, 104 may generally gather the relevant data (e.g., scheduling data, demand data, timeseries data 101a, etc.), clean and/or otherwise prepare the data, and define/identify the inputs/constraints/conditions that must be satisfied (e.g., labor laws, employee availability, skill requirements, service level agreements) to attain certain optimization goals. The schedules data preparation module 102 and/or the demand data preparation module 104 may then gather the necessary data to model the scheduling optimization problem, such as employee information (e.g., availability, skills, preferences), the timeseries data 101a, historical workload data, forecasted demand, and/or other relevant information or combinations thereof. The results of this data gathering may be represented in the data clusters 102a, 104a. [0075] By applying equation (1), the entity computing device 130 may calculate the demand for each minute interval, considering both the demand within the current time interval and any carry-over demand from previous time intervals. The resulting stacked demand data may have observations ordered by job type and stage, and may thereby allow the entity computing device 130 to generate optimized schedules 214 with a more optimized resource allocation and based on a more accurate representation of workforce requirements than was possible using conventional techniques
obtaining constraints, employee objectives, and enterprise objectives; Rahimi para. 10 teaches In another variation of this embodiment, the computer-implemented method may further comprise: receiving, at the one or more processors, a set of period constraints corresponding to the first period; and generating, by the one or more processors executing a scheduling model, one or more schedule templates based on the set of period constraints, wherein the set of schedules data comprises the one or more schedule templates. Further in this variation, the set of period constraints may comprise: (i) an allowable working days value, (ii) a shifts per week value, (iii) a permissible start times value, (iv) a start time allowed variance value, (v) a maximum unique start time value, (vi) a shift length value, (vii) a maximum unique shift length value, (viii) a non-permissible working hours value, (ix) a minimum weekly hours value, (x) a maximum weekly hours value, (xi) a maximum over time value, (xii) a maximum continuous days off value, or (xiii) a break time per shift value.
normalizing the constraints, the employee objectives, and the enterprise objectives into input features; (para. 104-107 disclose normalizing the constraints, the employee objectives, and the enterprise objectives into input features)
providing the input features, the employee requirements by the roles, each interval of time, and the future period of time as input to a constraint optimization model (model); para. 26 teaches still further, the present disclosure includes specific features other than what is well-understood, routine, conventional activity in the field, or adding unconventional steps that demonstrate, in various embodiments, particular useful applications, e.g., inputting, by the one or more processors, the set of demand data and the set of schedules data into an optimization model trained to generate optimal schedules based on a set of training demand data and a set of training schedules data; and/or generating, by the one or more processors executing the optimization model, an optimal schedule for the first period based on the set of demand data and the set of schedules data, among others. Para. 43 teaches [0043] Further, the various modules 102, 104, 106 of the example system 100 may be configured to run and/or otherwise perform the relevant actions described herein in any suitable fashion, such as linearly and/or in parallel. For example, the optimization module 106 may be configured to concurrently run various/multiple optimization problems in different clusters (e.g., utilizing different sets of demand data and for different geographical regions and/or office locations/clusters simultaneously). The demand data preparation module 104 may similarly be configured to concurrently collect and prepare sets of demand data corresponding to different time periods 108 to more efficiently generate highly nuanced optimal schedules for time periods of any suitable granularity (e.g., minutes, hours, days, weeks, etc.). This parallel processing approach may significantly expedite the overall forward looking scheduling optimization solution represented by the example system 100, as the parallel processing paradigm may enable the example system 100 to handle multiple optimization scenarios more efficiently and effectively.)
receiving an optimized employee assigned schedule for each interval of time over the future period of time from the model, wherein the constraints and employee requirements are satisfied in the optimized employee assigned schedule, and each of the employee objectives and enterprise objectives are either maximized or minimized in the optimized employee assigned schedule; and Para. 37 teaches moreover, when an optimized schedule 106b is output from the optimization module 106, the optimized schedule 106b may be further enhanced by the personnel assignment modules 109a, 109c configured to output the optimized schedules with assigned personnel 109b. Of course, it should be appreciated that the example system 100 is merely an example and that alternative or additional components are envisioned. Para. 117 teaches to illustrate the functions performed in the personnel matching block 208, FIG. 3B depicts an example personnel prediction and matching 320 with an output optimized schedule, in accordance with some embodiments. At a first time 322, the optimized schedule templates and personnel count values output by the optimization model 136d may be analyzed by the optimization module 136c, which may include executable instructions necessary to optimally match available personnel to shifts in such optimized schedule templates. Namely, the entity computing device 130 may execute the executable instructions included as part of the optimization module 136c to fit specific personnel with the shifts represented in the schedule templates based on the personnel count values, the schedule templates, historical schedule templates, and historical acceptance/performance values of various personnel related to the historical schedule templates.
providing the optimized employee assigned schedule to one or more of an enterprise system or an enterprise interface. Para. 75 teaches by applying equation (1), the entity computing device 130 may calculate the demand for each minute interval, considering both the demand within the current time interval and any carry-over demand from previous time intervals. The resulting stacked demand data may have observations ordered by job type and stage, and may thereby allow the entity computing device 130 to generate optimized schedules 214 with a more optimized resource allocation and based on a more accurate representation of workforce requirements than was possible using conventional techniques. Further, para. 122 teaches The set of optimized schedules 402 may be or include multiple optimized schedules for a single role, from which the user may choose, and/or multiple optimized schedules for a variety of roles. For example, in the set of optimized schedules 402, there may be three different optimized schedules for a first role (“Role 1”), a second role (“Role 2”), and a third role (“Role 3”), and each optimized schedule may have a certain number of shifts of potentially varying lengths across a single work week. In this example, a user viewing this exemplary GUI 400 may examine the set of optimized schedules and determine which one of the numerous potential schedules the user would prefer for the first role, the second role, and/or the third role.
Rahimi does not teach the forecast is a sales forecast However, Moon para. 5 that teaches digital delivery solution that can quickly and flexibly handle unpredictable changes based on changes in sale forecasts and available delivery men resources. Finally, what is needed are improved methods and systems for facilitating reassignment of delivery workers from one area to another in order to accommodate geographic and cyclical changes in sales forecasts. Both Rahimi and Moon are directed to generating schedules based on forecasts. Therefore, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the Applicant’s invention to modify the teachings of Rahimi to a sales forecast as taught by Moon to facilitate reassignment of workers from one area to another in order to accommodate geographic and cyclical changes in sales forecasts (see para. 5).
As per Claim 12 Rahimi teaches the method of claim 11, wherein determining the employee requirements by the roles further include assigning a total number of employee units with each employee unit assigned a given role per interval of time. Rahimi para. 103 teaches the entity computing device 130 may also establish personnel count constraints. Generally, such personnel count constraints may ensure that the total number of personnel assigned to particular schedules does not exceed the total available workforce. Thereafter, the entity computing device 130 may formulate an objective function that is configured to optimize a particular goal, such as maximizing employee utilization or minimizing labor costs. Additionally, in certain embodiments, the entity computing device 130 may proceed to round the optimization results. In these embodiments, the entity computing device 130 may need to round the results to ensure that the final optimized schedules 214 adhere to practical constraints, such as a whole number of personnel assigned to each schedule.
As per Claim 14 Rahimi teaches The method of claim 11, wherein receiving further includes verifying the optimized employee assigned schedule complies with employee labor laws and regulations. Rahimi para. 38 teaches each of the schedules data preparation module 102 and the demand data preparation module 104 may prepare data (e.g., demand data and/or schedules data) for input into the optimization module 106. The modules 102, 104 may generally gather the relevant data (e.g., scheduling data, demand data, timeseries data 101a, etc.), clean and/or otherwise prepare the data, and define/identify the inputs/constraints/conditions that must be satisfied (e.g., labor laws, employee availability, skill requirements, service level agreements) to attain certain optimization goals. The schedules data preparation module 102 and/or the demand data preparation module 104 may then gather the necessary data to model the scheduling optimization problem, such as employee information (e.g., availability, skills, preferences), the timeseries data 101a, historical workload data, forecasted demand, and/or other relevant information or combinations thereof. The results of this data gathering may be represented in the data clusters 102a, 104a.
As per Claim 15 Rahimi teaches The method of claim 14, wherein verifying further includes iterating to the normalizing and making one or more of the employee objectives or the enterprise objectives associated with noncompliance of the employee labor laws and regulations a mandatory constraint until a version of the optimized employee assigned schedule provided by the model is in compliance with the employee labor laws and regulations. Rahimi para. 114 teaches the entity computing device 130 may execute the rounding logic as part of the optimization model 136d to adhere to all personnel count-related constraints by executing a rounding algorithm. The rounding algorithm may include various steps for a single node while iterating through the tree of constraints from leaves to the root (i.e., “total”). Initially, the entity computing device 130 may verify whether the leaf has a constraint. If the leaf does have a corresponding constraint, the entity computing device 130 may assign a constraint number to the leaf. Otherwise, the entity computing device 130 may move on to another leaf. However, if the leaf lacks a constraint and has no parent leaf, the entity computing device 130 may set a sum value to capture the root and round all ungrouped values.
As per Claim 16 Rahim teaches The method of claim 11, wherein providing the schedule further includes converting a first format of the optimized employee assigned schedule provided as output from the model to a second format associated with the enterprise interface. Para. 121 teaches FIG. 4 depicts an exemplary graphical user interface (GUI) 400 featuring an optimized schedule with corresponding available supply (e.g., set of associated personnel counts 404) by time intervals, in accordance with some embodiments. The exemplary GUI 400 may generally include a set of optimized schedules 402, a set of associated personnel counts 404, and a set of role distributions 406. These features of the exemplary GUI 400 may be or include any relevant inputs/outputs to/from the schedules data preparation module 136a, the demand data preparation module 136b, the optimization module 136c, the optimization model 136d, and/or any other suitable components described herein or combinations thereof.
As per Claim 18 Rahimi teaches The method of claim 11 further comprising, iterating to the receiving the sales forecast based on a request received from the enterprise interface. Rahimi para. 125 teaches In certain embodiments, the user interacting (e.g., tap, click, swipe, gesture, voice command, etc.) with any portion of the exemplary GUI 400 may cause the corresponding device (e.g., user computing device 122, entity computing device 130) to transition to a separate interface where the user may communicate directly/indirectly with personnel to communicate scheduling requests. For example, the user may interact with the set of optimized schedules 402, the set of associated personnel counts 404, and/or the set of role distributions 406, and the computing device may automatically generate a message, such as electronic mail, or other communication (e.g., calendar invitation, text message) indicating to specific personnel the user's request for staffing during the indicated shifts/days
Claim(s) 8, 17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rahimi US 2025/0094896 A1 in view of Brager US 2022/0083951 A1.
As per Claim 8 Rahim does not teach The method of claim 1, wherein providing the resource assigned schedule further includes providing the resource assigned schedule to the interface in the format and to the scheduling system in a second format. However, Brager para. 103 teaches the fittest set of assignments, presented here in a human-readable format. Para. 105 teaches In the next step, the optimized schedule is converted into a machine-readable message and prepared for distribution. A report may accompany the optimized schedule to notify the recipient of any warnings or errors associated with optimized schedule. In certain embodiments, the message is pushed to an external message broker, for asynchronous consumption by the scheduling applications. Both Rahimi and Brager are directed to generating schedules based on forecasts. Therefore, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the Applicant’s invention to modify the teachings of Rahimi to include providing the resource assigned schedule to the interface in the format and to the scheduling system in a second format. One of ordinary skill in the art before the effective filling date of the Applicant’s invention would have recognized that applying the known technique of Reference B would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Brager to the teachings of Rahimi would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate human readable and machine readable schedule outputs into similar systems. Further, incorporating the different schedule formats taught by Brager to the system taught by Rahimi would result in an improved system that provides an efficient and flexible means to generate schedule that can be consumer and used for multiple purposes.
As per Claim 17 Rahim does not teach the method of claim 16, wherein providing the schedule further includes converting the first format of the optimized employee assigned schedule provided as output from the model to a third format associated with the enterprise system. However, Brager para. 103 teaches the fittest set of assignments, presented here in a human-readable format. Para. 105 teaches In the next step, the optimized schedule is converted into a machine-readable message and prepared for distribution. A report may accompany the optimized schedule to notify the recipient of any warnings or errors associated with optimized schedule. In certain embodiments, the message is pushed to an external message broker, for asynchronous consumption by the scheduling applications. Both Rahimi and Brager are directed to generating schedules based on forecasts. Therefore, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the Applicant’s invention to modify the teachings of Rahimi to include providing the resource assigned schedule to the interface in the format and to the scheduling system in a second format. One of ordinary skill in the art before the effective filling date of the Applicant’s invention would have recognized that applying the known technique of Reference B would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Brager to the teachings of Rahimi would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate human readable and machine readable schedule outputs into similar systems. Further, incorporating the different schedule formats taught by Brager to the system taught by Rahimi would result in an improved system that provides an efficient and flexible means to generate schedule that can be consumer and used for multiple purposes
Claim(s) 10 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rahimi US 2025/0094896 A1 in view of Joseph US 2020/0210920 A1.
As per Claim 10 Rahimi does not teach The method of claim 1 further comprising, iterate to obtaining the forecast each time a new forecast is available from a forecasting data store. However, Joseph para. 37 teaches as shown in the illustrated embodiment, the input to the demand forecasting engine 203 further includes the actual historical demand data for one or more aligned date(s) in previous years that are determined to correspond with the forecast date. As shown, the demand forecasting engine 203 provides the forecast date(s) 230 (and times) to the date alignment appliance 225, and in response thereto, receives from the date alignment appliance 225 the aligned date(s) 232 for use in the demand forecasting analysis for the forecast date. The date alignment appliance 225 can be configured to perform the processing and operations for aligning the days and weeks between years in accordance with the techniques in this disclosure. The alignment appliance 225 can thereafter provide to the demand forecasting engine 203 the aligned date 232 from a previous year that corresponds most closely with the forecast date 230. This process can be repeated for each date to be forecasted and for each time new or revised historical data 222 is received from one or more data sources 202. Both Rahimi and Joseph are directed to generating schedules based on forecasts. Therefore, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the Applicant’s invention to modify the teachings of Rahimi to include iterate to obtaining the forecast each time a new forecast is available from a forecasting data store as taught by Joseph to obtain demand data therefrom for more accurate and updated demand forecasting (see para. 24).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DEIRDRE D HATCHER whose telephone number is (571)270-5321. The examiner can normally be reached Monday-Friday 8-4:30.
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.
/DEIRDRE D HATCHER/Primary Examiner, Art Unit 3625