DETAILED ACTION
This office action is a response to the application 18/967,545 filed on December 3rd, 2024.
Claim Status
This office action is based upon claims received on 12/03/2024, which replace all prior or other submitted versions of the claims.
Claims 1 – 20 are pending.
Claims 1 – 20 are rejected.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 03/27/2025 and 01/07/2026 are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Claim Objections
Claims 5, 9, 11, 12, and 17 are objected to because of the following informalities:
The phrase “congestion predication” appears in multiple places in the above mentioned claims. Based on the independent claims and other dependent claims, the word should be “congestion prediction”. Therefore, a correction of the typographical error is required for definiteness of the claims. For examination purposes the above mentioned limitation in claims 5, 9, 11, 12, and 17 will be understood as “congestion prediction” and addressed as best understood.
Appropriate correction is required.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
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.
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.
Claims 1 – 5 and 13 – 17 are rejected under 35 U.S.C. 103 as being unpatentable over Srinivasan et al. [US 20220255872 A1] hereinafter Srinivasan, and further in view of Homchaudhuri et al. [US 20220337338 A1] hereinafter Homchaudhuri, and Khanchi et al. [US 20130286837 A1] hereinafter Khanchi.
Regarding claim 1, Srinivasan teaches a destination station (STA) (Srinivasan: Fig. 1, Fig. 4, ¶ 28-30, ¶ 40-49; in view of NIC endpoint 102 which comprises receiver 104) in a wireless network (Srinivasan: Fig. 1, Fig. 4, ¶ 44-49; in view of system 100), comprising:
a memory (Srinivasan: Fig. 1, Fig. 13, ¶ 28-30, ¶ 75-77; in view of memory 112/memory 1304); and
a processor coupled to the memory (Srinivasan: Fig. 1, Fig. 13, ¶ 28-33, ¶ 75-77; in view of processor-based computer system 1300 comprising processor circuit 1302 coupled to system memory 1304 (It is important to note that computing device 180, computing device 182, and computing device 184, may each be implemented in one or more computing devices containing features similar to those of computing device 1300)), the processor configured to:
receive, from a source STA (Srinivasan: Fig. 1, Fig. 4, ¶ 28-30, ¶ 40-49; in view of NIC endpoint 122 which comprises transmitter 128), a plurality of packets (Srinivasan: Fig. 4, ¶ 28-34, ¶ 45-50; wherein packets (i.e., a plurality of packets) are received in packet traffic transmitted over a network by a transmitter (i.e., the source STA) according to a push mode such that the transmitter controls pacing of packet transmissions over the network to the receiver (i.e., the destination STA));
determine a congestion prediction to the source STA (Srinivasan: Fig. 4, ¶ 46, ¶ 58-68; wherein one or more characteristics related to the packet traffic may be monitored. For example, pull mode manager 106 may be configured to monitor the one or more characteristics related to receiving and processing packet traffic 308 to determine if network endpoint 102 is running low on resources. The characteristics may include one or more of the status of network resources (e.g., congestion, bandwidth, burst rate, etc.));
compare the congestion prediction with a first threshold (Srinivasan: Fig. 4, ¶ 47, ¶ 59-63, ¶ 70-75; wherein the reception performance parameters include programed thresholds for at least one of: one or more network congestion events, a burst rate, packet drops at the receiver, or usage of one or more resources at the receiver. For example, pull mode manager 106 may be configured to compare the monitored one or more characteristics related to packet traffic to the reception performance parameters to determine when to switch to, maintain, or end pull mode control of transmission rates of packets transmitted to receiver 104);
generate a congestion prediction signal based on the comparison, wherein the congestion prediction signal indicates an operation mode of the source STA (Srinivasan: Fig. 4, ¶ 48-49, ¶ 68-75; wherein, based on the comparison, a decision may be made to switch from the push mode to a pull mode (i.e., a congestion prediction signal may be generated based on the comparison)… The criteria used to switch from pull mode to push mode may be based on potential, impending, or detected reception impairments (i.e., the criteria used to switch is based on predictions, thus the switching criteria is a congestion prediction signal generated and transmitted to the transmitter)); and
transmit, to the source STA via the router, the congestion prediction signal (Srinivasan: Fig. 4, ¶ 48-49, ¶ 69-74; wherein, a pull mode request packet is transmitted to the transmitter, where the pull mode request packet indicates a pacing of subsequent packet transmissions by the transmitter over the network to the receiver according to the pull mode).
Srinivasan teaches that (Srinivasan: ¶ 30; wherein a network fabric 120 may comprise a platform or network topology where nodes, such as switches and endpoints, are interconnected to other nodes and are configured to communicate based on any suitable communication protocols). However, Srinivasan does not explicitly disclose that the receiving, from a source STA is via a router, the router being located between the destination STA and a source STA, and that the transmitting, to the source STA is via the router.
Referring to the invention of Homchaudhuri, Homchaudhuri teaches that a router is located between a source STA and a destination STA and there is information exchange between both STAs via the router (Homchaudhuri: Fig. 1, ¶ 43; wherein various STAs 115 (i.e., the source STA and the destination STA) in the network are able to communicate with one another through the AP 105 (i.e., the router)).
Thus, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to incorporate the use of a router in-between the communication of multiple STAs as taught by Homchaudhuri into the invention of Srinivasan in order to provide earlier detection, proactive signaling, fairer resource allocation, and better overall network performance than host-only methods. These advantages make routers a powerful enabler for advanced congestion avoidance and prediction systems.
Srinivasan in view of Homchaudhuri does not explicitly disclose determine a congestion prediction to the source STA based on packet arrival times of the plurality of packets.
Referring to the invention of Khanchi, Khanchi teaches determine a congestion prediction to the source STA based on packet arrival times of the plurality of packets (Khanchi: ¶ 8, ¶ 14, ¶ 60; wherein controlling the transmission of real time transport packets over a network, comprising: monitoring incoming packets received over the network from a transmitter; performing a statistical analysis of the received packets to determine network congestion; and sending a message to the transmitter to control a transmission parameter in accordance with the determined network congestion… Determine arrival time and size of packets upon arrival at the receiver's side).
Thus, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to incorporate the determining of congestion prediction based on packet arrival times as taught by Khanchi into the combined invention of Srinivasan and Homchaudhuri because using packet arrival times for congestion prediction is passive, accurate, protocol-agnostic, real-time, and scalable, while also enabling proactive rather than reactive network management.
Regarding claim 2, Srinivasan in view of Homchaudhuri and Khanchi teaches the destination STA of claim 1, wherein the packet arrival times are associated with delay in a buffer at the router or propagation delay between the destination STA and the source STA (Homchaudhuri: ¶ 76; wherein the channel access latency for transmit per access channel may be checked. This may be estimated per packet based on a per-queue back-off counter increase and may provide a measure of increased latency. The access latency may be evaluated only when the STA has packets in the buffer).
Regarding claim 3, Srinivasan in view of Homchaudhuri and Khanchi teaches the destination STA of claim 1, wherein the processor is further configured to, during a first time window (It is important to note that the time window when the STA is operating in single-link mode is a different time window (i.e., a first time window) than when the STA is operating in dual-link mode (see ¶ 92: “C2.sub.MLO, R2.sub.i, and C1.sub.i may be measured continuously or periodically during the MLMR operations” for periodic observation windows, indicating different time windows)):
determine that the congestion prediction is less than the first threshold (Homchaudhuri: ¶ 52; wherein the STA 115-a may operate in single-link mode when the single link meets throughput demands, the congestion on the single link is at or below a congestion threshold (i.e., the threshold for single-link mode is the first threshold)); and
generate the congestion prediction signal indicating a first operation mode that the source STA operates in a single link operation mode using a primary link or that the source STA maintains a packet transmission rate from source STA to the destination STA (Homchaudhuri: ¶ 52; wherein the STA 115-a may operate in single-link mode when the single link meets throughput demands, the congestion on the single link is at or below a congestion threshold).
Regarding claim 4, Srinivasan in view of Homchaudhuri and Khanchi teaches the destination STA of claim 3, wherein the processor is further configured to, during a second time window (It is important to note that the time window when the STA is operating in dual-link mode is a different time window (i.e., a second time window) than when the STA is operating in single-link mode (see ¶ 92: “C2.sub.MLO, R2.sub.i, and C1.sub.i may be measured continuously or periodically during the MLMR operations” for periodic observation windows, indicating different time windows)):
determine that the congestion prediction is greater than the first threshold (Homchaudhuri: Fig. 5, ¶ 53, ¶ 68, ¶ 89 – 90; wherein the STA 115-a may operate in dual-link mode (i.e., a multi-link mode) to achieve or maintain high throughput or if network congestion is too high for single-link mode (i.e., when the congestion prediction is above the threshold applied for the single link mode (i.e., the first threshold)), when the throughput on both links is not less than the throughput on either link. In some examples, the STA 115-a may use MLMR to reduce latency by having the increased band diversity that comes from using two separate links); and
generate the congestion prediction signal indicating a second operation mode that the source STA operates in a multi-link operation mode using the primary link and one or more secondary links or that the source STA decreases the packet transmission rate from the source STA to the destination STA (Homchaudhuri: Fig. 5, ¶ 53, ¶ 68, ¶ 89 – 90; wherein the STA is moving from MLSR to MLMR (i.e., wherein MLSR is multi-link single-radio and MLMR is multi-link multi-radio). At 505, the STA is operating in MLSR. At 510, the STA determines if the WLM latency is at or above a latency threshold. If so, the STA begins to probe on the dual link (e.g., the second link) at 520. If the WLM latency below the latency threshold, the STA determines whether the C2.sub.i is greater than a threshold (e.g., Probe_2Link_Threshold) (wherein the STA may check or estimate traffic and congestion levels (referred to herein as C2) for the links. In some examples, the STA may determine C2.sub.MLO, corresponding to a composite traffic and congestion estimation across both links)… At 520, the STA probes the second link. If the reliability of the second link, R2, is less than the reliability threshold at 525, the STA stays in single-link mode at 505. If not, the STA operates in dual-link mode at 530).
Regarding claim 5, Srinivasan in view of Homchaudhuri and Khanchi teaches the destination STA of claim 4, wherein the processor is further configured to, during a third time window (It is important to note that the time window when the STA is determining whether to continue to operate in dual-link mode or to revert back to single-link mode is a different time window (i.e., a third time window) than when the STA is operating in either the single-link mode, or the dual-link mode (see ¶ 92: “C2.sub.MLO, R2.sub.i, and C1.sub.i may be measured continuously or periodically during the MLMR operations” for periodic observation windows, indicating different time windows)):
determine that the congestion prediction is less than a second threshold (Homchaudhuri: Fig. 6, Fig. 8, ¶ 85 – 94, ¶ 95 – 99; wherein an example of the STA moving from MLMR to MLSR, at 610, the STA may determine whether C2.sub.MLO is below a first threshold (e.g., probe_1link_threshold). If not, the STA remains in dual-link mode. If so, the STA probes each link at 615, because the level of composite congestion is not enough to warrant use of MLO. At 620, if both links C2.sub.i is greater than the threshold (e.g., probe_2link_threshold), then the STA remains in dual-link mode. If not, both links have a low congestion score, and the STA determines whether both links' C2.sub.i are less than the first threshold (e.g., probe_1link_threshold) at 625… If both links' C2.sub.i are not less than the first threshold, then both links' R2 reliability is checked against a threshold at 630. If both links' R2 are below the threshold, the STA operates in dual-link mode. If not, the flowchart 600 proceeds to determine whether both links' R2 are above the threshold at 635. If not, the flowchart 600 proceeds to 650 and may consider that only the link i for which R2 is greater than the first threshold. If so, the STA compares the C2 of the two links to select which link to use. The STA may select the link i with the lower C2.sub.i for all links. At 650, the STA operates in single-link mode (i.e., returns to the first operation mode)... graph 800 shows two thresholds, a link 2 threshold between 80 and 90 (for C2) and a link 1 threshold between 30 and 40. Between these thresholds (hysteresis), the STA may not switch operations between MLSR and MLMR. Outside of these thresholds, the STA may switch operations), wherein the second threshold is less than the first threshold (Khanchi: ¶ 125; wherein a decision-making process compares calculated difference against upper (i.e., a first threshold) and lower (i.e., a second threshold, lower than the first) thresholds and generates a notification when either threshold is crossed. Thus, the lower threshold being lower than the upper threshold as taught by Khanchi can be applied to the first and second thresholds (Fig. 8) of Homchaudhuri); and
generate the congestion predication signal indicating that the source STA returns to operating in the first operation mode (Homchaudhuri: Fig. 6, Fig. 8, ¶ 85 – 94, ¶ 95 – 99; wherein the STA may select the link i with the lower C2.sub.i for all links. At 650, the STA operates in single-link mode (i.e., returns to the first operation mode)... graph 800 shows two thresholds, a link 2 threshold between 80 and 90 (for C2) and a link 1 threshold between 30 and 40. Between these thresholds (hysteresis), the STA may not switch operations between MLSR and MLMR. Outside of these thresholds, the STA may switch operations).
Regarding claim 13, Srinivasan teaches a computer-implemented method for wireless communication (Srinivasan: Fig. 1, Fig. 13, ¶ 28-33, ¶ 75-77; in view of processor-based computer system 1300) by a destination station (STA) (Srinivasan: Fig. 1, Fig. 4, ¶ 28-30, ¶ 40-49; in view of NIC endpoint 102 which comprises receiver 104) in a wireless network (Srinivasan: Fig. 1, Fig. 4, ¶ 44-49; in view of system 100), comprising:
receiving, from a source STA (Srinivasan: Fig. 1, Fig. 4, ¶ 28-30, ¶ 40-49; in view of NIC endpoint 122 which comprises transmitter 128), a plurality of packets (Srinivasan: Fig. 4, ¶ 28-34, ¶ 45-50; wherein packets (i.e., a plurality of packets) are received in packet traffic transmitted over a network by a transmitter (i.e., the source STA) according to a push mode such that the transmitter controls pacing of packet transmissions over the network to the receiver (i.e., the destination STA));
determining a congestion prediction to the source STA (Srinivasan: Fig. 4, ¶ 46, ¶ 58-68; wherein one or more characteristics related to the packet traffic may be monitored. For example, pull mode manager 106 may be configured to monitor the one or more characteristics related to receiving and processing packet traffic 308 to determine if network endpoint 102 is running low on resources. The characteristics may include one or more of the status of network resources (e.g., congestion, bandwidth, burst rate, etc.));
comparing the congestion prediction with a first threshold (Srinivasan: Fig. 4, ¶ 47, ¶ 59-63, ¶ 70-75; wherein the reception performance parameters include programed thresholds for at least one of: one or more network congestion events, a burst rate, packet drops at the receiver, or usage of one or more resources at the receiver. For example, pull mode manager 106 may be configured to compare the monitored one or more characteristics related to packet traffic to the reception performance parameters to determine when to switch to, maintain, or end pull mode control of transmission rates of packets transmitted to receiver 104);
generating a congestion prediction signal based on the comparison, wherein the congestion prediction signal indicates an operation mode of the source STA (Srinivasan: Fig. 4, ¶ 48-49, ¶ 68-75; wherein, based on the comparison, a decision may be made to switch from the push mode to a pull mode (i.e., a congestion prediction signal may be generated based on the comparison)… The criteria used to switch from pull mode to push mode may be based on potential, impending, or detected reception impairments (i.e., the criteria used to switch is based on predictions, thus the switching criteria is a congestion prediction signal generated and transmitted to the transmitter)); and
transmitting, to the source STA, the congestion prediction signal (Srinivasan: Fig. 4, ¶ 48-49, ¶ 69-74; wherein, a pull mode request packet is transmitted to the transmitter, where the pull mode request packet indicates a pacing of subsequent packet transmissions by the transmitter over the network to the receiver according to the pull mode).
Srinivasan teaches that (Srinivasan: ¶ 30; wherein a network fabric 120 may comprise a platform or network topology where nodes, such as switches and endpoints, are interconnected to other nodes and are configured to communicate based on any suitable communication protocols). However, Srinivasan does not explicitly disclose that the receiving, from a source STA is via a router, the router being located between the destination STA and a source STA, and that the transmitting, to the source STA is via the router.
Referring to the invention of Homchaudhuri, Homchaudhuri teaches that a router is located between a source STA and a destination STA and there is information exchange between both STAs via the router (Homchaudhuri: Fig. 1, ¶ 43; wherein various STAs 115 (i.e., the source STA and the destination STA) in the network are able to communicate with one another through the AP 105 (i.e., the router)).
Thus, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to incorporate the use of a router in-between the communication of multiple STAs as taught by Homchaudhuri into the invention of Srinivasan in order to provide earlier detection, proactive signaling, fairer resource allocation, and better overall network performance than host-only methods. These advantages make routers a powerful enabler for advanced congestion avoidance and prediction systems.
Srinivasan in view of Homchaudhuri does not explicitly disclose determine a congestion prediction to the source STA based on packet arrival times of the plurality of packets.
Referring to the invention of Khanchi, Khanchi teaches determine a congestion prediction to the source STA based on packet arrival times of the plurality of packets (Khanchi: ¶ 8, ¶ 14, ¶ 60; wherein controlling the transmission of real time transport packets over a network, comprising: monitoring incoming packets received over the network from a transmitter; performing a statistical analysis of the received packets to determine network congestion; and sending a message to the transmitter to control a transmission parameter in accordance with the determined network congestion… Determine arrival time and size of packets upon arrival at the receiver's side).
Thus, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to incorporate the determining of congestion prediction based on packet arrival times as taught by Khanchi into the combined invention of Srinivasan and Homchaudhuri because using packet arrival times for congestion prediction is passive, accurate, protocol-agnostic, real-time, and scalable, while also enabling proactive rather than reactive network management.
Regarding claim 14, Srinivasan in view of Homchaudhuri and Khanchi teaches the computer implemented method of claim 13, wherein the packet arrival times are associated with delay in a buffer at the router or propagation delay between the destination STA and the source STA (Homchaudhuri: ¶ 76; wherein the channel access latency for transmit per access channel may be checked. This may be estimated per packet based on a per-queue back-off counter increase and may provide a measure of increased latency. The access latency may be evaluated only when the STA has packets in the buffer).
Regarding claim 15, Srinivasan in view of Homchaudhuri and Khanchi teaches the computer implemented method of claim 13, further comprising, during a first time window (It is important to note that the time window when the STA is operating in single-link mode is a different time window (i.e., a first time window) than when the STA is operating in dual-link mode (see ¶ 92: “C2.sub.MLO, R2.sub.i, and C1.sub.i may be measured continuously or periodically during the MLMR operations” for periodic observation windows, indicating different time windows)):
determining that the congestion prediction is less than the first threshold (Homchaudhuri: ¶ 52; wherein the STA 115-a may operate in single-link mode when the single link meets throughput demands, the congestion on the single link is at or below a congestion threshold (i.e., the threshold for single-link mode is the first threshold)); and
generating the congestion prediction signal indicating a first operation mode that the source STA operates in a single link operation mode using a primary link or that the source STA maintains a packet transmission rate from source STA to the destination STA (Homchaudhuri: ¶ 52; wherein the STA 115-a may operate in single-link mode when the single link meets throughput demands, the congestion on the single link is at or below a congestion threshold).
Regarding claim 16, Srinivasan in view of Homchaudhuri and Khanchi teaches the computer implemented method of claim 15, further comprising, during a second time window (It is important to note that the time window when the STA is operating in dual-link mode is a different time window (i.e., a second time window) than when the STA is operating in single-link mode (see ¶ 92: “C2.sub.MLO, R2.sub.i, and C1.sub.i may be measured continuously or periodically during the MLMR operations” for periodic observation windows, indicating different time windows)):
determining that the congestion prediction is greater than the first threshold (Homchaudhuri: Fig. 5, ¶ 53, ¶ 68, ¶ 89 – 90; wherein the STA 115-a may operate in dual-link mode (i.e., a multi-link mode) to achieve or maintain high throughput or if network congestion is too high for single-link mode (i.e., when the congestion prediction is above the threshold applied for the single link mode (i.e., the first threshold)), when the throughput on both links is not less than the throughput on either link. In some examples, the STA 115-a may use MLMR to reduce latency by having the increased band diversity that comes from using two separate links); and
generating the congestion prediction signal indicating a second operation mode that the source STA operates in a multi-link operation mode using the primary link and one or more secondary links or that the source STA decreases the packet transmission rate from the source STA to the destination STA (Homchaudhuri: Fig. 5, ¶ 53, ¶ 68, ¶ 89 – 90; wherein the STA is moving from MLSR to MLMR (i.e., wherein MLSR is multi-link single-radio and MLMR is multi-link multi-radio). At 505, the STA is operating in MLSR. At 510, the STA determines if the WLM latency is at or above a latency threshold. If so, the STA begins to probe on the dual link (e.g., the second link) at 520. If the WLM latency below the latency threshold, the STA determines whether the C2.sub.i is greater than a threshold (e.g., Probe_2Link_Threshold) (wherein the STA may check or estimate traffic and congestion levels (referred to herein as C2) for the links. In some examples, the STA may determine C2.sub.MLO, corresponding to a composite traffic and congestion estimation across both links)… At 520, the STA probes the second link. If the reliability of the second link, R2, is less than the reliability threshold at 525, the STA stays in single-link mode at 505. If not, the STA operates in dual-link mode at 530).
Regarding claim 17, Srinivasan in view of Homchaudhuri and Khanchi teaches the computer implemented method of claim 16, further comprising, during a third time window (It is important to note that the time window when the STA is determining whether to continue to operate in dual-link mode or to revert back to single-link mode is a different time window (i.e., a third time window) than when the STA is operating in either the single-link mode, or the dual-link mode (see ¶ 92: “C2.sub.MLO, R2.sub.i, and C1.sub.i may be measured continuously or periodically during the MLMR operations” for periodic observation windows, indicating different time windows)):
determining that the congestion prediction is less than a second threshold (Homchaudhuri: Fig. 6, Fig. 8, ¶ 85 – 94, ¶ 95 – 99; wherein an example of the STA moving from MLMR to MLSR, at 610, the STA may determine whether C2.sub.MLO is below a first threshold (e.g., probe_1link_threshold). If not, the STA remains in dual-link mode. If so, the STA probes each link at 615, because the level of composite congestion is not enough to warrant use of MLO. At 620, if both links C2.sub.i is greater than the threshold (e.g., probe_2link_threshold), then the STA remains in dual-link mode. If not, both links have a low congestion score, and the STA determines whether both links' C2.sub.i are less than the first threshold (e.g., probe_1link_threshold) at 625… If both links' C2.sub.i are not less than the first threshold, then both links' R2 reliability is checked against a threshold at 630. If both links' R2 are below the threshold, the STA operates in dual-link mode. If not, the flowchart 600 proceeds to determine whether both links' R2 are above the threshold at 635. If not, the flowchart 600 proceeds to 650 and may consider that only the link i for which R2 is greater than the first threshold. If so, the STA compares the C2 of the two links to select which link to use. The STA may select the link i with the lower C2.sub.i for all links. At 650, the STA operates in single-link mode (i.e., returns to the first operation mode)... graph 800 shows two thresholds, a link 2 threshold between 80 and 90 (for C2) and a link 1 threshold between 30 and 40. Between these thresholds (hysteresis), the STA may not switch operations between MLSR and MLMR. Outside of these thresholds, the STA may switch operations), wherein the second threshold is less than the first threshold (Khanchi: ¶ 125; wherein a decision-making process compares calculated difference against upper (i.e., a first threshold) and lower (i.e., a second threshold, lower than the first) thresholds and generates a notification when either threshold is crossed. Thus, the lower threshold being lower than the upper threshold as taught by Khanchi can be applied to the first and second thresholds (Fig. 8) of Homchaudhuri); and
generating the congestion predication signal indicating that the source STA returns to operating in the first operation mode (Homchaudhuri: Fig. 6, Fig. 8, ¶ 85 – 94, ¶ 95 – 99; wherein the STA may select the link i with the lower C2.sub.i for all links. At 650, the STA operates in single-link mode (i.e., returns to the first operation mode)... graph 800 shows two thresholds, a link 2 threshold between 80 and 90 (for C2) and a link 1 threshold between 30 and 40. Between these thresholds (hysteresis), the STA may not switch operations between MLSR and MLMR. Outside of these thresholds, the STA may switch operations).
Claims 9 – 12 are rejected under 35 U.S.C. 103 as being unpatentable over Srinivasan et al. [US 20220255872 A1] hereinafter Srinivasan, and further in view of Homchaudhuri et al. [US 20220337338 A1] hereinafter Homchaudhuri.
Regarding claim 9, Srinivasan teaches a source station (STA) (Srinivasan: Fig. 1, Fig. 4, ¶ 28-30, ¶ 40-49; in view of NIC endpoint 122 which comprises transmitter 128) in a wireless network (Srinivasan: Fig. 1, Fig. 4, ¶ 44-49; in view of system 100), comprising:
a memory (Srinivasan: Fig. 1, Fig. 13, ¶ 28-30, ¶ 75-77; in view of memory 132/memory 1304); and
a processor coupled to the memory (Srinivasan: Fig. 1, Fig. 13, ¶ 28-33, ¶ 75-77; in view of processor-based computer system 1300 comprising processor circuit 1302 coupled to system memory 1304 (It is important to note that computing device 180, computing device 182, and computing device 184, may each be implemented in one or more computing devices containing features similar to those of computing device 1300)), the processor configured to:
receive, from a destination STA (Srinivasan: Fig. 1, Fig. 4, ¶ 28-30, ¶ 40-49; in view of NIC endpoint 102 which comprises receiver 104), a congestion predication signal that indicates an operation mode for the source STA (Srinivasan: Fig. 4, ¶ 48-49, ¶ 68-75; wherein the criteria used to switch from pull mode to push mode may be based on potential, impending, or detected reception impairments (i.e., the criteria used to switch is based on predictions, thus the switching criteria is a congestion prediction signal generated and transmitted to the transmitter)… wherein, a pull mode request packet is transmitted to the transmitter, where the pull mode request packet indicates a pacing of subsequent packet transmissions by the transmitter over the network to the receiver according to the pull mode); and
transmit packets to the destination STA based on the operation mode indicated by the congestion predication signal (Srinivasan: Fig. 4, ¶ 48-49, ¶ 65-75; wherein transmissions manager 318 may be configured to control transmitter 108 to transmit pull mode request packet 320 to transmitter 128 via network fabric 120, and receiver 124. Pull mode request packet 320 may include control information such as a pacing (e.g., a bit rate, packet count, packet sequence number range, etc.) of subsequent packet transmissions 340 by transmitter 128 over network fabric 120 to receiver 104 according to the pull mode… wherein, a pull mode request packet is transmitted to the transmitter, where the pull mode request packet indicates a pacing of subsequent packet transmissions by the transmitter over the network to the receiver according to the pull mode. Therefore, the transmitter 128 will transmit subsequent packet transmissions according to the pull mode (i.e., based on the operation mode indicated by the congestion prediction signal)).
Srinivasan teaches that (Srinivasan: ¶ 30; wherein a network fabric 120 may comprise a platform or network topology where nodes, such as switches and endpoints, are interconnected to other nodes and are configured to communicate based on any suitable communication protocols). However, Srinivasan does not explicitly disclose that the receiving, from a destination STA is via a router, and that the router being located between the destination STA and a source STA.
Referring to the invention of Homchaudhuri, Homchaudhuri teaches that a router is located between a source STA and a destination STA and there is information exchange between both STAs via the router (Homchaudhuri: Fig. 1, ¶ 43; wherein various STAs 115 (i.e., the source STA and the destination STA) in the network are able to communicate with one another through the AP 105 (i.e., the router)).
Thus, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to incorporate the use of a router in-between the communication of multiple STAs as taught by Homchaudhuri into the invention of Srinivasan in order to provide earlier detection, proactive signaling, fairer resource allocation, and better overall network performance than host-only methods. These advantages make routers a powerful enabler for advanced congestion avoidance and prediction systems.
Regarding claim 10, Srinivasan in view of Homchaudhuri teaches the source STA of claim 9, wherein the processor is further configured to, during a first time window (It is important to note that the time window when the STA is operating in single-link mode is a different time window (i.e., a first time window) than when the STA is operating in dual-link mode (see ¶ 92: “C2.sub.MLO, R2.sub.i, and C1.sub.i may be measured continuously or periodically during the MLMR operations” for periodic observation windows, indicating different time windows)):
operate in a first operation mode such that the source STA operates in a single link operation mode using a primary link or that the source STA maintains a packet transmission rate from source STA to the destination STA based on the congestion prediction signal indicating the first operation mode (Homchaudhuri: ¶ 52; wherein the STA 115-a may operate in single-link mode when the single link meets throughput demands, the congestion on the single link is at or below a congestion threshold).
Regarding claim 11, Srinivasan in view of Homchaudhuri teaches the source STA of claim 10, wherein the processor is further configured to, during a second time window (It is important to note that the time window when the STA is operating in dual-link mode is a different time window (i.e., a second time window) than when the STA is operating in single-link mode (see ¶ 92: “C2.sub.MLO, R2.sub.i, and C1.sub.i may be measured continuously or periodically during the MLMR operations” for periodic observation windows, indicating different time windows)):
operate in a second operation mode such that source STA operates in a multi-link operation mode using the primary link and one or more secondary links or that the source STA decreases the packet transmission rate from the source STA to the destination STA based on the congestion predication signal indicating the second operation mode (Homchaudhuri: Fig. 5, ¶ 53, ¶ 68, ¶ 89 – 90; wherein the STA is moving from MLSR to MLMR (i.e., wherein MLSR is multi-link single-radio and MLMR is multi-link multi-radio). At 505, the STA is operating in MLSR. At 510, the STA determines if the WLM latency is at or above a latency threshold. If so, the STA begins to probe on the dual link (e.g., the second link) at 520. If the WLM latency below the latency threshold, the STA determines whether the C2.sub.i is greater than a threshold (e.g., Probe_2Link_Threshold) (wherein the STA may check or estimate traffic and congestion levels (referred to herein as C2) for the links. In some examples, the STA may determine C2.sub.MLO, corresponding to a composite traffic and congestion estimation across both links)… At 520, the STA probes the second link. If the reliability of the second link, R2, is less than the reliability threshold at 525, the STA stays in single-link mode at 505. If not, the STA operates in dual-link mode at 530).
Regarding claim 12, Srinivasan in view of Homchaudhuri teaches the source STA of claim 11, wherein the processor is further configured to, during a third time window (It is important to note that the time window when the STA is determining whether to continue to operate in dual-link mode or to revert back to single-link mode is a different time window (i.e., a third time window) than when the STA is operating in either the single-link mode, or the dual-link mode (see ¶ 92: “C2.sub.MLO, R2.sub.i, and C1.sub.i may be measured continuously or periodically during the MLMR operations” for periodic observation windows, indicating different time windows)):
return to operating in the first operation mode based on the congestion predication signal indicating the first operation mode (Homchaudhuri: Fig. 6, Fig. 8, ¶ 85 – 94, ¶ 95 – 99; wherein the STA may select the link i with the lower C2.sub.i for all links. At 650, the STA operates in single-link mode (i.e., returns to the first operation mode)... graph 800 shows two thresholds, a link 2 threshold between 80 and 90 (for C2) and a link 1 threshold between 30 and 40. Between these thresholds (hysteresis), the STA may not switch operations between MLSR and MLMR. Outside of these thresholds, the STA may switch operations).
Claims 6 – 7 and 18 – 19 are rejected under 35 U.S.C. 103 as being unpatentable over Srinivasan et al., Homchaudhuri et al., and Khanchi et al., as applied to claims 1 and 13 above, and further in view of Repin et al. [RU 2713759 C1] (the machine translation is provided and cited herein) hereinafter Repin.
Regarding claim 6, Srinivasan in view of Homchaudhuri and Khanchi teaches the destination STA of claim 1, wherein the processor is further configured.
Srinivasan in view of Homchaudhuri and Khanchi do not explicitly disclose to estimate a set of autoregressive coefficients that models congestion from the packet arrival packet times.
Referring to the invention of Repin, Repin teaches a known method of analyzing network traffic (Repin: machine translated pdf citation: ¶ 0014; wherein There is also known a method of analyzing network traffic… comparing the parameters of the predicted and real traffic according to the Pearson criterion. For this, the procedure for calculating the mathematical expectation of the arrival time of traffic units, the procedure for calculating the autocorrelation function and autoregression coefficients, and the procedure for predicting the arrival time of the next traffic unit are used).
Thus, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to incorporate the AR coefficients teachings of Repin into the combined teachings of Srinivasan, Homchaudhuri, and Khanchi, because they capture temporal patterns, enable accurate short-term forecasts, are interpretable, adaptable to changing traffic, computationally efficient, and directly usable in congestion control strategies.
Regarding claim 7, Srinivasan in view of Homchaudhuri, Khanchi, and Repin teaches the destination STA of claim 6, wherein the processor is further configured to perform training on samples within a training interval to estimate the set of autoregressive coefficients (Repin: machine translated pdf citation: ¶ 0083-0090; wherein, to track the results of work in the control tool software, it is advisable to provide for the transfer of the results of current calculations (values of time samples, traffic intensity, Hurst indicator, etc.). To ensure operation, control means are set and entered into software, time sampling interval, scaling factor value, e.t.c. (i.e., time sampling intervals are examples of samples provided for training, since there is a control means that is set up and entered into the software)).
Regarding claim 18, Srinivasan in view of Homchaudhuri and Khanchi teaches the computer implemented method of claim 13, further comprising.
Srinivasan in view of Homchaudhuri and Khanchi do not explicitly disclose estimating a set of autoregressive coefficients that models congestion from the packet arrival packet times.
Referring to the invention of Repin, Repin teaches a known method of analyzing network traffic (Repin: machine translated pdf citation: ¶ 0014; wherein There is also known a method of analyzing network traffic… comparing the parameters of the predicted and real traffic according to the Pearson criterion. For this, the procedure for calculating the mathematical expectation of the arrival time of traffic units, the procedure for calculating the autocorrelation function and autoregression coefficients, and the procedure for predicting the arrival time of the next traffic unit are used).
Thus, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to incorporate the AR coefficients teachings of Repin into the combined teachings of Srinivasan, Homchaudhuri, and Khanchi, because they capture temporal patterns, enable accurate short-term forecasts, are interpretable, adaptable to changing traffic, computationally efficient, and directly usable in congestion control strategies.
Regarding claim 19, Srinivasan in view of Homchaudhuri, Khanchi, and Repin teaches the computer implemented method of claim 18, further comprising performing training on samples within a training interval to estimate the set of autoregressive coefficients (Repin: machine translated pdf citation: ¶ 0083-0090; wherein, to track the results of work in the control tool software, it is advisable to provide for the transfer of the results of current calculations (values of time samples, traffic intensity, Hurst indicator, etc.). To ensure operation, control means are set and entered into software, time sampling interval, scaling factor value, e.t.c. (i.e., time sampling intervals are examples of samples provided for training, since there is a control means that is set up and entered into the software)).
Claims 8 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Srinivasan et al., Homchaudhuri et al., and Khanchi et al., as applied to claims 1 and 13 above, and further in view of Sindhu et al. [US 20100322075 A1] hereinafter Sindhu.
Regarding claim 8, Srinivasan in view of Homchaudhuri and Khanchi teaches the destination STA of claim 1, wherein the processor is further configured:
receive, from the router, a congestion notification signal indicating congestion at the router (Srinivasan: ¶ 25; wherein the receiver may communicate congestion events back to the transmitter in the form of a congestion notification packet (CNP)... the criteria for changing to pull mode may include.. receiving an explicit congestion notification (ECN) marking from switch fabric 120. Therefore, when the router as taught by Homchaudhuri is incorporated into the invention of Srinivasan, the receiver will receive the CNP or ECN from the router); and
perform an operation based on the received congestion notification signal and the congestion prediction signal to generate the congestion prediction signal (Srinivasan: ¶ 25; wherein the receiver may communicate congestion events back to the transmitter in the form of a congestion notification packet (CNP)... the criteria for changing to pull mode may include.. receiving an explicit congestion notification (ECN) marking from switch fabric 120. Therefore, changing to one mode or the other (i.e., performing an operation) is based on the received congestion notification signal).
Srinivasan in view of Homchaudhuri and Khanchi do not explicitly disclose that the operation is a logical operation.
Referring to the invention of Sindhu, Sindhu teaches using logical AND/OR combination in congestion alleviation mechanisms (Sindhu: Fig. 9, ¶ 10, ¶ 15, ¶ 66 – 68; wherein the principles of the invention address needs by providing congestion alleviation mechanisms that selectively use and/or combine explicit congestion notification (ECN) and packet dropping techniques. These mechanisms use one or more programmable thresholds that determine whether to use ECN or packet dropping techniques. By choosing the appropriate threshold(s), attacks on the network may be avoided … FIG. 9 is an exemplary diagram of a portion of ECN/drop logic 820 according to an implementation consistent with the principles of the invention. ECN/drop logic 820 includes random number generator 910, comparator 920, AND gates 930-960, and OR gate 970… AND gate 930 may perform a logical AND operation on an output of comparator 810 and the ECT bit (i.e., an ECN capable bit)).
Thus, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to incorporate the logical operations teachings of Sindhu into the combined teachings of Srinivasan, Homchaudhuri, and Khanchi, in order to effectively control congestion during data transfer.
Regarding claim 20, Srinivasan in view of Homchaudhuri and Khanchi teaches the computer implemented method of claim 13, further comprising:
receiving, from the router, a congestion notification signal indicating congestion at the router (Srinivasan: ¶ 25; wherein the receiver may communicate congestion events back to the transmitter in the form of a congestion notification packet (CNP)... the criteria for changing to pull mode may include.. receiving an explicit congestion notification (ECN) marking from switch fabric 120. Therefore, when the router as taught by Homchaudhuri is incorporated into the invention of Srinivasan, the receiver will receive the CNP or ECN from the router); and
performing an operation based on the received congestion notification signal and the congestion prediction signal to generate the congestion prediction signal (Srinivasan: ¶ 25; wherein the receiver may communicate congestion events back to the transmitter in the form of a congestion notification packet (CNP)... the criteria for changing to pull mode may include.. receiving an explicit congestion notification (ECN) marking from switch fabric 120. Therefore, changing to one mode or the other (i.e., performing an operation) is based on the received congestion notification signal).
Srinivasan in view of Homchaudhuri and Khanchi do not explicitly disclose that the operation is a logical operation.
Referring to the invention of Sindhu, Sindhu teaches using logical AND/OR combination in congestion alleviation mechanisms (Sindhu: Fig. 9, ¶ 10, ¶ 15, ¶ 66 – 68; wherein the principles of the invention address needs by providing congestion alleviation mechanisms that selectively use and/or combine explicit congestion notification (ECN) and packet dropping techniques. These mechanisms use one or more programmable thresholds that determine whether to use ECN or packet dropping techniques. By choosing the appropriate threshold(s), attacks on the network may be avoided … FIG. 9 is an exemplary diagram of a portion of ECN/drop logic 820 according to an implementation consistent with the principles of the invention. ECN/drop logic 820 includes random number generator 910, comparator 920, AND gates 930-960, and OR gate 970… AND gate 930 may perform a logical AND operation on an output of comparator 810 and the ECT bit (i.e., an ECN capable bit)).
Thus, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to incorporate the logical operations teachings of Sindhu into the combined teachings of Srinivasan, Homchaudhuri, and Khanchi, in order to effectively control congestion during data transfer.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Ner et al. [US 10652930 B2]: Dynamic Congestion Control Algorithm Selection in a Proxy Device.
Miklos et al. [US 10476804 B2]: Congestion Level Configuration for Radio Access Network Congestion Handling.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to HIDAYAT DABIRI whose telephone number is (703)756-4541. The examiner can normally be reached M-F 8:00 am - 4:00 pm.
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, Edan Orgad can be reached on 571-272-7884. 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.
/HD/Examiner, Art Unit 2414
/EDAN ORGAD/Supervisory Patent Examiner, Art Unit 2414