DETAILED ACTION
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 .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 02/11/2026 has been entered.
Response to Arguments
Applicant’s arguments, filed 02/11/2026, with respect to the rejection(s) of claim(s) 1 under the combination of prior arts have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of Aman (US pg. no. 20050120095).
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-8 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
-Claim 1 recites “wherein the network protocol connection informs the one or more switches whether at least one of the one or more applications is live”
The network connection is abstracted representation of a session. It does not have processing power to perform functions. It is not clear how the connection in and of itself informs the one or more switches whether at least one of the one or more applications is live. It is not clear what mechanism is used to inform the status such as heart beat message or active monitoring is used.
-Claim 1 recites “wherein the networking protocol is bonded at the application layer”. Networking protocol such as LACP is a protocol at layer 2 that is used to bond interfaces such as NIC or ports. Therefore, It is not clear how network protocol such as LACP in and of itself is bonded.
-Claim 1 recites “wherein the networking protocol is bonded at the application layer”. The specification does not state or explain as to how network protocol is bonded at application layer albeit for mere mentioning the statement. Network protocol such as LACP is layer 2 protocol that is used to bond links at layer 2. It is therefore unclear what structure or configuration change is required by “the networking protocol to be bonded at application layer.
-The following is a quotation of the first paragraph of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112:
The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention.
Claims 1-8, rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the enablement requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to enable one skilled in the art to which it pertains, or with which it is most nearly connected, to make and/or use the invention.
-Claim 1 recites “wherein the networking protocol connection informs the one or more switches whether at least one of the one or more applications is live; and wherein the networking protocol is bonded at the application layer in the one or more applications to provide inherent fail-over, higher availability and load-balancing”. The specification does not sufficiently describe:
(i) how a networking protocol (such as LACP, PAgP, MLAG as indicated in the disclosure) which are understood to be link aggregation control protocols operating at the data link layer which are used to bundle multiple physical links into a single logical channel at layer 2, is bonded at application layer. The specification does not indicate full explanation methods and structure that performs the function of bonding the networking protocol that function at layer 2 is bonded at application layer except for a mere statement. The claim(s) contains subject matter which was not described in the specification in such a way as to enable one skilled in the art to which it pertains, or with which it is most nearly connected, to make and/or use the invention.
(ii) how to convey application liveness information from application layer to switches. The specification does not indicate full explanations, methods and structure that how the networking protocol connection informs the one or more switches whether at least one of the one or more applications is live. The claim(s) contains subject matter which was not described in the specification in such a way as to enable one skilled in the art to which it pertains, or with which it is most nearly connected, to make and/or use the invention
(iii) how the networking protocol is bonded at the application layer in the one or more applications to provide inherent fail-over, higher availability and load-balancing. The specification does not indicate full explanations, methods and structure that how the networking protocol bonded at the application layer provide inherent fail-over, higher availability. The claim(s) contains subject matter which was not described in the specification in such a way as to enable one skilled in the art to which it pertains, or with which it is most nearly connected, to make and/or use the invention.
-Claim 7 recites “wherein the networking protocol is LACP bonded at the application layer”. The specification does not sufficiently describe:
(i) how a networking protocol (such as LACP, PAgP, MLAG as indicated in the disclosure) which are understood to be link aggregation control protocols operating at the data link layer that are used to bundle multiple physical links into a single logical channel at layer 2. The specification does not explain with methods and structures that indicates bonding layer 2 protocol such as LACP at the application layer.
The specification does not indicate full explanation methods and structure that performs the function of bonding the networking protocol that function at layer 2 is bonded at application layer.
The claim(s) contain subject matter which was not described in the specification in such a way as to enable one skilled in the art to which it pertains, or with which it is most nearly connected, to make and/or use the invention.
35 USC 112 (a) requires that The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention.
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.
Claim(s) 1-8 is/are rejected under 35 U.S.C. 103 as being unpatentable over Aman (US pg. no. 20050120095), further in view of Howard (US pg. no. 20220052904).
Regarding claim 1. Aman discloses a computer network (fig.7 discloses a computer system network), comprising: one or more applications running on one or more computing machines (fig. 7 discloses application instance running on each server);
One or more intermediate device (load balancer 730), connected to the one or more applications and configured to receive network traffic from a network (fig. 7 discloses server 740, 750 and 760 that comprises application instances 742, 752, and 762 respectively configured to receive network traffic from network 720 via connected load balancer 730);
Wherein the connection of each of the one or more applications running on one or more computing machines to the one or more intermediate devices is via networking protocol connection (fig. 7 discloses server computing devices that comprise corresponding application instances are coupled to 730 for communication with corresponding connection. The connection protocol corresponds to networking protocol connection); and
Wherein the networking protocol connection informs the one or more intermediate devices whether at least one of the one or more applications is live ([0059] discloses if an agent application 744 on a server computing device 740 does not return application instance specific information within a predetermined period of time, it may be determined that the server computing device 740 is not operational (determining if application is live). Those application instances that are not reachable are given a weight of zero and thus, are removed as options for load balancing, i.e. no requests will be sent to application instances on server computing devices that are unreachable);
Wherein the networking protocol is bonded at the application layer in the one or more applications to provide inherent fail-over, higher availability and load-balancing ([0059] discloses if an agent application 744 on a server computing device 740 does not return application instance specific information (application layer information) within a predetermined period of time, it may be determined that the server computing device 740 is not operational. Those application instances that are not reachable are given a weight of zero and thus, are removed as options for load balancing, i.e. no requests will be sent to application instances on server computing devices that are unreachable corresponds to networking protocol bonded at application layer);
But, Aman does not explicitly disclose:
one or more switches, connected to the one or more applications and configured to receive network traffic from a network;
However, in the same field of endeavor, Howard discloses one or more switches (fig. 3, network device 170; [0025] The network device 170 can be used to send and receive network traffic to and from the server computer 110 (computing machine) over the LAG 180…Network devices can include switches; fig. 7 710 corresponds to switch), connected to the one or more applications (fig. 7, application server computer 720A-N; fig. 1 VM hosted on server computer 110 (computing machine) corresponds to application connected to network device 170 (switch) through LAG 180) and configured to receive network traffic from a network ([0025] The network device 170 can be used to send and receive network traffic to and from the server computer 110 over the LAG 180. For example, the network device 170 can be one hop along a network path between the server computer 110 and another computing device. Network devices can include switches. The network, the switch switching traffic to/ from server computer 110 corresponds to network);
Howard further discloses what Aman discloses that is: wherein the connection of each of the one or more applications running on one or more computing machines to the one or more switches is via a networking protocol connection (fig. 3 discloses VMs (applications) hosted on server 110 communicating data to network device 170 (switch see [0025]) via aggregated links LAG 180; [0016] a control protocol can be used to automatically configure the host computer (110 of fig. 3) and the switch (170 of fig. 3) to use the different network links as a LAG. As a specific example, the control protocol can be the Link Aggregation Control Protocol (LACP). LACP can be launched and executed using a kernel module of an operating system of the host computer, for example. LACP can detect that different network links are connected to the same pair of devices, negotiate a speed and mode of the LAG, and monitor a status (e.g., up or down) of the links of the LAG. Further using network protocol to communicate data across a network between components of the network is implicit; [0022] discloses LAG management logic can create a LACP bond to a network switch that is connected to the physical network ports of the network interface device); and
wherein the networking protocol connection informs the one or more switches whether at least one of the one or more applications is live ([0041] The virtual function health monitoring logic 250 of server 110 (host) can monitor the network traffic and/or behavior of the individual virtual functions by monitoring the network traffic with VLAN identifiers corresponding to the virtual functions) to determine a health of the virtual machine (health of application) associated with the virtual function. For example, the monitoring logic 250 can determine whether the network traffic is being sent and/or received by the virtual function. If the network traffic is stopped for a period of time, then the virtual machine associated with the virtual function may be down. (determining if application is live) The virtual function can also be used to pass status information to the health monitoring logic 250. For example, the virtual function can have an up or down status to indicate whether the network traffic is capable of being sent and/or received from the virtual machine associated with the virtual function. The virtual machine can be completely up or down and/or may be experiencing performance issues and between being up or down…If the virtual function health monitoring logic 250 determines that the virtual machine is down or unhealthy, actions can be initiated, such as having the network traffic re-routed (such as be modifying a routing table of the network switch). For example, the virtual function health monitoring logic 250 can communicate with the network device (switch) that is connected to the physical ports 146A-B via network links. The communication can indicate that the connection to the virtual machine (Application) is down (corresponds to networking protocol connection informs the one or more switches whether the VM (application) is live or not) so that the network device can perform remedial actions, such as rerouting traffic to a different virtual machine on the same or a different host).
Therefore, it would have been obvious to a person having ordinary skill in the art at the time of the invention was effectively filed to combine the teaching of Aman with Howard. The modification would allow enabling forwarding traffic received from network to be forwarded to application destinations. The modification would allow effective network communication of application layer traffic data from hosted application via aggregated link with a higher bandwidth and throughput utilizing switch. The modification would allow adaptive and dynamic routing of application layer traffic based on operational status of the application hosted. The modification would allow avoiding sending traffic to a failed application as a result preventing packet loss.
Regarding claim 2. The combination discloses computer network of claim 1.
Howard further discloses wherein the one or more switches determines which of the one or more applications to send the network traffic to, based on which of the one or more applications is live ([0041] The virtual function health monitoring logic 250 of server 110 (host) can monitor the network traffic and/or behavior of the individual virtual functions by monitoring the network traffic with VLAN identifiers corresponding to the virtual functions) to determine a health of the virtual machine (application) associated with the virtual function. For example, the monitoring logic 250 can determine whether the network traffic is being sent and/or received by the virtual function. If the network traffic is stopped for a period of time, then the virtual machine associated with the virtual function may be down. The virtual function can also be used to pass status information to the health monitoring logic 250. For example, the virtual function can have an up or down status to indicate whether the network traffic is capable of being sent and/or received from the virtual machine associated with the virtual function. The virtual machine can be completely up or down and/or may be experiencing performance issues and between being up or down…If the virtual function health monitoring logic 250 determines that the virtual machine is down or unhealthy, actions can be initiated, such as having the network traffic re-routed (such as be modifying a routing table of the network switch). For example, the virtual function health monitoring logic 250 can communicate with the network device (switch) that is connected to the physical ports 146A-B via network links. The communication can indicate that the connection to the virtual machine (Application) is down (corresponds to networking protocol connection informs the one or more switches whether the VM (application) is live or not) so that the network device can perform remedial actions, such as rerouting traffic to a different virtual machine on the same or a different host).
Regarding claim 3. The combination discloses computer network of claim 1.
Howard discloses wherein the networking protocol is selected from the group consisting of LACP, Port Aggregation Protocol (PAgP), Multi- Chassis Link Aggregation (MLAG), and switch stacking ([0025] discloses the LAG logic 174 can be used to perform operations as part of a link control protocol, such as LACP).
Regarding claim 4. The combination discloses computer network of claim 1.
Howard discloses wherein the network stops routing traffic to one of the applications when the networking protocol connection informs the one or more switches that the one application has failed (([0041] The virtual function health monitoring logic 250 of server 110 (host) can monitor the network traffic and/or behavior of the individual virtual functions by monitoring the network traffic with VLAN identifiers corresponding to the virtual functions) to determine a health of the virtual machine (application) associated with the virtual function. For example, the monitoring logic 250 can determine whether the network traffic is being sent and/or received by the virtual function. If the network traffic is stopped for a period of time, then the virtual machine associated with the virtual function may be down. The virtual function can also be used to pass status information to the health monitoring logic 250. For example, the virtual function can have an up or down status to indicate whether the network traffic is capable of being sent and/or received from the virtual machine associated with the virtual function. The virtual machine can be completely up or down and/or may be experiencing performance issues and between being up or down…If the virtual function health monitoring logic 250 determines that the virtual machine is down or unhealthy, actions can be initiated, such as having the network traffic re-routed (such as be modifying a routing table of the network switch). For example, the virtual function health monitoring logic 250 can communicate with the network device (switch) that is connected to the physical ports 146A-B via network links. The communication can indicate that the connection to the virtual machine (Application) is down (corresponds to networking protocol connection informs the one or more switches whether the VM (application) is live or not) so that the network device can perform remedial actions, such as rerouting traffic (stops communicating to failed VM) to a different virtual machine on the same or a different host).
Regarding claim 5. The combination discloses computer network of claim 1.
Howard discloses, wherein the one or more applications accepts and processes the network traffic ((fig. 3 discloses VMs (applications) hosted on server 110 communicating data to network device 170 (switch see [0025]) via aggregated links LAG 180; [0016] a control protocol can be used to automatically configure the host computer (110 of fig. 3) and the switch (170 of fig. 3) to use the different network links as a LAG. As a specific example, the control protocol can be the Link Aggregation Control Protocol (LACP). LACP can be launched and executed using a kernel module of an operating system of the host computer, for example. LACP can detect that different network links are connected to the same pair of devices, negotiate a speed and mode of the LAG, and monitor a status (e.g., up or down) of the links of the LAG. Further using network protocol to communicate data across a network between components of the network is implicit; [0022] discloses LAG management logic can create a LACP bond to a network switch that is connected to the physical network ports of the network interface device);
Regarding claim 6. The combination discloses computer network of claim 5.
Howard discloses, wherein the networking protocol is LACP (fig. 3 discloses VMs (applications) hosted on server 110 communicating data to network device 170 (switch see [0025]) via aggregated links LAG 180; [0016] a control protocol can be used to automatically configure the host computer (110 of fig. 3) and the switch (170 of fig. 3) to use the different network links as a LAG. As a specific example, the control protocol can be the Link Aggregation Control Protocol (LACP). LACP can be launched and executed using a kernel module of an operating system of the host computer, for example. LACP can detect that different network links are connected to the same pair of devices, negotiate a speed and mode of the LAG, and monitor a status (e.g., up or down) of the links of the LAG. Further using network protocol to communicate data across a network between components of the network is implicit; [0022] discloses LAG management logic can create a LACP bond to a network switch that is connected to the physical network ports of the network interface device);
Regarding claim 7, the combination discloses computer network of claim 1.
Howard discloses wherein the networking protocol is LACP bonded at the application layer ([0025] discloses the LAG logic 174 can be used to perform operations as part of a link control protocol, such as LACP);
Regarding claim 8, the combination discloses the computer network of claim 1.
Howard discloses, wherein the switch performs load balancing to one or more applications without a separate load balancer (fig. 7 and [0086] discloses [0086] The network traffic management apparatus 710 (switch) can include any type of computing device that can be used for managing network traffic. The network traffic management apparatus 710 can perform a number of functions, including load balancing network traffic across the server computers 720A-N, and/or accelerating network traffic associated with an application hosted by one or more of the server computers 720A-N).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MESSERET F GEBRE whose telephone number is (571)272-8272. The examiner can normally be reached M-F 9:30 AM-5:30PM.
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, Oscar Louie can be reached on 571-2701684. 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.
/MESSERET F GEBRE/Primary Examiner, Art Unit 2445