DETAILED ACTION
Status of Claims
• The following is an office action in response to the communication filed 05/26/2026.
• Claims 1, 9, and 17 have been amended.
• Claim 14 has been canceled.
• Claim 21 has been added.
• Claims 1-13 and 15-21 are currently pending and have been examined.
Priority
The examiner acknowledges that the instant application is a continuation of US Patent No. 12165184 B2, filed 11/08/2021.
Terminal Disclaimer
The terminal disclaimer filed on 06/01/2026 has been reviewed and is accepted. The terminal disclaimer has been recorded. The double patenting rejection has been withdrawn in light of the terminal disclaimer.
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 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-13 and 15-21 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception without significantly more. The claims recite an abstract idea. The judicial exception is not integrated into a practical application. The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception.
First, it is determined whether the claims are directed to a statutory category of invention. See MPEP 2106.03(II). In the instant case, claims 1-8 and 21 are directed to a machine, claims 9-13 and 15-16 are directed to a manufacture, and claims 17-20 are directed to a process. Therefore, claims 1-13 and 15-21 are directed to statutory subject matter under Step 1 of the Alice/Mayo test (Step 1: YES).
The claims are then analyzed to determine if the claims are directed to a judicial exception. See MPEP 2106.04. In determining whether the claims are directed to a judicial exception, the claims are analyzed to evaluate whether the claims recite a judicial exception (Prong 1 of Step 2A), as well as analyzed to evaluate whether the claims recite additional elements that integrate the judicial exception into a practical application of the judicial exception (Prong 2 of Step 2A). See MPEP 2106.04.
Taking claim 1 as representative, claim 1 recites at least the following limitations that are believed to recite an abstract idea:
receiving a request to send a message to a recipient device, the request associated with an account;
accessing criteria for the account, the criteria including a quality weight;
accessing, from a quality index storage, a quality index comprising a respective quality score for each route offered by each of a plurality of service providers that deliver messages, each route defining a communication delivery path, each respective quality score indicating a likelihood that a message via the corresponding route will be received by an intended recipient;
generating the quality index by, for each respective quality score:
receiving feedback data describing actual delivery outcomes of messages previously over the corresponding route, the feedback data including data indicating whether the messages were to intended recipients, whether the messages were successfully received by the intended recipients, and an elapsed time until the messages were received by the intended recipients;
receiving performance testing data from, the performance testing data describing tracked performance of test messages over the corresponding route; and
periodically updating the quality index to reflect a current performance level of each route
determining, based on the quality weight and the quality index, a ranking value for each of a plurality of service providers that deliver messages;
based on the ranking values, selecting a service provider of the plurality of service providers; and
sending the message to the selected service provider.
The above limitations recite the concept of selecting a service provider. These limitations, under their broadest reasonable interpretation, fall within the “Certain Methods of Organizing Human Activity” grouping of abstract ideas, enumerated in the MPEP, in that they recite commercial or legal interactions such as advertising, marketing, or sales activities or behaviors. Specifically, the selection of a service provider represents marketing and sales behaviors because it pertains to services offered. This is illustrated in Specification [0021], which discusses paying a cost for the service. Further, these limitations, under their broadest reasonable interpretation, fall within the “Mental Processes” grouping of abstract ideas, enumerated in the MPEP, in that they recite concepts performed in the human mind, including observations, evaluations, judgments, and opinions. Specifically, the analysis to determine a service provider are observations, evaluations, and judgements. Claims 9 and 17 recite the same abstract ideas as claim 1 and additionally recite the abstract idea of computing the respective quality score based on the feedback data and the performance testing data. Accordingly, claims 9 and 17 fall within the same s of abstract ideas. Accordingly, under Prong One of Step 2A of the MPEP, claims 1, 9, and 17 recite an abstract idea (Step 2A, Prong One: YES).
Under Prong Two of Step 2A of the MPEP, claims 1, 9, and 17 recite additional elements, such as a multi-channel message exchange system comprising: one or more computer processors; and one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the multi-channel message exchange system to perform operations; transmitting data; a database; a communication delivery path through a series of computers and routers; a message transmitted; messages previously transmitted; a testing system; messages transmitted by the testing system; and a non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of a multi-channel message exchange system, cause the multi-channel message exchange system to perform operations. These additional elements are described at a high level in Applicant’s specification without any meaningful detail about their structure or configuration. As such, these computer-related limitations are not found to be sufficient to integrate the abstract idea into a practical application. Although these additional computer-related elements are recited, claims 1, 9, and 17 merely invoke such additional elements as a tool to perform the abstract idea. Implementing an abstract idea on a generic computer is not indicative of integration into a practical application. Similar to the limitations of Alice, claims 1, 9, and 17 merely recite a commonplace business method (i.e., selecting a service provider) being applied on a general purpose computer. See MPEP 2106.05(f). Furthermore, claims 1, 9, and 17 generally link the use of the abstract idea to a particular technological environment or field of use. The courts have identified various examples of limitations as merely indicating a field of use/technological environment in which to apply the abstract idea, such as specifying that the abstract idea of monitoring audit log data relates to transactions or activities that are executed in a computer environment, because this requirement merely limits the claims to the computer field, i.e., to execution on a generic computer (see FairWarning v. Iatric Sys.). Likewise, claims 1, 9, and 17 specifying that the abstract idea of selecting a service provider is executed in a computer environment merely indicates a field of use in which to apply the abstract idea because this requirement merely limits the claims to the computer field, i.e., to execution on a generic computer. As such, under Prong Two of Step 2A of the MPEP, when considered both individually and as a whole, the limitations of claims 1, 9, and 17 are not indicative of integration into a practical application (Step 2A, Prong Two: NO).
Since claims 1, 9, and 17 recite an abstract idea and fail to integrate the abstract idea into a practical application, claims 1, 9, and 17 are “directed to” an abstract idea (Step 2A: YES).
Next, under Step 2B, the claims are analyzed to determine if there are additional claim limitations that individually, or as an ordered combination, ensure that the claim amounts to significantly more than the abstract idea. See MPEP 2106.05. The instant claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception for at least the following reasons.
Returning to independent claims 1, 9, and 17, these claims recite additional elements, such as a multi-channel message exchange system comprising: one or more computer processors; and one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the multi-channel message exchange system to perform operations; transmitting data; a database; a communication delivery path through a series of computers and routers; a message transmitted; messages previously transmitted; a testing system; messages transmitted by the testing system; and a non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of a multi-channel message exchange system, cause the multi-channel message exchange system to perform operations. As discussed above with respect to Prong Two of Step 2A, although additional computer-related elements are recited, the claims merely invoke such additional elements as a tool to perform the abstract idea. See MPEP 2106.05(f). Moreover, the limitations of claims 1, 9, and 17 are manual processes, e.g., receiving information, sending information, etc. The courts have indicated that mere automation of manual processes is not sufficient to show an improvement in computer-functionality (see MPEP 2106.05(a)(I)). Furthermore, as discussed above with respect to Prong Two of Step 2A, claims 1, 9, and 17 merely recite the additional elements in order to further define the field of use of the abstract idea, therein attempting to generally link the use of the abstract idea to a particular technological environment, such as the Internet or computing networks (see Ultramercial, Inc. v. Hulu, LLC. (Fed. Cir. 2014); Bilski v. Kappos (2010); MPEP 2106.05(h)). Similar to FairWarning v. Iatric Sys., claims 1, 9, and 17 specifying that the abstract idea of selecting a service provider is executed in a computer environment merely indicates a field of use in which to apply the abstract idea because this requirement merely limits the claim to the computer field, i.e., to execution on a generic computer.
Even when considered as an ordered combination, the additional elements do not add anything that is not already present when they are considered individually. In Alice Corp., the Court considered the additional elements “as an ordered combination,” and determined that “the computer components…‘[a]dd nothing…that is not already present when the steps are considered separately’ and simply recite intermediated settlement as performed by a generic computer.” Id. (citing Mayo, 566 U.S. at 79, 101 USPQ2d at 1972). Similarly, viewed as a whole, claims 1, 9, and 17 simply convey the abstract idea itself facilitated by generic computing components. Therefore, under Step 2B of the Alice/Mayo test, there are no meaningful limitations in claims 1, 9, and 17 that transform the judicial exception into a patent eligible application such that the claims amount to significantly more than the judicial exception itself (Step 2B: NO).
Dependent claims 2-8, 10-13, 15-16, and 18-21, 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. Dependent claims 2-8, 10-13, 15-16, and 18-21 further fall within the “Certain Methods of Organizing Human Activity” grouping of abstract ideas, enumerated in the MPEP, in that they recite commercial or legal interactions such as advertising, marketing, or sales activities or behaviors. Further, these claims, under their broadest reasonable interpretation, fall within the “Mental Processes” grouping of abstract ideas, enumerated in the MPEP, in that they recite concepts performed in the human mind, including observations, evaluations, judgments, and opinions. Dependent claims 2-4, 7-8, 10-12, 15-16, and 18-21 fail to identify additional elements and as such, are not indicative of integration into a practical application. Dependent claims 5-6 and 13 further recite the additional elements of an application programming interface and a maximum latency. Similar to the discussion above under Prong Two of Step 2A, although these additional computer-related elements are recited, claims 2-8, 10-13, 15-16, and 18-21 merely invoke such additional elements as a tool to perform the abstract idea. As such, under Step 2A, dependent claims 2-8, 10-13, 15-16, and 18-21 are “directed to” an abstract idea and are not integrated into a practical application. Similar to the discussion above with respect to claims 1, 9, and 17, dependent claims 2-8, 10-13, 15-16, and 18-21, analyzed individually and as an ordered combination, merely further define the commonplace business method being applied on a general purpose computer and, therefore, do not amount to significantly more than the abstract idea itself. See MPEP 2106.05(f)(2). Further, these limitations generally link the use of the abstract idea to a particular technological environment or field of use. Accordingly, under the Alice/Mayo test, claims 1-13 and 15-21 are ineligible.
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 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.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-4, 6-12, and 15-21 are rejected under 35 U.S.C. 103 as being unpatentable over previously cited Scott (US 10448226 B1), hereinafter Scott, in view of previously cited Shirazi et al. (US 20160286526 A1), hereinafter Shirazi, in view of newly cited Kim et al. (US 9467970 B1), hereinafter Kim.
In regards to claim 1, Scott discloses a multi-channel message exchange system comprising: one or more computer processors; and one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the multi-channel message exchange system to perform operations comprising (Scott: Col. 10, Ln. 10-36 and Fig. 10 – “the reverse auction instructions 1090 are executable by the processor 1052 to perform certain operations described herein. In one implementation, the computing device 1010 includes or corresponds to the device 102, and the processor 1052…the one or more storage devices 1040, or both, include tangible computer-readable media”; Col. 1, Ln. 7-10 – “communication networks and more particularly to selection of service providers of networks using a network service exchange system”):
receiving a request to transmit a message to a recipient device, the request associated with an account (Scott: Col. 2, Ln. 40-43 – “a device communicates with a network exchange service system to send a request identifying one or more service parameters”; Col. 4, Ln. 13-19 – “one or more service parameters 114 may indicate…a number or frequency of messages to be transmitted”; Col. 1, Ln. 10-16 – “Devices use networks to communicate data. As an example, certain sensor devices generate data (e.g., measurements) and use networks to communicate the data to a server or other device”);
accessing criteria for the account, the criteria including a quality weight (Scott: Col. 13, Ln. 44-48 – “assigning parametric weighting to the network subscriber inputs, at 704. Assigning the parametric weighting to the network subscriber inputs generates weighted parameters”);
accessing a quality index comprising a respective quality score for each route offered by each of a plurality of service providers that deliver messages, each route defining a communication delivery path, each respective quality score indicating (Scott: Col. 10, Ln 40-45 and Fig. 3 – “one or more of an upload speed or a download speed of networks associated with the service providers 110, 250, 252, and 254 are “scored” and used to determine each bid rank 308”; Col. 4, Ln. 13-19 – “one or more service parameters 114 may indicate…a number or frequency of messages to be transmitted”; Col. 1, Ln. 10-16 – “Devices use networks to communicate data. As an example, certain sensor devices generate data (e.g., measurements) and use networks to communicate the data to a server or other device”);
determining, based on the quality weight and the quality index, a ranking value for each of a plurality of service providers that deliver messages (Scott: Col. 14, Ln. 5-16 – “a weighting scheme is used in which each bid submittal is “scored” for each criterion to generate a ‘global’ score…normalizing data based on the compliant bids, at 714, to generate normalized data. The method 700 further includes calculating minimum distances in a parametric N-dimensional space, at 716 to generate minimum distances. The method 700 further includes ranking the compliant bids, at 718, to generate ranked bids”; see also Col. 4, Ln. 13-19);
based on the ranking values, selecting a service provider of the plurality of service providers (Scott: Col. 13, Ln. 14-16 – “ranking the bids, at 624, and transmitting a next highest ranked bid to the subscriber, at 626”; Col. 3, Ln. 20-24 – “select a service provider 110 from among the plurality of candidate service providers 106 to provide a service to the device 102”; Col. 10, Ln 40-45 and Fig. 3 – “one or more of an upload speed or a download speed of networks associated with the service providers 110, 250, 252, and 254 are “scored” and used to determine each bid rank 308”); and
transmitting to the selected service provider (Scott: Col. 14, Ln. 57-65 and Fig. 8 – “method 800 further includes performing an over-the-air provisioning process after selecting the service provider to enable the device to communicate using a network associated with the service provider. In some implementations, the network service exchange system 104 performs the over-the-air provisioning process 136 to enable the device 102 to communicate with the service provider 110 using the network 150”; Col. 4, Ln. 14-20 – “one or more service parameters 114 may indicate…a number or frequency of messages to be transmitted”)
Scott further discloses messages to be transmitted with a service provider (Scott: Col. 4, Ln. 14-20), yet Scott does not explicitly disclose accessing, from a database, criteria; accessing, from a quality index storage, a quality index; a communication delivery path through a series of computers and routers; score indicating a likelihood that a message transmitted via the corresponding route will be received by an intended recipient; generating the quality index by, for each respective quality score: receiving feedback data describing actual delivery outcomes of messages previously transmitted over the corresponding route, the feedback data including data indicating whether the messages were transmitted to intended recipients, whether the messages were successfully received by the intended recipients, and an elapsed time until the messages were received by the intended recipients; receiving performance testing data from a testing system, the performance testing data describing tracked performance of test messages transmitted by the testing system over the corresponding route; and periodically updating the quality index to reflect a current performance level of each route; and transmitting the message to the selected service provider.
However, Shirazi teaches a similar system of sending a message (Shirazi: [abstract]), including
accessing, from a database, criteria (Shirazi: [0024] and Table 1 – “selects a communication channel for transmitting the message based on one or more properties. The properties are stored in the channel data 130 database for access by the channel manager 114. In some implementations, the channel properties can include one or more of those listed below in TABLE 1…sender Requirements…User Preferences…An indication of whether the recipient favors the channel for communication”);
accessing, from a quality index storage, a quality index (Shirazi: [0030] – “access the transaction data database 136 for performance data for the past 5 minutes (or past one hour, past week, past month). For instance, if a particular property under consideration is the content type of rich-media, performance data of a particular channel for this particular property can be numbers of success and failed transmissions of rich-media messages through the particular channel in the past 5 minutes. As for another example, if a particular property under consideration is the quality of service of a particular channel, performance data for this particular property can be the number of events when the particular channel is unavailable or the number of messages that were automatically sent (failover) through other channels in the past hour”);
a communication delivery path through a series of computers (Shirazi: [0037] – “The channel manager 114 then forwards the request 215 to servers of the OTT2 channel 162 (216). The servers of the OTT2 channel 162 then forward the message 219 to the client device 150 of the recipient (220)”);
a score indicating a likelihood that a message transmitted via the corresponding route will be received by an intended recipient (Shirazi: [0027] – “A required property for the message can be…a delivery success rate specified by the sender”; [0036] – “automatically selects a communication channel based on rules for required properties of the message”; [0005] – “One or more rules of the rule-based system can be periodically updated by a machine learning system with input comprising respective past performance data for each property on each of the plurality of third party communication channels”);
generating the quality index by, for each respective quality score: receiving feedback data describing actual delivery outcomes of messages previously transmitted over the corresponding route, the feedback data including data indicating whether the messages were transmitted to intended recipients, whether the messages were successfully received by the intended recipients, and an elapsed time until the messages were received by the intended recipients (Shirazi: [0030] – “access the transaction data database 136 for performance data for the past 5 minutes (or past one hour, past week, past month). For instance, if a particular property under consideration is the content type of rich-media, performance data of a particular channel for this particular property can be numbers of success and failed transmissions of rich-media messages through the particular channel in the past 5 minutes…or the number of messages that were automatically sent (failover) through other channels in the past hour”; [0024] and Table 1 – “ channel properties can include one or more of those listed below in TABLE 1…A measure of the performance of the channel based on message delivery failure rate, transmission delay, …delivery confirmation…A measure of availability of a delivery receipt and how long it takes on average for a delivery receipt to be received indicating delivery of the message to the user on the channel”);
periodically updating the quality index to reflect a current performance level of each route (Shirazi: [0030] – “machine-learning system 120 is a software component that periodically updates the rules stored in the channel selection rules 134 based on past performance data for each property on each of the communication channels (e.g., properties described in TABLE 1 above). For instance, the machine-learning system 120 can access the transaction data database 136 for performance data for the past 5 minutes (or past one hour, past week, past month). For instance, if a particular property under consideration is the content type of rich-media, performance data of a particular channel for this particular property can be numbers of success and failed transmissions of rich-media messages through the particular channel in the past 5 minutes”); and
transmitting the message to the selected service provider (Shirazi: [0037] – “The channel manager 114 can provide the selected communication channel (e.g., OTT2) and the request 201 to the channel adapter 116 (212). The channel adapter 116 translates the request 201 to a request 215 (to transmit the message) according to a protocol (e.g., an API) for the selected communication channel. For instance, the request 215 can include the message from the request 201 but in a format based the protocol of the OTT2 channel, and a user identifier (of the user) for the OTT2 channel. The request 215 can also include an identifier for the customer 140 such that a future reply message in reference to the request 215 can be directed toward back to the customer 140. The channel manager 114 then forwards the request 215 to servers of the OTT2 channel 162 (216). The servers of the OTT2 channel 162 then forward the message 219 to the client device 150 of the recipient (220)”).
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to have included the database, index details, and message transmission of Shirazi in the system of Scott because Scott already discloses storage, an index, and a communication session and Shirazi is merely demonstrating how these may occur. Additionally, it would have been obvious to have included accessing, from a database, criteria; accessing, from a quality index storage, a quality index; a communication delivery path through a series of computers and routers; score indicating a likelihood that a message transmitted via the corresponding route will be received by an intended recipient; generating the quality index by, for each respective quality score: receiving feedback data describing actual delivery outcomes of messages previously transmitted over the corresponding route, the feedback data including data indicating whether the messages were transmitted to intended recipients, whether the messages were successfully received by the intended recipients, and an elapsed time until the messages were received by the intended recipients; and periodically updating the quality index to reflect a current performance level of each route; and transmitting the message to the selected service provider as taught by Shirazi because databases, indexes, and transmissions are well-known and the use of it in a message setting would have mitigated the complexity of communicating over different channels that have differing protocols and security requirements (Shirazi: [0003]).
Additionally, Kim teaches a similar system of sending a message (Kim: [abstract]), including
a communication delivery path through routers (Kim: Col. 7, Ln. 35-50 – “Network 111 is configured to couple network devices with other computing devices…a router acts as a link between LANs, enabling messages to be sent from one to another”; Col. 7, Ln. 12-14 – “Wireless network 110 may further include an autonomous system of terminals, gateways, routers”); and
receiving performance testing data from a testing system, the performance testing data describing tracked performance of test messages transmitted by the testing system over the corresponding route (Kim: Col. 25, Ln. 65 – Col. 25, Ln. 3 – “one or more performance metrics may be recorded. One or more performance metrics may be collected during live operations and a deliberate testing operations”; Col. 3, Ln. 55-64 – “The term “synthetic event message,” “synthetic notification message,” or “synthetic traffic” as used herein refer to messages that may be self-generated by the system. Synthetic messages may be used for testing the performance of one or more message providers, service providers, or the like. Performance information derived monitoring the handling of synthetic messages may contribute to the information stored in a provider profile”).
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to have included the routers and testing of Kim in the system of Scott/Shirazi because Scott/Shirazi already discloses performance information and Kim is merely demonstrating how this may occur. Additionally, it would have been obvious to have included a communication delivery path through routers; and receiving performance testing data from a testing system, the performance testing data describing tracked performance of test messages transmitted by the testing system over the corresponding route as taught by Kim because routers and testing are well-known and the use of it in a message setting would have mitigated the complexity of communicating over different channels that have provided for savings and efficiency improvements (Kim: Col. 42, Ln. 23-24).
In regards to claim 2, Scott/Shirazi/Kim teaches the system of claim 1. Scott does not explicitly disclose wherein the criteria for the account identifies a maximum value.
However, Shirazi teaches a similar system of sending a message (Shirazi: [abstract]), including
wherein the criteria for the account identifies a maximum value (Shirazi: [0026] – “channel manager 114 can also select a communication channel based on the sender's identification (the customer 140) or additional criteria specified by the sender. For instance, the sender may have an upper limit (e.g., $0.05, or $0.00) on a cost to send a message”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed inventions to combine Shirazi with Scott for the reasons identified above with respect to claim 1.
In regards to claim 3, Scott/Shirazi/Kim teaches the system of claim 2. Scott does not explicitly disclose wherein the operations further comprise: determining that a cost value of the selected service provider does not exceed the maximum value identified by the criteria.
However, Shirazi teaches a similar system of sending a message (Shirazi: [abstract]), including
wherein the operations further comprise: determining that a cost value of the selected service provider does not exceed the maximum value identified by the criteria (Shirazi: [0027] – “the channel manager 114 selects a communication channel based on evaluation of one or more rules using the rule-based system 118. Each rule in the rule-based system 118 includes one or more required properties for the message, and a channel suitable for the required properties. A required property for the message can be the content type (e.g., text or rich-media), a cost limit specified by the sender, or a delivery success rate specified by the sender, or the value of a property listed in TABLE 1. Other required properties for the message are possible. The required properties can be determined by metadata (e.g., the content type, the sender) of the message”; the examiner notes a channel suitable does not exceed the cost requirement).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed inventions to combine Shirazi with Scott for the reasons identified above with respect to claim 1.
In regards to claim 4, Scott/Shirazi/Kim teaches the system of claim 2. Scott further discloses wherein the operations further comprise: determining that a cost value of another service provider with a value identified by the criteria, the other service provider being excluded from a set of service providers gathered from the plurality of service providers for potential selection to deliver the message (Scott: Col. 12, Ln. 62 – Col. 13, Ln. 13 – “the one or more service parameters 114 indicate a price…the network service exchange system 104 evaluates the bid submittals 120 to determine whether each of the bid submittals 120 complies with the one or more service parameters 114…determining, for each bid submission, if the bid submission complies with the service level agreement indicated in the request, at 620. In a particular example, if a bid submission does not comply with the service level agreement indicated by the request, the network service exchange system 104 sends a bid rejection notice, at 618”).
Scott further discloses determining compliance with a price of a user but Scot does not explicitly disclose that a cost value of another service provider exceeds the maximum value.
However, Shirazi teaches a similar system of sending a message (Shirazi: [abstract]), including
that a cost value of another service provider exceeds the maximum value (Shirazi: [0027] – “the channel manager 114 selects a communication channel based on evaluation of one or more rules using the rule-based system 118. Each rule in the rule-based system 118 includes one or more required properties for the message, and a channel suitable for the required properties. A required property for the message can be the content type (e.g., text or rich-media), a cost limit specified by the sender, or a delivery success rate specified by the sender, or the value of a property listed in TABLE 1. Other required properties for the message are possible. The required properties can be determined by metadata (e.g., the content type, the sender) of the message”; [0028-0029] and Table – “By way of illustration, assume that there are four required properties A, B, C, and D…if the required properties for the message are B and D, the rule-based system 118 accesses the above set of rules (stored in the channel selection rules database 134) and selects the channel OTT.sub.1 for transmitting the message. If the required properties for the message are A only, the rule-based system 118 accesses the above set of rules and selects the channel OTT.sub.3 for transmitting the message the examiner notes a channel suitable does not exceed the cost requirement)”; the examiner notes that since a price upper limit can be a requirement, a channel not having a requirement exceeds the upper limit).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed inventions to combine Shirazi with Scott for the reasons identified above with respect to claim 1.
In regards to claim 6, Scott/Shirazi/Kim teaches the system of claim 1. Scott further discloses wherein the request identifies a latency for transmitting the message (Scott: Col. 4, Ln. 14-19 – “one or more service parameters 114 may indicate a type of network capability of the device 102 (e.g., a time division multiple access (TDMA) capability or a code division multiple access (CDMA) capability), a target latency parameter”; Col. 13, Ln. 65 – Col. 14, Ln. 5 – “the one or more service parameters 114 indicate one or more threshold…values for one or more criteria, such as a minimum upload speed, as an illustrative example. Thus, in some cases, a bid submittal is non-compliant for failing to satisfy a threshold value of a criterion”).
Yet Scott does not explicitly disclose that a parameter value is a maximum value.
However, Shirazi teaches a similar system of sending a message (Shirazi: [abstract]), including
that a parameter value is a maximum value (Shirazi: [0027] – “the channel manager 114 selects a communication channel based on evaluation of one or more rules using the rule-based system 118. Each rule in the rule-based system 118 includes one or more required properties for the message, and a channel suitable for the required properties. A required property for the message can be the content type (e.g., text or rich-media), a cost limit specified by the sender, or a delivery success rate specified by the sender, or the value of a property listed in TABLE 1. Other required properties for the message are possible. The required properties can be determined by metadata (e.g., the content type, the sender) of the message”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed inventions to combine Shirazi with Scott for the reasons identified above with respect to claim 1.
In regards to claim 7, Scott/Shirazi/Kim teaches the system of claim 1. Scott further discloses wherein the determining of the ranking value for each of the plurality of service providers is further based on a quality score for each of the plurality of service providers (Scott: Col. 14, Ln. 5-16 – “a weighting scheme is used in which each bid submittal is “scored” for each criterion to generate a ‘global’ score…normalizing data based on the compliant bids, at 714, to generate normalized data. The method 700 further includes calculating minimum distances in a parametric N-dimensional space, at 716 to generate minimum distances. The method 700 further includes ranking the compliant bids, at 718, to generate ranked bids”; see also Col. 4, Ln. 13-19).
In regards to claim 8, Scott/Shirazi/Kim teaches the system of claim 7. Yet Scott does not explicitly disclose wherein the quality score for each service provider is based on feedback data for the service provider that describes the service provider’s actual performance delivering messages that have been allocated to the service provider for delivery.
However, Shirazi teaches a similar system of sending a message (Shirazi: [abstract]), including
wherein the quality score for each service provider is based on feedback data for the service provider that describes the service provider’s actual performance delivering messages that have been allocated to the service provider for delivery (Shirazi: [0024] and Table 1 – “the channel properties can include one or more of those listed below in TABLE 1… Quality of Service A measure of the performance of the channel based on message delivery failure rate, transmission delay, queues, maintenance periods, delivery confirmation, packet loss, available features (e.g., text vs. rich-media content), or OTT restrictions”; [0005] – “One or more rules of the rule-based system can be periodically updated by a machine learning system with input comprising respective past performance data for each property on each of the plurality of third party communication channels. The aspect can further comprise determining that the sending failed and based thereon, selecting a second channel from the plurality of channels; determining a second channel-specific user identifier for the user; and sending the message to the user on the second channel using the second channel-specific user identifier”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed inventions to combine Shirazi with Scott for the reasons identified above with respect to claim 1.
In regards to claim 9, Scott discloses a non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of a multi-channel message exchange system, cause the multi-channel message exchange system to perform operations (Scott: Col. 10, Ln. 10-36 and Fig. 10 – “the reverse auction instructions 1090 are executable by the processor 1052 to perform certain operations described herein. In one implementation, the computing device 1010 includes or corresponds to the device 102, and the processor 1052…the one or more storage devices 1040, or both, include tangible computer-readable media”; Col. 1, Ln. 7-10 – “communication networks and more particularly to selection of service providers of networks using a network service exchange system”; see also Col. 18, Ln. 25-45):
receiving a request to transmit a message to a recipient device, the request associated with an account (Scott: Col. 2, Ln. 40-43 – “a device communicates with a network exchange service system to send a request identifying one or more service parameters”; Col. 4, Ln. 13-19 – “one or more service parameters 114 may indicate…a number or frequency of messages to be transmitted”; Col. 1, Ln. 10-16 – “Devices use networks to communicate data. As an example, certain sensor devices generate data (e.g., measurements) and use networks to communicate the data to a server or other device”);
accessing criteria for the account, the criteria including a quality weight (Scott: Col. 13, Ln. 44-48 – “assigning parametric weighting to the network subscriber inputs, at 704. Assigning the parametric weighting to the network subscriber inputs generates weighted parameters”);
accessing a quality index comprising a respective quality score for each route offered by each of a plurality of service providers that deliver messages, each route defining a communication delivery path, each respective quality score indicating (Scott: Col. 10, Ln 40-45 and Fig. 3 – “one or more of an upload speed or a download speed of networks associated with the service providers 110, 250, 252, and 254 are “scored” and used to determine each bid rank 308”; Col. 4, Ln. 13-19 – “one or more service parameters 114 may indicate…a number or frequency of messages to be transmitted”; Col. 1, Ln. 10-16 – “Devices use networks to communicate data. As an example, certain sensor devices generate data (e.g., measurements) and use networks to communicate the data to a server or other device”);
determining, based on the quality weight and the quality index, a ranking value for each of a plurality of service providers that deliver messages (Scott: Col. 14, Ln. 5-16 – “a weighting scheme is used in which each bid submittal is “scored” for each criterion to generate a ‘global’ score…normalizing data based on the compliant bids, at 714, to generate normalized data. The method 700 further includes calculating minimum distances in a parametric N-dimensional space, at 716 to generate minimum distances. The method 700 further includes ranking the compliant bids, at 718, to generate ranked bids”; see also Col. 4, Ln. 13-19);
based on the ranking values, selecting a service provider of the plurality of service providers (Scott: Col. 13, Ln. 14-16 – “ranking the bids, at 624, and transmitting a next highest ranked bid to the subscriber, at 626”; Col. 3, Ln. 20-24 – “select a service provider 110 from among the plurality of candidate service providers 106 to provide a service to the device 102”; Col. 10, Ln 40-45 and Fig. 3 – “one or more of an upload speed or a download speed of networks associated with the service providers 110, 250, 252, and 254 are “scored” and used to determine each bid rank 308”); and
transmitting to the selected service provider (Scott: Col. 14, Ln. 57-65 and Fig. 8 – “method 800 further includes performing an over-the-air provisioning process after selecting the service provider to enable the device to communicate using a network associated with the service provider. In some implementations, the network service exchange system 104 performs the over-the-air provisioning process 136 to enable the device 102 to communicate with the service provider 110 using the network 150”; Col. 4, Ln. 14-20 – “one or more service parameters 114 may indicate…a number or frequency of messages to be transmitted”)
Scott further discloses messages to be transmitted with a service provider (Scott: Col. 4, Ln. 14-20), yet Scott does not explicitly disclose accessing, from a database, criteria; accessing, from a quality index storage, a quality index; a communication delivery path through a series of computers and routers; score indicating a likelihood that a message transmitted via the corresponding route will be received by an intended recipient; generating the quality index by, for each respective quality score: receiving feedback data describing actual delivery outcomes of messages previously transmitted over the corresponding route, the feedback data including data indicating whether the messages were transmitted to intended recipients, whether the messages were successfully received by the intended recipients, and an elapsed time until the messages were received by the intended recipients; receiving performance testing data from a testing system, the performance testing data describing tracked performance of test messages transmitted by the testing system over the corresponding route; computing the respective quality score based on the feedback data and the performance testing data; and periodically updating the quality index to reflect a current performance level of each route; and transmitting the message to the selected service provider.
However, Shirazi teaches a similar system of sending a message (Shirazi: [abstract]), including
accessing, from a database, criteria (Shirazi: [0024] and Table 1 – “selects a communication channel for transmitting the message based on one or more properties. The properties are stored in the channel data 130 database for access by the channel manager 114. In some implementations, the channel properties can include one or more of those listed below in TABLE 1…sender Requirements…User Preferences…An indication of whether the recipient favors the channel for communication”);
accessing, from a quality index storage, a quality index (Shirazi: [0030] – “access the transaction data database 136 for performance data for the past 5 minutes (or past one hour, past week, past month). For instance, if a particular property under consideration is the content type of rich-media, performance data of a particular channel for this particular property can be numbers of success and failed transmissions of rich-media messages through the particular channel in the past 5 minutes. As for another example, if a particular property under consideration is the quality of service of a particular channel, performance data for this particular property can be the number of events when the particular channel is unavailable or the number of messages that were automatically sent (failover) through other channels in the past hour”);
a communication delivery path through a series of computers (Shirazi: [0037] – “The channel manager 114 then forwards the request 215 to servers of the OTT2 channel 162 (216). The servers of the OTT2 channel 162 then forward the message 219 to the client device 150 of the recipient (220)”);
a score indicating a likelihood that a message transmitted via the corresponding route will be received by an intended recipient (Shirazi: [0027] – “A required property for the message can be…a delivery success rate specified by the sender”; [0036] – “automatically selects a communication channel based on rules for required properties of the message”; [0005] – “One or more rules of the rule-based system can be periodically updated by a machine learning system with input comprising respective past performance data for each property on each of the plurality of third party communication channels”);
generating the quality index by, for each respective quality score: receiving feedback data describing actual delivery outcomes of messages previously transmitted over the corresponding route, the feedback data including data indicating whether the messages were transmitted to intended recipients, whether the messages were successfully received by the intended recipients, and an elapsed time until the messages were received by the intended recipients (Shirazi: [0030] – “access the transaction data database 136 for performance data for the past 5 minutes (or past one hour, past week, past month). For instance, if a particular property under consideration is the content type of rich-media, performance data of a particular channel for this particular property can be numbers of success and failed transmissions of rich-media messages through the particular channel in the past 5 minutes…or the number of messages that were automatically sent (failover) through other channels in the past hour”; [0024] and Table 1 – “ channel properties can include one or more of those listed below in TABLE 1…A measure of the performance of the channel based on message delivery failure rate, transmission delay, …delivery confirmation…A measure of availability of a delivery receipt and how long it takes on average for a delivery receipt to be received indicating delivery of the message to the user on the channel”);
computing the respective quality score based on the feedback data (Shirazi: [0030] – “machine-learning system 120 is a software component that periodically updates the rules stored in the channel selection rules 134 based on past performance data for each property on each of the communication channels (e.g., properties described in TABLE 1 above). For instance, the machine-learning system 120 can access the transaction data database 136 for performance data for the past 5 minutes (or past one hour, past week, past month). For instance, if a particular property under consideration is the content type of rich-media, performance data of a particular channel for this particular property can be numbers of success and failed transmissions of rich-media messages through the particular channel in the past 5 minutes”);
periodically updating the quality index to reflect a current performance level of each route (Shirazi: [0030] – “machine-learning system 120 is a software component that periodically updates the rules stored in the channel selection rules 134 based on past performance data for each property on each of the communication channels (e.g., properties described in TABLE 1 above). For instance, the machine-learning system 120 can access the transaction data database 136 for performance data for the past 5 minutes (or past one hour, past week, past month). For instance, if a particular property under consideration is the content type of rich-media, performance data of a particular channel for this particular property can be numbers of success and failed transmissions of rich-media messages through the particular channel in the past 5 minutes”); and
transmitting the message to the selected service provider (Shirazi: [0037] – “The channel manager 114 can provide the selected communication channel (e.g., OTT2) and the request 201 to the channel adapter 116 (212). The channel adapter 116 translates the request 201 to a request 215 (to transmit the message) according to a protocol (e.g., an API) for the selected communication channel. For instance, the request 215 can include the message from the request 201 but in a format based the protocol of the OTT2 channel, and a user identifier (of the user) for the OTT2 channel. The request 215 can also include an identifier for the customer 140 such that a future reply message in reference to the request 215 can be directed toward back to the customer 140. The channel manager 114 then forwards the request 215 to servers of the OTT2 channel 162 (216). The servers of the OTT2 channel 162 then forward the message 219 to the client device 150 of the recipient (220)”).
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to have included the database, index details, and message transmission of Shirazi in the system of Scott because Scott already discloses storage, an index, and a communication session and Shirazi is merely demonstrating how these may occur. Additionally, it would have been obvious to have included accessing, from a database, criteria; accessing, from a quality index storage, a quality index; a communication delivery path through a series of computers and routers; score indicating a likelihood that a message transmitted via the corresponding route will be received by an intended recipient; generating the quality index by, for each respective quality score: receiving feedback data describing actual delivery outcomes of messages previously transmitted over the corresponding route, the feedback data including data indicating whether the messages were transmitted to intended recipients, whether the messages were successfully received by the intended recipients, and an elapsed time until the messages were received by the intended recipients; and periodically updating the quality index to reflect a current performance level of each route; and transmitting the message to the selected service provider as taught by Shirazi because databases, indexes, and transmissions are well-known and the use of it in a message setting would have mitigated the complexity of communicating over different channels that have differing protocols and security requirements (Shirazi: [0003]).
Additionally, Kim teaches a similar system of sending a message (Kim: [abstract]), including
a communication delivery path through routers (Kim: Col. 7, Ln. 35-50 – “Network 111 is configured to couple network devices with other computing devices…a router acts as a link between LANs, enabling messages to be sent from one to another”; Col. 7, Ln. 12-14 – “Wireless network 110 may further include an autonomous system of terminals, gateways, routers”);
receiving performance testing data from a testing system, the performance testing data describing tracked performance of test messages transmitted by the testing system over the corresponding route (Kim: Col. 25, Ln. 65 – Col. 25, Ln. 3 – “one or more performance metrics may be recorded. One or more performance metrics may be collected during live operations and a deliberate testing operations”; Col. 3, Ln. 55-64 – “The term “synthetic event message,” “synthetic notification message,” or “synthetic traffic” as used herein refer to messages that may be self-generated by the system. Synthetic messages may be used for testing the performance of one or more message providers, service providers, or the like. Performance information derived monitoring the handling of synthetic messages may contribute to the information stored in a provider profile”); and
computing the respective quality score based on the performance testing data (Kim: Col. 25, Ln. 65 – Col. 25, Ln. 3 – “one or more performance metrics may be recorded. One or more performance metrics may be collected during live operations and a deliberate testing operations”; Col. 3, Ln. 55-64 – “The term “synthetic event message,” “synthetic notification message,” or “synthetic traffic” as used herein refer to messages that may be self-generated by the system. Synthetic messages may be used for testing the performance of one or more message providers, service providers, or the like. Performance information derived monitoring the handling of synthetic messages may contribute to the information stored in a provider profile”).
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to have included the routers and testing of Kim in the system of Scott/Shirazi because Scott/Shirazi already discloses performance information and Kim is merely demonstrating how this may occur. Additionally, it would have been obvious to have included a communication delivery path through routers; and receiving performance testing data from a testing system, the performance testing data describing tracked performance of test messages transmitted by the testing system over the corresponding route as taught by Kim because routers and testing are well-known and the use of it in a message setting would have mitigated the complexity of communicating over different channels that have provided for savings and efficiency improvements (Kim: Col. 42, Ln. 23-24).
In regards to claims 10-12 and 15-16, all the limitations in medium claims 10-12 and 15-16 are closely parallel to the limitations of system claims 2-4 and 7-8 analyzed above and rejected on the same bases.
In regards to claim 17, Scott discloses a method comprising (Scott: [abstract]):
receiving, by one or more processors, a request to transmit a message to a recipient device, the request associated with an account (Scott: Col. 2, Ln. 40-43 – “a device communicates with a network exchange service system to send a request identifying one or more service parameters”; Col. 4, Ln. 13-19 – “one or more service parameters 114 may indicate…a number or frequency of messages to be transmitted”; Col. 1, Ln. 10-16 – “Devices use networks to communicate data. As an example, certain sensor devices generate data (e.g., measurements) and use networks to communicate the data to a server or other device”; see also Col. 10, Ln. 10-36 and Fig. 10);
accessing criteria for the account, the criteria including a quality weight (Scott: Col. 13, Ln. 44-48 – “assigning parametric weighting to the network subscriber inputs, at 704. Assigning the parametric weighting to the network subscriber inputs generates weighted parameters”);
accessing a quality index comprising a respective quality score for each route offered by each of a plurality of service providers that deliver messages, each route defining a communication delivery path, each respective quality score indicating (Scott: Col. 10, Ln 40-45 and Fig. 3 – “one or more of an upload speed or a download speed of networks associated with the service providers 110, 250, 252, and 254 are “scored” and used to determine each bid rank 308”; Col. 4, Ln. 13-19 – “one or more service parameters 114 may indicate…a number or frequency of messages to be transmitted”; Col. 1, Ln. 10-16 – “Devices use networks to communicate data. As an example, certain sensor devices generate data (e.g., measurements) and use networks to communicate the data to a server or other device”);
determining, based on the quality weight and the quality index, a ranking value for each of a plurality of service providers that deliver messages (Scott: Col. 14, Ln. 5-16 – “a weighting scheme is used in which each bid submittal is “scored” for each criterion to generate a ‘global’ score…normalizing data based on the compliant bids, at 714, to generate normalized data. The method 700 further includes calculating minimum distances in a parametric N-dimensional space, at 716 to generate minimum distances. The method 700 further includes ranking the compliant bids, at 718, to generate ranked bids”; see also Col. 4, Ln. 13-19);
based on the ranking values, selecting a service provider of the remaining service providers (Scott: Col. 13, Ln. 14-16 – “ranking the bids, at 624, and transmitting a next highest ranked bid to the subscriber, at 626”; Col. 3, Ln. 20-24 – “select a service provider 110 from among the plurality of candidate service providers 106 to provide a service to the device 102”; Col. 10, Ln 40-45 and Fig. 3 – “one or more of an upload speed or a download speed of networks associated with the service providers 110, 250, 252, and 254 are “scored” and used to determine each bid rank 308”); and
transmitting to the selected service provider (Scott: Col. 14, Ln. 57-65 and Fig. 8 – “method 800 further includes performing an over-the-air provisioning process after selecting the service provider to enable the device to communicate using a network associated with the service provider. In some implementations, the network service exchange system 104 performs the over-the-air provisioning process 136 to enable the device 102 to communicate with the service provider 110 using the network 150”; Col. 4, Ln. 14-20 – “one or more service parameters 114 may indicate…a number or frequency of messages to be transmitted”)
Scott further discloses messages to be transmitted with a service provider (Scott: Col. 4, Ln. 14-20), yet Scott does not explicitly disclose accessing, from a database, criteria; accessing, from a quality index storage, a quality index; a communication delivery path through a series of computers and routers; score indicating a likelihood that a message transmitted via the corresponding route will be received by an intended recipient; generating the quality index by, for each respective quality score: receiving feedback data describing actual delivery outcomes of messages previously transmitted over the corresponding route, the feedback data including data indicating whether the messages were transmitted to intended recipients, whether the messages were successfully received by the intended recipients, and an elapsed time until the messages were received by the intended recipients; receiving performance testing data from a testing system, the performance testing data describing tracked performance of test messages transmitted by the testing system over the corresponding route; computing the respective quality score based on the feedback data and the performance testing data; and periodically updating the quality index to reflect a current performance level of each route; and transmitting the message to the selected service provider.
However, Shirazi teaches a similar system of sending a message (Shirazi: [abstract]), including
accessing, from a database, criteria (Shirazi: [0024] and Table 1 – “selects a communication channel for transmitting the message based on one or more properties. The properties are stored in the channel data 130 database for access by the channel manager 114. In some implementations, the channel properties can include one or more of those listed below in TABLE 1…sender Requirements…User Preferences…An indication of whether the recipient favors the channel for communication”);
accessing, from a quality index storage, a quality index (Shirazi: [0030] – “access the transaction data database 136 for performance data for the past 5 minutes (or past one hour, past week, past month). For instance, if a particular property under consideration is the content type of rich-media, performance data of a particular channel for this particular property can be numbers of success and failed transmissions of rich-media messages through the particular channel in the past 5 minutes. As for another example, if a particular property under consideration is the quality of service of a particular channel, performance data for this particular property can be the number of events when the particular channel is unavailable or the number of messages that were automatically sent (failover) through other channels in the past hour”);
a communication delivery path through a series of computers (Shirazi: [0037] – “The channel manager 114 then forwards the request 215 to servers of the OTT2 channel 162 (216). The servers of the OTT2 channel 162 then forward the message 219 to the client device 150 of the recipient (220)”);
a score indicating a likelihood that a message transmitted via the corresponding route will be received by an intended recipient (Shirazi: [0027] – “A required property for the message can be…a delivery success rate specified by the sender”; [0036] – “automatically selects a communication channel based on rules for required properties of the message”; [0005] – “One or more rules of the rule-based system can be periodically updated by a machine learning system with input comprising respective past performance data for each property on each of the plurality of third party communication channels”);
generating the quality index by, for each respective quality score: receiving feedback data describing actual delivery outcomes of messages previously transmitted over the corresponding route, the feedback data including data indicating whether the messages were transmitted to intended recipients, whether the messages were successfully received by the intended recipients, and an elapsed time until the messages were received by the intended recipients (Shirazi: [0030] – “access the transaction data database 136 for performance data for the past 5 minutes (or past one hour, past week, past month). For instance, if a particular property under consideration is the content type of rich-media, performance data of a particular channel for this particular property can be numbers of success and failed transmissions of rich-media messages through the particular channel in the past 5 minutes…or the number of messages that were automatically sent (failover) through other channels in the past hour”; [0024] and Table 1 – “ channel properties can include one or more of those listed below in TABLE 1…A measure of the performance of the channel based on message delivery failure rate, transmission delay, …delivery confirmation…A measure of availability of a delivery receipt and how long it takes on average for a delivery receipt to be received indicating delivery of the message to the user on the channel”);
computing the respective quality score based on the feedback data (Shirazi: [0030] – “machine-learning system 120 is a software component that periodically updates the rules stored in the channel selection rules 134 based on past performance data for each property on each of the communication channels (e.g., properties described in TABLE 1 above). For instance, the machine-learning system 120 can access the transaction data database 136 for performance data for the past 5 minutes (or past one hour, past week, past month). For instance, if a particular property under consideration is the content type of rich-media, performance data of a particular channel for this particular property can be numbers of success and failed transmissions of rich-media messages through the particular channel in the past 5 minutes”);
periodically updating the quality index to reflect a current performance level of each route (Shirazi: [0030] – “machine-learning system 120 is a software component that periodically updates the rules stored in the channel selection rules 134 based on past performance data for each property on each of the communication channels (e.g., properties described in TABLE 1 above). For instance, the machine-learning system 120 can access the transaction data database 136 for performance data for the past 5 minutes (or past one hour, past week, past month). For instance, if a particular property under consideration is the content type of rich-media, performance data of a particular channel for this particular property can be numbers of success and failed transmissions of rich-media messages through the particular channel in the past 5 minutes”); and
transmitting the message to the selected service provider (Shirazi: [0037] – “The channel manager 114 can provide the selected communication channel (e.g., OTT2) and the request 201 to the channel adapter 116 (212). The channel adapter 116 translates the request 201 to a request 215 (to transmit the message) according to a protocol (e.g., an API) for the selected communication channel. For instance, the request 215 can include the message from the request 201 but in a format based the protocol of the OTT2 channel, and a user identifier (of the user) for the OTT2 channel. The request 215 can also include an identifier for the customer 140 such that a future reply message in reference to the request 215 can be directed toward back to the customer 140. The channel manager 114 then forwards the request 215 to servers of the OTT2 channel 162 (216). The servers of the OTT2 channel 162 then forward the message 219 to the client device 150 of the recipient (220)”).
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to have included the database, index details, and message transmission of Shirazi in the system of Scott because Scott already discloses storage, an index, and a communication session and Shirazi is merely demonstrating how these may occur. Additionally, it would have been obvious to have included accessing, from a database, criteria; accessing, from a quality index storage, a quality index; a communication delivery path through a series of computers and routers; score indicating a likelihood that a message transmitted via the corresponding route will be received by an intended recipient; generating the quality index by, for each respective quality score: receiving feedback data describing actual delivery outcomes of messages previously transmitted over the corresponding route, the feedback data including data indicating whether the messages were transmitted to intended recipients, whether the messages were successfully received by the intended recipients, and an elapsed time until the messages were received by the intended recipients; and periodically updating the quality index to reflect a current performance level of each route; and transmitting the message to the selected service provider as taught by Shirazi because databases, indexes, and transmissions are well-known and the use of it in a message setting would have mitigated the complexity of communicating over different channels that have differing protocols and security requirements (Shirazi: [0003]).
Additionally, Kim teaches a similar system of sending a message (Kim: [abstract]), including
a communication delivery path through routers (Kim: Col. 7, Ln. 35-50 – “Network 111 is configured to couple network devices with other computing devices…a router acts as a link between LANs, enabling messages to be sent from one to another”; Col. 7, Ln. 12-14 – “Wireless network 110 may further include an autonomous system of terminals, gateways, routers”);
receiving performance testing data from a testing system, the performance testing data describing tracked performance of test messages transmitted by the testing system over the corresponding route (Kim: Col. 25, Ln. 65 – Col. 25, Ln. 3 – “one or more performance metrics may be recorded. One or more performance metrics may be collected during live operations and a deliberate testing operations”; Col. 3, Ln. 55-64 – “The term “synthetic event message,” “synthetic notification message,” or “synthetic traffic” as used herein refer to messages that may be self-generated by the system. Synthetic messages may be used for testing the performance of one or more message providers, service providers, or the like. Performance information derived monitoring the handling of synthetic messages may contribute to the information stored in a provider profile”); and
computing the respective quality score based on the performance testing data (Kim: Col. 25, Ln. 65 – Col. 25, Ln. 3 – “one or more performance metrics may be recorded. One or more performance metrics may be collected during live operations and a deliberate testing operations”; Col. 3, Ln. 55-64 – “The term “synthetic event message,” “synthetic notification message,” or “synthetic traffic” as used herein refer to messages that may be self-generated by the system. Synthetic messages may be used for testing the performance of one or more message providers, service providers, or the like. Performance information derived monitoring the handling of synthetic messages may contribute to the information stored in a provider profile”).
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to have included the routers and testing of Kim in the system of Scott/Shirazi because Scott/Shirazi already discloses performance information and Kim is merely demonstrating how this may occur. Additionally, it would have been obvious to have included a communication delivery path through routers; and receiving performance testing data from a testing system, the performance testing data describing tracked performance of test messages transmitted by the testing system over the corresponding route as taught by Kim because routers and testing are well-known and the use of it in a message setting would have mitigated the complexity of communicating over different channels that have provided for savings and efficiency improvements (Kim: Col. 42, Ln. 23-24).
In regards to claims 18-20, all the limitations in method claims 18-20 are closely parallel to the limitations of system claims 2-4 analyzed above and rejected on the same bases.
In regards to claim 21, Scott/Shirazi/Kim teaches the system of claim 1. Scott further discloses wherein the criteria further include a channel weight and the determining of the ranking value for each of the remaining service providers is further based on the channel weight (Scott: Col. 14, Ln. 5-16 – “a weighting scheme is used in which each bid submittal is “scored” for each criterion to generate a ‘global’ score…normalizing data based on the compliant bids, at 714, to generate normalized data. The method 700 further includes calculating minimum distances in a parametric N-dimensional space, at 716 to generate minimum distances. The method 700 further includes ranking the compliant bids, at 718, to generate ranked bids”; Col. 3, Ln. 59-60 – “the one or more service parameters 114 specify one or more criteria for a network”; see also Col. 4, Ln. 13-19).
Claims 5 and 13 are rejected under 35 U.S.C. 103 as being unpatentable over Scott, in view of Shirazi, in view of Kim, in view of previously cited Orr et al. (US 20210044555 A1), hereinafter Orr.
In regards to claim 5, Scott/Shirazi/Kim teaches the system of claim 1. Yet Scott does not explicitly disclose wherein the operations further comprise: receiving, via an application programming interface, a modification of the criteria for the account.
However, Orr teaches a similar message system (Orr: [abstract]), including wherein the operations further comprise: receiving, via an application programming interface, a modification of the criteria for the account (Orr: [0032] – “a customer that intends to use the message publisher management engine 205 to launch a message campaign to distribute messages to various end users may create an account with the message management server 110. The message management server 110 stores the customer's profile, metadata, credential and associate the information with a unique customer identifier, such as publisherID. The customer (an example of a message publisher 120) may create message templates, message series templates, digital pass templates (e.g., digital boarding passes and digital coupons), specify criteria of message distribution and goals of message campaigns…and configure other settings with the message management server 110. The templates and settings are associated with the customer identifier and can be…edited, and deleted based on the message publisher's preferences and actions entered through a message management application and/or API provided by the message management server 110”).
It would have been obvious to one of ordinary skill in the art at the time the invention was filed to have included the updating of Orr in the system of Scott/Shirazi/Kim because Scott/Shirazi/Kim already discloses criteria and Orr is merely demonstrating how these may be updated. Additionally, it would have been obvious to have included wherein the operations further comprise: receiving, via an application programming interface, a modification of the criteria for the account as taught by Orr because updates are well-known and the use of it in a message setting would have provided effective communication strategy (Orr: [0003]; [0014]).
In regards to claim 13, all the limitations in method claim 13 are closely parallel to the limitations of system claims 5 analyzed above and rejected on the same bases.
Response to Arguments
Applicant’s arguments, filed 05/26/2026, have been fully considered.
35 U.S.C. § 101
Applicant argues the claims are integrated into a practical application because the claims “provid[e] a specific technical solution to a network-routing problem that arises specifically in computer networks” (Remarks pages 9-12). The examiner disagrees. The MPEP provides guidance on how to evaluate whether claims recite an improvement in the functioning of a computer or an improvement to other technology or technical field. For example, the MPEP states “the specification should be evaluated to determine if the disclosure provides sufficient details such that one of ordinary skill in the art would recognize the claimed invention as providing an improvement.” The MPEP further states that “[t]he specification need not explicitly set forth the improvement, but it must describe the invention such that the improvement would be apparent to one of ordinary skill in the art,” and that, “conversely, if the specification explicitly sets forth an improvement but in a conclusory manner…the examiner should not determine the claim improves technology” (see MPEP 2106.04). That is, the claim includes the components or steps of the invention that provide the improvement described in the specification. Looking to the specification is a standard that the courts have employed when analyzing claims as it relates to improvements in technology. For example, in Enfish, the specification provided teaching that the claimed invention achieves benefits over conventional databases, such as increased flexibility, faster search times, and smaller memory requirements. Enfish LLC v. Microsoft Corp., 822 F.3d 1327, 1335-36 (Fed. Cir. 2016). Additionally, in Core Wireless the specification noted deficiencies in prior art interfaces relating to efficient functioning of the computer. Core Wireless Licensing v. LG Elecs. Inc., 880 F.3d 1356 (Fed Cir. 2018). With respect to McRO, the claimed improvement, as confirmed by the originally filed specification, was “…allowing computers to produce ‘accurate and realistic lip synchronization and facial expressions in animated characters…’” and it was “…the incorporation of the claimed rules, not the use of the computer, that “improved [the] existing technological process” by allowing the automation of further tasks”. McRO, Inc. v. Bandai Namco Games America Inc., 837 F.3d 1299, (Fed. Cir. 2016).
While the examiner acknowledges that improvements to the functioning of a computer or to any other technology or technical field may constitute integration into a practical application (see MPEP 2106.05(a)), the instant claims do not provide a technical improvement. Rather, the claims provide an improvement to the abstract idea of selecting a service provider. With respect to Applicant’s arguments regarding the testing system, the examiner notes that the testing system is recited at a high level and is insufficient to show a technical improvement. Further, it is noted that updating scores based on real-time data is merely an improvement to the abstract idea and not a technical improvement.
Although the claims include computer technology such as a multi-channel message exchange system comprising: one or more computer processors; and one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the multi-channel message exchange system to perform operations; transmitting data; a database; a communication delivery path through a series of computers and routers; a message transmitted; messages previously transmitted; a testing system; messages transmitted by the testing system; and a non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of a multi-channel message exchange system, cause the multi-channel message exchange system to perform operations, such elements are merely peripherally incorporated in order to implement the abstract idea. Put another way, these additional elements are merely used to apply the abstract idea of selecting a service provider in a technological environment without effectuating any improvement or change to the functioning of the additional elements or other technology. This is unlike the improvements recognized by the courts in cases such as Enfish, Core Wireless, and McRO. Unlike precedential cases, neither the specification nor the claims of the instant invention identify such a specific improvement to computer capabilities. The instant claims are not directed to technological improvements but are directed to improving selection of service providers. The claimed process, while arguably resulting in a more efficient process for selecting service providers, is not providing any improvement to another technology or technical field as the claimed process is not, for example, improving the server and/or computer components that operate the system. Rather, the claimed process is utilizing data sets related to service providers while still employing the same server and/or computer components used in conventional systems to improve selection of service providers, e.g. a business method, and therefore is merely applying the abstract idea using generic computing components. As such, the claims are not integrated into a practical application.
35 U.S.C. § 103
Applicant argues the claims are allowable because the cited art fails to disclose or teach “performance testing data received from a testing system, the performance testing data describing tracked performance of test messages transmitted by the testing system over routes provided by the corresponding service provider using the corresponding channel” (Remarks pages 12-14). The examiner disagrees. The amendments have necessitated a new grounds of rejection and a new reference has been cited to teach this limitation.
Applicant argues the claims are allowable because the cited art fails to disclose or teach “computing the respective quality score based on the feedback data and the performance testing data” (Remarks pages 14-15). The examiner disagrees. Initially, it is noted that the amendments have necessitated a new grounds of rejection and a new reference has been cited to teach computing the respective quality score based on the performance testing data. Further, Shirazi teaches computing the respective quality score based on the feedback data. Shirazi teaches this in paragraph [0030], which teaches updates based on past performance data for each property on each of the communication channels. Past performance data for the past 5 minutes (or past one hour, past week, past month) may be accessed and metrics (i.e., scores) such as numbers of success and failed transmissions of rich-media messages through the particular channel in the past 5 minutes may be determined. Thus, the cited art teaches this limitation in these claims.
Applicant argues the claims are allowable because the cited art fails to disclose or teach “a quality index comprising a respective quality score for each route offered by each of a plurality of service providers that deliver messages, each route defining a communication delivery path through a series of computers and routers, each respective quality score indicating a likelihood that a message transmitted via the corresponding route will be received by an intended recipient” (Remarks page 16). The examiner disagrees. Initially, it is noted that the amendments have necessitated a new grounds of rejection and a new reference has been cited to teach a communication delivery path through routers. Further, Scott accessing a quality index comprising a respective quality score for each route offered by each of a plurality of service providers that deliver messages, each route defining a communication delivery path, each respective quality score indicating, at least in Col. 10, Ln 40-45 and Fig. 3, disclosing that upload speed or a download speed of networks associated with the service providers are “scored” and used to determine each bid rank. Where, see at least Col. 4, Ln. 13-19, the service parameters pertain to messages to be transmitted. Scott further discloses in Col. 1, Ln. 10-16 that networks are used to communicate the data. Additionally, Shirazi teaches a communication delivery path through a series of computers in at least [0037], teaching transmission of a message through servers. Shirazi additionally teaches a score indicating a likelihood that a message transmitted via the corresponding route will be received by an intended recipient in [0027], teaching a property for the message being a delivery success rate specified by the sender, where, see at least [0036], communication channels based on rules for properties of the message. Thus, the cited art teaches this limitation in the claims.
Applicant argues that the dependent claims are allowable for the same reasons as the independent claims (Remarks page 16). The examiner disagrees. The 103 rejections of the independent claims have been maintained for the reasons discussed in the 103 rejection and response to remarks paragraphs above. The rejections of the dependent claims are maintained for the same reasons.
Conclusion
Previously cited NPL Reference U, initially cites in the Office action dated 02/25/2026, teaches a system of network routing. Routes are sent by service providers. The best match route for a customer is found and selected.
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ANNA MAE MITROS whose telephone number is (571)272-3969. The examiner can normally be reached Monday-Friday from 9:30-6.
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, 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.
/ANNA MAE MITROS/Examiner, Art Unit 3689