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 .
Claims 1-20 are subject to examination and rejected.
Claim Rejections - 35 USC § 102
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-20 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Chen (US PGPub 2019/0052532).
Regarding claims 1, 7 and 14, Chen teaches a method (Chen, see abstract, a service executed on a container associated with a bandwidth setting is associated with a load balancer including a service traffic monitor and a latency setting included in a network switch with a network bandwidth monitor, both monitors communicating with a policy engine) comprising:
receiving, by a network controller associated with a network, usage data associated with an application that is running on a scalable application service platform (Chen, see paragraph 0029, Additional compute capacity is added to illustrated system 200 by orchestrator 240. Additional capacity for both services 270A and 275A is requested and deployed in the form of container 264 hosting service 275B (e.g., another instance of service 275A) and container 266 hosting service 270B (e.g., another instance of service 270A). Orchestrator 240 may deploy additional containers 264 and/or 266 based on scheduling queue 257 reaching a threshold capacity), the usage data indicating at least one of:
a compute capacity utilized to host the application (Chen, see paragraph 0028, orchestrator 240 and scheduler 242 may manage requests for scaling up and scaling down compute capacity for services 270A and 275A hosted on containers 260 and 262); or
a number of replicas associated with the application (Chen, see paragraph 0029, additional capacity for both services 270A and 275A is requested and deployed in the form of container 264 hosting service 275B (e.g., another instance of service 275A) and container 266 hosting service 270B (e.g., another instance of service 270A)); and
based at least in part on the usage data, allocating an amount of bandwidth of a network underlay for data flows associated with the application (Chen, see paragraph 0030, when scheduler 242 deploys an additional copy of video service 270A (e.g., video service 270B on container 266), scheduler 242 selects host node 210C which shares network switch 235 with host node 210B. In the example, container 266 may be allocated a larger share of bandwidth by network switch 235 than container 262).
Regarding claims 2, 8 and 15, Chen teaches further comprising:
receiving, at the network controller, a bandwidth-allocation model specifying respective amounts of bandwidth of the network underlay to allocate for the data flows based at least in part on respective amounts of computing resources of the scalable application service platform that are allocated to host applications (Chen, see paragraph 0035, the change between the first bandwidth:request ratio and the second bandwidth:request ratio must breach a certain minimum threshold before an adjustment is made. For example, a moving average over several time periods must consistently breach the threshold by a certain amount before an adjustment of a latency or bandwidth setting is made either up or down.); and
determining the amount of bandwidth based at least in part on the bandwidth-allocation model (Chen, see paragraph 0018, a policy engine may predict a scaling action that may provide the greatest efficiency based on the type of traffic being served at a given time).
Regarding claims 3, 9 and 16, Chen teaches further comprising:
receiving an indication of a prior amount of bandwidth of the network underlay that was allocated for previous data flows at a time when a particular amount of computing resources of the scalable application service platform were allocated to host the application (Chen, see paragraph 0045, load balancer 250 queues requests of service 270A in load balancer queue 257, prior to distributing the requests of service 270A to container 260, and container 266 is instantiated by the orchestrator 240 based on a depth of load balancer queue 257 and/or a comparison of the first and second bandwidth:request ratios); and
determining the amount of bandwidth based at least in part on the prior amount of bandwidth of the network underlay that was allocated for the previous data flows (Chen, see paragraph 0042, load balancer 150 may queue requests to service 170A in a load balancer queue associated with load balancer 150 prior to distributing the requests to copies of service 170A (e.g., services 170A-B) on containers 160 and 162).
Regarding claims 4, 10 and 17, Chen teaches wherein the amount of bandwidth is a first amount of bandwidth and the number of replicas is a first number of replicas (Chen, see paragraph 0030, multiple copies of container 260 and service 270A launched on host node 210A may be able to share a single copy of core immutable data on host node 210A (e.g., shared libraries) resulting in significantly lower memory usage on host node 210A for subsequent copies of the container), the method further comprising:
receiving second usage data indicating a second number of replicas associated with the application, the second number of replicas being greater than the first number of replicas (Chen, see paragraph 0030, multiple copies of container 260 and service 270A launched on host node 210A may be able to share a single copy of core immutable data on host node 210A (e.g., shared libraries) resulting in significantly lower memory usage on host node 210A for subsequent copies of the container);
determining a second amount of bandwidth of the network underlay to allocate to the application based at least in part on the second number of replicas (Chen, see paragraph 0030, service 275B may require little bandwidth thereby allowing a higher total number of containers (e.g., containers 260 and 264) to be served by network switch 240 than if each container connected to network switch 230 were executing a copy of video service 270A. In an example, when scheduler 242 deploys an additional copy of video service 270A (e.g., video service 270B on container 266), scheduler 242 selects host node 210C which shares network switch 235 with host node 210B); and
allocating the second amount of bandwidth of the network underlay for the application (Chen, see paragraph 0030, container 266 may be allocated a larger share of bandwidth by network switch 235 than container 262).
Regarding claims 5, 11 and 18, Chen teaches wherein:
a container-orchestration system associated with the scalable application service platform and remote from the network controller orchestrates deployment of replicas that support the application (Chen, see paragraph 0030, multiple copies of container 260 and service 270A launched on host node 210A may be able to share a single copy of core immutable data on host node 210A (e.g., shared libraries) resulting in significantly lower memory usage on host node 210A for subsequent copies of the container); and
the second usage data includes an indication that the container-orchestration system scaled the first number of replicas to the second number of replicas (Chen, see paragraph 0030, service 275B may require little bandwidth thereby allowing a higher total number of containers (e.g., containers 260 and 264) to be served by network switch 240 than if each container connected to network switch 230 were executing a copy of video service 270A. In an example, when scheduler 242 deploys an additional copy of video service 270A (e.g., video service 270B on container 266), scheduler 242 selects host node 210C which shares network switch 235 with host node 210B).
Regarding claims 6, 13 and 19, Chen teaches wherein:
the network is a software-defined wide-area network (SD-WAN) (Chen, see paragraph 0025, network 105 may be any form of suitable network for allowing communications between computing devices, for example, a public network (e.g., the Internet), a private network (e.g., a local area network (LAN) or wide area network (WAN))); and
the network controller is an SD-WAN network controller (Chen, see figure 2A, load balancer 250).
Regarding claims 12 and 20, Chen teaches wherein:
the usage data is received from a container-orchestration system associated with the scalable application service platform and remote from the network controller that orchestrates deployment of replicas that support the application (Chen, see paragraph 0025, bandwidth monitor 157 may be a software or hardware component associated with network switch 152 that is capable of measuring the bandwidth usage (e.g., data transfer rate) through network switch 152. In an example, policy engine 145 may receive request rate data from service traffic monitor 155 and bandwidth usage data from bandwidth monitor 157, and then policy engine 145 may calculate bandwidth:request ratios based on the bandwidth usage data and request rate data).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHONG G KIM whose telephone number is (571)270-0619. The examiner can normally be reached Mon-Fri @ 9am - 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, Nicholas R. Taylor can be reached at 571-272-3889. 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.
/CHONG G KIM/Examiner, Art Unit 2443
/NICHOLAS R TAYLOR/Supervisory Patent Examiner, Art Unit 2443