DETAILED ACTION
This action is in reply to the application filed on 03/08/2024.
Claim 9 is cancelled.
Claims 6, 8, and 10 are amended.
Claims 11-20 are newly added
Claims 1-8 and 10-20 are currently pending and have been examined.
Priority
This patent Application claims priority from Foreign Application No. CN202111079045.9 filed 09/15/2021. This benefit has been received and acknowledged and therefore, the instant claims receive the effective filing date of 09/15/2021.
Information Disclosure Statement
Information Disclosure Statements received 03/08/2024, 09/19/2024, 02/27/2025, and 02/27/2025 has been reviewed and considered.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Objections
Claims 2-7, 11-16, and 17-20 objected to because of the following informalities:
-Claims 2, 11, and 17 read “a backlog influence degree of an order” but should likely read “the backlog influence degree of the order”
Claims 3-7, 12-16, and 18-20 inherit the deficiencies noted in claims 2, 11, and 17, respectfully, and are therefore objected to on the same basis.
Appropriate correction is required.
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-8 and 10-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., law of nature, a natural phenomenon, or an abstract idea) without significantly more.
Under Step 1 of the Subject Matter Eligibility Test for Products and Processes, the claims must be directed to one of the four statutory categories (see MPEP 2106.03). All the claims are directed to one of the four statutory categories (YES).
Under Step 2A of the Subject Matter Eligibility Test, it is determined whether the claims are directed to a judicially recognized exception (see MPEP 2106.04). Step 2A is a two-prong inquiry.
Under Prong 1, it is determined whether the claim recites a judicial exception (YES). Taking Claim 8 as representative, the claim recites limitations that fall within the certain methods of organizing human activity groupings of abstract ideas, including:
-one or more processors; and
-a storage apparatus, storing one or more programs thereon,
-the one or more programs, when executed by the one or more processors, cause the one or more processors to implement operations, the operations comprising:
-acquiring content association information between orders in a set of to-be-processed orders, wherein the content association information is used for representing whether different orders comprise a same service content;
-respectively determining, based on the content association information, backlog influence degrees of the orders in the set of to-be-processed orders, wherein a backlog influence degree of an order represents an influence degree of the order on a backlog state of the orders in the set of to-be-processed orders; and
-determining, based on the backlog influence degrees, a processing sequence of the orders in the set of to-be-processed orders, and performing order processing according to the determined processing sequence
The above limitations recite the concept of determining a processing sequence of received orders. The above limitations fall within the “Certain Methods of Organizing Human Activity” groupings of abstract ideas, enumerated in MPEP 2106.04(a).
Certain methods of organizing human activity include:
fundamental economic principles or practices (including hedging, insurance, and 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)
managing personal behavior or relationships or interactions between people (including social activities, teaching, and following rules or instructions)
The limitations of acquiring content association information between orders in a set of to-be-processed orders, wherein the content association information is used for representing whether different orders comprise a same service content; respectively determining, based on the content association information, backlog influence degrees of the orders in the set of to-be-processed orders, wherein a backlog influence degree of an order represents an influence degree of the order on a backlog state of the orders in the set of to-be-processed orders; and determining, based on the backlog influence degrees, a processing sequence of the orders in the set of to-be-processed orders, and performing order processing according to the determined processing sequence are processes that, under their broadest reasonable interpretation, cover a commercial interaction. For example, “acquiring,” “determining,” and “determining” in the context of this claim encompass advertising, and marketing or sales activities.
Similarly, the limitation of the one or more programs, when executed by the one or more processors, cause the one or more processors to implement operations is a process that, under its broadest reasonable interpretation, cover a commercial interaction. That is, other than reciting that the operations are implemented by the one or more processors executed by one or more programs, nothing in the claim element precludes the step from practically being performed by people. For example, but for the “the one or more programs, when executed by the one or more processors, cause the one or more processors to” language, “implement” in the context of this claim encompasses advertising, and marketing or sales activities.
Under Prong 2, it is determined whether the claim recites additional elements that integrate the exception into a practical application of the exception. This judicial exception is not integrated into a practical application (NO).
-one or more processors; and
-a storage apparatus, storing one or more programs thereon,
-the one or more programs, when executed by the one or more processors, cause the one or more processors to implement operations, the operations comprising:
-acquiring content association information between orders in a set of to-be-processed orders, wherein the content association information is used for representing whether different orders comprise a same service content;
-respectively determining, based on the content association information, backlog influence degrees of the orders in the set of to-be-processed orders, wherein a backlog influence degree of an order represents an influence degree of the order on a backlog state of the orders in the set of to-be-processed orders; and
-determining, based on the backlog influence degrees, a processing sequence of the orders in the set of to-be-processed orders, and performing order processing according to the determined processing sequence
These limitations are not indicative of integration into a practical application because:
The additional elements of claim 8 are recited at a high level of generality (i.e. as generic computing hardware) such that they amount to nothing more than mere instructions to implement or apply the abstract idea on a generic computing hardware (or, merely use a computer as a tool to perform an abstract idea) as supported by paragraph [0027] of Applicant’s specification – “It should be noted that the method for processing an order provided by embodiments of the present disclosure is generally performed by the server 105, and accordingly, the apparatus for processing an order is generally provided in the server 105.” Specifically, the additional elements of an apparatus, one or more processors, a storage apparatus, and storing one or more programs thereon are recited at a high-level of generality (i.e. as a generic processor performing the generic computer functions of acquiring data [i.e. receiving data] and determining data) such that they amount do no more than mere instructions to apply the exception using generic computer components. Accordingly, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. Further, the additional elements do no more than generally link the use of the judicial exception to a particular technological environment or field of use (such as computers or computing networks). Employing well-known computer functions to execute an abstract idea, even when limiting the use of the idea to one particular environment, does not integrate the exception into a practical application.
Additionally, the additional elements are insufficient to integrate the abstract idea into a practical application because the claim fails to i) reflect an improvement in the functioning of a computer or an improvement to another technology or technical field, ii) apply the judicial exception with, or use the judicial exception in conjunction with, a particular machine or manufacture that is integral to the claim, iii) effect a transformation or reduction of a particular article to a different state or thing, or iv) apply or use the judicial exception in some other meaningful way beyond generally linking the use of the judicial exception to a particular technological environment.
Accordingly, the judicial exception is not integrated into a practical application.
Under Step 2B, it is determined whether the claims recite additional elements that amount to significantly more than the judicial exception. The claims of the present application do not include additional elements that are sufficient to amount to significantly more than the judicial exception (NO).
In the case of claim 8, taken individually or as a whole, the additional elements of claim 8 do not provide an inventive concept. As discussed above under step 2A (prong 2) with respect to the integration of the abstract idea into a practical application, the additional elements used to perform the claimed functions amount to no more than a general link to a technological environment.
Even considered as an ordered combination (as a whole), the additional elements do not add anything significantly more than when considered individually.
Claim 1 is a method reciting similar functions as claim 8. Claim 1 does not recite any additional elements, accordingly, claim 1 does not qualify as eligible subject matter for similar reasons as claim 8 indicated above.
Claim 10 is a non-transitory computer readable storage medium reciting similar functions as claim 8. Examiner notes that claim 10 recites the additional elements of a non-transitory computer readable storage medium, a computer program, and a processor, however, claim 10 does not qualify as eligible subject matter for similar reasons as claim 8 indicated above.
Therefore, claims 1, 8, and 10 do not provide an inventive concept and do not qualify as eligible subject matter.
Dependent claims 2-7 and 11-20, when analyzed as a whole, are held to be patent ineligible under 35 U.S.C. § 101 because they do not add “significantly more” to the abstract idea. More specifically, dependent claims 2-7 and 11-20 further fall within the “Certain Methods of Organizing Human Activity” grouping of abstract ideas in that they recite commercial interactions. Dependent claims 1, 8, and 10 do not recite any farther additional elements, and as such are not indicative of integration into a practical application for at least similar reasons discussed above. As such, under prong two of Step 2A, claims 2-7 and 11-20 are not indicative of integration into a practical application for at least similar reasons as discussed above. Thus, dependent claims 2-7 and 11-20 are “directed to” an abstract idea. Next, under Step 2B, similar to the analysis of claims 1, 8, and 10, dependent claims 2-7 and 11-20 when analyzed individually and as an ordered combination, merely further define the commonplace business method (i.e. determining a processing sequence of received orders) being applied on a general-purpose computer and, therefore, do not amount to significantly more than the abstract idea itself. Accordingly, the Examiner concludes that there are no meaningful limitations in the claims that transform the judicial exception into a patent eligible application such that the claims amount to significantly more than the judicial exception itself. The analysis above applies to all statutory categories of invention.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1-4, 6, 8, 10-13, 15, and 17-19 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Bonig et al. (US 2018/0167492 A1), hereinafter Bonig.
Regarding claim 1, Bonig discloses a method for processing orders, the method comprising:
-acquiring content association information between orders in a set of to-be-processed orders, wherein the content association information is used for representing whether different orders comprise a same service content (Bonig, see at least: “it may be determined whether the incoming transaction comprises an order to buy or sell a quantity of the associated financial instrument or an order to modify or cancel an existing order in the electronic market [i.e. acquiring content association information between orders in a set of to-be-processed orders]” [0115] and “the message management module 140 may determine the transaction type of the transaction requested in a given message. A message may include an instruction to perform a type of transaction [i.e. wherein the content association information is used for representing whether different orders comprise a same service content]. The transaction type may be, in one embodiment, a request/offer/order to either buy or sell a specified quantity or units of a financial instrument at a specified price or value” [0096] and “It should also be appreciated that the multiple components and systems discussed herein may be synchronized or coordinated to process all of the same transactions/instructions (e.g., be redundant). The systems and components discussed herein may be configured to be immediately consistent (e.g., process all of the same transactions/instructions at the same or substantially same actual or real time) or to be eventually consistent (e.g., process all of the same transactions/instructions at different actual or real time) [i.e. wherein the content association information is used for representing whether different orders comprise a same service content]” [0278]);
-respectively determining, based on the content association information, backlog influence degrees of the orders in the set of to-be-processed orders, wherein a backlog influence degree of an order represents an influence degree of the order on a backlog state of the orders in the set of to-be-processed orders (Bonig, see at least: “specific characteristics of market activity taken by market participants may provide an indication of a particular market participant's effect on market liquidity. For example, a Market Quality Index (“MQI”) of an order may be determined using the characteristics. An MQI may be considered a value indicating a likelihood that a particular order will improve or facilitate liquidity in a market. That is, the value may indicate a likelihood that the order will increase a probability that subsequent requests and transaction from other market participants will be satisfied [i.e. respectively determining backlog influence degrees of the orders in the set of to-be-processed orders, wherein a backlog influence degree of an order represents an influence degree of the order on a backlog state of the orders in the set of to-be- processed orders]. As such, an MQI may be determined based on … a size of the entered order, a volume or quantity of previously filled orders of the market participant associated with the order, and/or a frequency of modifications to previous orders of the market participant associated with the order. In this way, an electronic trading system may function to assess and/or assign an MQI to received electronic messages to establish messages that have a higher value to the system, and thus the system may use computing resources more efficiently by expending resources to match orders of the higher value messages prior to expending resources of lower value messages” [0125] and “The order processing module may also store data indicative of quantities and associated prices of orders to buy or sell a product placed in the market order book 110, as associated with particular market participants [i.e. based on the content association information]” [0120]); and
-determining, based on the backlog influence degrees, a processing sequence of the orders in the set of to-be-processed orders, and performing order processing according to the determined processing sequence (Bonig, see at least: “specific characteristics of market activity taken by market participants may provide an indication of a particular market participant's effect on market liquidity. For example, a Market Quality Index (“MQI”) of an order may be determined using the characteristics. An MQI may be considered a value indicating a likelihood that a particular order will improve or facilitate liquidity in a market. That is, the value may indicate a likelihood that the order will increase a probability that subsequent requests and transaction from other market participants will be satisfied [i.e. based on the backlog influence degrees]. As such, an MQI may be determined based on … a size of the entered order, a volume or quantity of previously filled orders of the market participant associated with the order, and/or a frequency of modifications to previous orders of the market participant associated with the order. In this way, an electronic trading system may function to assess and/or assign an MQI to received electronic messages to establish messages that have a higher value to the system, and thus the system may use computing resources more efficiently by expending resources to match orders of the higher value messages prior to expending resources of lower value messages [i.e. determining a processing sequence of the orders in the set of to-be-processed orders, and performing order processing according to the determined processing sequence]” [0125] and “Orders having a higher priority may be matched before orders of a lower priority. This priority may be determined using various techniques. For example, orders that were indicated by messages received earlier may receive a higher priority to match than orders that were indicated by messages received later … scoring or grading of the characteristics may provide for priority determination. Data indicative of order matches may be stored by a match engine and/or an order processing module 136, and used for determining MQI scores of market participants” [0123] and “the order processing function 136 receives incoming transactions from the market participants 404 and ensures deterministic processing thereof, i.e. that the incoming transactions are processed according to the defined business rules of the electronic trading system 100 [i.e. performing order processing according to the determined processing sequence] … The order processing function 136 may then further generate, or cause to be generated, appropriate acknowledgements and/or market data based thereon which are then communicated to the market participants 404” [0250]).
Regarding claim 2, Bonig discloses the method of claim 1. Bonig further discloses:
-wherein a backlog influence degree of an order in the set of to-be-processed orders is used for characterizing a number of associated orders of the order in the set of to-be-processed orders, wherein service contents in an associated order of the order and service contents in a non-associated order of the order in the set of to-be-processed orders have no intersection (Bonig, see at least: “specific characteristics of market activity taken by market participants may provide an indication of a particular market participant's effect on market liquidity. For example, a Market Quality Index (“MQI”) of an order may be determined using the characteristics. An MQI may be considered a value indicating a likelihood that a particular order will improve or facilitate liquidity in a market. That is, the value may indicate a likelihood that the order will increase a probability that subsequent requests and transaction from other market participants will be satisfied [i.e. wherein a backlog influence degree of an order in the set of to-be-processed orders is used for characterizing a number of associated orders of the order in the set of to-be-processed orders]. As such, an MQI may be determined based on … a size of the entered order, a volume or quantity of previously filled orders of the market participant associated with the order, and/or a frequency of modifications to previous orders of the market participant associated with the order. In this way, an electronic trading system may function to assess and/or assign an MQI to received electronic messages to establish messages that have a higher value to the system, and thus the system may use computing resources more efficiently by expending resources to match orders of the higher value messages prior to expending resources of lower value messages” [0125] and “An exchange provides one or more markets for the purchase and sale of various types of products including financial instruments such as stocks, bonds, futures contracts, options, currency, cash, and other similar instruments. Agricultural products and commodities are also examples of products traded on such exchanges … each exchange establishes a specification for each market provided thereby that defines at least the product traded [i.e. wherein the order, orders in the preceding order set, and orders in the succeeding order set have the same service content, respectively] in the market” [0127] Examiner notes that the products in the orders being matched in a particular market of the exchange are different than the types of products in the orders being matched in a different market of the exchange [i.e. wherein service contents in an associated order of the order and service contents in a non-associated order of the order in the set of to-be-processed orders have no intersection]).
Regarding claim 3, Bonig discloses the method of claim 2. Bonig further discloses:
-wherein the method further comprises:
-for each order in the set of to-be-processed orders, determining, based on the content association information, a preceding order set and a succeeding order set of the order, wherein the order, orders in the preceding order set, and orders in the succeeding order set have the same service content, respectively, and the order is generated no earlier than the orders in the preceding order set and no later than the orders in the succeeding order set (Bonig, see at least: “Order Level Priority Pro Rata, also referred to as Threshold Pro Rata, is similar to the Price (or ‘Vanilla’) Pro Rata algorithm but has a volume threshold defined. Any pro rata allocation below the threshold will be rounded down to 0. The initial pass of volume allocation is carried out in using pro rata; the second pass of volume allocation is carried out using Price Explicit Time. The Threshold Pro Rata sequence of events is: … 1. Extract all potential matching orders [i.e. based on the content association information] at best price from the order book [i.e. for each order in the set of to-be-processed orders] into a list … Sort the list by explicit time priority, oldest timestamp first [i.e. determining, based on the content association information, a preceding order set and a succeeding order set of the order and the order is generated no earlier than the orders in the preceding order set and no later than the orders in the succeeding order set]. This is the matching list … Find the ‘Matching volume’, which is the total volume of all the orders in the matching list [i.e. wherein the order, orders in the preceding order set, and orders in the succeeding order set have the same service content] … Find the ‘tradable volume’, which is the smallest of the matching volume and the volume left to trade on the incoming order … Allocate volume to each order in the matching list in turn, starting at the beginning of the list” [0168-0173] and “An exchange provides one or more markets for the purchase and sale of various types of products including financial instruments such as stocks, bonds, futures contracts, options, currency, cash, and other similar instruments. Agricultural products and commodities are also examples of products traded on such exchanges … each exchange establishes a specification for each market provided thereby that defines at least the product traded [i.e. wherein the order, orders in the preceding order set, and orders in the succeeding order set have the same service content, respectively] in the market” [0127] Examiner notes that the orders being matched in a particular market of the exchange are all for the same product type [i.e. have the same service content]).
Regarding claim 4, Bonig discloses the method of claim 3. Bonig further discloses:
-wherein the determining, based on the content association information, the preceding order set and the succeeding order set of the order (Bonig, see at least: “Order Level Priority Pro Rata, also referred to as Threshold Pro Rata, is similar to the Price (or ‘Vanilla’) Pro Rata algorithm but has a volume threshold defined. Any pro rata allocation below the threshold will be rounded down to 0. The initial pass of volume allocation is carried out in using pro rata; the second pass of volume allocation is carried out using Price Explicit Time. The Threshold Pro Rata sequence of events is: … 1. Extract all potential matching orders [i.e. based on the content association information] at best price from the order book into a list … Sort the list by explicit time priority, oldest timestamp first [i.e. determining, based on the content association information, the preceding order set and the succeeding order set of the order]. This is the matching list” [0168-0173], comprises:
-determining, from orders that are generated no later than the order in the set of to-be-processed orders, a target order corresponding to each service content in the order to obtain a target order set, wherein a target order corresponding to a service content is an order comprising the service content and has the latest generation time (Bonig, see at least: “the market may operate using characteristics that involve collecting orders over a period of time, such as a batch auction market. In such an embodiment, the period of time may be considered an order accumulation period. The period of time may involve a beginning time and an ending time, with orders placed in the market after the beginning time, and the placed order matched at or after the ending time [i.e. from orders that are generated no later than the order in the set of to-be-processed orders and has the latest generation time]. As such, the action associated with an order extracted from a message may involve placing the order in the market within the period of time [i.e. determining a target order corresponding to each service content in the order to obtain a target order set]. Also, electronic messages may be received prior to or after the beginning time of the period of time” [0102] and “Order Level Priority Pro Rata, also referred to as Threshold Pro Rata, is similar to the Price (or ‘Vanilla’) Pro Rata algorithm but has a volume threshold defined … The Threshold Pro Rata sequence of events is: … 1. Extract all potential matching orders [i.e. determining a target order corresponding to each service content in the order to obtain a target order set, wherein a target order corresponding to a service content is an order comprising the service content] at best price from the order book into a list … Sort the list by explicit time priority, oldest timestamp first [i.e. and has the latest generation time]. This is the matching list … Find the ‘Matching volume’, which is the total volume of all the orders in the matching list … Find the ‘tradable volume’, which is the smallest of the matching volume and the volume left to trade on the incoming order … Allocate volume to each order in the matching list in turn, starting at the beginning of the list” [0168-0173] and “the action associated with the transaction is determined. For example, it may be determined whether the incoming transaction comprises an order to buy or sell a quantity of the associated financial instrument [i.e. wherein a target order corresponding to a service content is an order comprising the service content and has the latest generation time] or an order to modify or cancel an existing order in the electronic market” [0115]);
-determining, for each service content in the order, whether the target order set comprises the target order corresponding to the service content (Bonig, see at least: “the action associated with the transaction is determined. For example, it may be determined whether the incoming transaction comprises an order to buy or sell a quantity of the associated financial instrument [i.e. determining, for each service content in the order, whether the target order set comprises the target order corresponding to the service content] or an order to modify or cancel an existing order in the electronic market” [0115]); and
-in response to determining that the target order set comprises the target order corresponding to the service content, adding the target order corresponding to the service content to the preceding order set of the order, and adding the order to a succeeding order set of the target order corresponding to the service content (Bonig, see at least: “the action associated with the transaction is determined. For example, it may be determined whether the incoming transaction comprises an order to buy or sell a quantity of the associated financial instrument [i.e. in response to determining that the target order set comprises the target order corresponding to the service content] or an order to modify or cancel an existing order in the electronic market” [0115] and “Order Level Priority Pro Rata, also referred to as Threshold Pro Rata, is similar to the Price (or ‘Vanilla’) Pro Rata algorithm but has a volume threshold defined … The Threshold Pro Rata sequence of events is: … 1. Extract all potential matching orders [i.e. in response to determining that the target order set comprises the target order corresponding to the service content] at best price from the order book into a list … Sort the list by explicit time priority, oldest timestamp first [i.e. adding the target order corresponding to the service content to the preceding order set of the order, and adding the order to a succeeding order set of the target order corresponding to the service content]. This is the matching list … Find the ‘Matching volume’, which is the total volume of all the orders in the matching list … Find the ‘tradable volume’, which is the smallest of the matching volume and the volume left to trade on the incoming order … Allocate volume to each order in the matching list in turn, starting at the beginning of the list” [0168-0173] and “one of the transaction processors 508 may be configured to be optimized for one type of message (e.g., financial transactions) [i.e. in response to determining that the target order set comprises the target order corresponding to the service content] while another of the transaction processors 508 may be configured to be optimized for another type of message (administrative systems messages). In one embodiment, a transaction processor 508 optimized for a message type prioritizes processing that message type over any other message type” [0310]).
Regarding claim 6, Bonig discloses the method of claim 1. Bonig further discloses:
-wherein the determining, based on the backlog influence degrees, the processing sequence of the orders in the set of to-be-processed orders, and performing order processing according to the determined processing sequence (Bonig, see at least: “Orders having a higher priority may be matched before orders of a lower priority. This priority may be determined using various techniques. For example, orders that were indicated by messages received earlier may receive a higher priority to match than orders that were indicated by messages received later … scoring or grading of the characteristics may provide for priority determination. Data indicative of order matches may be stored by a match engine and/or an order processing module 136, and used for determining MQI scores of market participants [i.e. the determining, based on the backlog influence degrees, the processing sequence of the orders in the set of to-be-processed orders, and performing order processing according to the determined processing sequence comprises:]” [0123] and “the order processing function 136 receives incoming transactions from the market participants 404 and ensures deterministic processing thereof, i.e. that the incoming transactions are processed according to the defined business rules of the electronic trading system 100 [i.e. performing order processing according to the determined processing sequence] … The order processing function 136 may then further generate, or cause to be generated, appropriate acknowledgements and/or market data based thereon which are then communicated to the market participants 404” [0250]), comprises:
-determining a target attribute of a preceding order set of each order in the set of to-be- processed orders, wherein the target attribute is used for indicating whether the preceding order set is empty (Bonig, see at least: “the action associated with the transaction is determined. For example, it may be determined whether the incoming transaction comprises an order to buy or sell a quantity of the associated financial instrument [i.e. determining a target attribute of a preceding order set of each order in the set of to-be- processed orders] or an order to modify or cancel an existing order in the electronic market” [0115] and “the exchange may further define the matching algorithm, or rules, by which incoming orders will be matched/allocated to resting orders” [0127] and “Order Level Priority Pro Rata, also referred to as Threshold Pro Rata, is similar to the Price (or ‘Vanilla’) Pro Rata algorithm but has a volume threshold defined … The Threshold Pro Rata sequence of events is: … 1. Extract all potential matching orders at best price from the order book into a list … Sort the list by explicit time priority, oldest timestamp first [i.e. wherein the target attribute is used for indicating whether the preceding order set is empty]. This is the matching list … Find the ‘Matching volume’, which is the total volume of all the orders in the matching list … Find the ‘tradable volume’, which is the smallest of the matching volume and the volume left to trade on the incoming order … Allocate volume to each order in the matching list in turn, starting at the beginning of the list” [0168-0173] Examiner notes that the oldest timestamp has an empty proceeding order set); and
-determining, based on the target attribute of the preceding order set of each order and the backlog influence degree of each order, a processing sequence of each order, wherein an order having an empty preceding order set is processed earlier than an order having a non-empty preceding order set, and an order having a high backlog influence degree is processed earlier than an order having a low backlog influence degree (Bonig, see at least: “a first-in/first-out (FIFO) matching algorithm, also referred to as a “Price Time” algorithm, considers each identified order sequentially in accordance with when the identified order was received … Some exchange computer systems provide a priority to certain standing orders in particular markets. An example of such an order is the first order that improves a price (i.e., improves the market) for the product during a trading session. To be given priority, the trading platform may require that the quantity associated with the order is at least a minimum quantity [i.e. determining, based on the target attribute of the preceding order set of each order and the backlog influence degree of each order, a processing sequence of each order]” [0138] and “specific characteristics of market activity taken by market participants may provide an indication of a particular market participant's effect on market liquidity. For example, a Market Quality Index (“MQI”) of an order may be determined using the characteristics. An MQI may be considered a value indicating a likelihood that a particular order will improve or facilitate liquidity in a market. That is, the value may indicate a likelihood that the order will increase a probability that subsequent requests and transaction from other market participants will be satisfied [i.e. based on the target attribute of the preceding order set of each order and the backlog influence degree of each order]. As such, an MQI may be determined based on … a size of the entered order, a volume or quantity of previously filled orders of the market participant associated with the order, and/or a frequency of modifications to previous orders of the market participant associated with the order. In this way, an electronic trading system may function to assess and/or assign an MQI to received electronic messages to establish messages that have a higher value to the system, and thus the system may use computing resources more efficiently by expending resources to match orders of the higher value messages prior to expending resources of lower value messages [i.e. an order having a high backlog influence degree is processed earlier than an order having a low backlog influence degree]” [0125] and “Order Level Priority Pro Rata, also referred to as Threshold Pro Rata, is similar to the Price (or ‘Vanilla’) Pro Rata algorithm but has a volume threshold defined. Any pro rata allocation below the threshold will be rounded down to 0. The initial pass of volume allocation is carried out in using pro rata; the second pass of volume allocation is carried out using Price Explicit Time. The Threshold Pro Rata sequence of events is: … 1. Extract all potential matching orders at best price from the order book [i.e. for each order in the set of to-be-processed orders] into a list … Sort the list by explicit time priority, oldest timestamp first [i.e. wherein an order having an empty preceding order set is processed earlier than an order having a non-empty preceding order set]. This is the matching list … Find the ‘Matching volume’, which is the total volume of all the orders in the matching list … Find the ‘tradable volume’, which is the smallest of the matching volume and the volume left to trade on the incoming order … Allocate volume to each order in the matching list in turn, starting at the beginning of the list” [0168-0173]).
Claims 8, 11-13, and 15 recite limitations directed towards an apparatus for processing orders, the apparatus comprising: one or more processors; and a storage apparatus, storing one or more programs thereon, the one or more programs, when executed by the one or more processors, cause the one or more processors to implement operations (Bonig, see at least: “The computer system 200 can include a set of instructions that can be executed to cause the computer system 200 to perform any one or more of the methods or computer based functions disclosed herein. The computer system 200 may operate as a standalone device or may be connected, e.g., using a network, to other computer systems or peripheral devices. Any of the components discussed above, such as the processor 202, may be a computer system 200 or a component in the computer system 200” [0429]). The rest of the limitations recited in claims 8, 11-13, and 15 are parallel in nature to those addressed above for claims 1, 2-4, and 6, respectively, and are therefore rejected for those same reasons set forth above in claims 1, 2-4, and 6, respectively.
Claims 10 and 17-19 recite limitations directed towards a non-transitory computer readable storage medium, storing a computer program thereon, wherein, the program, when executed by a processor, implements operations (Bonig, see at least: “The operations of computer devices and systems shown in FIG. 1 may be controlled by computer-executable instructions stored on a non-transitory computer-readable medium” [0427] and “The computer system 200 can include a set of instructions that can be executed to cause the computer system 200 to perform any one or more of the methods or computer based functions disclosed herein. The computer system 200 may operate as a standalone device or may be connected, e.g., using a network, to other computer systems or peripheral devices. Any of the components discussed above, such as the processor 202, may be a computer system 200 or a component in the computer system 200” [0429]). The rest of the limitations recited in claims 10 and 17-19 are parallel in nature to those addressed above for claims 1 and 2-4, respectively, and are therefore rejected for those same reasons set forth above in claims 1 and 2-4, respectively.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 5, 7, 14, 16, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Bonig in view of Baptist et al. (US 2019/0102252 A1), hereinafter Baptist.
Regarding claim 5, Bonig discloses the method of claim 3.
Bonig does not explicitly disclose the respectively determining, based on the content association information, the backlog influence degrees of the orders in the set of to-be-processed orders, comprising: setting a same initial backlog influence degree for the orders in the set of to-be-processed orders; selecting, from the set of to-be-processed orders, an order having the latest generation time as the target order, and performing update steps as follows: determining a sum of a current backlog influence degree and the initial backlog influence degree of the target order as a comparison value, and performing update sub-steps as follows: selecting an order from the preceding order set of the target order as a to-be-updated order, selecting a maximum value from the current backlog influence degree of the to-be-updated order and the comparison value, and updating the current backlog influence degree of the to-be-updated order using the selected maximum value; determining whether there is an unselected order in the preceding order set; selecting, in response to determining that there is an unselected order in the preceding order set, the unselected order from the preceding order set to continue to perform the update sub-steps; and deleting, in response to determining that there is no unselected order in the preceding order set, the target order from the set of to-be-processed orders, and re-selecting an order having the latest generation time from the updated set of to-be-processed orders as the target order to continue to perform the update steps.
Baptist, however, teaches prioritizing requests (i.e. abstract), including the known technique of the respectively determining, based on the content association information, the backlog influence degrees of the orders in the set of to-be- processed orders, comprising: setting a same initial backlog influence degree for the orders in the set of to-be-processed orders (Baptist, see at least: “The scores (e.g., trust, compliance, billing and level of use) [i.e. wherein the respectively determining, based on the content association information, the backlog influence degrees of the orders in the set of to-be- processed orders, comprises:] may be obtained (e.g., received, generated, etc.) by determining whether a requestor's pending request is a first request to the DSN. When the pending request is the first request, the computing device utilizes a default score for one or more of the trust, compliance, billing and level of use scores [i.e. setting a same initial backlog influence degree for the orders in the set of to-be-processed orders]. When the pending request is not the first request, the computing device retrieves the requestor's one or more scores from memory of the DSN. Note the one or more of the trust, compliance, billing and level of use scores may be weighted, averaged, summed, etc. for calculating the prioritization score. Further note, one or more of the trust, compliance, billing and level of use scores may be used as the prioritization score. Still further note, the scores may be further modified the computing device when in the queue based on a determination by the computing device. For example, when a requestor has two pending requests in queue 95, the computing device may modify (e.g., increase, decrease) scores for one or both of the requests (e.g., when one request is a higher priority, when one request is of significantly smaller size, when one request is for a rebuilt encoded data slice, etc.)” [0045]);
the known technique of selecting, from the set of to-be-processed orders, an order having the latest generation time as the target order (Baptist, see at least: “The scores (e.g., trust, compliance, billing and level of use) [i.e. wherein the respectively determining, based on the content association information, the backlog influence degrees of the orders in the set of to-be- processed orders, comprises:] may be obtained (e.g., received, generated, etc.) by determining whether a requestor's pending request is a first request to the DSN. When the pending request is the first request, the computing device utilizes a default score for one or more of the trust, compliance, billing and level of use scores. When the pending request is not the first request [i.e. selecting, from the set of to-be-processed orders, an order having the latest generation time as the target order], the computing device retrieves the requestor's one or more scores from memory of the DSN. Note the one or more of the trust, compliance, billing and level of use scores may be weighted, averaged, summed, etc. for calculating the prioritization score. Further note, one or more of the trust, compliance, billing and level of use scores may be used as the prioritization score. Still further note, the scores may be further modified the computing device when in the queue based on a determination by the computing device. For example, when a requestor has two pending requests in queue 95, the computing device may modify (e.g., increase, decrease) scores for one or both of the requests (e.g., when one request is a higher priority, when one request is of significantly smaller size, when one request is for a rebuilt encoded data slice, etc.)” [0045]), and performing update steps as follows:
the known technique of determining a sum of a current backlog influence degree and the initial backlog influence degree of the target order as a comparison value (Baptist, see at least: “The scores (e.g., trust, compliance, billing and level of use) [i.e. wherein the respectively determining, based on the content association information, the backlog influence degrees of the orders in the set of to-be- processed orders, comprises:] may be obtained (e.g., received, generated, etc.) by determining whether a requestor's pending request is a first request to the DSN. When the pending request is the first request, the computing device utilizes a default score for one or more of the trust, compliance, billing and level of use scores [i.e. the initial backlog influence degree of the target order]. When the pending request is not the first request, the computing device retrieves the requestor's one or more scores from memory of the DSN. Note the one or more of the trust, compliance, billing and level of use scores may be weighted, averaged, summed, etc. for calculating the prioritization score [i.e. determining a sum of a current backlog influence degree and the initial backlog influence degree of the target order as a comparison value]. Further note, one or more of the trust, compliance, billing and level of use scores may be used as the prioritization score. Still further note, the scores may be further modified the computing device when in the queue based on a determination by the computing device. For example, when a requestor has two pending requests in queue 95, the computing device may modify (e.g., increase, decrease) scores for one or both of the requests (e.g., when one request is a higher priority, when one request is of significantly smaller size, when one request is for a rebuilt encoded data slice, etc.) [i.e. a current backlog influence degree]” [0045] Examiner notes that when the new total sum of the trust, compliance, billing and level of use scores, some of the these scores are the same as the default score and others are updated [i.e. determining a sum of a current backlog influence degree and the initial backlog influence degree of the target order as a comparison value, and performing update sub-steps]), and performing update sub-steps as follows:
the known technique of selecting an order from the preceding order set of the target order as a to-be-updated order, selecting a maximum value from the current backlog influence degree of the to-be-updated order and the comparison value, and updating the current backlog influence degree of the to-be-updated order using the selected maximum value (Baptist, see at least: “The scores (e.g., trust, compliance, billing and level of use) may be obtained (e.g., received, generated, etc.) by determining whether a requestor's pending request is a first request to the DSN. When the pending request is the first request, the computing device utilizes a default score for one or more of the trust, compliance, billing and level of use scores [i.e. selecting an order from the preceding order set of the target order as a to-be-updated order]. When the pending request is not the first request, the computing device retrieves the requestor's one or more scores from memory of the DSN. Note the one or more of the trust, compliance, billing and level of use scores may be weighted, averaged, summed, etc. for calculating the prioritization score. Further note, one or more of the trust, compliance, billing and level of use scores may be used as the prioritization score. Still further note, the scores may be further modified the computing device when in the queue based on a determination by the computing device. For example, when a requestor has two pending requests in queue 95, the computing device may modify (e.g., increase, decrease) scores for one or both of the requests [i.e. selecting an order from the preceding order set of the target order as a to-be-updated order, selecting a maximum value from the current backlog influence degree of the to-be-updated order and the comparison value, and updating the current backlog influence degree of the to-be-updated order using the selected maximum value] (e.g., when one request is a higher priority, when one request is of significantly smaller size, when one request is for a rebuilt encoded data slice, etc.)” [0045]);
the known technique of determining whether there is an unselected order in the preceding order set (Baptist, see at least: “At time period t2 96, the queue 95 now includes, in order of prioritization score, request 2 [i.e. determining whether there is an unselected order in the preceding order set], request 6, request 3, request 4, request 7, and request 5. Note the computing device may re-obtain the prioritization score for one or more requests (e.g., request 2 score increasing from 77 in time t1 to 84 in time t2)” [0047] Examiner notes that request 2 was also in t1 but was not processed [i.e. an unselected order in the preceding order set]);
the known technique of selecting, in response to determining that there is an unselected order in the preceding order set, the unselected order from the preceding order set to continue to perform the update sub-steps (Baptist, see at least: “At time period t2 96, the queue 95 now includes, in order of prioritization score, request 2 [i.e. determining whether there is an unselected order in the preceding order set], request 6, request 3, request 4, request 7, and request 5. Note the computing device may re-obtain the prioritization score for one or more requests (e.g., request 2 score increasing from 77 in time t1 to 84 in time t2) [i.e. selecting, in response to determining that there is an unselected order in the preceding order set, the unselected order from the preceding order set to continue to perform the update sub-steps]” [0047] Examiner notes that request 2 was also in t1 but was not processed [i.e. an unselected order in the preceding order set t]); and
the known technique of deleting, in response to determining that there is no unselected order in the preceding order set, the target order from the set of to-be-processed orders, and re-selecting an order having the latest generation time from the updated set of to-be-processed orders as the target order to continue to perform the update steps (Baptist, see at least: “During time t4 100, the computing device executes requests 5, 10, and 8, deletes requests 5, 10 and 8 from the queue [i.e. deleting, in response to determining that there is no unselected order in the preceding order set, the target order from the set of to-be-processed orders], receives requests 11, 12 and 13 and obtains prioritization scores for requests 11, 12 and 13. At time t5 102, the queue now includes requests 9, 11, 12 and 13 in order of prioritization score [i.e. and re-selecting an order having the latest generation time from the updated set of to-be-processed orders as the target order to continue to perform the update steps]” [0050]). These known techniques are applicable to the method of Bonig as they both share characteristics and capabilities, namely, they are directed to prioritizing requests.
It would have been recognized that applying the known techniques of the respectively determining, based on the content association information, the backlog influence degrees of the orders in the set of to-be-processed orders, comprising: setting a same initial backlog influence degree for the orders in the set of to-be-processed orders; selecting, from the set of to-be-processed orders, an order having the latest generation time as the target order, and performing update steps as follows: determining a sum of a current backlog influence degree and the initial backlog influence degree of the target order as a comparison value, and performing update sub-steps as follows: selecting an order from the preceding order set of the target order as a to-be-updated order, selecting a maximum value from the current backlog influence degree of the to-be-updated order and the comparison value, and updating the current backlog influence degree of the to-be-updated order using the selected maximum value; determining whether there is an unselected order in the preceding order set; selecting, in response to determining that there is an unselected order in the preceding order set, the unselected order from the preceding order set to continue to perform the update sub-steps; and deleting, in response to determining that there is no unselected order in the preceding order set, the target order from the set of to-be-processed orders, and re-selecting an order having the latest generation time from the updated set of to-be-processed orders as the target order to continue to perform the update steps, as taught by Baptist, to the teachings of Bonig would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such references into similar methods. Further, adding the modifications of the respectively determining, based on the content association information, the backlog influence degrees of the orders in the set of to-be-processed orders, comprising: setting a same initial backlog influence degree for the orders in the set of to-be-processed orders; selecting, from the set of to-be-processed orders, an order having the latest generation time as the target order, and performing update steps as follows: determining a sum of a current backlog influence degree and the initial backlog influence degree of the target order as a comparison value, and performing update sub-steps as follows: selecting an order from the preceding order set of the target order as a to-be-updated order, selecting a maximum value from the current backlog influence degree of the to-be-updated order and the comparison value, and updating the current backlog influence degree of the to-be-updated order using the selected maximum value; determining whether there is an unselected order in the preceding order set; selecting, in response to determining that there is an unselected order in the preceding order set, the unselected order from the preceding order set to continue to perform the update sub-steps; and deleting, in response to determining that there is no unselected order in the preceding order set, the target order from the set of to-be-processed orders, and re-selecting an order having the latest generation time from the updated set of to-be-processed orders as the target order to continue to perform the update steps, as taught by Baptist, into the method of Bonig would have been recognized by those of ordinary skill in the art as resulting in an improved method that would improve the response time for completion of the service (Baptist, [0005]).
Regarding claim 7, Bonig discloses the method of claim 6. Bonig further discloses:
-wherein the determining, based on the backlog influence degrees, the processing sequence of the orders in the set of to-be-processed orders, and performing order processing according to the determined processing sequence (Bonig, see at least: “Orders having a higher priority may be matched before orders of a lower priority. This priority may be determined using various techniques. For example, orders that were indicated by messages received earlier may receive a higher priority to match than orders that were indicated by messages received later … scoring or grading of the characteristics may provide for priority determination. Data indicative of order matches may be stored by a match engine and/or an order processing module 136, and used for determining MQI scores of market participants [i.e. the determining, based on the backlog influence degrees, the processing sequence of the orders in the set of to-be-processed orders, and performing order processing according to the determined processing sequence comprises:]” [0123] and “the order processing function 136 receives incoming transactions from the market participants 404 and ensures deterministic processing thereof, i.e. that the incoming transactions are processed according to the defined business rules of the electronic trading system 100 [i.e. performing order processing according to the determined processing sequence] … The order processing function 136 may then further generate, or cause to be generated, appropriate acknowledgements and/or market data based thereon which are then communicated to the market participants 404” [0250]), comprises:
-selecting an order having an empty preceding order set from the set of to-be-processed orders and adding the selected order to an order processing queue (Bonig, see at least: “Order Level Priority Pro Rata, also referred to as Threshold Pro Rata, is similar to the Price (or ‘Vanilla’) Pro Rata algorithm but has a volume threshold defined … The Threshold Pro Rata sequence of events is: … 1. Extract all potential matching orders at best price from the order book into a list … Sort the list by explicit time priority, oldest timestamp first [i.e. selecting an order having an empty preceding order set from the set of to-be-processed orders]. This is the matching list … Find the ‘Matching volume’, which is the total volume of all the orders in the matching list … Find the ‘tradable volume’, which is the smallest of the matching volume and the volume left to trade on the incoming order … Allocate volume to each order in the matching list in turn, starting at the beginning of the list” [0168-0173] and “Transaction receiver 510 receives and sequences, or orders, all of the messages it receives from the multiple sources, including client computers 502 and 504. Transaction receiver 510 may also add time signal data to each received message. The transaction receiver 510 then sends the ordered messages to the multiple transaction processors 508 [i.e. and adding the selected order to an order processing queue]. The data path for sequenced messages sent from transaction receiver 510 to the transaction processors 508 is path 524” [0302] and “It should be appreciated that the combination of the transaction receiver 510 and a bus architecture (where all the match engines pull data from the orderer off a bus architecture) ensures that the transaction processors 508 (e.g., match engines) [i.e. and adding the selected order to an order processing queue] receive messages (e.g., financial transactions, instruction identifiers, etc.) in the same order” [0309] Examiner notes that the oldest timestamp has an empty proceeding order set), and performing processing steps as follows:
-in response to determining that the order processing queue is non-empty and there is a current idle thread, selecting an order having the highest backlog influence degree from the order processing queue as a candidate order, processing the candidate order using the idle thread (Bonig, see at least: “The exchange computer system monitors incoming orders received thereby and attempts to identify, i.e., match or allocate, as described herein, one or more previously received, but not yet matched, orders, i.e., limit orders to buy or sell a given quantity at a given price, referred to as “resting” orders [i.e. in response to determining that the order processing queue is non-empty and there is a current idle thread], stored in an order book database, wherein each identified order is contra to the incoming order and has a favorable price relative to the incoming order” [0129] and “transaction processors may be hardware matching processors that match or attempt to match incoming messages with messages counter thereto, as described above. Transaction processor 508 transmits electronic data transaction result messages [i.e. processing the candidate order using the idle thread] to client computer 502 via output path 528. Transaction processor 509 transmits electronic data transaction result messages to client computer 504 via output path 546” [0336] and “specific characteristics of market activity taken by market participants may provide an indication of a particular market participant's effect on market liquidity. For example, a Market Quality Index (“MQI”) of an order may be determined using the characteristics. An MQI may be considered a value indicating a likelihood that a particular order will improve or facilitate liquidity in a market. That is, the value may indicate a likelihood that the order will increase a probability that subsequent requests and transaction from other market participants will be satisfied … In this way, an electronic trading system may function to assess and/or assign an MQI to received electronic messages to establish messages that have a higher value to the system, and thus the system may use computing resources more efficiently by expending resources to match orders of the higher value messages prior to expending resources of lower value messages [i.e. selecting an order having the highest backlog influence degree from the order processing queue as a candidate order, processing the candidate order using the idle thread]” [0125]).
Bonig does not explicitly disclose deleting the candidate order from the order processing queue; releasing the occupied thread in response to determining that the processing of the candidate order is completed, and deleting an association relationship between the candidate order and the orders in the succeeding order set of the candidate order; and updating, in response to determining that the set of to-be-processed orders comprises an unprocessed order, the order processing queue to continue to perform the processing steps.
Baptist, however, teaches prioritizing requests (i.e. abstract), including the known technique of deleting the candidate order from the order processing queue (Baptist, see at least: “before the first time t1 94, the computing device receives requests 1-5 from requesters operating in the DSN. At the first-time period t1 94, none of the requests have yet been processed, thus the queue 95 includes requests 1-5. As illustrated, the requests are listed in order of the prioritization score. For example, request 1 has a prioritization score of 91 and will be executed first, request 3 has a prioritization score of 85 and will be executed second, request 2 has a prioritization score of 77 and will be executed third, request 4 has a prioritization score of 65 and will be executed fourth and request 5 has a prioritization score of 58 and will be executed fifth. During time period t1 94, the computing device 88 processes request 1, deletes request 1 from the queue [i.e. deleting the candidate order from the order processing queue], and receives request 6 and request 7 and obtains respective prioritization scores (e.g., 83 for request 6 and 62 for request 7)” [0046]);
the known technique of releasing the occupied thread in response to determining that the processing of the candidate order is completed, and deleting an association relationship between the candidate order and the orders in the succeeding order set of the candidate order (Baptist, see at least: “before the first time t1 94, the computing device receives requests 1-5 from requesters operating in the DSN. At the first-time period t1 94, none of the requests have yet been processed, thus the queue 95 includes requests 1-5. As illustrated, the requests are listed in order of the prioritization score. For example, request 1 has a prioritization score of 91 and will be executed first, request 3 has a prioritization score of 85 and will be executed second, request 2 has a prioritization score of 77 and will be executed third, request 4 has a prioritization score of 65 and will be executed fourth and request 5 has a prioritization score of 58 and will be executed fifth. During time period t1 94, the computing device 88 processes request 1, deletes request 1 from the queue [i.e. deleting an association relationship between the candidate order and the orders in the succeeding order set of the candidate order], and receives request 6 and request 7 and obtains respective prioritization scores (e.g., 83 for request 6 and 62 for request 7)” [0046] and “At time period t2 96, the queue 95 now includes, in order of prioritization score, request 2, request 6, request 3, request 4, request 7, and request 5. Note the computing device may re-obtain the prioritization score for one or more requests (e.g., request 2 score increasing from 77 in time t1 to 84 in time t2). Also note the computing device may re-obtain the prioritization score for a request based on one of when determining a prioritization score for a new pending request, after a timeframe, after a certain number of new requests, and a command [i.e. releasing the occupied thread in response to determining that the processing of the candidate order is completed]” [0047]); and
the known technique of updating, in response to determining that the set of to-be-processed orders comprises an unprocessed order, the order processing queue to continue to perform the processing steps (Baptist, see at least: “At time period t2 96, the queue 95 now includes, in order of prioritization score, request 2, request 6, request 3, request 4, request 7, and request 5. Note the computing device may re-obtain the prioritization score for one or more requests (e.g., request 2 score increasing from 77 in time t1 to 84 in time t2). Also note the computing device may re-obtain the prioritization score for a request [i.e. updating the order processing queue to continue to perform the processing steps] based on one of when determining a prioritization score for a new pending request [i.e. in response to determining that the set of to-be-processed orders comprises an unprocessed order], after a timeframe, after a certain number of new requests, and a command” [0047]). These known techniques are applicable to the method of Bonig as they both share characteristics and capabilities, namely, they are directed to prioritizing requests.
It would have been recognized that applying the known techniques of deleting the candidate order from the order processing queue; releasing the occupied thread in response to determining that the processing of the candidate order is completed, and deleting an association relationship between the candidate order and the orders in the succeeding order set of the candidate order; and updating, in response to determining that the set of to-be-processed orders comprises an unprocessed order, the order processing queue to continue to perform the processing steps, as taught by Baptist, to the teachings of Bonig would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such references into similar methods. Further, adding the modifications of deleting the candidate order from the order processing queue; releasing the occupied thread in response to determining that the processing of the candidate order is completed, and deleting an association relationship between the candidate order and the orders in the succeeding order set of the candidate order; and updating, in response to determining that the set of to-be-processed orders comprises an unprocessed order, the order processing queue to continue to perform the processing steps, as taught by Baptist, into the method of Bonig would have been recognized by those of ordinary skill in the art as resulting in an improved method that would improve the response time for completion of the service (Baptist, [0005]).
Claims 14 and 16 recite limitations directed towards an apparatus. The limitations recited in claims 14 and 16 are parallel in nature to those addressed above for claims 5 and 7, respectively, and are therefore rejected for those same reasons set forth above in claims 5 and 7, respectively.
Claim 20 recites limitations directed towards a non-transitory computer readable storage medium. The limitations recited in claim 20 are parallel in nature to those addressed above for claim 5, and are therefore rejected for those same reasons set forth above in claim 5.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
-Rocco et al. (US 2011/0270662 A1) teaches aggregating orders that have the same items to be processed in the same batch.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ARIELLE E WEINER whose telephone number is (571)272-9007. The examiner can normally be reached M-F 8:30-5:00.
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, , Maria-Teresa (Marissa) Thein can be reached at 571-272-6764. 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.
/ARIELLE E WEINER/ Primary Examiner, Art Unit 3689