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 .
Detailed Action
This office action is responsive to communication filed on 04/22/2025. Claims 1, 14, 18, and 20 have been amended. Claim 19 have been cancelled. Claims 1-18, and 20 are pending for examination.
Response to Arguments
Regarding 35 U.S.C. 103(a) applicant’s arguments, see page 6 - page 8 (all), filed 03/24/2025,
with respect to claims 1-20 have been fully considered. Regarding claim 1 the
applicant argued that the cited references do not disclose the amended claim.
In response to applicant's arguments, the examiner disagrees. Upon further search and consideration, the examiner found that JeevaRaj teaches the amended limitation in para 0065-0069 and par0070-0075. Par0070-0075 teaches initial operational state 241 and post-migration operational state 242 may differ in some respects, and a user interfaces generated by user interface module 238 may highlight ways in which initial operational state 241 and post-migration operational state 242 differ (e.g., by presenting a topology of fabric 320). In some cases, administrator 327 may determine that such differences are not important or significant. In other cases, however, administrator 327 may determine that such differences warrant remediation, which may involve some physical or other intervention with fabric 320 to address the issues that cause the differences between initial operational state 241 and post-migration operational state 242…. Controller 210 may output a signal to administrator device 325, which causes administrator device 325 to present user interface 336. Controller 210 may wait until the issue is resolved (404 and YES path from 403).
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.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
Determining the scope and contents of the prior art.
Ascertaining the differences between the prior art and the claims at issue.
Resolving the level of ordinary skill in the pertinent art.
Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1—18, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over JeevaRaj (US20220294693A1) in view of Zhang et al. (US20150358209A1), and further in view of Hinrichs et al. (US20220329500A1).
As per claim 1. JeevaRaj teaches A device (210), comprising: a processor (222); at least one network interface (234) controller configured to provide access to a network; and a memory (communicatively coupled to the processor, wherein the memory comprises a target state logic that is configured to: (Fig. 2, par0043-0050, controller 210 includes control unit 222, network interface 234, and user interface 236. Network interface 234 represents an example interface that can communicatively couple controller 110 to an external device…. control unit 222 further includes any necessary hardware for storing and executing the software or firmware, such as one or more processors or processing units).
receive element target state (ETS) data; (par0018-0029, one or more administrators 127 may receive alerts from controller 110 regarding any of elements 121, view configuration data associated with elements 121, modify the configurations data of elements 121, add new network devices to fabric 120, remove existing network devices from fabric 120 ….one or more administrators 127 may use one or more administrator devices 125 to interact with controller 110 and/or with elements 121….administrators 127 may specify for a specific element 121 [receive element target state (ETS) data] a particular operational policy regarding security, device accessibility, traffic engineering, quality of service (QoS), network address translation (NAT), packet filtering, packet forwarding, rate limiting, or other policies).
incorporate an error message into the ETS data in response to the one or more configuration options not matching the NTS data; (par0065-0069, Translation module 228 stores, in configuration database 240, one or more database objects corresponding to the objects as intent-based configuration 245…. Translation module 228 stores, in configuration database 240, one or more database objects corresponding to the objects as intent-based configuration 245.…. when collecting information about the operational state of fabric 320, controller 210 may encounter one or more network issues when attempting to transition fabric 320 to a managed network using controller 210…. may evaluate the indication of such signals and determine that one or more links within fabric 320 are down or inoperable, one or more elements 321 or peers of elements 321 are down or in operable, or other issues exist in fabric 320 that suggest that fabric 320 not in a stable state and is not running without significant errors or operability issues….. network interface module 232 outputs information about the issues [incorporate an error message] it encounters to configuration module 226. Configuration module 226 causes user interface module 238 to generate one or more user interfaces to administrator 327 at user interface 236 (or using administrator device 325, operated by administrator 327). Such user interfaces (e.g., shown as user interface 336 in FIG. 3) may prompt [in response to the one or more configuration options not matching] administrator 327 to either resolve the network issues or continue with the transition of fabric 320 to being managed by controller 210. In some examples, user interface 336 may include a representation of the topology of fabric 320 generated by controller 210 to aid administrator 327 in understanding and addressing the issues present in fabric 320).
JeevaRaj does not explicitly discloses convert the ETS data to network target state (NTS) data; determine a network configuration based on the NTS data; and convert the NTS data into material target state (MTS) data.
Zhang however teaches convert the ETS data to network target state (NTS) data; (par0031-0032, 0096, providing the observed network state 110, or values for specific state variables, to the applications 112(1) . . . 112(N), the network management service 102 receives proposed network state(s) 114 from the applications 112(1) . . . 112(N)…. The network management service 102 is then configured to merge the proposed network state(s) 114 and generate a target network state 116. The target network state 116 for the managed network 104 is based on the proposed network state(s) collectively received from the various applications 112(1) . . . 112(N)….. the updating module 312 changes a state of the network to the target network state (e.g., convert the observed network state communicated to the applications to the target network state, convert an updated or more recent observed network state to the target network state).
determine a network configuration based on the NTS data; and (par0032, 0058, 0071-0072, 0076, to determine whether a conflict exists between two or more changes suggested via the proposed network states 114. The network management service 102 may also access defined policies and determine whether changes suggested via the proposed network states 114 result in a policy violation…..After the proposed network states 114 are received, the checking module 310 is configured to generate the target network state 116. The checking module 310 generates the target network state 116 by detecting and removing conflicts [determine a network configuration based on the NTS data] between the proposed network states 114. For instance, if a conflict is detected between two or more proposed network states, the checking module 310 is configured to accept one proposed network state and reject at least one other proposed network state that conflicts with the accepted proposed network state).
convert the NTS data into material target state (MTS) data for applying the one or more configuration options to the device. (0071-0076, The updating module 312 is configured to update the managed network [material target state (MTS) data] in accordance with the target network state 116 [convert the NTS data into]. Therefore, the updating module 312 may determine or calculate difference(s) between the observed network state 110 and the target network state 116 and generate specific commands (e.g., device-specific commands) to apply to the network based on the determined and/or calculated differences. For instance, the updating module 312 may maintain a command pool that contains command templates for individual update actions for a particular type of switching device (e.g., based on manufacturer and/or vendor), where an update action may be supported by various control protocols (e.g., a specific vendor API, OpenFlow, etc.). The updating module 312 may be configured to locate a command template in the command pool so that commands can be generated to correctly implement an update to a state variable…. the updating module 312 may continue to update a network based on a target network state 116 that is continually evolving and being updated.).
Therefore, it would have been obvious to one having ordinary skill in the art before the
effective filing date of the claimed invention to modify the method of JeevaRaj, by
convert the ETS data to network target state (NTS) data; determine a network configuration based on the NTS data; and convert the NTS data into material target state (MTS) data, in order to operate a network in an efficient and reliable manner, see Zhang par0001.
JeevaRaj and Zhang do not explicitly disclose gather one or more configuration options for the device and determine whether the one or more configuration options match the NTS data; applying the one or more configuration options to the device.
Hinrichs however teaches gather one or more configuration options for the device and determine whether the one or more configuration options match the NTS data; applying the one or more configuration options to the device. (par0098-0104, the process identifies (at 925) a list of sets of actions that will correct a violation…. These sets of actions may include only one action or multiple actions…. present the various options to a cloud administrator through a user interface, allowing the administrator to determine how to correct the violation. On the other hand, when there is only one set of actions that will correct the violation…. the user provides a selection of one of the sets of actions (or, potentially, chooses an option to take no action and leave the violation). At this point, the process 900 receives (at 945) a selection of one of the sets of actions to perform in order to correct the violation….. if the user selects an option to disconnect a VM from a network, then the policy management system might send such a command to the compute virtualization manager. On the other hand, if the user selects an option to add the owner of a VM and the owner of a network to a new group, the set of commands for doing so might be sent to the group directory manager….. As each command is sent, some embodiments remove the action from the table of actions to be executed. In addition, some embodiments modify the network state data based on the expected changes resulting from the actions once executed by the various cloud service applications. Other embodiments, however, do not make the changes to the network state data until the cloud service provides updated network state information after having effected the change.).
Therefore, it would have been obvious to one having ordinary skill in the art before the
effective filing date of the claimed invention to modify the method of JeevaRaj and Zhang, by
gather one or more configuration options for the device and determine whether the one or more configuration options match the NTS data; applying the one or more configuration options to the device, in order to enforcing policy and managing policy
[Examiner note - “for applying the one or more configuration options to the device” is mere non-functional descriptive material].
As per claim 2. JeevaRaj, Zhang and Hinrichs disclose the device of claim 1.
JeevaRaj further discloses wherein the ETS data is received from a user configuration interface. (par0045-0048, User interface 236 represents one or more interfaces by which a user, such as administrator 127 (see FIG. 1A or FIG. 1B) interacts with controller 110, e.g., to provide input and receive output….. control unit 222 executes management module 224 to manage various network devices, e.g., elements 121 of FIG. 1A and FIG. 1B. Management of a network device includes, for example, configuring the network devices according to instructions received from a user (e.g., administrator 127 of FIG. 1A or FIG. 1B) and providing the user with the ability to submit instructions to configure the network devices.)
As per claim 3. JeevaRaj, Zhang and Hinrichs disclose the device of claim 2.
JeevaRaj further discloses wherein the user configuration interface is executed within a cloud- based service. (par0046-0047, 0056-0058, Control unit 222 executes user interface module 238 to receive input from and/or provide output to user interface 236. Control unit 222 also executes network interface module 232 to send and receive data (e.g., packets) via network interface 234. User interface module 238, network interface module 232, and management module 224 may be implemented as respective hardware units, or in software or firmware…. controller 210 may be implemented as a virtual computing device, such as a container or virtual machine within fabric 320. In such an example, implementing controller 210 may involve spinning up and/or configuring one or more virtual execution entities on compute nodes within fabric 320 (or elsewhere, such as in a cloud data center [executed within a cloud- based service]) to perform the functions of controller 210.)
As per claim 4. JeevaRaj, Zhang and Hinrichs disclose the device of claim 3.
JeevaRaj further discloses wherein the cloud-based service is accessible from a web-based interface. (par0022, 0056-0058, provide interfaces for direct interaction, such as command line interfaces (CLIs), web-based interfaces [web-based interface], graphical user interfaces (GUIs), or the like, by which a user can interact with the devices to directly issue text-based commands. For example, these interfaces typically allow a user to interact directly with the device, e.g., through a telnet, secure shell (SSH), hypertext transfer protocol (HTTP), or other network session, to enter text in accordance with a defined syntax to submit commands…. controller 210 may be implemented as a virtual computing device, such as a container or virtual machine within fabric 320. In such an example, implementing controller 210 may involve spinning up and/or configuring one or more virtual execution entities on compute nodes within fabric 320 (or elsewhere, such as in a cloud data center [cloud-based service]) to perform the functions of controller 210.
As per claim 5. JeevaRaj, Zhang and Hinrichs disclose the device of claim 2.
JeevaRaj further discloses wherein the user configuration interface is configured to allow for human-readable configuration input. (par0021-0022, one or more administrators 127 may receive alerts from controller 110 regarding any of elements 121, view configuration data associated with elements 121, modify the configurations data of elements 121, add new network devices to fabric 120, remove existing network devices from fabric 120, or otherwise manipulate fabric 120 and network devices therein….. one or more administrators 127 may use one or more administrator devices 125 to interact with controller 110 and/or with elements 121 through various means, such as through telnet, secure shell (SSH), or other such communication sessions. That is, elements 121 generally provide interfaces for direct interaction, such as command line interfaces (CLIs), web-based interfaces, graphical user interfaces (GUIs), or the like, by which a user can interact with the devices to directly issue text-based commands [human-readable configuration input]. For example, these interfaces typically allow a user to interact directly with the device, e.g., through a telnet, secure shell (SSH), hypertext transfer protocol (HTTP), or other network session, to enter text in accordance with a defined syntax to submit commands to the managed element).
As per claim 6. JeevaRaj, Zhang and Hinrichs disclose the device of claim 5.
JeevaRaj further discloses wherein the ETS data is based on the human-readable configuration input. (par0021-0030, 0045-0046, one or more of administrators 127 may interact with controller 110 to remotely monitor and configure elements 121…. elements 121 generally provide interfaces for direct interaction, such as command line interfaces (CLIs), web-based interfaces, graphical user interfaces (GUIs), or the like, by which a user can interact with the devices to directly issue text-based commands.….. Administrators 127 use controller 110 to configure elements 121 to specify certain operational characteristics that further the objectives of administrators 127. … user configuration of devices may be referred to as “intents.” Intents may be represented as intent models, which may be modeled using a data structure…. Controller 110 may translate the collected information into an intent-based configuration [the ETS data is based on the human-readable configuration input]. For instance, continuing with the example being described with reference to FIG. 1A, controller 110 parses the responses to the operational commands. Controller 110 identifies information in the response fields that are of value and importance. Typically, the identified information relates to the parameters that are needed to create relevant and corresponding database objects in the controller).
As per claim 7. JeevaRaj, Zhang and Hinrichs disclose the device of claim 1.
JeevaRaj further discloses wherein the data is configured to only be utilized internally within the device. (par0038, Controller 110 evaluates information received in the responses from each of elements 121 to determine an operational state of fabric 120, including underlay and overlay information. Controller 110 translates the operational state of fabric 120 [utilized internally within the device] into an intent-based configuration, in a manner similar to that described in connection with FIG. 1A).
JeevaRaj does not explicitly discloses wherein the NTS data is configured to be utilized internally within the device.
Zhang however teaches wherein the NTS data is configured to be utilized internally within the device. (par0066, The checking module 310 also generates the target network state 116 by determining whether or not a defined policy is violated by the target network state 116 or by merging two or more proposed network states 114….. after merging non-conflicting proposed network states to generate a target network state 116, the checking module 310 may determine whether or not the target network state 116 violates one or more service level agreements (SLAs).
Therefore, it would have been obvious to one having ordinary skill in the art before the
effective filing date of the claimed invention to modify the method of JeevaRaj, by
wherein the NTS data is configured to be utilized internally within the device, in order to operate a network in an efficient and reliable manner, see Zhang par0001.
As per claim 8. JeevaRaj, Zhang and Hinrichs disclose the device of claim 1.
JeevaRaj does not explicitly discloses wherein target state logic is further configured to transmit the MTS data to one or more network devices on the network.
Zhang however teaches wherein target state logic is further configured to transmit the MTS data to one or more network devices on the network. (par0071-0073, The updating module 312 is configured to update the managed network in accordance with the target network state 116…. the updating module 312 may determine or calculate difference(s) between the observed network state 110 and the target network state 116 and generate specific commands (e.g., device-specific commands) to apply to the network based on the determined and/or calculated differences ….the updating module 312 is configured to issue update commands on behalf of the applications…. the updating module 312 may continue to update a network [transmit the MTS data to one or more network devices on the network] based on a target network state 116 that is continually evolving and being updated).
Therefore, it would have been obvious to one having ordinary skill in the art before the
effective filing date of the claimed invention to modify the method of JeevaRaj, by
wherein target state logic is further configured to transmit the MTS data to one or more network devices on the network, in order to operate a network in an efficient and reliable manner, see Zhang par0001.
As per claim 9. JeevaRaj, Zhang and Hinrichs disclose the device of claim 8.
JeevaRaj does not explicitly discloses wherein target state logic is further configured to transmit the MTS data to one or more network devices on the network.
Zhang however teaches wherein target state logic is further configured to transmit the MTS data to one or more network devices on the network. (par0071-0073, The updating module 312 is configured to update the managed network in accordance with the target network state 116 ….the updating module 312 is configured to issue update commands on behalf of the applications…. the updating module 312 may continue to update a network [transmit the MTS data to one or more network devices on the network] based on a target network state 116 that is continually evolving and being updated).
Therefore, it would have been obvious to one having ordinary skill in the art before the
effective filing date of the claimed invention to modify the method of JeevaRaj, by
wherein target state logic is further configured to transmit the MTS data to one or more network devices on the network, in order to operate a network in an efficient and reliable manner, see Zhang par0001.
As per claim 10. JeevaRaj, Zhang and Hinrichs disclose the device of claim 9.
JeevaRaj and Zhang do not explicitly disclose wherein the target state logic is further configured to convert the updated MTS data to updated NTS data.
Hinrichs however teaches wherein the target state logic is further configured to convert the updated MTS data to updated NTS data. (par0094-0096, receiving an update to the network state data from one or more data sources [updated MTS data] …. Based on the received update, the process modifies (at 910) one or more tables corresponding to the network state. As described in detail, some embodiments store the network state data [convert the updated MTS data to updated NTS data]).
Therefore, it would have been obvious to one having ordinary skill in the art before the
effective filing date of the claimed invention to modify the method of JeevaRaj and Zhang by
wherein the target state logic is further configured to convert the updated MTS data to updated NTS data, in order to enforcing policy and managing policy violations, see Hinrichs par0002.
As per claim 11. JeevaRaj, Zhang and Hinrichs disclose the device of claim 10.
JeevaRaj and Zhang do not explicitly disclose wherein the target state logic is further configured to convert the updated NTS data to updated ETS data.
Hinrichs however teaches wherein the target state logic is further configured to convert the updated NTS data to updated ETS data. (par0096-0103, each of these determinations is essentially the policy manager checking whether the current state of the network, after applying the updates, is allowed …. these violations then appears as a new event to the policy manager [convert the updated NTS data], leading to further table mapping operations dictated by the available actions policies [updated ETS data] …. the user can view the causes of the violation, the different sets of actions that may correct the violation, the ramifications on the network state of selecting each of the sets of actions, etc.).
Therefore, it would have been obvious to one having ordinary skill in the art before the
effective filing date of the claimed invention to modify the method of JeevaRaj and Zhang, by wherein the target state logic is further configured to convert the updated NTS data to updated ETS data, in order to enforcing policy and managing policy violations, see Hinrichs par0002.
As per claim 12. JeevaRaj, Zhang and Hinrichs disclose the device of claim 11.
JeevaRaj further discloses wherein the target state logic is further configured to transmit the updated ETS data to a user configuration interface. (par0018-0029, 0073, one or more administrators 127 may receive alerts from controller 110 regarding any of elements 121, view configuration data associated with elements 121, modify the configurations data of elements 121… may prompt an administrator to resolve any network issues….may output a signal to administrator device 325, which causes administrator device 325 to present user interface 336. Controller 210 may wait until the issue is resolved (404 and YES path from 403) [updated ETS data]. Eventually, controller 210 determines, based on detected interactions with user interface 336).
As per claim 13. JeevaRaj, Zhang and Hinrichs disclose the device of claim 12.
JeevaRaj further discloses wherein the updated ETS data is configured to be presented to a user via a user configuration interface. (par0045-0048, 0073, control unit 222 executes management module 224 to manage various network devices, e.g., elements 121 of FIG. 1A and FIG. 1B. Management of a network device includes, for example, configuring the network devices according to instructions received from a user (e.g., administrator 127 of FIG. 1A or FIG. 1B) and providing the user with the ability to submit instructions to configure the network devices…..may prompt an administrator to resolve any network issues….may output a signal to administrator device 325 [generate a notification], which causes administrator device 325 to present user interface 336. Controller 210 may wait until the issue is resolved (404 and YES path from 403) [updated ETS data]. Eventually, controller 210 determines, based on detected interactions with user interface 336).
As per claim 14. JeevaRaj teaches A method of processing data, comprising: (par0060, As part of determining information about the operational state of fabric 320, controller 210…. To obtain the underlay and overlay operational states, information can be collected [method of processing data] through an appropriate method, such as through commands issued to a controller through a command line interface).
JeevaRaj, Zhang and Hinrichs disclose the additional elements of claim 11 as discussed per claim 1 above.
As per claim 15. JeevaRaj, Zhang and Hinrichs disclose the method of claim 14.
JeevaRaj further discloses wherein the network configuration is associated with a plurality of settings of the one or more network devices. (par0007, 0024, network device configuration setting, …. may issue to the network various queries and/or commands….. Elements 121 (also generally referred to as network devices or remote network devices) [one or more network devices] ….particular operational policy regarding security, device accessibility, traffic engineering, quality of service (QoS), network address translation (NAT) [plurality of settings].
As per claim 16. JeevaRaj, Zhang and Hinrichs disclose the method of claim 15.
JeevaRaj further discloses wherein the MTS data is configured to be processed by the one or more network devices. (par0032-0033, determines the configuration ….. controller 110 may push the . configuration back to the network…. controller 110 outputs operational commands [MTS data] to each of elements 121. Each of elements 121 respond [processed by the one or more network devices]).
As per claim 17. JeevaRaj, Zhang and Hinrichs disclose the method of claim 16.
JeevaRaj further discloses wherein the MTS data is further configured to, upon processing by the one or more network devices, to apply the network configuration to the plurality of settings. (par0024-0026, 0032-0034, Elements 121 (also generally referred to as network devices or remote network devices) [one or more network devices] ….particular operational policy regarding security, device accessibility, traffic engineering, quality of service (QoS), network address translation (NAT) [plurality of settings]…..determines the configuration ….. controller 110 may push the configuration back to the network…. controller 110 outputs operational commands [MTS data] to each of elements 121. Each of elements 121 respond [processed by the one or more network devices] …. configuration to restore any of elements 121 back to its original state).
As per claim 18. JeevaRaj teaches A device (210), comprising: a processor (222); at least one network interface (234) controller configured to provide access to a network; and a memory communicatively coupled to the processor, wherein the memory comprises a target state logic that is configured to: (Fig. 2, par0043-0050, controller 210 includes control unit 222, network interface 234, and user interface 236. Network interface 234 represents an example interface that can communicatively couple controller 110 to an external device…. control unit 222 further includes any necessary hardware for storing [memory] and executing the software or firmware, such as one or more processors or processing units).
generate a prompt for abstract network configuration input; (par0066, 0045-0048, causes user interface module 238 to generate one or more user interfaces to administrator 327 at user interface 236 (or using administrator device 325, operated by administrator 327). Such user interfaces (e.g., shown as user interface 336 in FIG. 3) may prompt [generate a prompt] administrator 327…. User interface 236 represents one or more interfaces by which a user, such as administrator 127 (see FIG. 1A or FIG. 1B) interacts with controller 110, e.g., to provide input and receive output….. control unit 222 executes management module 224 to manage various network devices, e.g., elements 121 of FIG. 1A and FIG. 1B. Management of a network device includes, for example, configuring the network devices according to instructions received from a user (e.g., administrator 127 of FIG. 1A or FIG. 1B) and providing the user with the ability to submit instructions to configure [abstract network configuration input] the network devices).
receive abstract network configuration input data; (par0018-0029, one or more administrators 127 may receive alerts from controller 110 regarding any of elements 121, view configuration data associated with elements 121, modify the configurations data of elements 121, add new network devices to fabric 120, remove existing network devices from fabric 120 ….one or more administrators 127 may use one or more administrator devices 125 to interact with controller 110 and/or with elements 121….administrators 127 may specify for a specific [receive abstract network configuration input data] element 121 a particular operational policy regarding security, device accessibility, traffic engineering, quality of service (QoS), network address translation (NAT), packet filtering, packet forwarding, rate limiting, or other policies).
and present the ETS data. (par0045-0048, 0073, control unit 222 executes management module 224 to manage various network devices, e.g., elements 121 of FIG. 1A and FIG. 1B. Management of a network device includes, for example, configuring the network devices according to instructions received from a user (e.g., administrator 127 of FIG. 1A or FIG. 1B) and providing the user with the ability to submit instructions to configure the network devices…..may prompt an administrator to resolve any network issues….may output a signal to administrator device 325 [generate a notification], which causes administrator device 325 to present user interface 336. Controller 210 may wait until the issue is resolved (404 and YES path from 403) [ETS data]. Eventually, controller 210 determines, based on detected interactions with user interface 336).
receive updated ETS data, wherein the ETS data comprises an error message in response to the one or more configuration options being unable to be applied; (par0065-0071, Translation module 228 stores, in configuration database 240, one or more database objects corresponding to the objects as intent-based configuration 245…. Translation module 228 stores, in configuration database 240, one or more database objects corresponding to the objects as intent-based configuration 245.…. when collecting information about the operational state of fabric 320, controller 210 may encounter one or more network issues when attempting to transition fabric 320 to a managed network using controller 210…. may evaluate the indication of such signals and determine that one or more links within fabric 320 are down or inoperable, one or more elements 321 or peers of elements 321 are down or in operable, or other issues exist in fabric 320 that suggest that fabric 320 not in a stable state and is not running without significant errors or operability issues….. network interface module 232 outputs information about the issues [an error message] it encounters to configuration module 226. Configuration module 226 causes user interface module 238 to generate one or more user interfaces to administrator 327 at user interface 236 (or using administrator device 325, operated by administrator 327). Such user interfaces (e.g., shown as user interface 336 in FIG. 3) may prompt [in response to the one or more configuration options being unable to be applied] administrator 327 to either resolve the network issues or continue with the transition of fabric 320 to being managed by controller 210. In some examples, user interface 336 may include a representation of the topology of fabric 320 generated by controller 210 to aid administrator 327 in understanding and addressing the issues present in fabric 320…… initial operational state 241 and post-migration operational state 242 may differ in some respects, and a user interfaces generated by user interface module 238 may highlight ways in which initial operational state 241 and post-migration operational state 242 differ [receive updated ETS data, wherein the ETS data comprises] (e.g., by presenting a topology of fabric 320). In some cases, administrator 327 may determine that such differences are not important or significant. In other cases, however, administrator 327 may determine that such differences warrant remediation, which may involve some physical or other intervention with fabric 320 to address the issues that cause the differences [one or more configuration options being unable to be applied] between initial operational state 241 and post-migration operational state 242. After intervention, controller 210 may again initiate the migration process described above to generate a new post-migration operational state 242. Controller 210 and/or administrator 327 may determine whether the interventions resolved the issue by comparing the new post-migration operational state 242 to initial operational state 241.).
JeevaRaj does not explicitly discloses convert the abstract network configuration data to element target state (ETS) data; transmit the ETS data to a target state logic.
Zhang however teaches convert the abstract network configuration data to element target state (ETS) data; (par0031-0032, 0096, providing the observed network state 110, or values for specific state variables, to the applications 112(1) . . . 112(N), the network management service 102 receives proposed network state(s) 114 from the applications 112(1) . . . 112(N)…. The network management service 102 is then configured to merge the proposed network state(s) 114 and generate a target network state 116. The target network state 116 for the managed network 104 is based on the proposed network state(s) collectively received from the various applications 112(1) . . . 112(N)….. the updating module 312 changes a state of the network to the target network state (e.g., convert the observed network state communicated to the applications to the target network state, convert an updated or more recent observed network state to the target network state).
transmit the ETS data to a target state logic. (0071-0076, The updating module 312 is configured to update the managed network in accordance with the target network state 116. Therefore, the updating module 312 may determine or calculate difference(s) between the observed network state 110 and the target network state 116 and generate specific commands (e.g., device-specific commands) to apply to the network based on the determined and/or calculated differences. For instance, the updating module 312 may maintain a command pool that contains command templates for individual update actions for a particular type of switching device (e.g., based on manufacturer and/or vendor), where an update action may be supported by various control protocols (e.g., a specific vendor API, OpenFlow, etc.). The updating module 312 may be configured to locate a command template in the command pool so that commands can be generated to correctly implement an update to a state variable…. the updating module 312 may continue to update a network based on a target network state 116 that is continually evolving and being updated.).
Therefore, it would have been obvious to one having ordinary skill in the art before the
effective filing date of the claimed invention to modify the method of JeevaRaj, by
convert the abstract network configuration data to element target state (ETS) data; transmit the ETS data to a target state logic, in order to operate a network in an efficient and reliable manner, see Zhang par0001.
JeevaRaj and Zhang do not explicitly disclose gather one or more configuration options for the device; adjust the ETS data in response to determining that the one or more configurations were applied.
Hinrichs however teaches gather one or more configuration options for the device; adjust the ETS data in response to determining that the one or more configurations were applied. (par0098-0104, the process identifies (at 925) a list of sets of actions that will correct a violation…. These sets of actions may include only one action or multiple actions…. present the various options to a cloud administrator through a user interface, allowing the administrator to determine how to correct the violation. On the other hand, when there is only one set of actions that will correct the violation…. the user provides a selection of one of the sets of actions (or, potentially, chooses an option to take no action and leave the violation). At this point, the process 900 receives (at 945) a selection of one of the sets of actions to perform in order to correct the violation….. if the user selects an option to disconnect a VM from a network, then the policy management system might send such a command to the compute virtualization manager. On the other hand, if the user selects an option to add the owner of a VM and the owner of a network to a new group, the set of commands for doing so might be sent to the group directory manager….. As each command is sent, some embodiments remove the action from the table of actions to be executed. In addition, some embodiments modify the network state data based on the expected changes resulting from the actions once executed by the various cloud service applications. Other embodiments, however, do not make the changes to the network state data until the cloud service provides updated network state information after having effected the change.).
Therefore, it would have been obvious to one having ordinary skill in the art before the
effective filing date of the claimed invention to modify the device of JeevaRaj and Zhang, by
gather one or more configuration options for the device; adjust the ETS data in response to determining that the one or more configurations were applied, in order to enforcing policy and managing policy
As per claim 20. JeevaRaj, Zhang and Hinrichs disclose the device of claim 18.
JeevaRaj further discloses wherein the target state logic is further configured to generate a notification based on the updated ETS data. (par0045-0048, 0073, control unit 222 executes management module 224 to manage various network devices, e.g., elements 121 of FIG. 1A and FIG. 1B. Management of a network device includes, for example, configuring the network devices according to instructions received from a user (e.g., administrator 127 of FIG. 1A or FIG. 1B) and providing the user with the ability to submit instructions to configure the network devices…..may prompt an administrator to resolve any network issues….may output a signal to administrator device 325 [generate a notification], which causes administrator device 325 to present user interface 336. Controller 210 may wait until the issue is resolved (404 and YES path from 403) [updated ETS data]. Eventually, controller 210 determines, based on detected interactions with user interface 336).
Relevant Prior Art
The prior art made of record and not relied upon is considered pertinent are -
• Anandam et al. (US20180367407A1) – Related art in the area of network management of cloud computing environments subject to different data control policies is standardized in a manner that ensures compliance with the data control policies.
• Sharma et al. (US20220086241A1) – Related art in the area of receiving, by a cloud migration platform, user input indicating a type of case for cloud migration planning, the type including one of an abstract case and a detailed case.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MONISHWAR MOHAN whose telephone number is (571)272-2907. The examiner can normally be reached Monday - Thursday 7:00 am - 5:00 pm.
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, William Trost can be reached at (571) 272-7872. 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.
/M.M./Examiner, Art Unit 2442
/WILLIAM G TROST IV/Supervisory Patent Examiner, Art Unit 2442