Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Amendment
This communication is in response to the claims filed on 05/19/2025.
Claims 1-20 are pending.
Claims 1 and 13 have been amended.
Response to Arguments
REJECTION of the claims under 35 U. S.C. 102 and 103
Applicant Arguments
Applicant argues that claim 1 and claim 13, as amended, recites” determining (i) that state data associated with a subset of packet flows in the plurality of packet flows indicate that subset of packet flows have run to completion for which connections have been terminated”.
Applicant argues that Steward fails to expressly teach wherein determining (i) that state data associated with a subset of packet flows in the plurality of packet flows have run to completion. To cure this defect, the office action cites Kadosh, relying on the broad interpretation of Kadosh that “performing all necessary processing” is read as packeted flows having run to completion. To differentiate from this broad claim interpretation, claims 1 and 13 are amended to recite specific connection termination as a part of run to completion.
Examiner’s Response
The applicant’s arguments/remarks filed on 05/19/2025 regarding claims 1-20 have been fully considered but are moot in view of the new ground(s) of rejection. The above limitations are taught by previous arts and newly cited art, Karczmarek et al. (hereinafter referred to as Karczmarek) (U.S. Pub. No. 2022/0210086 A1).
Karczmarek teaches managing network state for high flow availability within distributed network platform. Techniques described herein maintain network state information of network traffic across host machines processing network traffic.
As to amended claim 1 and claim 13, Karczmarek teaches wherein determining (i) that state data associated with a subset of packet flows in the plurality of packet flows indicate that subset of packet flows have run to completion for which connections have been terminated (See ¶[0138], “ the different states associated with the corresponding packet flow may be listen, closed, established, and others. Accordingly, upon receiving the packet, if the current state for the particular packet flow is cached within the local cache of the host machine, the host machine may process the packet to the be forwarded to its destination”, read as determining if the state data associated with packet flow indicate that packet flow has run for completion (established), closed (have been terminated)”) and (ii) that a particular packet flow in the plurality of packet flows should receive more bandwidth (See ¶[0111], “If one of the physical links in the LAG goes down, traffic is dynamically and transparently reassigned to one of the other physical links in the LAG. The aggregated physical links deliver higher bandwidth than each individual link”; ¶[0203], “if one or more host machines fails, the distributed environment 1150 is still available but oversubscribed in terms of bandwidth”, read as receive more bandwidth).
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 of this title, 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.
Claims 1-20 are rejected under 35 U.S.C. 103 as being unpatenable over Stewart (U. S. Pub. No. 2014/0226475 A1), in view of Karczmarek et al. (hereinafter referred to as karczmarek) (U. S. Pub. No. 2022/0210086 A1).
As to claim 1, Stewart teaches a method for performing congestion control for a plurality of packet flows traversing a network that comprises a plurality of machines executing on one or more host computers (i.e., “methods and apparatus to control congestion controlled flows are described…One or more packets associated with the flow are selectively dropped based on at least one of the used bandwidth and the AC (Access Control) policy”, see ¶[0007]; and “All the routers in the network are interconnected to send packets from one host to another. Typically, a host can be a client or a server depending on what role it is serving”, see ¶[0026]), the method comprising:
at a distributed bandwidth utilization manager (DBLM) that manages bandwidth utilization in the network (i.e., “A flow in a flow set having an access control policy assigned is monitored. A bandwidth used by the flow is determined. One or more packets associated with the flow are selectively dropped based on at least one of the used bandwidth and the AC policy”, read as distributed bandwidth utilization being managed, see ¶[0007]; and “a total bandwidth for the flow set is determined based on the AC policy. A number of flows in the flow set are determined. A bandwidth limit for the flow is determined based on the total bandwidth and the number of flows. The used bandwidth is compared with the bandwidth limit”, read as distributed bandwidth utilization being managed, see ¶[0008]);
receiving state data associated with the plurality of packet flows from the plurality of machines (Fig. 5, “Receive a flow” and “the flow is determined as being in a penalty box”, read as receiving state data associated with the flow, see ¶ [0009]);
based on said determining, directing a source machine of the particular packet flow to increase an amount bandwidth allocated to the particular packet flow (i.e., “As shown in Field 303, a priority rank is assigned to each flow. For example, flow A is assigned a priority rank N higher than a priority rank 1 of flow N…Flow A can get a bandwidth according to the AC policy, and Flow N can be blocked (without bandwidth)”, read different packet flows have been assigned different bandwidths due to different priority, a particular packet flow A in the plurality of packet flows should receive more bandwidth than Flow N, see ¶[0049]).
Although Stewart teaches the substantial features of the claimed invention, Stewart fails to expressly teach wherein determining (i) that state data associated with a subset of packet flows in the plurality of packet flows indicate the subset of packet flows have run to completion for which connections have been terminated and (ii) that a particular packet flow in the plurality of packet flows should receive more bandwidth
In analogous teaching, Karczmarek teaches wherein determining (i) that state data associated with a subset of packet flows in the plurality of packet flows indicate that subset of packet flows have run to completion for which connections have been terminated (See ¶[0138], “ the different states associated with the corresponding packet flow may be listen, closed, established, and others. Accordingly, upon receiving the packet, if the current state for the particular packet flow is cached within the local cache of the host machine, the host machine may process the packet to the be forwarded to its destination”, read as determining if the state data associated with packet flow indicate that packet flow has run for completion (established), closed (have been terminated)”) and (ii) that a particular packet flow in the plurality of packet flows should receive more bandwidth (See ¶[0111], “If one of the physical links in the LAG goes down, traffic is dynamically and transparently reassigned to one of the other physical links in the LAG. The aggregated physical links deliver higher bandwidth than each individual link”; ¶[0203], “if one or more host machines fails, the distributed environment 1150 is still available but oversubscribed in terms of bandwidth”, read as receive more bandwidth).
Karczmarek teaches managing network state for high flow availability within distributed network platform. Stewart teaches controlling congestion of controlled packet flows.
Thus, given the teaching of Karczmarek, it 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 to combine the teaching of Karczmarek into the teachings of Stewart for a method and system of controlling congestion of packet flows. One of the ordinary skills in the art would have been motivated because it would have been advantageous to modify teachings of Stewart with the teachings of Karczmarek, by for example modifying the system or method of Stewart (i.e., “determining a packet flow for a placet received by the processor; caching first state information for the packet flow; suspending processing of the packet; identifying a replication chain for the packet flow”, see ¶[0008]). The obvious motivation for doing so would have been to maintain network state information of network packet traffic.
As to claim 2, Stewart and Karczmarek teach the method of claim 1. Stewart further teaches wherein receiving state data associated with the plurality of packet flows comprises periodically receiving state data associated with the plurality of packet flows that indicates a state of each packet flow in the plurality of packet flows (Fig. 5, “Receive a flow” and, “a number of flows in the flow set are determined. A bandwidth limit for the flow is determined based on the total bandwidth and the number of flows”, read as a plurality of packet flows, see ¶[0008]; and “the flow is determined as being in a penalty box. At least one of a number of packets in the penalty box, time the packets are in the penalty box, and arrival rate of the packets in the penalty box”, read as receiving periodically state data associated with the flow, see ¶ [0009]);
As to claim 3, Stewart and Karczmarek teach the method of claim 2. Stewart further teaches wherein the state data further comprises a set of contextual data associated with the packet flow (i.e., “FIG. 3 shows an exemplary data structure stored in a memory containing information about flows received by a network device according to one embodiment of the invention’, see ¶[0017]); and “it is determined whether the flow is marked as being in a penalty box. If the flow is not in the penalty box, all packets associated with the flow are transmitted at block 508, If the flow is marked as being in the penalty box, at block 503 a packet is dropped and discarded from the flow while other packets in the flow are being transmitted”, mark is regarded as contextual data associated with the packet flow, see ¶[0055]).
As to claim 4, Stewart and Karczmarek teach the method of claim 3. Stewart further teaches wherein each set of contextual data comprises a t least (i) a flow type of the associated packet flow, and (ii) a current bandwidth utilization computed for the associated packet flow (i.e., “flow a is assigned a priority rank N higher than a priority rank 1 of flow N…Flow A can get a bandwidth according to the AC policy, and Flow N can be blocked …that is , when there’s only a limited bandwidth is available and the AC policy says that one flow has higher priority than other flow, the flow having higher priority gets its bandwidth first and the rest of the bandwidth goes over to the other flow.” read as flow type defined by priority and bandwidth utilization for the associated packet flow, see ¶[0049]).
As to claim 5, Stewart and Karczmarek teach the method of claim 4. Stewart further teaches wherein: the particular packet flow comprises two or more packet flow phases; each packet flow phase of the two or more packet flows phases is associated with a different priority level (i.e., “a pointer is created to indicate at least one of a path, an AC policy, a priority rank assigned to a flow, and an amount of bytes and packets sent by the flow, a number of times the flow is to be routed, various time statistics as to when the flow was put in a penalty box, if the flow is in the box, a number of times the flow has been to the penalty box and a large numbers of statistics, for example, regarding the data that the network device has seen from the flow”, a number of times the flow is read as two or more phases for packet flow, see ¶[0047]).
As to claim 6, Stewart and Karczmarek teach the method of claim 5. Stewart further teaches wherein determining the particular packet flow should receive more bandwidth comprises determining (i) that the current phase of the particular packet flow is associated with a high priority level, and (ii) that based on the high priority level, the particular packet flow should receive more bandwidth (i.e., “a pointer is created to indicate at least one of a path, an AC policy, a priority rank assigned to a flow, and an amount of bytes and packets sent by the flow, a number of times the flow is to be routed, various time statistics as to when the flow was put in a penalty box, if the flow is in the box, a number of times the flow has been to the penalty box and a large numbers of statistics, for example, regarding the data that the network device has seen from the flow”, a number of times the flow is read as two or more phases for packet flow, see ¶[0047]; and “As shown in Field 303, a priority rank is assigned to each flow. For example, flow A is assigned a priority rank N higher than a priority rank 1 of flow N…Flow A can get a bandwidth according to the AC policy, and Flow N can be blocked (without bandwidth)”, read different packet flows have been assigned different bandwidths due to different priority, see ¶[0049).
As to claim 7, Stewart and Karczmarek teach the method of claim 4. Stewart further teaches wherein a first category of flow types is associated with a higher priority level than a second category of flow types, wherein flow types in the first category are allocated greater amounts of bandwidth than flow types in the second category (i.e., “As shown in Field 303, a priority rank is assigned to each flow. For example, flow A is assigned a priority rank N higher than a priority rank 1 of flow N…Flow A can get a bandwidth according to the AC policy, and Flow N can be blocked (without bandwidth)”, read different packet flows have been assigned different bandwidths due to different priority, a particular packet flow A in the plurality of packet flows should receive more bandwidth than Flow N, see ¶[0049]).
As to claim 8, Stewart and Karczmarek teach the method of claim 7. Stewart further teaches wherein the source machine is a first source machine, and the particular packet flow is a first packet flow associated with a flow type in the second category (i.e., “forwards N-M packets 207 to destination device 203 (first packet flow), destination device 203 transmits (N-M) acknowledgments 208 (second category flow) to source device 201, as shown in FIG. 2”, see ¶[0041]), the method comprising:
determining (i) that a second packet flow originating from a second source machine has started on the network and (ii) that the second packet flow is associated with a flow type in the first category (i.e., “forwards N-M packets 207 to destination device 203 (first packet flow), destination device 203 transmits (N-M) acknowledgments 208 (second category flow) to source device 201, as shown in FIG. 2”, read as the acknowledgements flow and packet flow, see ¶[0041]); and
based on said determining, directing (i) the first source machine of the first packet flow to decrease the amount of bandwidth allocated to the first packet flow and (ii) the second source machine of the second packet flow to increase an amount of bandwidth allocated to the second packet flow (i.e., “The sender reduces a sending rate of the packets from Rate 1 to Rate 2 and starts transmitting packets at lower Rate 2. For example, Rate 1 can correspond to 9 Megabits bandwidth and Rate 2 can correspond to about 5 Megabits bandwidth…In responds to receiving L packets 210, the destination device sends L acknowledgments 211 to source device 201, as shown in FIG. 2”, read as decreasing the amount of bandwidth, see ¶[0043]) and (ii) the second source machine of the second packet flow to increase an amount of bandwidth allocated to the second packet flow (i.e., “a total bandwidth for the flows in the flow set is determined based on an AC policy…a BW limit is calculated by dividing the total BW allocated for a flow set according to the AC policy by the number of flows in the flow set…a total bandwidth available for the flows to calculate a target rate for each of the congestion controlled flows. For example, if more bandwidth becomes available, the target flow rate can go up (increase an amount of bandwidth)”, see ¶[0052]).
As to claim 9, Stewart and Karczmarek teach the method of claim 2. Karczmarek further teaches wherein determining (i) that the subset of packet flows have run to completion (See ¶[0138], “ the different states associated with the corresponding packet flow may be listen, closed, established, and others. Accordingly, upon receiving the packet, if the current state for the particular packet flow is cached within the local cache of the host machine, the host machine may process the packet to the be forwarded to its destination”, read as determining if the state data associated with packet flow indicate that packet flow has run for completion (established), closed (have been terminated)”) and (ii) that the particular packet flow should receive more bandwidth comprises: determining that received state data associated with the subset of packet flows indicate a state of each packet flow in the subset of packet flows as completed; and based on the subset of packet flows having run to completion, determining that the particular packet flow should receive more bandwidth (See ¶[0111], “If one of the physical links in the LAG goes down, traffic is dynamically and transparently reassigned to one of the other physical links in the LAG. The aggregated physical links deliver higher bandwidth than each individual link”; ¶[0203], “if one or more host machines fails, the distributed environment 1150 is still available but oversubscribed in terms of bandwidth”, read as receive more bandwidth).
Karczmarek teaches managing network state for high flow availability within distributed network platform. Stewart teaches controlling congestion of controlled packet flows.
Thus, given the teaching of Karczmarek, it 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 to combine the teaching of Karczmarek into the teachings of Stewart for a method and system of controlling congestion of packet flows. One of the ordinary skills in the art would have been motivated because it would have been advantageous to modify teachings of Stewart with the teachings of Karczmarek, by for example modifying the system or method of Stewart (i.e., “determining a packet flow for a placet received by the processor; caching first state information for the packet flow; suspending processing of the packet; identifying a replication chain for the packet flow”, see ¶[0008]). The obvious motivation for doing so would have been to use the method and system to maintain network state information of network packet traffic.
As to claim 10, Stewart and Karczmarek teach the method of claim 1. Stewart further teaches wherein in response to said directly, the source machine increases the amount of bandwidth allocated to the particular packet flow by increasing a size of a congestion control window that controls the amount of bandwidth allocated to the particular packet flow (i.e., “the odds increase greatly that the sender will stop sending the packets in the flow altogether and will take a full scale timeout, reverting the flow’s congestion window to one Maximum Transmission Unit”, read as congestion control window that controls the amount of bandwidth, see ¶[0006]).
As to claim 11, Stewart and Karczmarek teach the method of claim 1. Stewart further teaches where the congestion control window controls the amount of bandwidth allocated to the particular packet flow by controlling an amount of data sent on the network by the source machine as part of the particular packet flow before an acknowledgement is received from a destination of the particular packet flow (i.e., “the odds increase greatly that the sender will stop sending the packets in the flow altogether and will take a full scale timeout, reverting the flow’s congestion window to one Maximum Transmission Unit”, read as congestion control window that controls the amount of bandwidth, see ¶[0006]; and “to control congestion controlled flows are described…a flow in a flow set having access control assigned is monitored. A bandwidth used by the flow is determined”, read the amount of bandwidth, see ¶[0008]; and “ a congestion controlling sender, such as source device 201 sees that drop of packets, for example, through a number of acknowledgements received from the destination”, see ¶[0043]).
As to claim 12, Stewart and Karczmarek teach the method of claim 1. Stewart further teaches wherein directing the source machine comprises directing a layer 4 (L4) TCP process of the source machine (i.e., “the flow is a congestion controlled flow, e.g., a Transmission Control Protocol (TCP), a Stream Control Transmission Protocol flow, or other congestion controlled flow,” see ¶[0028]).
As to claim 13, Stewart teaches a non-transitory machine readable medium storing a program for execution by a set of processing units, the program for performing congestion control for a plurality of packet flows traversing a network that comprises a plurality of machines executing on one or more host computers (i.e., “methods and apparatus to control congestion controlled flows are described…One or more packets associated with the flow are selectively dropped based on at least one of the used bandwidth and the AC (Access Control) policy”, see ¶[0007]; and “All the routers in the network are interconnected to send packets from one host to another. Typically, a host can be a client or a server depending on what role it is serving”, see ¶[0026]; and “A non-transitory machine readable medium can be used to store software and data which when executed by a data processing system causes the system to perform embodiments”, see ¶[0076]), the program comprising sets of instructions for:
at a distributed bandwidth utilization manager (DBLM) that manages bandwidth utilization in the network (i.e, “A flow in a flow set having an access control policy assigned is monitored. A bandwidth used by the flow is determined. One or more packets associated with the flow are selectively dropped based on at least one of the used bandwidth and the AC policy”, read as distributed bandwidth utilization being managed, see ¶[0007]; and “a total bandwidth for the flow set is determined based on the AC policy. A number of flows in the flow set are determined. A bandwidth limit for the flow is determined based on the total bandwidth and the number of flows. The used bandwidth is compared with the bandwidth limit”, read as distributed bandwidth utilization being managed, see ¶[0008]);
receiving state data associated with the plurality of packet flows from the plurality of machines (Fig. 5, “Receive a flow” and “the flow is determined as being in a penalty box”, read as receiving state data associated with the flow, see ¶ [0009]);
and based on said determining, directing a source machine of the particular packet flow to increase an amount bandwidth allocated to the particular packet flow (i.e., “As shown in Field 303, a priority rank is assigned to each flow. For example, flow A is assigned a priority rank N higher than a priority rank 1 of flow N…Flow A can get a bandwidth according to the AC policy, and Flow N can be blocked (without bandwidth)”, read different packet flows have been assigned different bandwidths due to different priority, a particular packet flow A in the plurality of packet flows should receive more bandwidth than Flow N, see ¶[0049]).
Although Stewart teaches the substantial features of the claimed invention, Stewart fails to expressly teach wherein determining (i) that state data associated with a subset of packet flows in the plurality of packet flows indicate the subset of packet flows have run to completion for which connections have been terminated and (ii) that a particular packet flow in the plurality of packet flows should receive more bandwidth
In analogous teaching, Karczmarek teaches wherein determining (i) that state data associated with a subset of packet flows in the plurality of packet flows indicate that subset of packet flows have run to completion for which connections have been terminated (See ¶[0138], “ the different states associated with the corresponding packet flow may be listen, closed, established, and others. Accordingly, upon receiving the packet, if the current state for the particular packet flow is cached within the local cache of the host machine, the host machine may process the packet to the be forwarded to its destination”, read as determining if the state data associated with packet flow indicate that packet flow has run for completion (established), closed (have been terminated)”) and (ii) that a particular packet flow in the plurality of packet flows should receive more bandwidth (See ¶[0111], “If one of the physical links in the LAG goes down, traffic is dynamically and transparently reassigned to one of the other physical links in the LAG. The aggregated physical links deliver higher bandwidth than each individual link”; ¶[0203], “if one or more host machines fails, the distributed environment 1150 is still available but oversubscribed in terms of bandwidth”, read as receive more bandwidth).
Karczmarek teaches managing network state for high flow availability within distributed network platform. Stewart teaches controlling congestion of controlled packet flows.
Thus, given the teaching of Karczmarek, it 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 to combine the teaching of Karczmarek into the teachings of Stewart for a method and system of controlling congestion of packet flows. One of the ordinary skills in the art would have been motivated because it would have been advantageous to modify teachings of Stewart with the teachings of Karczmarek, by for example modifying the system or method of Stewart (i.e., “determining a packet flow for a placet received by the processor; caching first state information for the packet flow; suspending processing of the packet; identifying a replication chain for the packet flow”, see ¶[0008]). The obvious motivation for doing so would have been to use the method and system to maintain network state information of network packet traffic.
As to claim 14, Stewart and Karczmarek teach the non-transitory machine readable medium of claim 13. Stewart further teaches wherein the set of instructions for receiving state data associated with the plurality of packet flows comprises periodically receiving state data associated with the plurality of packet flows that indicates a state of each packet flow in the plurality of packet flows (Fig. 5, “Receive a flow” and, “a number of flows in the flow set are determined. A bandwidth limit for the flow is determined based on the total bandwidth and the number of flows”, read as a plurality of packet flows, see ¶[0008]; and “the flow is determined as being in a penalty box. At least one of a number of packets in the penalty box, time the packets are in the penalty box, and arrival rate of the packets in the penalty box”, read as receiving periodically state data associated with the flow, see ¶ [0009]);
As to claim 15, Stewart and Karczmarek teach the non-transitory machine readable medium of claim 14. Stewart further teaches wherein the state data further comprises a set of contextual data associated with the packet flow (i.e., “FIG. 3 shows an exemplary data structure stored in a memory containing information about flows received by a network device according to one embodiment of the invention’, see ¶[0017]); and “it is determined whether the flow is marked as being in a penalty box. If the flow is not in the penalty box, all packets associated with the flow are transmitted at block 508, If the flow is marked as being in the penalty box, at block 503 a packet is dropped and discarded from the flow while other packets in the flow are being transmitted”, mark is regarded as contextual data associated with the packet flow, see ¶[0055]).
As to claim 16, Stewart and Karczmarek teach the non-transitory machine readable medium of claim 15. Stewart further teaches wherein each set of contextual data comprises at least (i) a flow type of the associated packet flow, and (ii) a current bandwidth utilization computed for the associated packet flow (i.e., “flow a is assigned a priority rank N higher than a priority rank 1 of flow N…Flow A can get a bandwidth according to the AC policy, and Flow N can be blocked …that is , when there’s only a limited bandwidth is available and the AC policy says that one flow has higher priority than other flow, the flow having higher priority gets its bandwidth first and the rest of the bandwidth goes over to the other flow.” read as flow type defined by priority and bandwidth utilization for the associated packet flow, see ¶[0049]).
As to claim 17, Stewart and Karczmarek teach the non-transitory machine readable medium of claim 16. Stewart further teaches wherein: the particular packet flow comprises two or more packet flow phases; each packet flow phase of the two or more packet flows phases is associated with a different priority level (i.e., “a pointer is created to indicate at least one of a path, an AC policy, a priority rank assigned to a flow, and an amount of bytes and packets sent by the flow, a number of times the flow is to be routed, various time statistics as to when the flow was put in a penalty box, if the flow is in the box, a number of times the flow has been to the penalty box and a large numbers of statistics, for example, regarding the data that the network device has seen from the flow”, a number of times the flow is read as two or more phases for packet flow, see ¶[0047]).
As to claim 18, Stewart and Karczmarek teach the non-transitory machine readable medium of claim 17. Stewart further teaches wherein the set of instructions for determining the particular packet flow should receive more bandwidth comprises a set of instructions for determining (i) that the current phase of the particular packet flow is associated with a high priority level, and (ii) that based on the high priority level, the particular packet flow should receive more bandwidth (i.e., “As shown in Field 303, a priority rank is assigned to each flow. For example, flow A is assigned a priority rank N higher than a priority rank 1 of flow N…Flow A can get a bandwidth according to the AC policy, and Flow N can be blocked (without bandwidth)”, read different packet flows have been assigned different bandwidths due to different priority, a particular packet flow A in the plurality of packet flows should receive more bandwidth than Flow N, see ¶[0049]).
As to claim 19, Stewart and Karczmarek teach the non-transitory machine readable medium of claim 16. Stewart further teaches wherein a first category of flow types is associated with a higher priority level than a second category of flow types, wherein flow types in the first category are allocated greater amounts of bandwidth than flow types in the second category (i.e., “As shown in Field 303, a priority rank is assigned to each flow. For example, flow A is assigned a priority rank N higher than a priority rank 1 of flow N…Flow A can get a bandwidth according to the AC policy, and Flow N can be blocked (without bandwidth)”, read different packet flows have been assigned different bandwidths due to different priority, a particular packet flow A in the plurality of packet flows should receive more bandwidth than Flow N, see ¶[0049]).
As to claim 20, Stewart and Karczmarek teach the non-transitory machine readable medium of claim 19. Stewart further teaches wherein the source machine is a first source machine, and the particular packet flow is a first packet flow associated with a flow type in the second category (i.e., “forwards N-M packets 207 to destination device 203 (first packet flow), destination device 203 transmits (N-M) acknowledgments 208 (second category flow) to source device 201, as shown in FIG. 2”, see ¶[0041]), the method comprising:
determining (i) that a second packet flow originating from a second source machine has started on the network and (ii) that the second packet flow is associated with a flow type in the first category (i.e., “forwards N-M packets 207 to destination device 203 (first packet flow), destination device 203 transmits (N-M) acknowledgments 208 (second category flow) to source device 201, as shown in FIG. 2”, read as the acknowledgements flow and packet flow, see ¶[0041]); and
based on said determining, directing (i) the first source machine of the first packet flow to decrease the amount of bandwidth allocated to the first packet flow and (ii) the second source machine of the second packet flow to increase an amount of bandwidth allocated to the second packet flow (i.e., “The sender reduces a sending rate of the packets from Rate 1 to Rate 2 and starts transmitting packets at lower Rate 2. For example, Rate 1 can correspond to 9 Megabits bandwidth and Rate 2 can correspond to about 5 Megabits bandwidth…In responds to receiving L packets 210, the destination device sends L acknowledgments 211 to source device 201, as shown in FIG. 2”, read as decreasing the amount of bandwidth, see ¶[0043]) and (ii) the second source machine of the second packet flow to increase an amount of bandwidth allocated to the second packet flow (i.e., “a total bandwidth for the flows in the flow set is determined based on an AC policy…a BW limit is calculated by dividing the total BW allocated for a flow set according to the AC policy by the number of flows in the flow set…a total bandwidth available for the flows to calculate a target rate for each of the congestion controlled flows. For example, if more bandwidth becomes available, the target flow rate can go up (increase an amount of bandwidth)”, see ¶[0052])
Conclusion
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 extension fee 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 JOHN FAN whose telephone number is (571)272-3345. The examiner can normally be reached on Monday-Friday, 9am-6pm.
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, Wing Chan can be reached on 571-272-7493. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
John Fan
/J. F. /
Examiner, Art Unit 2441
/WING F CHAN/Supervisory Patent Examiner, Art Unit 2441