DETAILED ACTION
Notice of Pre-AIA or AIA Status
1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
2. Claims 1–20 are presented for examination in a non-provisional application filed on 08/31/2023.
Drawings
3. The drawings were received on 08/31/2023 (in the filings). These drawings are acceptable.
Examiner’s Remarks
4. Examiner refers to and explicitly cites particular pages, sections, figures, paragraphs or columns and lines in the references as applied to Applicant’s claims to the extent practicable to streamline prosecution.
Although the cited portions of the references are representative of the best teachings in the art and are applied to meet the specific limitations of the claims, other uncited but related teachings of the references may be equally applicable as well. It is respectfully requested that, in preparing responses to the rejections, the Applicant fully considers not only the cited portions of the references, but also the references in their entirety, as potentially teaching, suggesting or rendering obvious all or one or more aspects of the claimed invention.
Abbreviations
5. Where appropriate, the following abbreviations will be used when referencing Applicant’s submissions and specific teachings of the reference(s):
i. figure / figures: Fig. / Figs.
ii. column / columns: Col. / Cols.
iii. page / pages: p. / pp.
References Cited
6. (A) SAXENA et al., US 2022/0021584 A1 (“Saxena”).
(B) Fu et al., US 2017/0257432 A1 (“Fu”).
(C) Diab et al., US 2014/0010130 A1 (“Diab”).
(D) Gupta, US 2006/0067236 A1.
(E) Fitzgerald et al., US 8,869,135 B1 (“Fitzgerald”).
Notice re prior art available under both pre-AIA and AIA
7. 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.
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.
A.
8. Claims 1–5, 10–11, and 13–20 are rejected under 35 U.S.C. 103 as being unpatentable over (A) Saxena in view of (B) Fu and (C) Diab.
See “References Cited” section, above, for full citations of references.
9. Regarding claim 1, (A) Saxena teaches/suggests the invention substantially as claimed, including:
“A method comprising:
managing, by a global control plane, a plurality of local control planes that manage a respective plurality of … computing environments, each of the plurality of local control planes configured to manage its respective computing environment …”
(Fig. 1 and ¶¶ 23–24: network control system 100 includes a management plane 105, a central controller 110, and multiple local controllers (also called the local control plane (LCP)) 115-125 that operate on host machines 130-140. In addition, each of host machines 130-140 includes a managed forwarding element (MFE) 145-155 that processes data traffic according to configuration information received from their respective controllers 115-125 …
a central control plane may include multiple central controller computers;
¶ 27: Central controller 110 receives updates 170 from management plane 105, and is responsible for distributing updates to MFEs 145-155 that it manages (e.g., via local controllers 115-125). In some embodiments, central controller 110 is part of a central control plane cluster, with each controller in the cluster managing a different set of MFEs;
¶ 93: Controller 836 generally represents a control plane that manages configuration of VCIs 835 within data center);
“wherein managing the plurality of local control planes comprises selectively deploying an update to one or more local control planes of the plurality of local control planes.”
(¶ 28: Central controller 110 then generates state updates ( e.g., updates 175 and 180) based on update 170, and based on the updated grouping object memberships, for the local controllers of the corresponding MFEs of a span of each logical entity to be updated, and sends the updates to the corresponding local controllers;
¶ 29: local controllers 115-125 are responsible for translating the received updates into configuration data formatted for their respective MFEs 145-155).
Saxena do not teach “plurality of DISTRIBUTED computing environments.”
(B) Fu however teaches “a respective plurality of distributed computing environments”
(¶ 44: To deploy a distributed application, resources (compute, storage, network, services etc.) for the application may be provisioned, and one more services that components of the application depend upon may be started in some specified order in a process termed orchestration;
Fig. 2 and ¶ 47: Container platform 80 may provide functionality to run a plurality of application containers, which may be isolated from each other. Container cluster 45 may be configured to run a distributed computing application, which may include a plurality of components such as Application 1 50-1, Application 2 50-2, Application 3 50-3 ... Application n 50-n;
Fig. 3A and ¶ 58: as shown in FIG. 3A, there are dependencies between services in different application tiers in a multi-tier application. The application topology of a multi-tier application may include a representation of the tiers, the services in each tier and the dependencies between services in the multi-tier application).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of (B) Fu with those of (A) Saxena to implement (deploy) distributed computing applications across multiples hosts, clouds, and/or tiers. The motivation or advantage to do so is to increase the performance of computing applications by distributing the computational workload across a networked cluster of computers (Fu, ¶ 31).
Saxena and Fu do not teach “manage … in accordance with a mode of operation that is selected from a plurality of modes of operation based on a respective connectivity status with the global control plane” and “deploying … based on the connectivity statuses of the plurality of local control planes with the global control plane.”
(C) Diab, in the context of Saxena’s teachings, however teaches or suggests implementing:
“manage … in accordance with a mode of operation that is selected from a plurality of modes of operation based on a respective connectivity status with the global control plane” and “deploying … based on the connectivity statuses of the plurality of local control planes with the global control plane.”
(Fig. 1 and ¶¶ 17–18: to control the operation of a physical layer device (PHY) in a network device. In one example, the PHY in the network device is initially configured to operate in a full duplex mode where the PHY transmits and receives data on a transmission medium …
While operating in the full duplex mode, it may be determined by an energy efficiency control policy that a first direction of transmission in the full duplex mode has entered a low link utilization condition. Upon such a determination, the energy efficiency control policy can be configured to initiate a transition of the PHY from the full duplex mode to a simplex mode where the first direction of transmission on the transmission medium is discontinued and the second direction of transmission on the transmission medium continues;
Fig. 5 and ¶ 35: if both of the link partners de-assert the transition to the low power mode at a time proximate to each other, then a transition can occur from low power mode 530 to full duplex mode 510. This transition is represented by transition ‘F,’ where normal operation would resume on the link;
¶ 24: energy efficiency control policy entities 118 and 128 can be a logical and/or functional block which may, for example, be implemented in one or more layers, including portions of the PHY or enhanced PHY, MAC, switch, controller, or other subsystems in the host).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of (C) Diab with those of (A) Saxena and (B) Fu to manage and operate the central and local controllers in a plurality of transmission modes for data communications/ traffic. The motivation or advantage to do so is to enable efficient network usage in order to maximize energy savings.
10. Regarding claim 2, Fu teaches or suggests:
“wherein the plurality of distributed computing environments includes one or more cloud computing environments”
(¶ 41: distributed computing application that may be deployed on a plurality of distinct clouds and/or distinct container clusters).
11. Regarding claim 3, Saxena and Fu teach or suggest:
“wherein the plurality of local control planes are configured to manage one or more applications deployed at the plurality of distributed computing environments”
(Saxena, ¶ 29: local controllers 115-125 are responsible for translating the received updates into configuration data formatted for their respective MFEs 145-155;
¶ 93: Controller 836 generally represents a control plane that manages configuration of VCIs 835 within data center;
Fu, ¶ 41: distributed computing application that may be deployed on a plurality of distinct clouds and/or distinct container clusters;
¶ 49: Container cluster 45 may also include cluster management block 65, which may manage scaling (the addition and/or deletion of container hosts), facilitate discovery and communication between application containers (e.g. Application 1 50-1(1) and Application 3 50-3(3)), and determine the container host to be used to run an application container instance).
12. Regarding claim 4, Saxena and Diab teach or suggest:
“deploying, by the global control plane, the update to the one or more local control planes of the plurality of local control planes using a communication network based on the one or more respective connectivity statuses of the one or more local control planes indicating a connected status with the global control plane”
(Saxena, ¶ 28: Central controller 110 then generates state updates ( e.g., updates 175 and 180) based on update 170, and based on the updated grouping object memberships, for the local controllers of the corresponding MFEs of a span of each logical entity to be updated, and sends the updates to the corresponding local controllers;
Diab, see Fig. 1 and ¶¶ 17–18; Fig. 5 and ¶ 35, as applied in rejecting claim 1 above, teaching using and switching between different modes of transmission based on connectivity or link statuses).
13. Regarding claim 5, Saxena teaches or suggests:
“receiving, by the global control plane, log data associated with the update”
(¶ 26: users provide configuration changes ( e.g., creating or deleting logical entities, modifying properties of logical entities, changing relationships between logical entities, defining and modifying grouping objects, etc.), the changes to the desired state are distributed as logical network updates;
¶ 28: Central controller 110 receives update 170 to the desired state and, determines the logical entities in the logical network that need to be updated based on update 170. According to embodiments of the present disclosure, central controller 110 determines updates to grouping object membership based on update 170, as well as based on other updates in the network, using a parallel processing arrangement as described in more detail below with respect to FIGS. 2-7. Central controller 110 then generates state updates ( e.g., updates 175 and 180) based on update 170;
¶ 36: In some examples, one or more firewalls may be updated by central controller 200, such as based on received updates and/or changes to grouping object memberships;
¶ 40: a parallel processing arrangement is determined for the delta updates based on dependencies in a directed graph of the plurality of grouping objects);
“deploying, by the global control plane based on the log data, a second update to the one or more local control planes”
(¶ 28: sends the updates to the corresponding local controllers;
¶ 35: Update generator 215 is responsible for distributing updates through local control plane interface 230 to the appropriate local controllers).
14. Regarding claim 10, Saxena and Fu teach or suggest:
“wherein one or more of the plurality of computing environments is bound by one or more authorization rules defined by an entity that deploys one or more applications to the one or more of the plurality of computing environments”
(Saxena, ¶ 36: one or more firewalls may be updated by central controller 200, such as based on received updates and/or changes to grouping object memberships. Generation and distribution of firewall configuration updates …;
¶ 42: firewall may be configured to implement a security policy that references a grouping object;
Fu, ¶ 65: Resource dependency information for a service may specify resources hardware and software that the service is dependent upon. These may include, for example, security compliance parameters, ( e.g. firewalling capability, identity and access management, data protection, etc.;
¶ 82: For example, a system manager or a coordinating DOE node may provide SEMB-P 220-k with Workflow Descriptor 210 and/or a portion of Workflow Descriptor 210 for an application and/or application component related to cloud k).
15. Regarding claim 11, Diab teaches or suggests:
“wherein the plurality of modes of operation includes one or more of a disconnected mode, an air-gapped mode, a dark sight mode, a partially connected mode, or a FULLY CONNECTED mode”
(Diab, see Fig. 1 and ¶¶ 17–18; Fig. 5 and ¶ 35, as applied in rejecting claim 1 above, teaching using and switching between different modes of transmission based on connectivity or link statuses).
16. Regarding claim 13, Saxena and Fu teach or suggest:
“wherein the update includes one or more of a security policy, a data management policy, a network policy, an application policy, or an incident response policy”
(Saxena, ¶ 36: one or more firewalls may be updated by central controller 200, such as based on received updates and/or changes to grouping object memberships. Generation and distribution of firewall configuration updates …;
¶ 42: firewall may be configured to implement a security policy that references a grouping object;
Fu, ¶ 65: Resource dependency information for a service may specify resources hardware and software that the service is dependent upon. These may include, for example, security compliance parameters, ( e.g. firewalling capability, identity and access management, data protection, etc.;
¶ 82: For example, a system manager or a coordinating DOE node may provide SEMB-P 220-k with Workflow Descriptor 210 and/or a portion of Workflow Descriptor 210 for an application and/or application component related to cloud k).
17. Regarding claims 14–17, they are the corresponding system claims reciting similar limitations of commensurate scope as the method of claims 1, 4–5, and 10, respectively. Therefore, they are rejected on the same basis as claims 1, 4–5, and 10 above, including the following rationale:
Saxena teaches or suggests “a memory storing instructions; and one or more processors communicatively coupled to the memory and configured to execute the instructions”
(Claim 15: one or more processors; and a memory comprising instructions that, when executed by the one or more processors);
18. Regarding claims 18–20, they are the corresponding computer program product claims reciting similar limitations of commensurate scope as the method of claims 1, 4, and 10, respectively. Therefore, they are rejected on the same basis as claims 1, 4, and 10 above.
B.
19. Claim 9 is rejected under 35 U.S.C. 103 as being unpatentable over (A) Saxena in view of (B) Fu and (C) Diab, as applied to claim 1 above, and further in view of (D) Gupta.
20. Regarding claim 9, Saxena, Fu, and Diab do not teach “storing, by the global control plane, data representative of the connectivity statuses at a database.”
(D) Gupta, in the context of Saxena, Fu, and Diab’s teachings, however teaches or suggests implementing:
“storing, by the global control plane, data representative of the connectivity statuses at a database”
(¶ 17: network traffic may be required to traverse multiple separate networks. These different networks may be interconnected with cross connects, such as digital cross connects (DCSs). As such, it is necessary for the NCMS 102 to also have available configuration and status information related to these DCSs. This configuration and status information is, illustratively, maintained in cross-connection status database 324;
¶ 25: As a part of this inventory, routing link table 314, routing node table 316, NMS/EMS table 318 and cross connection status database 324 are updated with information about the links, nodes and cross connections in and between the networks managed by the NCMS 102).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of (D) Gupta with those of Saxena, Fu, and Diab to maintain and update current transmission modes of connection to each respective local controller. The motivation or advantage to do so is to efficiently operate/control the transition between different modes (by identifying the current transmission mode/state).
C.
21. Claim 12 is rejected under 35 U.S.C. 103 as being unpatentable over (A) Saxena in view of (B) Fu and (C) Diab, as applied to claim 1 above, and further in view of (E) Fitzgerald.
22. Regarding claim 12, Saxena teaches or suggests “deploying the update to the one or
more local control planes”
(¶ 28: Central controller 110 then generates state updates ( e.g., updates 175 and 180) based on update 170, and based on the updated grouping object memberships, for the local controllers of the corresponding MFEs of a span of each logical entity to be updated, and sends the updates to the corresponding local controllers;
¶ 29: local controllers 115-125 are responsible for translating the received updates into configuration data formatted for their respective MFEs 145-155).
Saxena, Fu, and Diab do not teach “determining, by the global control plane, a resource cost level associated with deploying the update to the one or more local control planes; and wherein the selectively deploying the update to the one or more local control planes is further based on the resource cost level.”
(E) Fitzgerald, in the context of Saxena, Fu, and Diab’s teachings, however teaches or suggests implementing:
“determining, by the global control plane, a resource cost level associated with deploying the update to the one or more local control planes; and wherein the selectively deploying the update to the one or more local control planes is further based on the resource cost level”
(Fig. 4 and Col. 9, lines 55–62: specify update preferences 408 for each update 402. The update preferences 408 define various factors for use by the deployment component 214 in determining how and when an update 402 is to be deployed. For instance, economic factors 412A may be specified that indicate the extent to which additional costs may be incurred during deployment of an update 402;
Col. 13, lines 1–20: For instance, factors might be considered when creating the deployment plan 410 such as the current time of day, instance hour pricing, spot market rates, level of testing required for an update, level of confidence in an update, the size of an update or updates, expected and actual time to deploy an update, importance of deploying … performance, anticipated time to complete an update or updates, price of network bandwidth or other computing resources …;
Col. 18, lines 13–20: update preferences 408 might be utilized to specify that the update 402 should not be applied until the demand for the application falls below a certain threshold, or that the update 402 should not be applied until the price of computing resources utilized during the update process fall below a certain price).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of (E) Fitzgerald with those of Saxena, Fu, and Diab to selectively deploy updates to local controllers based on economic costs or factors. The motivation or advantage to do so is to minimize the cost of deployment in combination with other deployment preferences/ factors such as time and priority.
Allowable Subject Matter
23. Claims 6–8 are objected to as being dependent upon a rejected base claim, but would be allowable if 1) rewritten in independent form including all of the limitations of the base claim and any intervening claims.
The following is the Examiner’s statement of reasons for allowance:
The prior art of record, when viewed individually or in combination, does not expressly teach nor render obvious the features of dependent claims 6 and 7 when viewed as a whole, specific to the limitation(s) of:
“providing, by the global control plane, a notification indicating an option to receive the update outside a communication network based on the respective one or more connectivity statuses of the one or more local control planes indicating a disconnected status with the global control plane” (claim 6), and
“selectively deploying a modified version of an update to one or more sub-local control
planes of the plurality of sub-local control planes based on the local connectivity statuses of the plurality of sub-local control planes with the local control plane” (claim 7).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BENJAMIN C WU whose telephone number is (571)270-5906. The examiner can normally be reached Monday through Friday, 8:30 A.M. to 5:00 P.M..
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, Aimee J. Li can be reached on (571)272-4169. 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.
/BENJAMIN C WU/Primary Examiner, Art Unit 2195
February 21, 2026