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 .
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 12-21-23 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1-5, 7-13, 20-23, 25-27, 30-32, 34-41, 43-48, 50, 54-57, 59-63 are rejected under 35 USC 102(a)(2) as being anticipated by Junker et al. (hereinafter “Junker”, US Patent Publication 2021/0193305 A1).
As per claims 1, 37, 62, Junker discloses A computer-implemented method, system, and computer program product for controlling network traffic, the method being conducted at a destination controller accessible by a server computer, the method comprising:
Receiving, by the destination controller, telemetry data from a plurality of network nodes managed by the server computer (paragraphs [0013, 0021, 0037], Medical device management system receives information from various medical devices concerning the devices’ operational state, location, and capabilities);
Receiving, by the destination controller, a data transfer request originating from a user device that is connected to the destination controller (paragraphs [0032, 0117, 0131], Medical device management system receives requests from a portable electronic device connected to it and operated by a user);
Accessing, by the destination controller, a list of stored network node addresses (paragraphs [0018, 0059, 0121, 0130]);
Applying, by the destination controller, one or more rules to the list of network node addresses to identify a network node address pointing to a network node for handling network traffic originating from the user device that generated the data transfer request, wherein the network node identified by the destination controller:
services the data transfer request (paragraphs [0027-29, 0032, 0039], Medical device management system selects a particular medical device or devices to handle the request from the portable electronic device. The selection is based on the management device applying location, workload, and/or availability parameters);
transmits updated telemetry data of the network node to the destination controller, the destination controller updating the list of network nodes based on received updated telemetry data (paragraphs [0016, 0049, 0053, 0130]).
As per claims 2, 39, Junker discloses The method as claimed in claim 1, wherein the list of network node addresses is stored in a destination pool which is accessible to the destination controller (paragraph [0121]).
As per claims 3, 38, Junker discloses The method as claimed in claim 1, wherein the network node identified by the destination controller forwards data relating to the data transfer request to the server computer for further processing (paragraph [0076]).
As per claims 4, 40, Junker discloses The method as claimed in claim 1, wherein the method includes receiving a connection request originating from the network node that has a client interface thereat that generates the connection request as an outbound connection request from that network node to the server computer (paragraph [0032]);
establishing, by the network node, a persistent data communication session between the client interface of the network node and the server computer (paragraph [0040]).
As per claims 5, 41, Junker discloses The method as claimed in claim 1, wherein the plurality of network nodes managed by the server computer is a plurality of application delivery controllers (ADCs) (paragraph [0077]);
wherein the network node identified by the destination controller is an ADC (paragraph [0016]).
As per claims 7, 43, Junker discloses The method as claimed in claim 2, wherein the destination pool is a database including the list of addresses of at least some of the plurality of network nodes managed by the server computer (paragraph [0059]).
As per claims 8, 44, Junker discloses The method as claimed in claim 5, wherein the telemetry data includes data relating to the ADC or data relating to the server computer which manages the network node or ADC (paragraph [0054]);
wherein the telemetry data includes any one or more of:
data relating to a Transmission Control Protocol (TCP) keepalive state of the ADC, or of the server computer (paragraph [0058]);
processing capabilities of the ADC, or of the server computer; current processing capacity of the ADC or of the server computer (paragraph [0076]);
whether the ADC is offline or online, or whether the server computer is offline or online (paragraph [0053]);
geographical location of the ADC or of the server computer (paragraph [0057]);
ADC response time or server computer response time (paragraph [0130]);
number of requests per second, or number of requests that are able to be processed per second (paragraph [0077]);
data relating to a central processing unit (CPU) of the ADC or of the server computer (paragraph [0032]);
memory data of the ADC or of the server computer (paragraph [0053]);
load data of the ADC or of the server computer (paragraph [0040]);
error rate associated with the ADC or with the server computer (paragraph [0055]).
As per claims 9, 45, Junker discloses The method as claimed in claim 1, wherein the network node is a container, a data structure, a virtual machine, or a single hardware instance (paragraph [0017]).
As per claims 10, Junker discloses The method as claimed in claim 5, wherein the method includes labelling each ADC or each network node (paragraph [0087]).
As per claims 11, 46, Junker discloses The method as claimed in claim 10, wherein the label includes data relating to the telemetry data or data relating to a computing device associated with the ADC (paragraph [0109]).
As per claims 12, 47, Junker discloses The method as claimed in claim 5, wherein the method includes providing a plurality of server computers, each managing one or more ADCs (paragraphs [0073, 0115]).
As per claims 13, 48, Junker discloses The method as claimed in claim 12, wherein the one or more rules that are applied by the destination controller to the list includes any one or more of:
that load data, equilibrium data, or balance data of one or more of the ADCs or of one or more of the server computers is to be used in order to determine where to direct network traffic (paragraph [0053]);
that a geographical location of the user device, the ADC, or of a server computer is to be used to determine where to direct network traffic (paragraph [0058]);
that automatic ADC scaling is to be applied, whereby a number of ADCs used is increased or decreased automatically, based on load or traffic conditions or a number of data transfer requests received (paragraph [0053]).
As per claims 15, 50, Junker discloses The method as claimed in claim 5, wherein the method includes assigning additional ADCs to handle traffic if the telemetry data is indicative that one of the plurality of ADCs is overloaded or offline (paragraph [0040]).
As per claims 20, 54, Junker discloses The method as claimed in claim 10, wherein the method includes directing network traffic to a plurality of ADCs, based on the label of each of the plurality of ADCs (paragraph [0065]).
As per claims 21, 55, Junker discloses The method as claimed in claim 1, wherein the method to includes, by the server computer, issuing an instruction for a network node to return data including specific information about that network node (paragraph [0021]).
As per claims 22, 56, Junker discloses The method as claimed in claim 1, wherein the client interface of each network node is a thin client (paragraph [0017]).
As per claims 23, 57, Junker discloses The method as claimed in claim 22, wherein the client interface of each network node is operating system agnostic (paragraph [0016]).
As per claims 25, 59, Junker discloses The method as claimed in claim 1, wherein the server computer is network node-agnostic (paragraph [0019]).
As per claims 26, Junker discloses The method as claimed in claim 1, wherein the data transfer request includes a DNS query (paragraph [0032]).
As per claims 27, 61, Junker discloses The method as claimed in claim 1, wherein the method includes implementing an anycast DNS network (paragraph [0117]).
As per claims 30, Junker discloses The method as claimed in claim 1, wherein the client interface is a standard client interface that is downloaded onto the network node from the server computer (paragraph [0045]).
As per claim 31, Junker discloses The method as claimed in claim 1, wherein the server computer forms part of, or is connected to a customer cloud infrastructure that includes a plurality of other server computers that are arranged carry out steps of the method (paragraph [0115]).
As per claim 32, Junker discloses The method as claimed in claim 31, wherein the customer cloud infrastructure is in data communication with a control interface of the server computer using an application programming interface (API), or a representational state transfer (REST) API (paragraph [0055]).
As per claim 34, Junker discloses The method as claimed in claim 1, wherein the communications are provided by an anycast communications protocol (paragraph [0067]).
As per claim 35, Junker discloses The method as claimed in claim 1, wherein the communications between the customer cloud infrastructure and the server computer, as well as between the server computer and the client interface of the network node is provided by a secure communications link (paragraph [0115]).
As per claim 36, Junker discloses The method as claimed in claim 4, wherein the method includes:
authenticating, by the server computer, the network node before establishing the persistent data communication session with the client interface of that network node (paragraph [0057]).
As per claim 60, Junker discloses The method as claimed in claim 1, wherein the client interface of each network node is network server-agnostic (paragraph [0064]).
As per claim 63, The computer program product as claimed in claim 62, wherein the computer-readable medium is a non-transitory computer-readable medium, and wherein the computer- readable program code is executable by a processor associated with the server computer, or a processor associated with the network node, or a processor associated with the destination controller (paragraph [0027]).
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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.
Claims 6, 16-17, 33, 42, 51-52 are rejected under 35 USC 103 as being unpatentable over Junker et al. (hereinafter “Junker”, US Patent Publication 2021/0193305 A1) in view of Ferraro et al. (hereinafter “Ferra”, US Patent Publication 2019/0373053 A1).
As per claims 6, 42, Junker does not explicitly disclose The method as claimed in claim 1, wherein the destination controller is identified by a Domain Name System (DNS) address, or a fully qualified domain name (FQDN), pointing to a computing device associated with the destination controller.
However, in an analogous art, Ferra teaches a method improving load balancing efficiency for stateful requests and stateful services by the load balancer serving requests associated with a session to the primary application server node if available. The primary application server node sends update session information on the prioritization list. Any addressing mechanism can be used such as by IP address, port number, or domain name for directing communication between the nodes (paragraphs [0024-25]).
Therefore, one of ordinary skill in the art would have found it obvious to implement or incorporate Ferra’s wherein the destination controller is identified by a Domain Name System (DNS) address, or a fully qualified domain name (FQDN), pointing to a computing device associated with the destination controller in Junker’s method decreasing state information contention and reducing network utilization associated with distributing state information among arbitrary application server nodes.
As per claims 16, 51, Junker does not explicitly disclose The method as claimed in claim 5, wherein the method includes arranging the plurality of ADCs in one or more ADC clusters.
However, in an analogous art, Ferra teaches application server nodes may stop being able to service requests if one is removed from the cluster. The cluster has an associated cluster ID which is reassigned if a server is removed or added (paragraphs [0026, 0036, 0041]).
Therefore, one of ordinary skill in the art at the time the invention was made would have found it obvious to implement or incorporate Ferra’s arranging the plurality of ADCs in one or more ADC clusters increasing scalability of application server node clusters.
As per claims 17, 52, Junker does not explicitly disclose The method as claimed in claim 10, wherein the method includes assigning a number of labelled ADCs into a cluster.
However, in an analogous art, Ferra teaches application server nodes may stop being able to service requests if one is removed from the cluster. The cluster has an associated cluster ID which is reassigned if a server is removed or added (paragraphs [0026, 0036, 0041]).
Therefore, one of ordinary skill in the art at the time the invention was made would have found it obvious to implement or incorporate Ferra’s assigning a number of labelled ADCs into a cluster increasing scalability of application server node clusters.
As per claim 33, Junker does not explicitly disclose The method as claimed in claim 31, wherein the plurality of server computers are arranged in one or more server clusters to provide redundancy.
However, in an analogous art, Ferra teaches application server nodes may stop being able to service requests if one is removed from the cluster. The cluster has an associated cluster ID which is reassigned if a server is removed or added (paragraphs [0026, 0036, 0041]).
Therefore, one of ordinary skill in the art at the time the invention was made would have found it obvious to implement or incorporate Ferra’s the plurality of server computers are arranged in one or more server clusters to provide redundancy increasing scalability of application server node clusters.
Claims 28-29 are rejected under 35 USC 103 as being unpatentable over Junker et al. (hereinafter “Junker”, US Patent Publication 2021/0193305 A1) in view of Sorenson et al. (hereinafter “Sorenson”, US Patent Publication 2018/0359177 A1).
As per claim 28, Junker does not explicitly disclose The method as claimed in claim 4, wherein the client interface of each network node is configured, once a connection between the client interface of the network node and the server computer is lost, to automatically transmit another outbound connection request for the server computer to reconnect or re-establish the persistent data communication session.
However, in an analogous art, Sorenson teaches in many conventional load balancers, some or all existing connections are lost in the event of a load balancer failure. The distributed load balancing system may maintain at least some of the established connections. A failure recovery protocol may recover existing connections in the event of a failure. (paragraphs [0130-131]).
Therefore, one of ordinary skill in the art at the time the invention was made would have found it obvious to implement or incorporate Sorenson’s automatically transmit another outbound connection request for the server computer to reconnect or re-establish the persistent data communication session in Junker’s method to recover connections during a load balancer failure.
As per claim 29, Junker does not explicitly disclose The method as claimed in claim 28, wherein the client interface is configured to repetitively attempt to re-establish the persistent data communication session.
However, in an analogous art, Sorenson teaches in many conventional load balancers, some or all existing connections are lost in the event of a load balancer failure. The distributed load balancing system may maintain at least some of the established connections. A failure recovery protocol may recover existing connections in the event of a failure. (paragraphs [0130-131]).
Therefore, one of ordinary skill in the art at the time the invention was made would have found it obvious to implement or incorporate Sorenson’s repetitively attempt to re-establish the persistent data communication session in Junker’s method to recover connections during a load balancer failure.
Allowable Subject Matter
Claims 14, 18-19, 24, 49, 53, 58 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BARBARA BURGESS ANYAN whose telephone number is (571)272-3996. The examiner can normally be reached IFP M-F 8am-5pm.
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, Ario Etienne can be reached on 571-272-4001. 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.
February 25, 2023
/BARBARA B Anyan/Primary Examiner, Art Unit 2457