DETAILED ACTION
Claims 1-10, 12, 14-18 and 26-28 are pending.
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 (IDSs) submitted on 08/25/2025 and 12/18/2025 are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statements are being considered by the examiner.
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.
Claims 1, 2, 5-7, 9-10, and 12 are rejected under 35 U.S.C. 103 as being unpatentable over Babakian (US 2017/0005923 A1) in view of Silverman (US 2015/0135268 A1), in view of Salle (WO 2014/014477 A1), in further view of Lin (US 2019/0342143 A1).
Babakian and Salle were cited in the previous Office Action.
Regarding claim 1, Babakian teaches the invention substantially as claimed including a computer-implemented method for operating a distributed network ([0021] the logical network is implemented in a virtualized, distributed manner in a managed physical infrastructure (e.g., in a multi-tenant datacenter).), the distributed network comprising a plurality of subnets, wherein each of the plurality of subnets comprises a plurality of assigned nodes ([0034] two hosts are not connected to the same subnetwork (subnet).; [0058] As the example shows, a grouping construct can have VMs that are on different subnets, i.e., the placement of the VMs in a grouping construct depends on the current site residency as opposed to the subnet associated with the VMs. In other words, the embodiments of the invention decouple the virtual local area network (VLAN) and subnets.), the method comprising
running a set of computational units (Fig. 1, VMs 1-4; [0020] FIG. 1 conceptually illustrates an example of a logical network architecture 100. The logical network 100 includes two logical forwarding elements (LFEs) 105 and 110 and a logical router 115. Each of the LFEs 105 and 110 connects several virtual machines. In this example, two virtual machines (VMs) are connected by each LFE and the logical router 115 connects the two LFE (i.e., logical layer 2 domains) together.);
assigning each of the computational units to one of the plurality of subnets according to a subnet-assignment, thereby creating an assigned subset of the set of computational units for each of the subnets ([0020] Each of the LFEs 105 and 110 connects several virtual machines. In this example, two virtual machines (VMs) are connected by each LFE and the logical router 115 connects the two LFE (i.e., logical layer 2 domains) together; [0022] Each LFE represents a particular set of IP addresses (i.e., a subnet),);
running on each node of the plurality of subnets the assigned subset of the computational units ([0004] Each site is associated with a network. A virtual machine that is provisioned at a first site is assigned an IP address in the network associated with the first site.);
replicating the assigned subsets of the computational units across the respective subnet ([0042] As shown in FIG. 3, VM-1 311 that is hosted by host 301 is migrated (as shown by the arrow 350) to host 302. A copy, VM-1′ 312, of VM-1 is created on host 302.; [0073]);
migrating a computational unit from a first subnet of the plurality of subnets to a second subnet of the plurality of subnets ([0073] FIG. 7 conceptually illustrates a use case for live migration of a VM between two hosts located in two different subnets in some embodiments. As shown, a VM 721 is migrated (as shown by the line 751) from host 731 to host 732. A copy 722 of the VM is created on host 732.), wherein the migrating comprises
signalling to the first and the second subnet a computational unit of the first subnet as a migrant computational unit ([0004] Each site is associated with a network. A virtual machine that is provisioned at a first site is assigned an IP address in the network associated with the first site. When the virtual machine migrates from the first site to a second site that is associated with a different network, the virtual machine's unique identifier is removed from the first site's grouping construct and is added to the second site's grouping construct. The network policies for the first and second sites are updated such that the IP address of the virtual machine is removed from the first site's routing peer advertisement and is advertised along with the IP addresses of other virtual machines at the second site by the second site's routing peer.; [0060]);
transferring the migrant computational unit from the first subnet to the second subnet ([0073] FIG. 7 conceptually illustrates a use case for live migration of a VM between two hosts located in two different subnets in some embodiments. As shown, a VM 721 is migrated (as shown by the line 751) from host 731 to host 732.);
installing the migrant computational unit on the second subnet and activating and running the migrant computational unit on the second subnet ([0043] Once VM-1′ starts running on host 302, VM-1 is taken offline and live migration is complete.).
Babakian does not explicitly teach running a set of computational units, the computational units being pieces of software which have their own unit state;
replicating, by the plurality of subnets, the unit state of the computational units of the assigned subsets across the respective subnet by performing an active replication in space;
signalling to the first and second subnets a computational unit of the first subnet as a migrant computational unit that shall be migrated;
agreeing, by the plurality of assigned nodes of the second subnet, to activate the migrant computational unit on the second subnet by performing a consensus protocol.
However, Silverman teaches running a set of computational units, the computational units being pieces of software which have their own unit state and replicating, by the plurality of subnets, the unit state of the computational units of the assigned subsets across the respective subnet by performing an active replication in space ([0070] At step 816, the shadow server may replicate its current state and data into a predetermined inactive server present at a new/different/second location/subnet. In an embodiment, the other server may not be new and may be just in inactive state. Further, at step 818, either of the shadow server or the beacon server may contact the client and may communicate the new contact details of the shadow server present at the new/second location. Furthermore, at step 820, the shadow server may delete (cease functioning) the address of its old node (present at the first location) from the network topology and may switch the server present at the old (first location) node to inactive state. In addition, the shadow server may resume its functioning/services from the new node (second location) by registering the address of the new node in the network topology and by activating the state of the new server (present at second location).).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Silverman with the teachings of Babakian to transfer execution to a different subnetwork and replicate its state. The modification would have been motivated by the desire of ensuring the functions are resumed in the new subnetwork.
While Babakian teaches updating tables associated with the source and destination sites of the migration, Babakian nor Silverman explicitly teach wherein the signalling is performed for a VM that shall be migrated.
However, Salle teaches signalling to the first and the second subnet a computational unit of the first subnet as migrant computational unit that shall be migrated ([0046] The migration device (102) creates (block 406) a dependency data set by mapping the assets within network A (104) discovered at block 404 with the applications to be migrated to network B (106). In one example, a copy of the dependency data set (250) is stored in the data storage device (204) of the migration device (102) for utilization at a point later in the migration process as will be described below.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Salle with the teachings of Babakian and Silverman to update data of a to be migrated VM to ensure data packets are forwarded to the proper virtual machine.
Babakian, Silverman nor Salle explicitly teach agreeing, by the plurality of assigned nodes of the second subnet, to activate the migrant computational unit on the second subnet by performing a consensus protocol.
However, Lin teaches agreeing, by the plurality of assigned nodes of the second subnet, to activate the migrant computational unit on the second subnet by performing a consensus protocol ([0024]; [0045] In a first example of how the administrative nodes of an administrative node network may work together to satisfy a received resource request, each administrative node can calculate performance data and network performance as new resources (e.g., compute/auxiliary systems) joins the distributed network, and keep scores of its nearby compute/auxiliary systems. When an incoming resource request for deploying a new application with a required resources specification arrives, the administrative nodes in the network may each examine its known computing/auxiliary systems and use the best known scoring systems as the proposed deployment. The administrative nodes then share with each other the individual proposals, reach a processing consensus on which proposal to move forward, go ahead with deployment, and record the decision with multiple administrative nodes to reflect the corresponding computing/auxiliary system resource change in a consistent way. [0046] In a second example of how the administrative nodes of an administrative node network may work together to satisfy a received resource request, when an incoming request of adding a failover/redundancy of existing application deployment is received, the administrative nodes in the administrative node network may each examine its known underlying resource systems, and calculate a proposal using decision logic based on a known state of underlying resource systems. Each administrative node may then share its proposal with other administrative nodes. The administrative nodes that already know where the previous deployments with recorded data are made can further calculate the score of the new proposals, use that information to further determine the quality of proposals, and then reach consensus on the decision. The administrative nodes can then execute the decision by deploying the redundant application to the targeted compute/auxiliary systems, update configuration changes of compute/auxiliary systems in the previous application deployment as necessary (to start data replication, for example), and record the new state of the primary-failover application deployment and the related changes of the compute/auxiliary systems.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Lin with the teachings of Babakian, Silverman, and Salle to determine based on consensus among admin nodes in a network whether to start/deploy an application. The modification would have been motivated by the desire of ensuring enough resources are available to service the request.
Regarding claim 2, Babakian teaches further comprising preparing, by the first subnet, the migrant computational unit for migration ([0042] As shown in FIG. 3, VM-1 311 that is hosted by host 301 is migrated (as shown by the arrow 350) to host 302. A copy, VM-1′ 312, of VM-1 is created on host 302. The routing tables associated with the hosts are updated to indicate the presence of the VM's MAC address at the new site.).
Regarding claim 5, Babakian teaches wherein the step of obtaining the migrant computational unit comprises joining, by the nodes of the second subnet, the first subnet ([0042]; [0058] If the VM used to be in Site A and the matching criteria indicates that the VM has moved to Site B, then the VM is added to Site B grouping construct and removed from Site A grouping construct).
Regarding claim 6, Babakian teaches wherein the nodes of the second subnet join the first subnet passively in a listening mode, the listening mode in particular comprising verifying all artefacts of the first subnet, but not producing any artefacts itself ([0074] Each VM includes a guest agent 703. One advantage of the system described herein is the ability to identify VM IP addresses. Traditionally the virtual router or switch had to inspect packets and examine the source IP field within the IPv4 header to determine the VM IP address. The current invention however extracts a string data type through the guest agent to derive contextual data such as the VM IP address, DNS name, etc. VMs are then matched against the VMs' operating type, VM Name (start of string), custom metadata tags/labels, and different datacenter objects connected to the VMs including forwarding elements, clusters, data centers, etc. Once a container is defined that matches one or more of the above, a second query against the VMs that has matched the container is performed for the VMs' IP addresses through the guest agent. Another important aspect of the invention is maintaining site awareness. A site-specific identification can then match the container that could either be cluster identification or a specific host that is identified as a particular site. The route policy bound to this container is then injected by route advertisement. In another embodiment specific to route injection, an XML/REST based API with a potential physical networking element with decoupled control plane (that could be API driven) transports the defined application grouping constructs which allows to express routing injections.).
Regarding claim 7, Babakian teaches wherein the joining is performed before the migration time ([0042] As shown in FIG. 3, VM-1 311 that is hosted by host 301 is migrated (as shown by the arrow 350) to host 302. A copy, VM-1′ 312, of VM-1 is created on host 302.).
Regarding claim 9, Babakian teaches wherein the step of transferring the migrant computational unit comprises obtaining, by each node of the second subnet, the migrant computational unit from a node of the first subnet via a messaging protocol ([0042] As shown in FIG. 3, VM-1 311 that is hosted by host 301 is migrated (as shown by the arrow 350) to host 302. A copy, VM-1′ 312, of VM-1 is created on host 302. The routing tables associated with the hosts are updated to indicate the presence of the VM's MAC address at the new site.).
Regarding claim 10, Salle teaches wherein the step of transferring the computational unit comprises splitting, by the nodes of the first subnet, the migrant computational unit into one or more chunks and transferring the one or more chunks of the migrant computational unit via the messaging protocol from the first subnet to the second subnet ([0041] In one example, the migration of applications may take place in a piece meal manner where applications are transferred when they are not currently being utilized. In another example, migration of applications may take place irrespective of the application's current use state.; [0042]; [0049] The migration device (102) synchronizes (block 418) operations of a number of components within network A (104) that were cloned within network B (106). Some components within a cloud network such as, for example, a web server are stateless in that they simply reply to requests. However, some components, such as a database, are dynamically changing as the network is utilized. For example, network A (104) may comprise a number of dynamic components such as a database that are continually changing. If the database was copied directly from network A (104) to network B (106), intermediate transactions may occur on network A (104) that would not be reflected within the copy of the database in network B (106). Therefore, at block 418, the migration device begins to synchronize these dynamic components between network A (104) and network B (106) to ensure that the components are mirrored between network A (104) and network B (106). In one example, the migration device (102) ensures that the load balancer (127) within network A (104) is utilized at least until the cloned dynamic components are completely synchronized. After the cloned dynamic components are completely synchronized, the migration device (102) may then adjust load balancing policies within the system (100).).
Regarding claim 12, Babakian teaches further comprising rejecting, by the first subnet, after the migration time, messages for the migrant computational unit, thereby facilitating a re-routing of the respective messages ([0044] Live migration of VM-1 311 from host 301 to host 302 requires that all network services be available to VM-1′ 312 at the new host 302. In order not to reconfigure the VM on the new host, the packets sent to the VM at address 172.16.32.0 have to be delivered to the VM at the new site. The overlay network tunnel endpoints 371 and 372 are on the same subnet 10.20.0.0/24. As a result, although VM-1′ 312 with IP address 10.20.0.2 is hosted on host 315 that is on a different subnet, the packets addressed to 10.20.0.2 are delivered to the new location of the VM (i.e., VM-1′) through the overlay network. VTEP 372 delivers the packets to forwarding element 207, which in turn delivers the packets to VM-1′ 312.).
Regarding claim 14, Babakian teaches wherein the distributed network comprises a central control unit, the control unit being configured to perform the steps of triggering the migration of the migrant computational unit ([0065] FIG. 5 conceptually illustrates a process 500 for route advertisement in some embodiments of the invention when a VM is live migrated to a new site, the VM IP address is modified, or the VM is deleted from the site. Process 500 in some embodiments is performed by a network system manager (e.g., by policy engine 440 of the network system manager 400 in FIG. 4). As shown, the process associates (at 505) a VM to a container. The process then creates (at 510) a mapping of the VM's unique identifier to the VM IP address. The process then advertises (at 515) host route to the local site peer.).
Regarding claim 15, Babakian teaches wherein the plurality of nodes each comprises a node manager, wherein the node manager is configured to perform the steps of: monitoring a registry of the control unit; instructing the nodes to participate in a subnet; moving the computational unit to a partition of the node which participates in the second subnet ([0065]); and/or instructing nodes to stop participation in a subnet.
Regarding claim 26-28, they are directed to different statutory category but all have similar limitations as claim 1 above. Therefore, they are rejected under the same rationale above.
Claims 3-4 are rejected under 35 U.S.C. 103 as being unpatentable over Babakian, Silverman, Salle and Lin, in further view of Pang et al. (US 2012/0137287 A1).
Regarding claim 3, Babakian, Silverman, Salle nor Lin expressly teach the method further comprising scheduling a migration time;
stopping to accept messages for the migrant computational unit after the migration time; and stopping to execute the migrant computational unit and/or to modify the unit state of the migrant computational unit after the migration time.
However, Pang teaches further comprising scheduling a migration time ([0022] Also, the service controller 125 is configured to migrate the VM based on a time of day such as the morning, midday, evening, and/or night.; [0034]);
stopping to accept messages for the migrant computational unit after the migration time ([0005] During a last round of migrating the virtual machine to the second server when the virtual machine temporarily stops operating, for packets intended for the virtual machine on the first server, the first server buffers the packets in a buffer as buffered packets instead of discarding the packets, and the first server transmits the buffered packets to the second server at the second hosting point.); and
stopping to execute the migrant computational unit ([0005] During a last round of migrating the virtual machine to the second server when the virtual machine temporarily stops operating) and/or to modify the unit state of the migrant computational unit after the migration time.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Pang with the teachings of Babakian, Silverman, Salle and Lin to further detail well-known steps of VM live migration. The modification would have been motivated by the desire of combining known methods to yield predictable results.
Regarding claim 4, Salle teaches wherein the plurality of subnets are configured to execute blocks in a consecutive manner ([0048]; [0049]; [0051] Table 1 Install Sequencing; [0052]).
In addition, Pang teaches the migration time is a block height defining the last block that is to be processed by the first subnet ([0034] To address this, exemplary embodiments use VPLS 225 to create a virtual LAN that spans the hosting points 105A and 105B over the wide area network 120. This ensures the correct delivery of packets 260 arriving at the previous hosting point 105A during the convergence time so that the router 205a can re-route packets 260 from game clients 215 to the VM 110a in hosting point 105B without interruption to the online interactive game, although the route 270 used re-routing might not be optimal for the transient period. Upon the completion of VM 110a migration, the new hosting point 105B can immediately announce the new location of the IP address assigned to the VM 110a, e.g., using unsolicited ARP reply. Moreover, performing route control with these techniques of exemplary embodiments ensures that every game client 215 is always able to reach the VM 110a in the server 230B of the new hosting point 105B without interruption to the online game being played and without delay. Also, as long as the different physical locations are within a single Autonomous System (AS), no inter-AS advertisements are caused by the route control of the exemplary embodiments.).
Claim 8 is rejected under 35 U.S.C. 103 as being unpatentable over Babakian, Silverman, Salle and Lin, in further view of Hart et al. (US 9,495,269 B1).
Regarding claim 8, Babakian, Silverman, Salle nor Lin teaches wherein the step of transferring the migrant computational unit from the first subnet to the second subnet comprises performing a node internal transfer of the migrant computational unit between a replica of the first subnet and a replica of the second subnet, wherein the replica of the first subnet and the replica of the second subnet run on the same node.
However, Hart teaches wherein the step of transferring the migrant computational unit from the first subnet to the second subnet comprises performing a node internal transfer of the migrant computational unit between a replica of the first subnet and a replica of the second subnet, wherein the replica of the first subnet and the replica of the second subnet run on the same node (Col. 7, lines 12-37: For one or more of a variety of reasons, LPAR 320 is being migrated from system 310 to system 312. The approach described herein, validates the migration before actually migrating the partition. In this manner, any problems with the migration are identified before the actual migration, thus avoiding problems associated with an unsuccessful migration. In one embodiment, migration validation first creates a test copy of the virtual machine being migrated (LPAR 320) onto the same system (system 310). A new test LPAR 321 is created with a configuration that matches LPAR 320. A consistent snapshot (OS 325) is captured of the original OS 324 using a copy on write snapshot technique. The new test LPAR 321 is tested to ensure the operating system can execute in the LPAR. In one embodiment, testing involves a test boot of snapshot OS 325 in test LPAR 321. If the test is successful, then a second test is performed of a migration onto the other system (system 312). LPAR 322 is created on target system 312. In one embodiment, LPAR 322 is created matching the instance of LPAR 321 that was created on source system 310. A trial migration is performed of snapshot OS 325 running in LPAR 321 on system 310 to target LPAR 322 on system 312. If the trial migration is successful, then the live instance of the virtual machine is migrated from LPAR 320 on source system 310 to LPAR 322 on target system 312.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Hart with the teachings of Babakian, Silverman, Salle and Lin to create a replica in the host system, one in the target system, as part of the migration process to ensure an OS can execute in an LPAR.
Claims 16-18 are rejected under 35 U.S.C. 103 as being unpatentable over Babakian, Silverman, Salle and Lin, in further view of Beyh et al. (US 2018/0210766 A1).
Regarding claim 16, it is a method having similar limitations as claim 1 above. Therefore, it is rejected under the same rationale above.
Babakian, Silverman, Salle nor Lin explicitly teach migrating a computational unit from a first subnet of the plurality of subnets to a second subnet of the plurality of subnets, wherein the second subnet is not-pre-existing.
However, Beyh teaches migrating a computational unit from a first subnet of the plurality of subnets to a second subnet of the plurality of subnets, wherein the second subnet is not-pre-existing ([0018] After importing, the migration manager 110 reconfigures networking on the second system 120 to correlate with the first system 114. This can include utilizing pre-existing subnets established by the first system 114 and/or creating new subnets with the second system 120.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Beyh of creating a new subnet for migration with the teachings of Babakian, Silverman, Salle and Lin of migrating VMs among subnets. The modification would have been motivated by the desire of combining known elements to yield predictable results.
Regarding claim 17, Babakian teaches further comprising adding additional nodes to the second subnet that are not part of the first subnet ([0054] An event is created whenever a new VM is added to a grouping construct, the IP address of a VM is modified, or VM has been deleted from a grouping construct).
Regarding claim 18, Babakian teaches further comprising removing the nodes of the first subnet from the second subnet ([0054] An event is created whenever a new VM is added to a grouping construct, the IP address of a VM is modified, or VM has been deleted from a grouping construct).
Response to Arguments
Applicant’s arguments with respect to claims 1-10, 12, 14-18 and 26-28 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JORGE A CHU JOY-DAVILA whose telephone number is (571)270-0692. The examiner can normally be reached Monday-Friday, 6:00am-5:00pm.
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 at (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.
/JORGE A CHU JOY-DAVILA/Primary Examiner, Art Unit 2195